@careevolution/mydatahelps-ui 2.24.3-MdhAssistantComponent.34 → 2.24.3-MdhAssistantComponent.35

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cjs/index.js CHANGED
@@ -187,4 +187,4 @@ Licensed under The MIT License (http://opensource.org/licenses/MIT)
187
187
  */
188
188
  var xJe=function e(t){if(!(this instanceof e))return new e(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))};xJe.prototype={fulfill:function(e){return kJe(this,1,"fulfillValue",e)},reject:function(e){return kJe(this,2,"rejectReason",e)},then:function(e,t){var n=this,r=new xJe;return n.onFulfilled.push(_Je(e,r,"fulfill")),n.onRejected.push(_Je(t,r,"reject")),SJe(n),r.proxy}};var kJe=function(e,t,n,r){return 0===e.state&&(e.state=t,e[n]=r,SJe(e)),e},SJe=function(e){1===e.state?EJe(e,"onFulfilled",e.fulfillValue):2===e.state&&EJe(e,"onRejected",e.rejectReason)},EJe=function(e,t,n){if(0!==e[t].length){var r=e[t];e[t]=[];var i=function(){for(var e=0;e<r.length;e++)r[e](n)};"function"==typeof setImmediate?setImmediate(i):setTimeout(i,0)}},_Je=function(e,t,n){return function(r){if("function"!=typeof e)t[n].call(t,r);else{var i;try{i=e(r)}catch(e){return void t.reject(e)}AJe(t,i)}}},AJe=function e(t,n){if(t!==n&&t.proxy!==n){var r;if("object"===rYe(n)&&null!==n||"function"==typeof n)try{r=n.then}catch(e){return void t.reject(e)}if("function"!=typeof r)t.fulfill(n);else{var i=!1;try{r.call(n,(function(r){i||(i=!0,r===n?t.reject(new TypeError("circular thenable chain")):e(t,r))}),(function(e){i||(i=!0,t.reject(e))}))}catch(e){i||t.reject(e)}}}else t.reject(new TypeError("cannot resolve promise with itself"))};xJe.all=function(e){return new xJe((function(t,n){for(var r=new Array(e.length),i=0,a=function(n,a){r[n]=a,++i===e.length&&t(r)},o=0;o<e.length;o++)!function(t){var r=e[t];null!=r&&null!=r.then?r.then((function(e){a(t,e)}),(function(e){n(e)})):a(t,r)}(o)}))},xJe.resolve=function(e){return new xJe((function(t,n){t(e)}))},xJe.reject=function(e){return new xJe((function(t,n){n(e)}))};var TJe="undefined"!=typeof Promise?Promise:xJe,CJe=function(e,t,n){var r=TYe(e),i=!r,a=this._private=qYe({duration:1e3},t,n);if(a.target=e,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&&vYe(a.complete)&&a.completes.push(a.complete),i){var o=e.position();a.startPosition=a.startPosition||{x:o.x,y:o.y},a.startStyle=a.startStyle||e.cy().style().getAnimationStartStyle(e,a.style)}if(r){var s=e.pan();a.startPan={x:s.x,y:s.y},a.startZoom=e.zoom()}this.length=1,this[0]=this},OJe=CJe.prototype;qYe(OJe,{instanceString:function(){return"animation"},hook:function(){var e=this._private;if(!e.hooked){var t=e.target._private.animation;(e.queue?t.queue:t.current).push(this),EYe(e.target)&&e.target.cy().addToAnimationPool(e.target),e.hooked=!0}return this},play:function(){var e=this._private;return 1===e.progress&&(e.progress=0),e.playing=!0,e.started=!1,e.stopped=!1,this.hook(),this},playing:function(){return this._private.playing},apply:function(){var e=this._private;return e.applying=!0,e.started=!1,e.stopped=!1,this.hook(),this},applying:function(){return this._private.applying},pause:function(){var e=this._private;return e.playing=!1,e.started=!1,this},stop:function(){var e=this._private;return e.playing=!1,e.started=!1,e.stopped=!0,this},rewind:function(){return this.progress(0)},fastforward:function(){return this.progress(1)},time:function(e){var t=this._private;return void 0===e?t.progress*t.duration:this.progress(e/t.duration)},progress:function(e){var t=this._private,n=t.playing;return void 0===e?t.progress:(n&&this.pause(),t.progress=e,t.started=!1,n&&this.play(),this)},completed:function(){return 1===this._private.progress},reverse:function(){var e=this._private,t=e.playing;t&&this.pause(),e.progress=1-e.progress,e.started=!1;var n=function(t,n){var r=e[t];null!=r&&(e[t]=e[n],e[n]=r)};if(n("zoom","startZoom"),n("pan","startPan"),n("position","startPosition"),e.style)for(var r=0;r<e.style.length;r++){var i=e.style[r],a=i.name,o=e.startStyle[a];e.startStyle[a]=i,e.style[r]=o}return t&&this.play(),this},promise:function(e){var t,n=this._private;if("frame"===e)t=n.frames;else t=n.completes;return new TJe((function(e,n){t.push((function(){e()}))}))}}),OJe.complete=OJe.completed,OJe.run=OJe.play,OJe.running=OJe.playing;var DJe={animated:function(){return function(){var e=this,t=void 0!==e.length?e:[e];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 e=this,t=void 0!==e.length?e:[e];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(e,t){return(this._private.cy||this).styleEnabled()?this.animate({delay:e,duration:e,complete:t}):this}},delayAnimation:function(){return function(e,t){return(this._private.cy||this).styleEnabled()?this.animation({delay:e,duration:e,complete:t}):this}},animation:function(){return function(e,t){var n=this,r=void 0!==n.length,i=r?n:[n],a=this._private.cy||this,o=!r,s=!o;if(!a.styleEnabled())return this;var c=a.style();if(e=qYe({},e,t),0===Object.keys(e).length)return new CJe(i[0],e);switch(void 0===e.duration&&(e.duration=400),e.duration){case"slow":e.duration=600;break;case"fast":e.duration=200}if(s&&(e.style=c.getPropsList(e.style||e.css),e.css=void 0),s&&null!=e.renderedPosition){var l=e.renderedPosition,u=a.pan(),h=a.zoom();e.position=AZe(l,h,u)}if(o&&null!=e.panBy){var d=e.panBy,f=a.pan();e.pan={x:f.x+d.x,y:f.y+d.y}}var p=e.center||e.centre;if(o&&null!=p){var m=a.getCenterPan(p.eles,e.zoom);null!=m&&(e.pan=m)}if(o&&null!=e.fit){var g=e.fit,b=a.getFitViewport(g.eles||g.boundingBox,g.padding);null!=b&&(e.pan=b.pan,e.zoom=b.zoom)}if(o&&xYe(e.zoom)){var y=a.getZoomedViewport(e.zoom);null!=y?(y.zoomed&&(e.zoom=y.zoom),y.panned&&(e.pan=y.pan)):e.zoom=null}return new CJe(i[0],e)}},animate:function(){return function(e,t){var n=this,r=void 0!==n.length?n:[n];if(!(this._private.cy||this).styleEnabled())return this;t&&(e=qYe({},e,t));for(var i=0;i<r.length;i++){var a=r[i],o=a.animated()&&(void 0===e.queue||e.queue);a.animation(e,o?{queue:!0}:void 0).play()}return this}},stop:function(){return function(e,t){var n=this,r=void 0!==n.length?n:[n],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,c=0;c<s.length;c++){var l=s[c]._private;t&&(l.duration=0)}e&&(o.animation.queue=[]),t||(o.animation.current=[])}return i.notify("draw"),this}}},MJe=Array.isArray,IJe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,PJe=/^\w*$/;var NJe=function(e,t){if(MJe(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!pXe(e))||(PJe.test(e)||!IJe.test(e)||null!=t&&e in Object(t))};var LJe=function(e){if(!GYe(e))return!1;var t=dXe(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t},RJe=ZYe["__core-js_shared__"],jJe=function(){var e=/[^.]+$/.exec(RJe&&RJe.keys&&RJe.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();var BJe=function(e){return!!jJe&&jJe in e},FJe=Function.prototype.toString;var zJe=function(e){if(null!=e){try{return FJe.call(e)}catch(e){}try{return e+""}catch(e){}}return""},$Je=/^\[object .+?Constructor\]$/,qJe=Function.prototype,HJe=Object.prototype,UJe=qJe.toString,VJe=HJe.hasOwnProperty,WJe=RegExp("^"+UJe.call(VJe).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");var GJe=function(e){return!(!GYe(e)||BJe(e))&&(LJe(e)?WJe:$Je).test(zJe(e))};var KJe=function(e,t){return null==e?void 0:e[t]};var YJe=function(e,t){var n=KJe(e,t);return GJe(n)?n:void 0},XJe=YJe(Object,"create");var ZJe=function(){this.__data__=XJe?XJe(null):{},this.size=0};var QJe=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},JJe=Object.prototype.hasOwnProperty;var e1e=function(e){var t=this.__data__;if(XJe){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return JJe.call(t,e)?t[e]:void 0},t1e=Object.prototype.hasOwnProperty;var n1e=function(e){var t=this.__data__;return XJe?void 0!==t[e]:t1e.call(t,e)};var r1e=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=XJe&&void 0===t?"__lodash_hash_undefined__":t,this};function i1e(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}i1e.prototype.clear=ZJe,i1e.prototype.delete=QJe,i1e.prototype.get=e1e,i1e.prototype.has=n1e,i1e.prototype.set=r1e;var a1e=i1e;var o1e=function(){this.__data__=[],this.size=0};var s1e=function(e,t){return e===t||e!=e&&t!=t};var c1e=function(e,t){for(var n=e.length;n--;)if(s1e(e[n][0],t))return n;return-1},l1e=Array.prototype.splice;var u1e=function(e){var t=this.__data__,n=c1e(t,e);return!(n<0)&&(n==t.length-1?t.pop():l1e.call(t,n,1),--this.size,!0)};var h1e=function(e){var t=this.__data__,n=c1e(t,e);return n<0?void 0:t[n][1]};var d1e=function(e){return c1e(this.__data__,e)>-1};var f1e=function(e,t){var n=this.__data__,r=c1e(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this};function p1e(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}p1e.prototype.clear=o1e,p1e.prototype.delete=u1e,p1e.prototype.get=h1e,p1e.prototype.has=d1e,p1e.prototype.set=f1e;var m1e=p1e,g1e=YJe(ZYe,"Map");var b1e=function(){this.size=0,this.__data__={hash:new a1e,map:new(g1e||m1e),string:new a1e}};var y1e=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e};var v1e=function(e,t){var n=e.__data__;return y1e(t)?n["string"==typeof t?"string":"hash"]:n.map};var w1e=function(e){var t=v1e(this,e).delete(e);return this.size-=t?1:0,t};var x1e=function(e){return v1e(this,e).get(e)};var k1e=function(e){return v1e(this,e).has(e)};var S1e=function(e,t){var n=v1e(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this};function E1e(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}E1e.prototype.clear=b1e,E1e.prototype.delete=w1e,E1e.prototype.get=x1e,E1e.prototype.has=k1e,E1e.prototype.set=S1e;var _1e=E1e;function A1e(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],a=n.cache;if(a.has(i))return a.get(i);var o=e.apply(this,r);return n.cache=a.set(i,o)||a,o};return n.cache=new(A1e.Cache||_1e),n}A1e.Cache=_1e;var T1e=A1e;var C1e=function(e){var t=T1e(e,(function(e){return 500===n.size&&n.clear(),e})),n=t.cache;return t},O1e=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,D1e=/\\(\\)?/g,M1e=C1e((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(O1e,(function(e,n,r,i){t.push(r?i.replace(D1e,"$1"):n||e)})),t})),I1e=M1e;var P1e=function(e,t){for(var n=-1,r=null==e?0:e.length,i=Array(r);++n<r;)i[n]=t(e[n],n,e);return i},N1e=rXe?rXe.prototype:void 0,L1e=N1e?N1e.toString:void 0;var R1e=function e(t){if("string"==typeof t)return t;if(MJe(t))return P1e(t,e)+"";if(pXe(t))return L1e?L1e.call(t):"";var n=t+"";return"0"==n&&1/t==-Infinity?"-0":n};var j1e=function(e){return null==e?"":R1e(e)};var B1e=function(e,t){return MJe(e)?e:NJe(e,t)?[e]:I1e(j1e(e))};var F1e=function(e){if("string"==typeof e||pXe(e))return e;var t=e+"";return"0"==t&&1/e==-Infinity?"-0":t};var z1e=function(e,t){for(var n=0,r=(t=B1e(t,e)).length;null!=e&&n<r;)e=e[F1e(t[n++])];return n&&n==r?e:void 0};var $1e=function(e,t,n){var r=null==e?void 0:z1e(e,t);return void 0===r?n:r},q1e=function(){try{var e=YJe(Object,"defineProperty");return e({},"",{}),e}catch(e){}}(),H1e=q1e;var U1e=function(e,t,n){"__proto__"==t&&H1e?H1e(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n},V1e=Object.prototype.hasOwnProperty;var W1e=function(e,t,n){var r=e[t];V1e.call(e,t)&&s1e(r,n)&&(void 0!==n||t in e)||U1e(e,t,n)},G1e=/^(?:0|[1-9]\d*)$/;var K1e=function(e,t){var n=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==n||"symbol"!=n&&G1e.test(e))&&e>-1&&e%1==0&&e<t};var Y1e=function(e,t,n,r){if(!GYe(e))return e;for(var i=-1,a=(t=B1e(t,e)).length,o=a-1,s=e;null!=s&&++i<a;){var c=F1e(t[i]),l=n;if("__proto__"===c||"constructor"===c||"prototype"===c)return e;if(i!=o){var u=s[c];void 0===(l=r?r(u,c,s):void 0)&&(l=GYe(u)?u:K1e(t[i+1])?[]:{})}W1e(s,c,l),s=s[c]}return e};var X1e=function(e,t,n){return null==e?e:Y1e(e,t,n)};var Z1e=function(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n<r;)t[n]=e[n];return t};var Q1e=function(e){return MJe(e)?P1e(e,F1e):pXe(e)?[e]:Z1e(I1e(j1e(e)))},J1e={data:function(e){return e=qYe({},{field:"data",bindingEvent:"data",allowBinding:!1,allowSetting:!1,allowGetting:!1,settingEvent:"data",settingTriggersEvent:!1,triggerFnName:"trigger",immutableKeys:{},updateStyle:!1,beforeGet:function(e){},beforeSet:function(e,t){},onSet:function(e){},canSet:function(e){return!0}},e),function(t,n){var r=e,i=this,a=void 0!==i.length,o=a?i:[i],s=a?i[0]:i;if(yYe(t)){var c,l=-1!==t.indexOf(".")&&Q1e(t);if(r.allowGetting&&void 0===n)return s&&(r.beforeGet(s),c=l&&void 0===s._private[r.field][t]?$1e(s._private[r.field],l):s._private[r.field][t]),c;if(r.allowSetting&&void 0!==n&&!r.immutableKeys[t]){var u=sYe({},t,n);r.beforeSet(i,u);for(var h=0,d=o.length;h<d;h++){var f=o[h];r.canSet(f)&&(l&&void 0===s._private[r.field][t]?X1e(f._private[r.field],l,n):f._private[r.field][t]=n)}r.updateStyle&&i.updateStyle(),r.onSet(i),r.settingTriggersEvent&&i[r.triggerFnName](r.settingEvent)}}else if(r.allowSetting&&xYe(t)){var p,m,g=t,b=Object.keys(g);r.beforeSet(i,g);for(var y=0;y<b.length;y++){if(m=g[p=b[y]],!r.immutableKeys[p])for(var v=0;v<o.length;v++){var w=o[v];r.canSet(w)&&(w._private[r.field][p]=m)}}r.updateStyle&&i.updateStyle(),r.onSet(i),r.settingTriggersEvent&&i[r.triggerFnName](r.settingEvent)}else if(r.allowBinding&&vYe(t)){var x=t;i.on(r.bindingEvent,x)}else if(r.allowGetting&&void 0===t){var k;return s&&(r.beforeGet(s),k=s._private[r.field]),k}return i}},removeData:function(e){return e=qYe({},{field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!1,immutableKeys:{}},e),function(t){var n=e,r=this,i=void 0!==r.length?r:[r];if(yYe(t)){for(var a=t.split(/\s+/),o=a.length,s=0;s<o;s++){var c=a[s];if(!OYe(c))if(!n.immutableKeys[c])for(var l=0,u=i.length;l<u;l++)i[l]._private[n.field][c]=void 0}n.triggerEvent&&r[n.triggerFnName](n.event)}else if(void 0===t){for(var h=0,d=i.length;h<d;h++)for(var f=i[h]._private[n.field],p=Object.keys(f),m=0;m<p.length;m++){var g=p[m];!n.immutableKeys[g]&&(f[g]=void 0)}n.triggerEvent&&r[n.triggerFnName](n.event)}return r}}},e0e={eventAliasesOn:function(e){var t=e;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(e,t){var n=this,r=Array.prototype.slice.call(arguments,0);return new TJe((function(e,t){var i=r.concat([function(t){n.off.apply(n,a),e(t)}]),a=i.concat([]);n.on.apply(n,i)}))}}},t0e={};[DJe,J1e,e0e].forEach((function(e){qYe(t0e,e)}));var n0e={animate:t0e.animate(),animation:t0e.animation(),animated:t0e.animated(),clearQueue:t0e.clearQueue(),delay:t0e.delay(),delayAnimation:t0e.delayAnimation(),stop:t0e.stop()},r0e={classes:function(e){var t=this;if(void 0===e){var n=[];return t[0]._private.classes.forEach((function(e){return n.push(e)})),n}wYe(e)||(e=(e||"").match(/\S+/g)||[]);for(var r=[],i=new oZe(e),a=0;a<t.length;a++){for(var o=t[a],s=o._private,c=s.classes,l=!1,u=0;u<e.length;u++){var h=e[u];if(!c.has(h)){l=!0;break}}l||(l=c.size!==e.length),l&&(s.classes=i,r.push(o))}return r.length>0&&this.spawn(r).updateStyle().emit("class"),t},addClass:function(e){return this.toggleClass(e,!0)},hasClass:function(e){var t=this[0];return null!=t&&t._private.classes.has(e)},toggleClass:function(e,t){wYe(e)||(e=e.match(/\S+/g)||[]);for(var n=this,r=void 0===t,i=[],a=0,o=n.length;a<o;a++)for(var s=n[a],c=s._private.classes,l=!1,u=0;u<e.length;u++){var h=e[u],d=c.has(h),f=!1;t||r&&!d?(c.add(h),f=!0):(!t||r&&d)&&(c.delete(h),f=!0),!l&&f&&(i.push(s),l=!0)}return i.length>0&&this.spawn(i).updateStyle().emit("class"),n},removeClass:function(e){return this.toggleClass(e,!1)},flashClass:function(e,t){var n=this;if(null==t)t=250;else if(0===t)return n;return n.addClass(e),setTimeout((function(){n.removeClass(e)}),t),n}};r0e.className=r0e.classNames=r0e.classes;var i0e={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:"\"(?:\\\\\"|[^\"])*\"|'(?:\\\\'|[^'])*'",number:RYe,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};i0e.variable="(?:[\\w-.]|(?:\\\\"+i0e.metaChar+"))+",i0e.className="(?:[\\w-]|(?:\\\\"+i0e.metaChar+"))+",i0e.value=i0e.string+"|"+i0e.number,i0e.id=i0e.variable,function(){var e,t,n;for(e=i0e.comparatorOp.split("|"),n=0;n<e.length;n++)t=e[n],i0e.comparatorOp+="|@"+t;for(e=i0e.comparatorOp.split("|"),n=0;n<e.length;n++)(t=e[n]).indexOf("!")>=0||"="!==t&&(i0e.comparatorOp+="|\\!"+t)}();var a0e=0,o0e=1,s0e=2,c0e=3,l0e=4,u0e=5,h0e=6,d0e=7,f0e=8,p0e=9,m0e=10,g0e=11,b0e=12,y0e=13,v0e=14,w0e=15,x0e=16,k0e=17,S0e=18,E0e=19,_0e=20,A0e=[{selector:":selected",matches:function(e){return e.selected()}},{selector:":unselected",matches:function(e){return!e.selected()}},{selector:":selectable",matches:function(e){return e.selectable()}},{selector:":unselectable",matches:function(e){return!e.selectable()}},{selector:":locked",matches:function(e){return e.locked()}},{selector:":unlocked",matches:function(e){return!e.locked()}},{selector:":visible",matches:function(e){return e.visible()}},{selector:":hidden",matches:function(e){return!e.visible()}},{selector:":transparent",matches:function(e){return e.transparent()}},{selector:":grabbed",matches:function(e){return e.grabbed()}},{selector:":free",matches:function(e){return!e.grabbed()}},{selector:":removed",matches:function(e){return e.removed()}},{selector:":inside",matches:function(e){return!e.removed()}},{selector:":grabbable",matches:function(e){return e.grabbable()}},{selector:":ungrabbable",matches:function(e){return!e.grabbable()}},{selector:":animated",matches:function(e){return e.animated()}},{selector:":unanimated",matches:function(e){return!e.animated()}},{selector:":parent",matches:function(e){return e.isParent()}},{selector:":childless",matches:function(e){return e.isChildless()}},{selector:":child",matches:function(e){return e.isChild()}},{selector:":orphan",matches:function(e){return e.isOrphan()}},{selector:":nonorphan",matches:function(e){return e.isChild()}},{selector:":compound",matches:function(e){return e.isNode()?e.isParent():e.source().isParent()||e.target().isParent()}},{selector:":loop",matches:function(e){return e.isLoop()}},{selector:":simple",matches:function(e){return e.isSimple()}},{selector:":active",matches:function(e){return e.active()}},{selector:":inactive",matches:function(e){return!e.active()}},{selector:":backgrounding",matches:function(e){return e.backgrounding()}},{selector:":nonbackgrounding",matches:function(e){return!e.backgrounding()}}].sort((function(e,t){return function(e,t){return-1*$Ye(e,t)}(e.selector,t.selector)})),T0e=function(){for(var e,t={},n=0;n<A0e.length;n++)t[(e=A0e[n]).selector]=e.matches;return t}(),C0e="("+A0e.map((function(e){return e.selector})).join("|")+")",O0e=function(e){return e.replace(new RegExp("\\\\("+i0e.metaChar+")","g"),(function(e,t){return t}))},D0e=function(e,t,n){e[e.length-1]=n},M0e=[{name:"group",query:!0,regex:"("+i0e.group+")",populate:function(e,t,n){var r=cYe(n,1)[0];t.checks.push({type:a0e,value:"*"===r?r:r+"s"})}},{name:"state",query:!0,regex:C0e,populate:function(e,t,n){var r=cYe(n,1)[0];t.checks.push({type:d0e,value:r})}},{name:"id",query:!0,regex:"\\#("+i0e.id+")",populate:function(e,t,n){var r=cYe(n,1)[0];t.checks.push({type:f0e,value:O0e(r)})}},{name:"className",query:!0,regex:"\\.("+i0e.className+")",populate:function(e,t,n){var r=cYe(n,1)[0];t.checks.push({type:p0e,value:O0e(r)})}},{name:"dataExists",query:!0,regex:"\\[\\s*("+i0e.variable+")\\s*\\]",populate:function(e,t,n){var r=cYe(n,1)[0];t.checks.push({type:l0e,field:O0e(r)})}},{name:"dataCompare",query:!0,regex:"\\[\\s*("+i0e.variable+")\\s*("+i0e.comparatorOp+")\\s*("+i0e.value+")\\s*\\]",populate:function(e,t,n){var r=cYe(n,3),i=r[0],a=r[1],o=r[2];o=null!=new RegExp("^"+i0e.string+"$").exec(o)?o.substring(1,o.length-1):parseFloat(o),t.checks.push({type:c0e,field:O0e(i),operator:a,value:o})}},{name:"dataBool",query:!0,regex:"\\[\\s*("+i0e.boolOp+")\\s*("+i0e.variable+")\\s*\\]",populate:function(e,t,n){var r=cYe(n,2),i=r[0],a=r[1];t.checks.push({type:u0e,field:O0e(a),operator:i})}},{name:"metaCompare",query:!0,regex:"\\[\\[\\s*("+i0e.meta+")\\s*("+i0e.comparatorOp+")\\s*("+i0e.number+")\\s*\\]\\]",populate:function(e,t,n){var r=cYe(n,3),i=r[0],a=r[1],o=r[2];t.checks.push({type:h0e,field:O0e(i),operator:a,value:parseFloat(o)})}},{name:"nextQuery",separator:!0,regex:i0e.separator,populate:function(e,t){var n=e.currentSubject,r=e.edgeCount,i=e.compoundCount,a=e[e.length-1];return null!=n&&(a.subject=n,e.currentSubject=null),a.edgeCount=r,a.compoundCount=i,e.edgeCount=0,e.compoundCount=0,e[e.length++]={checks:[]}}},{name:"directedEdge",separator:!0,regex:i0e.directedEdge,populate:function(e,t){if(null==e.currentSubject){var n={checks:[]},r=t,i={checks:[]};return n.checks.push({type:g0e,source:r,target:i}),D0e(e,0,n),e.edgeCount++,i}var a={checks:[]},o=t,s={checks:[]};return a.checks.push({type:b0e,source:o,target:s}),D0e(e,0,a),e.edgeCount++,s}},{name:"undirectedEdge",separator:!0,regex:i0e.undirectedEdge,populate:function(e,t){if(null==e.currentSubject){var n={checks:[]},r=t,i={checks:[]};return n.checks.push({type:m0e,nodes:[r,i]}),D0e(e,0,n),e.edgeCount++,i}var a={checks:[]},o=t,s={checks:[]};return a.checks.push({type:v0e,node:o,neighbor:s}),D0e(e,0,a),s}},{name:"child",separator:!0,regex:i0e.child,populate:function(e,t){if(null==e.currentSubject){var n={checks:[]},r={checks:[]},i=e[e.length-1];return n.checks.push({type:w0e,parent:i,child:r}),D0e(e,0,n),e.compoundCount++,r}if(e.currentSubject===t){var a={checks:[]},o=e[e.length-1],s={checks:[]},c={checks:[]},l={checks:[]},u={checks:[]};return a.checks.push({type:E0e,left:o,right:s,subject:c}),c.checks=t.checks,t.checks=[{type:_0e}],u.checks.push({type:_0e}),s.checks.push({type:k0e,parent:u,child:l}),D0e(e,0,a),e.currentSubject=c,e.compoundCount++,l}var h={checks:[]},d={checks:[]},f=[{type:k0e,parent:h,child:d}];return h.checks=t.checks,t.checks=f,e.compoundCount++,d}},{name:"descendant",separator:!0,regex:i0e.descendant,populate:function(e,t){if(null==e.currentSubject){var n={checks:[]},r={checks:[]},i=e[e.length-1];return n.checks.push({type:x0e,ancestor:i,descendant:r}),D0e(e,0,n),e.compoundCount++,r}if(e.currentSubject===t){var a={checks:[]},o=e[e.length-1],s={checks:[]},c={checks:[]},l={checks:[]},u={checks:[]};return a.checks.push({type:E0e,left:o,right:s,subject:c}),c.checks=t.checks,t.checks=[{type:_0e}],u.checks.push({type:_0e}),s.checks.push({type:S0e,ancestor:u,descendant:l}),D0e(e,0,a),e.currentSubject=c,e.compoundCount++,l}var h={checks:[]},d={checks:[]},f=[{type:S0e,ancestor:h,descendant:d}];return h.checks=t.checks,t.checks=f,e.compoundCount++,d}},{name:"subject",modifier:!0,regex:i0e.subject,populate:function(e,t){if(null!=e.currentSubject&&e.currentSubject!==t)return KXe("Redefinition of subject in selector `"+e.toString()+"`"),!1;e.currentSubject=t;var n=e[e.length-1].checks[0],r=null==n?null:n.type;r===g0e?n.type=y0e:r===m0e&&(n.type=v0e,n.node=n.nodes[1],n.neighbor=n.nodes[0],n.nodes=null)}}];M0e.forEach((function(e){return e.regexObj=new RegExp("^"+e.regex)}));var I0e=function(e){for(var t,n,r,i=0;i<M0e.length;i++){var a=M0e[i],o=a.name,s=e.match(a.regexObj);if(null!=s){n=s,t=a,r=o;var c=s[0];e=e.substring(c.length);break}}return{expr:t,match:n,name:r,remaining:e}},P0e={parse:function(e){var t=this,n=t.inputText=e,r=t[0]={checks:[]};for(t.length=1,n=function(e){var t=e.match(/^\s+/);if(t){var n=t[0];e=e.substring(n.length)}return e}(n);;){var i=I0e(n);if(null==i.expr)return KXe("The selector `"+e+"`is invalid"),!1;var a=i.match.slice(1),o=i.expr.populate(t,r,a);if(!1===o)return!1;if(null!=o&&(r=o),(n=i.remaining).match(/^\s*$/))break}var s=t[t.length-1];null!=t.currentSubject&&(s.subject=t.currentSubject),s.edgeCount=t.edgeCount,s.compoundCount=t.compoundCount;for(var c=0;c<t.length;c++){var l=t[c];if(l.compoundCount>0&&l.edgeCount>0)return KXe("The selector `"+e+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(l.edgeCount>1)return KXe("The selector `"+e+"` is invalid because it uses multiple edge selectors"),!1;1===l.edgeCount&&KXe("The selector `"+e+"` 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 e=function(e){return null==e?"":e},t=function(t){return yYe(t)?'"'+t+'"':e(t)},n=function(e){return" "+e+" "},r=function(r,a){var o=r.type,s=r.value;switch(o){case a0e:var c=e(s);return c.substring(0,c.length-1);case c0e:var l=r.field,u=r.operator;return"["+l+n(e(u))+t(s)+"]";case u0e:var h=r.operator,d=r.field;return"["+e(h)+d+"]";case l0e:return"["+r.field+"]";case h0e:var f=r.operator;return"[["+r.field+n(e(f))+t(s)+"]]";case d0e:return s;case f0e:return"#"+s;case p0e:return"."+s;case k0e:case w0e:return i(r.parent,a)+n(">")+i(r.child,a);case S0e:case x0e:return i(r.ancestor,a)+" "+i(r.descendant,a);case E0e:var p=i(r.left,a),m=i(r.subject,a),g=i(r.right,a);return p+(p.length>0?" ":"")+m+g;case _0e:return""}},i=function(e,t){return e.checks.reduce((function(n,i,a){return n+(t===e&&0===a?"$":"")+r(i,t)}),"")},a="",o=0;o<this.length;o++){var s=this[o];a+=i(s,s.subject),this.length>1&&o<this.length-1&&(a+=", ")}return this.toStringCache=a,a}},N0e=function(e,t,n){var r,i,a,o=yYe(e),s=kYe(e),c=yYe(n),l=!1,u=!1,h=!1;switch(t.indexOf("!")>=0&&(t=t.replace("!",""),u=!0),t.indexOf("@")>=0&&(t=t.replace("@",""),l=!0),(o||c||l)&&(i=o||s?""+e:"",a=""+n),l&&(e=i=i.toLowerCase(),n=a=a.toLowerCase()),t){case"*=":r=i.indexOf(a)>=0;break;case"$=":r=i.indexOf(a,i.length-a.length)>=0;break;case"^=":r=0===i.indexOf(a);break;case"=":r=e===n;break;case">":h=!0,r=e>n;break;case">=":h=!0,r=e>=n;break;case"<":h=!0,r=e<n;break;case"<=":h=!0,r=e<=n;break;default:r=!1}return!u||null==e&&h||(r=!r),r},L0e=function(e,t){return e.data(t)},R0e=[],j0e=function(e,t){return e.checks.every((function(e){return R0e[e.type](e,t)}))};R0e[a0e]=function(e,t){var n=e.value;return"*"===n||n===t.group()},R0e[d0e]=function(e,t){return function(e,t){return T0e[e](t)}(e.value,t)},R0e[f0e]=function(e,t){var n=e.value;return t.id()===n},R0e[p0e]=function(e,t){var n=e.value;return t.hasClass(n)},R0e[h0e]=function(e,t){var n=e.field,r=e.operator,i=e.value;return N0e(function(e,t){return e[t]()}(t,n),r,i)},R0e[c0e]=function(e,t){var n=e.field,r=e.operator,i=e.value;return N0e(L0e(t,n),r,i)},R0e[u0e]=function(e,t){var n=e.field,r=e.operator;return function(e,t){switch(t){case"?":return!!e;case"!":return!e;case"^":return void 0===e}}(L0e(t,n),r)},R0e[l0e]=function(e,t){var n=e.field;return e.operator,void 0!==L0e(t,n)},R0e[m0e]=function(e,t){var n=e.nodes[0],r=e.nodes[1],i=t.source(),a=t.target();return j0e(n,i)&&j0e(r,a)||j0e(r,i)&&j0e(n,a)},R0e[v0e]=function(e,t){return j0e(e.node,t)&&t.neighborhood().some((function(t){return t.isNode()&&j0e(e.neighbor,t)}))},R0e[g0e]=function(e,t){return j0e(e.source,t.source())&&j0e(e.target,t.target())},R0e[b0e]=function(e,t){return j0e(e.source,t)&&t.outgoers().some((function(t){return t.isNode()&&j0e(e.target,t)}))},R0e[y0e]=function(e,t){return j0e(e.target,t)&&t.incomers().some((function(t){return t.isNode()&&j0e(e.source,t)}))},R0e[w0e]=function(e,t){return j0e(e.child,t)&&j0e(e.parent,t.parent())},R0e[k0e]=function(e,t){return j0e(e.parent,t)&&t.children().some((function(t){return j0e(e.child,t)}))},R0e[x0e]=function(e,t){return j0e(e.descendant,t)&&t.ancestors().some((function(t){return j0e(e.ancestor,t)}))},R0e[S0e]=function(e,t){return j0e(e.ancestor,t)&&t.descendants().some((function(t){return j0e(e.descendant,t)}))},R0e[E0e]=function(e,t){return j0e(e.subject,t)&&j0e(e.left,t)&&j0e(e.right,t)},R0e[_0e]=function(){return!0},R0e[o0e]=function(e,t){return e.value.has(t)},R0e[s0e]=function(e,t){return(0,e.value)(t)};var B0e={matches:function(e){for(var t=0;t<this.length;t++){var n=this[t];if(j0e(n,e))return!0}return!1},filter:function(e){var t=this;if(1===t.length&&1===t[0].checks.length&&t[0].checks[0].type===f0e)return e.getElementById(t[0].checks[0].value).collection();var n=function(e){for(var n=0;n<t.length;n++){var r=t[n];if(j0e(r,e))return!0}return!1};return null==t.text()&&(n=function(){return!0}),e.filter(n)}},F0e=function(e){this.inputText=e,this.currentSubject=null,this.compoundCount=0,this.edgeCount=0,this.length=0,null==e||yYe(e)&&e.match(/^\s*$/)||(EYe(e)?this.addQuery({checks:[{type:o0e,value:e.collection()}]}):vYe(e)?this.addQuery({checks:[{type:s0e,value:e}]}):yYe(e)?this.parse(e)||(this.invalid=!0):WXe("A selector must be created from a string; found "))},z0e=F0e.prototype;[P0e,B0e].forEach((function(e){return qYe(z0e,e)})),z0e.text=function(){return this.inputText},z0e.size=function(){return this.length},z0e.eq=function(e){return this[e]},z0e.sameText=function(e){return!this.invalid&&!e.invalid&&this.text()===e.text()},z0e.addQuery=function(e){this[this.length++]=e},z0e.selector=z0e.toString;var $0e={allAre:function(e){var t=new F0e(e);return this.every((function(e){return t.matches(e)}))},is:function(e){var t=new F0e(e);return this.some((function(e){return t.matches(e)}))},some:function(e,t){for(var n=0;n<this.length;n++){if(t?e.apply(t,[this[n],n,this]):e(this[n],n,this))return!0}return!1},every:function(e,t){for(var n=0;n<this.length;n++){if(!(t?e.apply(t,[this[n],n,this]):e(this[n],n,this)))return!1}return!0},same:function(e){if(this===e)return!0;e=this.cy().collection(e);var t=this.length;return t===e.length&&(1===t?this[0]===e[0]:this.every((function(t){return e.hasElementWithId(t.id())})))},anySame:function(e){return e=this.cy().collection(e),this.some((function(t){return e.hasElementWithId(t.id())}))},allAreNeighbors:function(e){e=this.cy().collection(e);var t=this.neighborhood();return e.every((function(e){return t.hasElementWithId(e.id())}))},contains:function(e){e=this.cy().collection(e);var t=this;return e.every((function(e){return t.hasElementWithId(e.id())}))}};$0e.allAreNeighbours=$0e.allAreNeighbors,$0e.has=$0e.contains,$0e.equal=$0e.equals=$0e.same;var q0e,H0e,U0e=function(e,t){return function(n,r,i,a){var o,s=n,c=this;if(null==s?o="":EYe(s)&&1===s.length&&(o=s.id()),1===c.length&&o){var l=c[0]._private,u=l.traversalCache=l.traversalCache||{},h=u[t]=u[t]||[],d=LXe(o),f=h[d];return f||(h[d]=e.call(c,n,r,i,a))}return e.call(c,n,r,i,a)}},V0e={parent:function(e){var t=[];if(1===this.length){var n=this[0]._private.parent;if(n)return n}for(var r=0;r<this.length;r++){var i=this[r]._private.parent;i&&t.push(i)}return this.spawn(t,!0).filter(e)},parents:function(e){for(var t=[],n=this.parent();n.nonempty();){for(var r=0;r<n.length;r++){var i=n[r];t.push(i)}n=n.parent()}return this.spawn(t,!0).filter(e)},commonAncestors:function(e){for(var t,n=0;n<this.length;n++){var r=this[n].parents();t=(t=t||r).intersect(r)}return t.filter(e)},orphans:function(e){return this.stdFilter((function(e){return e.isOrphan()})).filter(e)},nonorphans:function(e){return this.stdFilter((function(e){return e.isChild()})).filter(e)},children:U0e((function(e){for(var t=[],n=0;n<this.length;n++)for(var r=this[n]._private.children,i=0;i<r.length;i++)t.push(r[i]);return this.spawn(t,!0).filter(e)}),"children"),siblings:function(e){return this.parent().children().not(this).filter(e)},isParent:function(){var e=this[0];if(e)return e.isNode()&&0!==e._private.children.length},isChildless:function(){var e=this[0];if(e)return e.isNode()&&0===e._private.children.length},isChild:function(){var e=this[0];if(e)return e.isNode()&&null!=e._private.parent},isOrphan:function(){var e=this[0];if(e)return e.isNode()&&null==e._private.parent},descendants:function(e){var t=[];return function e(n){for(var r=0;r<n.length;r++){var i=n[r];t.push(i),i.children().nonempty()&&e(i.children())}}(this.children()),this.spawn(t,!0).filter(e)}};function W0e(e,t,n,r){for(var i=[],a=new oZe,o=e.cy().hasCompoundNodes(),s=0;s<e.length;s++){var c=e[s];n?i.push(c):o&&r(i,a,c)}for(;i.length>0;){var l=i.shift();t(l),a.add(l.id()),o&&r(i,a,l)}return e}function G0e(e,t,n){if(n.isParent())for(var r=n._private.children,i=0;i<r.length;i++){var a=r[i];t.has(a.id())||e.push(a)}}function K0e(e,t,n){if(n.isChild()){var r=n._private.parent;t.has(r.id())||e.push(r)}}function Y0e(e,t,n){K0e(e,t,n),G0e(e,t,n)}V0e.forEachDown=function(e){return W0e(this,e,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],G0e)},V0e.forEachUp=function(e){return W0e(this,e,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],K0e)},V0e.forEachUpAndDown=function(e){return W0e(this,e,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],Y0e)},V0e.ancestors=V0e.parents,(q0e=H0e={data:t0e.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:t0e.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:t0e.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:t0e.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:t0e.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:t0e.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var e=this[0];if(e)return e._private.data.id}}).attr=q0e.data,q0e.removeAttr=q0e.removeData;var X0e,Z0e,Q0e=H0e,J0e={};function e2e(e){return function(t){var n=this;if(void 0===t&&(t=!0),0!==n.length&&n.isNode()&&!n.removed()){for(var r=0,i=n[0],a=i._private.edges,o=0;o<a.length;o++){var s=a[o];!t&&s.isLoop()||(r+=e(i,s))}return r}}}function t2e(e,t){return function(n){for(var r,i=this.nodes(),a=0;a<i.length;a++){var o=i[a][e](n);void 0===o||void 0!==r&&!t(o,r)||(r=o)}return r}}qYe(J0e,{degree:e2e((function(e,t){return t.source().same(t.target())?2:1})),indegree:e2e((function(e,t){return t.target().same(e)?1:0})),outdegree:e2e((function(e,t){return t.source().same(e)?1:0}))}),qYe(J0e,{minDegree:t2e("degree",(function(e,t){return e<t})),maxDegree:t2e("degree",(function(e,t){return e>t})),minIndegree:t2e("indegree",(function(e,t){return e<t})),maxIndegree:t2e("indegree",(function(e,t){return e>t})),minOutdegree:t2e("outdegree",(function(e,t){return e<t})),maxOutdegree:t2e("outdegree",(function(e,t){return e>t}))}),qYe(J0e,{totalDegree:function(e){for(var t=0,n=this.nodes(),r=0;r<n.length;r++)t+=n[r].degree(e);return t}});var n2e=function(e,t,n){for(var r=0;r<e.length;r++){var i=e[r];if(!i.locked()){var a=i._private.position,o={x:null!=t.x?t.x-a.x:0,y:null!=t.y?t.y-a.y:0};!i.isParent()||0===o.x&&0===o.y||i.children().shift(o,n),i.dirtyBoundingBoxCache()}}},r2e={field:"position",bindingEvent:"position",allowBinding:!0,allowSetting:!0,settingEvent:"position",settingTriggersEvent:!0,triggerFnName:"emitAndNotify",allowGetting:!0,validKeys:["x","y"],beforeGet:function(e){e.updateCompoundBounds()},beforeSet:function(e,t){n2e(e,t,!1)},onSet:function(e){e.dirtyCompoundBoundsCache()},canSet:function(e){return!e.locked()}};X0e=Z0e={position:t0e.data(r2e),silentPosition:t0e.data(qYe({},r2e,{allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!1,beforeSet:function(e,t){n2e(e,t,!0)},onSet:function(e){e.dirtyCompoundBoundsCache()}})),positions:function(e,t){if(xYe(e))t?this.silentPosition(e):this.position(e);else if(vYe(e)){var n=e,r=this.cy();r.startBatch();for(var i=0;i<this.length;i++){var a,o=this[i];(a=n(o,i))&&(t?o.silentPosition(a):o.position(a))}r.endBatch()}return this},silentPositions:function(e){return this.positions(e,!0)},shift:function(e,t,n){var r;if(xYe(e)?(r={x:kYe(e.x)?e.x:0,y:kYe(e.y)?e.y:0},n=t):yYe(e)&&kYe(t)&&((r={x:0,y:0})[e]=t),null!=r){var i=this.cy();i.startBatch();for(var a=0;a<this.length;a++){var o=this[a];if(!(i.hasCompoundNodes()&&o.isChild()&&o.ancestors().anySame(this))){var s=o.position(),c={x:s.x+r.x,y:s.y+r.y};n?o.silentPosition(c):o.position(c)}}i.endBatch()}return this},silentShift:function(e,t){return xYe(e)?this.shift(e,!0):yYe(e)&&kYe(t)&&this.shift(e,t,!0),this},renderedPosition:function(e,t){var n=this[0],r=this.cy(),i=r.zoom(),a=r.pan(),o=xYe(e)?e:void 0,s=void 0!==o||void 0!==t&&yYe(e);if(n&&n.isNode()){if(!s){var c=n.position();return o=_Ze(c,i,a),void 0===e?o:o[e]}for(var l=0;l<this.length;l++){var u=this[l];void 0!==t?u.position(e,(t-a[e])/i):void 0!==o&&u.position(AZe(o,i,a))}}else if(!s)return;return this},relativePosition:function(e,t){var n=this[0],r=this.cy(),i=xYe(e)?e:void 0,a=void 0!==i||void 0!==t&&yYe(e),o=r.hasCompoundNodes();if(n&&n.isNode()){if(!a){var s=n.position(),c=o?n.parent():null,l=c&&c.length>0,u=l;l&&(c=c[0]);var h=u?c.position():{x:0,y:0};return i={x:s.x-h.x,y:s.y-h.y},void 0===e?i:i[e]}for(var d=0;d<this.length;d++){var f=this[d],p=o?f.parent():null,m=p&&p.length>0,g=m;m&&(p=p[0]);var b=g?p.position():{x:0,y:0};void 0!==t?f.position(e,t+b[e]):void 0!==i&&f.position({x:i.x+b.x,y:i.y+b.y})}}else if(!a)return;return this}},X0e.modelPosition=X0e.point=X0e.position,X0e.modelPositions=X0e.points=X0e.positions,X0e.renderedPoint=X0e.renderedPosition,X0e.relativePoint=X0e.relativePosition;var i2e,a2e,o2e=Z0e;i2e=a2e={},a2e.renderedBoundingBox=function(e){var t=this.boundingBox(e),n=this.cy(),r=n.zoom(),i=n.pan(),a=t.x1*r+i.x,o=t.x2*r+i.x,s=t.y1*r+i.y,c=t.y2*r+i.y;return{x1:a,x2:o,y1:s,y2:c,w:o-a,h:c-s}},a2e.dirtyCompoundBoundsCache=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.cy();return t.styleEnabled()&&t.hasCompoundNodes()?(this.forEachUp((function(t){if(t.isParent()){var n=t._private;n.compoundBoundsClean=!1,n.bbCache=null,e||t.emitAndNotify("bounds")}})),this):this},a2e.updateCompoundBounds=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.cy();if(!t.styleEnabled()||!t.hasCompoundNodes())return this;if(!e&&t.batching())return this;function n(e){if(e.isParent()){var t=e._private,n=e.children(),r="include"===e.pstyle("compound-sizing-wrt-labels").value,i={width:{val:e.pstyle("min-width").pfValue,left:e.pstyle("min-width-bias-left"),right:e.pstyle("min-width-bias-right")},height:{val:e.pstyle("min-height").pfValue,top:e.pstyle("min-height-bias-top"),bottom:e.pstyle("min-height-bias-bottom")}},a=n.boundingBox({includeLabels:r,includeOverlays:!1,useCache:!1}),o=t.position;0!==a.w&&0!==a.h||((a={w:e.pstyle("width").pfValue,h:e.pstyle("height").pfValue}).x1=o.x-a.w/2,a.x2=o.x+a.w/2,a.y1=o.y-a.h/2,a.y2=o.y+a.h/2);var s=i.width.left.value;"px"===i.width.left.units&&i.width.val>0&&(s=100*s/i.width.val);var c=i.width.right.value;"px"===i.width.right.units&&i.width.val>0&&(c=100*c/i.width.val);var l=i.height.top.value;"px"===i.height.top.units&&i.height.val>0&&(l=100*l/i.height.val);var u=i.height.bottom.value;"px"===i.height.bottom.units&&i.height.val>0&&(u=100*u/i.height.val);var h=b(i.width.val-a.w,s,c),d=h.biasDiff,f=h.biasComplementDiff,p=b(i.height.val-a.h,l,u),m=p.biasDiff,g=p.biasComplementDiff;t.autoPadding=function(e,t,n,r){if("%"!==n.units)return"px"===n.units?n.pfValue:0;switch(r){case"width":return e>0?n.pfValue*e:0;case"height":return t>0?n.pfValue*t:0;case"average":return e>0&&t>0?n.pfValue*(e+t)/2:0;case"min":return e>0&&t>0?e>t?n.pfValue*t:n.pfValue*e:0;case"max":return e>0&&t>0?e>t?n.pfValue*e:n.pfValue*t:0;default:return 0}}(a.w,a.h,e.pstyle("padding"),e.pstyle("padding-relative-to").value),t.autoWidth=Math.max(a.w,i.width.val),o.x=(-d+a.x1+a.x2+f)/2,t.autoHeight=Math.max(a.h,i.height.val),o.y=(-m+a.y1+a.y2+g)/2}function b(e,t,n){var r=0,i=0,a=t+n;return e>0&&a>0&&(r=t/a*e,i=n/a*e),{biasDiff:r,biasComplementDiff:i}}}for(var r=0;r<this.length;r++){var i=this[r],a=i._private;a.compoundBoundsClean&&!e||(n(i),t.batching()||(a.compoundBoundsClean=!0))}return this};var s2e=function(e){return e===1/0||e===-1/0?0:e},c2e=function(e,t,n,r,i){r-t!=0&&i-n!=0&&null!=t&&null!=n&&null!=r&&null!=i&&(e.x1=t<e.x1?t:e.x1,e.x2=r>e.x2?r:e.x2,e.y1=n<e.y1?n:e.y1,e.y2=i>e.y2?i:e.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1)},l2e=function(e,t){return null==t?e:c2e(e,t.x1,t.y1,t.x2,t.y2)},u2e=function(e,t,n){return nZe(e,t,n)},h2e=function(e,t,n){if(!t.cy().headless()){var r,i,a=t._private,o=a.rstyle,s=o.arrowWidth/2;if("none"!==t.pstyle(n+"-arrow-shape").value){"source"===n?(r=o.srcX,i=o.srcY):"target"===n?(r=o.tgtX,i=o.tgtY):(r=o.midX,i=o.midY);var c=a.arrowBounds=a.arrowBounds||{},l=c[n]=c[n]||{};l.x1=r-s,l.y1=i-s,l.x2=r+s,l.y2=i+s,l.w=l.x2-l.x1,l.h=l.y2-l.y1,zZe(l,1),c2e(e,l.x1,l.y1,l.x2,l.y2)}}},d2e=function(e,t,n){if(!t.cy().headless()){var r;r=n?n+"-":"";var i=t._private,a=i.rstyle;if(t.pstyle(r+"label").strValue){var o,s,c,l,u=t.pstyle("text-halign"),h=t.pstyle("text-valign"),d=u2e(a,"labelWidth",n),f=u2e(a,"labelHeight",n),p=u2e(a,"labelX",n),m=u2e(a,"labelY",n),g=t.pstyle(r+"text-margin-x").pfValue,b=t.pstyle(r+"text-margin-y").pfValue,y=t.isEdge(),v=t.pstyle(r+"text-rotation"),w=t.pstyle("text-outline-width").pfValue,x=t.pstyle("text-border-width").pfValue/2,k=t.pstyle("text-background-padding").pfValue,S=f,E=d,_=E/2,A=S/2;if(y)o=p-_,s=p+_,c=m-A,l=m+A;else{switch(u.value){case"left":o=p-E,s=p;break;case"center":o=p-_,s=p+_;break;case"right":o=p,s=p+E}switch(h.value){case"top":c=m-S,l=m;break;case"center":c=m-A,l=m+A;break;case"bottom":c=m,l=m+S}}o+=g-Math.max(w,x)-k-2,s+=g+Math.max(w,x)+k+2,c+=b-Math.max(w,x)-k-2,l+=b+Math.max(w,x)+k+2;var T=n||"main",C=i.labelBounds,O=C[T]=C[T]||{};O.x1=o,O.y1=c,O.x2=s,O.y2=l,O.w=s-o,O.h=l-c;var D=y&&"autorotate"===v.strValue,M=null!=v.pfValue&&0!==v.pfValue;if(D||M){var I=D?u2e(i.rstyle,"labelAngle",n):v.pfValue,P=Math.cos(I),N=Math.sin(I),L=(o+s)/2,R=(c+l)/2;if(!y){switch(u.value){case"left":L=s;break;case"right":L=o}switch(h.value){case"top":R=l;break;case"bottom":R=c}}var j=function(e,t){return{x:(e-=L)*P-(t-=R)*N+L,y:e*N+t*P+R}},B=j(o,c),F=j(o,l),z=j(s,c),$=j(s,l);o=Math.min(B.x,F.x,z.x,$.x),s=Math.max(B.x,F.x,z.x,$.x),c=Math.min(B.y,F.y,z.y,$.y),l=Math.max(B.y,F.y,z.y,$.y)}var q=T+"Rot",H=C[q]=C[q]||{};H.x1=o,H.y1=c,H.x2=s,H.y2=l,H.w=s-o,H.h=l-c,c2e(e,o,c,s,l),c2e(i.labelBounds.all,o,c,s,l)}return e}},f2e=function(e,t){var n,r,i,a,o,s,c,l=e._private.cy,u=l.styleEnabled(),h=l.headless(),d=jZe(),f=e._private,p=e.isNode(),m=e.isEdge(),g=f.rstyle,b=p&&u?e.pstyle("bounds-expansion").pfValue:[0],y=function(e){return"none"!==e.pstyle("display").value},v=!u||y(e)&&(!m||y(e.source())&&y(e.target()));if(v){var w=0;u&&t.includeOverlays&&0!==e.pstyle("overlay-opacity").value&&(w=e.pstyle("overlay-padding").value);var x=0;u&&t.includeUnderlays&&0!==e.pstyle("underlay-opacity").value&&(x=e.pstyle("underlay-padding").value);var k=Math.max(w,x),S=0;if(u&&(S=e.pstyle("width").pfValue/2),p&&t.includeNodes){var E=e.position();o=E.x,s=E.y;var _=e.outerWidth()/2,A=e.outerHeight()/2;c2e(d,n=o-_,i=s-A,r=o+_,a=s+A),u&&t.includeOutlines&&function(e,t){if(!t.cy().headless()){var n,r,i,a=t.pstyle("outline-opacity").value,o=t.pstyle("outline-width").value;if(a>0&&o>0){var s=t.pstyle("outline-offset").value,c=t.pstyle("shape").value,l=o+s,u=(e.w+2*l)/e.w,h=(e.h+2*l)/e.h,d=0;["diamond","pentagon","round-triangle"].includes(c)?(u=(e.w+2.4*l)/e.w,d=-l/3.6):["concave-hexagon","rhomboid","right-rhomboid"].includes(c)?u=(e.w+2.4*l)/e.w:"star"===c?(u=(e.w+2.8*l)/e.w,h=(e.h+2.6*l)/e.h,d=-l/3.8):"triangle"===c?(u=(e.w+2.8*l)/e.w,h=(e.h+2.4*l)/e.h,d=-l/1.4):"vee"===c&&(u=(e.w+4.4*l)/e.w,h=(e.h+3.8*l)/e.h,d=.5*-l);var f=e.h*h-e.h,p=e.w*u-e.w;if($Ze(e,[Math.ceil(f/2),Math.ceil(p/2)]),0!==d){var m=(r=0,i=d,{x1:(n=e).x1+r,x2:n.x2+r,y1:n.y1+i,y2:n.y2+i,w:n.w,h:n.h});BZe(e,m)}}}}(d,e)}else if(m&&t.includeEdges)if(u&&!h){var T=e.pstyle("curve-style").strValue;if(n=Math.min(g.srcX,g.midX,g.tgtX),r=Math.max(g.srcX,g.midX,g.tgtX),i=Math.min(g.srcY,g.midY,g.tgtY),a=Math.max(g.srcY,g.midY,g.tgtY),c2e(d,n-=S,i-=S,r+=S,a+=S),"haystack"===T){var C=g.haystackPts;if(C&&2===C.length){if(n=C[0].x,i=C[0].y,n>(r=C[1].x)){var O=n;n=r,r=O}if(i>(a=C[1].y)){var D=i;i=a,a=D}c2e(d,n-S,i-S,r+S,a+S)}}else if("bezier"===T||"unbundled-bezier"===T||T.endsWith("segments")||T.endsWith("taxi")){var M;switch(T){case"bezier":case"unbundled-bezier":M=g.bezierPts;break;case"segments":case"taxi":case"round-segments":case"round-taxi":M=g.linePts}if(null!=M)for(var I=0;I<M.length;I++){var P=M[I];n=P.x-S,r=P.x+S,i=P.y-S,a=P.y+S,c2e(d,n,i,r,a)}}}else{var N=e.source().position(),L=e.target().position();if((n=N.x)>(r=L.x)){var R=n;n=r,r=R}if((i=N.y)>(a=L.y)){var j=i;i=a,a=j}c2e(d,n-=S,i-=S,r+=S,a+=S)}if(u&&t.includeEdges&&m&&(h2e(d,e,"mid-source"),h2e(d,e,"mid-target"),h2e(d,e,"source"),h2e(d,e,"target")),u)if("yes"===e.pstyle("ghost").value){var B=e.pstyle("ghost-offset-x").pfValue,F=e.pstyle("ghost-offset-y").pfValue;c2e(d,d.x1+B,d.y1+F,d.x2+B,d.y2+F)}var z=f.bodyBounds=f.bodyBounds||{};qZe(z,d),$Ze(z,b),zZe(z,1),u&&(n=d.x1,r=d.x2,i=d.y1,a=d.y2,c2e(d,n-k,i-k,r+k,a+k));var $=f.overlayBounds=f.overlayBounds||{};qZe($,d),$Ze($,b),zZe($,1);var q=f.labelBounds=f.labelBounds||{};null!=q.all?((c=q.all).x1=1/0,c.y1=1/0,c.x2=-1/0,c.y2=-1/0,c.w=0,c.h=0):q.all=jZe(),u&&t.includeLabels&&(t.includeMainLabels&&d2e(d,e,null),m&&(t.includeSourceLabels&&d2e(d,e,"source"),t.includeTargetLabels&&d2e(d,e,"target")))}return d.x1=s2e(d.x1),d.y1=s2e(d.y1),d.x2=s2e(d.x2),d.y2=s2e(d.y2),d.w=s2e(d.x2-d.x1),d.h=s2e(d.y2-d.y1),d.w>0&&d.h>0&&v&&($Ze(d,b),zZe(d,1)),d},p2e=function(e){var t=0,n=function(e){return(e?1:0)<<t++},r=0;return r+=n(e.incudeNodes),r+=n(e.includeEdges),r+=n(e.includeLabels),r+=n(e.includeMainLabels),r+=n(e.includeSourceLabels),r+=n(e.includeTargetLabels),r+=n(e.includeOverlays),r+=n(e.includeOutlines)},m2e=function(e){if(e.isEdge()){var t=e.source().position(),n=e.target().position(),r=function(e){return Math.round(e)};return function(e,t){var n={value:0,done:!1},r=0,i=e.length;return DXe({next:function(){return r<i?n.value=e[r++]:n.done=!0,n}},t)}([r(t.x),r(t.y),r(n.x),r(n.y)])}return 0},g2e=function(e,t){var n,r=e._private,i=e.isEdge(),a=(null==t?y2e:p2e(t))===y2e,o=m2e(e),s=r.bbCachePosKey===o,c=t.useCache&&s,l=function(e){return null==e._private.bbCache||e._private.styleDirty};if(!c||l(e)||i&&l(e.source())||l(e.target())?(s||e.recalculateRenderedStyle(c),n=f2e(e,b2e),r.bbCache=n,r.bbCachePosKey=o):n=r.bbCache,!a){var u=e.isNode();n=jZe(),(t.includeNodes&&u||t.includeEdges&&!u)&&(t.includeOverlays?l2e(n,r.overlayBounds):l2e(n,r.bodyBounds)),t.includeLabels&&(t.includeMainLabels&&(!i||t.includeSourceLabels&&t.includeTargetLabels)?l2e(n,r.labelBounds.all):(t.includeMainLabels&&l2e(n,r.labelBounds.mainRot),t.includeSourceLabels&&l2e(n,r.labelBounds.sourceRot),t.includeTargetLabels&&l2e(n,r.labelBounds.targetRot))),n.w=n.x2-n.x1,n.h=n.y2-n.y1}return n},b2e={includeNodes:!0,includeEdges:!0,includeLabels:!0,includeMainLabels:!0,includeSourceLabels:!0,includeTargetLabels:!0,includeOverlays:!0,includeUnderlays:!0,includeOutlines:!0,useCache:!0},y2e=p2e(b2e),v2e=JXe(b2e);a2e.boundingBox=function(e){var t;if(1!==this.length||null==this[0]._private.bbCache||this[0]._private.styleDirty||void 0!==e&&void 0!==e.useCache&&!0!==e.useCache){t=jZe();var n=v2e(e=e||b2e),r=this;if(r.cy().styleEnabled())for(var i=0;i<r.length;i++){var a=r[i],o=a._private,s=m2e(a),c=o.bbCachePosKey===s,l=n.useCache&&c&&!o.styleDirty;a.recalculateRenderedStyle(l)}this.updateCompoundBounds(!e.useCache);for(var u=0;u<r.length;u++){var h=r[u];l2e(t,g2e(h,n))}}else e=void 0===e?b2e:v2e(e),t=g2e(this[0],e);return t.x1=s2e(t.x1),t.y1=s2e(t.y1),t.x2=s2e(t.x2),t.y2=s2e(t.y2),t.w=s2e(t.x2-t.x1),t.h=s2e(t.y2-t.y1),t},a2e.dirtyBoundingBoxCache=function(){for(var e=0;e<this.length;e++){var t=this[e]._private;t.bbCache=null,t.bbCachePosKey=null,t.bodyBounds=null,t.overlayBounds=null,t.labelBounds.all=null,t.labelBounds.source=null,t.labelBounds.target=null,t.labelBounds.main=null,t.labelBounds.sourceRot=null,t.labelBounds.targetRot=null,t.labelBounds.mainRot=null,t.arrowBounds.source=null,t.arrowBounds.target=null,t.arrowBounds["mid-source"]=null,t.arrowBounds["mid-target"]=null}return this.emitAndNotify("bounds"),this},a2e.boundingBoxAt=function(e){var t=this.nodes(),n=this.cy(),r=n.hasCompoundNodes(),i=n.collection();if(r&&(i=t.filter((function(e){return e.isParent()})),t=t.not(i)),xYe(e)){var a=e;e=function(){return a}}n.startBatch(),t.forEach((function(t,n){return t._private.bbAtOldPos=e(t,n)})).silentPositions(e),r&&(i.dirtyCompoundBoundsCache(),i.dirtyBoundingBoxCache(),i.updateCompoundBounds(!0));var o=function(e){return{x1:e.x1,x2:e.x2,w:e.w,y1:e.y1,y2:e.y2,h:e.h}}(this.boundingBox({useCache:!1}));return t.silentPositions((function(e){return e._private.bbAtOldPos})),r&&(i.dirtyCompoundBoundsCache(),i.dirtyBoundingBoxCache(),i.updateCompoundBounds(!0)),n.endBatch(),o},i2e.boundingbox=i2e.bb=i2e.boundingBox,i2e.renderedBoundingbox=i2e.renderedBoundingBox;var w2e,x2e,k2e=a2e;w2e=x2e={};var S2e=function(e){e.uppercaseName=LYe(e.name),e.autoName="auto"+e.uppercaseName,e.labelName="label"+e.uppercaseName,e.outerName="outer"+e.uppercaseName,e.uppercaseOuterName=LYe(e.outerName),w2e[e.name]=function(){var t=this[0],n=t._private,r=n.cy._private.styleEnabled;if(t){if(r){if(t.isParent())return t.updateCompoundBounds(),n[e.autoName]||0;var i=t.pstyle(e.name);return"label"===i.strValue?(t.recalculateRenderedStyle(),n.rstyle[e.labelName]||0):i.pfValue}return 1}},w2e["outer"+e.uppercaseName]=function(){var t=this[0],n=t._private.cy._private.styleEnabled;if(t)return n?t[e.name]()+t.pstyle("border-width").pfValue+2*t.padding():1},w2e["rendered"+e.uppercaseName]=function(){var t=this[0];if(t)return t[e.name]()*this.cy().zoom()},w2e["rendered"+e.uppercaseOuterName]=function(){var t=this[0];if(t)return t[e.outerName]()*this.cy().zoom()}};S2e({name:"width"}),S2e({name:"height"}),x2e.padding=function(){var e=this[0],t=e._private;return e.isParent()?(e.updateCompoundBounds(),void 0!==t.autoPadding?t.autoPadding:e.pstyle("padding").pfValue):e.pstyle("padding").pfValue},x2e.paddedHeight=function(){var e=this[0];return e.height()+2*e.padding()},x2e.paddedWidth=function(){var e=this[0];return e.width()+2*e.padding()};var E2e=x2e,_2e={controlPoints:{get:function(e){return e.renderer().getControlPoints(e)},mult:!0},segmentPoints:{get:function(e){return e.renderer().getSegmentPoints(e)},mult:!0},sourceEndpoint:{get:function(e){return e.renderer().getSourceEndpoint(e)}},targetEndpoint:{get:function(e){return e.renderer().getTargetEndpoint(e)}},midpoint:{get:function(e){return e.renderer().getEdgeMidpoint(e)}}},A2e=Object.keys(_2e).reduce((function(e,t){var n=_2e[t],r=function(e){return"rendered"+e[0].toUpperCase()+e.substr(1)}(t);return e[t]=function(){return function(e,t){if(e.isEdge())return t(e)}(this,n.get)},n.mult?e[r]=function(){return function(e,t){if(e.isEdge()){var n=e.cy(),r=n.pan(),i=n.zoom();return t(e).map((function(e){return _Ze(e,i,r)}))}}(this,n.get)}:e[r]=function(){return function(e,t){if(e.isEdge()){var n=e.cy();return _Ze(t(e),n.zoom(),n.pan())}}(this,n.get)},e}),{}),T2e=qYe({},o2e,k2e,E2e,A2e),C2e=function(e,t){this.recycle(e,t)};function O2e(){return!1}function D2e(){return!0}C2e.prototype={instanceString:function(){return"event"},recycle:function(e,t){if(this.isImmediatePropagationStopped=this.isPropagationStopped=this.isDefaultPrevented=O2e,null!=e&&e.preventDefault?(this.type=e.type,this.isDefaultPrevented=e.defaultPrevented?D2e:O2e):null!=e&&e.type?t=e:this.type=e,null!=t&&(this.originalEvent=t.originalEvent,this.type=null!=t.type?t.type:this.type,this.cy=t.cy,this.target=t.target,this.position=t.position,this.renderedPosition=t.renderedPosition,this.namespace=t.namespace,this.layout=t.layout),null!=this.cy&&null!=this.position&&null==this.renderedPosition){var n=this.position,r=this.cy.zoom(),i=this.cy.pan();this.renderedPosition={x:n.x*r+i.x,y:n.y*r+i.y}}this.timeStamp=e&&e.timeStamp||Date.now()},preventDefault:function(){this.isDefaultPrevented=D2e;var e=this.originalEvent;e&&e.preventDefault&&e.preventDefault()},stopPropagation:function(){this.isPropagationStopped=D2e;var e=this.originalEvent;e&&e.stopPropagation&&e.stopPropagation()},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=D2e,this.stopPropagation()},isDefaultPrevented:O2e,isPropagationStopped:O2e,isImmediatePropagationStopped:O2e};var M2e=/^([^.]+)(\.(?:[^.]+))?$/,I2e={qualifierCompare:function(e,t){return e===t},eventMatches:function(){return!0},addEventFields:function(){},callbackContext:function(e){return e},beforeEmit:function(){},afterEmit:function(){},bubble:function(){return!1},parent:function(){return null},context:null},P2e=Object.keys(I2e),N2e={};function L2e(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:N2e,t=arguments.length>1?arguments[1]:void 0,n=0;n<P2e.length;n++){var r=P2e[n];this[r]=e[r]||I2e[r]}this.context=t||this.context,this.listeners=[],this.emitting=0}var R2e=L2e.prototype,j2e=function(e,t,n,r,i,a,o){vYe(r)&&(i=r,r=null),o&&(a=null==a?o:qYe({},a,o));for(var s=wYe(n)?n:n.split(/\s+/),c=0;c<s.length;c++){var l=s[c];if(!OYe(l)){var u=l.match(M2e);if(u)if(!1===t(e,l,u[1],u[2]?u[2]:null,r,i,a))break}}},B2e=function(e,t){return e.addEventFields(e.context,t),new C2e(t.type,t)},F2e=function(e,t,n){if("event"!==bYe(n))if(xYe(n))t(e,B2e(e,n));else for(var r=wYe(n)?n:n.split(/\s+/),i=0;i<r.length;i++){var a=r[i];if(!OYe(a)){var o=a.match(M2e);if(o){var s=o[1],c=o[2]?o[2]:null;t(e,B2e(e,{type:s,namespace:c,target:e.context}))}}}else t(e,n)};R2e.on=R2e.addListener=function(e,t,n,r,i){return j2e(this,(function(e,t,n,r,i,a,o){vYe(a)&&e.listeners.push({event:t,callback:a,type:n,namespace:r,qualifier:i,conf:o})}),e,t,n,r,i),this},R2e.one=function(e,t,n,r){return this.on(e,t,n,r,{one:!0})},R2e.removeListener=R2e.off=function(e,t,n,r){var i=this;0!==this.emitting&&(this.listeners=this.listeners.slice());for(var a=this.listeners,o=function(o){var s=a[o];j2e(i,(function(t,n,r,i,c,l){if((s.type===r||"*"===e)&&(!i&&".*"!==s.namespace||s.namespace===i)&&(!c||t.qualifierCompare(s.qualifier,c))&&(!l||s.callback===l))return a.splice(o,1),!1}),e,t,n,r)},s=a.length-1;s>=0;s--)o(s);return this},R2e.removeAllListeners=function(){return this.removeListener("*")},R2e.emit=R2e.trigger=function(e,t,n){var r=this.listeners,i=r.length;return this.emitting++,wYe(t)||(t=[t]),F2e(this,(function(e,a){null!=n&&(r=[{event:a.event,type:a.type,namespace:a.namespace,callback:n}],i=r.length);for(var o=function(n){var i=r[n];if(i.type===a.type&&(!i.namespace||i.namespace===a.namespace||".*"===i.namespace)&&e.eventMatches(e.context,i,a)){var o=[a];null!=t&&function(e,t){for(var n=0;n<t.length;n++){var r=t[n];e.push(r)}}(o,t),e.beforeEmit(e.context,i,a),i.conf&&i.conf.one&&(e.listeners=e.listeners.filter((function(e){return e!==i})));var s=e.callbackContext(e.context,i,a),c=i.callback.apply(s,o);e.afterEmit(e.context,i,a),!1===c&&(a.stopPropagation(),a.preventDefault())}},s=0;s<i;s++)o(s);e.bubble(e.context)&&!a.isPropagationStopped()&&e.parent(e.context).emit(a,t)}),e),this.emitting--,this};var z2e={qualifierCompare:function(e,t){return null==e||null==t?null==e&&null==t:e.sameText(t)},eventMatches:function(e,t,n){var r=t.qualifier;return null==r||e!==n.target&&_Ye(n.target)&&r.matches(n.target)},addEventFields:function(e,t){t.cy=e.cy(),t.target=e},callbackContext:function(e,t,n){return null!=t.qualifier?n.target:e},beforeEmit:function(e,t){t.conf&&t.conf.once&&t.conf.onceCollection.removeListener(t.event,t.qualifier,t.callback)},bubble:function(){return!0},parent:function(e){return e.isChild()?e.parent():e.cy()}},$2e=function(e){return yYe(e)?new F0e(e):e},q2e={createEmitter:function(){for(var e=0;e<this.length;e++){var t=this[e],n=t._private;n.emitter||(n.emitter=new L2e(z2e,t))}return this},emitter:function(){return this._private.emitter},on:function(e,t,n){for(var r=$2e(t),i=0;i<this.length;i++){this[i].emitter().on(e,r,n)}return this},removeListener:function(e,t,n){for(var r=$2e(t),i=0;i<this.length;i++){this[i].emitter().removeListener(e,r,n)}return this},removeAllListeners:function(){for(var e=0;e<this.length;e++){this[e].emitter().removeAllListeners()}return this},one:function(e,t,n){for(var r=$2e(t),i=0;i<this.length;i++){this[i].emitter().one(e,r,n)}return this},once:function(e,t,n){for(var r=$2e(t),i=0;i<this.length;i++){this[i].emitter().on(e,r,n,{once:!0,onceCollection:this})}},emit:function(e,t){for(var n=0;n<this.length;n++){this[n].emitter().emit(e,t)}return this},emitAndNotify:function(e,t){if(0!==this.length)return this.cy().notify(e,this),this.emit(e,t),this}};t0e.eventAliasesOn(q2e);var H2e={nodes:function(e){return this.filter((function(e){return e.isNode()})).filter(e)},edges:function(e){return this.filter((function(e){return e.isEdge()})).filter(e)},byGroup:function(){for(var e=this.spawn(),t=this.spawn(),n=0;n<this.length;n++){var r=this[n];r.isNode()?e.push(r):t.push(r)}return{nodes:e,edges:t}},filter:function(e,t){if(void 0===e)return this;if(yYe(e)||EYe(e))return new F0e(e).filter(this);if(vYe(e)){for(var n=this.spawn(),r=this,i=0;i<r.length;i++){var a=r[i];(t?e.apply(t,[a,i,r]):e(a,i,r))&&n.push(a)}return n}return this.spawn()},not:function(e){if(e){yYe(e)&&(e=this.filter(e));for(var t=this.spawn(),n=0;n<this.length;n++){var r=this[n];e.has(r)||t.push(r)}return t}return this},absoluteComplement:function(){return this.cy().mutableElements().not(this)},intersect:function(e){if(yYe(e)){var t=e;return this.filter(t)}for(var n=this.spawn(),r=e,i=this.length<e.length,a=i?this:r,o=i?r:this,s=0;s<a.length;s++){var c=a[s];o.has(c)&&n.push(c)}return n},xor:function(e){var t=this._private.cy;yYe(e)&&(e=t.$(e));var n=this.spawn(),r=e,i=function(e,t){for(var r=0;r<e.length;r++){var i=e[r],a=i._private.data.id;t.hasElementWithId(a)||n.push(i)}};return i(this,r),i(r,this),n},diff:function(e){var t=this._private.cy;yYe(e)&&(e=t.$(e));var n=this.spawn(),r=this.spawn(),i=this.spawn(),a=e,o=function(e,t,n){for(var r=0;r<e.length;r++){var a=e[r],o=a._private.data.id;t.hasElementWithId(o)?i.merge(a):n.push(a)}};return o(this,a,n),o(a,this,r),{left:n,right:r,both:i}},add:function(e){var t=this._private.cy;if(!e)return this;if(yYe(e)){var n=e;e=t.mutableElements().filter(n)}for(var r=this.spawnSelf(),i=0;i<e.length;i++){var a=e[i],o=!this.has(a);o&&r.push(a)}return r},merge:function(e){var t=this._private,n=t.cy;if(!e)return this;if(e&&yYe(e)){var r=e;e=n.mutableElements().filter(r)}for(var i=t.map,a=0;a<e.length;a++){var o=e[a],s=o._private.data.id;if(!i.has(s)){var c=this.length++;this[c]=o,i.set(s,{ele:o,index:c})}}return this},unmergeAt:function(e){var t=this[e].id(),n=this._private.map;this[e]=void 0,n.delete(t);var r=e===this.length-1;if(this.length>1&&!r){var i=this.length-1,a=this[i],o=a._private.data.id;this[i]=void 0,this[e]=a,n.set(o,{ele:a,index:e})}return this.length--,this},unmergeOne:function(e){e=e[0];var t=this._private,n=e._private.data.id,r=t.map.get(n);if(!r)return this;var i=r.index;return this.unmergeAt(i),this},unmerge:function(e){var t=this._private.cy;if(!e)return this;if(e&&yYe(e)){var n=e;e=t.mutableElements().filter(n)}for(var r=0;r<e.length;r++)this.unmergeOne(e[r]);return this},unmergeBy:function(e){for(var t=this.length-1;t>=0;t--){e(this[t])&&this.unmergeAt(t)}return this},map:function(e,t){for(var n=[],r=this,i=0;i<r.length;i++){var a=r[i],o=t?e.apply(t,[a,i,r]):e(a,i,r);n.push(o)}return n},reduce:function(e,t){for(var n=t,r=this,i=0;i<r.length;i++)n=e(n,r[i],i,r);return n},max:function(e,t){for(var n,r=-1/0,i=this,a=0;a<i.length;a++){var o=i[a],s=t?e.apply(t,[o,a,i]):e(o,a,i);s>r&&(r=s,n=o)}return{value:r,ele:n}},min:function(e,t){for(var n,r=1/0,i=this,a=0;a<i.length;a++){var o=i[a],s=t?e.apply(t,[o,a,i]):e(o,a,i);s<r&&(r=s,n=o)}return{value:r,ele:n}}},U2e=H2e;U2e.u=U2e["|"]=U2e["+"]=U2e.union=U2e.or=U2e.add,U2e["\\"]=U2e["!"]=U2e["-"]=U2e.difference=U2e.relativeComplement=U2e.subtract=U2e.not,U2e.n=U2e["&"]=U2e["."]=U2e.and=U2e.intersection=U2e.intersect,U2e["^"]=U2e["(+)"]=U2e["(-)"]=U2e.symmetricDifference=U2e.symdiff=U2e.xor,U2e.fnFilter=U2e.filterFn=U2e.stdFilter=U2e.filter,U2e.complement=U2e.abscomp=U2e.absoluteComplement;var V2e=function(e,t){var n=e.cy().hasCompoundNodes();function r(e){var t=e.pstyle("z-compound-depth");return"auto"===t.value?n?e.zDepth():0:"bottom"===t.value?-1:"top"===t.value?$Xe:0}var i=r(e)-r(t);if(0!==i)return i;function a(e){return"auto"===e.pstyle("z-index-compare").value&&e.isNode()?1:0}var o=a(e)-a(t);if(0!==o)return o;var s=e.pstyle("z-index").value-t.pstyle("z-index").value;return 0!==s?s:e.poolIndex()-t.poolIndex()},W2e={forEach:function(e,t){if(vYe(e))for(var n=this.length,r=0;r<n;r++){var i=this[r];if(!1===(t?e.apply(t,[i,r,this]):e(i,r,this)))break}return this},toArray:function(){for(var e=[],t=0;t<this.length;t++)e.push(this[t]);return e},slice:function(e,t){var n=[],r=this.length;null==t&&(t=r),null==e&&(e=0),e<0&&(e=r+e),t<0&&(t=r+t);for(var i=e;i>=0&&i<t&&i<r;i++)n.push(this[i]);return this.spawn(n)},size:function(){return this.length},eq:function(e){return this[e]||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(e){if(!vYe(e))return this;var t=this.toArray().sort(e);return this.spawn(t)},sortByZIndex:function(){return this.sort(V2e)},zDepth:function(){var e=this[0];if(e){var t=e._private;if("nodes"===t.group){var n=t.data.parent?e.parents().size():0;return e.isParent()?n:$Xe-1}var r=t.source,i=t.target,a=r.zDepth(),o=i.zDepth();return Math.max(a,o,0)}}};W2e.each=W2e.forEach;var G2e;G2e="undefined",("undefined"==typeof Symbol?"undefined":rYe(Symbol))!=G2e&&rYe(Symbol.iterator)!=G2e&&(W2e[Symbol.iterator]=function(){var e=this,t={value:void 0,done:!1},n=0,r=this.length;return sYe({next:function(){return n<r?t.value=e[n++]:(t.value=void 0,t.done=!0),t}},Symbol.iterator,(function(){return this}))});var K2e=JXe({nodeDimensionsIncludeLabels:!1}),Y2e={layoutDimensions:function(e){var t;if(e=K2e(e),this.takesUpSpace())if(e.nodeDimensionsIncludeLabels){var n=this.boundingBox();t={w:n.w,h:n.h}}else t={w:this.outerWidth(),h:this.outerHeight()};else t={w:0,h:0};return 0!==t.w&&0!==t.h||(t.w=t.h=1),t},layoutPositions:function(e,t,n){var r=this.nodes().filter((function(e){return!e.isParent()})),i=this.cy(),a=t.eles,o=function(e){return e.id()},s=MYe(n,o);e.emit({type:"layoutstart",layout:e}),e.animations=[];var c=t.spacingFactor&&1!==t.spacingFactor,l=function(){if(!c)return null;for(var e=jZe(),t=0;t<r.length;t++){var n=r[t],i=s(n,t);FZe(e,i.x,i.y)}return e}(),u=MYe((function(e,n){var r=s(e,n);c&&(r=function(e,t,n){var r=t.x1+t.w/2,i=t.y1+t.h/2;return{x:r+(n.x-r)*e,y:i+(n.y-i)*e}}(Math.abs(t.spacingFactor),l,r));return null!=t.transform&&(r=t.transform(e,r)),r}),o);if(t.animate){for(var h=0;h<r.length;h++){var d=r[h],f=u(d,h);if(null==t.animateFilter||t.animateFilter(d,h)){var p=d.animation({position:f,duration:t.animationDuration,easing:t.animationEasing});e.animations.push(p)}else d.position(f)}if(t.fit){var m=i.animation({fit:{boundingBox:a.boundingBoxAt(u),padding:t.padding},duration:t.animationDuration,easing:t.animationEasing});e.animations.push(m)}else if(void 0!==t.zoom&&void 0!==t.pan){var g=i.animation({zoom:t.zoom,pan:t.pan,duration:t.animationDuration,easing:t.animationEasing});e.animations.push(g)}e.animations.forEach((function(e){return e.play()})),e.one("layoutready",t.ready),e.emit({type:"layoutready",layout:e}),TJe.all(e.animations.map((function(e){return e.promise()}))).then((function(){e.one("layoutstop",t.stop),e.emit({type:"layoutstop",layout:e})}))}else r.positions(u),t.fit&&i.fit(t.eles,t.padding),null!=t.zoom&&i.zoom(t.zoom),t.pan&&i.pan(t.pan),e.one("layoutready",t.ready),e.emit({type:"layoutready",layout:e}),e.one("layoutstop",t.stop),e.emit({type:"layoutstop",layout:e});return this},layout:function(e){return this.cy().makeLayout(qYe({},e,{eles:this}))}};function X2e(e,t,n){var r,i=n._private,a=i.styleCache=i.styleCache||[];return null!=(r=a[e])?r:r=a[e]=t(n)}function Z2e(e,t){return e=LXe(e),function(n){return X2e(e,t,n)}}function Q2e(e,t){e=LXe(e);var n=function(e){return t.call(e)};return function(){var t=this[0];if(t)return X2e(e,n,t)}}Y2e.createLayout=Y2e.makeLayout=Y2e.layout;var J2e={recalculateRenderedStyle:function(e){var t=this.cy(),n=t.renderer(),r=t.styleEnabled();return n&&r&&n.recalculateRenderedStyle(this,e),this},dirtyStyleCache:function(){var e,t=this.cy(),n=function(e){return e._private.styleCache=null};t.hasCompoundNodes()?((e=this.spawnSelf().merge(this.descendants()).merge(this.parents())).merge(e.connectedEdges()),e.forEach(n)):this.forEach((function(e){n(e),e.connectedEdges().forEach(n)}));return this},updateStyle:function(e){var t=this._private.cy;if(!t.styleEnabled())return this;if(t.batching())return t._private.batchStyleEles.merge(this),this;var n=this;e=!(!e&&void 0!==e),t.hasCompoundNodes()&&(n=this.spawnSelf().merge(this.descendants()).merge(this.parents()));var r=n;return e?r.emitAndNotify("style"):r.emit("style"),n.forEach((function(e){return e._private.styleDirty=!0})),this},cleanStyle:function(){var e=this.cy();if(e.styleEnabled())for(var t=0;t<this.length;t++){var n=this[t];n._private.styleDirty&&(n._private.styleDirty=!1,e.style().apply(n))}},parsedStyle:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=this[0],r=n.cy();if(r.styleEnabled()&&n){this.cleanStyle();var i=n._private.style[e];return null!=i?i:t?r.style().getDefaultProperty(e):null}},numericStyle:function(e){var t=this[0];if(t.cy().styleEnabled()&&t){var n=t.pstyle(e);return void 0!==n.pfValue?n.pfValue:n.value}},numericStyleUnits:function(e){var t=this[0];if(t.cy().styleEnabled())return t?t.pstyle(e).units:void 0},renderedStyle:function(e){var t=this.cy();if(!t.styleEnabled())return this;var n=this[0];return n?t.style().getRenderedStyle(n,e):void 0},style:function(e,t){var n=this.cy();if(!n.styleEnabled())return this;var r=n.style();if(xYe(e)){var i=e;r.applyBypass(this,i,false),this.emitAndNotify("style")}else if(yYe(e)){if(void 0===t){var a=this[0];return a?r.getStylePropertyValue(a,e):void 0}r.applyBypass(this,e,t,false),this.emitAndNotify("style")}else if(void 0===e){var o=this[0];return o?r.getRawStyle(o):void 0}return this},removeStyle:function(e){var t=this.cy();if(!t.styleEnabled())return this;var n=t.style(),r=this;if(void 0===e)for(var i=0;i<r.length;i++){var a=r[i];n.removeAllBypasses(a,false)}else{e=e.split(/\s+/);for(var o=0;o<r.length;o++){var s=r[o];n.removeBypasses(s,e,false)}}return this.emitAndNotify("style"),this},show:function(){return this.css("display","element"),this},hide:function(){return this.css("display","none"),this},effectiveOpacity:function(){var e=this.cy();if(!e.styleEnabled())return 1;var t=e.hasCompoundNodes(),n=this[0];if(n){var r=n._private,i=n.pstyle("opacity").value;if(!t)return i;var a=r.data.parent?n.parents():null;if(a)for(var o=0;o<a.length;o++){i*=a[o].pstyle("opacity").value}return i}},transparent:function(){if(!this.cy().styleEnabled())return!1;var e=this[0],t=e.cy().hasCompoundNodes();return e?t?0===e.effectiveOpacity():0===e.pstyle("opacity").value:void 0},backgrounding:function(){return!!this.cy().styleEnabled()&&!!this[0]._private.backgrounding}};function e3e(e,t){var n=e._private.data.parent?e.parents():null;if(n)for(var r=0;r<n.length;r++){if(!t(n[r]))return!1}return!0}function t3e(e){var t=e.ok,n=e.edgeOkViaNode||e.ok,r=e.parentOk||e.ok;return function(){var e=this.cy();if(!e.styleEnabled())return!0;var i=this[0],a=e.hasCompoundNodes();if(i){var o=i._private;if(!t(i))return!1;if(i.isNode())return!a||e3e(i,r);var s=o.source,c=o.target;return n(s)&&(!a||e3e(s,n))&&(s===c||n(c)&&(!a||e3e(c,n)))}}}var n3e=Z2e("eleTakesUpSpace",(function(e){return"element"===e.pstyle("display").value&&0!==e.width()&&(!e.isNode()||0!==e.height())}));J2e.takesUpSpace=Q2e("takesUpSpace",t3e({ok:n3e}));var r3e=Z2e("eleInteractive",(function(e){return"yes"===e.pstyle("events").value&&"visible"===e.pstyle("visibility").value&&n3e(e)})),i3e=Z2e("parentInteractive",(function(e){return"visible"===e.pstyle("visibility").value&&n3e(e)}));J2e.interactive=Q2e("interactive",t3e({ok:r3e,parentOk:i3e,edgeOkViaNode:n3e})),J2e.noninteractive=function(){var e=this[0];if(e)return!e.interactive()};var a3e=Z2e("eleVisible",(function(e){return"visible"===e.pstyle("visibility").value&&0!==e.pstyle("opacity").pfValue&&n3e(e)})),o3e=n3e;J2e.visible=Q2e("visible",t3e({ok:a3e,edgeOkViaNode:o3e})),J2e.hidden=function(){var e=this[0];if(e)return!e.visible()},J2e.isBundledBezier=Q2e("isBundledBezier",(function(){return!!this.cy().styleEnabled()&&(!this.removed()&&"bezier"===this.pstyle("curve-style").value&&this.takesUpSpace())})),J2e.bypass=J2e.css=J2e.style,J2e.renderedCss=J2e.renderedStyle,J2e.removeBypass=J2e.removeCss=J2e.removeStyle,J2e.pstyle=J2e.parsedStyle;var s3e={};function c3e(e){return function(){var t=arguments,n=[];if(2===t.length){var r=t[0],i=t[1];this.on(e.event,r,i)}else if(1===t.length&&vYe(t[0])){var a=t[0];this.on(e.event,a)}else if(0===t.length||1===t.length&&wYe(t[0])){for(var o=1===t.length?t[0]:null,s=0;s<this.length;s++){var c=this[s],l=!e.ableField||c._private[e.ableField],u=c._private[e.field]!=e.value;if(e.overrideAble){var h=e.overrideAble(c);if(void 0!==h&&(l=h,!h))return this}l&&(c._private[e.field]=e.value,u&&n.push(c))}var d=this.spawn(n);d.updateStyle(),d.emit(e.event),o&&d.emit(o)}return this}}function l3e(e){s3e[e.field]=function(){var t=this[0];if(t){if(e.overrideField){var n=e.overrideField(t);if(void 0!==n)return n}return t._private[e.field]}},s3e[e.on]=c3e({event:e.on,field:e.field,ableField:e.ableField,overrideAble:e.overrideAble,value:!0}),s3e[e.off]=c3e({event:e.off,field:e.field,ableField:e.ableField,overrideAble:e.overrideAble,value:!1})}l3e({field:"locked",overrideField:function(e){return!!e.cy().autolock()||void 0},on:"lock",off:"unlock"}),l3e({field:"grabbable",overrideField:function(e){return!e.cy().autoungrabify()&&!e.pannable()&&void 0},on:"grabify",off:"ungrabify"}),l3e({field:"selected",ableField:"selectable",overrideAble:function(e){return!e.cy().autounselectify()&&void 0},on:"select",off:"unselect"}),l3e({field:"selectable",overrideField:function(e){return!e.cy().autounselectify()&&void 0},on:"selectify",off:"unselectify"}),s3e.deselect=s3e.unselect,s3e.grabbed=function(){var e=this[0];if(e)return e._private.grabbed},l3e({field:"active",on:"activate",off:"unactivate"}),l3e({field:"pannable",on:"panify",off:"unpanify"}),s3e.inactive=function(){var e=this[0];if(e)return!e._private.active};var u3e={},h3e=function(e){return function(t){for(var n=[],r=0;r<this.length;r++){var i=this[r];if(i.isNode()){for(var a=!1,o=i.connectedEdges(),s=0;s<o.length;s++){var c=o[s],l=c.source(),u=c.target();if(e.noIncomingEdges&&u===i&&l!==i||e.noOutgoingEdges&&l===i&&u!==i){a=!0;break}}a||n.push(i)}}return this.spawn(n,!0).filter(t)}},d3e=function(e){return function(t){for(var n=[],r=0;r<this.length;r++){var i=this[r];if(i.isNode())for(var a=i.connectedEdges(),o=0;o<a.length;o++){var s=a[o],c=s.source(),l=s.target();e.outgoing&&c===i?(n.push(s),n.push(l)):e.incoming&&l===i&&(n.push(s),n.push(c))}}return this.spawn(n,!0).filter(t)}},f3e=function(e){return function(t){for(var n=this,r=[],i={};;){var a=e.outgoing?n.outgoers():n.incomers();if(0===a.length)break;for(var o=!1,s=0;s<a.length;s++){var c=a[s],l=c.id();i[l]||(i[l]=!0,r.push(c),o=!0)}if(!o)break;n=a}return this.spawn(r,!0).filter(t)}};function p3e(e){return function(t){for(var n=[],r=0;r<this.length;r++){var i=this[r]._private[e.attr];i&&n.push(i)}return this.spawn(n,!0).filter(t)}}function m3e(e){return function(t){var n=[],r=this._private.cy,i=e||{};yYe(t)&&(t=r.$(t));for(var a=0;a<t.length;a++)for(var o=t[a]._private.edges,s=0;s<o.length;s++){var c=o[s],l=c._private.data,u=this.hasElementWithId(l.source)&&t.hasElementWithId(l.target),h=t.hasElementWithId(l.source)&&this.hasElementWithId(l.target);if(u||h){if(i.thisIsSrc||i.thisIsTgt){if(i.thisIsSrc&&!u)continue;if(i.thisIsTgt&&!h)continue}n.push(c)}}return this.spawn(n,!0)}}function g3e(e){return e=qYe({},{codirected:!1},e),function(t){for(var n=[],r=this.edges(),i=e,a=0;a<r.length;a++)for(var o=r[a]._private,s=o.source,c=s._private.data.id,l=o.data.target,u=s._private.edges,h=0;h<u.length;h++){var d=u[h],f=d._private.data,p=f.target,m=f.source,g=p===l&&m===c,b=c===p&&l===m;(i.codirected&&g||!i.codirected&&(g||b))&&n.push(d)}return this.spawn(n,!0).filter(t)}}u3e.clearTraversalCache=function(){for(var e=0;e<this.length;e++)this[e]._private.traversalCache=null},qYe(u3e,{roots:h3e({noIncomingEdges:!0}),leaves:h3e({noOutgoingEdges:!0}),outgoers:U0e(d3e({outgoing:!0}),"outgoers"),successors:f3e({outgoing:!0}),incomers:U0e(d3e({incoming:!0}),"incomers"),predecessors:f3e({incoming:!0})}),qYe(u3e,{neighborhood:U0e((function(e){for(var t=[],n=this.nodes(),r=0;r<n.length;r++)for(var i=n[r],a=i.connectedEdges(),o=0;o<a.length;o++){var s=a[o],c=s.source(),l=s.target(),u=i===c?l:c;u.length>0&&t.push(u[0]),t.push(s[0])}return this.spawn(t,!0).filter(e)}),"neighborhood"),closedNeighborhood:function(e){return this.neighborhood().add(this).filter(e)},openNeighborhood:function(e){return this.neighborhood(e)}}),u3e.neighbourhood=u3e.neighborhood,u3e.closedNeighbourhood=u3e.closedNeighborhood,u3e.openNeighbourhood=u3e.openNeighborhood,qYe(u3e,{source:U0e((function(e){var t,n=this[0];return n&&(t=n._private.source||n.cy().collection()),t&&e?t.filter(e):t}),"source"),target:U0e((function(e){var t,n=this[0];return n&&(t=n._private.target||n.cy().collection()),t&&e?t.filter(e):t}),"target"),sources:p3e({attr:"source"}),targets:p3e({attr:"target"})}),qYe(u3e,{edgesWith:U0e(m3e(),"edgesWith"),edgesTo:U0e(m3e({thisIsSrc:!0}),"edgesTo")}),qYe(u3e,{connectedEdges:U0e((function(e){for(var t=[],n=0;n<this.length;n++){var r=this[n];if(r.isNode())for(var i=r._private.edges,a=0;a<i.length;a++){var o=i[a];t.push(o)}}return this.spawn(t,!0).filter(e)}),"connectedEdges"),connectedNodes:U0e((function(e){for(var t=[],n=0;n<this.length;n++){var r=this[n];r.isEdge()&&(t.push(r.source()[0]),t.push(r.target()[0]))}return this.spawn(t,!0).filter(e)}),"connectedNodes"),parallelEdges:U0e(g3e(),"parallelEdges"),codirectedEdges:U0e(g3e({codirected:!0}),"codirectedEdges")}),qYe(u3e,{components:function(e){var t=this,n=t.cy(),r=n.collection(),i=null==e?t.nodes():e.nodes(),a=[];null!=e&&i.empty()&&(i=e.sources());var o=function(e,t){r.merge(e),i.unmerge(e),t.merge(e)};if(i.empty())return t.spawn();var s=function(){var e=n.collection();a.push(e);var r=i[0];o(r,e),t.bfs({directed:!1,roots:r,visit:function(t){return o(t,e)}}),e.forEach((function(n){n.connectedEdges().forEach((function(n){t.has(n)&&e.has(n.source())&&e.has(n.target())&&e.merge(n)}))}))};do{s()}while(i.length>0);return a},component:function(){var e=this[0];return e.cy().mutableElements().components(e)[0]}}),u3e.componentsOf=u3e.components;var b3e=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(void 0!==e){var i=new iZe,a=!1;if(t){if(t.length>0&&xYe(t[0])&&!_Ye(t[0])){a=!0;for(var o=[],s=new oZe,c=0,l=t.length;c<l;c++){var u=t[c];null==u.data&&(u.data={});var h=u.data;if(null==h.id)h.id=XXe();else if(e.hasElementWithId(h.id)||s.has(h.id))continue;var d=new sZe(e,u,!1);o.push(d),s.add(h.id)}t=o}}else t=[];this.length=0;for(var f=0,p=t.length;f<p;f++){var m=t[f][0];if(null!=m){var g=m._private.data.id;n&&i.has(g)||(n&&i.set(g,{index:this.length,ele:m}),this[this.length]=m,this.length++)}}this._private={eles:this,cy:e,get map(){return null==this.lazyMap&&this.rebuildMap(),this.lazyMap},set map(e){this.lazyMap=e},rebuildMap:function(){for(var e=this.lazyMap=new iZe,t=this.eles,n=0;n<t.length;n++){var r=t[n];e.set(r.id(),{index:n,ele:r})}}},n&&(this._private.map=i),a&&!r&&this.restore()}else WXe("A collection must have a reference to the core")},y3e=sZe.prototype=b3e.prototype=Object.create(Array.prototype);y3e.instanceString=function(){return"collection"},y3e.spawn=function(e,t){return new b3e(this.cy(),e,t)},y3e.spawnSelf=function(){return this.spawn(this)},y3e.cy=function(){return this._private.cy},y3e.renderer=function(){return this._private.cy.renderer()},y3e.element=function(){return this[0]},y3e.collection=function(){return AYe(this)?this:new b3e(this._private.cy,[this])},y3e.unique=function(){return new b3e(this._private.cy,this,!0)},y3e.hasElementWithId=function(e){return e=""+e,this._private.map.has(e)},y3e.getElementById=function(e){e=""+e;var t=this._private.cy,n=this._private.map.get(e);return n?n.ele:new b3e(t)},y3e.$id=y3e.getElementById,y3e.poolIndex=function(){var e=this._private.cy._private.elements,t=this[0]._private.data.id;return e._private.map.get(t).index},y3e.indexOf=function(e){var t=e[0]._private.data.id;return this._private.map.get(t).index},y3e.indexOfId=function(e){return e=""+e,this._private.map.get(e).index},y3e.json=function(e){var t=this.element(),n=this.cy();if(null==t&&e)return this;if(null!=t){var r=t._private;if(xYe(e)){if(n.startBatch(),e.data){t.data(e.data);var i=r.data;if(t.isEdge()){var a=!1,o={},s=e.data.source,c=e.data.target;null!=s&&s!=i.source&&(o.source=""+s,a=!0),null!=c&&c!=i.target&&(o.target=""+c,a=!0),a&&(t=t.move(o))}else{var l="parent"in e.data,u=e.data.parent;!l||null==u&&null==i.parent||u==i.parent||(void 0===u&&(u=null),null!=u&&(u=""+u),t=t.move({parent:u}))}}e.position&&t.position(e.position);var h=function(n,i,a){var o=e[n];null!=o&&o!==r[n]&&(o?t[i]():t[a]())};return h("removed","remove","restore"),h("selected","select","unselect"),h("selectable","selectify","unselectify"),h("locked","lock","unlock"),h("grabbable","grabify","ungrabify"),h("pannable","panify","unpanify"),null!=e.classes&&t.classes(e.classes),n.endBatch(),this}if(void 0===e){var d={data:YXe(r.data),position:YXe(r.position),group:r.group,removed:r.removed,selected:r.selected,selectable:r.selectable,locked:r.locked,grabbable:r.grabbable,pannable:r.pannable,classes:null};d.classes="";var f=0;return r.classes.forEach((function(e){return d.classes+=0==f++?e:" "+e})),d}}},y3e.jsons=function(){for(var e=[],t=0;t<this.length;t++){var n=this[t].json();e.push(n)}return e},y3e.clone=function(){for(var e=this.cy(),t=[],n=0;n<this.length;n++){var r=this[n].json(),i=new sZe(e,r,!1);t.push(i)}return new b3e(e,t)},y3e.copy=y3e.clone,y3e.restore=function(){for(var e,t,n=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this,a=i.cy(),o=a._private,s=[],c=[],l=0,u=i.length;l<u;l++){var h=i[l];r&&!h.removed()||(h.isNode()?s.push(h):c.push(h))}e=s.concat(c);var d=function(){e.splice(t,1),t--};for(t=0;t<e.length;t++){var f=e[t],p=f._private,m=p.data;if(f.clearTraversalCache(),r||p.removed)if(void 0===m.id)m.id=XXe();else if(kYe(m.id))m.id=""+m.id;else{if(OYe(m.id)||!yYe(m.id)){WXe("Can not create element with invalid string ID `"+m.id+"`"),d();continue}if(a.hasElementWithId(m.id)){WXe("Can not create second element with ID `"+m.id+"`"),d();continue}}else;var g=m.id;if(f.isNode()){var b=p.position;null==b.x&&(b.x=0),null==b.y&&(b.y=0)}if(f.isEdge()){for(var y=f,v=["source","target"],w=v.length,x=!1,k=0;k<w;k++){var S=v[k],E=m[S];kYe(E)&&(E=m[S]=""+m[S]),null==E||""===E?(WXe("Can not create edge `"+g+"` with unspecified "+S),x=!0):a.hasElementWithId(E)||(WXe("Can not create edge `"+g+"` with nonexistant "+S+" `"+E+"`"),x=!0)}if(x){d();continue}var _=a.getElementById(m.source),A=a.getElementById(m.target);_.same(A)?_._private.edges.push(y):(_._private.edges.push(y),A._private.edges.push(y)),y._private.source=_,y._private.target=A}p.map=new iZe,p.map.set(g,{ele:f,index:0}),p.removed=!1,r&&a.addToPool(f)}for(var T=0;T<s.length;T++){var C=s[T],O=C._private.data;kYe(O.parent)&&(O.parent=""+O.parent);var D=O.parent;if(null!=D||C._private.parent){var M=C._private.parent?a.collection().merge(C._private.parent):a.getElementById(D);if(M.empty())O.parent=void 0;else if(M[0].removed())KXe("Node added with missing parent, reference to parent removed"),O.parent=void 0,C._private.parent=null;else{for(var I=!1,P=M;!P.empty();){if(C.same(P)){I=!0,O.parent=void 0;break}P=P.parent()}I||(M[0]._private.children.push(C),C._private.parent=M[0],o.hasCompoundNodes=!0)}}}if(e.length>0){for(var N=e.length===i.length?i:new b3e(a,e),L=0;L<N.length;L++){var R=N[L];R.isNode()||(R.parallelEdges().clearTraversalCache(),R.source().clearTraversalCache(),R.target().clearTraversalCache())}(o.hasCompoundNodes?a.collection().merge(N).merge(N.connectedNodes()).merge(N.parent()):N).dirtyCompoundBoundsCache().dirtyBoundingBoxCache().updateStyle(n),n?N.emitAndNotify("add"):r&&N.emit("add")}return i},y3e.removed=function(){var e=this[0];return e&&e._private.removed},y3e.inside=function(){var e=this[0];return e&&!e._private.removed},y3e.remove=function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=this,r=[],i={},a=n._private.cy;function o(e){var n=i[e.id()];t&&e.removed()||n||(i[e.id()]=!0,e.isNode()?(r.push(e),function(e){for(var t=e._private.edges,n=0;n<t.length;n++)o(t[n])}(e),function(e){for(var t=e._private.children,n=0;n<t.length;n++)o(t[n])}(e)):r.unshift(e))}for(var s=0,c=n.length;s<c;s++){o(n[s])}function l(e,t){var n=e._private.edges;eZe(n,t),e.clearTraversalCache()}function u(e){e.clearTraversalCache()}var h=[];function d(e,t){t=t[0];var n=(e=e[0])._private.children,r=e.id();eZe(n,t),t._private.parent=null,h.ids[r]||(h.ids[r]=!0,h.push(e))}h.ids={},n.dirtyCompoundBoundsCache(),t&&a.removeFromPool(r);for(var f=0;f<r.length;f++){var p=r[f];if(p.isEdge()){var m=p.source()[0],g=p.target()[0];l(m,p),l(g,p);for(var b=p.parallelEdges(),y=0;y<b.length;y++){var v=b[y];u(v),v.isBundledBezier()&&v.dirtyBoundingBoxCache()}}else{var w=p.parent();0!==w.length&&d(w,p)}t&&(p._private.removed=!0)}var x=a._private.elements;a._private.hasCompoundNodes=!1;for(var k=0;k<x.length;k++){if(x[k].isParent()){a._private.hasCompoundNodes=!0;break}}var S=new b3e(this.cy(),r);S.size()>0&&(e?S.emitAndNotify("remove"):t&&S.emit("remove"));for(var E=0;E<h.length;E++){var _=h[E];t&&_.removed()||_.updateStyle()}return S},y3e.move=function(e){var t=this._private.cy,n=this,r=!1,i=!1,a=function(e){return null==e?e:""+e};if(void 0!==e.source||void 0!==e.target){var o=a(e.source),s=a(e.target),c=null!=o&&t.hasElementWithId(o),l=null!=s&&t.hasElementWithId(s);(c||l)&&(t.batch((function(){n.remove(r,i),n.emitAndNotify("moveout");for(var e=0;e<n.length;e++){var t=n[e],a=t._private.data;t.isEdge()&&(c&&(a.source=o),l&&(a.target=s))}n.restore(r,i)})),n.emitAndNotify("move"))}else if(void 0!==e.parent){var u=a(e.parent);if(null===u||t.hasElementWithId(u)){var h=null===u?void 0:u;t.batch((function(){var e=n.remove(r,i);e.emitAndNotify("moveout");for(var t=0;t<n.length;t++){var a=n[t],o=a._private.data;a.isNode()&&(o.parent=h)}e.restore(r,i)})),n.emitAndNotify("move")}}return this},[wJe,n0e,r0e,$0e,V0e,Q0e,J0e,T2e,q2e,H2e,{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 e=this[0];if(e)return e._private.group}},W2e,Y2e,J2e,s3e,u3e].forEach((function(e){qYe(y3e,e)}));var v3e={add:function(e){var t,n=this;if(EYe(e)){var r=e;if(r._private.cy===n)t=r.restore();else{for(var i=[],a=0;a<r.length;a++){var o=r[a];i.push(o.json())}t=new b3e(n,i)}}else if(wYe(e)){t=new b3e(n,e)}else if(xYe(e)&&(wYe(e.nodes)||wYe(e.edges))){for(var s=e,c=[],l=["nodes","edges"],u=0,h=l.length;u<h;u++){var d=l[u],f=s[d];if(wYe(f))for(var p=0,m=f.length;p<m;p++){var g=qYe({group:d},f[p]);c.push(g)}}t=new b3e(n,c)}else{t=new sZe(n,e).collection()}return t},remove:function(e){if(EYe(e));else if(yYe(e)){var t=e;e=this.$(t)}return e.remove()}};
189
189
  /*! Bezier curve function generator. Copyright Gaetan Renaudeau. MIT License: http://en.wikipedia.org/wiki/MIT_License */function w3e(e,t,n,r){var i=4,a=1e-7,o=10,s=11,c=1/(s-1),l="undefined"!=typeof Float32Array;if(4!==arguments.length)return!1;for(var u=0;u<4;++u)if("number"!=typeof arguments[u]||isNaN(arguments[u])||!isFinite(arguments[u]))return!1;e=Math.min(e,1),n=Math.min(n,1),e=Math.max(e,0),n=Math.max(n,0);var h=l?new Float32Array(s):new Array(s);function d(e,t){return 1-3*t+3*e}function f(e,t){return 3*t-6*e}function p(e){return 3*e}function m(e,t,n){return((d(t,n)*e+f(t,n))*e+p(t))*e}function g(e,t,n){return 3*d(t,n)*e*e+2*f(t,n)*e+p(t)}function b(t){for(var r=0,l=1,u=s-1;l!==u&&h[l]<=t;++l)r+=c;--l;var d=r+(t-h[l])/(h[l+1]-h[l])*c,f=g(d,e,n);return f>=.001?function(t,r){for(var a=0;a<i;++a){var o=g(r,e,n);if(0===o)return r;r-=(m(r,e,n)-t)/o}return r}(t,d):0===f?d:function(t,r,i){var s,c,l=0;do{(s=m(c=r+(i-r)/2,e,n)-t)>0?i=c:r=c}while(Math.abs(s)>a&&++l<o);return c}(t,r,r+c)}var y=!1;function v(){y=!0,e===t&&n===r||function(){for(var t=0;t<s;++t)h[t]=m(t*c,e,n)}()}var w=function(i){return y||v(),e===t&&n===r?i:0===i?0:1===i?1:m(b(i),t,r)};w.getControlPoints=function(){return[{x:e,y:t},{x:n,y:r}]};var x="generateBezier("+[e,t,n,r]+")";return w.toString=function(){return x},w}
190
- /*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License */var x3e=function(){function e(e){return-e.tension*e.x-e.friction*e.v}function t(t,n,r){var i={x:t.x+r.dx*n,v:t.v+r.dv*n,tension:t.tension,friction:t.friction};return{dx:i.v,dv:e(i)}}function n(n,r){var i={dx:n.v,dv:e(n)},a=t(n,.5*r,i),o=t(n,.5*r,a),s=t(n,r,o),c=1/6*(i.dx+2*(a.dx+o.dx)+s.dx),l=1/6*(i.dv+2*(a.dv+o.dv)+s.dv);return n.x=n.x+c*r,n.v=n.v+l*r,n}return function e(t,r,i){var a,o,s,c={x:-1,v:0,tension:null,friction:null},l=[0],u=0,h=1e-4;for(t=parseFloat(t)||500,r=parseFloat(r)||20,i=i||null,c.tension=t,c.friction=r,o=(a=null!==i)?(u=e(t,r))/i*.016:.016;s=n(s||c,o),l.push(1+s.x),u+=16,Math.abs(s.x)>h&&Math.abs(s.v)>h;);return a?function(e){return l[e*(l.length-1)|0]}:u}}(),k3e=function(e,t,n,r){var i=w3e(e,t,n,r);return function(e,t,n){return e+(t-e)*i(n)}},S3e={linear:function(e,t,n){return e+(t-e)*n},ease:k3e(.25,.1,.25,1),"ease-in":k3e(.42,0,1,1),"ease-out":k3e(0,0,.58,1),"ease-in-out":k3e(.42,0,.58,1),"ease-in-sine":k3e(.47,0,.745,.715),"ease-out-sine":k3e(.39,.575,.565,1),"ease-in-out-sine":k3e(.445,.05,.55,.95),"ease-in-quad":k3e(.55,.085,.68,.53),"ease-out-quad":k3e(.25,.46,.45,.94),"ease-in-out-quad":k3e(.455,.03,.515,.955),"ease-in-cubic":k3e(.55,.055,.675,.19),"ease-out-cubic":k3e(.215,.61,.355,1),"ease-in-out-cubic":k3e(.645,.045,.355,1),"ease-in-quart":k3e(.895,.03,.685,.22),"ease-out-quart":k3e(.165,.84,.44,1),"ease-in-out-quart":k3e(.77,0,.175,1),"ease-in-quint":k3e(.755,.05,.855,.06),"ease-out-quint":k3e(.23,1,.32,1),"ease-in-out-quint":k3e(.86,0,.07,1),"ease-in-expo":k3e(.95,.05,.795,.035),"ease-out-expo":k3e(.19,1,.22,1),"ease-in-out-expo":k3e(1,0,0,1),"ease-in-circ":k3e(.6,.04,.98,.335),"ease-out-circ":k3e(.075,.82,.165,1),"ease-in-out-circ":k3e(.785,.135,.15,.86),spring:function(e,t,n){if(0===n)return S3e.linear;var r=x3e(e,t,n);return function(e,t,n){return e+(t-e)*r(n)}},"cubic-bezier":k3e};function E3e(e,t,n,r,i){if(1===r)return n;if(t===n)return n;var a=i(t,n,r);return null==e||((e.roundValue||e.color)&&(a=Math.round(a)),void 0!==e.min&&(a=Math.max(a,e.min)),void 0!==e.max&&(a=Math.min(a,e.max))),a}function _3e(e,t){return null!=e.pfValue||null!=e.value?null==e.pfValue||null!=t&&"%"===t.type.units?e.value:e.pfValue:e}function A3e(e,t,n,r,i){var a=null!=i?i.type:null;n<0?n=0:n>1&&(n=1);var o=_3e(e,i),s=_3e(t,i);if(kYe(o)&&kYe(s))return E3e(a,o,s,n,r);if(wYe(o)&&wYe(s)){for(var c=[],l=0;l<s.length;l++){var u=o[l],h=s[l];if(null!=u&&null!=h){var d=E3e(a,u,h,n,r);c.push(d)}else c.push(h)}return c}}function T3e(e,t,n,r){var i=!r,a=e._private,o=t._private,s=o.easing,c=o.startTime,l=(r?e:e.cy()).style();if(!o.easingImpl)if(null==s)o.easingImpl=S3e.linear;else{var u,h,d;if(yYe(s))u=l.parse("transition-timing-function",s).value;else u=s;yYe(u)?(h=u,d=[]):(h=u[1],d=u.slice(2).map((function(e){return+e}))),d.length>0?("spring"===h&&d.push(o.duration),o.easingImpl=S3e[h].apply(null,d)):o.easingImpl=S3e[h]}var f,p=o.easingImpl;if(f=0===o.duration?1:(n-c)/o.duration,o.applying&&(f=o.progress),f<0?f=0:f>1&&(f=1),null==o.delay){var m=o.startPosition,g=o.position;if(g&&i&&!e.locked()){var b={};C3e(m.x,g.x)&&(b.x=A3e(m.x,g.x,f,p)),C3e(m.y,g.y)&&(b.y=A3e(m.y,g.y,f,p)),e.position(b)}var y=o.startPan,v=o.pan,w=a.pan,x=null!=v&&r;x&&(C3e(y.x,v.x)&&(w.x=A3e(y.x,v.x,f,p)),C3e(y.y,v.y)&&(w.y=A3e(y.y,v.y,f,p)),e.emit("pan"));var k=o.startZoom,S=o.zoom,E=null!=S&&r;E&&(C3e(k,S)&&(a.zoom=RZe(a.minZoom,A3e(k,S,f,p),a.maxZoom)),e.emit("zoom")),(x||E)&&e.emit("viewport");var _=o.style;if(_&&_.length>0&&i){for(var A=0;A<_.length;A++){var T=_[A],C=T.name,O=T,D=o.startStyle[C],M=A3e(D,O,f,p,l.properties[D.name]);l.overrideBypass(e,C,M)}e.emit("style")}}return o.progress=f,f}function C3e(e,t){return null!=e&&null!=t&&(!(!kYe(e)||!kYe(t))||!(!e||!t))}function O3e(e,t,n,r){var i=t._private;i.started=!0,i.startTime=n-i.progress*i.duration}function D3e(e,t){var n=t._private.aniEles,r=[];function i(t,n){var i=t._private,a=i.animation.current,o=i.animation.queue,s=!1;if(0===a.length){var c=o.shift();c&&a.push(c)}for(var l=function(e){for(var t=e.length-1;t>=0;t--){(0,e[t])()}e.splice(0,e.length)},u=a.length-1;u>=0;u--){var h=a[u],d=h._private;d.stopped?(a.splice(u,1),d.hooked=!1,d.playing=!1,d.started=!1,l(d.frames)):(d.playing||d.applying)&&(d.playing&&d.applying&&(d.applying=!1),d.started||O3e(0,h,e),T3e(t,h,e,n),d.applying&&(d.applying=!1),l(d.frames),null!=d.step&&d.step(e),h.completed()&&(a.splice(u,1),d.hooked=!1,d.playing=!1,d.started=!1,l(d.completes)),s=!0)}return n||0!==a.length||0!==o.length||r.push(t),s}for(var a=!1,o=0;o<n.length;o++){var s=i(n[o]);a=a||s}var c=i(t,!0);(a||c)&&(n.length>0?t.notify("draw",n):t.notify("draw")),n.unmerge(r),t.emit("step")}var M3e={animate:t0e.animate(),animation:t0e.animation(),animated:t0e.animated(),clearQueue:t0e.clearQueue(),delay:t0e.delay(),delayAnimation:t0e.delayAnimation(),stop:t0e.stop(),addToAnimationPool:function(e){this.styleEnabled()&&this._private.aniEles.merge(e)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var e=this;if(e._private.animationsRunning=!0,e.styleEnabled()){var t=e.renderer();t&&t.beforeRender?t.beforeRender((function(t,n){D3e(n,e)}),t.beforeRenderPriorities.animations):function t(){e._private.animationsRunning&&AXe((function(n){D3e(n,e),t()}))}()}}},I3e={qualifierCompare:function(e,t){return null==e||null==t?null==e&&null==t:e.sameText(t)},eventMatches:function(e,t,n){var r=t.qualifier;return null==r||e!==n.target&&_Ye(n.target)&&r.matches(n.target)},addEventFields:function(e,t){t.cy=e,t.target=e},callbackContext:function(e,t,n){return null!=t.qualifier?n.target:e}},P3e=function(e){return yYe(e)?new F0e(e):e},N3e={createEmitter:function(){var e=this._private;return e.emitter||(e.emitter=new L2e(I3e,this)),this},emitter:function(){return this._private.emitter},on:function(e,t,n){return this.emitter().on(e,P3e(t),n),this},removeListener:function(e,t,n){return this.emitter().removeListener(e,P3e(t),n),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(e,t,n){return this.emitter().one(e,P3e(t),n),this},once:function(e,t,n){return this.emitter().one(e,P3e(t),n),this},emit:function(e,t){return this.emitter().emit(e,t),this},emitAndNotify:function(e,t){return this.emit(e),this.notify(e,t),this}};t0e.eventAliasesOn(N3e);var L3e={png:function(e){return e=e||{},this._private.renderer.png(e)},jpg:function(e){var t=this._private.renderer;return(e=e||{}).bg=e.bg||"#fff",t.jpg(e)}};L3e.jpeg=L3e.jpg;var R3e={layout:function(e){var t=this;if(null!=e)if(null!=e.name){var n=e.name,r=t.extension("layout",n);if(null!=r){var i;i=yYe(e.eles)?t.$(e.eles):null!=e.eles?e.eles:t.$();var a=new r(qYe({},e,{cy:t,eles:i}));return a}WXe("No such layout `"+n+"` found. Did you forget to import it and `cytoscape.use()` it?")}else WXe("A `name` must be specified to make a layout");else WXe("Layout options must be specified to make a layout")}};R3e.createLayout=R3e.makeLayout=R3e.layout;var j3e={notify:function(e,t){var n=this._private;if(this.batching()){n.batchNotifications=n.batchNotifications||{};var r=n.batchNotifications[e]=n.batchNotifications[e]||this.collection();null!=t&&r.merge(t)}else if(n.notificationsEnabled){var i=this.renderer();!this.destroyed()&&i&&i.notify(e,t)}},notifications:function(e){var t=this._private;return void 0===e?t.notificationsEnabled:(t.notificationsEnabled=!!e,this)},noNotifications:function(e){this.notifications(!1),e(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var e=this._private;return null==e.batchCount&&(e.batchCount=0),0===e.batchCount&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},endBatch:function(){var e=this._private;if(0===e.batchCount)return this;if(e.batchCount--,0===e.batchCount){e.batchStyleEles.updateStyle();var t=this.renderer();Object.keys(e.batchNotifications).forEach((function(n){var r=e.batchNotifications[n];r.empty()?t.notify(n):t.notify(n,r)}))}return this},batch:function(e){return this.startBatch(),e(),this.endBatch(),this},batchData:function(e){var t=this;return this.batch((function(){for(var n=Object.keys(e),r=0;r<n.length;r++){var i=n[r],a=e[i];t.getElementById(i).data(a)}}))}},B3e=JXe({hideEdgesOnViewport:!1,textureOnViewport:!1,motionBlur:!1,motionBlurOpacity:.05,pixelRatio:void 0,desktopTapThreshold:4,touchTapThreshold:8,wheelSensitivity:1,debug:!1,showFps:!1}),F3e={renderTo:function(e,t,n,r){return this._private.renderer.renderTo(e,t,n,r),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(e){var t=this,n=t.extension("renderer",e.name);if(null!=n){void 0!==e.wheelSensitivity&&KXe("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=B3e(e);r.cy=t,t._private.renderer=new n(r),this.notify("init")}else WXe("Can not initialise: No such renderer `".concat(e.name,"` found. Did you forget to import it and `cytoscape.use()` it?"))},destroyRenderer:function(){var e=this;e.notify("destroy");var t=e.container();if(t)for(t._cyreg=null;t.childNodes.length>0;)t.removeChild(t.childNodes[0]);e._private.renderer=null,e.mutableElements().forEach((function(e){var t=e._private;t.rscratch={},t.rstyle={},t.animation.current=[],t.animation.queue=[]}))},onRender:function(e){return this.on("render",e)},offRender:function(e){return this.off("render",e)}};F3e.invalidateDimensions=F3e.resize;var z3e={collection:function(e,t){return yYe(e)?this.$(e):EYe(e)?e.collection():wYe(e)?(t||(t={}),new b3e(this,e,t.unique,t.removed)):new b3e(this)},nodes:function(e){var t=this.$((function(e){return e.isNode()}));return e?t.filter(e):t},edges:function(e){var t=this.$((function(e){return e.isEdge()}));return e?t.filter(e):t},$:function(e){var t=this._private.elements;return e?t.filter(e):t.spawnSelf()},mutableElements:function(){return this._private.elements}};z3e.elements=z3e.filter=z3e.$;var $3e={},q3e="t";$3e.apply=function(e){for(var t=this,n=t._private.cy.collection(),r=0;r<e.length;r++){var i=e[r],a=t.getContextMeta(i);if(!a.empty){var o=t.getContextStyle(a),s=t.applyContextStyle(a,o,i);i._private.appliedInitStyle?t.updateTransitions(i,s.diffProps):i._private.appliedInitStyle=!0,t.updateStyleHints(i)&&n.push(i)}}return n},$3e.getPropertiesDiff=function(e,t){var n=this,r=n._private.propDiffs=n._private.propDiffs||{},i=e+"-"+t,a=r[i];if(a)return a;for(var o=[],s={},c=0;c<n.length;c++){var l=n[c],u=e[c]===q3e,h=t[c]===q3e,d=u!==h,f=l.mappedProperties.length>0;if(d||h&&f){var p=void 0;d&&f||d?p=l.properties:f&&(p=l.mappedProperties);for(var m=0;m<p.length;m++){for(var g=p[m],b=g.name,y=!1,v=c+1;v<n.length;v++){var w=n[v];if(t[v]===q3e&&(y=null!=w.properties[g.name]))break}s[b]||y||(s[b]=!0,o.push(b))}}}return r[i]=o,o},$3e.getContextMeta=function(e){for(var t,n=this,r="",i=e._private.styleCxtKey||"",a=0;a<n.length;a++){var o=n[a];r+=o.selector&&o.selector.matches(e)?q3e:"f"}return t=n.getPropertiesDiff(i,r),e._private.styleCxtKey=r,{key:r,diffPropNames:t,empty:0===t.length}},$3e.getContextStyle=function(e){var t=e.key,n=this._private.contextStyles=this._private.contextStyles||{};if(n[t])return n[t];for(var r={_private:{key:t}},i=0;i<this.length;i++){var a=this[i];if(t[i]===q3e)for(var o=0;o<a.properties.length;o++){var s=a.properties[o];r[s.name]=s}}return n[t]=r,r},$3e.applyContextStyle=function(e,t,n){for(var r=e.diffPropNames,i={},a=this.types,o=0;o<r.length;o++){var s=r[o],c=t[s],l=n.pstyle(s);if(!c){if(!l)continue;c=l.bypass?{name:s,deleteBypassed:!0}:{name:s,delete:!0}}if(l!==c){if(c.mapped===a.fn&&null!=l&&null!=l.mapping&&l.mapping.value===c.value){var u=l.mapping;if((u.fnValue=c.value(n))===u.prevFnValue)continue}var h=i[s]={prev:l};this.applyParsedProperty(n,c),h.next=n.pstyle(s),h.next&&h.next.bypass&&(h.next=h.next.bypassed)}}return{diffProps:i}},$3e.updateStyleHints=function(e){var t=e._private,n=this,r=n.propertyGroupNames,i=n.propertyGroupKeys,a=function(e,t,r){return n.getPropertiesHash(e,t,r)},o=t.styleKey;if(e.removed())return!1;var s="nodes"===t.group,c=e._private.style;r=Object.keys(c);for(var l=0;l<i.length;l++){var u=i[l];t.styleKeys[u]=[CXe,OXe]}for(var h,d=function(e,n){return t.styleKeys[n][0]=MXe(e,t.styleKeys[n][0])},f=function(e,n){return t.styleKeys[n][1]=IXe(e,t.styleKeys[n][1])},p=function(e,t){d(e,t),f(e,t)},m=function(e,t){for(var n=0;n<e.length;n++){var r=e.charCodeAt(n);d(r,t),f(r,t)}},g=0;g<r.length;g++){var b=r[g],y=c[b];if(null!=y){var v=this.properties[b],w=v.type,x=v.groupKey,k=void 0;null!=v.hashOverride?k=v.hashOverride(e,y):null!=y.pfValue&&(k=y.pfValue);var S=null==v.enums?y.value:null,E=null!=k,_=E||null!=S,A=y.units;if(w.number&&_&&!w.multiple)p(-128<(h=E?k:S)&&h<128&&Math.floor(h)!==h?2e9-(1024*h|0):h,x),E||null==A||m(A,x);else m(y.strValue,x)}}for(var T,C,O=[CXe,OXe],D=0;D<i.length;D++){var M=i[D],I=t.styleKeys[M];O[0]=MXe(I[0],O[0]),O[1]=IXe(I[1],O[1])}t.styleKey=(T=O[0],C=O[1],2097152*T+C);var P=t.styleKeys;t.labelDimsKey=PXe(P.labelDimensions);var N=a(e,["label"],P.labelDimensions);if(t.labelKey=PXe(N),t.labelStyleKey=PXe(NXe(P.commonLabel,N)),!s){var L=a(e,["source-label"],P.labelDimensions);t.sourceLabelKey=PXe(L),t.sourceLabelStyleKey=PXe(NXe(P.commonLabel,L));var R=a(e,["target-label"],P.labelDimensions);t.targetLabelKey=PXe(R),t.targetLabelStyleKey=PXe(NXe(P.commonLabel,R))}if(s){var j=t.styleKeys,B=j.nodeBody,F=j.nodeBorder,z=j.nodeOutline,$=j.backgroundImage,q=j.compound,H=j.pie,U=[B,F,z,$,q,H].filter((function(e){return null!=e})).reduce(NXe,[CXe,OXe]);t.nodeKey=PXe(U),t.hasPie=null!=H&&H[0]!==CXe&&H[1]!==OXe}return o!==t.styleKey},$3e.clearStyleHints=function(e){var t=e._private;t.styleCxtKey="",t.styleKeys={},t.styleKey=null,t.labelKey=null,t.labelStyleKey=null,t.sourceLabelKey=null,t.sourceLabelStyleKey=null,t.targetLabelKey=null,t.targetLabelStyleKey=null,t.nodeKey=null,t.hasPie=null},$3e.applyParsedProperty=function(e,t){var n,r=this,i=t,a=e._private.style,o=r.types,s=r.properties[i.name].type,c=i.bypass,l=a[i.name],u=l&&l.bypass,h=e._private,d="mapping",f=function(e){return null==e?null:null!=e.pfValue?e.pfValue:e.value},p=function(){var t=f(l),n=f(i);r.checkTriggers(e,i.name,t,n)};if("curve-style"===t.name&&e.isEdge()&&("bezier"!==t.value&&e.isLoop()||"haystack"===t.value&&(e.source().isParent()||e.target().isParent()))&&(i=t=this.parse(t.name,"bezier",c)),i.delete)return a[i.name]=void 0,p(),!0;if(i.deleteBypassed)return l?!!l.bypass&&(l.bypassed=void 0,p(),!0):(p(),!0);if(i.deleteBypass)return l?!!l.bypass&&(a[i.name]=l.bypassed,p(),!0):(p(),!0);var m=function(){KXe("Do not assign mappings to elements without corresponding data (i.e. ele `"+e.id()+"` has no mapping for property `"+i.name+"` with data field `"+i.field+"`); try a `["+i.field+"]` selector to limit scope to elements with `"+i.field+"` defined")};switch(i.mapped){case o.mapData:for(var g,b=i.field.split("."),y=h.data,v=0;v<b.length&&y;v++){y=y[b[v]]}if(null==y)return m(),!1;if(!kYe(y))return KXe("Do not use continuous mappers without specifying numeric data (i.e. `"+i.field+": "+y+"` for `"+e.id()+"` is non-numeric)"),!1;var w=i.fieldMax-i.fieldMin;if((g=0===w?0:(y-i.fieldMin)/w)<0?g=0:g>1&&(g=1),s.color){var x=i.valueMin[0],k=i.valueMax[0],S=i.valueMin[1],E=i.valueMax[1],_=i.valueMin[2],A=i.valueMax[2],T=null==i.valueMin[3]?1:i.valueMin[3],C=null==i.valueMax[3]?1:i.valueMax[3],O=[Math.round(x+(k-x)*g),Math.round(S+(E-S)*g),Math.round(_+(A-_)*g),Math.round(T+(C-T)*g)];n={bypass:i.bypass,name:i.name,value:O,strValue:"rgb("+O[0]+", "+O[1]+", "+O[2]+")"}}else{if(!s.number)return!1;var D=i.valueMin+(i.valueMax-i.valueMin)*g;n=this.parse(i.name,D,i.bypass,d)}if(!n)return m(),!1;n.mapping=i,i=n;break;case o.data:for(var M=i.field.split("."),I=h.data,P=0;P<M.length&&I;P++){I=I[M[P]]}if(null!=I&&(n=this.parse(i.name,I,i.bypass,d)),!n)return m(),!1;n.mapping=i,i=n;break;case o.fn:var N=i.value,L=null!=i.fnValue?i.fnValue:N(e);if(i.prevFnValue=L,null==L)return KXe("Custom function mappers may not return null (i.e. `"+i.name+"` for ele `"+e.id()+"` is null)"),!1;if(!(n=this.parse(i.name,L,i.bypass,d)))return KXe("Custom function mappers may not return invalid values for the property type (i.e. `"+i.name+"` for ele `"+e.id()+"` is invalid)"),!1;n.mapping=YXe(i),i=n;break;case void 0:break;default:return!1}return c?(i.bypassed=u?l.bypassed:l,a[i.name]=i):u?l.bypassed=i:a[i.name]=i,p(),!0},$3e.cleanElements=function(e,t){for(var n=0;n<e.length;n++){var r=e[n];if(this.clearStyleHints(r),r.dirtyCompoundBoundsCache(),r.dirtyBoundingBoxCache(),t)for(var i=r._private.style,a=Object.keys(i),o=0;o<a.length;o++){var s=a[o],c=i[s];null!=c&&(c.bypass?c.bypassed=null:i[s]=null)}else r._private.style={}}},$3e.update=function(){this._private.cy.mutableElements().updateStyle()},$3e.updateTransitions=function(e,t){var n=this,r=e._private,i=e.pstyle("transition-property").value,a=e.pstyle("transition-duration").pfValue,o=e.pstyle("transition-delay").pfValue;if(i.length>0&&a>0){for(var s={},c=!1,l=0;l<i.length;l++){var u=i[l],h=e.pstyle(u),d=t[u];if(d){var f=d.prev,p=null!=d.next?d.next:h,m=!1,g=void 0,b=1e-6;f&&(kYe(f.pfValue)&&kYe(p.pfValue)?(m=p.pfValue-f.pfValue,g=f.pfValue+b*m):kYe(f.value)&&kYe(p.value)?(m=p.value-f.value,g=f.value+b*m):wYe(f.value)&&wYe(p.value)&&(m=f.value[0]!==p.value[0]||f.value[1]!==p.value[1]||f.value[2]!==p.value[2],g=f.strValue),m&&(s[u]=p.strValue,this.applyBypass(e,u,g),c=!0))}}if(!c)return;r.transitioning=!0,new TJe((function(t){o>0?e.delayAnimation(o).play().promise().then(t):t()})).then((function(){return e.animation({style:s,duration:a,easing:e.pstyle("transition-timing-function").value,queue:!1}).play().promise()})).then((function(){n.removeBypasses(e,i),e.emitAndNotify("style"),r.transitioning=!1}))}else r.transitioning&&(this.removeBypasses(e,i),e.emitAndNotify("style"),r.transitioning=!1)},$3e.checkTrigger=function(e,t,n,r,i,a){var o=this.properties[t],s=i(o);null!=s&&s(n,r)&&a(o)},$3e.checkZOrderTrigger=function(e,t,n,r){var i=this;this.checkTrigger(e,t,n,r,(function(e){return e.triggersZOrder}),(function(){i._private.cy.notify("zorder",e)}))},$3e.checkBoundsTrigger=function(e,t,n,r){this.checkTrigger(e,t,n,r,(function(e){return e.triggersBounds}),(function(i){e.dirtyCompoundBoundsCache(),e.dirtyBoundingBoxCache(),!i.triggersBoundsOfParallelBeziers||"curve-style"!==t||"bezier"!==n&&"bezier"!==r||e.parallelEdges().forEach((function(e){e.isBundledBezier()&&e.dirtyBoundingBoxCache()})),!i.triggersBoundsOfConnectedEdges||"display"!==t||"none"!==n&&"none"!==r||e.connectedEdges().forEach((function(e){e.dirtyBoundingBoxCache()}))}))},$3e.checkTriggers=function(e,t,n,r){e.dirtyStyleCache(),this.checkZOrderTrigger(e,t,n,r),this.checkBoundsTrigger(e,t,n,r)};var H3e={applyBypass:function(e,t,n,r){var i=[];if("*"===t||"**"===t){if(void 0!==n)for(var a=0;a<this.properties.length;a++){var o=this.properties[a].name,s=this.parse(o,n,!0);s&&i.push(s)}}else if(yYe(t)){var c=this.parse(t,n,!0);c&&i.push(c)}else{if(!xYe(t))return!1;var l=t;r=n;for(var u=Object.keys(l),h=0;h<u.length;h++){var d=u[h],f=l[d];if(void 0===f&&(f=l[PYe(d)]),void 0!==f){var p=this.parse(d,f,!0);p&&i.push(p)}}}if(0===i.length)return!1;for(var m=!1,g=0;g<e.length;g++){for(var b=e[g],y={},v=void 0,w=0;w<i.length;w++){var x=i[w];if(r){var k=b.pstyle(x.name);v=y[x.name]={prev:k}}m=this.applyParsedProperty(b,YXe(x))||m,r&&(v.next=b.pstyle(x.name))}m&&this.updateStyleHints(b),r&&this.updateTransitions(b,y,true)}return m},overrideBypass:function(e,t,n){t=IYe(t);for(var r=0;r<e.length;r++){var i=e[r],a=i._private.style[t],o=this.properties[t].type,s=o.color,c=o.mutiple,l=a?null!=a.pfValue?a.pfValue:a.value:null;a&&a.bypass?(a.value=n,null!=a.pfValue&&(a.pfValue=n),a.strValue=s?"rgb("+n.join(",")+")":c?n.join(" "):""+n,this.updateStyleHints(i)):this.applyBypass(i,t,n),this.checkTriggers(i,t,l,n)}},removeAllBypasses:function(e,t){return this.removeBypasses(e,this.propertyNames,t)},removeBypasses:function(e,t,n){for(var r=0;r<e.length;r++){for(var i=e[r],a={},o=0;o<t.length;o++){var s=t[o],c=this.properties[s],l=i.pstyle(c.name);if(l&&l.bypass){var u=this.parse(s,"",!0),h=a[c.name]={prev:l};this.applyParsedProperty(i,u),h.next=i.pstyle(c.name)}}this.updateStyleHints(i),n&&this.updateTransitions(i,a,true)}}},U3e={getEmSizeInPixels:function(){var e=this.containerCss("font-size");return null!=e?parseFloat(e):1},containerCss:function(e){var t=this._private.cy,n=t.container(),r=t.window();if(r&&n&&r.getComputedStyle)return r.getComputedStyle(n).getPropertyValue(e)}},V3e={getRenderedStyle:function(e,t){return t?this.getStylePropertyValue(e,t,!0):this.getRawStyle(e,!0)},getRawStyle:function(e,t){var n=this;if(e=e[0]){for(var r={},i=0;i<n.properties.length;i++){var a=n.properties[i],o=n.getStylePropertyValue(e,a.name,t);null!=o&&(r[a.name]=o,r[PYe(a.name)]=o)}return r}},getIndexedStyle:function(e,t,n,r){var i=e.pstyle(t)[n][r];return null!=i?i:e.cy().style().getDefaultProperty(t)[n][0]},getStylePropertyValue:function(e,t,n){if(e=e[0]){var r=this.properties[t];r.alias&&(r=r.pointsTo);var i=r.type,a=e.pstyle(r.name);if(a){var o=a.value,s=a.units,c=a.strValue;if(n&&i.number&&null!=o&&kYe(o)){var l=e.cy().zoom(),u=function(e){return e*l},h=function(e,t){return u(e)+t},d=wYe(o);return(d?s.every((function(e){return null!=e})):null!=s)?d?o.map((function(e,t){return h(e,s[t])})).join(" "):h(o,s):d?o.map((function(e){return yYe(e)?e:""+u(e)})).join(" "):""+u(o)}if(null!=c)return c}return null}},getAnimationStartStyle:function(e,t){for(var n={},r=0;r<t.length;r++){var i=t[r].name,a=e.pstyle(i);void 0!==a&&(a=xYe(a)?this.parse(i,a.strValue):this.parse(i,a)),a&&(n[i]=a)}return n},getPropsList:function(e){var t=[],n=e,r=this.properties;if(n)for(var i=Object.keys(n),a=0;a<i.length;a++){var o=i[a],s=n[o],c=r[o]||r[IYe(o)],l=this.parse(c.name,s);l&&t.push(l)}return t},getNonDefaultPropertiesHash:function(e,t,n){var r,i,a,o,s,c,l=n.slice();for(s=0;s<t.length;s++)if(r=t[s],null!=(i=e.pstyle(r,!1)))if(null!=i.pfValue)l[0]=MXe(o,l[0]),l[1]=IXe(o,l[1]);else for(a=i.strValue,c=0;c<a.length;c++)o=a.charCodeAt(c),l[0]=MXe(o,l[0]),l[1]=IXe(o,l[1]);return l}};V3e.getPropertiesHash=V3e.getNonDefaultPropertiesHash;var W3e={appendFromJson:function(e){for(var t=this,n=0;n<e.length;n++){var r=e[n],i=r.selector,a=r.style||r.css,o=Object.keys(a);t.selector(i);for(var s=0;s<o.length;s++){var c=o[s],l=a[c];t.css(c,l)}}return t},fromJson:function(e){var t=this;return t.resetToDefault(),t.appendFromJson(e),t},json:function(){for(var e=[],t=this.defaultLength;t<this.length;t++){for(var n=this[t],r=n.selector,i=n.properties,a={},o=0;o<i.length;o++){var s=i[o];a[s.name]=s.strValue}e.push({selector:r?r.toString():"core",style:a})}return e}},G3e={appendFromString:function(e){var t,n,r,i=this,a=""+e;function o(){a=a.length>t.length?a.substr(t.length):""}function s(){n=n.length>r.length?n.substr(r.length):""}for(a=a.replace(/[/][*](\s|.)+?[*][/]/g,"");;){if(a.match(/^\s*$/))break;var c=a.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!c){KXe("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+a);break}t=c[0];var l=c[1];if("core"!==l)if(new F0e(l).invalid){KXe("Skipping parsing of block: Invalid selector found in string stylesheet: "+l),o();continue}var u=c[2],h=!1;n=u;for(var d=[];;){if(n.match(/^\s*$/))break;var f=n.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!f){KXe("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+u),h=!0;break}r=f[0];var p=f[1],m=f[2];if(this.properties[p])i.parse(p,m)?(d.push({name:p,val:m}),s()):(KXe("Skipping property: Invalid property definition in: "+r),s());else KXe("Skipping property: Invalid property name in: "+r),s()}if(h){o();break}i.selector(l);for(var g=0;g<d.length;g++){var b=d[g];i.css(b.name,b.val)}o()}return i},fromString:function(e){var t=this;return t.resetToDefault(),t.appendFromString(e),t}},K3e={};!function(){var e=RYe,t=BYe,n=zYe,r=function(e){return"^"+e+"\\s*\\(\\s*([\\w\\.]+)\\s*\\)$"},i=function(r){var i=e+"|\\w+|"+t+"|"+n+"|\\#[0-9a-fA-F]{3}|\\#[0-9a-fA-F]{6}";return"^"+r+"\\s*\\(([\\w\\.]+)\\s*\\,\\s*("+e+")\\s*\\,\\s*("+e+")\\s*,\\s*("+i+")\\s*\\,\\s*("+i+")\\)$"},a=["^url\\s*\\(\\s*['\"]?(.+?)['\"]?\\s*\\)$","^(none)$","^(.+)$"];K3e.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"]},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"]},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:r("data")},layoutData:{mapping:!0,regex:r("layoutData")},scratch:{mapping:!0,regex:r("scratch")},mapData:{mapping:!0,regex:i("mapData")},mapLayoutData:{mapping:!0,regex:i("mapLayoutData")},mapScratch:{mapping:!0,regex:i("mapScratch")},fn:{mapping:!0,fn:!0},url:{regexes:a,singleRegexMatchValue:!0},urls:{regexes:a,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(e,t){switch(e.length){case 2:return"deg"!==t[0]&&"rad"!==t[0]&&"deg"!==t[1]&&"rad"!==t[1];case 1:return yYe(e[0])||"deg"===t[0]||"rad"===t[0];default:return!1}}},easing:{regexes:["^(spring)\\s*\\(\\s*("+e+")\\s*,\\s*("+e+")\\s*\\)$","^(cubic-bezier)\\s*\\(\\s*("+e+")\\s*,\\s*("+e+")\\s*,\\s*("+e+")\\s*,\\s*("+e+")\\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(e){var t=e.length;return 1===t||2===t||4===t}}};var o={zeroNonZero:function(e,t){return(null==e||null==t)&&e!==t||(0==e&&0!=t||0!=e&&0==t)},any:function(e,t){return e!=t},emptyNonEmpty:function(e,t){var n=OYe(e),r=OYe(t);return n&&!r||!n&&r}},s=K3e.types,c=[{name:"label",type:s.text,triggersBounds:o.any,triggersZOrder:o.emptyNonEmpty},{name:"text-rotation",type:s.textRotation,triggersBounds:o.any},{name:"text-margin-x",type:s.bidirectionalSize,triggersBounds:o.any},{name:"text-margin-y",type:s.bidirectionalSize,triggersBounds:o.any}],l=[{name:"source-label",type:s.text,triggersBounds:o.any},{name:"source-text-rotation",type:s.textRotation,triggersBounds:o.any},{name:"source-text-margin-x",type:s.bidirectionalSize,triggersBounds:o.any},{name:"source-text-margin-y",type:s.bidirectionalSize,triggersBounds:o.any},{name:"source-text-offset",type:s.size,triggersBounds:o.any}],u=[{name:"target-label",type:s.text,triggersBounds:o.any},{name:"target-text-rotation",type:s.textRotation,triggersBounds:o.any},{name:"target-text-margin-x",type:s.bidirectionalSize,triggersBounds:o.any},{name:"target-text-margin-y",type:s.bidirectionalSize,triggersBounds:o.any},{name:"target-text-offset",type:s.size,triggersBounds:o.any}],h=[{name:"font-family",type:s.fontFamily,triggersBounds:o.any},{name:"font-style",type:s.fontStyle,triggersBounds:o.any},{name:"font-weight",type:s.fontWeight,triggersBounds:o.any},{name:"font-size",type:s.size,triggersBounds:o.any},{name:"text-transform",type:s.textTransform,triggersBounds:o.any},{name:"text-wrap",type:s.textWrap,triggersBounds:o.any},{name:"text-overflow-wrap",type:s.textOverflowWrap,triggersBounds:o.any},{name:"text-max-width",type:s.size,triggersBounds:o.any},{name:"text-outline-width",type:s.size,triggersBounds:o.any},{name:"line-height",type:s.positiveNumber,triggersBounds:o.any}],d=[{name:"text-valign",type:s.valign,triggersBounds:o.any},{name:"text-halign",type:s.halign,triggersBounds:o.any},{name:"color",type:s.color},{name:"text-outline-color",type:s.color},{name:"text-outline-opacity",type:s.zeroOneNumber},{name:"text-background-color",type:s.color},{name:"text-background-opacity",type:s.zeroOneNumber},{name:"text-background-padding",type:s.size,triggersBounds:o.any},{name:"text-border-opacity",type:s.zeroOneNumber},{name:"text-border-color",type:s.color},{name:"text-border-width",type:s.size,triggersBounds:o.any},{name:"text-border-style",type:s.borderStyle,triggersBounds:o.any},{name:"text-background-shape",type:s.textBackgroundShape,triggersBounds:o.any},{name:"text-justification",type:s.justification}],f=[{name:"events",type:s.bool,triggersZOrder:o.any},{name:"text-events",type:s.bool,triggersZOrder:o.any}],p=[{name:"display",type:s.display,triggersZOrder:o.any,triggersBounds:o.any,triggersBoundsOfConnectedEdges:!0},{name:"visibility",type:s.visibility,triggersZOrder:o.any},{name:"opacity",type:s.zeroOneNumber,triggersZOrder:o.zeroNonZero},{name:"text-opacity",type:s.zeroOneNumber},{name:"min-zoomed-font-size",type:s.size},{name:"z-compound-depth",type:s.zCompoundDepth,triggersZOrder:o.any},{name:"z-index-compare",type:s.zIndexCompare,triggersZOrder:o.any},{name:"z-index",type:s.number,triggersZOrder:o.any}],m=[{name:"overlay-padding",type:s.size,triggersBounds:o.any},{name:"overlay-color",type:s.color},{name:"overlay-opacity",type:s.zeroOneNumber,triggersBounds:o.zeroNonZero},{name:"overlay-shape",type:s.overlayShape,triggersBounds:o.any},{name:"overlay-corner-radius",type:s.cornerRadius}],g=[{name:"underlay-padding",type:s.size,triggersBounds:o.any},{name:"underlay-color",type:s.color},{name:"underlay-opacity",type:s.zeroOneNumber,triggersBounds:o.zeroNonZero},{name:"underlay-shape",type:s.overlayShape,triggersBounds:o.any},{name:"underlay-corner-radius",type:s.cornerRadius}],b=[{name:"transition-property",type:s.propList},{name:"transition-duration",type:s.time},{name:"transition-delay",type:s.time},{name:"transition-timing-function",type:s.easing}],y=function(e,t){return"label"===t.value?-e.poolIndex():t.pfValue},v=[{name:"height",type:s.nodeSize,triggersBounds:o.any,hashOverride:y},{name:"width",type:s.nodeSize,triggersBounds:o.any,hashOverride:y},{name:"shape",type:s.nodeShape,triggersBounds:o.any},{name:"shape-polygon-points",type:s.polygonPointList,triggersBounds:o.any},{name:"corner-radius",type:s.cornerRadius},{name:"background-color",type:s.color},{name:"background-fill",type:s.fill},{name:"background-opacity",type:s.zeroOneNumber},{name:"background-blacken",type:s.nOneOneNumber},{name:"background-gradient-stop-colors",type:s.colors},{name:"background-gradient-stop-positions",type:s.percentages},{name:"background-gradient-direction",type:s.gradientDirection},{name:"padding",type:s.sizeMaybePercent,triggersBounds:o.any},{name:"padding-relative-to",type:s.paddingRelativeTo,triggersBounds:o.any},{name:"bounds-expansion",type:s.boundsExpansion,triggersBounds:o.any}],w=[{name:"border-color",type:s.color},{name:"border-opacity",type:s.zeroOneNumber},{name:"border-width",type:s.size,triggersBounds:o.any},{name:"border-style",type:s.borderStyle},{name:"border-cap",type:s.lineCap},{name:"border-join",type:s.lineJoin},{name:"border-dash-pattern",type:s.numbers},{name:"border-dash-offset",type:s.number},{name:"border-position",type:s.linePosition}],x=[{name:"outline-color",type:s.color},{name:"outline-opacity",type:s.zeroOneNumber},{name:"outline-width",type:s.size,triggersBounds:o.any},{name:"outline-style",type:s.borderStyle},{name:"outline-offset",type:s.size,triggersBounds:o.any}],k=[{name:"background-image",type:s.urls},{name:"background-image-crossorigin",type:s.bgCrossOrigin},{name:"background-image-opacity",type:s.zeroOneNumbers},{name:"background-image-containment",type:s.bgContainment},{name:"background-image-smoothing",type:s.bools},{name:"background-position-x",type:s.bgPos},{name:"background-position-y",type:s.bgPos},{name:"background-width-relative-to",type:s.bgRelativeTo},{name:"background-height-relative-to",type:s.bgRelativeTo},{name:"background-repeat",type:s.bgRepeat},{name:"background-fit",type:s.bgFit},{name:"background-clip",type:s.bgClip},{name:"background-width",type:s.bgWH},{name:"background-height",type:s.bgWH},{name:"background-offset-x",type:s.bgPos},{name:"background-offset-y",type:s.bgPos}],S=[{name:"position",type:s.position,triggersBounds:o.any},{name:"compound-sizing-wrt-labels",type:s.compoundIncludeLabels,triggersBounds:o.any},{name:"min-width",type:s.size,triggersBounds:o.any},{name:"min-width-bias-left",type:s.sizeMaybePercent,triggersBounds:o.any},{name:"min-width-bias-right",type:s.sizeMaybePercent,triggersBounds:o.any},{name:"min-height",type:s.size,triggersBounds:o.any},{name:"min-height-bias-top",type:s.sizeMaybePercent,triggersBounds:o.any},{name:"min-height-bias-bottom",type:s.sizeMaybePercent,triggersBounds:o.any}],E=[{name:"line-style",type:s.lineStyle},{name:"line-color",type:s.color},{name:"line-fill",type:s.fill},{name:"line-cap",type:s.lineCap},{name:"line-opacity",type:s.zeroOneNumber},{name:"line-dash-pattern",type:s.numbers},{name:"line-dash-offset",type:s.number},{name:"line-gradient-stop-colors",type:s.colors},{name:"line-gradient-stop-positions",type:s.percentages},{name:"curve-style",type:s.curveStyle,triggersBounds:o.any,triggersBoundsOfParallelBeziers:!0},{name:"haystack-radius",type:s.zeroOneNumber,triggersBounds:o.any},{name:"source-endpoint",type:s.edgeEndpoint,triggersBounds:o.any},{name:"target-endpoint",type:s.edgeEndpoint,triggersBounds:o.any},{name:"control-point-step-size",type:s.size,triggersBounds:o.any},{name:"control-point-distances",type:s.bidirectionalSizes,triggersBounds:o.any},{name:"control-point-weights",type:s.numbers,triggersBounds:o.any},{name:"segment-distances",type:s.bidirectionalSizes,triggersBounds:o.any},{name:"segment-weights",type:s.numbers,triggersBounds:o.any},{name:"segment-radii",type:s.numbers,triggersBounds:o.any},{name:"radius-type",type:s.radiusType,triggersBounds:o.any},{name:"taxi-turn",type:s.bidirectionalSizeMaybePercent,triggersBounds:o.any},{name:"taxi-turn-min-distance",type:s.size,triggersBounds:o.any},{name:"taxi-direction",type:s.axisDirection,triggersBounds:o.any},{name:"taxi-radius",type:s.number,triggersBounds:o.any},{name:"edge-distances",type:s.edgeDistances,triggersBounds:o.any},{name:"arrow-scale",type:s.positiveNumber,triggersBounds:o.any},{name:"loop-direction",type:s.angle,triggersBounds:o.any},{name:"loop-sweep",type:s.angle,triggersBounds:o.any},{name:"source-distance-from-node",type:s.size,triggersBounds:o.any},{name:"target-distance-from-node",type:s.size,triggersBounds:o.any}],_=[{name:"ghost",type:s.bool,triggersBounds:o.any},{name:"ghost-offset-x",type:s.bidirectionalSize,triggersBounds:o.any},{name:"ghost-offset-y",type:s.bidirectionalSize,triggersBounds:o.any},{name:"ghost-opacity",type:s.zeroOneNumber}],A=[{name:"selection-box-color",type:s.color},{name:"selection-box-opacity",type:s.zeroOneNumber},{name:"selection-box-border-color",type:s.color},{name:"selection-box-border-width",type:s.size},{name:"active-bg-color",type:s.color},{name:"active-bg-opacity",type:s.zeroOneNumber},{name:"active-bg-size",type:s.size},{name:"outside-texture-bg-color",type:s.color},{name:"outside-texture-bg-opacity",type:s.zeroOneNumber}],T=[];K3e.pieBackgroundN=16,T.push({name:"pie-size",type:s.sizeMaybePercent});for(var C=1;C<=K3e.pieBackgroundN;C++)T.push({name:"pie-"+C+"-background-color",type:s.color}),T.push({name:"pie-"+C+"-background-size",type:s.percent}),T.push({name:"pie-"+C+"-background-opacity",type:s.zeroOneNumber});var O=[],D=K3e.arrowPrefixes=["source","mid-source","target","mid-target"];[{name:"arrow-shape",type:s.arrowShape,triggersBounds:o.any},{name:"arrow-color",type:s.color},{name:"arrow-fill",type:s.arrowFill},{name:"arrow-width",type:s.arrowWidth}].forEach((function(e){D.forEach((function(t){var n=t+"-"+e.name,r=e.type,i=e.triggersBounds;O.push({name:n,type:r,triggersBounds:i})}))}),{});var M=K3e.properties=[].concat(f,b,p,m,g,_,d,h,c,l,u,v,w,x,k,T,S,E,O,A),I=K3e.propertyGroups={behavior:f,transition:b,visibility:p,overlay:m,underlay:g,ghost:_,commonLabel:d,labelDimensions:h,mainLabel:c,sourceLabel:l,targetLabel:u,nodeBody:v,nodeBorder:w,nodeOutline:x,backgroundImage:k,pie:T,compound:S,edgeLine:E,edgeArrow:O,core:A},P=K3e.propertyGroupNames={};(K3e.propertyGroupKeys=Object.keys(I)).forEach((function(e){P[e]=I[e].map((function(e){return e.name})),I[e].forEach((function(t){return t.groupKey=e}))}));var N=K3e.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"}];K3e.propertyNames=M.map((function(e){return e.name}));for(var L=0;L<M.length;L++){var R=M[L];M[R.name]=R}for(var j=0;j<N.length;j++){var B=N[j],F=M[B.pointsTo],z={name:B.name,alias:!0,pointsTo:F};M.push(z),M[B.name]=z}}(),K3e.getDefaultProperty=function(e){return this.getDefaultProperties()[e]},K3e.getDefaultProperties=function(){var e=this._private;if(null!=e.defaultProperties)return e.defaultProperties;for(var t=qYe({"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","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%"},[{name:"pie-{{i}}-background-color",value:"black"},{name:"pie-{{i}}-background-size",value:"0%"},{name:"pie-{{i}}-background-opacity",value:1}].reduce((function(e,t){for(var n=1;n<=K3e.pieBackgroundN;n++){var r=t.name.replace("{{i}}",n),i=t.value;e[r]=i}return e}),{}),{"line-style":"solid","line-color":"#999","line-fill":"solid","line-cap":"butt","line-opacity":1,"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(e,t){return K3e.arrowPrefixes.forEach((function(n){var r=n+"-"+t.name,i=t.value;e[r]=i})),e}),{})),n={},r=0;r<this.properties.length;r++){var i=this.properties[r];if(!i.pointsTo){var a=i.name,o=t[a],s=this.parse(a,o);n[a]=s}}return e.defaultProperties=n,e.defaultProperties},K3e.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 Y3e={parse:function(e,t,n,r){var i=this;if(vYe(t))return i.parseImplWarn(e,t,n,r);var a,o=RXe(e,""+t,n?"t":"f","mapping"===r||!0===r||!1===r||null==r?"dontcare":r),s=i.propCache=i.propCache||[];return(a=s[o])||(a=s[o]=i.parseImplWarn(e,t,n,r)),(n||"mapping"===r)&&(a=YXe(a))&&(a.value=YXe(a.value)),a},parseImplWarn:function(e,t,n,r){var i=this.parseImpl(e,t,n,r);return i||null==t||KXe("The style property `".concat(e,": ").concat(t,"` is invalid")),!i||"width"!==i.name&&"height"!==i.name||"label"!==t||KXe("The style value of `label` is deprecated for `"+i.name+"`"),i}};Y3e.parseImpl=function(e,t,n,r){var i=this;e=IYe(e);var a=i.properties[e],o=t,s=i.types;if(!a)return null;if(void 0===t)return null;a.alias&&(a=a.pointsTo,e=a.name);var c=yYe(t);c&&(t=t.trim());var l,u,h=a.type;if(!h)return null;if(n&&(""===t||null===t))return{name:e,value:t,bypass:!0,deleteBypass:!0};if(vYe(t))return{name:e,value:t,strValue:"fn",mapped:s.fn,bypass:n};if(!c||r||t.length<7||"a"!==t[1]);else{if(t.length>=7&&"d"===t[0]&&(l=new RegExp(s.data.regex).exec(t))){if(n)return!1;var d=s.data;return{name:e,value:l,strValue:""+t,mapped:d,field:l[1],bypass:n}}if(t.length>=10&&"m"===t[0]&&(u=new RegExp(s.mapData.regex).exec(t))){if(n)return!1;if(h.multiple)return!1;var f=s.mapData;if(!h.color&&!h.number)return!1;var p=this.parse(e,u[4]);if(!p||p.mapped)return!1;var m=this.parse(e,u[5]);if(!m||m.mapped)return!1;if(p.pfValue===m.pfValue||p.strValue===m.strValue)return KXe("`"+e+": "+t+"` is not a valid mapper because the output range is zero; converting to `"+e+": "+p.strValue+"`"),this.parse(e,p.strValue);if(h.color){var g=p.value,b=m.value;if(!(g[0]!==b[0]||g[1]!==b[1]||g[2]!==b[2]||g[3]!==b[3]&&(null!=g[3]&&1!==g[3]||null!=b[3]&&1!==b[3])))return!1}return{name:e,value:u,strValue:""+t,mapped:f,field:u[1],fieldMin:parseFloat(u[2]),fieldMax:parseFloat(u[3]),valueMin:p.value,valueMax:m.value,bypass:n}}}if(h.multiple&&"multiple"!==r){var y;if(y=c?t.split(/\s+/):wYe(t)?t:[t],h.evenMultiple&&y.length%2!=0)return null;for(var v=[],w=[],x=[],k="",S=!1,E=0;E<y.length;E++){var _=i.parse(e,y[E],n,"multiple");S=S||yYe(_.value),v.push(_.value),x.push(null!=_.pfValue?_.pfValue:_.value),w.push(_.units),k+=(E>0?" ":"")+_.strValue}return h.validate&&!h.validate(v,w)?null:h.singleEnum&&S?1===v.length&&yYe(v[0])?{name:e,value:v[0],strValue:v[0],bypass:n}:null:{name:e,value:v,pfValue:x,strValue:k,bypass:n,units:w}}var A,T=function(){for(var r=0;r<h.enums.length;r++){if(h.enums[r]===t)return{name:e,value:t,strValue:""+t,bypass:n}}return null};if(h.number){var C,O="px";if(h.units&&(C=h.units),h.implicitUnits&&(O=h.implicitUnits),!h.unitless)if(c){var D="px|em"+(h.allowPercent?"|\\%":"");C&&(D=C);var M=t.match("^("+RYe+")("+D+")?$");M&&(t=M[1],C=M[2]||O)}else C&&!h.implicitUnits||(C=O);if(t=parseFloat(t),isNaN(t)&&void 0===h.enums)return null;if(isNaN(t)&&void 0!==h.enums)return t=o,T();if(h.integer&&(!kYe(A=t)||Math.floor(A)!==A))return null;if(void 0!==h.min&&(t<h.min||h.strictMin&&t===h.min)||void 0!==h.max&&(t>h.max||h.strictMax&&t===h.max))return null;var I={name:e,value:t,strValue:""+t+(C||""),units:C,bypass:n};return h.unitless||"px"!==C&&"em"!==C?I.pfValue=t:I.pfValue="px"!==C&&C?this.getEmSizeInPixels()*t:t,"ms"!==C&&"s"!==C||(I.pfValue="ms"===C?t:1e3*t),"deg"!==C&&"rad"!==C||(I.pfValue="rad"===C?t:function(e){return Math.PI*e/180}(t)),"%"===C&&(I.pfValue=t/100),I}if(h.propList){var P=[],N=""+t;if("none"===N);else{for(var L=N.split(/\s*,\s*|\s+/),R=0;R<L.length;R++){var j=L[R].trim();i.properties[j]?P.push(j):KXe("`"+j+"` is not a valid property name")}if(0===P.length)return null}return{name:e,value:P,strValue:0===P.length?"none":P.join(" "),bypass:n}}if(h.color){var B=HYe(t);return B?{name:e,value:B,pfValue:B,strValue:"rgb("+B[0]+","+B[1]+","+B[2]+")",bypass:n}:null}if(h.regex||h.regexes){if(h.enums){var F=T();if(F)return F}for(var z=h.regexes?h.regexes:[h.regex],$=0;$<z.length;$++){var q=new RegExp(z[$]).exec(t);if(q)return{name:e,value:h.singleRegexMatchValue?q[1]:q,strValue:""+t,bypass:n}}return null}return h.string?{name:e,value:""+t,strValue:""+t,bypass:n}:h.enums?T():null};var X3e=function e(t){if(!(this instanceof e))return new e(t);TYe(t)?(this._private={cy:t,coreStyle:{}},this.length=0,this.resetToDefault()):WXe("A style must have a core reference")},Z3e=X3e.prototype;Z3e.instanceString=function(){return"style"},Z3e.clear=function(){for(var e=this._private,t=e.cy.elements(),n=0;n<this.length;n++)this[n]=void 0;return this.length=0,e.contextStyles={},e.propDiffs={},this.cleanElements(t,!0),t.forEach((function(e){var t=e[0]._private;t.styleDirty=!0,t.appliedInitStyle=!1})),this},Z3e.resetToDefault=function(){return this.clear(),this.addDefaultStylesheet(),this},Z3e.core=function(e){return this._private.coreStyle[e]||this.getDefaultProperty(e)},Z3e.selector=function(e){var t="core"===e?null:new F0e(e),n=this.length++;return this[n]={selector:t,properties:[],mappedProperties:[],index:n},this},Z3e.css=function(){var e=arguments;if(1===e.length)for(var t=e[0],n=0;n<this.properties.length;n++){var r=this.properties[n],i=t[r.name];void 0===i&&(i=t[PYe(r.name)]),void 0!==i&&this.cssRule(r.name,i)}else 2===e.length&&this.cssRule(e[0],e[1]);return this},Z3e.style=Z3e.css,Z3e.cssRule=function(e,t){var n=this.parse(e,t);if(n){var r=this.length-1;this[r].properties.push(n),this[r].properties[n.name]=n,n.name.match(/pie-(\d+)-background-size/)&&n.value&&(this._private.hasPie=!0),n.mapped&&this[r].mappedProperties.push(n),!this[r].selector&&(this._private.coreStyle[n.name]=n)}return this},Z3e.append=function(e){return CYe(e)?e.appendToStyle(this):wYe(e)?this.appendFromJson(e):yYe(e)&&this.appendFromString(e),this},X3e.fromJson=function(e,t){var n=new X3e(e);return n.fromJson(t),n},X3e.fromString=function(e,t){return new X3e(e).fromString(t)},[$3e,H3e,U3e,V3e,W3e,G3e,K3e,Y3e].forEach((function(e){qYe(Z3e,e)})),X3e.types=Z3e.types,X3e.properties=Z3e.properties,X3e.propertyGroups=Z3e.propertyGroups,X3e.propertyGroupNames=Z3e.propertyGroupNames,X3e.propertyGroupKeys=Z3e.propertyGroupKeys;var Q3e={style:function(e){e&&this.setStyle(e).update();return this._private.style},setStyle:function(e){var t=this._private;return CYe(e)?t.style=e.generateStyle(this):wYe(e)?t.style=X3e.fromJson(this,e):yYe(e)?t.style=X3e.fromString(this,e):t.style=X3e(this),t.style},updateStyle:function(){this.mutableElements().updateStyle()}},J3e={autolock:function(e){return void 0===e?this._private.autolock:(this._private.autolock=!!e,this)},autoungrabify:function(e){return void 0===e?this._private.autoungrabify:(this._private.autoungrabify=!!e,this)},autounselectify:function(e){return void 0===e?this._private.autounselectify:(this._private.autounselectify=!!e,this)},selectionType:function(e){var t=this._private;return null==t.selectionType&&(t.selectionType="single"),void 0===e?t.selectionType:("additive"!==e&&"single"!==e||(t.selectionType=e),this)},panningEnabled:function(e){return void 0===e?this._private.panningEnabled:(this._private.panningEnabled=!!e,this)},userPanningEnabled:function(e){return void 0===e?this._private.userPanningEnabled:(this._private.userPanningEnabled=!!e,this)},zoomingEnabled:function(e){return void 0===e?this._private.zoomingEnabled:(this._private.zoomingEnabled=!!e,this)},userZoomingEnabled:function(e){return void 0===e?this._private.userZoomingEnabled:(this._private.userZoomingEnabled=!!e,this)},boxSelectionEnabled:function(e){return void 0===e?this._private.boxSelectionEnabled:(this._private.boxSelectionEnabled=!!e,this)},pan:function(){var e,t,n,r,i,a=arguments,o=this._private.pan;switch(a.length){case 0:return o;case 1:if(yYe(a[0]))return o[e=a[0]];if(xYe(a[0])){if(!this._private.panningEnabled)return this;r=(n=a[0]).x,i=n.y,kYe(r)&&(o.x=r),kYe(i)&&(o.y=i),this.emit("pan viewport")}break;case 2:if(!this._private.panningEnabled)return this;t=a[1],"x"!==(e=a[0])&&"y"!==e||!kYe(t)||(o[e]=t),this.emit("pan viewport")}return this.notify("viewport"),this},panBy:function(e,t){var n,r,i,a,o,s=arguments,c=this._private.pan;if(!this._private.panningEnabled)return this;switch(s.length){case 1:xYe(e)&&(a=(i=s[0]).x,o=i.y,kYe(a)&&(c.x+=a),kYe(o)&&(c.y+=o),this.emit("pan viewport"));break;case 2:r=t,"x"!==(n=e)&&"y"!==n||!kYe(r)||(c[n]+=r),this.emit("pan viewport")}return this.notify("viewport"),this},fit:function(e,t){var n=this.getFitViewport(e,t);if(n){var r=this._private;r.zoom=n.zoom,r.pan=n.pan,this.emit("pan zoom viewport"),this.notify("viewport")}return this},getFitViewport:function(e,t){if(kYe(e)&&void 0===t&&(t=e,e=void 0),this._private.panningEnabled&&this._private.zoomingEnabled){var n,r;if(yYe(e)){var i=e;e=this.$(i)}else if(xYe(r=e)&&kYe(r.x1)&&kYe(r.x2)&&kYe(r.y1)&&kYe(r.y2)){var a=e;(n={x1:a.x1,y1:a.y1,x2:a.x2,y2:a.y2}).w=n.x2-n.x1,n.h=n.y2-n.y1}else EYe(e)||(e=this.mutableElements());if(!EYe(e)||!e.empty()){n=n||e.boundingBox();var o,s=this.width(),c=this.height();if(t=kYe(t)?t:0,!isNaN(s)&&!isNaN(c)&&s>0&&c>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0)return{zoom:o=(o=(o=Math.min((s-2*t)/n.w,(c-2*t)/n.h))>this._private.maxZoom?this._private.maxZoom:o)<this._private.minZoom?this._private.minZoom:o,pan:{x:(s-o*(n.x1+n.x2))/2,y:(c-o*(n.y1+n.y2))/2}}}}},zoomRange:function(e,t){var n=this._private;if(null==t){var r=e;e=r.min,t=r.max}return kYe(e)&&kYe(t)&&e<=t?(n.minZoom=e,n.maxZoom=t):kYe(e)&&void 0===t&&e<=n.maxZoom?n.minZoom=e:kYe(t)&&void 0===e&&t>=n.minZoom&&(n.maxZoom=t),this},minZoom:function(e){return void 0===e?this._private.minZoom:this.zoomRange({min:e})},maxZoom:function(e){return void 0===e?this._private.maxZoom:this.zoomRange({max:e})},getZoomedViewport:function(e){var t,n,r=this._private,i=r.pan,a=r.zoom,o=!1;if(r.zoomingEnabled||(o=!0),kYe(e)?n=e:xYe(e)&&(n=e.level,null!=e.position?t=_Ze(e.position,a,i):null!=e.renderedPosition&&(t=e.renderedPosition),null==t||r.panningEnabled||(o=!0)),n=(n=n>r.maxZoom?r.maxZoom:n)<r.minZoom?r.minZoom:n,o||!kYe(n)||n===a||null!=t&&(!kYe(t.x)||!kYe(t.y)))return null;if(null!=t){var s=i,c=a,l=n;return{zoomed:!0,panned:!0,zoom:l,pan:{x:-l/c*(t.x-s.x)+t.x,y:-l/c*(t.y-s.y)+t.y}}}return{zoomed:!0,panned:!1,zoom:n,pan:i}},zoom:function(e){if(void 0===e)return this._private.zoom;var t=this.getZoomedViewport(e),n=this._private;return null!=t&&t.zoomed?(n.zoom=t.zoom,t.panned&&(n.pan.x=t.pan.x,n.pan.y=t.pan.y),this.emit("zoom"+(t.panned?" pan":"")+" viewport"),this.notify("viewport"),this):this},viewport:function(e){var t=this._private,n=!0,r=!0,i=[],a=!1,o=!1;if(!e)return this;if(kYe(e.zoom)||(n=!1),xYe(e.pan)||(r=!1),!n&&!r)return this;if(n){var s=e.zoom;s<t.minZoom||s>t.maxZoom||!t.zoomingEnabled?a=!0:(t.zoom=s,i.push("zoom"))}if(r&&(!a||!e.cancelOnFailedZoom)&&t.panningEnabled){var c=e.pan;kYe(c.x)&&(t.pan.x=c.x,o=!1),kYe(c.y)&&(t.pan.y=c.y,o=!1),o||i.push("pan")}return i.length>0&&(i.push("viewport"),this.emit(i.join(" ")),this.notify("viewport")),this},center:function(e){var t=this.getCenterPan(e);return t&&(this._private.pan=t,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(e,t){if(this._private.panningEnabled){if(yYe(e)){var n=e;e=this.mutableElements().filter(n)}else EYe(e)||(e=this.mutableElements());if(0!==e.length){var r=e.boundingBox(),i=this.width(),a=this.height();return{x:(i-(t=void 0===t?this._private.zoom:t)*(r.x1+r.x2))/2,y:(a-t*(r.y1+r.y2))/2}}}},reset:function(){return this._private.panningEnabled&&this._private.zoomingEnabled?(this.viewport({pan:{x:0,y:0},zoom:1}),this):this},invalidateSize:function(){this._private.sizeCache=null},size:function(){var e,t,n=this._private,r=n.container,i=this;return n.sizeCache=n.sizeCache||(r?(e=i.window().getComputedStyle(r),t=function(t){return parseFloat(e.getPropertyValue(t))},{width:r.clientWidth-t("padding-left")-t("padding-right"),height:r.clientHeight-t("padding-top")-t("padding-bottom")}):{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var e=this._private.pan,t=this._private.zoom,n=this.renderedExtent(),r={x1:(n.x1-e.x)/t,x2:(n.x2-e.x)/t,y1:(n.y1-e.y)/t,y2:(n.y2-e.y)/t};return r.w=r.x2-r.x1,r.h=r.y2-r.y1,r},renderedExtent:function(){var e=this.width(),t=this.height();return{x1:0,y1:0,x2:e,y2:t,w:e,h:t}},multiClickDebounceTime:function(e){return e?(this._private.multiClickDebounceTime=e,this):this._private.multiClickDebounceTime}};J3e.centre=J3e.center,J3e.autolockNodes=J3e.autolock,J3e.autoungrabifyNodes=J3e.autoungrabify;var e4e={data:t0e.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:t0e.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:t0e.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:t0e.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};e4e.attr=e4e.data,e4e.removeAttr=e4e.removeData;var t4e=function(e){var t=this,n=(e=qYe({},e)).container;n&&!SYe(n)&&SYe(n[0])&&(n=n[0]);var r=n?n._cyreg:null;(r=r||{})&&r.cy&&(r.cy.destroy(),r={});var i=r.readies=r.readies||[];n&&(n._cyreg=r),r.cy=t;var a=void 0!==hYe&&void 0!==n&&!e.headless,o=e;o.layout=qYe({name:a?"grid":"null"},o.layout),o.renderer=qYe({name:a?"canvas":"null"},o.renderer);var s=function(e,t,n){return void 0!==t?t:void 0!==n?n:e},c=this._private={container:n,ready:!1,options:o,elements:new b3e(this),listeners:[],aniEles:new b3e(this),data:o.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:s(!0,o.zoomingEnabled),userZoomingEnabled:s(!0,o.userZoomingEnabled),panningEnabled:s(!0,o.panningEnabled),userPanningEnabled:s(!0,o.userPanningEnabled),boxSelectionEnabled:s(!0,o.boxSelectionEnabled),autolock:s(!1,o.autolock,o.autolockNodes),autoungrabify:s(!1,o.autoungrabify,o.autoungrabifyNodes),autounselectify:s(!1,o.autounselectify),styleEnabled:void 0===o.styleEnabled?a:o.styleEnabled,zoom:kYe(o.zoom)?o.zoom:1,pan:{x:xYe(o.pan)&&kYe(o.pan.x)?o.pan.x:0,y:xYe(o.pan)&&kYe(o.pan.y)?o.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:s(250,o.multiClickDebounceTime)};this.createEmitter(),this.selectionType(o.selectionType),this.zoomRange({min:o.minZoom,max:o.maxZoom});c.styleEnabled&&t.setStyle([]);var l=qYe({},o,o.renderer);t.initRenderer(l);!function(e,t){if(e.some(DYe))return TJe.all(e).then(t);t(e)}([o.style,o.elements],(function(e){var n=e[0],a=e[1];c.styleEnabled&&t.style().append(n),function(e,n,r){t.notifications(!1);var i=t.mutableElements();i.length>0&&i.remove(),null!=e&&(xYe(e)||wYe(e))&&t.add(e),t.one("layoutready",(function(e){t.notifications(!0),t.emit(e),t.one("load",n),t.emitAndNotify("load")})).one("layoutstop",(function(){t.one("done",r),t.emit("done")}));var a=qYe({},t._private.options.layout);a.eles=t.elements(),t.layout(a).run()}(a,(function(){t.startAnimationLoop(),c.ready=!0,vYe(o.ready)&&t.on("ready",o.ready);for(var e=0;e<i.length;e++){var n=i[e];t.on("ready",n)}r&&(r.readies=[]),t.emit("ready")}),o.done)}))},n4e=t4e.prototype;qYe(n4e,{instanceString:function(){return"core"},isReady:function(){return this._private.ready},destroyed:function(){return this._private.destroyed},ready:function(e){return this.isReady()?this.emitter().emit("ready",[],e):this.on("ready",e),this},destroy:function(){var e=this;if(!e.destroyed())return e.stopAnimationLoop(),e.destroyRenderer(),this.emit("destroy"),e._private.destroyed=!0,e},hasElementWithId:function(e){return this._private.elements.hasElementWithId(e)},getElementById:function(e){return this._private.elements.getElementById(e)},hasCompoundNodes:function(){return this._private.hasCompoundNodes},headless:function(){return this._private.renderer.isHeadless()},styleEnabled:function(){return this._private.styleEnabled},addToPool:function(e){return this._private.elements.merge(e),this},removeFromPool:function(e){return this._private.elements.unmerge(e),this},container:function(){return this._private.container||null},window:function(){if(null==this._private.container)return hYe;var e=this._private.container.ownerDocument;return void 0===e||null==e?hYe:e.defaultView||hYe},mount:function(e){if(null!=e){var t=this,n=t._private,r=n.options;return!SYe(e)&&SYe(e[0])&&(e=e[0]),t.stopAnimationLoop(),t.destroyRenderer(),n.container=e,n.styleEnabled=!0,t.invalidateSize(),t.initRenderer(qYe({},r,r.renderer,{name:"null"===r.renderer.name?"canvas":r.renderer.name})),t.startAnimationLoop(),t.style(r.style),t.emit("mount"),t}},unmount:function(){var e=this;return e.stopAnimationLoop(),e.destroyRenderer(),e.initRenderer({name:"null"}),e.emit("unmount"),e},options:function(){return YXe(this._private.options)},json:function(e){var t=this,n=t._private,r=t.mutableElements();if(xYe(e)){if(t.startBatch(),e.elements){var i={},a=function(e,n){for(var r=[],a=[],o=0;o<e.length;o++){var s=e[o];if(s.data.id){var c=""+s.data.id,l=t.getElementById(c);i[c]=!0,0!==l.length?a.push({ele:l,json:s}):n?(s.group=n,r.push(s)):r.push(s)}else KXe("cy.json() cannot handle elements without an ID attribute")}t.add(r);for(var u=0;u<a.length;u++){var h=a[u],d=h.ele,f=h.json;d.json(f)}};if(wYe(e.elements))a(e.elements);else for(var o=["nodes","edges"],s=0;s<o.length;s++){var c=o[s],l=e.elements[c];wYe(l)&&a(l,c)}var u=t.collection();r.filter((function(e){return!i[e.id()]})).forEach((function(e){e.isParent()?u.merge(e):e.remove()})),u.forEach((function(e){return e.children().move({parent:null})})),u.forEach((function(e){return function(e){return t.getElementById(e.id())}(e).remove()}))}e.style&&t.style(e.style),null!=e.zoom&&e.zoom!==n.zoom&&t.zoom(e.zoom),e.pan&&(e.pan.x===n.pan.x&&e.pan.y===n.pan.y||t.pan(e.pan)),e.data&&t.data(e.data);for(var h=["minZoom","maxZoom","zoomingEnabled","userZoomingEnabled","panningEnabled","userPanningEnabled","boxSelectionEnabled","autolock","autoungrabify","autounselectify","multiClickDebounceTime"],d=0;d<h.length;d++){var f=h[d];null!=e[f]&&t[f](e[f])}return t.endBatch(),this}var p={};!!e?p.elements=this.elements().map((function(e){return e.json()})):(p.elements={},r.forEach((function(e){var t=e.group();p.elements[t]||(p.elements[t]=[]),p.elements[t].push(e.json())}))),this._private.styleEnabled&&(p.style=t.style().json()),p.data=YXe(t.data());var m=n.options;return p.zoomingEnabled=n.zoomingEnabled,p.userZoomingEnabled=n.userZoomingEnabled,p.zoom=n.zoom,p.minZoom=n.minZoom,p.maxZoom=n.maxZoom,p.panningEnabled=n.panningEnabled,p.userPanningEnabled=n.userPanningEnabled,p.pan=YXe(n.pan),p.boxSelectionEnabled=n.boxSelectionEnabled,p.renderer=YXe(m.renderer),p.hideEdgesOnViewport=m.hideEdgesOnViewport,p.textureOnViewport=m.textureOnViewport,p.wheelSensitivity=m.wheelSensitivity,p.motionBlur=m.motionBlur,p.multiClickDebounceTime=m.multiClickDebounceTime,p}}),n4e.$id=n4e.getElementById,[v3e,M3e,N3e,L3e,R3e,j3e,F3e,z3e,Q3e,J3e,e4e].forEach((function(e){qYe(n4e,e)}));var r4e={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(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}},i4e={maximal:!1,acyclic:!1},a4e=function(e){return e.scratch("breadthfirst")},o4e=function(e,t){return e.scratch("breadthfirst",t)};function s4e(e){this.options=qYe({},r4e,i4e,e)}s4e.prototype.run=function(){var e,t=this.options,n=t,r=t.cy,i=n.eles,a=i.nodes().filter((function(e){return!e.isParent()})),o=i,s=n.directed,c=n.acyclic||n.maximal||n.maximalAdjustments>0,l=jZe(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(EYe(n.roots))e=n.roots;else if(wYe(n.roots)){for(var u=[],h=0;h<n.roots.length;h++){var d=n.roots[h],f=r.getElementById(d);u.push(f)}e=r.collection(u)}else if(yYe(n.roots))e=r.$(n.roots);else if(s)e=a.roots();else{var p=i.components();e=r.collection();for(var m=function(t){var n=p[t],r=n.maxDegree(!1),i=n.filter((function(e){return e.degree(!1)===r}));e=e.add(i)},g=0;g<p.length;g++)m(g)}var b=[],y={},v=function(e,t){null==b[t]&&(b[t]=[]);var n=b[t].length;b[t].push(e),o4e(e,{index:n,depth:t})};o.bfs({roots:e,directed:n.directed,visit:function(e,t,n,r,i){var a=e[0],o=a.id();v(a,i),y[o]=!0}});for(var w=[],x=0;x<a.length;x++){var k=a[x];y[k.id()]||w.push(k)}var S=function(e){for(var t=b[e],n=0;n<t.length;n++){var r=t[n];null!=r?o4e(r,{depth:e,index:n}):(t.splice(n,1),n--)}},E=function(){for(var e=0;e<b.length;e++)S(e)},_=function(e,t){for(var r=a4e(e),a=e.incomers().filter((function(e){return e.isNode()&&i.has(e)})),o=-1,s=e.id(),c=0;c<a.length;c++){var l=a[c],u=a4e(l);o=Math.max(o,u.depth)}if(r.depth<=o){if(!n.acyclic&&t[s])return null;var h=o+1;return function(e,t){var n=a4e(e),r=n.depth,i=n.index;b[r][i]=null,v(e,t)}(e,h),t[s]=h,!0}return!1};if(s&&c){var A=[],T={},C=function(e){return A.push(e)};for(a.forEach((function(e){return A.push(e)}));A.length>0;){var O=A.shift(),D=_(O,T);if(D)O.outgoers().filter((function(e){return e.isNode()&&i.has(e)})).forEach(C);else if(null===D){KXe("Detected double maximal shift for node `"+O.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}E();var M=0;if(n.avoidOverlap)for(var I=0;I<a.length;I++){var P=a[I].layoutDimensions(n),N=P.w,L=P.h;M=Math.max(M,N,L)}var R={},j=function(e){if(R[e.id()])return R[e.id()];for(var t=a4e(e).depth,n=e.neighborhood(),r=0,i=0,o=0;o<n.length;o++){var s=n[o];if(!s.isEdge()&&!s.isParent()&&a.has(s)){var c=a4e(s);if(null!=c){var l=c.index,u=c.depth;if(null!=l&&null!=u){var h=b[u].length;u<t&&(r+=l/h,i++)}}}}return r/=i=Math.max(1,i),0===i&&(r=0),R[e.id()]=r,r},B=function(e,t){var n=j(e)-j(t);return 0===n?$Ye(e.id(),t.id()):n};void 0!==n.depthSort&&(B=n.depthSort);for(var F=0;F<b.length;F++)b[F].sort(B),S(F);for(var z=[],$=0;$<w.length;$++)z.push(w[$]);b.unshift(z),E();for(var q=0,H=0;H<b.length;H++)q=Math.max(b[H].length,q);var U=l.x1+l.w/2,V=l.x1+l.h/2,W=b.reduce((function(e,t){return Math.max(e,t.length)}),0);return i.nodes().layoutPositions(this,n,(function(e){var t=a4e(e),r=t.depth,i=t.index,a=b[r].length,o=Math.max(l.w/((n.grid?W:a)+1),M),s=Math.max(l.h/(b.length+1),M),c=Math.min(l.w/2/b.length,l.h/2/b.length);if(c=Math.max(c,M),n.circle){var u=c*r+c-(b.length>0&&b[0].length<=3?c/2:0),h=2*Math.PI/b[r].length*i;return 0===r&&1===b[0].length&&(u=1),{x:U+u*Math.cos(h),y:V+u*Math.sin(h)}}return{x:U+(i+1-(a+1)/2)*o,y:(r+1)*s}})),this};var c4e={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(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function l4e(e){this.options=qYe({},c4e,e)}l4e.prototype.run=function(){var e=this.options,t=e,n=e.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=jZe(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),c=s.x1+s.w/2,l=s.y1+s.h/2,u=(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),p=f.w,m=f.h;h=Math.max(h,p,m)}if(o=kYe(t.radius)?t.radius:a.length<=1?0:Math.min(s.h,s.w)/2-h,a.length>1&&t.avoidOverlap){h*=1.75;var g=Math.cos(u)-Math.cos(0),b=Math.sin(u)-Math.sin(0),y=Math.sqrt(h*h/(g*g+b*b));o=Math.max(y,o)}return r.nodes().layoutPositions(this,t,(function(e,n){var r=t.startAngle+n*u*(i?1:-1),a=o*Math.cos(r),s=o*Math.sin(r);return{x:c+a,y:l+s}})),this};var u4e,h4e={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(e){return e.degree()},levelWidth:function(e){return e.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function d4e(e){this.options=qYe({},h4e,e)}d4e.prototype.run=function(){for(var e=this.options,t=e,n=void 0!==t.counterclockwise?!t.counterclockwise:t.clockwise,r=e.cy,i=t.eles,a=i.nodes().not(":parent"),o=jZe(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),s=o.x1+o.w/2,c=o.y1+o.h/2,l=[],u=0,h=0;h<a.length;h++){var d,f=a[h];d=t.concentric(f),l.push({value:d,node:f}),f._private.scratch.concentric=d}a.updateStyle();for(var p=0;p<a.length;p++){var m=a[p].layoutDimensions(t);u=Math.max(u,m.w,m.h)}l.sort((function(e,t){return t.value-e.value}));for(var g=t.levelWidth(a),b=[[]],y=b[0],v=0;v<l.length;v++){var w=l[v];if(y.length>0)Math.abs(y[0].value-w.value)>=g&&(y=[],b.push(y));y.push(w)}var x=u+t.minNodeSpacing;if(!t.avoidOverlap){var k=b.length>0&&b[0].length>1,S=(Math.min(o.w,o.h)/2-x)/(b.length+k?1:0);x=Math.min(x,S)}for(var E=0,_=0;_<b.length;_++){var A=b[_],T=void 0===t.sweep?2*Math.PI-2*Math.PI/A.length:t.sweep,C=A.dTheta=T/Math.max(1,A.length-1);if(A.length>1&&t.avoidOverlap){var O=Math.cos(C)-Math.cos(0),D=Math.sin(C)-Math.sin(0),M=Math.sqrt(x*x/(O*O+D*D));E=Math.max(M,E)}A.r=E,E+=x}if(t.equidistant){for(var I=0,P=0,N=0;N<b.length;N++){var L=b[N].r-P;I=Math.max(I,L)}P=0;for(var R=0;R<b.length;R++){var j=b[R];0===R&&(P=j.r),j.r=P,P+=I}}for(var B={},F=0;F<b.length;F++)for(var z=b[F],$=z.dTheta,q=z.r,H=0;H<z.length;H++){var U=z[H],V=t.startAngle+(n?1:-1)*$*H,W={x:s+q*Math.cos(V),y:c+q*Math.sin(V)};B[U.node.id()]=W}return i.nodes().layoutPositions(this,t,(function(e){var t=e.id();return B[t]})),this};var f4e={ready:function(){},stop:function(){},animate:!0,animationEasing:void 0,animationDuration:void 0,animateFilter:function(e,t){return!0},animationThreshold:250,refresh:20,fit:!0,padding:30,boundingBox:void 0,nodeDimensionsIncludeLabels:!1,randomize:!1,componentSpacing:40,nodeRepulsion:function(e){return 2048},nodeOverlap:4,idealEdgeLength:function(e){return 32},edgeElasticity:function(e){return 32},nestingFactor:1.2,gravity:1,numIter:1e3,initialTemp:1e3,coolingFactor:.99,minTemp:1};function p4e(e){this.options=qYe({},f4e,e),this.options.layout=this;var t=this.options.eles.nodes(),n=this.options.eles.edges().filter((function(e){var n=e.source().data("id"),r=e.target().data("id"),i=t.some((function(e){return e.data("id")===n})),a=t.some((function(e){return e.data("id")===r}));return!i||!a}));this.options.eles=this.options.eles.not(n)}p4e.prototype.run=function(){var e=this.options,t=e.cy,n=this;n.stopped=!1,!0!==e.animate&&!1!==e.animate||n.emit({type:"layoutstart",layout:n}),u4e=!0===e.debug;var r=m4e(t,n,e);u4e&&undefined(r),e.randomize&&y4e(r);var i=TXe(),a=function(){w4e(r,t,e),!0===e.fit&&t.fit(e.padding)},o=function(t){return!(n.stopped||t>=e.numIter)&&(x4e(r,e),r.temperature=r.temperature*e.coolingFactor,!(r.temperature<e.minTemp))},s=function(){if(!0===e.animate||!1===e.animate)a(),n.one("layoutstop",e.stop),n.emit({type:"layoutstop",layout:n});else{var t=e.eles.nodes(),i=v4e(r,e,t);t.layoutPositions(n,e,i)}},c=0,l=!0;if(!0===e.animate){!function t(){for(var n=0;l&&n<e.refresh;)l=o(c),c++,n++;l?(TXe()-i>=e.animationThreshold&&a(),AXe(t)):(P4e(r,e),s())}()}else{for(;l;)l=o(c),c++;P4e(r,e),s()}return this},p4e.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this},p4e.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var m4e=function(e,t,n){for(var r=n.eles.edges(),i=n.eles.nodes(),a=jZe(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),o={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:i.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:r.size(),temperature:n.initialTemp,clientWidth:a.w,clientHeight:a.h,boundingBox:a},s=n.eles.components(),c={},l=0;l<s.length;l++)for(var u=s[l],h=0;h<u.length;h++){c[u[h].id()]=l}for(l=0;l<o.nodeSize;l++){var d=(b=i[l]).layoutDimensions(n);(P={}).isLocked=b.locked(),P.id=b.data("id"),P.parentId=b.data("parent"),P.cmptId=c[b.id()],P.children=[],P.positionX=b.position("x"),P.positionY=b.position("y"),P.offsetX=0,P.offsetY=0,P.height=d.w,P.width=d.h,P.maxX=P.positionX+P.width/2,P.minX=P.positionX-P.width/2,P.maxY=P.positionY+P.height/2,P.minY=P.positionY-P.height/2,P.padLeft=parseFloat(b.style("padding")),P.padRight=parseFloat(b.style("padding")),P.padTop=parseFloat(b.style("padding")),P.padBottom=parseFloat(b.style("padding")),P.nodeRepulsion=vYe(n.nodeRepulsion)?n.nodeRepulsion(b):n.nodeRepulsion,o.layoutNodes.push(P),o.idToIndex[P.id]=l}var f=[],p=0,m=-1,g=[];for(l=0;l<o.nodeSize;l++){var b,y=(b=o.layoutNodes[l]).parentId;null!=y?o.layoutNodes[o.idToIndex[y]].children.push(b.id):(f[++m]=b.id,g.push(b.id))}for(o.graphSet.push(g);p<=m;){var v=f[p++],w=o.idToIndex[v],x=o.layoutNodes[w].children;if(x.length>0){o.graphSet.push(x);for(l=0;l<x.length;l++)f[++m]=x[l]}}for(l=0;l<o.graphSet.length;l++){var k=o.graphSet[l];for(h=0;h<k.length;h++){var S=o.idToIndex[k[h]];o.indexToGraph[S]=l}}for(l=0;l<o.edgeSize;l++){var E=r[l],_={};_.id=E.data("id"),_.sourceId=E.data("source"),_.targetId=E.data("target");var A=vYe(n.idealEdgeLength)?n.idealEdgeLength(E):n.idealEdgeLength,T=vYe(n.edgeElasticity)?n.edgeElasticity(E):n.edgeElasticity,C=o.idToIndex[_.sourceId],O=o.idToIndex[_.targetId];if(o.indexToGraph[C]!=o.indexToGraph[O]){for(var D=g4e(_.sourceId,_.targetId,o),M=o.graphSet[D],I=0,P=o.layoutNodes[C];-1===M.indexOf(P.id);)P=o.layoutNodes[o.idToIndex[P.parentId]],I++;for(P=o.layoutNodes[O];-1===M.indexOf(P.id);)P=o.layoutNodes[o.idToIndex[P.parentId]],I++;A*=I*n.nestingFactor}_.idealLength=A,_.elasticity=T,o.layoutEdges.push(_)}return o},g4e=function(e,t,n){var r=b4e(e,t,0,n);return 2>r.count?0:r.graph},b4e=function e(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 c=a[s],l=i.idToIndex[c],u=i.layoutNodes[l].children;if(0!==u.length){var h=e(t,n,i.indexToGraph[i.idToIndex[u[0]]],i);if(0!==h.count){if(1!==h.count)return h;if(2===++o)break}}}return{count:o,graph:r}},y4e=function(e,t){for(var n=e.clientWidth,r=e.clientHeight,i=0;i<e.nodeSize;i++){var a=e.layoutNodes[i];0!==a.children.length||a.isLocked||(a.positionX=Math.random()*n,a.positionY=Math.random()*r)}},v4e=function(e,t,n){var r=e.boundingBox,i={x1:1/0,x2:-1/0,y1:1/0,y2:-1/0};return t.boundingBox&&(n.forEach((function(t){var n=e.layoutNodes[e.idToIndex[t.data("id")]];i.x1=Math.min(i.x1,n.positionX),i.x2=Math.max(i.x2,n.positionX),i.y1=Math.min(i.y1,n.positionY),i.y2=Math.max(i.y2,n.positionY)})),i.w=i.x2-i.x1,i.h=i.y2-i.y1),function(n,a){var o=e.layoutNodes[e.idToIndex[n.data("id")]];if(t.boundingBox){var s=(o.positionX-i.x1)/i.w,c=(o.positionY-i.y1)/i.h;return{x:r.x1+s*r.w,y:r.y1+c*r.h}}return{x:o.positionX,y:o.positionY}}},w4e=function(e,t,n){var r=n.layout,i=n.eles.nodes(),a=v4e(e,n,i);i.positions(a),!0!==e.ready&&(e.ready=!0,r.one("layoutready",n.ready),r.emit({type:"layoutready",layout:this}))},x4e=function(e,t,n){k4e(e,t),T4e(e),C4e(e,t),O4e(e),D4e(e)},k4e=function(e,t){for(var n=0;n<e.graphSet.length;n++)for(var r=e.graphSet[n],i=r.length,a=0;a<i;a++)for(var o=e.layoutNodes[e.idToIndex[r[a]]],s=a+1;s<i;s++){var c=e.layoutNodes[e.idToIndex[r[s]]];E4e(o,c,e,t)}},S4e=function(e){return-e+2*e*Math.random()},E4e=function(e,t,n,r){if(e.cmptId===t.cmptId||n.isCompound){var i=t.positionX-e.positionX,a=t.positionY-e.positionY;0===i&&0===a&&(i=S4e(1),a=S4e(1));var o=_4e(e,t,i,a);if(o>0)var s=(l=r.nodeOverlap*o)*i/(m=Math.sqrt(i*i+a*a)),c=l*a/m;else{var l,u=A4e(e,i,a),h=A4e(t,-1*i,-1*a),d=h.x-u.x,f=h.y-u.y,p=d*d+f*f,m=Math.sqrt(p);s=(l=(e.nodeRepulsion+t.nodeRepulsion)/p)*d/m,c=l*f/m}e.isLocked||(e.offsetX-=s,e.offsetY-=c),t.isLocked||(t.offsetX+=s,t.offsetY+=c)}},_4e=function(e,t,n,r){if(n>0)var i=e.maxX-t.minX;else i=t.maxX-e.minX;if(r>0)var a=e.maxY-t.minY;else a=t.maxY-e.minY;return i>=0&&a>=0?Math.sqrt(i*i+a*a):0},A4e=function(e,t,n){var r=e.positionX,i=e.positionY,a=e.height||1,o=e.width||1,s=n/t,c=a/o,l={};return 0===t&&0<n||0===t&&0>n?(l.x=r,l.y=i+a/2,l):0<t&&-1*c<=s&&s<=c?(l.x=r+o/2,l.y=i+o*n/2/t,l):0>t&&-1*c<=s&&s<=c?(l.x=r-o/2,l.y=i-o*n/2/t,l):0<n&&(s<=-1*c||s>=c)?(l.x=r+a*t/2/n,l.y=i+a/2,l):0>n&&(s<=-1*c||s>=c)?(l.x=r-a*t/2/n,l.y=i-a/2,l):l},T4e=function(e,t){for(var n=0;n<e.edgeSize;n++){var r=e.layoutEdges[n],i=e.idToIndex[r.sourceId],a=e.layoutNodes[i],o=e.idToIndex[r.targetId],s=e.layoutNodes[o],c=s.positionX-a.positionX,l=s.positionY-a.positionY;if(0!==c||0!==l){var u=A4e(a,c,l),h=A4e(s,-1*c,-1*l),d=h.x-u.x,f=h.y-u.y,p=Math.sqrt(d*d+f*f),m=Math.pow(r.idealLength-p,2)/r.elasticity;if(0!==p)var g=m*d/p,b=m*f/p;else g=0,b=0;a.isLocked||(a.offsetX+=g,a.offsetY+=b),s.isLocked||(s.offsetX-=g,s.offsetY-=b)}}},C4e=function(e,t){if(0!==t.gravity)for(var n=0;n<e.graphSet.length;n++){var r=e.graphSet[n],i=r.length;if(0===n)var a=e.clientHeight/2,o=e.clientWidth/2;else{var s=e.layoutNodes[e.idToIndex[r[0]]],c=e.layoutNodes[e.idToIndex[s.parentId]];a=c.positionX,o=c.positionY}for(var l=0;l<i;l++){var u=e.layoutNodes[e.idToIndex[r[l]]];if(!u.isLocked){var h=a-u.positionX,d=o-u.positionY,f=Math.sqrt(h*h+d*d);if(f>1){var p=t.gravity*h/f,m=t.gravity*d/f;u.offsetX+=p,u.offsetY+=m}}}}},O4e=function(e,t){var n=[],r=0,i=-1;for(n.push.apply(n,e.graphSet[0]),i+=e.graphSet[0].length;r<=i;){var a=n[r++],o=e.idToIndex[a],s=e.layoutNodes[o],c=s.children;if(0<c.length&&!s.isLocked){for(var l=s.offsetX,u=s.offsetY,h=0;h<c.length;h++){var d=e.layoutNodes[e.idToIndex[c[h]]];d.offsetX+=l,d.offsetY+=u,n[++i]=c[h]}s.offsetX=0,s.offsetY=0}}},D4e=function(e,t){for(var n=0;n<e.nodeSize;n++){0<(i=e.layoutNodes[n]).children.length&&(i.maxX=void 0,i.minX=void 0,i.maxY=void 0,i.minY=void 0)}for(n=0;n<e.nodeSize;n++){if(!(0<(i=e.layoutNodes[n]).children.length||i.isLocked)){var r=M4e(i.offsetX,i.offsetY,e.temperature);i.positionX+=r.x,i.positionY+=r.y,i.offsetX=0,i.offsetY=0,i.minX=i.positionX-i.width,i.maxX=i.positionX+i.width,i.minY=i.positionY-i.height,i.maxY=i.positionY+i.height,I4e(i,e)}}for(n=0;n<e.nodeSize;n++){var i;0<(i=e.layoutNodes[n]).children.length&&!i.isLocked&&(i.positionX=(i.maxX+i.minX)/2,i.positionY=(i.maxY+i.minY)/2,i.width=i.maxX-i.minX,i.height=i.maxY-i.minY)}},M4e=function(e,t,n){var r=Math.sqrt(e*e+t*t);if(r>n)var i={x:n*e/r,y:n*t/r};else i={x:e,y:t};return i},I4e=function e(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?e(i,n):void 0}},P4e=function(e,t){for(var n=e.layoutNodes,r=[],i=0;i<n.length;i++){var a=n[i],o=a.cmptId;(r[o]=r[o]||[]).push(a)}var s=0;for(i=0;i<r.length;i++){if(m=r[i]){m.x1=1/0,m.x2=-1/0,m.y1=1/0,m.y2=-1/0;for(var c=0;c<m.length;c++){var l=m[c];m.x1=Math.min(m.x1,l.positionX-l.width/2),m.x2=Math.max(m.x2,l.positionX+l.width/2),m.y1=Math.min(m.y1,l.positionY-l.height/2),m.y2=Math.max(m.y2,l.positionY+l.height/2)}m.w=m.x2-m.x1,m.h=m.y2-m.y1,s+=m.w*m.h}}r.sort((function(e,t){return t.w*t.h-e.w*e.h}));var u=0,h=0,d=0,f=0,p=Math.sqrt(s)*e.clientWidth/e.clientHeight;for(i=0;i<r.length;i++){var m;if(m=r[i]){for(c=0;c<m.length;c++){(l=m[c]).isLocked||(l.positionX+=u-m.x1,l.positionY+=h-m.y1)}u+=m.w+t.componentSpacing,d+=m.w+t.componentSpacing,f=Math.max(f,m.h),d>p&&(h+=f+t.componentSpacing,u=0,d=0,f=0)}}},N4e={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(e){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function L4e(e){this.options=qYe({},N4e,e)}L4e.prototype.run=function(){var e=this.options,t=e,n=e.cy,r=t.eles,i=r.nodes().not(":parent");t.sort&&(i=i.sort(t.sort));var a=jZe(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(e){return{x:a.x1,y:a.y1}}));else{var o=i.size(),s=Math.sqrt(o*a.h/a.w),c=Math.round(s),l=Math.round(a.w/a.h*s),u=function(e){if(null==e)return Math.min(c,l);Math.min(c,l)==c?c=e:l=e},h=function(e){if(null==e)return Math.max(c,l);Math.max(c,l)==c?c=e:l=e},d=t.rows,f=null!=t.cols?t.cols:t.columns;if(null!=d&&null!=f)c=d,l=f;else if(null!=d&&null==f)c=d,l=Math.ceil(o/c);else if(null==d&&null!=f)l=f,c=Math.ceil(o/l);else if(l*c>o){var p=u(),m=h();(p-1)*m>=o?u(p-1):(m-1)*p>=o&&h(m-1)}else for(;l*c<o;){var g=u(),b=h();(b+1)*g>=o?h(b+1):u(g+1)}var y=a.w/l,v=a.h/c;if(t.condense&&(y=0,v=0),t.avoidOverlap)for(var w=0;w<i.length;w++){var x=i[w],k=x._private.position;null!=k.x&&null!=k.y||(k.x=0,k.y=0);var S=x.layoutDimensions(t),E=t.avoidOverlapPadding,_=S.w+E,A=S.h+E;y=Math.max(y,_),v=Math.max(v,A)}for(var T={},C=function(e,t){return!!T["c-"+e+"-"+t]},O=function(e,t){T["c-"+e+"-"+t]=!0},D=0,M=0,I=function(){++M>=l&&(M=0,D++)},P={},N=0;N<i.length;N++){var L=i[N],R=t.position(L);if(R&&(void 0!==R.row||void 0!==R.col)){var j={row:R.row,col:R.col};if(void 0===j.col)for(j.col=0;C(j.row,j.col);)j.col++;else if(void 0===j.row)for(j.row=0;C(j.row,j.col);)j.row++;P[L.id()]=j,O(j.row,j.col)}}i.layoutPositions(this,t,(function(e,t){var n,r;if(e.locked()||e.isParent())return!1;var i=P[e.id()];if(i)n=i.col*y+y/2+a.x1,r=i.row*v+v/2+a.y1;else{for(;C(D,M);)I();n=M*y+y/2+a.x1,r=D*v+v/2+a.y1,O(D,M),I()}return{x:n,y:r}}))}return this};var R4e={ready:function(){},stop:function(){}};function j4e(e){this.options=qYe({},R4e,e)}j4e.prototype.run=function(){var e=this.options,t=e.eles,n=this;return e.cy,n.emit("layoutstart"),t.nodes().positions((function(){return{x:0,y:0}})),n.one("layoutready",e.ready),n.emit("layoutready"),n.one("layoutstop",e.stop),n.emit("layoutstop"),this},j4e.prototype.stop=function(){return this};var B4e={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(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function F4e(e){this.options=qYe({},B4e,e)}F4e.prototype.run=function(){var e=this.options,t=e.eles.nodes(),n=vYe(e.positions);return t.layoutPositions(this,e,(function(t,r){var i=function(t){if(null==e.positions)return function(e){return{x:e.x,y:e.y}}(t.position());if(n)return e.positions(t);var r=e.positions[t._private.data.id];return null==r?null:r}(t);return!t.locked()&&null!=i&&i})),this};var z4e={fit:!0,padding:30,boundingBox:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function $4e(e){this.options=qYe({},z4e,e)}$4e.prototype.run=function(){var e=this.options,t=e.cy,n=e.eles,r=jZe(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:t.width(),h:t.height()});return n.nodes().layoutPositions(this,e,(function(e,t){return{x:r.x1+Math.round(Math.random()*r.w),y:r.y1+Math.round(Math.random()*r.h)}})),this};var q4e=[{name:"breadthfirst",impl:s4e},{name:"circle",impl:l4e},{name:"concentric",impl:d4e},{name:"cose",impl:p4e},{name:"grid",impl:L4e},{name:"null",impl:j4e},{name:"preset",impl:F4e},{name:"random",impl:$4e}];function H4e(e){this.options=e,this.notifications=0}var U4e=function(){},V4e=function(){throw new Error("A headless instance can not render images")};H4e.prototype={recalculateRenderedStyle:U4e,notify:function(){this.notifications++},init:U4e,isHeadless:function(){return!0},png:V4e,jpg:V4e};var W4e={arrowShapeWidth:.3,registerArrowShapes:function(){var e=this.arrowShapes={},t=this,n=function(e,t,n,r,i,a,o){var s=i.x-n/2-o,c=i.x+n/2+o,l=i.y-n/2-o,u=i.y+n/2+o;return s<=e&&e<=c&&l<=t&&t<=u},r=function(e,t,n,r,i){var a=e*Math.cos(r)-t*Math.sin(r),o=(e*Math.sin(r)+t*Math.cos(r))*n;return{x:a*n+i.x,y:o+i.y}},i=function(e,t,n,i){for(var a=[],o=0;o<e.length;o+=2){var s=e[o],c=e[o+1];a.push(r(s,c,t,n,i))}return a},a=function(e){for(var t=[],n=0;n<e.length;n++){var r=e[n];t.push(r.x,r.y)}return t},o=function(e){return e.pstyle("width").pfValue*e.pstyle("arrow-scale").pfValue*2},s=function(r,s){yYe(s)&&(s=e[s]),e[r]=qYe({name:r,points:[-.15,-.3,.15,-.3,.15,.3,-.15,.3],collide:function(e,t,n,r,o,s){var c=a(i(this.points,n+2*s,r,o));return QZe(e,t,c)},roughCollide:n,draw:function(e,n,r,a){var o=i(this.points,n,r,a);t.arrowShapeImpl("polygon")(e,o)},spacing:function(e){return 0},gap:o},s)};s("none",{collide:HXe,roughCollide:HXe,draw:VXe,spacing:UXe,gap:UXe}),s("triangle",{points:[-.15,-.3,0,0,.15,-.3]}),s("arrow","triangle"),s("triangle-backcurve",{points:e.triangle.points,controlPoint:[0,-.15],roughCollide:n,draw:function(e,n,a,o,s){var c=i(this.points,n,a,o),l=this.controlPoint,u=r(l[0],l[1],n,a,o);t.arrowShapeImpl(this.name)(e,c,u)},gap:function(e){return.8*o(e)}}),s("triangle-tee",{points:[0,0,.15,-.3,-.15,-.3,0,0],pointsTee:[-.15,-.4,-.15,-.5,.15,-.5,.15,-.4],collide:function(e,t,n,r,o,s,c){var l=a(i(this.points,n+2*c,r,o)),u=a(i(this.pointsTee,n+2*c,r,o));return QZe(e,t,l)||QZe(e,t,u)},draw:function(e,n,r,a,o){var s=i(this.points,n,r,a),c=i(this.pointsTee,n,r,a);t.arrowShapeImpl(this.name)(e,s,c)}}),s("circle-triangle",{radius:.15,pointsTr:[0,-.15,.15,-.45,-.15,-.45,0,-.15],collide:function(e,t,n,r,o,s,c){var l=o,u=Math.pow(l.x-e,2)+Math.pow(l.y-t,2)<=Math.pow((n+2*c)*this.radius,2),h=a(i(this.points,n+2*c,r,o));return QZe(e,t,h)||u},draw:function(e,n,r,a,o){var s=i(this.pointsTr,n,r,a);t.arrowShapeImpl(this.name)(e,s,a.x,a.y,this.radius*n)},spacing:function(e){return t.getArrowWidth(e.pstyle("width").pfValue,e.pstyle("arrow-scale").value)*this.radius}}),s("triangle-cross",{points:[0,0,.15,-.3,-.15,-.3,0,0],baseCrossLinePts:[-.15,-.4,-.15,-.4,.15,-.4,.15,-.4],crossLinePts:function(e,t){var n=this.baseCrossLinePts.slice(),r=t/e;return n[3]=n[3]-r,n[5]=n[5]-r,n},collide:function(e,t,n,r,o,s,c){var l=a(i(this.points,n+2*c,r,o)),u=a(i(this.crossLinePts(n,s),n+2*c,r,o));return QZe(e,t,l)||QZe(e,t,u)},draw:function(e,n,r,a,o){var s=i(this.points,n,r,a),c=i(this.crossLinePts(n,o),n,r,a);t.arrowShapeImpl(this.name)(e,s,c)}}),s("vee",{points:[-.15,-.3,0,0,.15,-.3,0,-.15],gap:function(e){return.525*o(e)}}),s("circle",{radius:.15,collide:function(e,t,n,r,i,a,o){var s=i;return Math.pow(s.x-e,2)+Math.pow(s.y-t,2)<=Math.pow((n+2*o)*this.radius,2)},draw:function(e,n,r,i,a){t.arrowShapeImpl(this.name)(e,i.x,i.y,this.radius*n)},spacing:function(e){return t.getArrowWidth(e.pstyle("width").pfValue,e.pstyle("arrow-scale").value)*this.radius}}),s("tee",{points:[-.15,0,-.15,-.1,.15,-.1,.15,0],spacing:function(e){return 1},gap:function(e){return 1}}),s("square",{points:[-.15,0,.15,0,.15,-.3,-.15,-.3]}),s("diamond",{points:[-.15,-.15,0,-.3,.15,-.15,0,0],gap:function(e){return e.pstyle("width").pfValue*e.pstyle("arrow-scale").value}}),s("chevron",{points:[0,0,-.15,-.15,-.1,-.2,0,-.1,.1,-.2,.15,-.15],gap:function(e){return.95*e.pstyle("width").pfValue*e.pstyle("arrow-scale").value}})}},G4e={projectIntoViewport:function(e,t){var n=this.cy,r=this.findContainerClientCoords(),i=r[0],a=r[1],o=r[4],s=n.pan(),c=n.zoom();return[((e-i)/o-s.x)/c,((t-a)/o-s.y)/c]},findContainerClientCoords:function(){if(this.containerBB)return this.containerBB;var e=this.container,t=e.getBoundingClientRect(),n=this.cy.window().getComputedStyle(e),r=function(e){return parseFloat(n.getPropertyValue(e))},i=r("padding-left"),a=r("padding-right"),o=r("padding-top"),s=r("padding-bottom"),c=r("border-left-width"),l=r("border-right-width"),u=r("border-top-width"),h=(r("border-bottom-width"),e.clientWidth),d=e.clientHeight,f=i+a,p=o+s,m=c+l,g=t.width/(h+m),b=h-f,y=d-p,v=t.left+i+c,w=t.top+o+u;return this.containerBB=[v,w,b,y,g]},invalidateContainerClientCoordsCache:function(){this.containerBB=null},findNearestElement:function(e,t,n,r){return this.findNearestElements(e,t,n,r)[0]},findNearestElements:function(e,t,n,r){var i,a,o=this,s=this,c=s.getCachedZSortedEles(),l=[],u=s.cy.zoom(),h=s.cy.hasCompoundNodes(),d=(r?24:8)/u,f=(r?8:2)/u,p=(r?8:2)/u,m=1/0;function g(e,t){if(e.isNode()){if(a)return;a=e,l.push(e)}if(e.isEdge()&&(null==t||t<m))if(i){if(i.pstyle("z-compound-depth").value===e.pstyle("z-compound-depth").value&&i.pstyle("z-compound-depth").value===e.pstyle("z-compound-depth").value)for(var n=0;n<l.length;n++)if(l[n].isEdge()){l[n]=e,i=e,m=null!=t?t:m;break}}else l.push(e),i=e,m=null!=t?t:m}function b(n){var r=n.outerWidth()+2*f,i=n.outerHeight()+2*f,a=r/2,c=i/2,l=n.position(),u="auto"===n.pstyle("corner-radius").value?"auto":n.pstyle("corner-radius").pfValue,h=n._private.rscratch;if(l.x-a<=e&&e<=l.x+a&&l.y-c<=t&&t<=l.y+c&&s.nodeShapes[o.getNodeShape(n)].checkPoint(e,t,0,r,i,l.x,l.y,u,h))return g(n,0),!0}function y(n){var r,i=n._private,a=i.rscratch,c=n.pstyle("width").pfValue,u=n.pstyle("arrow-scale").value,f=c/2+d,p=f*f,m=2*f,y=i.source,v=i.target;if("segments"===a.edgeType||"straight"===a.edgeType||"haystack"===a.edgeType){for(var w=a.allpts,x=0;x+3<w.length;x+=2)if(KZe(e,t,w[x],w[x+1],w[x+2],w[x+3],m)&&p>(r=ZZe(e,t,w[x],w[x+1],w[x+2],w[x+3])))return g(n,r),!0}else if("bezier"===a.edgeType||"multibezier"===a.edgeType||"self"===a.edgeType||"compound"===a.edgeType)for(w=a.allpts,x=0;x+5<a.allpts.length;x+=4)if(YZe(e,t,w[x],w[x+1],w[x+2],w[x+3],w[x+4],w[x+5],m)&&p>(r=XZe(e,t,w[x],w[x+1],w[x+2],w[x+3],w[x+4],w[x+5])))return g(n,r),!0;y=y||i.source,v=v||i.target;var k=o.getArrowWidth(c,u),S=[{name:"source",x:a.arrowStartX,y:a.arrowStartY,angle:a.srcArrowAngle},{name:"target",x:a.arrowEndX,y:a.arrowEndY,angle:a.tgtArrowAngle},{name:"mid-source",x:a.midX,y:a.midY,angle:a.midsrcArrowAngle},{name:"mid-target",x:a.midX,y:a.midY,angle:a.midtgtArrowAngle}];for(x=0;x<S.length;x++){var E=S[x],_=s.arrowShapes[n.pstyle(E.name+"-arrow-shape").value],A=n.pstyle("width").pfValue;if(_.roughCollide(e,t,k,E.angle,{x:E.x,y:E.y},A,d)&&_.collide(e,t,k,E.angle,{x:E.x,y:E.y},A,d))return g(n),!0}h&&l.length>0&&(b(y),b(v))}function v(e,t,n){return nZe(e,t,n)}function w(n,r){var i,a=n._private,o=p;i=r?r+"-":"",n.boundingBox();var s=a.labelBounds[r||"main"],c=n.pstyle(i+"label").value;if("yes"===n.pstyle("text-events").strValue&&c){var l=v(a.rscratch,"labelX",r),u=v(a.rscratch,"labelY",r),h=v(a.rscratch,"labelAngle",r),d=n.pstyle(i+"text-margin-x").pfValue,f=n.pstyle(i+"text-margin-y").pfValue,m=s.x1-o-d,b=s.x2+o-d,y=s.y1-o-f,w=s.y2+o-f;if(h){var x=Math.cos(h),k=Math.sin(h),S=function(e,t){return{x:(e-=l)*x-(t-=u)*k+l,y:e*k+t*x+u}},E=S(m,y),_=S(m,w),A=S(b,y),T=S(b,w),C=[E.x+d,E.y+f,A.x+d,A.y+f,T.x+d,T.y+f,_.x+d,_.y+f];if(QZe(e,t,C))return g(n),!0}else if(UZe(s,e,t))return g(n),!0}}n&&(c=c.interactive);for(var x=c.length-1;x>=0;x--){var k=c[x];k.isNode()?b(k)||w(k):y(k)||w(k)||w(k,"source")||w(k,"target")}return l},getAllInBox:function(e,t,n,r){for(var i=this.getCachedZSortedEles().interactive,a=[],o=Math.min(e,n),s=Math.max(e,n),c=Math.min(t,r),l=Math.max(t,r),u=jZe({x1:e=o,y1:t=c,x2:n=s,y2:r=l}),h=0;h<i.length;h++){var d=i[h];if(d.isNode()){var f=d,p=f.boundingBox({includeNodes:!0,includeEdges:!1,includeLabels:!1});HZe(u,p)&&!WZe(p,u)&&a.push(f)}else{var m=d,g=m._private,b=g.rscratch;if(null!=b.startX&&null!=b.startY&&!UZe(u,b.startX,b.startY))continue;if(null!=b.endX&&null!=b.endY&&!UZe(u,b.endX,b.endY))continue;if("bezier"===b.edgeType||"multibezier"===b.edgeType||"self"===b.edgeType||"compound"===b.edgeType||"segments"===b.edgeType||"haystack"===b.edgeType){for(var y=g.rstyle.bezierPts||g.rstyle.linePts||g.rstyle.haystackPts,v=!0,w=0;w<y.length;w++)if(!VZe(u,y[w])){v=!1;break}v&&a.push(m)}else"haystack"!==b.edgeType&&"straight"!==b.edgeType||a.push(m)}}return a}},K4e={calculateArrowAngles:function(e){var t,n,r,i,a,o,s=e._private.rscratch,c="haystack"===s.edgeType,l="bezier"===s.edgeType,u="multibezier"===s.edgeType,h="segments"===s.edgeType,d="compound"===s.edgeType,f="self"===s.edgeType;if(c?(r=s.haystackPts[0],i=s.haystackPts[1],a=s.haystackPts[2],o=s.haystackPts[3]):(r=s.arrowStartX,i=s.arrowStartY,a=s.arrowEndX,o=s.arrowEndY),m=s.midX,g=s.midY,h)t=r-s.segpts[0],n=i-s.segpts[1];else if(u||d||f||l){var p=s.allpts;t=r-NZe(p[0],p[2],p[4],.1),n=i-NZe(p[1],p[3],p[5],.1)}else t=r-m,n=i-g;s.srcArrowAngle=CZe(t,n);var m=s.midX,g=s.midY;if(c&&(m=(r+a)/2,g=(i+o)/2),t=a-r,n=o-i,h)if((p=s.allpts).length/2%2==0){var b=(_=p.length/2)-2;t=p[_]-p[b],n=p[_+1]-p[b+1]}else if(s.isRound)t=s.midVector[1],n=-s.midVector[0];else{b=(_=p.length/2-1)-2;t=p[_]-p[b],n=p[_+1]-p[b+1]}else if(u||d||f){var y,v,w,x,p=s.allpts;if(s.ctrlpts.length/2%2==0){var k=(S=(E=p.length/2-1)+2)+2;y=NZe(p[E],p[S],p[k],0),v=NZe(p[E+1],p[S+1],p[k+1],0),w=NZe(p[E],p[S],p[k],1e-4),x=NZe(p[E+1],p[S+1],p[k+1],1e-4)}else{var S,E;k=(S=p.length/2-1)+2;y=NZe(p[E=S-2],p[S],p[k],.4999),v=NZe(p[E+1],p[S+1],p[k+1],.4999),w=NZe(p[E],p[S],p[k],.5),x=NZe(p[E+1],p[S+1],p[k+1],.5)}t=w-y,n=x-v}if(s.midtgtArrowAngle=CZe(t,n),s.midDispX=t,s.midDispY=n,t*=-1,n*=-1,h)if((p=s.allpts).length/2%2==0);else if(!s.isRound){var _,A=(_=p.length/2-1)+2;t=-(p[A]-p[_]),n=-(p[A+1]-p[_+1])}if(s.midsrcArrowAngle=CZe(t,n),h)t=a-s.segpts[s.segpts.length-2],n=o-s.segpts[s.segpts.length-1];else if(u||d||f||l){var T=(p=s.allpts).length;t=a-NZe(p[T-6],p[T-4],p[T-2],.9),n=o-NZe(p[T-5],p[T-3],p[T-1],.9)}else t=a-m,n=o-g;s.tgtArrowAngle=CZe(t,n)}};K4e.getArrowWidth=K4e.getArrowHeight=function(e,t){var n=this.arrowWidthCache=this.arrowWidthCache||{},r=n[e+", "+t];return r||(r=Math.max(Math.pow(13.37*e,.9),29)*t,n[e+", "+t]=r,r)};var Y4e,X4e,Z4e,Q4e,J4e,e5e,t5e,n5e,r5e,i5e,a5e,o5e,s5e,c5e,l5e,u5e,h5e,d5e={},f5e={},p5e=function(e,t,n){n.x=t.x-e.x,n.y=t.y-e.y,n.len=Math.sqrt(n.x*n.x+n.y*n.y),n.nx=n.x/n.len,n.ny=n.y/n.len,n.ang=Math.atan2(n.ny,n.nx)},m5e=function(e,t,n,r,i){var a,o;if(e!==h5e?p5e(t,e,d5e):((o=d5e).x=-1*(a=f5e).x,o.y=-1*a.y,o.nx=-1*a.nx,o.ny=-1*a.ny,o.ang=a.ang>0?-(Math.PI-a.ang):Math.PI+a.ang),p5e(t,n,f5e),Z4e=d5e.nx*f5e.ny-d5e.ny*f5e.nx,Q4e=d5e.nx*f5e.nx-d5e.ny*-f5e.ny,t5e=Math.asin(Math.max(-1,Math.min(1,Z4e))),Math.abs(t5e)<1e-6)return Y4e=t.x,X4e=t.y,void(r5e=a5e=0);J4e=1,e5e=!1,Q4e<0?t5e<0?t5e=Math.PI+t5e:(t5e=Math.PI-t5e,J4e=-1,e5e=!0):t5e>0&&(J4e=-1,e5e=!0),a5e=void 0!==t.radius?t.radius:r,n5e=t5e/2,o5e=Math.min(d5e.len/2,f5e.len/2),i?(i5e=Math.abs(Math.cos(n5e)*a5e/Math.sin(n5e)))>o5e?(i5e=o5e,r5e=Math.abs(i5e*Math.sin(n5e)/Math.cos(n5e))):r5e=a5e:(i5e=Math.min(o5e,a5e),r5e=Math.abs(i5e*Math.sin(n5e)/Math.cos(n5e))),l5e=t.x+f5e.nx*i5e,u5e=t.y+f5e.ny*i5e,Y4e=l5e-f5e.ny*r5e*J4e,X4e=u5e+f5e.nx*r5e*J4e,s5e=t.x+d5e.nx*i5e,c5e=t.y+d5e.ny*i5e,h5e=t};function g5e(e,t){0===t.radius?e.lineTo(t.cx,t.cy):e.arc(t.cx,t.cy,t.radius,t.startAngle,t.endAngle,t.counterClockwise)}function b5e(e,t,n,r){var i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4];return 0===r||0===t.radius?{cx:t.x,cy:t.y,radius:0,startX:t.x,startY:t.y,stopX:t.x,stopY:t.y,startAngle:void 0,endAngle:void 0,counterClockwise:void 0}:(m5e(e,t,n,r,i),{cx:Y4e,cy:X4e,radius:r5e,startX:s5e,startY:c5e,stopX:l5e,stopY:u5e,startAngle:d5e.ang+Math.PI/2*J4e,endAngle:f5e.ang-Math.PI/2*J4e,counterClockwise:e5e})}var y5e={};function v5e(e){var t=[];if(null!=e){for(var n=0;n<e.length;n+=2){var r=e[n],i=e[n+1];t.push({x:r,y:i})}return t}}y5e.findMidptPtsEtc=function(e,t){var n,r=t.posPts,i=t.intersectionPts,a=t.vectorNormInverse,o=e.pstyle("source-endpoint"),s=e.pstyle("target-endpoint"),c=null!=o.units&&null!=s.units;switch(e.pstyle("edge-distances").value){case"node-position":n=r;break;case"intersection":n=i;break;case"endpoints":if(c){var l=cYe(this.manualEndptToPx(e.source()[0],o),2),u=l[0],h=l[1],d=cYe(this.manualEndptToPx(e.target()[0],s),2),f=d[0],p=d[1],m={x1:u,y1:h,x2:f,y2:p};a=function(e,t,n,r){var i=r-t,a=n-e,o=Math.sqrt(a*a+i*i);return{x:-i/o,y:a/o}}(u,h,f,p),n=m}else KXe("Edge ".concat(e.id()," has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint. Falling back on edge-distances:intersection (default).")),n=i}return{midptPts:n,vectorNormInverse:a}},y5e.findHaystackPoints=function(e){for(var t=0;t<e.length;t++){var n=e[t],r=n._private,i=r.rscratch;if(!i.haystack){var a=2*Math.random()*Math.PI;i.source={x:Math.cos(a),y:Math.sin(a)},a=2*Math.random()*Math.PI,i.target={x:Math.cos(a),y:Math.sin(a)}}var o=r.source,s=r.target,c=o.position(),l=s.position(),u=o.width(),h=s.width(),d=o.height(),f=s.height(),p=n.pstyle("haystack-radius").value/2;i.haystackPts=i.allpts=[i.source.x*u*p+c.x,i.source.y*d*p+c.y,i.target.x*h*p+l.x,i.target.y*f*p+l.y],i.midX=(i.allpts[0]+i.allpts[2])/2,i.midY=(i.allpts[1]+i.allpts[3])/2,i.edgeType="haystack",i.haystack=!0,this.storeEdgeProjections(n),this.calculateArrowAngles(n),this.recalculateEdgeLabelProjections(n),this.calculateLabelAngles(n)}},y5e.findSegmentsPoints=function(e,t){var n=e._private.rscratch,r=e.pstyle("segment-weights"),i=e.pstyle("segment-distances"),a=e.pstyle("segment-radii"),o=e.pstyle("radius-type"),s=Math.min(r.pfValue.length,i.pfValue.length),c=a.pfValue[a.pfValue.length-1],l=o.pfValue[o.pfValue.length-1];n.edgeType="segments",n.segpts=[],n.radii=[],n.isArcRadius=[];for(var u=0;u<s;u++){var h=r.pfValue[u],d=i.pfValue[u],f=1-h,p=h,m=this.findMidptPtsEtc(e,t),g=m.midptPts,b=m.vectorNormInverse,y={x:g.x1*f+g.x2*p,y:g.y1*f+g.y2*p};n.segpts.push(y.x+b.x*d,y.y+b.y*d),n.radii.push(void 0!==a.pfValue[u]?a.pfValue[u]:c),n.isArcRadius.push("arc-radius"===(void 0!==o.pfValue[u]?o.pfValue[u]:l))}},y5e.findLoopPoints=function(e,t,n,r){var i=e._private.rscratch,a=t.dirCounts,o=t.srcPos,s=e.pstyle("control-point-distances"),c=s?s.pfValue[0]:void 0,l=e.pstyle("loop-direction").pfValue,u=e.pstyle("loop-sweep").pfValue,h=e.pstyle("control-point-step-size").pfValue;i.edgeType="self";var d=n,f=h;r&&(d=0,f=c);var p=l-Math.PI/2,m=p-u/2,g=p+u/2,b=String(l+"_"+u);d=void 0===a[b]?a[b]=0:++a[b],i.ctrlpts=[o.x+1.4*Math.cos(m)*f*(d/3+1),o.y+1.4*Math.sin(m)*f*(d/3+1),o.x+1.4*Math.cos(g)*f*(d/3+1),o.y+1.4*Math.sin(g)*f*(d/3+1)]},y5e.findCompoundLoopPoints=function(e,t,n,r){var i=e._private.rscratch;i.edgeType="compound";var a=t.srcPos,o=t.tgtPos,s=t.srcW,c=t.srcH,l=t.tgtW,u=t.tgtH,h=e.pstyle("control-point-step-size").pfValue,d=e.pstyle("control-point-distances"),f=d?d.pfValue[0]:void 0,p=n,m=h;r&&(p=0,m=f);var g={x:a.x-s/2,y:a.y-c/2},b={x:o.x-l/2,y:o.y-u/2},y={x:Math.min(g.x,b.x),y:Math.min(g.y,b.y)},v=Math.max(.5,Math.log(.01*s)),w=Math.max(.5,Math.log(.01*l));i.ctrlpts=[y.x,y.y-(1+Math.pow(50,1.12)/100)*m*(p/3+1)*v,y.x-(1+Math.pow(50,1.12)/100)*m*(p/3+1)*w,y.y]},y5e.findStraightEdgePoints=function(e){e._private.rscratch.edgeType="straight"},y5e.findBezierPoints=function(e,t,n,r,i){var a=e._private.rscratch,o=e.pstyle("control-point-step-size").pfValue,s=e.pstyle("control-point-distances"),c=e.pstyle("control-point-weights"),l=s&&c?Math.min(s.value.length,c.value.length):1,u=s?s.pfValue[0]:void 0,h=c.value[0],d=r;a.edgeType=d?"multibezier":"bezier",a.ctrlpts=[];for(var f=0;f<l;f++){var p=(.5-t.eles.length/2+n)*o*(i?-1:1),m=void 0,g=DZe(p);d&&(u=s?s.pfValue[f]:o,h=c.value[f]);var b=void 0!==(m=r?u:void 0!==u?g*u:void 0)?m:p,y=1-h,v=h,w=this.findMidptPtsEtc(e,t),x=w.midptPts,k=w.vectorNormInverse,S={x:x.x1*y+x.x2*v,y:x.y1*y+x.y2*v};a.ctrlpts.push(S.x+k.x*b,S.y+k.y*b)}},y5e.findTaxiPoints=function(e,t){var n=e._private.rscratch;n.edgeType="segments";var r="vertical",i="horizontal",a="leftward",o="rightward",s="downward",c="upward",l=t.posPts,u=t.srcW,h=t.srcH,d=t.tgtW,f=t.tgtH,p="node-position"!==e.pstyle("edge-distances").value,m=e.pstyle("taxi-direction").value,g=m,b=e.pstyle("taxi-turn"),y="%"===b.units,v=b.pfValue,w=v<0,x=e.pstyle("taxi-turn-min-distance").pfValue,k=p?(u+d)/2:0,S=p?(h+f)/2:0,E=l.x2-l.x1,_=l.y2-l.y1,A=function(e,t){return e>0?Math.max(e-t,0):Math.min(e+t,0)},T=A(E,k),C=A(_,S),O=!1;"auto"===g?m=Math.abs(T)>Math.abs(C)?i:r:g===c||g===s?(m=r,O=!0):g!==a&&g!==o||(m=i,O=!0);var D,M=m===r,I=M?C:T,P=M?_:E,N=DZe(P),L=!1;(O&&(y||w)||!(g===s&&P<0||g===c&&P>0||g===a&&P>0||g===o&&P<0)||(I=(N*=-1)*Math.abs(I),L=!0),y)?D=(v<0?1+v:v)*I:D=(v<0?I:0)+v*N;var R=function(e){return Math.abs(e)<x||Math.abs(e)>=Math.abs(I)},j=R(D),B=R(Math.abs(I)-Math.abs(D));if((j||B)&&!L)if(M){var F=Math.abs(P)<=h/2,z=Math.abs(E)<=d/2;if(F){var $=(l.x1+l.x2)/2,q=l.y1,H=l.y2;n.segpts=[$,q,$,H]}else if(z){var U=(l.y1+l.y2)/2,V=l.x1,W=l.x2;n.segpts=[V,U,W,U]}else n.segpts=[l.x1,l.y2]}else{var G=Math.abs(P)<=u/2,K=Math.abs(_)<=f/2;if(G){var Y=(l.y1+l.y2)/2,X=l.x1,Z=l.x2;n.segpts=[X,Y,Z,Y]}else if(K){var Q=(l.x1+l.x2)/2,J=l.y1,ee=l.y2;n.segpts=[Q,J,Q,ee]}else n.segpts=[l.x2,l.y1]}else if(M){var te=l.y1+D+(p?h/2*N:0),ne=l.x1,re=l.x2;n.segpts=[ne,te,re,te]}else{var ie=l.x1+D+(p?u/2*N:0),ae=l.y1,oe=l.y2;n.segpts=[ie,ae,ie,oe]}if(n.isRound){var se=e.pstyle("taxi-radius").value,ce="arc-radius"===e.pstyle("radius-type").value[0];n.radii=new Array(n.segpts.length/2).fill(se),n.isArcRadius=new Array(n.segpts.length/2).fill(ce)}},y5e.tryToCorrectInvalidPoints=function(e,t){var n=e._private.rscratch;if("bezier"===n.edgeType){var r=t.srcPos,i=t.tgtPos,a=t.srcW,o=t.srcH,s=t.tgtW,c=t.tgtH,l=t.srcShape,u=t.tgtShape,h=t.srcCornerRadius,d=t.tgtCornerRadius,f=t.srcRs,p=t.tgtRs,m=!kYe(n.startX)||!kYe(n.startY),g=!kYe(n.arrowStartX)||!kYe(n.arrowStartY),b=!kYe(n.endX)||!kYe(n.endY),y=!kYe(n.arrowEndX)||!kYe(n.arrowEndY),v=3*(this.getArrowWidth(e.pstyle("width").pfValue,e.pstyle("arrow-scale").value)*this.arrowShapeWidth),w=MZe({x:n.ctrlpts[0],y:n.ctrlpts[1]},{x:n.startX,y:n.startY}),x=w<v,k=MZe({x:n.ctrlpts[0],y:n.ctrlpts[1]},{x:n.endX,y:n.endY}),S=k<v,E=!1;if(m||g||x){E=!0;var _={x:n.ctrlpts[0]-r.x,y:n.ctrlpts[1]-r.y},A=Math.sqrt(_.x*_.x+_.y*_.y),T={x:_.x/A,y:_.y/A},C=Math.max(a,o),O={x:n.ctrlpts[0]+2*T.x*C,y:n.ctrlpts[1]+2*T.y*C},D=l.intersectLine(r.x,r.y,a,o,O.x,O.y,0,h,f);x?(n.ctrlpts[0]=n.ctrlpts[0]+T.x*(v-w),n.ctrlpts[1]=n.ctrlpts[1]+T.y*(v-w)):(n.ctrlpts[0]=D[0]+T.x*v,n.ctrlpts[1]=D[1]+T.y*v)}if(b||y||S){E=!0;var M={x:n.ctrlpts[0]-i.x,y:n.ctrlpts[1]-i.y},I=Math.sqrt(M.x*M.x+M.y*M.y),P={x:M.x/I,y:M.y/I},N=Math.max(a,o),L={x:n.ctrlpts[0]+2*P.x*N,y:n.ctrlpts[1]+2*P.y*N},R=u.intersectLine(i.x,i.y,s,c,L.x,L.y,0,d,p);S?(n.ctrlpts[0]=n.ctrlpts[0]+P.x*(v-k),n.ctrlpts[1]=n.ctrlpts[1]+P.y*(v-k)):(n.ctrlpts[0]=R[0]+P.x*v,n.ctrlpts[1]=R[1]+P.y*v)}E&&this.findEndpoints(e)}},y5e.storeAllpts=function(e){var t=e._private.rscratch;if("multibezier"===t.edgeType||"bezier"===t.edgeType||"self"===t.edgeType||"compound"===t.edgeType){t.allpts=[],t.allpts.push(t.startX,t.startY);for(var n=0;n+1<t.ctrlpts.length;n+=2)t.allpts.push(t.ctrlpts[n],t.ctrlpts[n+1]),n+3<t.ctrlpts.length&&t.allpts.push((t.ctrlpts[n]+t.ctrlpts[n+2])/2,(t.ctrlpts[n+1]+t.ctrlpts[n+3])/2);var r;t.allpts.push(t.endX,t.endY),t.ctrlpts.length/2%2==0?(r=t.allpts.length/2-1,t.midX=t.allpts[r],t.midY=t.allpts[r+1]):(r=t.allpts.length/2-3,.5,t.midX=NZe(t.allpts[r],t.allpts[r+2],t.allpts[r+4],.5),t.midY=NZe(t.allpts[r+1],t.allpts[r+3],t.allpts[r+5],.5))}else if("straight"===t.edgeType)t.allpts=[t.startX,t.startY,t.endX,t.endY],t.midX=(t.startX+t.endX+t.arrowStartX+t.arrowEndX)/4,t.midY=(t.startY+t.endY+t.arrowStartY+t.arrowEndY)/4;else if("segments"===t.edgeType){if(t.allpts=[],t.allpts.push(t.startX,t.startY),t.allpts.push.apply(t.allpts,t.segpts),t.allpts.push(t.endX,t.endY),t.isRound){t.roundCorners=[];for(var i=2;i+3<t.allpts.length;i+=2){var a=t.radii[i/2-1],o=t.isArcRadius[i/2-1];t.roundCorners.push(b5e({x:t.allpts[i-2],y:t.allpts[i-1]},{x:t.allpts[i],y:t.allpts[i+1],radius:a},{x:t.allpts[i+2],y:t.allpts[i+3]},a,o))}}if(t.segpts.length%4==0){var s=t.segpts.length/2,c=s-2;t.midX=(t.segpts[c]+t.segpts[s])/2,t.midY=(t.segpts[c+1]+t.segpts[s+1])/2}else{var l=t.segpts.length/2-1;if(t.isRound){var u={x:t.segpts[l],y:t.segpts[l+1]},h=t.roundCorners[l/2],d=[u.x-h.cx,u.y-h.cy],f=h.radius/Math.sqrt(Math.pow(d[0],2)+Math.pow(d[1],2));d=d.map((function(e){return e*f})),t.midX=h.cx+d[0],t.midY=h.cy+d[1],t.midVector=d}else t.midX=t.segpts[l],t.midY=t.segpts[l+1]}}},y5e.checkForInvalidEdgeWarning=function(e){var t=e[0]._private.rscratch;t.nodesOverlap||kYe(t.startX)&&kYe(t.startY)&&kYe(t.endX)&&kYe(t.endY)?t.loggedErr=!1:t.loggedErr||(t.loggedErr=!0,KXe("Edge `"+e.id()+"` has invalid 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."))},y5e.findEdgeControlPoints=function(e){var t=this;if(e&&0!==e.length){for(var n=this,r=n.cy.hasCompoundNodes(),i={map:new iZe,get:function(e){var t=this.map.get(e[0]);return null!=t?t.get(e[1]):null},set:function(e,t){var n=this.map.get(e[0]);null==n&&(n=new iZe,this.map.set(e[0],n)),n.set(e[1],t)}},a=[],o=[],s=0;s<e.length;s++){var c=e[s],l=c._private,u=c.pstyle("curve-style").value;if(!c.removed()&&c.takesUpSpace())if("haystack"!==u){var h="unbundled-bezier"===u||u.endsWith("segments")||"straight"===u||"straight-triangle"===u||u.endsWith("taxi"),d="unbundled-bezier"===u||"bezier"===u,f=l.source,p=l.target,m=[f.poolIndex(),p.poolIndex()].sort(),g=i.get(m);null==g&&(g={eles:[]},i.set(m,g),a.push(m)),g.eles.push(c),h&&(g.hasUnbundled=!0),d&&(g.hasBezier=!0)}else o.push(c)}for(var b=function(e){var o=a[e],s=i.get(o),c=void 0;if(!s.hasUnbundled){var l=s.eles[0].parallelEdges().filter((function(e){return e.isBundledBezier()}));tZe(s.eles),l.forEach((function(e){return s.eles.push(e)})),s.eles.sort((function(e,t){return e.poolIndex()-t.poolIndex()}))}var u=s.eles[0],h=u.source(),d=u.target();if(h.poolIndex()>d.poolIndex()){var f=h;h=d,d=f}var p=s.srcPos=h.position(),m=s.tgtPos=d.position(),g=s.srcW=h.outerWidth(),b=s.srcH=h.outerHeight(),y=s.tgtW=d.outerWidth(),v=s.tgtH=d.outerHeight(),w=s.srcShape=n.nodeShapes[t.getNodeShape(h)],x=s.tgtShape=n.nodeShapes[t.getNodeShape(d)],k=s.srcCornerRadius="auto"===h.pstyle("corner-radius").value?"auto":h.pstyle("corner-radius").pfValue,S=s.tgtCornerRadius="auto"===d.pstyle("corner-radius").value?"auto":d.pstyle("corner-radius").pfValue,E=s.tgtRs=d._private.rscratch,_=s.srcRs=h._private.rscratch;s.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var A=0;A<s.eles.length;A++){var T=s.eles[A],C=T[0]._private.rscratch,O=T.pstyle("curve-style").value,D="unbundled-bezier"===O||O.endsWith("segments")||O.endsWith("taxi"),M=!h.same(T.source());if(!s.calculatedIntersection&&h!==d&&(s.hasBezier||s.hasUnbundled)){s.calculatedIntersection=!0;var I=w.intersectLine(p.x,p.y,g,b,m.x,m.y,0,k,_),P=s.srcIntn=I,N=x.intersectLine(m.x,m.y,y,v,p.x,p.y,0,S,E),L=s.tgtIntn=N,R=s.intersectionPts={x1:I[0],x2:N[0],y1:I[1],y2:N[1]},j=s.posPts={x1:p.x,x2:m.x,y1:p.y,y2:m.y},B=N[1]-I[1],F=N[0]-I[0],z=Math.sqrt(F*F+B*B),$=s.vector={x:F,y:B},q=s.vectorNorm={x:$.x/z,y:$.y/z},H={x:-q.y,y:q.x};s.nodesOverlap=!kYe(z)||x.checkPoint(I[0],I[1],0,y,v,m.x,m.y,S,E)||w.checkPoint(N[0],N[1],0,g,b,p.x,p.y,k,_),s.vectorNormInverse=H,c={nodesOverlap:s.nodesOverlap,dirCounts:s.dirCounts,calculatedIntersection:!0,hasBezier:s.hasBezier,hasUnbundled:s.hasUnbundled,eles:s.eles,srcPos:m,tgtPos:p,srcW:y,srcH:v,tgtW:g,tgtH:b,srcIntn:L,tgtIntn:P,srcShape:x,tgtShape:w,posPts:{x1:j.x2,y1:j.y2,x2:j.x1,y2:j.y1},intersectionPts:{x1:R.x2,y1:R.y2,x2:R.x1,y2:R.y1},vector:{x:-$.x,y:-$.y},vectorNorm:{x:-q.x,y:-q.y},vectorNormInverse:{x:-H.x,y:-H.y}}}var U=M?c:s;C.nodesOverlap=U.nodesOverlap,C.srcIntn=U.srcIntn,C.tgtIntn=U.tgtIntn,C.isRound=O.startsWith("round"),r&&(h.isParent()||h.isChild()||d.isParent()||d.isChild())&&(h.parents().anySame(d)||d.parents().anySame(h)||h.same(d)&&h.isParent())?t.findCompoundLoopPoints(T,U,A,D):h===d?t.findLoopPoints(T,U,A,D):O.endsWith("segments")?t.findSegmentsPoints(T,U):O.endsWith("taxi")?t.findTaxiPoints(T,U):"straight"===O||!D&&s.eles.length%2==1&&A===Math.floor(s.eles.length/2)?t.findStraightEdgePoints(T):t.findBezierPoints(T,U,A,D,M),t.findEndpoints(T),t.tryToCorrectInvalidPoints(T,U),t.checkForInvalidEdgeWarning(T),t.storeAllpts(T),t.storeEdgeProjections(T),t.calculateArrowAngles(T),t.recalculateEdgeLabelProjections(T),t.calculateLabelAngles(T)}},y=0;y<a.length;y++)b(y);this.findHaystackPoints(o)}},y5e.getSegmentPoints=function(e){var t=e[0]._private.rscratch;if("segments"===t.edgeType)return this.recalculateRenderedStyle(e),v5e(t.segpts)},y5e.getControlPoints=function(e){var t=e[0]._private.rscratch,n=t.edgeType;if("bezier"===n||"multibezier"===n||"self"===n||"compound"===n)return this.recalculateRenderedStyle(e),v5e(t.ctrlpts)},y5e.getEdgeMidpoint=function(e){var t=e[0]._private.rscratch;return this.recalculateRenderedStyle(e),{x:t.midX,y:t.midY}};var w5e={manualEndptToPx:function(e,t){var n=e.position(),r=e.outerWidth(),i=e.outerHeight(),a=e._private.rscratch;if(2===t.value.length){var o=[t.pfValue[0],t.pfValue[1]];return"%"===t.units[0]&&(o[0]=o[0]*r),"%"===t.units[1]&&(o[1]=o[1]*i),o[0]+=n.x,o[1]+=n.y,o}var s=t.pfValue[0];s=-Math.PI/2+s;var c=2*Math.max(r,i),l=[n.x+Math.cos(s)*c,n.y+Math.sin(s)*c];return this.nodeShapes[this.getNodeShape(e)].intersectLine(n.x,n.y,r,i,l[0],l[1],0,"auto"===e.pstyle("corner-radius").value?"auto":e.pstyle("corner-radius").pfValue,a)},findEndpoints:function(e){var t,n,r,i,a,o=this,s=e.source()[0],c=e.target()[0],l=s.position(),u=c.position(),h=e.pstyle("target-arrow-shape").value,d=e.pstyle("source-arrow-shape").value,f=e.pstyle("target-distance-from-node").pfValue,p=e.pstyle("source-distance-from-node").pfValue,m=s._private.rscratch,g=c._private.rscratch,b=e.pstyle("curve-style").value,y=e._private.rscratch,v=y.edgeType,w="self"===v||"compound"===v,x="bezier"===v||"multibezier"===v||w,k="bezier"!==v,S="straight"===v||"segments"===v,E="segments"===v,_=x||k||S,A=w||"taxi"===b,T=e.pstyle("source-endpoint"),C=A?"outside-to-node":T.value,O="auto"===s.pstyle("corner-radius").value?"auto":s.pstyle("corner-radius").pfValue,D=e.pstyle("target-endpoint"),M=A?"outside-to-node":D.value,I="auto"===c.pstyle("corner-radius").value?"auto":c.pstyle("corner-radius").pfValue;if(y.srcManEndpt=T,y.tgtManEndpt=D,x){var P=[y.ctrlpts[0],y.ctrlpts[1]];n=k?[y.ctrlpts[y.ctrlpts.length-2],y.ctrlpts[y.ctrlpts.length-1]]:P,r=P}else if(S){var N=E?y.segpts.slice(0,2):[u.x,u.y];n=E?y.segpts.slice(y.segpts.length-2):[l.x,l.y],r=N}if("inside-to-node"===M)t=[u.x,u.y];else if(D.units)t=this.manualEndptToPx(c,D);else if("outside-to-line"===M)t=y.tgtIntn;else if("outside-to-node"===M||"outside-to-node-or-label"===M?i=n:"outside-to-line"!==M&&"outside-to-line-or-label"!==M||(i=[l.x,l.y]),t=o.nodeShapes[this.getNodeShape(c)].intersectLine(u.x,u.y,c.outerWidth(),c.outerHeight(),i[0],i[1],0,I,g),"outside-to-node-or-label"===M||"outside-to-line-or-label"===M){var L=c._private.rscratch,R=L.labelWidth,j=L.labelHeight,B=L.labelX,F=L.labelY,z=R/2,$=j/2,q=c.pstyle("text-valign").value;"top"===q?F-=$:"bottom"===q&&(F+=$);var H=c.pstyle("text-halign").value;"left"===H?B-=z:"right"===H&&(B+=z);var U=oQe(i[0],i[1],[B-z,F-$,B+z,F-$,B+z,F+$,B-z,F+$],u.x,u.y);if(U.length>0){var V=l,W=IZe(V,TZe(t)),G=IZe(V,TZe(U)),K=W;if(G<W&&(t=U,K=G),U.length>2)IZe(V,{x:U[2],y:U[3]})<K&&(t=[U[2],U[3]])}}var Y=sQe(t,n,o.arrowShapes[h].spacing(e)+f),X=sQe(t,n,o.arrowShapes[h].gap(e)+f);if(y.endX=X[0],y.endY=X[1],y.arrowEndX=Y[0],y.arrowEndY=Y[1],"inside-to-node"===C)t=[l.x,l.y];else if(T.units)t=this.manualEndptToPx(s,T);else if("outside-to-line"===C)t=y.srcIntn;else if("outside-to-node"===C||"outside-to-node-or-label"===C?a=r:"outside-to-line"!==C&&"outside-to-line-or-label"!==C||(a=[u.x,u.y]),t=o.nodeShapes[this.getNodeShape(s)].intersectLine(l.x,l.y,s.outerWidth(),s.outerHeight(),a[0],a[1],0,O,m),"outside-to-node-or-label"===C||"outside-to-line-or-label"===C){var Z=s._private.rscratch,Q=Z.labelWidth,J=Z.labelHeight,ee=Z.labelX,te=Z.labelY,ne=Q/2,re=J/2,ie=s.pstyle("text-valign").value;"top"===ie?te-=re:"bottom"===ie&&(te+=re);var ae=s.pstyle("text-halign").value;"left"===ae?ee-=ne:"right"===ae&&(ee+=ne);var oe=oQe(a[0],a[1],[ee-ne,te-re,ee+ne,te-re,ee+ne,te+re,ee-ne,te+re],l.x,l.y);if(oe.length>0){var se=u,ce=IZe(se,TZe(t)),le=IZe(se,TZe(oe)),ue=ce;if(le<ce&&(t=[oe[0],oe[1]],ue=le),oe.length>2)IZe(se,{x:oe[2],y:oe[3]})<ue&&(t=[oe[2],oe[3]])}}var he=sQe(t,r,o.arrowShapes[d].spacing(e)+p),de=sQe(t,r,o.arrowShapes[d].gap(e)+p);y.startX=de[0],y.startY=de[1],y.arrowStartX=he[0],y.arrowStartY=he[1],_&&(kYe(y.startX)&&kYe(y.startY)&&kYe(y.endX)&&kYe(y.endY)?y.badLine=!1:y.badLine=!0)},getSourceEndpoint:function(e){var t=e[0]._private.rscratch;return this.recalculateRenderedStyle(e),"haystack"===t.edgeType?{x:t.haystackPts[0],y:t.haystackPts[1]}:{x:t.arrowStartX,y:t.arrowStartY}},getTargetEndpoint:function(e){var t=e[0]._private.rscratch;return this.recalculateRenderedStyle(e),"haystack"===t.edgeType?{x:t.haystackPts[2],y:t.haystackPts[3]}:{x:t.arrowEndX,y:t.arrowEndY}}},x5e={};function k5e(e,t,n){for(var r=function(e,t,n,r){return NZe(e,t,n,r)},i=t._private.rstyle.bezierPts,a=0;a<e.bezierProjPcts.length;a++){var o=e.bezierProjPcts[a];i.push({x:r(n[0],n[2],n[4],o),y:r(n[1],n[3],n[5],o)})}}x5e.storeEdgeProjections=function(e){var t=e._private,n=t.rscratch,r=n.edgeType;if(t.rstyle.bezierPts=null,t.rstyle.linePts=null,t.rstyle.haystackPts=null,"multibezier"===r||"bezier"===r||"self"===r||"compound"===r){t.rstyle.bezierPts=[];for(var i=0;i+5<n.allpts.length;i+=4)k5e(this,e,n.allpts.slice(i,i+6))}else if("segments"===r){var a=t.rstyle.linePts=[];for(i=0;i+1<n.allpts.length;i+=2)a.push({x:n.allpts[i],y:n.allpts[i+1]})}else if("haystack"===r){var o=n.haystackPts;t.rstyle.haystackPts=[{x:o[0],y:o[1]},{x:o[2],y:o[3]}]}t.rstyle.arrowWidth=this.getArrowWidth(e.pstyle("width").pfValue,e.pstyle("arrow-scale").value)*this.arrowShapeWidth},x5e.recalculateEdgeProjections=function(e){this.findEdgeControlPoints(e)};var S5e={recalculateNodeLabelProjection:function(e){var t=e.pstyle("label").strValue;if(!OYe(t)){var n,r,i=e._private,a=e.width(),o=e.height(),s=e.padding(),c=e.position(),l=e.pstyle("text-halign").strValue,u=e.pstyle("text-valign").strValue,h=i.rscratch,d=i.rstyle;switch(l){case"left":n=c.x-a/2-s;break;case"right":n=c.x+a/2+s;break;default:n=c.x}switch(u){case"top":r=c.y-o/2-s;break;case"bottom":r=c.y+o/2+s;break;default:r=c.y}h.labelX=n,h.labelY=r,d.labelX=n,d.labelY=r,this.calculateLabelAngles(e),this.applyLabelDimensions(e)}}},E5e=function(e,t){var n=Math.atan(t/e);return 0===e&&n<0&&(n*=-1),n},_5e=function(e,t){var n=t.x-e.x,r=t.y-e.y;return E5e(n,r)};S5e.recalculateEdgeLabelProjections=function(e){var t,n=e._private,r=n.rscratch,i=this,a={mid:e.pstyle("label").strValue,source:e.pstyle("source-label").strValue,target:e.pstyle("target-label").strValue};if(a.mid||a.source||a.target){t={x:r.midX,y:r.midY};var o=function(e,t,r){rZe(n.rscratch,e,t,r),rZe(n.rstyle,e,t,r)};o("labelX",null,t.x),o("labelY",null,t.y);var s=E5e(r.midDispX,r.midDispY);o("labelAutoAngle",null,s);var c=function e(){if(e.cache)return e.cache;for(var t=[],a=0;a+5<r.allpts.length;a+=4){var o={x:r.allpts[a],y:r.allpts[a+1]},s={x:r.allpts[a+2],y:r.allpts[a+3]},c={x:r.allpts[a+4],y:r.allpts[a+5]};t.push({p0:o,p1:s,p2:c,startDist:0,length:0,segments:[]})}var l=n.rstyle.bezierPts,u=i.bezierProjPcts.length;function h(e,t,n,r,i){var a=MZe(t,n),o=e.segments[e.segments.length-1],s={p0:t,p1:n,t0:r,t1:i,startDist:o?o.startDist+o.length:0,length:a};e.segments.push(s),e.length+=a}for(var d=0;d<t.length;d++){var f=t[d],p=t[d-1];p&&(f.startDist=p.startDist+p.length),h(f,f.p0,l[d*u],0,i.bezierProjPcts[0]);for(var m=0;m<u-1;m++)h(f,l[d*u+m],l[d*u+m+1],i.bezierProjPcts[m],i.bezierProjPcts[m+1]);h(f,l[d*u+u-1],f.p2,i.bezierProjPcts[u-1],1)}return e.cache=t},l=function(n){var i,s="source"===n;if(a[n]){var l=e.pstyle(n+"-text-offset").pfValue;switch(r.edgeType){case"self":case"compound":case"bezier":case"multibezier":for(var u,h=c(),d=0,f=0,p=0;p<h.length;p++){for(var m=h[s?p:h.length-1-p],g=0;g<m.segments.length;g++){var b=m.segments[s?g:m.segments.length-1-g],y=p===h.length-1&&g===m.segments.length-1;if(d=f,(f+=b.length)>=l||y){u={cp:m,segment:b};break}}if(u)break}var v=u.cp,w=u.segment,x=(l-d)/w.length,k=w.t1-w.t0,S=s?w.t0+k*x:w.t1-k*x;S=RZe(0,S,1),t=LZe(v.p0,v.p1,v.p2,S),i=function(e,t,n,r){var i=RZe(0,r-.001,1),a=RZe(0,r+.001,1),o=LZe(e,t,n,i),s=LZe(e,t,n,a);return _5e(o,s)}(v.p0,v.p1,v.p2,S);break;case"straight":case"segments":case"haystack":for(var E,_,A,T,C=0,O=r.allpts.length,D=0;D+3<O&&(s?(A={x:r.allpts[D],y:r.allpts[D+1]},T={x:r.allpts[D+2],y:r.allpts[D+3]}):(A={x:r.allpts[O-2-D],y:r.allpts[O-1-D]},T={x:r.allpts[O-4-D],y:r.allpts[O-3-D]}),_=C,!((C+=E=MZe(A,T))>=l));D+=2);var M=(l-_)/E;M=RZe(0,M,1),t=function(e,t,n,r){var i=t.x-e.x,a=t.y-e.y,o=MZe(e,t),s=i/o,c=a/o;return n=null==n?0:n,r=null!=r?r:n*o,{x:e.x+s*r,y:e.y+c*r}}(A,T,M),i=_5e(A,T)}o("labelX",n,t.x),o("labelY",n,t.y),o("labelAutoAngle",n,i)}};l("source"),l("target"),this.applyLabelDimensions(e)}},S5e.applyLabelDimensions=function(e){this.applyPrefixedLabelDimensions(e),e.isEdge()&&(this.applyPrefixedLabelDimensions(e,"source"),this.applyPrefixedLabelDimensions(e,"target"))},S5e.applyPrefixedLabelDimensions=function(e,t){var n=e._private,r=this.getLabelText(e,t),i=this.calculateLabelDimensions(e,r),a=e.pstyle("line-height").pfValue,o=e.pstyle("text-wrap").strValue,s=nZe(n.rscratch,"labelWrapCachedLines",t)||[],c="wrap"!==o?1:Math.max(s.length,1),l=i.height/c,u=l*a,h=i.width,d=i.height+(c-1)*(a-1)*l;rZe(n.rstyle,"labelWidth",t,h),rZe(n.rscratch,"labelWidth",t,h),rZe(n.rstyle,"labelHeight",t,d),rZe(n.rscratch,"labelHeight",t,d),rZe(n.rscratch,"labelLineHeight",t,u)},S5e.getLabelText=function(e,t){var n=e._private,r=t?t+"-":"",i=e.pstyle(r+"label").strValue,a=e.pstyle("text-transform").value,o=function(e,r){return r?(rZe(n.rscratch,e,t,r),r):nZe(n.rscratch,e,t)};if(!i)return"";"none"==a||("uppercase"==a?i=i.toUpperCase():"lowercase"==a&&(i=i.toLowerCase()));var s=e.pstyle("text-wrap").value;if("wrap"===s){var c=o("labelKey");if(null!=c&&o("labelWrapKey")===c)return o("labelWrapCachedText");for(var l=i.split("\n"),u=e.pstyle("text-max-width").pfValue,h="anywhere"===e.pstyle("text-overflow-wrap").value,d=[],f=/[\s\u200b]+/,p=h?"":" ",m=0;m<l.length;m++){var g=l[m],b=this.calculateLabelDimensions(e,g).width;if(h){var y=g.split("").join("​");g=y}if(b>u){for(var v=g.split(f),w="",x=0;x<v.length;x++){var k=v[x],S=0===w.length?k:w+p+k;this.calculateLabelDimensions(e,S).width<=u?w+=k+p:(w&&d.push(w),w=k+p)}w.match(/^[\s\u200b]+$/)||d.push(w)}else d.push(g)}o("labelWrapCachedLines",d),i=o("labelWrapCachedText",d.join("\n")),o("labelWrapKey",c)}else if("ellipsis"===s){var E=e.pstyle("text-max-width").pfValue,_="",A=!1;if(this.calculateLabelDimensions(e,i).width<E)return i;for(var T=0;T<i.length;T++){if(this.calculateLabelDimensions(e,_+i[T]+"…").width>E)break;_+=i[T],T===i.length-1&&(A=!0)}return A||(_+="…"),_}return i},S5e.getLabelJustification=function(e){var t=e.pstyle("text-justification").strValue,n=e.pstyle("text-halign").strValue;if("auto"!==t)return t;if(!e.isNode())return"center";switch(n){case"left":return"right";case"right":return"left";default:return"center"}},S5e.calculateLabelDimensions=function(e,t){var n=LXe(t,e._private.labelDimsKey),r=this.labelDimCache||(this.labelDimCache=[]),i=r[n];if(null!=i)return i;var a=e.pstyle("font-style").strValue,o=e.pstyle("font-size").pfValue,s=e.pstyle("font-family").strValue,c=e.pstyle("font-weight").strValue,l=this.labelCalcCanvas,u=this.labelCalcCanvasContext;if(!l){l=this.labelCalcCanvas=document.createElement("canvas"),u=this.labelCalcCanvasContext=l.getContext("2d");var h=l.style;h.position="absolute",h.left="-9999px",h.top="-9999px",h.zIndex="-1",h.visibility="hidden",h.pointerEvents="none"}u.font="".concat(a," ").concat(c," ").concat(o,"px ").concat(s);for(var d=0,f=0,p=t.split("\n"),m=0;m<p.length;m++){var g=p[m],b=u.measureText(g),y=Math.ceil(b.width),v=o;d=Math.max(y,d),f+=v}return d+=0,f+=0,r[n]={width:d,height:f}},S5e.calculateLabelAngle=function(e,t){var n=e._private.rscratch,r=e.isEdge(),i=t?t+"-":"",a=e.pstyle(i+"text-rotation"),o=a.strValue;return"none"===o?0:r&&"autorotate"===o?n.labelAutoAngle:"autorotate"===o?0:a.pfValue},S5e.calculateLabelAngles=function(e){var t=this,n=e.isEdge(),r=e._private.rscratch;r.labelAngle=t.calculateLabelAngle(e),n&&(r.sourceLabelAngle=t.calculateLabelAngle(e,"source"),r.targetLabelAngle=t.calculateLabelAngle(e,"target"))};var A5e={},T5e=!1;A5e.getNodeShape=function(e){var t=e.pstyle("shape").value;if("cutrectangle"===t&&(e.width()<28||e.height()<28))return T5e||(KXe("The `cutrectangle` node shape can not be used at small sizes so `rectangle` is used instead"),T5e=!0),"rectangle";if(e.isParent())return"rectangle"===t||"roundrectangle"===t||"round-rectangle"===t||"cutrectangle"===t||"cut-rectangle"===t||"barrel"===t?t:"rectangle";if("polygon"===t){var n=e.pstyle("shape-polygon-points").value;return this.nodeShapes.makePolygon(n).name}return t};var C5e={registerCalculationListeners:function(){var e=this.cy,t=e.collection(),n=this,r=function(e){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(t.merge(e),n)for(var r=0;r<e.length;r++){var i=e[r]._private.rstyle;i.clean=!1,i.cleanConnected=!1}};n.binder(e).on("bounds.* dirty.*",(function(e){var t=e.target;r(t)})).on("style.* background.*",(function(e){var t=e.target;r(t,!1)}));var i=function(i){if(i){var a=n.onUpdateEleCalcsFns;t.cleanStyle();for(var o=0;o<t.length;o++){var s=t[o],c=s._private.rstyle;s.isNode()&&!c.cleanConnected&&(r(s.connectedEdges()),c.cleanConnected=!0)}if(a)for(var l=0;l<a.length;l++){(0,a[l])(i,t)}n.recalculateRenderedStyle(t),t=e.collection()}};n.flushRenderedStyleQueue=function(){i(!0)},n.beforeRender(i,n.beforeRenderPriorities.eleCalcs)},onUpdateEleCalcs:function(e){(this.onUpdateEleCalcsFns=this.onUpdateEleCalcsFns||[]).push(e)},recalculateRenderedStyle:function(e,t){var n=function(e){return e._private.rstyle.cleanConnected},r=[],i=[];if(!this.destroyed){void 0===t&&(t=!0);for(var a=0;a<e.length;a++){var o=e[a],s=o._private,c=s.rstyle;!o.isEdge()||n(o.source())&&n(o.target())||(c.clean=!1),t&&c.clean||o.removed()||"none"!==o.pstyle("display").value&&("nodes"===s.group?i.push(o):r.push(o),c.clean=!0)}for(var l=0;l<i.length;l++){var u=i[l],h=u._private.rstyle,d=u.position();this.recalculateNodeLabelProjection(u),h.nodeX=d.x,h.nodeY=d.y,h.nodeW=u.pstyle("width").pfValue,h.nodeH=u.pstyle("height").pfValue}this.recalculateEdgeProjections(r);for(var f=0;f<r.length;f++){var p=r[f]._private,m=p.rstyle,g=p.rscratch;m.srcX=g.arrowStartX,m.srcY=g.arrowStartY,m.tgtX=g.arrowEndX,m.tgtY=g.arrowEndY,m.midX=g.midX,m.midY=g.midY,m.labelAngle=g.labelAngle,m.sourceLabelAngle=g.sourceLabelAngle,m.targetLabelAngle=g.targetLabelAngle}}}},O5e={updateCachedGrabbedEles:function(){var e=this.cachedZSortedEles;if(e){e.drag=[],e.nondrag=[];for(var t=[],n=0;n<e.length;n++){var r=(i=e[n])._private.rscratch;i.grabbed()&&!i.isParent()?t.push(i):r.inDragLayer?e.drag.push(i):e.nondrag.push(i)}for(n=0;n<t.length;n++){var i=t[n];e.drag.push(i)}}},invalidateCachedZSortedEles:function(){this.cachedZSortedEles=null},getCachedZSortedEles:function(e){if(e||!this.cachedZSortedEles){var t=this.cy.mutableElements().toArray();t.sort(V2e),t.interactive=t.filter((function(e){return e.interactive()})),this.cachedZSortedEles=t,this.updateCachedGrabbedEles()}else t=this.cachedZSortedEles;return t}},D5e={};[G4e,K4e,y5e,w5e,x5e,S5e,A5e,C5e,O5e].forEach((function(e){qYe(D5e,e)}));var M5e={getCachedImage:function(e,t,n){var r=this.imageCache=this.imageCache||{},i=r[e];if(i)return i.image.complete||i.image.addEventListener("load",n),i.image;var a=(i=r[e]=r[e]||{}).image=new Image;a.addEventListener("load",n),a.addEventListener("error",(function(){a.error=!0}));var o="data:";return e.substring(0,5).toLowerCase()===o||(t="null"===t?null:t,a.crossOrigin=t),a.src=e,a}},I5e={registerBinding:function(e,t,n,r){var i=Array.prototype.slice.apply(arguments,[1]),a=this.binder(e);return a.on.apply(a,i)}};I5e.binder=function(e){var t,n=this,r=n.cy.window(),i=e===r||e===r.document||e===r.document.body||(t=e,"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(e){}n.supportsPassiveEvents=a}var s=function(t,r,a){var o=Array.prototype.slice.call(arguments);return i&&n.supportsPassiveEvents&&(o[2]={capture:null!=a&&a,passive:!1,once:!1}),n.bindings.push({target:e,args:o}),(e.addEventListener||e.on).apply(e,o),this};return{on:s,addEventListener:s,addListener:s,bind:s}},I5e.nodeIsDraggable=function(e){return e&&e.isNode()&&!e.locked()&&e.grabbable()},I5e.nodeIsGrabbable=function(e){return this.nodeIsDraggable(e)&&e.interactive()},I5e.load=function(){var e=this,t=e.cy.window(),n=function(e){return e.selected()},r=function(t,n,r,i){null==t&&(t=e.cy);for(var a=0;a<n.length;a++){var o=n[a];t.emit({originalEvent:r,type:o,position:i})}},i=function(e){return e.shiftKey||e.metaKey||e.ctrlKey},a=function(t,n){var r=!0;if(e.cy.hasCompoundNodes()&&t&&t.pannable())for(var i=0;n&&i<n.length;i++){if((t=n[i]).isNode()&&t.isParent()&&!t.pannable()){r=!1;break}}else r=!0;return r},o=function(e){e[0]._private.rscratch.inDragLayer=!0},s=function(e){e[0]._private.rscratch.isGrabTarget=!0},c=function(e,t){var n=t.addToList;n.has(e)||!e.grabbable()||e.locked()||(n.merge(e),function(e){e[0]._private.grabbed=!0}(e))},l=function(t,n){n=n||{};var r=t.cy().hasCompoundNodes();n.inDragLayer&&(t.forEach(o),t.neighborhood().stdFilter((function(e){return!r||e.isEdge()})).forEach(o)),n.addToList&&t.forEach((function(e){c(e,n)})),function(e,t){if(e.cy().hasCompoundNodes()&&(null!=t.inDragLayer||null!=t.addToList)){var n=e.descendants();t.inDragLayer&&(n.forEach(o),n.connectedEdges().forEach(o)),t.addToList&&c(n,t)}}(t,n),d(t,{inDragLayer:n.inDragLayer}),e.updateCachedGrabbedEles()},u=l,h=function(t){t&&(e.getCachedZSortedEles().forEach((function(e){!function(e){e[0]._private.grabbed=!1}(e),function(e){e[0]._private.rscratch.inDragLayer=!1}(e),function(e){e[0]._private.rscratch.isGrabTarget=!1}(e)})),e.updateCachedGrabbedEles())},d=function(e,t){if((null!=t.inDragLayer||null!=t.addToList)&&e.cy().hasCompoundNodes()){var n=e.ancestors().orphans();if(!n.same(e)){var r=n.descendants().spawnSelf().merge(n).unmerge(e).unmerge(e.descendants()),i=r.connectedEdges();t.inDragLayer&&(i.forEach(o),r.forEach(o)),t.addToList&&r.forEach((function(e){c(e,t)}))}}},f=function(){null!=document.activeElement&&null!=document.activeElement.blur&&document.activeElement.blur()},p="undefined"!=typeof MutationObserver,m="undefined"!=typeof ResizeObserver;p?(e.removeObserver=new MutationObserver((function(t){for(var n=0;n<t.length;n++){var r=t[n].removedNodes;if(r)for(var i=0;i<r.length;i++){if(r[i]===e.container){e.destroy();break}}}})),e.container.parentNode&&e.removeObserver.observe(e.container.parentNode,{childList:!0})):e.registerBinding(e.container,"DOMNodeRemoved",(function(t){e.destroy()}));var g=kXe((function(){e.cy.resize()}),100);p&&(e.styleObserver=new MutationObserver(g),e.styleObserver.observe(e.container,{attributes:!0})),e.registerBinding(t,"resize",g),m&&(e.resizeObserver=new ResizeObserver(g),e.resizeObserver.observe(e.container));var b=function(){e.invalidateContainerClientCoordsCache()};!function(e,t){for(;null!=e;)t(e),e=e.parentNode}(e.container,(function(t){e.registerBinding(t,"transitionend",b),e.registerBinding(t,"animationend",b),e.registerBinding(t,"scroll",b)})),e.registerBinding(e.container,"contextmenu",(function(e){e.preventDefault()}));var y,v,w,x=function(t){for(var n=e.findContainerClientCoords(),r=n[0],i=n[1],a=n[2],o=n[3],s=t.touches?t.touches:[t],c=!1,l=0;l<s.length;l++){var u=s[l];if(r<=u.clientX&&u.clientX<=r+a&&i<=u.clientY&&u.clientY<=i+o){c=!0;break}}if(!c)return!1;for(var h=e.container,d=t.target.parentNode,f=!1;d;){if(d===h){f=!0;break}d=d.parentNode}return!!f};e.registerBinding(e.container,"mousedown",(function(t){if(x(t)){t.preventDefault(),f(),e.hoverData.capture=!0,e.hoverData.which=t.which;var n=e.cy,i=[t.clientX,t.clientY],a=e.projectIntoViewport(i[0],i[1]),o=e.selection,c=e.findNearestElements(a[0],a[1],!0,!1),h=c[0],d=e.dragData.possibleDragElements;e.hoverData.mdownPos=a,e.hoverData.mdownGPos=i;if(3==t.which){e.hoverData.cxtStarted=!0;var p={originalEvent:t,type:"cxttapstart",position:{x:a[0],y:a[1]}};h?(h.activate(),h.emit(p),e.hoverData.down=h):n.emit(p),e.hoverData.downTime=(new Date).getTime(),e.hoverData.cxtDragged=!1}else if(1==t.which){if(h&&h.activate(),null!=h&&e.nodeIsGrabbable(h)){var m=function(e){return{originalEvent:t,type:e,position:{x:a[0],y:a[1]}}};if(s(h),h.selected()){d=e.dragData.possibleDragElements=n.collection();var g=n.$((function(t){return t.isNode()&&t.selected()&&e.nodeIsGrabbable(t)}));l(g,{addToList:d}),h.emit(m("grabon")),g.forEach((function(e){e.emit(m("grab"))}))}else d=e.dragData.possibleDragElements=n.collection(),u(h,{addToList:d}),h.emit(m("grabon")).emit(m("grab"));e.redrawHint("eles",!0),e.redrawHint("drag",!0)}e.hoverData.down=h,e.hoverData.downs=c,e.hoverData.downTime=(new Date).getTime(),r(h,["mousedown","tapstart","vmousedown"],t,{x:a[0],y:a[1]}),null==h?(o[4]=1,e.data.bgActivePosistion={x:a[0],y:a[1]},e.redrawHint("select",!0),e.redraw()):h.pannable()&&(o[4]=1),e.hoverData.tapholdCancelled=!1,clearTimeout(e.hoverData.tapholdTimeout),e.hoverData.tapholdTimeout=setTimeout((function(){if(!e.hoverData.tapholdCancelled){var r=e.hoverData.down;r?r.emit({originalEvent:t,type:"taphold",position:{x:a[0],y:a[1]}}):n.emit({originalEvent:t,type:"taphold",position:{x:a[0],y:a[1]}})}}),e.tapholdDuration)}o[0]=o[2]=a[0],o[1]=o[3]=a[1]}}),!1),e.registerBinding(t,"mousemove",(function(t){if(e.hoverData.capture||x(t)){var n=!1,o=e.cy,s=o.zoom(),c=[t.clientX,t.clientY],u=e.projectIntoViewport(c[0],c[1]),d=e.hoverData.mdownPos,f=e.hoverData.mdownGPos,p=e.selection,m=null;e.hoverData.draggingEles||e.hoverData.dragging||e.hoverData.selecting||(m=e.findNearestElement(u[0],u[1],!0,!1));var g,b=e.hoverData.last,y=e.hoverData.down,v=[u[0]-p[2],u[1]-p[3]],w=e.dragData.possibleDragElements;if(f){var k=c[0]-f[0],S=k*k,E=c[1]-f[1],_=S+E*E;e.hoverData.isOverThresholdDrag=g=_>=e.desktopTapThreshold2}var A=i(t);g&&(e.hoverData.tapholdCancelled=!0);n=!0,r(m,["mousemove","vmousemove","tapdrag"],t,{x:u[0],y:u[1]});var T=function(){e.data.bgActivePosistion=void 0,e.hoverData.selecting||o.emit({originalEvent:t,type:"boxstart",position:{x:u[0],y:u[1]}}),p[4]=1,e.hoverData.selecting=!0,e.redrawHint("select",!0),e.redraw()};if(3===e.hoverData.which){if(g){var C={originalEvent:t,type:"cxtdrag",position:{x:u[0],y:u[1]}};y?y.emit(C):o.emit(C),e.hoverData.cxtDragged=!0,e.hoverData.cxtOver&&m===e.hoverData.cxtOver||(e.hoverData.cxtOver&&e.hoverData.cxtOver.emit({originalEvent:t,type:"cxtdragout",position:{x:u[0],y:u[1]}}),e.hoverData.cxtOver=m,m&&m.emit({originalEvent:t,type:"cxtdragover",position:{x:u[0],y:u[1]}}))}}else if(e.hoverData.dragging){if(n=!0,o.panningEnabled()&&o.userPanningEnabled()){var O;if(e.hoverData.justStartedPan){var D=e.hoverData.mdownPos;O={x:(u[0]-D[0])*s,y:(u[1]-D[1])*s},e.hoverData.justStartedPan=!1}else O={x:v[0]*s,y:v[1]*s};o.panBy(O),o.emit("dragpan"),e.hoverData.dragged=!0}u=e.projectIntoViewport(t.clientX,t.clientY)}else if(1!=p[4]||null!=y&&!y.pannable()){if(y&&y.pannable()&&y.active()&&y.unactivate(),y&&y.grabbed()||m==b||(b&&r(b,["mouseout","tapdragout"],t,{x:u[0],y:u[1]}),m&&r(m,["mouseover","tapdragover"],t,{x:u[0],y:u[1]}),e.hoverData.last=m),y)if(g){if(o.boxSelectionEnabled()&&A)y&&y.grabbed()&&(h(w),y.emit("freeon"),w.emit("free"),e.dragData.didDrag&&(y.emit("dragfreeon"),w.emit("dragfree"))),T();else if(y&&y.grabbed()&&e.nodeIsDraggable(y)){var M=!e.dragData.didDrag;M&&e.redrawHint("eles",!0),e.dragData.didDrag=!0,e.hoverData.draggingEles||l(w,{inDragLayer:!0});var I={x:0,y:0};if(kYe(v[0])&&kYe(v[1])&&(I.x+=v[0],I.y+=v[1],M)){var P=e.hoverData.dragDelta;P&&kYe(P[0])&&kYe(P[1])&&(I.x+=P[0],I.y+=P[1])}e.hoverData.draggingEles=!0,w.silentShift(I).emit("position drag"),e.redrawHint("drag",!0),e.redraw()}}else!function(){var t=e.hoverData.dragDelta=e.hoverData.dragDelta||[];0===t.length?(t.push(v[0]),t.push(v[1])):(t[0]+=v[0],t[1]+=v[1])}();n=!0}else if(g){if(e.hoverData.dragging||!o.boxSelectionEnabled()||!A&&o.panningEnabled()&&o.userPanningEnabled()){if(!e.hoverData.selecting&&o.panningEnabled()&&o.userPanningEnabled()){a(y,e.hoverData.downs)&&(e.hoverData.dragging=!0,e.hoverData.justStartedPan=!0,p[4]=0,e.data.bgActivePosistion=TZe(d),e.redrawHint("select",!0),e.redraw())}}else T();y&&y.pannable()&&y.active()&&y.unactivate()}return p[2]=u[0],p[3]=u[1],n?(t.stopPropagation&&t.stopPropagation(),t.preventDefault&&t.preventDefault(),!1):void 0}}),!1),e.registerBinding(t,"mouseup",(function(t){if(e.hoverData.capture){e.hoverData.capture=!1;var a=e.cy,o=e.projectIntoViewport(t.clientX,t.clientY),s=e.selection,c=e.findNearestElement(o[0],o[1],!0,!1),l=e.dragData.possibleDragElements,u=e.hoverData.down,d=i(t);if(e.data.bgActivePosistion&&(e.redrawHint("select",!0),e.redraw()),e.hoverData.tapholdCancelled=!0,e.data.bgActivePosistion=void 0,u&&u.unactivate(),3===e.hoverData.which){var f={originalEvent:t,type:"cxttapend",position:{x:o[0],y:o[1]}};if(u?u.emit(f):a.emit(f),!e.hoverData.cxtDragged){var p={originalEvent:t,type:"cxttap",position:{x:o[0],y:o[1]}};u?u.emit(p):a.emit(p)}e.hoverData.cxtDragged=!1,e.hoverData.which=null}else if(1===e.hoverData.which){if(r(c,["mouseup","tapend","vmouseup"],t,{x:o[0],y:o[1]}),e.dragData.didDrag||e.hoverData.dragged||e.hoverData.selecting||e.hoverData.isOverThresholdDrag||(r(u,["click","tap","vclick"],t,{x:o[0],y:o[1]}),v=!1,t.timeStamp-w<=a.multiClickDebounceTime()?(y&&clearTimeout(y),v=!0,w=null,r(u,["dblclick","dbltap","vdblclick"],t,{x:o[0],y:o[1]})):(y=setTimeout((function(){v||r(u,["oneclick","onetap","voneclick"],t,{x:o[0],y:o[1]})}),a.multiClickDebounceTime()),w=t.timeStamp)),null!=u||e.dragData.didDrag||e.hoverData.selecting||e.hoverData.dragged||i(t)||(a.$(n).unselect(["tapunselect"]),l.length>0&&e.redrawHint("eles",!0),e.dragData.possibleDragElements=l=a.collection()),c!=u||e.dragData.didDrag||e.hoverData.selecting||null!=c&&c._private.selectable&&(e.hoverData.dragging||("additive"===a.selectionType()||d?c.selected()?c.unselect(["tapunselect"]):c.select(["tapselect"]):d||(a.$(n).unmerge(c).unselect(["tapunselect"]),c.select(["tapselect"]))),e.redrawHint("eles",!0)),e.hoverData.selecting){var m=a.collection(e.getAllInBox(s[0],s[1],s[2],s[3]));e.redrawHint("select",!0),m.length>0&&e.redrawHint("eles",!0),a.emit({type:"boxend",originalEvent:t,position:{x:o[0],y:o[1]}});var g=function(e){return e.selectable()&&!e.selected()};"additive"===a.selectionType()||d||a.$(n).unmerge(m).unselect(),m.emit("box").stdFilter(g).select().emit("boxselect"),e.redraw()}if(e.hoverData.dragging&&(e.hoverData.dragging=!1,e.redrawHint("select",!0),e.redrawHint("eles",!0),e.redraw()),!s[4]){e.redrawHint("drag",!0),e.redrawHint("eles",!0);var b=u&&u.grabbed();h(l),b&&(u.emit("freeon"),l.emit("free"),e.dragData.didDrag&&(u.emit("dragfreeon"),l.emit("dragfree")))}}s[4]=0,e.hoverData.down=null,e.hoverData.cxtStarted=!1,e.hoverData.draggingEles=!1,e.hoverData.selecting=!1,e.hoverData.isOverThresholdDrag=!1,e.dragData.didDrag=!1,e.hoverData.dragged=!1,e.hoverData.dragDelta=[],e.hoverData.mdownPos=null,e.hoverData.mdownGPos=null}}),!1);var k,S,E,_,A,T,C,O,D,M,I,P,N,L=function(t){if(!e.scrollingPage){var n=e.cy,r=n.zoom(),i=n.pan(),a=e.projectIntoViewport(t.clientX,t.clientY),o=[a[0]*r+i.x,a[1]*r+i.y];if(e.hoverData.draggingEles||e.hoverData.dragging||e.hoverData.cxtStarted||0!==e.selection[4])t.preventDefault();else if(n.panningEnabled()&&n.userPanningEnabled()&&n.zoomingEnabled()&&n.userZoomingEnabled()){var s;t.preventDefault(),e.data.wheelZooming=!0,clearTimeout(e.data.wheelTimeout),e.data.wheelTimeout=setTimeout((function(){e.data.wheelZooming=!1,e.redrawHint("eles",!0),e.redraw()}),150),s=null!=t.deltaY?t.deltaY/-250:null!=t.wheelDeltaY?t.wheelDeltaY/1e3:t.wheelDelta/1e3,s*=e.wheelSensitivity,1===t.deltaMode&&(s*=33);var c=n.zoom()*Math.pow(10,s);"gesturechange"===t.type&&(c=e.gestureStartZoom*t.scale),n.zoom({level:c,renderedPosition:{x:o[0],y:o[1]}}),n.emit("gesturechange"===t.type?"pinchzoom":"scrollzoom")}}};e.registerBinding(e.container,"wheel",L,!0),e.registerBinding(t,"scroll",(function(t){e.scrollingPage=!0,clearTimeout(e.scrollingPageTimeout),e.scrollingPageTimeout=setTimeout((function(){e.scrollingPage=!1}),250)}),!0),e.registerBinding(e.container,"gesturestart",(function(t){e.gestureStartZoom=e.cy.zoom(),e.hasTouchStarted||t.preventDefault()}),!0),e.registerBinding(e.container,"gesturechange",(function(t){e.hasTouchStarted||L(t)}),!0),e.registerBinding(e.container,"mouseout",(function(t){var n=e.projectIntoViewport(t.clientX,t.clientY);e.cy.emit({originalEvent:t,type:"mouseout",position:{x:n[0],y:n[1]}})}),!1),e.registerBinding(e.container,"mouseover",(function(t){var n=e.projectIntoViewport(t.clientX,t.clientY);e.cy.emit({originalEvent:t,type:"mouseover",position:{x:n[0],y:n[1]}})}),!1);var R,j,B,F,z,$,q,H=function(e,t,n,r){return Math.sqrt((n-e)*(n-e)+(r-t)*(r-t))},U=function(e,t,n,r){return(n-e)*(n-e)+(r-t)*(r-t)};if(e.registerBinding(e.container,"touchstart",R=function(t){if(e.hasTouchStarted=!0,x(t)){f(),e.touchData.capture=!0,e.data.bgActivePosistion=void 0;var n=e.cy,i=e.touchData.now,a=e.touchData.earlier;if(t.touches[0]){var o=e.projectIntoViewport(t.touches[0].clientX,t.touches[0].clientY);i[0]=o[0],i[1]=o[1]}if(t.touches[1]){o=e.projectIntoViewport(t.touches[1].clientX,t.touches[1].clientY);i[2]=o[0],i[3]=o[1]}if(t.touches[2]){o=e.projectIntoViewport(t.touches[2].clientX,t.touches[2].clientY);i[4]=o[0],i[5]=o[1]}if(t.touches[1]){e.touchData.singleTouchMoved=!0,h(e.dragData.touchDragEles);var c=e.findContainerClientCoords();D=c[0],M=c[1],I=c[2],P=c[3],k=t.touches[0].clientX-D,S=t.touches[0].clientY-M,E=t.touches[1].clientX-D,_=t.touches[1].clientY-M,N=0<=k&&k<=I&&0<=E&&E<=I&&0<=S&&S<=P&&0<=_&&_<=P;var d=n.pan(),p=n.zoom();A=H(k,S,E,_),T=U(k,S,E,_),O=[((C=[(k+E)/2,(S+_)/2])[0]-d.x)/p,(C[1]-d.y)/p];if(T<4e4&&!t.touches[2]){var m=e.findNearestElement(i[0],i[1],!0,!0),g=e.findNearestElement(i[2],i[3],!0,!0);return m&&m.isNode()?(m.activate().emit({originalEvent:t,type:"cxttapstart",position:{x:i[0],y:i[1]}}),e.touchData.start=m):g&&g.isNode()?(g.activate().emit({originalEvent:t,type:"cxttapstart",position:{x:i[0],y:i[1]}}),e.touchData.start=g):n.emit({originalEvent:t,type:"cxttapstart",position:{x:i[0],y:i[1]}}),e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxt=!0,e.touchData.cxtDragged=!1,e.data.bgActivePosistion=void 0,void e.redraw()}}if(t.touches[2])n.boxSelectionEnabled()&&t.preventDefault();else if(t.touches[1]);else if(t.touches[0]){var b=e.findNearestElements(i[0],i[1],!0,!0),y=b[0];if(null!=y&&(y.activate(),e.touchData.start=y,e.touchData.starts=b,e.nodeIsGrabbable(y))){var v=e.dragData.touchDragEles=n.collection(),w=null;e.redrawHint("eles",!0),e.redrawHint("drag",!0),y.selected()?(w=n.$((function(t){return t.selected()&&e.nodeIsGrabbable(t)})),l(w,{addToList:v})):u(y,{addToList:v}),s(y);var L=function(e){return{originalEvent:t,type:e,position:{x:i[0],y:i[1]}}};y.emit(L("grabon")),w?w.forEach((function(e){e.emit(L("grab"))})):y.emit(L("grab"))}r(y,["touchstart","tapstart","vmousedown"],t,{x:i[0],y:i[1]}),null==y&&(e.data.bgActivePosistion={x:o[0],y:o[1]},e.redrawHint("select",!0),e.redraw()),e.touchData.singleTouchMoved=!1,e.touchData.singleTouchStartTime=+new Date,clearTimeout(e.touchData.tapholdTimeout),e.touchData.tapholdTimeout=setTimeout((function(){!1!==e.touchData.singleTouchMoved||e.pinching||e.touchData.selecting||r(e.touchData.start,["taphold"],t,{x:i[0],y:i[1]})}),e.tapholdDuration)}if(t.touches.length>=1){for(var R=e.touchData.startPosition=[null,null,null,null,null,null],j=0;j<i.length;j++)R[j]=a[j]=i[j];var B=t.touches[0];e.touchData.startGPosition=[B.clientX,B.clientY]}}},!1),e.registerBinding(window,"touchmove",j=function(t){var n=e.touchData.capture;if(n||x(t)){var i=e.selection,o=e.cy,s=e.touchData.now,c=e.touchData.earlier,u=o.zoom();if(t.touches[0]){var d=e.projectIntoViewport(t.touches[0].clientX,t.touches[0].clientY);s[0]=d[0],s[1]=d[1]}if(t.touches[1]){d=e.projectIntoViewport(t.touches[1].clientX,t.touches[1].clientY);s[2]=d[0],s[3]=d[1]}if(t.touches[2]){d=e.projectIntoViewport(t.touches[2].clientX,t.touches[2].clientY);s[4]=d[0],s[5]=d[1]}var f,p=e.touchData.startGPosition;if(n&&t.touches[0]&&p){for(var m=[],g=0;g<s.length;g++)m[g]=s[g]-c[g];var b=t.touches[0].clientX-p[0],y=b*b,v=t.touches[0].clientY-p[1];f=y+v*v>=e.touchTapThreshold2}if(n&&e.touchData.cxt){t.preventDefault();var w=t.touches[0].clientX-D,C=t.touches[0].clientY-M,I=t.touches[1].clientX-D,P=t.touches[1].clientY-M,L=U(w,C,I,P);if(L/T>=2.25||L>=22500){e.touchData.cxt=!1,e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);var R={originalEvent:t,type:"cxttapend",position:{x:s[0],y:s[1]}};e.touchData.start?(e.touchData.start.unactivate().emit(R),e.touchData.start=null):o.emit(R)}}if(n&&e.touchData.cxt){R={originalEvent:t,type:"cxtdrag",position:{x:s[0],y:s[1]}};e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),e.touchData.start?e.touchData.start.emit(R):o.emit(R),e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxtDragged=!0;var j=e.findNearestElement(s[0],s[1],!0,!0);e.touchData.cxtOver&&j===e.touchData.cxtOver||(e.touchData.cxtOver&&e.touchData.cxtOver.emit({originalEvent:t,type:"cxtdragout",position:{x:s[0],y:s[1]}}),e.touchData.cxtOver=j,j&&j.emit({originalEvent:t,type:"cxtdragover",position:{x:s[0],y:s[1]}}))}else if(n&&t.touches[2]&&o.boxSelectionEnabled())t.preventDefault(),e.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,e.touchData.selecting||o.emit({originalEvent:t,type:"boxstart",position:{x:s[0],y:s[1]}}),e.touchData.selecting=!0,e.touchData.didSelect=!0,i[4]=1,i&&0!==i.length&&void 0!==i[0]?(i[2]=(s[0]+s[2]+s[4])/3,i[3]=(s[1]+s[3]+s[5])/3):(i[0]=(s[0]+s[2]+s[4])/3,i[1]=(s[1]+s[3]+s[5])/3,i[2]=(s[0]+s[2]+s[4])/3+1,i[3]=(s[1]+s[3]+s[5])/3+1),e.redrawHint("select",!0),e.redraw();else if(n&&t.touches[1]&&!e.touchData.didSelect&&o.zoomingEnabled()&&o.panningEnabled()&&o.userZoomingEnabled()&&o.userPanningEnabled()){if(t.preventDefault(),e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),J=e.dragData.touchDragEles){e.redrawHint("drag",!0);for(var B=0;B<J.length;B++){var F=J[B]._private;F.grabbed=!1,F.rscratch.inDragLayer=!1}}var z=e.touchData.start,$=(w=t.touches[0].clientX-D,C=t.touches[0].clientY-M,I=t.touches[1].clientX-D,P=t.touches[1].clientY-M,H(w,C,I,P)),q=$/A;if(N){var V=(w-k+(I-E))/2,W=(C-S+(P-_))/2,G=o.zoom(),K=G*q,Y=o.pan(),X=O[0]*G+Y.x,Z=O[1]*G+Y.y,Q={x:-K/G*(X-Y.x-V)+X,y:-K/G*(Z-Y.y-W)+Z};if(z&&z.active()){var J=e.dragData.touchDragEles;h(J),e.redrawHint("drag",!0),e.redrawHint("eles",!0),z.unactivate().emit("freeon"),J.emit("free"),e.dragData.didDrag&&(z.emit("dragfreeon"),J.emit("dragfree"))}o.viewport({zoom:K,pan:Q,cancelOnFailedZoom:!0}),o.emit("pinchzoom"),A=$,k=w,S=C,E=I,_=P,e.pinching=!0}if(t.touches[0]){d=e.projectIntoViewport(t.touches[0].clientX,t.touches[0].clientY);s[0]=d[0],s[1]=d[1]}if(t.touches[1]){d=e.projectIntoViewport(t.touches[1].clientX,t.touches[1].clientY);s[2]=d[0],s[3]=d[1]}if(t.touches[2]){d=e.projectIntoViewport(t.touches[2].clientX,t.touches[2].clientY);s[4]=d[0],s[5]=d[1]}}else if(t.touches[0]&&!e.touchData.didSelect){var ee=e.touchData.start,te=e.touchData.last;if(e.hoverData.draggingEles||e.swipePanning||(j=e.findNearestElement(s[0],s[1],!0,!0)),n&&null!=ee&&t.preventDefault(),n&&null!=ee&&e.nodeIsDraggable(ee))if(f){J=e.dragData.touchDragEles;var ne=!e.dragData.didDrag;ne&&l(J,{inDragLayer:!0}),e.dragData.didDrag=!0;var re={x:0,y:0};if(kYe(m[0])&&kYe(m[1]))if(re.x+=m[0],re.y+=m[1],ne)e.redrawHint("eles",!0),(ie=e.touchData.dragDelta)&&kYe(ie[0])&&kYe(ie[1])&&(re.x+=ie[0],re.y+=ie[1]);e.hoverData.draggingEles=!0,J.silentShift(re).emit("position drag"),e.redrawHint("drag",!0),e.touchData.startPosition[0]==c[0]&&e.touchData.startPosition[1]==c[1]&&e.redrawHint("eles",!0),e.redraw()}else{var ie;0===(ie=e.touchData.dragDelta=e.touchData.dragDelta||[]).length?(ie.push(m[0]),ie.push(m[1])):(ie[0]+=m[0],ie[1]+=m[1])}if(r(ee||j,["touchmove","tapdrag","vmousemove"],t,{x:s[0],y:s[1]}),ee&&ee.grabbed()||j==te||(te&&te.emit({originalEvent:t,type:"tapdragout",position:{x:s[0],y:s[1]}}),j&&j.emit({originalEvent:t,type:"tapdragover",position:{x:s[0],y:s[1]}})),e.touchData.last=j,n)for(B=0;B<s.length;B++)s[B]&&e.touchData.startPosition[B]&&f&&(e.touchData.singleTouchMoved=!0);if(n&&(null==ee||ee.pannable())&&o.panningEnabled()&&o.userPanningEnabled()){a(ee,e.touchData.starts)&&(t.preventDefault(),e.data.bgActivePosistion||(e.data.bgActivePosistion=TZe(e.touchData.startPosition)),e.swipePanning?(o.panBy({x:m[0]*u,y:m[1]*u}),o.emit("dragpan")):f&&(e.swipePanning=!0,o.panBy({x:b*u,y:v*u}),o.emit("dragpan"),ee&&(ee.unactivate(),e.redrawHint("select",!0),e.touchData.start=null)));d=e.projectIntoViewport(t.touches[0].clientX,t.touches[0].clientY);s[0]=d[0],s[1]=d[1]}}for(g=0;g<s.length;g++)c[g]=s[g];n&&t.touches.length>0&&!e.hoverData.draggingEles&&!e.swipePanning&&null!=e.data.bgActivePosistion&&(e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),e.redraw())}},!1),e.registerBinding(t,"touchcancel",B=function(t){var n=e.touchData.start;e.touchData.capture=!1,n&&n.unactivate()}),e.registerBinding(t,"touchend",F=function(t){var i=e.touchData.start;if(e.touchData.capture){0===t.touches.length&&(e.touchData.capture=!1),t.preventDefault();var a=e.selection;e.swipePanning=!1,e.hoverData.draggingEles=!1;var o,s=e.cy,c=s.zoom(),l=e.touchData.now,u=e.touchData.earlier;if(t.touches[0]){var d=e.projectIntoViewport(t.touches[0].clientX,t.touches[0].clientY);l[0]=d[0],l[1]=d[1]}if(t.touches[1]){d=e.projectIntoViewport(t.touches[1].clientX,t.touches[1].clientY);l[2]=d[0],l[3]=d[1]}if(t.touches[2]){d=e.projectIntoViewport(t.touches[2].clientX,t.touches[2].clientY);l[4]=d[0],l[5]=d[1]}if(i&&i.unactivate(),e.touchData.cxt){if(o={originalEvent:t,type:"cxttapend",position:{x:l[0],y:l[1]}},i?i.emit(o):s.emit(o),!e.touchData.cxtDragged){var f={originalEvent:t,type:"cxttap",position:{x:l[0],y:l[1]}};i?i.emit(f):s.emit(f)}return e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxt=!1,e.touchData.start=null,void e.redraw()}if(!t.touches[2]&&s.boxSelectionEnabled()&&e.touchData.selecting){e.touchData.selecting=!1;var p=s.collection(e.getAllInBox(a[0],a[1],a[2],a[3]));a[0]=void 0,a[1]=void 0,a[2]=void 0,a[3]=void 0,a[4]=0,e.redrawHint("select",!0),s.emit({type:"boxend",originalEvent:t,position:{x:l[0],y:l[1]}});p.emit("box").stdFilter((function(e){return e.selectable()&&!e.selected()})).select().emit("boxselect"),p.nonempty()&&e.redrawHint("eles",!0),e.redraw()}if(null!=i&&i.unactivate(),t.touches[2])e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);else if(t.touches[1]);else if(t.touches[0]);else if(!t.touches[0]){e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);var m=e.dragData.touchDragEles;if(null!=i){var g=i._private.grabbed;h(m),e.redrawHint("drag",!0),e.redrawHint("eles",!0),g&&(i.emit("freeon"),m.emit("free"),e.dragData.didDrag&&(i.emit("dragfreeon"),m.emit("dragfree"))),r(i,["touchend","tapend","vmouseup","tapdragout"],t,{x:l[0],y:l[1]}),i.unactivate(),e.touchData.start=null}else{var b=e.findNearestElement(l[0],l[1],!0,!0);r(b,["touchend","tapend","vmouseup","tapdragout"],t,{x:l[0],y:l[1]})}var y=e.touchData.startPosition[0]-l[0],v=y*y,w=e.touchData.startPosition[1]-l[1],x=(v+w*w)*c*c;e.touchData.singleTouchMoved||(i||s.$(":selected").unselect(["tapunselect"]),r(i,["tap","vclick"],t,{x:l[0],y:l[1]}),z=!1,t.timeStamp-q<=s.multiClickDebounceTime()?($&&clearTimeout($),z=!0,q=null,r(i,["dbltap","vdblclick"],t,{x:l[0],y:l[1]})):($=setTimeout((function(){z||r(i,["onetap","voneclick"],t,{x:l[0],y:l[1]})}),s.multiClickDebounceTime()),q=t.timeStamp)),null!=i&&!e.dragData.didDrag&&i._private.selectable&&x<e.touchTapThreshold2&&!e.pinching&&("single"===s.selectionType()?(s.$(n).unmerge(i).unselect(["tapunselect"]),i.select(["tapselect"])):i.selected()?i.unselect(["tapunselect"]):i.select(["tapselect"]),e.redrawHint("eles",!0)),e.touchData.singleTouchMoved=!0}for(var k=0;k<l.length;k++)u[k]=l[k];e.dragData.didDrag=!1,0===t.touches.length&&(e.touchData.dragDelta=[],e.touchData.startPosition=[null,null,null,null,null,null],e.touchData.startGPosition=null,e.touchData.didSelect=!1),t.touches.length<2&&(1===t.touches.length&&(e.touchData.startGPosition=[t.touches[0].clientX,t.touches[0].clientY]),e.pinching=!1,e.redrawHint("eles",!0),e.redraw())}},!1),"undefined"==typeof TouchEvent){var V=[],W=function(e){return{clientX:e.clientX,clientY:e.clientY,force:1,identifier:e.pointerId,pageX:e.pageX,pageY:e.pageY,radiusX:e.width/2,radiusY:e.height/2,screenX:e.screenX,screenY:e.screenY,target:e.target}},G=function(e){V.push(function(e){return{event:e,touch:W(e)}}(e))},K=function(e){for(var t=0;t<V.length;t++){if(V[t].event.pointerId===e.pointerId)return void V.splice(t,1)}},Y=function(e){e.touches=V.map((function(e){return e.touch}))},X=function(e){return"mouse"===e.pointerType||4===e.pointerType};e.registerBinding(e.container,"pointerdown",(function(e){X(e)||(e.preventDefault(),G(e),Y(e),R(e))})),e.registerBinding(e.container,"pointerup",(function(e){X(e)||(K(e),Y(e),F(e))})),e.registerBinding(e.container,"pointercancel",(function(e){X(e)||(K(e),Y(e),B())})),e.registerBinding(e.container,"pointermove",(function(e){X(e)||(e.preventDefault(),function(e){var t=V.filter((function(t){return t.event.pointerId===e.pointerId}))[0];t.event=e,t.touch=W(e)}(e),Y(e),j(e))}))}};var P5e={generatePolygon:function(e,t){return this.nodeShapes[e]={renderer:this,name:e,points:t,draw:function(e,t,n,r,i,a){this.renderer.nodeShapeImpl("polygon",e,t,n,r,i,this.points)},intersectLine:function(e,t,n,r,i,a,o,s){return oQe(i,a,this.points,e,t,n/2,r/2,o)},checkPoint:function(e,t,n,r,i,a,o,s){return JZe(e,t,this.points,a,o,r,i,[0,-1],n)}}}};P5e.generateEllipse=function(){return this.nodeShapes.ellipse={renderer:this,name:"ellipse",draw:function(e,t,n,r,i,a){this.renderer.nodeShapeImpl(this.name,e,t,n,r,i)},intersectLine:function(e,t,n,r,i,a,o,s){return function(e,t,n,r,i,a){var o=n-e,s=r-t;o/=i,s/=a;var c=Math.sqrt(o*o+s*s),l=c-1;if(l<0)return[];var u=l/c;return[(n-e)*u+e,(r-t)*u+t]}(i,a,e,t,n/2+o,r/2+o)},checkPoint:function(e,t,n,r,i,a,o,s){return nQe(e,t,r,i,a,o,n)}}},P5e.generateRoundPolygon=function(e,t){return this.nodeShapes[e]={renderer:this,name:e,points:t,getOrCreateCorners:function(e,n,r,i,a,o,s){if(void 0!==o[s]&&o[s+"-cx"]===e&&o[s+"-cy"]===n)return o[s];o[s]=new Array(t.length/2),o[s+"-cx"]=e,o[s+"-cy"]=n;var c=r/2,l=i/2;a="auto"===a?dQe(r,i):a;for(var u=new Array(t.length/2),h=0;h<t.length/2;h++)u[h]={x:e+c*t[2*h],y:n+l*t[2*h+1]};var d,f,p,m,g=u.length;for(f=u[g-1],d=0;d<g;d++)p=u[d%g],m=u[(d+1)%g],o[s][d]=b5e(f,p,m,a),f=p,p=m;return o[s]},draw:function(e,t,n,r,i,a,o){this.renderer.nodeShapeImpl("round-polygon",e,t,n,r,i,this.points,this.getOrCreateCorners(t,n,r,i,a,o,"drawCorners"))},intersectLine:function(e,t,n,r,i,a,o,s,c){return function(e,t,n,r,i,a,o,s,c){var l,u=[],h=new Array(2*n.length);c.forEach((function(n,a){0===a?(h[h.length-2]=n.startX,h[h.length-1]=n.startY):(h[4*a-2]=n.startX,h[4*a-1]=n.startY),h[4*a]=n.stopX,h[4*a+1]=n.stopY,0!==(l=rQe(e,t,r,i,n.cx,n.cy,n.radius)).length&&u.push(l[0],l[1])}));for(var d=0;d<h.length/4;d++)0!==(l=aQe(e,t,r,i,h[4*d],h[4*d+1],h[4*d+2],h[4*d+3],!1)).length&&u.push(l[0],l[1]);if(u.length>2){for(var f=[u[0],u[1]],p=Math.pow(f[0]-e,2)+Math.pow(f[1]-t,2),m=1;m<u.length/2;m++){var g=Math.pow(u[2*m]-e,2)+Math.pow(u[2*m+1]-t,2);g<=p&&(f[0]=u[2*m],f[1]=u[2*m+1],p=g)}return f}return u}(i,a,this.points,e,t,0,0,0,this.getOrCreateCorners(e,t,n,r,s,c,"corners"))},checkPoint:function(e,t,n,r,i,a,o,s,c){return function(e,t,n,r,i,a,o,s){for(var c=new Array(2*n.length),l=0;l<s.length;l++){var u=s[l];if(c[4*l+0]=u.startX,c[4*l+1]=u.startY,c[4*l+2]=u.stopX,c[4*l+3]=u.stopY,Math.pow(u.cx-e,2)+Math.pow(u.cy-t,2)<=Math.pow(u.radius,2))return!0}return QZe(e,t,c)}(e,t,this.points,0,0,0,0,this.getOrCreateCorners(a,o,r,i,s,c,"corners"))}}},P5e.generateRoundRectangle=function(){return this.nodeShapes["round-rectangle"]=this.nodeShapes.roundrectangle={renderer:this,name:"round-rectangle",points:cQe(4,0),draw:function(e,t,n,r,i,a){this.renderer.nodeShapeImpl(this.name,e,t,n,r,i,this.points,a)},intersectLine:function(e,t,n,r,i,a,o,s){return GZe(i,a,e,t,n,r,o,s)},checkPoint:function(e,t,n,r,i,a,o,s){var c=r/2,l=i/2;s="auto"===s?hQe(r,i):s;var u=2*(s=Math.min(c,l,s));return!!JZe(e,t,this.points,a,o,r,i-u,[0,-1],n)||(!!JZe(e,t,this.points,a,o,r-u,i,[0,-1],n)||(!!nQe(e,t,u,u,a-c+s,o-l+s,n)||(!!nQe(e,t,u,u,a+c-s,o-l+s,n)||(!!nQe(e,t,u,u,a+c-s,o+l-s,n)||!!nQe(e,t,u,u,a-c+s,o+l-s,n)))))}}},P5e.generateCutRectangle=function(){return this.nodeShapes["cut-rectangle"]=this.nodeShapes.cutrectangle={renderer:this,name:"cut-rectangle",cornerLength:8,points:cQe(4,0),draw:function(e,t,n,r,i,a){this.renderer.nodeShapeImpl(this.name,e,t,n,r,i,null,a)},generateCutTrianglePts:function(e,t,n,r,i){var a="auto"===i?this.cornerLength:i,o=t/2,s=e/2,c=n-s,l=n+s,u=r-o,h=r+o;return{topLeft:[c,u+a,c+a,u,c+a,u+a],topRight:[l-a,u,l,u+a,l-a,u+a],bottomRight:[l,h-a,l-a,h,l-a,h-a],bottomLeft:[c+a,h,c,h-a,c+a,h-a]}},intersectLine:function(e,t,n,r,i,a,o,s){var c=this.generateCutTrianglePts(n+2*o,r+2*o,e,t,s),l=[].concat.apply([],[c.topLeft.splice(0,4),c.topRight.splice(0,4),c.bottomRight.splice(0,4),c.bottomLeft.splice(0,4)]);return oQe(i,a,l,e,t)},checkPoint:function(e,t,n,r,i,a,o,s){var c="auto"===s?this.cornerLength:s;if(JZe(e,t,this.points,a,o,r,i-2*c,[0,-1],n))return!0;if(JZe(e,t,this.points,a,o,r-2*c,i,[0,-1],n))return!0;var l=this.generateCutTrianglePts(r,i,a,o);return QZe(e,t,l.topLeft)||QZe(e,t,l.topRight)||QZe(e,t,l.bottomRight)||QZe(e,t,l.bottomLeft)}}},P5e.generateBarrel=function(){return this.nodeShapes.barrel={renderer:this,name:"barrel",points:cQe(4,0),draw:function(e,t,n,r,i,a){this.renderer.nodeShapeImpl(this.name,e,t,n,r,i)},intersectLine:function(e,t,n,r,i,a,o,s){var c=this.generateBarrelBezierPts(n+2*o,r+2*o,e,t),l=function(e){var t=LZe({x:e[0],y:e[1]},{x:e[2],y:e[3]},{x:e[4],y:e[5]},.15),n=LZe({x:e[0],y:e[1]},{x:e[2],y:e[3]},{x:e[4],y:e[5]},.5),r=LZe({x:e[0],y:e[1]},{x:e[2],y:e[3]},{x:e[4],y:e[5]},.85);return[e[0],e[1],t.x,t.y,n.x,n.y,r.x,r.y,e[4],e[5]]},u=[].concat(l(c.topLeft),l(c.topRight),l(c.bottomRight),l(c.bottomLeft));return oQe(i,a,u,e,t)},generateBarrelBezierPts:function(e,t,n,r){var i=t/2,a=e/2,o=n-a,s=n+a,c=r-i,l=r+i,u=fQe(e,t),h=u.heightOffset,d=u.widthOffset,f=u.ctrlPtOffsetPct*e,p={topLeft:[o,c+h,o+f,c,o+d,c],topRight:[s-d,c,s-f,c,s,c+h],bottomRight:[s,l-h,s-f,l,s-d,l],bottomLeft:[o+d,l,o+f,l,o,l-h]};return p.topLeft.isTop=!0,p.topRight.isTop=!0,p.bottomLeft.isBottom=!0,p.bottomRight.isBottom=!0,p},checkPoint:function(e,t,n,r,i,a,o,s){var c=fQe(r,i),l=c.heightOffset,u=c.widthOffset;if(JZe(e,t,this.points,a,o,r,i-2*l,[0,-1],n))return!0;if(JZe(e,t,this.points,a,o,r-2*u,i,[0,-1],n))return!0;for(var h=this.generateBarrelBezierPts(r,i,a,o),d=function(e,t,n){var r,i,a=n[4],o=n[2],s=n[0],c=n[5],l=n[1],u=Math.min(a,s),h=Math.max(a,s),d=Math.min(c,l),f=Math.max(c,l);if(u<=e&&e<=h&&d<=t&&t<=f){var p=[(r=a)-2*(i=o)+s,2*(i-r),r],m=function(e,t,n,r){var i=t*t-4*e*(n-=r);if(i<0)return[];var a=Math.sqrt(i),o=2*e;return[(-t+a)/o,(-t-a)/o]}(p[0],p[1],p[2],e),g=m.filter((function(e){return 0<=e&&e<=1}));if(g.length>0)return g[0]}return null},f=Object.keys(h),p=0;p<f.length;p++){var m=h[f[p]],g=d(e,t,m);if(null!=g){var b=m[5],y=m[3],v=m[1],w=NZe(b,y,v,g);if(m.isTop&&w<=t)return!0;if(m.isBottom&&t<=w)return!0}}return!1}}},P5e.generateBottomRoundrectangle=function(){return this.nodeShapes["bottom-round-rectangle"]=this.nodeShapes.bottomroundrectangle={renderer:this,name:"bottom-round-rectangle",points:cQe(4,0),draw:function(e,t,n,r,i,a){this.renderer.nodeShapeImpl(this.name,e,t,n,r,i,this.points,a)},intersectLine:function(e,t,n,r,i,a,o,s){var c=t-(r/2+o),l=aQe(i,a,e,t,e-(n/2+o),c,e+(n/2+o),c,!1);return l.length>0?l:GZe(i,a,e,t,n,r,o,s)},checkPoint:function(e,t,n,r,i,a,o,s){var c=2*(s="auto"===s?hQe(r,i):s);if(JZe(e,t,this.points,a,o,r,i-c,[0,-1],n))return!0;if(JZe(e,t,this.points,a,o,r-c,i,[0,-1],n))return!0;var l=r/2+2*n,u=i/2+2*n;return!!QZe(e,t,[a-l,o-u,a-l,o,a+l,o,a+l,o-u])||(!!nQe(e,t,c,c,a+r/2-s,o+i/2-s,n)||!!nQe(e,t,c,c,a-r/2+s,o+i/2-s,n))}}},P5e.registerNodeShapes=function(){var e=this.nodeShapes={},t=this;this.generateEllipse(),this.generatePolygon("triangle",cQe(3,0)),this.generateRoundPolygon("round-triangle",cQe(3,0)),this.generatePolygon("rectangle",cQe(4,0)),e.square=e.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();var n=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",n),this.generateRoundPolygon("round-diamond",n),this.generatePolygon("pentagon",cQe(5,0)),this.generateRoundPolygon("round-pentagon",cQe(5,0)),this.generatePolygon("hexagon",cQe(6,0)),this.generateRoundPolygon("round-hexagon",cQe(6,0)),this.generatePolygon("heptagon",cQe(7,0)),this.generateRoundPolygon("round-heptagon",cQe(7,0)),this.generatePolygon("octagon",cQe(8,0)),this.generateRoundPolygon("round-octagon",cQe(8,0));var r=new Array(20),i=uQe(5,0),a=uQe(5,Math.PI/5),o=.5*(3-Math.sqrt(5));o*=1.57;for(var s=0;s<a.length/2;s++)a[2*s]*=o,a[2*s+1]*=o;for(s=0;s<5;s++)r[4*s]=i[2*s],r[4*s+1]=i[2*s+1],r[4*s+2]=a[2*s],r[4*s+3]=a[2*s+1];r=lQe(r),this.generatePolygon("star",r),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 c=[-1,-1,.25,-1,1,0,.25,1,-1,1];this.generatePolygon("tag",c),this.generateRoundPolygon("round-tag",c),e.makePolygon=function(e){var n,r="polygon-"+e.join("$");return(n=this[r])?n:t.generatePolygon(r,e)}};var N5e={timeToRender:function(){return this.redrawTotalTime/this.redrawCount},redraw:function(e){e=e||QXe();var t=this;void 0===t.averageRedrawTime&&(t.averageRedrawTime=0),void 0===t.lastRedrawTime&&(t.lastRedrawTime=0),void 0===t.lastDrawTime&&(t.lastDrawTime=0),t.requestedFrame=!0,t.renderOptions=e},beforeRender:function(e,t){if(!this.destroyed){null==t&&WXe("Priority is not optional for beforeRender");var n=this.beforeRenderCallbacks;n.push({fn:e,priority:t}),n.sort((function(e,t){return t.priority-e.priority}))}}},L5e=function(e,t,n){for(var r=e.beforeRenderCallbacks,i=0;i<r.length;i++)r[i].fn(t,n)};N5e.startRenderLoop=function(){var e=this,t=e.cy;if(!e.renderLoopStarted){e.renderLoopStarted=!0;AXe((function n(r){if(!e.destroyed){if(t.batching());else if(e.requestedFrame&&!e.skipFrame){L5e(e,!0,r);var i=TXe();e.render(e.renderOptions);var a=e.lastDrawTime=TXe();void 0===e.averageRedrawTime&&(e.averageRedrawTime=a-i),void 0===e.redrawCount&&(e.redrawCount=0),e.redrawCount++,void 0===e.redrawTotalTime&&(e.redrawTotalTime=0);var o=a-i;e.redrawTotalTime+=o,e.lastRedrawTime=o,e.averageRedrawTime=e.averageRedrawTime/2+o/2,e.requestedFrame=!1}else L5e(e,!1,r);e.skipFrame=!1,AXe(n)}}))}};var R5e=function(e){this.init(e)},j5e=R5e.prototype;j5e.clientFunctions=["redrawHint","render","renderTo","matchCanvasSize","nodeShapeImpl","arrowShapeImpl"],j5e.init=function(e){var t=this;t.options=e,t.cy=e.cy;var n=t.container=e.cy.container(),r=t.cy.window();if(r){var i=r.document,a=i.head,o="__________cytoscape_stylesheet",s="__________cytoscape_container",c=null!=i.getElementById(o);if(n.className.indexOf(s)<0&&(n.className=(n.className||"")+" "+s),!c){var l=i.createElement("style");l.id=o,l.textContent="."+s+" { position: relative; }",a.insertBefore(l,a.children[0])}"static"===r.getComputedStyle(n).getPropertyValue("position")&&KXe("A Cytoscape container has style position:static and so can not use UI extensions properly")}t.selection=[void 0,void 0,void 0,void 0,0],t.bezierProjPcts=[.05,.225,.4,.5,.6,.775,.95],t.hoverData={down:null,last:null,downTime:null,triggerMode:null,dragging:!1,initialPan:[null,null],capture:!1},t.dragData={possibleDragElements:[]},t.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,null,null,null,null,null]},t.redraws=0,t.showFps=e.showFps,t.debug=e.debug,t.hideEdgesOnViewport=e.hideEdgesOnViewport,t.textureOnViewport=e.textureOnViewport,t.wheelSensitivity=e.wheelSensitivity,t.motionBlurEnabled=e.motionBlur,t.forcedPixelRatio=kYe(e.pixelRatio)?e.pixelRatio:null,t.motionBlur=e.motionBlur,t.motionBlurOpacity=e.motionBlurOpacity,t.motionBlurTransparency=1-t.motionBlurOpacity,t.motionBlurPxRatio=1,t.mbPxRBlurry=1,t.minMbLowQualFrames=4,t.fullQualityMb=!1,t.clearedForMotionBlur=[],t.desktopTapThreshold=e.desktopTapThreshold,t.desktopTapThreshold2=e.desktopTapThreshold*e.desktopTapThreshold,t.touchTapThreshold=e.touchTapThreshold,t.touchTapThreshold2=e.touchTapThreshold*e.touchTapThreshold,t.tapholdDuration=500,t.bindings=[],t.beforeRenderCallbacks=[],t.beforeRenderPriorities={animations:400,eleCalcs:300,eleTxrDeq:200,lyrTxrDeq:150,lyrTxrSkip:100},t.registerNodeShapes(),t.registerArrowShapes(),t.registerCalculationListeners()},j5e.notify=function(e,t){var n=this,r=n.cy;this.destroyed||("init"!==e?"destroy"!==e?(("add"===e||"remove"===e||"move"===e&&r.hasCompoundNodes()||"load"===e||"zorder"===e||"mount"===e)&&n.invalidateCachedZSortedEles(),"viewport"===e&&n.redrawHint("select",!0),"load"!==e&&"resize"!==e&&"mount"!==e||(n.invalidateContainerClientCoordsCache(),n.matchCanvasSize(n.container)),n.redrawHint("eles",!0),n.redrawHint("drag",!0),this.startRenderLoop(),this.redraw()):n.destroy():n.load())},j5e.destroy=function(){var e=this;e.destroyed=!0,e.cy.stopAnimationLoop();for(var t=0;t<e.bindings.length;t++){var n=e.bindings[t],r=n.target;(r.off||r.removeEventListener).apply(r,n.args)}if(e.bindings=[],e.beforeRenderCallbacks=[],e.onUpdateEleCalcsFns=[],e.removeObserver&&e.removeObserver.disconnect(),e.styleObserver&&e.styleObserver.disconnect(),e.resizeObserver&&e.resizeObserver.disconnect(),e.labelCalcDiv)try{document.body.removeChild(e.labelCalcDiv)}catch(e){}},j5e.isHeadless=function(){return!1},[W4e,D5e,M5e,I5e,P5e,N5e].forEach((function(e){qYe(j5e,e)}));var B5e=1e3/60,F5e=function(e){return function(){var t=this,n=this.renderer;if(!t.dequeueingSetup){t.dequeueingSetup=!0;var r=kXe((function(){n.redrawHint("eles",!0),n.redrawHint("drag",!0),n.redraw()}),e.deqRedrawThreshold),i=e.priority||VXe;n.beforeRender((function(i,a){var o=TXe(),s=n.averageRedrawTime,c=n.lastRedrawTime,l=[],u=n.cy.extent(),h=n.getPixelRatio();for(i||n.flushRenderedStyleQueue();;){var d=TXe(),f=d-o,p=d-a;if(c<B5e){var m=B5e-(i?s:0);if(p>=e.deqFastCost*m)break}else if(i){if(f>=e.deqCost*c||f>=e.deqAvgCost*s)break}else if(p>=e.deqNoDrawCost*B5e)break;var g=e.deq(t,h,u);if(!(g.length>0))break;for(var b=0;b<g.length;b++)l.push(g[b])}l.length>0&&(e.onDeqd(t,l),!i&&e.shouldRedraw(t,l,h,u)&&r())}),i(t))}}},z5e=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:HXe;iYe(this,e),this.idsByKey=new iZe,this.keyForId=new iZe,this.cachesByLvl=new iZe,this.lvls=[],this.getKey=t,this.doesEleInvalidateKey=n}return oYe(e,[{key:"getIdsFor",value:function(e){null==e&&WXe("Can not get id list for null key");var t=this.idsByKey,n=this.idsByKey.get(e);return n||(n=new oZe,t.set(e,n)),n}},{key:"addIdForKey",value:function(e,t){null!=e&&this.getIdsFor(e).add(t)}},{key:"deleteIdForKey",value:function(e,t){null!=e&&this.getIdsFor(e).delete(t)}},{key:"getNumberOfIdsForKey",value:function(e){return null==e?0:this.getIdsFor(e).size}},{key:"updateKeyMappingFor",value:function(e){var t=e.id(),n=this.keyForId.get(t),r=this.getKey(e);this.deleteIdForKey(n,t),this.addIdForKey(r,t),this.keyForId.set(t,r)}},{key:"deleteKeyMappingFor",value:function(e){var t=e.id(),n=this.keyForId.get(t);this.deleteIdForKey(n,t),this.keyForId.delete(t)}},{key:"keyHasChangedFor",value:function(e){var t=e.id();return this.keyForId.get(t)!==this.getKey(e)}},{key:"isInvalid",value:function(e){return this.keyHasChangedFor(e)||this.doesEleInvalidateKey(e)}},{key:"getCachesAt",value:function(e){var t=this.cachesByLvl,n=this.lvls,r=t.get(e);return r||(r=new iZe,t.set(e,r),n.push(e)),r}},{key:"getCache",value:function(e,t){return this.getCachesAt(t).get(e)}},{key:"get",value:function(e,t){var n=this.getKey(e),r=this.getCache(n,t);return null!=r&&this.updateKeyMappingFor(e),r}},{key:"getForCachedKey",value:function(e,t){var n=this.keyForId.get(e.id());return this.getCache(n,t)}},{key:"hasCache",value:function(e,t){return this.getCachesAt(t).has(e)}},{key:"has",value:function(e,t){var n=this.getKey(e);return this.hasCache(n,t)}},{key:"setCache",value:function(e,t,n){n.key=e,this.getCachesAt(t).set(e,n)}},{key:"set",value:function(e,t,n){var r=this.getKey(e);this.setCache(r,t,n),this.updateKeyMappingFor(e)}},{key:"deleteCache",value:function(e,t){this.getCachesAt(t).delete(e)}},{key:"delete",value:function(e,t){var n=this.getKey(e);this.deleteCache(n,t)}},{key:"invalidateKey",value:function(e){var t=this;this.lvls.forEach((function(n){return t.deleteCache(e,n)}))}},{key:"invalidate",value:function(e){var t=e.id(),n=this.keyForId.get(t);this.deleteKeyMappingFor(e);var r=this.doesEleInvalidateKey(e);return r&&this.invalidateKey(n),r||0===this.getNumberOfIdsForKey(n)}}]),e}(),$5e={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},q5e=JXe({getKey:null,doesEleInvalidateKey:HXe,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:qXe,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),H5e=function(e,t){var n=this;n.renderer=e,n.onDequeues=[];var r=q5e(t);qYe(n,r),n.lookup=new z5e(r.getKey,r.doesEleInvalidateKey),n.setupDequeueing()},U5e=H5e.prototype;U5e.reasons=$5e,U5e.getTextureQueue=function(e){var t=this;return t.eleImgCaches=t.eleImgCaches||{},t.eleImgCaches[e]=t.eleImgCaches[e]||[]},U5e.getRetiredTextureQueue=function(e){var t=this.eleImgCaches.retired=this.eleImgCaches.retired||{};return t[e]=t[e]||[]},U5e.getElementQueue=function(){var e=this.eleCacheQueue=this.eleCacheQueue||new hZe((function(e,t){return t.reqs-e.reqs}));return e},U5e.getElementKeyToQueue=function(){return this.eleKeyToCacheQueue=this.eleKeyToCacheQueue||{}},U5e.getElement=function(e,t,n,r,i){var a=this,o=this.renderer,s=o.cy.zoom(),c=this.lookup;if(!t||0===t.w||0===t.h||isNaN(t.w)||isNaN(t.h)||!e.visible()||e.removed())return null;if(!a.allowEdgeTxrCaching&&e.isEdge()||!a.allowParentTxrCaching&&e.isParent())return null;if(null==r&&(r=Math.ceil(OZe(s*n))),r<-4)r=-4;else if(s>=7.99||r>3)return null;var l=Math.pow(2,r),u=t.h*l,h=t.w*l,d=o.eleTextBiggerThanMin(e,l);if(!this.isVisible(e,d))return null;var f,p=c.get(e,r);if(p&&p.invalidated&&(p.invalidated=!1,p.texture.invalidatedWidth-=p.width),p)return p;if(f=u<=25?25:u<=50?50:50*Math.ceil(u/50),u>1024||h>1024)return null;var m=a.getTextureQueue(f),g=m[m.length-2],b=function(){return a.recycleTexture(f,h)||a.addTexture(f,h)};g||(g=m[m.length-1]),g||(g=b()),g.width-g.usedWidth<h&&(g=b());for(var y,v=function(e){return e&&e.scaledLabelShown===d},w=i&&i===$5e.dequeue,x=i&&i===$5e.highQuality,k=i&&i===$5e.downscale,S=r+1;S<=3;S++){var E=c.get(e,S);if(E){y=E;break}}var _=y&&y.level===r+1?y:null,A=function(){g.context.drawImage(_.texture.canvas,_.x,0,_.width,_.height,g.usedWidth,0,h,u)};if(g.context.setTransform(1,0,0,1,0,0),g.context.clearRect(g.usedWidth,0,h,f),v(_))A();else if(v(y)){if(!x)return a.queueElement(e,y.level-1),y;for(var T=y.level;T>r;T--)_=a.getElement(e,t,n,T,$5e.downscale);A()}else{var C;if(!w&&!x&&!k)for(var O=r-1;O>=-4;O--){var D=c.get(e,O);if(D){C=D;break}}if(v(C))return a.queueElement(e,r),C;g.context.translate(g.usedWidth,0),g.context.scale(l,l),this.drawElement(g.context,e,t,d,!1),g.context.scale(1/l,1/l),g.context.translate(-g.usedWidth,0)}return p={x:g.usedWidth,texture:g,level:r,scale:l,width:h,height:u,scaledLabelShown:d},g.usedWidth+=Math.ceil(h+8),g.eleCaches.push(p),c.set(e,r,p),a.checkTextureFullness(g),p},U5e.invalidateElements=function(e){for(var t=0;t<e.length;t++)this.invalidateElement(e[t])},U5e.invalidateElement=function(e){var t=this,n=t.lookup,r=[];if(n.isInvalid(e)){for(var i=-4;i<=3;i++){var a=n.getForCachedKey(e,i);a&&r.push(a)}if(n.invalidate(e))for(var o=0;o<r.length;o++){var s=r[o],c=s.texture;c.invalidatedWidth+=s.width,s.invalidated=!0,t.checkTextureUtility(c)}t.removeFromQueue(e)}},U5e.checkTextureUtility=function(e){e.invalidatedWidth>=.2*e.width&&this.retireTexture(e)},U5e.checkTextureFullness=function(e){var t=this.getTextureQueue(e.height);e.usedWidth/e.width>.8&&e.fullnessChecks>=10?eZe(t,e):e.fullnessChecks++},U5e.retireTexture=function(e){var t=e.height,n=this.getTextureQueue(t),r=this.lookup;eZe(n,e),e.retired=!0;for(var i=e.eleCaches,a=0;a<i.length;a++){var o=i[a];r.deleteCache(o.key,o.level)}tZe(i),this.getRetiredTextureQueue(t).push(e)},U5e.addTexture=function(e,t){var n={};return this.getTextureQueue(e).push(n),n.eleCaches=[],n.height=e,n.width=Math.max(1024,t),n.usedWidth=0,n.invalidatedWidth=0,n.fullnessChecks=0,n.canvas=this.renderer.makeOffscreenCanvas(n.width,n.height),n.context=n.canvas.getContext("2d"),n},U5e.recycleTexture=function(e,t){for(var n=this.getTextureQueue(e),r=this.getRetiredTextureQueue(e),i=0;i<r.length;i++){var a=r[i];if(a.width>=t)return a.retired=!1,a.usedWidth=0,a.invalidatedWidth=0,a.fullnessChecks=0,tZe(a.eleCaches),a.context.setTransform(1,0,0,1,0,0),a.context.clearRect(0,0,a.width,a.height),eZe(r,a),n.push(a),a}},U5e.queueElement=function(e,t){var n=this.getElementQueue(),r=this.getElementKeyToQueue(),i=this.getKey(e),a=r[i];if(a)a.level=Math.max(a.level,t),a.eles.merge(e),a.reqs++,n.updateItem(a);else{var o={eles:e.spawn().merge(e),level:t,reqs:1,key:i};n.push(o),r[i]=o}},U5e.dequeue=function(e){for(var t=this,n=t.getElementQueue(),r=t.getElementKeyToQueue(),i=[],a=t.lookup,o=0;o<1&&n.size()>0;o++){var s=n.pop(),c=s.key,l=s.eles[0],u=a.hasCache(l,s.level);if(r[c]=null,!u){i.push(s);var h=t.getBoundingBox(l);t.getElement(l,h,e,s.level,$5e.dequeue)}}return i},U5e.removeFromQueue=function(e){var t=this.getElementQueue(),n=this.getElementKeyToQueue(),r=this.getKey(e),i=n[r];null!=i&&(1===i.eles.length?(i.reqs=$Xe,t.updateItem(i),t.pop(),n[r]=null):i.eles.unmerge(e))},U5e.onDequeue=function(e){this.onDequeues.push(e)},U5e.offDequeue=function(e){eZe(this.onDequeues,e)},U5e.setupDequeueing=F5e({deqRedrawThreshold:100,deqCost:.15,deqAvgCost:.1,deqNoDrawCost:.9,deqFastCost:.9,deq:function(e,t,n){return e.dequeue(t,n)},onDeqd:function(e,t){for(var n=0;n<e.onDequeues.length;n++){(0,e.onDequeues[n])(t)}},shouldRedraw:function(e,t,n,r){for(var i=0;i<t.length;i++)for(var a=t[i].eles,o=0;o<a.length;o++){var s=a[o].boundingBox();if(HZe(s,r))return!0}return!1},priority:function(e){return e.renderer.beforeRenderPriorities.eleTxrDeq}});var V5e=function(e){var t=this,n=t.renderer=e,r=n.cy;t.layersByLevel={},t.firstGet=!0,t.lastInvalidationTime=TXe()-500,t.skipping=!1,t.eleTxrDeqs=r.collection(),t.scheduleElementRefinement=kXe((function(){t.refineElementTextures(t.eleTxrDeqs),t.eleTxrDeqs.unmerge(t.eleTxrDeqs)}),50),n.beforeRender((function(e,n){n-t.lastInvalidationTime<=250?t.skipping=!0:t.skipping=!1}),n.beforeRenderPriorities.lyrTxrSkip);t.layersQueue=new hZe((function(e,t){return t.reqs-e.reqs})),t.setupDequeueing()},W5e=V5e.prototype,G5e=0,K5e=Math.pow(2,53)-1;W5e.makeLayer=function(e,t){var n=Math.pow(2,t),r=Math.ceil(e.w*n),i=Math.ceil(e.h*n),a=this.renderer.makeOffscreenCanvas(r,i),o={id:G5e=++G5e%K5e,bb:e,level:t,width:r,height:i,canvas:a,context:a.getContext("2d"),eles:[],elesQueue:[],reqs:0},s=o.context,c=-o.bb.x1,l=-o.bb.y1;return s.scale(n,n),s.translate(c,l),o},W5e.getLayers=function(e,t,n){var r=this,i=r.renderer.cy.zoom(),a=r.firstGet;if(r.firstGet=!1,null==n)if((n=Math.ceil(OZe(i*t)))<-4)n=-4;else if(i>=3.99||n>2)return null;r.validateLayersElesOrdering(n,e);var o,s,c=r.layersByLevel,l=Math.pow(2,n),u=c[n]=c[n]||[];if(r.levelIsComplete(n,e))return u;!function(){var t=function(t){if(r.validateLayersElesOrdering(t,e),r.levelIsComplete(t,e))return s=c[t],!0},i=function(e){if(!s)for(var r=n+e;-4<=r&&r<=2&&!t(r);r+=e);};i(1),i(-1);for(var a=u.length-1;a>=0;a--){var o=u[a];o.invalid&&eZe(u,o)}}();var h=function(t){var i=(t=t||{}).after;if(function(){if(!o){o=jZe();for(var t=0;t<e.length;t++)BZe(o,e[t].boundingBox())}}(),o.w*l*(o.h*l)>16e6)return null;var a=r.makeLayer(o,n);if(null!=i){var s=u.indexOf(i)+1;u.splice(s,0,a)}else(void 0===t.insert||t.insert)&&u.unshift(a);return a};if(r.skipping&&!a)return null;for(var d=null,f=e.length/1,p=!a,m=0;m<e.length;m++){var g=e[m],b=g._private.rscratch,y=b.imgLayerCaches=b.imgLayerCaches||{},v=y[n];if(v)d=v;else{if((!d||d.eles.length>=f||!WZe(d.bb,g.boundingBox()))&&!(d=h({insert:!0,after:d})))return null;s||p?r.queueLayer(d,g):r.drawEleInLayer(d,g,n,t),d.eles.push(g),y[n]=d}}return s||(p?null:u)},W5e.getEleLevelForLayerLevel=function(e,t){return e},W5e.drawEleInLayer=function(e,t,n,r){var i=this.renderer,a=e.context,o=t.boundingBox();0!==o.w&&0!==o.h&&t.visible()&&(n=this.getEleLevelForLayerLevel(n,r),i.setImgSmoothing(a,!1),i.drawCachedElement(a,t,null,null,n,true),i.setImgSmoothing(a,!0))},W5e.levelIsComplete=function(e,t){var n=this.layersByLevel[e];if(!n||0===n.length)return!1;for(var r=0,i=0;i<n.length;i++){var a=n[i];if(a.reqs>0)return!1;if(a.invalid)return!1;r+=a.eles.length}return r===t.length},W5e.validateLayersElesOrdering=function(e,t){var n=this.layersByLevel[e];if(n)for(var r=0;r<n.length;r++){for(var i=n[r],a=-1,o=0;o<t.length;o++)if(i.eles[0]===t[o]){a=o;break}if(a<0)this.invalidateLayer(i);else{var s=a;for(o=0;o<i.eles.length;o++)if(i.eles[o]!==t[s+o]){this.invalidateLayer(i);break}}}},W5e.updateElementsInLayers=function(e,t){for(var n=_Ye(e[0]),r=0;r<e.length;r++)for(var i=n?null:e[r],a=n?e[r]:e[r].ele,o=a._private.rscratch,s=o.imgLayerCaches=o.imgLayerCaches||{},c=-4;c<=2;c++){var l=s[c];l&&(i&&this.getEleLevelForLayerLevel(l.level)!==i.level||t(l,a,i))}},W5e.haveLayers=function(){for(var e=!1,t=-4;t<=2;t++){var n=this.layersByLevel[t];if(n&&n.length>0){e=!0;break}}return e},W5e.invalidateElements=function(e){var t=this;0!==e.length&&(t.lastInvalidationTime=TXe(),0!==e.length&&t.haveLayers()&&t.updateElementsInLayers(e,(function(e,n,r){t.invalidateLayer(e)})))},W5e.invalidateLayer=function(e){if(this.lastInvalidationTime=TXe(),!e.invalid){var t=e.level,n=e.eles,r=this.layersByLevel[t];eZe(r,e),e.elesQueue=[],e.invalid=!0,e.replacement&&(e.replacement.invalid=!0);for(var i=0;i<n.length;i++){var a=n[i]._private.rscratch.imgLayerCaches;a&&(a[t]=null)}}},W5e.refineElementTextures=function(e){var t=this;t.updateElementsInLayers(e,(function(e,n,r){var i=e.replacement;if(i||((i=e.replacement=t.makeLayer(e.bb,e.level)).replaces=e,i.eles=e.eles),!i.reqs)for(var a=0;a<i.eles.length;a++)t.queueLayer(i,i.eles[a])}))},W5e.enqueueElementRefinement=function(e){this.eleTxrDeqs.merge(e),this.scheduleElementRefinement()},W5e.queueLayer=function(e,t){var n=this.layersQueue,r=e.elesQueue,i=r.hasId=r.hasId||{};if(!e.replacement){if(t){if(i[t.id()])return;r.push(t),i[t.id()]=!0}e.reqs?(e.reqs++,n.updateItem(e)):(e.reqs=1,n.push(e))}},W5e.dequeue=function(e){for(var t=this,n=t.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&&(t.drawEleInLayer(a,o,a.level,e),i++),0===r.length&&r.push(!0),0===a.elesQueue.length&&(n.pop(),a.reqs=0,a.replaces&&t.applyLayerReplacement(a),t.requestRedraw())}}return r},W5e.applyLayerReplacement=function(e){var t=this.layersByLevel[e.level],n=e.replaces,r=t.indexOf(n);if(!(r<0||n.invalid)){t[r]=e;for(var i=0;i<e.eles.length;i++){var a=e.eles[i]._private,o=a.imgLayerCaches=a.imgLayerCaches||{};o&&(o[e.level]=e)}this.requestRedraw()}},W5e.requestRedraw=kXe((function(){var e=this.renderer;e.redrawHint("eles",!0),e.redrawHint("drag",!0),e.redraw()}),100),W5e.setupDequeueing=F5e({deqRedrawThreshold:50,deqCost:.15,deqAvgCost:.1,deqNoDrawCost:.9,deqFastCost:.9,deq:function(e,t){return e.dequeue(t)},onDeqd:VXe,shouldRedraw:qXe,priority:function(e){return e.renderer.beforeRenderPriorities.lyrTxrDeq}});var Y5e,X5e={};function Z5e(e,t){for(var n=0;n<t.length;n++){var r=t[n];e.lineTo(r.x,r.y)}}function Q5e(e,t,n){for(var r,i=0;i<t.length;i++){var a=t[i];0===i&&(r=a),e.lineTo(a.x,a.y)}e.quadraticCurveTo(n.x,n.y,r.x,r.y)}function J5e(e,t,n){e.beginPath&&e.beginPath();for(var r=t,i=0;i<r.length;i++){var a=r[i];e.lineTo(a.x,a.y)}var o=n,s=n[0];e.moveTo(s.x,s.y);for(i=1;i<o.length;i++){a=o[i];e.lineTo(a.x,a.y)}e.closePath&&e.closePath()}function e6e(e,t,n,r,i){e.beginPath&&e.beginPath(),e.arc(n,r,i,0,2*Math.PI,!1);var a=t,o=a[0];e.moveTo(o.x,o.y);for(var s=0;s<a.length;s++){var c=a[s];e.lineTo(c.x,c.y)}e.closePath&&e.closePath()}function t6e(e,t,n,r){e.arc(t,n,r,0,2*Math.PI,!1)}X5e.arrowShapeImpl=function(e){return(Y5e||(Y5e={polygon:Z5e,"triangle-backcurve":Q5e,"triangle-tee":J5e,"circle-triangle":e6e,"triangle-cross":J5e,circle:t6e}))[e]};var n6e={drawElement:function(e,t,n,r,i,a){t.isNode()?this.drawNode(e,t,n,r,i,a):this.drawEdge(e,t,n,r,i,a)},drawElementOverlay:function(e,t){t.isNode()?this.drawNodeOverlay(e,t):this.drawEdgeOverlay(e,t)},drawElementUnderlay:function(e,t){t.isNode()?this.drawNodeUnderlay(e,t):this.drawEdgeUnderlay(e,t)},drawCachedElementPortion:function(e,t,n,r,i,a,o,s){var c=this,l=n.getBoundingBox(t);if(0!==l.w&&0!==l.h){var u=n.getElement(t,l,r,i,a);if(null!=u){var h=s(c,t);if(0===h)return;var d,f,p,m,g,b,y=o(c,t),v=l.x1,w=l.y1,x=l.w,k=l.h;if(0!==y){var S=n.getRotationPoint(t);p=S.x,m=S.y,e.translate(p,m),e.rotate(y),(g=c.getImgSmoothing(e))||c.setImgSmoothing(e,!0);var E=n.getRotationOffset(t);d=E.x,f=E.y}else d=v,f=w;1!==h&&(b=e.globalAlpha,e.globalAlpha=b*h),e.drawImage(u.texture.canvas,u.x,0,u.width,u.height,d,f,x,k),1!==h&&(e.globalAlpha=b),0!==y&&(e.rotate(-y),e.translate(-p,-m),g||c.setImgSmoothing(e,!1))}else n.drawElement(e,t)}}},r6e=function(){return 0},i6e=function(e,t){return e.getTextAngle(t,null)},a6e=function(e,t){return e.getTextAngle(t,"source")},o6e=function(e,t){return e.getTextAngle(t,"target")},s6e=function(e,t){return t.effectiveOpacity()},c6e=function(e,t){return t.pstyle("text-opacity").pfValue*t.effectiveOpacity()};n6e.drawCachedElement=function(e,t,n,r,i,a){var o=this,s=o.data,c=s.eleTxrCache,l=s.lblTxrCache,u=s.slbTxrCache,h=s.tlbTxrCache,d=t.boundingBox(),f=!0===a?c.reasons.highQuality:null;if(0!==d.w&&0!==d.h&&t.visible()&&(!r||HZe(d,r))){var p=t.isEdge(),m=t.element()._private.rscratch.badLine;o.drawElementUnderlay(e,t),o.drawCachedElementPortion(e,t,c,n,i,f,r6e,s6e),p&&m||o.drawCachedElementPortion(e,t,l,n,i,f,i6e,c6e),p&&!m&&(o.drawCachedElementPortion(e,t,u,n,i,f,a6e,c6e),o.drawCachedElementPortion(e,t,h,n,i,f,o6e,c6e)),o.drawElementOverlay(e,t)}},n6e.drawElements=function(e,t){for(var n=0;n<t.length;n++){var r=t[n];this.drawElement(e,r)}},n6e.drawCachedElements=function(e,t,n,r){for(var i=0;i<t.length;i++){var a=t[i];this.drawCachedElement(e,a,n,r)}},n6e.drawCachedNodes=function(e,t,n,r){for(var i=0;i<t.length;i++){var a=t[i];a.isNode()&&this.drawCachedElement(e,a,n,r)}},n6e.drawLayeredElements=function(e,t,n,r){var i=this.data.lyrTxrCache.getLayers(t,n);if(i)for(var a=0;a<i.length;a++){var o=i[a],s=o.bb;0!==s.w&&0!==s.h&&e.drawImage(o.canvas,s.x1,s.y1,s.w,s.h)}else this.drawCachedElements(e,t,n,r)};var l6e={drawEdge:function(e,t,n){var r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],o=this,s=t._private.rscratch;if((!a||t.visible())&&!s.badLine&&null!=s.allpts&&!isNaN(s.allpts[0])){var c;n&&(c=n,e.translate(-c.x1,-c.y1));var l=a?t.pstyle("opacity").value:1,u=a?t.pstyle("line-opacity").value:1,h=t.pstyle("curve-style").value,d=t.pstyle("line-style").value,f=t.pstyle("width").pfValue,p=t.pstyle("line-cap").value,m=l*u,g=l*u,b=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:m;"straight-triangle"===h?(o.eleStrokeStyle(e,t,n),o.drawEdgeTrianglePath(t,e,s.allpts)):(e.lineWidth=f,e.lineCap=p,o.eleStrokeStyle(e,t,n),o.drawEdgePath(t,e,s.allpts,d),e.lineCap="butt")},y=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:g;o.drawArrowheads(e,t,n)};if(e.lineJoin="round","yes"===t.pstyle("ghost").value){var v=t.pstyle("ghost-offset-x").pfValue,w=t.pstyle("ghost-offset-y").pfValue,x=t.pstyle("ghost-opacity").value,k=m*x;e.translate(v,w),b(k),y(k),e.translate(-v,-w)}i&&o.drawEdgeUnderlay(e,t),b(),y(),i&&o.drawEdgeOverlay(e,t),o.drawElementText(e,t,null,r),n&&e.translate(c.x1,c.y1)}}},u6e=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(t,n){if(n.visible()){var r=n.pstyle("".concat(e,"-opacity")).value;if(0!==r){var i=this,a=i.usePaths(),o=n._private.rscratch,s=2*n.pstyle("".concat(e,"-padding")).pfValue,c=n.pstyle("".concat(e,"-color")).value;t.lineWidth=s,"self"!==o.edgeType||a?t.lineCap="round":t.lineCap="butt",i.colorStrokeStyle(t,c[0],c[1],c[2],r),i.drawEdgePath(n,t,o.allpts,"solid")}}}};l6e.drawEdgeOverlay=u6e("overlay"),l6e.drawEdgeUnderlay=u6e("underlay"),l6e.drawEdgePath=function(e,t,n,r){var i,a=e._private.rscratch,o=t,s=!1,c=this.usePaths(),l=e.pstyle("line-dash-pattern").pfValue,u=e.pstyle("line-dash-offset").pfValue;if(c){var h=n.join("$");a.pathCacheKey&&a.pathCacheKey===h?(i=t=a.pathCache,s=!0):(i=t=new Path2D,a.pathCacheKey=h,a.pathCache=i)}if(o.setLineDash)switch(r){case"dotted":o.setLineDash([1,1]);break;case"dashed":o.setLineDash(l),o.lineDashOffset=u;break;case"solid":o.setLineDash([])}if(!s&&!a.badLine)switch(t.beginPath&&t.beginPath(),t.moveTo(n[0],n[1]),a.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var d=2;d+3<n.length;d+=4)t.quadraticCurveTo(n[d],n[d+1],n[d+2],n[d+3]);break;case"straight":case"haystack":for(var f=2;f+1<n.length;f+=2)t.lineTo(n[f],n[f+1]);break;case"segments":if(a.isRound){var p,m=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=lYe(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}(a.roundCorners);try{for(m.s();!(p=m.n()).done;){g5e(t,p.value)}}catch(e){m.e(e)}finally{m.f()}t.lineTo(n[n.length-2],n[n.length-1])}else for(var g=2;g+1<n.length;g+=2)t.lineTo(n[g],n[g+1])}t=o,c?t.stroke(i):t.stroke(),t.setLineDash&&t.setLineDash([])},l6e.drawEdgeTrianglePath=function(e,t,n){t.fillStyle=t.strokeStyle;for(var r=e.pstyle("width").pfValue,i=0;i+1<n.length;i+=2){var a=[n[i+2]-n[i],n[i+3]-n[i+1]],o=Math.sqrt(a[0]*a[0]+a[1]*a[1]),s=[a[1]/o,-a[0]/o],c=[s[0]*r/2,s[1]*r/2];t.beginPath(),t.moveTo(n[i]-c[0],n[i+1]-c[1]),t.lineTo(n[i]+c[0],n[i+1]+c[1]),t.lineTo(n[i+2],n[i+3]),t.closePath(),t.fill()}},l6e.drawArrowheads=function(e,t,n){var r=t._private.rscratch,i="haystack"===r.edgeType;i||this.drawArrowhead(e,t,"source",r.arrowStartX,r.arrowStartY,r.srcArrowAngle,n),this.drawArrowhead(e,t,"mid-target",r.midX,r.midY,r.midtgtArrowAngle,n),this.drawArrowhead(e,t,"mid-source",r.midX,r.midY,r.midsrcArrowAngle,n),i||this.drawArrowhead(e,t,"target",r.arrowEndX,r.arrowEndY,r.tgtArrowAngle,n)},l6e.drawArrowhead=function(e,t,n,r,i,a,o){if(!(isNaN(r)||null==r||isNaN(i)||null==i||isNaN(a)||null==a)){var s=this,c=t.pstyle(n+"-arrow-shape").value;if("none"!==c){var l="hollow"===t.pstyle(n+"-arrow-fill").value?"both":"filled",u=t.pstyle(n+"-arrow-fill").value,h=t.pstyle("width").pfValue,d=t.pstyle(n+"-arrow-width"),f="match-line"===d.value?h:d.pfValue;"%"===d.units&&(f*=h);var p=t.pstyle("opacity").value;void 0===o&&(o=p);var m=e.globalCompositeOperation;1===o&&"hollow"!==u||(e.globalCompositeOperation="destination-out",s.colorFillStyle(e,255,255,255,1),s.colorStrokeStyle(e,255,255,255,1),s.drawArrowShape(t,e,l,h,c,f,r,i,a),e.globalCompositeOperation=m);var g=t.pstyle(n+"-arrow-color").value;s.colorFillStyle(e,g[0],g[1],g[2],o),s.colorStrokeStyle(e,g[0],g[1],g[2],o),s.drawArrowShape(t,e,u,h,c,f,r,i,a)}}},l6e.drawArrowShape=function(e,t,n,r,i,a,o,s,c){var l,u=this,h=this.usePaths()&&"triangle-cross"!==i,d=!1,f=t,p={x:o,y:s},m=e.pstyle("arrow-scale").value,g=this.getArrowWidth(r,m),b=u.arrowShapes[i];if(h){var y=u.arrowPathCache=u.arrowPathCache||[],v=LXe(i),w=y[v];null!=w?(l=t=w,d=!0):(l=t=new Path2D,y[v]=l)}d||(t.beginPath&&t.beginPath(),h?b.draw(t,1,0,{x:0,y:0},1):b.draw(t,g,c,p,r),t.closePath&&t.closePath()),t=f,h&&(t.translate(o,s),t.rotate(c),t.scale(g,g)),"filled"!==n&&"both"!==n||(h?t.fill(l):t.fill()),"hollow"!==n&&"both"!==n||(t.lineWidth=a/(h?g:1),t.lineJoin="miter",h?t.stroke(l):t.stroke()),h&&(t.scale(1/g,1/g),t.rotate(-c),t.translate(-o,-s))};var h6e={safeDrawImage:function(e,t,n,r,i,a,o,s,c,l){if(!(i<=0||a<=0||c<=0||l<=0))try{e.drawImage(t,n,r,i,a,o,s,c,l)}catch(e){KXe(e)}},drawInscribedImage:function(e,t,n,r,i){var a=this,o=n.position(),s=o.x,c=o.y,l=n.cy().style(),u=l.getIndexedStyle.bind(l),h=u(n,"background-fit","value",r),d=u(n,"background-repeat","value",r),f=n.width(),p=n.height(),m=2*n.padding(),g=f+("inner"===u(n,"background-width-relative-to","value",r)?0:m),b=p+("inner"===u(n,"background-height-relative-to","value",r)?0:m),y=n._private.rscratch,v="node"===u(n,"background-clip","value",r),w=u(n,"background-image-opacity","value",r)*i,x=u(n,"background-image-smoothing","value",r),k=n.pstyle("corner-radius").value;"auto"!==k&&(k=n.pstyle("corner-radius").pfValue);var S=t.width||t.cachedW,E=t.height||t.cachedH;null!=S&&null!=E||(document.body.appendChild(t),S=t.cachedW=t.width||t.offsetWidth,E=t.cachedH=t.height||t.offsetHeight,document.body.removeChild(t));var _=S,A=E;if("auto"!==u(n,"background-width","value",r)&&(_="%"===u(n,"background-width","units",r)?u(n,"background-width","pfValue",r)*g:u(n,"background-width","pfValue",r)),"auto"!==u(n,"background-height","value",r)&&(A="%"===u(n,"background-height","units",r)?u(n,"background-height","pfValue",r)*b:u(n,"background-height","pfValue",r)),0!==_&&0!==A){if("contain"===h)_*=T=Math.min(g/_,b/A),A*=T;else if("cover"===h){var T;_*=T=Math.max(g/_,b/A),A*=T}var C=s-g/2,O=u(n,"background-position-x","units",r),D=u(n,"background-position-x","pfValue",r);C+="%"===O?(g-_)*D:D;var M=u(n,"background-offset-x","units",r),I=u(n,"background-offset-x","pfValue",r);C+="%"===M?(g-_)*I:I;var P=c-b/2,N=u(n,"background-position-y","units",r),L=u(n,"background-position-y","pfValue",r);P+="%"===N?(b-A)*L:L;var R=u(n,"background-offset-y","units",r),j=u(n,"background-offset-y","pfValue",r);P+="%"===R?(b-A)*j:j,y.pathCache&&(C-=s,P-=c,s=0,c=0);var B=e.globalAlpha;e.globalAlpha=w;var F=a.getImgSmoothing(e),z=!1;if("no"===x&&F?(a.setImgSmoothing(e,!1),z=!0):"yes"!==x||F||(a.setImgSmoothing(e,!0),z=!0),"no-repeat"===d)v&&(e.save(),y.pathCache?e.clip(y.pathCache):(a.nodeShapes[a.getNodeShape(n)].draw(e,s,c,g,b,k,y),e.clip())),a.safeDrawImage(e,t,0,0,S,E,C,P,_,A),v&&e.restore();else{var $=e.createPattern(t,d);e.fillStyle=$,a.nodeShapes[a.getNodeShape(n)].draw(e,s,c,g,b,k,y),e.translate(C,P),e.fill(),e.translate(-C,-P)}e.globalAlpha=B,z&&a.setImgSmoothing(e,F)}}},d6e={};function f6e(e,t,n,r,i){var a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:5,o=arguments.length>6?arguments[6]:void 0;e.beginPath(),e.moveTo(t+a,n),e.lineTo(t+r-a,n),e.quadraticCurveTo(t+r,n,t+r,n+a),e.lineTo(t+r,n+i-a),e.quadraticCurveTo(t+r,n+i,t+r-a,n+i),e.lineTo(t+a,n+i),e.quadraticCurveTo(t,n+i,t,n+i-a),e.lineTo(t,n+a),e.quadraticCurveTo(t,n,t+a,n),e.closePath(),o?e.stroke():e.fill()}d6e.eleTextBiggerThanMin=function(e,t){if(!t){var n=e.cy().zoom(),r=this.getPixelRatio(),i=Math.ceil(OZe(n*r));t=Math.pow(2,i)}return!(e.pstyle("font-size").pfValue*t<e.pstyle("min-zoomed-font-size").pfValue)},d6e.drawElementText=function(e,t,n,r,i){var a=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],o=this;if(null==r){if(a&&!o.eleTextBiggerThanMin(t))return}else if(!1===r)return;if(t.isNode()){var s=t.pstyle("label");if(!s||!s.value)return;var c=o.getLabelJustification(t);e.textAlign=c,e.textBaseline="bottom"}else{var l=t.element()._private.rscratch.badLine,u=t.pstyle("label"),h=t.pstyle("source-label"),d=t.pstyle("target-label");if(l||(!u||!u.value)&&(!h||!h.value)&&(!d||!d.value))return;e.textAlign="center",e.textBaseline="bottom"}var f,p=!n;n&&(f=n,e.translate(-f.x1,-f.y1)),null==i?(o.drawText(e,t,null,p,a),t.isEdge()&&(o.drawText(e,t,"source",p,a),o.drawText(e,t,"target",p,a))):o.drawText(e,t,i,p,a),n&&e.translate(f.x1,f.y1)},d6e.getFontCache=function(e){var t;this.fontCaches=this.fontCaches||[];for(var n=0;n<this.fontCaches.length;n++)if((t=this.fontCaches[n]).context===e)return t;return t={context:e},this.fontCaches.push(t),t},d6e.setupTextStyle=function(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=t.pstyle("font-style").strValue,i=t.pstyle("font-size").pfValue+"px",a=t.pstyle("font-family").strValue,o=t.pstyle("font-weight").strValue,s=n?t.effectiveOpacity()*t.pstyle("text-opacity").value:1,c=t.pstyle("text-outline-opacity").value*s,l=t.pstyle("color").value,u=t.pstyle("text-outline-color").value;e.font=r+" "+o+" "+i+" "+a,e.lineJoin="round",this.colorFillStyle(e,l[0],l[1],l[2],s),this.colorStrokeStyle(e,u[0],u[1],u[2],c)},d6e.getTextAngle=function(e,t){var n=e._private.rscratch,r=t?t+"-":"",i=e.pstyle(r+"text-rotation"),a=nZe(n,"labelAngle",t);return"autorotate"===i.strValue?e.isEdge()?a:0:"none"===i.strValue?0:i.pfValue},d6e.drawText=function(e,t,n){var r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=t._private.rscratch,o=i?t.effectiveOpacity():1;if(!i||0!==o&&0!==t.pstyle("text-opacity").value){"main"===n&&(n=null);var s,c,l=nZe(a,"labelX",n),u=nZe(a,"labelY",n),h=this.getLabelText(t,n);if(null!=h&&""!==h&&!isNaN(l)&&!isNaN(u)){this.setupTextStyle(e,t,i);var d,f=n?n+"-":"",p=nZe(a,"labelWidth",n),m=nZe(a,"labelHeight",n),g=t.pstyle(f+"text-margin-x").pfValue,b=t.pstyle(f+"text-margin-y").pfValue,y=t.isEdge(),v=t.pstyle("text-halign").value,w=t.pstyle("text-valign").value;switch(y&&(v="center",w="center"),l+=g,u+=b,0!==(d=r?this.getTextAngle(t,n):0)&&(s=l,c=u,e.translate(s,c),e.rotate(d),l=0,u=0),w){case"top":break;case"center":u+=m/2;break;case"bottom":u+=m}var x=t.pstyle("text-background-opacity").value,k=t.pstyle("text-border-opacity").value,S=t.pstyle("text-border-width").pfValue,E=t.pstyle("text-background-padding").pfValue,_=0===t.pstyle("text-background-shape").strValue.indexOf("round");if(x>0||S>0&&k>0){var A=l-E;switch(v){case"left":A-=p;break;case"center":A-=p/2}var T=u-m-E,C=p+2*E,O=m+2*E;if(x>0){var D=e.fillStyle,M=t.pstyle("text-background-color").value;e.fillStyle="rgba("+M[0]+","+M[1]+","+M[2]+","+x*o+")",_?f6e(e,A,T,C,O,2):e.fillRect(A,T,C,O),e.fillStyle=D}if(S>0&&k>0){var I=e.strokeStyle,P=e.lineWidth,N=t.pstyle("text-border-color").value,L=t.pstyle("text-border-style").value;if(e.strokeStyle="rgba("+N[0]+","+N[1]+","+N[2]+","+k*o+")",e.lineWidth=S,e.setLineDash)switch(L){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"double":e.lineWidth=S/4,e.setLineDash([]);break;case"solid":e.setLineDash([])}if(_?f6e(e,A,T,C,O,2,"stroke"):e.strokeRect(A,T,C,O),"double"===L){var R=S/2;_?f6e(e,A+R,T+R,C-2*R,O-2*R,2,"stroke"):e.strokeRect(A+R,T+R,C-2*R,O-2*R)}e.setLineDash&&e.setLineDash([]),e.lineWidth=P,e.strokeStyle=I}}var j=2*t.pstyle("text-outline-width").pfValue;if(j>0&&(e.lineWidth=j),"wrap"===t.pstyle("text-wrap").value){var B=nZe(a,"labelWrapCachedLines",n),F=nZe(a,"labelLineHeight",n),z=p/2,$=this.getLabelJustification(t);switch("auto"===$||("left"===v?"left"===$?l+=-p:"center"===$&&(l+=-z):"center"===v?"left"===$?l+=-z:"right"===$&&(l+=z):"right"===v&&("center"===$?l+=z:"right"===$&&(l+=p))),w){case"top":case"center":case"bottom":u-=(B.length-1)*F}for(var q=0;q<B.length;q++)j>0&&e.strokeText(B[q],l,u),e.fillText(B[q],l,u),u+=F}else j>0&&e.strokeText(h,l,u),e.fillText(h,l,u);0!==d&&(e.rotate(-d),e.translate(-s,-c))}}};var p6e={drawNode:function(e,t,n){var r,i,a=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],o=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],s=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],c=this,l=t._private,u=l.rscratch,h=t.position();if(kYe(h.x)&&kYe(h.y)&&(!s||t.visible())){var d,f,p=s?t.effectiveOpacity():1,m=c.usePaths(),g=!1,b=t.padding();r=t.width()+2*b,i=t.height()+2*b,n&&(f=n,e.translate(-f.x1,-f.y1));for(var y=t.pstyle("background-image").value,v=new Array(y.length),w=new Array(y.length),x=0,k=0;k<y.length;k++){var S=y[k];if(v[k]=null!=S&&"none"!==S){var E=t.cy().style().getIndexedStyle(t,"background-image-crossorigin","value",k);x++,w[k]=c.getCachedImage(S,E,(function(){l.backgroundTimestamp=Date.now(),t.emitAndNotify("background")}))}}var _=t.pstyle("background-blacken").value,A=t.pstyle("border-width").pfValue,T=t.pstyle("background-opacity").value*p,C=t.pstyle("border-color").value,O=t.pstyle("border-style").value,D=t.pstyle("border-join").value,M=t.pstyle("border-cap").value,I=t.pstyle("border-position").value,P=t.pstyle("border-dash-pattern").pfValue,N=t.pstyle("border-dash-offset").pfValue,L=t.pstyle("border-opacity").value*p,R=t.pstyle("outline-width").pfValue,j=t.pstyle("outline-color").value,B=t.pstyle("outline-style").value,F=t.pstyle("outline-opacity").value*p,z=t.pstyle("outline-offset").value,$=t.pstyle("corner-radius").value;"auto"!==$&&($=t.pstyle("corner-radius").pfValue);var q=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:T;c.eleFillStyle(e,t,n)},H=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:L;c.colorStrokeStyle(e,C[0],C[1],C[2],t)},U=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:F;c.colorStrokeStyle(e,j[0],j[1],j[2],t)},V=function(e,t,n,r){var i,a=c.nodePathCache=c.nodePathCache||[],o=RXe("polygon"===n?n+","+r.join(","):n,""+t,""+e,""+$),s=a[o],l=!1;return null!=s?(i=s,l=!0,u.pathCache=i):(i=new Path2D,a[o]=u.pathCache=i),{path:i,cacheHit:l}},W=t.pstyle("shape").strValue,G=t.pstyle("shape-polygon-points").pfValue;if(m){e.translate(h.x,h.y);var K=V(r,i,W,G);d=K.path,g=K.cacheHit}var Y=function(){if(!g){var n=h;m&&(n={x:0,y:0}),c.nodeShapes[c.getNodeShape(t)].draw(d||e,n.x,n.y,r,i,$,u)}m?e.fill(d):e.fill()},X=function(){for(var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:p,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=l.backgrounding,a=0,o=0;o<w.length;o++){var s=t.cy().style().getIndexedStyle(t,"background-image-containment","value",o);r&&"over"===s||!r&&"inside"===s?a++:v[o]&&w[o].complete&&!w[o].error&&(a++,c.drawInscribedImage(e,w[o],t,o,n))}l.backgrounding=!(a===x),i!==l.backgrounding&&t.updateStyle(!1)},Z=function(){var n=arguments.length>0&&void 0!==arguments[0]&&arguments[0],a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:p;c.hasPie(t)&&(c.drawPie(e,t,a),n&&(m||c.nodeShapes[c.getNodeShape(t)].draw(e,h.x,h.y,r,i,$,u)))},Q=function(){var t=(_>0?_:-_)*(arguments.length>0&&void 0!==arguments[0]?arguments[0]:p),n=_>0?0:255;0!==_&&(c.colorFillStyle(e,n,n,n,t),m?e.fill(d):e.fill())},J=function(){if(A>0){if(e.lineWidth=A,e.lineCap=M,e.lineJoin=D,e.setLineDash)switch(O){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash(P),e.lineDashOffset=N;break;case"solid":case"double":e.setLineDash([])}if("center"!==I){if(e.save(),e.lineWidth*=2,"inside"===I)m?e.clip(d):e.clip();else{var t=new Path2D;t.rect(-r/2-A,-i/2-A,r+2*A,i+2*A),t.addPath(d),e.clip(t,"evenodd")}m?e.stroke(d):e.stroke(),e.restore()}else m?e.stroke(d):e.stroke();if("double"===O){e.lineWidth=A/3;var n=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",m?e.stroke(d):e.stroke(),e.globalCompositeOperation=n}e.setLineDash&&e.setLineDash([])}},ee=function(){if(R>0){if(e.lineWidth=R,e.lineCap="butt",e.setLineDash)switch(B){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"solid":case"double":e.setLineDash([])}var n=h;m&&(n={x:0,y:0});var a=c.getNodeShape(t),o=A;"inside"===I&&(o=0),"outside"===I&&(o*=2);var s,l=(r+o+(R+z))/r,u=(i+o+(R+z))/i,d=r*l,f=i*u,p=c.nodeShapes[a].points;if(m)s=V(d,f,a,p).path;if("ellipse"===a)c.drawEllipsePath(s||e,n.x,n.y,d,f);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(a)){var g=0,b=0,y=0;"round-diamond"===a?g=1.4*(o+z+R):"round-heptagon"===a?(g=1.075*(o+z+R),y=-(o/2+z+R)/35):"round-hexagon"===a?g=1.12*(o+z+R):"round-pentagon"===a?(g=1.13*(o+z+R),y=-(o/2+z+R)/15):"round-tag"===a?(g=1.12*(o+z+R),b=.07*(o/2+R+z)):"round-triangle"===a&&(g=(o+z+R)*(Math.PI/2),y=-(o+z/2+R)/Math.PI),0!==g&&(d=r*(l=(r+g)/r),["round-hexagon","round-tag"].includes(a)||(f=i*(u=(i+g)/i)));for(var v=d/2,w=f/2,x=($="auto"===$?dQe(d,f):$)+(o+R+z)/2,k=new Array(p.length/2),S=new Array(p.length/2),E=0;E<p.length/2;E++)k[E]={x:n.x+b+v*p[2*E],y:n.y+y+w*p[2*E+1]};var _,T,C,O,D=k.length;for(T=k[D-1],_=0;_<D;_++)C=k[_%D],O=k[(_+1)%D],S[_]=b5e(T,C,O,x),T=C,C=O;c.drawRoundPolygonPath(s||e,n.x+b,n.y+y,r*l,i*u,p,S)}else if(["roundrectangle","round-rectangle"].includes(a))$="auto"===$?hQe(d,f):$,c.drawRoundRectanglePath(s||e,n.x,n.y,d,f,$+(o+R+z)/2);else if(["cutrectangle","cut-rectangle"].includes(a))$="auto"===$?8:$,c.drawCutRectanglePath(s||e,n.x,n.y,d,f,null,$+(o+R+z)/4);else if(["bottomroundrectangle","bottom-round-rectangle"].includes(a))$="auto"===$?hQe(d,f):$,c.drawBottomRoundRectanglePath(s||e,n.x,n.y,d,f,$+(o+R+z)/2);else if("barrel"===a)c.drawBarrelPath(s||e,n.x,n.y,d,f);else if(a.startsWith("polygon")||["rhomboid","right-rhomboid","round-tag","tag","vee"].includes(a)){p=eQe(tQe(p,(o+R+z)/r)),c.drawPolygonPath(s||e,n.x,n.y,r,i,p)}else{p=eQe(tQe(p,-((o+R+z)/r))),c.drawPolygonPath(s||e,n.x,n.y,r,i,p)}if(m?e.stroke(s):e.stroke(),"double"===B){e.lineWidth=o/3;var M=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",m?e.stroke(s):e.stroke(),e.globalCompositeOperation=M}e.setLineDash&&e.setLineDash([])}};if("yes"===t.pstyle("ghost").value){var te=t.pstyle("ghost-offset-x").pfValue,ne=t.pstyle("ghost-offset-y").pfValue,re=t.pstyle("ghost-opacity").value,ie=re*p;e.translate(te,ne),U(),ee(),q(re*T),Y(),X(ie,!0),H(re*L),J(),Z(0!==_||0!==A),X(ie,!1),Q(ie),e.translate(-te,-ne)}m&&e.translate(-h.x,-h.y),o&&c.drawNodeUnderlay(e,t,h,r,i),m&&e.translate(h.x,h.y),U(),ee(),q(),Y(),X(p,!0),H(),J(),Z(0!==_||0!==A),X(p,!1),Q(),m&&e.translate(-h.x,-h.y),c.drawElementText(e,t,null,a),o&&c.drawNodeOverlay(e,t,h,r,i),n&&e.translate(f.x1,f.y1)}}},m6e=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(t,n,r,i,a){if(n.visible()){var o=n.pstyle("".concat(e,"-padding")).pfValue,s=n.pstyle("".concat(e,"-opacity")).value,c=n.pstyle("".concat(e,"-color")).value,l=n.pstyle("".concat(e,"-shape")).value,u=n.pstyle("".concat(e,"-corner-radius")).value;if(s>0){if(r=r||n.position(),null==i||null==a){var h=n.padding();i=n.width()+2*h,a=n.height()+2*h}this.colorFillStyle(t,c[0],c[1],c[2],s),this.nodeShapes[l].draw(t,r.x,r.y,i+2*o,a+2*o,u),t.fill()}}}};p6e.drawNodeOverlay=m6e("overlay"),p6e.drawNodeUnderlay=m6e("underlay"),p6e.hasPie=function(e){return(e=e[0])._private.hasPie},p6e.drawPie=function(e,t,n,r){t=t[0],r=r||t.position();var i=t.cy().style(),a=t.pstyle("pie-size"),o=r.x,s=r.y,c=t.width(),l=t.height(),u=Math.min(c,l)/2,h=0;this.usePaths()&&(o=0,s=0),"%"===a.units?u*=a.pfValue:void 0!==a.pfValue&&(u=a.pfValue/2);for(var d=1;d<=i.pieBackgroundN;d++){var f=t.pstyle("pie-"+d+"-background-size").value,p=t.pstyle("pie-"+d+"-background-color").value,m=t.pstyle("pie-"+d+"-background-opacity").value*n,g=f/100;g+h>1&&(g=1-h);var b=1.5*Math.PI+2*Math.PI*h,y=b+2*Math.PI*g;0===f||h>=1||h+g>1||(e.beginPath(),e.moveTo(o,s),e.arc(o,s,u,b,y),e.closePath(),this.colorFillStyle(e,p[0],p[1],p[2],m),e.fill(),h+=g)}};var g6e={};g6e.getPixelRatio=function(){var e=this.data.contexts[0];if(null!=this.forcedPixelRatio)return this.forcedPixelRatio;var t=e.backingStorePixelRatio||e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1;return(window.devicePixelRatio||1)/t},g6e.paintCache=function(e){for(var t,n=this.paintCaches=this.paintCaches||[],r=!0,i=0;i<n.length;i++)if((t=n[i]).context===e){r=!1;break}return r&&(t={context:e},n.push(t)),t},g6e.createGradientStyleFor=function(e,t,n,r,i){var a,o=this.usePaths(),s=n.pstyle(t+"-gradient-stop-colors").value,c=n.pstyle(t+"-gradient-stop-positions").pfValue;if("radial-gradient"===r)if(n.isEdge()){var l=n.sourceEndpoint(),u=n.targetEndpoint(),h=n.midpoint(),d=MZe(l,h),f=MZe(u,h);a=e.createRadialGradient(h.x,h.y,0,h.x,h.y,Math.max(d,f))}else{var p=o?{x:0,y:0}:n.position(),m=n.paddedWidth(),g=n.paddedHeight();a=e.createRadialGradient(p.x,p.y,0,p.x,p.y,Math.max(m,g))}else if(n.isEdge()){var b=n.sourceEndpoint(),y=n.targetEndpoint();a=e.createLinearGradient(b.x,b.y,y.x,y.y)}else{var v=o?{x:0,y:0}:n.position(),w=n.paddedWidth()/2,x=n.paddedHeight()/2;switch(n.pstyle("background-gradient-direction").value){case"to-bottom":a=e.createLinearGradient(v.x,v.y-x,v.x,v.y+x);break;case"to-top":a=e.createLinearGradient(v.x,v.y+x,v.x,v.y-x);break;case"to-left":a=e.createLinearGradient(v.x+w,v.y,v.x-w,v.y);break;case"to-right":a=e.createLinearGradient(v.x-w,v.y,v.x+w,v.y);break;case"to-bottom-right":case"to-right-bottom":a=e.createLinearGradient(v.x-w,v.y-x,v.x+w,v.y+x);break;case"to-top-right":case"to-right-top":a=e.createLinearGradient(v.x-w,v.y+x,v.x+w,v.y-x);break;case"to-bottom-left":case"to-left-bottom":a=e.createLinearGradient(v.x+w,v.y-x,v.x-w,v.y+x);break;case"to-top-left":case"to-left-top":a=e.createLinearGradient(v.x+w,v.y+x,v.x-w,v.y-x)}}if(!a)return null;for(var k=c.length===s.length,S=s.length,E=0;E<S;E++)a.addColorStop(k?c[E]:E/(S-1),"rgba("+s[E][0]+","+s[E][1]+","+s[E][2]+","+i+")");return a},g6e.gradientFillStyle=function(e,t,n,r){var i=this.createGradientStyleFor(e,"background",t,n,r);if(!i)return null;e.fillStyle=i},g6e.colorFillStyle=function(e,t,n,r,i){e.fillStyle="rgba("+t+","+n+","+r+","+i+")"},g6e.eleFillStyle=function(e,t,n){var r=t.pstyle("background-fill").value;if("linear-gradient"===r||"radial-gradient"===r)this.gradientFillStyle(e,t,r,n);else{var i=t.pstyle("background-color").value;this.colorFillStyle(e,i[0],i[1],i[2],n)}},g6e.gradientStrokeStyle=function(e,t,n,r){var i=this.createGradientStyleFor(e,"line",t,n,r);if(!i)return null;e.strokeStyle=i},g6e.colorStrokeStyle=function(e,t,n,r,i){e.strokeStyle="rgba("+t+","+n+","+r+","+i+")"},g6e.eleStrokeStyle=function(e,t,n){var r=t.pstyle("line-fill").value;if("linear-gradient"===r||"radial-gradient"===r)this.gradientStrokeStyle(e,t,r,n);else{var i=t.pstyle("line-color").value;this.colorStrokeStyle(e,i[0],i[1],i[2],n)}},g6e.matchCanvasSize=function(e){var t=this,n=t.data,r=t.findContainerClientCoords(),i=r[2],a=r[3],o=t.getPixelRatio(),s=t.motionBlurPxRatio;e!==t.data.bufferCanvases[t.MOTIONBLUR_BUFFER_NODE]&&e!==t.data.bufferCanvases[t.MOTIONBLUR_BUFFER_DRAG]||(o=s);var c,l=i*o,u=a*o;if(l!==t.canvasWidth||u!==t.canvasHeight){t.fontCaches=null;var h=n.canvasContainer;h.style.width=i+"px",h.style.height=a+"px";for(var d=0;d<t.CANVAS_LAYERS;d++)(c=n.canvases[d]).width=l,c.height=u,c.style.width=i+"px",c.style.height=a+"px";for(d=0;d<t.BUFFER_COUNT;d++)(c=n.bufferCanvases[d]).width=l,c.height=u,c.style.width=i+"px",c.style.height=a+"px";t.textureMult=1,o<=1&&(c=n.bufferCanvases[t.TEXTURE_BUFFER],t.textureMult=2,c.width=l*t.textureMult,c.height=u*t.textureMult),t.canvasWidth=l,t.canvasHeight=u}},g6e.renderTo=function(e,t,n,r){this.render({forcedContext:e,forcedZoom:t,forcedPan:n,drawAllLayers:!0,forcedPxRatio:r})},g6e.render=function(e){var t=(e=e||QXe()).forcedContext,n=e.drawAllLayers,r=e.drawOnlyNodeLayer,i=e.forcedZoom,a=e.forcedPan,o=this,s=void 0===e.forcedPxRatio?this.getPixelRatio():e.forcedPxRatio,c=o.cy,l=o.data,u=l.canvasNeedsRedraw,h=o.textureOnViewport&&!t&&(o.pinching||o.hoverData.dragging||o.swipePanning||o.data.wheelZooming),d=void 0!==e.motionBlur?e.motionBlur:o.motionBlur,f=o.motionBlurPxRatio,p=c.hasCompoundNodes(),m=o.hoverData.draggingEles,g=!(!o.hoverData.selecting&&!o.touchData.selecting),b=d=d&&!t&&o.motionBlurEnabled&&!g;t||(o.prevPxRatio!==s&&(o.invalidateContainerClientCoordsCache(),o.matchCanvasSize(o.container),o.redrawHint("eles",!0),o.redrawHint("drag",!0)),o.prevPxRatio=s),!t&&o.motionBlurTimeout&&clearTimeout(o.motionBlurTimeout),d&&(null==o.mbFrames&&(o.mbFrames=0),o.mbFrames++,o.mbFrames<3&&(b=!1),o.mbFrames>o.minMbLowQualFrames&&(o.motionBlurPxRatio=o.mbPxRBlurry)),o.clearingMotionBlur&&(o.motionBlurPxRatio=1),o.textureDrawLastFrame&&!h&&(u[o.NODE]=!0,u[o.SELECT_BOX]=!0);var y=c.style(),v=c.zoom(),w=void 0!==i?i:v,x=c.pan(),k={x:x.x,y:x.y},S={zoom:v,pan:{x:x.x,y:x.y}},E=o.prevViewport;void 0===E||S.zoom!==E.zoom||S.pan.x!==E.pan.x||S.pan.y!==E.pan.y||m&&!p||(o.motionBlurPxRatio=1),a&&(k=a),w*=s,k.x*=s,k.y*=s;var _=o.getCachedZSortedEles();function A(e,t,n,r,i){var a=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",o.colorFillStyle(e,255,255,255,o.motionBlurTransparency),e.fillRect(t,n,r,i),e.globalCompositeOperation=a}function T(e,r){var s,c,u,h;o.clearingMotionBlur||e!==l.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]&&e!==l.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG]?(s=k,c=w,u=o.canvasWidth,h=o.canvasHeight):(s={x:x.x*f,y:x.y*f},c=v*f,u=o.canvasWidth*f,h=o.canvasHeight*f),e.setTransform(1,0,0,1,0,0),"motionBlur"===r?A(e,0,0,u,h):t||void 0!==r&&!r||e.clearRect(0,0,u,h),n||(e.translate(s.x,s.y),e.scale(c,c)),a&&e.translate(a.x,a.y),i&&e.scale(i,i)}if(h||(o.textureDrawLastFrame=!1),h){if(o.textureDrawLastFrame=!0,!o.textureCache){o.textureCache={},o.textureCache.bb=c.mutableElements().boundingBox(),o.textureCache.texture=o.data.bufferCanvases[o.TEXTURE_BUFFER];var C=o.data.bufferContexts[o.TEXTURE_BUFFER];C.setTransform(1,0,0,1,0,0),C.clearRect(0,0,o.canvasWidth*o.textureMult,o.canvasHeight*o.textureMult),o.render({forcedContext:C,drawOnlyNodeLayer:!0,forcedPxRatio:s*o.textureMult}),(S=o.textureCache.viewport={zoom:c.zoom(),pan:c.pan(),width:o.canvasWidth,height:o.canvasHeight}).mpan={x:(0-S.pan.x)/S.zoom,y:(0-S.pan.y)/S.zoom}}u[o.DRAG]=!1,u[o.NODE]=!1;var O=l.contexts[o.NODE],D=o.textureCache.texture;S=o.textureCache.viewport;O.setTransform(1,0,0,1,0,0),d?A(O,0,0,S.width,S.height):O.clearRect(0,0,S.width,S.height);var M=y.core("outside-texture-bg-color").value,I=y.core("outside-texture-bg-opacity").value;o.colorFillStyle(O,M[0],M[1],M[2],I),O.fillRect(0,0,S.width,S.height);v=c.zoom();T(O,!1),O.clearRect(S.mpan.x,S.mpan.y,S.width/S.zoom/s,S.height/S.zoom/s),O.drawImage(D,S.mpan.x,S.mpan.y,S.width/S.zoom/s,S.height/S.zoom/s)}else o.textureOnViewport&&!t&&(o.textureCache=null);var P=c.extent(),N=o.pinching||o.hoverData.dragging||o.swipePanning||o.data.wheelZooming||o.hoverData.draggingEles||o.cy.animated(),L=o.hideEdgesOnViewport&&N,R=[];if(R[o.NODE]=!u[o.NODE]&&d&&!o.clearedForMotionBlur[o.NODE]||o.clearingMotionBlur,R[o.NODE]&&(o.clearedForMotionBlur[o.NODE]=!0),R[o.DRAG]=!u[o.DRAG]&&d&&!o.clearedForMotionBlur[o.DRAG]||o.clearingMotionBlur,R[o.DRAG]&&(o.clearedForMotionBlur[o.DRAG]=!0),u[o.NODE]||n||r||R[o.NODE]){var j=d&&!R[o.NODE]&&1!==f;T(O=t||(j?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]:l.contexts[o.NODE]),d&&!j?"motionBlur":void 0),L?o.drawCachedNodes(O,_.nondrag,s,P):o.drawLayeredElements(O,_.nondrag,s,P),o.debug&&o.drawDebugPoints(O,_.nondrag),n||d||(u[o.NODE]=!1)}if(!r&&(u[o.DRAG]||n||R[o.DRAG])){j=d&&!R[o.DRAG]&&1!==f;T(O=t||(j?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG]:l.contexts[o.DRAG]),d&&!j?"motionBlur":void 0),L?o.drawCachedNodes(O,_.drag,s,P):o.drawCachedElements(O,_.drag,s,P),o.debug&&o.drawDebugPoints(O,_.drag),n||d||(u[o.DRAG]=!1)}if(o.showFps||!r&&u[o.SELECT_BOX]&&!n){if(T(O=t||l.contexts[o.SELECT_BOX]),1==o.selection[4]&&(o.hoverData.selecting||o.touchData.selecting)){v=o.cy.zoom();var B=y.core("selection-box-border-width").value/v;O.lineWidth=B,O.fillStyle="rgba("+y.core("selection-box-color").value[0]+","+y.core("selection-box-color").value[1]+","+y.core("selection-box-color").value[2]+","+y.core("selection-box-opacity").value+")",O.fillRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1]),B>0&&(O.strokeStyle="rgba("+y.core("selection-box-border-color").value[0]+","+y.core("selection-box-border-color").value[1]+","+y.core("selection-box-border-color").value[2]+","+y.core("selection-box-opacity").value+")",O.strokeRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1]))}if(l.bgActivePosistion&&!o.hoverData.selecting){v=o.cy.zoom();var F=l.bgActivePosistion;O.fillStyle="rgba("+y.core("active-bg-color").value[0]+","+y.core("active-bg-color").value[1]+","+y.core("active-bg-color").value[2]+","+y.core("active-bg-opacity").value+")",O.beginPath(),O.arc(F.x,F.y,y.core("active-bg-size").pfValue/v,0,2*Math.PI),O.fill()}var z=o.lastRedrawTime;if(o.showFps&&z){z=Math.round(z);var $=Math.round(1e3/z);O.setTransform(1,0,0,1,0,0),O.fillStyle="rgba(255, 0, 0, 0.75)",O.strokeStyle="rgba(255, 0, 0, 0.75)",O.lineWidth=1,O.fillText("1 frame = "+z+" ms = "+$+" fps",0,20);O.strokeRect(0,30,250,20),O.fillRect(0,30,250*Math.min($/60,1),20)}n||(u[o.SELECT_BOX]=!1)}if(d&&1!==f){var q=l.contexts[o.NODE],H=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_NODE],U=l.contexts[o.DRAG],V=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_DRAG],W=function(e,t,n){e.setTransform(1,0,0,1,0,0),n||!b?e.clearRect(0,0,o.canvasWidth,o.canvasHeight):A(e,0,0,o.canvasWidth,o.canvasHeight);var r=f;e.drawImage(t,0,0,o.canvasWidth*r,o.canvasHeight*r,0,0,o.canvasWidth,o.canvasHeight)};(u[o.NODE]||R[o.NODE])&&(W(q,H,R[o.NODE]),u[o.NODE]=!1),(u[o.DRAG]||R[o.DRAG])&&(W(U,V,R[o.DRAG]),u[o.DRAG]=!1)}o.prevViewport=S,o.clearingMotionBlur&&(o.clearingMotionBlur=!1,o.motionBlurCleared=!0,o.motionBlur=!0),d&&(o.motionBlurTimeout=setTimeout((function(){o.motionBlurTimeout=null,o.clearedForMotionBlur[o.NODE]=!1,o.clearedForMotionBlur[o.DRAG]=!1,o.motionBlur=!1,o.clearingMotionBlur=!h,o.mbFrames=0,u[o.NODE]=!0,u[o.DRAG]=!0,o.redraw()}),100)),t||c.emit("render")};for(var b6e={drawPolygonPath:function(e,t,n,r,i,a){var o=r/2,s=i/2;e.beginPath&&e.beginPath(),e.moveTo(t+o*a[0],n+s*a[1]);for(var c=1;c<a.length/2;c++)e.lineTo(t+o*a[2*c],n+s*a[2*c+1]);e.closePath()},drawRoundPolygonPath:function(e,t,n,r,i,a,o){o.forEach((function(t){return g5e(e,t)})),e.closePath()},drawRoundRectanglePath:function(e,t,n,r,i,a){var o=r/2,s=i/2,c="auto"===a?hQe(r,i):Math.min(a,s,o);e.beginPath&&e.beginPath(),e.moveTo(t,n-s),e.arcTo(t+o,n-s,t+o,n,c),e.arcTo(t+o,n+s,t,n+s,c),e.arcTo(t-o,n+s,t-o,n,c),e.arcTo(t-o,n-s,t,n-s,c),e.lineTo(t,n-s),e.closePath()},drawBottomRoundRectanglePath:function(e,t,n,r,i,a){var o=r/2,s=i/2,c="auto"===a?hQe(r,i):a;e.beginPath&&e.beginPath(),e.moveTo(t,n-s),e.lineTo(t+o,n-s),e.lineTo(t+o,n),e.arcTo(t+o,n+s,t,n+s,c),e.arcTo(t-o,n+s,t-o,n,c),e.lineTo(t-o,n-s),e.lineTo(t,n-s),e.closePath()},drawCutRectanglePath:function(e,t,n,r,i,a,o){var s=r/2,c=i/2,l="auto"===o?8:o;e.beginPath&&e.beginPath(),e.moveTo(t-s+l,n-c),e.lineTo(t+s-l,n-c),e.lineTo(t+s,n-c+l),e.lineTo(t+s,n+c-l),e.lineTo(t+s-l,n+c),e.lineTo(t-s+l,n+c),e.lineTo(t-s,n+c-l),e.lineTo(t-s,n-c+l),e.closePath()},drawBarrelPath:function(e,t,n,r,i){var a=r/2,o=i/2,s=t-a,c=t+a,l=n-o,u=n+o,h=fQe(r,i),d=h.widthOffset,f=h.heightOffset,p=h.ctrlPtOffsetPct*d;e.beginPath&&e.beginPath(),e.moveTo(s,l+f),e.lineTo(s,u-f),e.quadraticCurveTo(s+p,u,s+d,u),e.lineTo(c-d,u),e.quadraticCurveTo(c-p,u,c,u-f),e.lineTo(c,l+f),e.quadraticCurveTo(c-p,l,c-d,l),e.lineTo(s+d,l),e.quadraticCurveTo(s+p,l,s,l+f),e.closePath()}},y6e=Math.sin(0),v6e=Math.cos(0),w6e={},x6e={},k6e=Math.PI/40,S6e=0*Math.PI;S6e<2*Math.PI;S6e+=k6e)w6e[S6e]=Math.sin(S6e),x6e[S6e]=Math.cos(S6e);b6e.drawEllipsePath=function(e,t,n,r,i){if(e.beginPath&&e.beginPath(),e.ellipse)e.ellipse(t,n,r/2,i/2,0,0,2*Math.PI);else for(var a,o,s=r/2,c=i/2,l=0*Math.PI;l<2*Math.PI;l+=k6e)a=t-s*w6e[l]*y6e+s*x6e[l]*v6e,o=n+c*x6e[l]*y6e+c*w6e[l]*v6e,0===l?e.moveTo(a,o):e.lineTo(a,o);e.closePath()};var E6e={};function _6e(e){var t=e.indexOf(",");return e.substr(t+1)}function A6e(e,t,n){var r=function(){return t.toDataURL(n,e.quality)};switch(e.output){case"blob-promise":return new TJe((function(r,i){try{t.toBlob((function(e){null!=e?r(e):i(new Error("`canvas.toBlob()` sent a null value in its callback"))}),n,e.quality)}catch(e){i(e)}}));case"blob":return function(e,t){for(var n=atob(e),r=new ArrayBuffer(n.length),i=new Uint8Array(r),a=0;a<n.length;a++)i[a]=n.charCodeAt(a);return new Blob([r],{type:t})}(_6e(r()),n);case"base64":return _6e(r());default:return r()}}E6e.createBuffer=function(e,t){var n=document.createElement("canvas");return n.width=e,n.height=t,[n,n.getContext("2d")]},E6e.bufferCanvasImage=function(e){var t=this.cy,n=t.mutableElements().boundingBox(),r=this.findContainerClientCoords(),i=e.full?Math.ceil(n.w):r[2],a=e.full?Math.ceil(n.h):r[3],o=kYe(e.maxWidth)||kYe(e.maxHeight),s=this.getPixelRatio(),c=1;if(void 0!==e.scale)i*=e.scale,a*=e.scale,c=e.scale;else if(o){var l=1/0,u=1/0;kYe(e.maxWidth)&&(l=c*e.maxWidth/i),kYe(e.maxHeight)&&(u=c*e.maxHeight/a),i*=c=Math.min(l,u),a*=c}o||(i*=s,a*=s,c*=s);var h=document.createElement("canvas");h.width=i,h.height=a,h.style.width=i+"px",h.style.height=a+"px";var d=h.getContext("2d");if(i>0&&a>0){d.clearRect(0,0,i,a),d.globalCompositeOperation="source-over";var f=this.getCachedZSortedEles();if(e.full)d.translate(-n.x1*c,-n.y1*c),d.scale(c,c),this.drawElements(d,f),d.scale(1/c,1/c),d.translate(n.x1*c,n.y1*c);else{var p=t.pan(),m={x:p.x*c,y:p.y*c};c*=t.zoom(),d.translate(m.x,m.y),d.scale(c,c),this.drawElements(d,f),d.scale(1/c,1/c),d.translate(-m.x,-m.y)}e.bg&&(d.globalCompositeOperation="destination-over",d.fillStyle=e.bg,d.rect(0,0,i,a),d.fill())}return h},E6e.png=function(e){return A6e(e,this.bufferCanvasImage(e),"image/png")},E6e.jpg=function(e){return A6e(e,this.bufferCanvasImage(e),"image/jpeg")};var T6e={nodeShapeImpl:function(e,t,n,r,i,a,o,s){switch(e){case"ellipse":return this.drawEllipsePath(t,n,r,i,a);case"polygon":return this.drawPolygonPath(t,n,r,i,a,o);case"round-polygon":return this.drawRoundPolygonPath(t,n,r,i,a,o,s);case"roundrectangle":case"round-rectangle":return this.drawRoundRectanglePath(t,n,r,i,a,s);case"cutrectangle":case"cut-rectangle":return this.drawCutRectanglePath(t,n,r,i,a,o,s);case"bottomroundrectangle":case"bottom-round-rectangle":return this.drawBottomRoundRectanglePath(t,n,r,i,a,s);case"barrel":return this.drawBarrelPath(t,n,r,i,a)}}},C6e=D6e,O6e=D6e.prototype;function D6e(e){var t=this;t.data={canvases:new Array(O6e.CANVAS_LAYERS),contexts:new Array(O6e.CANVAS_LAYERS),canvasNeedsRedraw:new Array(O6e.CANVAS_LAYERS),bufferCanvases:new Array(O6e.BUFFER_COUNT),bufferContexts:new Array(O6e.CANVAS_LAYERS)};var n="-webkit-tap-highlight-color",r="rgba(0,0,0,0)";t.data.canvasContainer=document.createElement("div");var i=t.data.canvasContainer.style;t.data.canvasContainer.style[n]=r,i.position="relative",i.zIndex="0",i.overflow="hidden";var a=e.cy.container();a.appendChild(t.data.canvasContainer),a.style[n]=r;var o={"-webkit-user-select":"none","-moz-user-select":"-moz-none","user-select":"none","-webkit-tap-highlight-color":"rgba(0,0,0,0)","outline-style":"none"};dYe&&dYe.userAgent.match(/msie|trident|edge/i)&&(o["-ms-touch-action"]="none",o["touch-action"]="none");for(var s=0;s<O6e.CANVAS_LAYERS;s++){var c=t.data.canvases[s]=document.createElement("canvas");t.data.contexts[s]=c.getContext("2d"),Object.keys(o).forEach((function(e){c.style[e]=o[e]})),c.style.position="absolute",c.setAttribute("data-id","layer"+s),c.style.zIndex=String(O6e.CANVAS_LAYERS-s),t.data.canvasContainer.appendChild(c),t.data.canvasNeedsRedraw[s]=!1}t.data.topCanvas=t.data.canvases[0],t.data.canvases[O6e.NODE].setAttribute("data-id","layer"+O6e.NODE+"-node"),t.data.canvases[O6e.SELECT_BOX].setAttribute("data-id","layer"+O6e.SELECT_BOX+"-selectbox"),t.data.canvases[O6e.DRAG].setAttribute("data-id","layer"+O6e.DRAG+"-drag");for(s=0;s<O6e.BUFFER_COUNT;s++)t.data.bufferCanvases[s]=document.createElement("canvas"),t.data.bufferContexts[s]=t.data.bufferCanvases[s].getContext("2d"),t.data.bufferCanvases[s].style.position="absolute",t.data.bufferCanvases[s].setAttribute("data-id","buffer"+s),t.data.bufferCanvases[s].style.zIndex=String(-s-1),t.data.bufferCanvases[s].style.visibility="hidden";t.pathsEnabled=!0;var l=jZe(),u=function(e){return{x:-e.w/2,y:-e.h/2}},h=function(e){return e.boundingBox(),e[0]._private.bodyBounds},d=function(e){return e.boundingBox(),e[0]._private.labelBounds.main||l},f=function(e){return e.boundingBox(),e[0]._private.labelBounds.source||l},p=function(e){return e.boundingBox(),e[0]._private.labelBounds.target||l},m=function(e,t){return t},g=function(e,t,n){var r=e?e+"-":"";return{x:t.x+n.pstyle(r+"text-margin-x").pfValue,y:t.y+n.pstyle(r+"text-margin-y").pfValue}},b=function(e,t,n){var r=e[0]._private.rscratch;return{x:r[t],y:r[n]}},y=t.data.eleTxrCache=new H5e(t,{getKey:function(e){return e[0]._private.nodeKey},doesEleInvalidateKey:function(e){var t=e[0]._private;return!(t.oldBackgroundTimestamp===t.backgroundTimestamp)},drawElement:function(e,n,r,i,a){return t.drawElement(e,n,r,!1,!1,a)},getBoundingBox:h,getRotationPoint:function(e){return{x:((t=h(e)).x1+t.x2)/2,y:(t.y1+t.y2)/2};var t},getRotationOffset:function(e){return u(h(e))},allowEdgeTxrCaching:!1,allowParentTxrCaching:!1}),v=t.data.lblTxrCache=new H5e(t,{getKey:function(e){return e[0]._private.labelStyleKey},drawElement:function(e,n,r,i,a){return t.drawElementText(e,n,r,i,"main",a)},getBoundingBox:d,getRotationPoint:function(e){return g("",b(e,"labelX","labelY"),e)},getRotationOffset:function(e){var t=d(e),n=u(d(e));if(e.isNode()){switch(e.pstyle("text-halign").value){case"left":n.x=-t.w;break;case"right":n.x=0}switch(e.pstyle("text-valign").value){case"top":n.y=-t.h;break;case"bottom":n.y=0}}return n},isVisible:m}),w=t.data.slbTxrCache=new H5e(t,{getKey:function(e){return e[0]._private.sourceLabelStyleKey},drawElement:function(e,n,r,i,a){return t.drawElementText(e,n,r,i,"source",a)},getBoundingBox:f,getRotationPoint:function(e){return g("source",b(e,"sourceLabelX","sourceLabelY"),e)},getRotationOffset:function(e){return u(f(e))},isVisible:m}),x=t.data.tlbTxrCache=new H5e(t,{getKey:function(e){return e[0]._private.targetLabelStyleKey},drawElement:function(e,n,r,i,a){return t.drawElementText(e,n,r,i,"target",a)},getBoundingBox:p,getRotationPoint:function(e){return g("target",b(e,"targetLabelX","targetLabelY"),e)},getRotationOffset:function(e){return u(p(e))},isVisible:m}),k=t.data.lyrTxrCache=new V5e(t);t.onUpdateEleCalcs((function(e,t){y.invalidateElements(t),v.invalidateElements(t),w.invalidateElements(t),x.invalidateElements(t),k.invalidateElements(t);for(var n=0;n<t.length;n++){var r=t[n]._private;r.oldBackgroundTimestamp=r.backgroundTimestamp}}));var S=function(e){for(var t=0;t<e.length;t++)k.enqueueElementRefinement(e[t].ele)};y.onDequeue(S),v.onDequeue(S),w.onDequeue(S),x.onDequeue(S)}O6e.CANVAS_LAYERS=3,O6e.SELECT_BOX=0,O6e.DRAG=1,O6e.NODE=2,O6e.BUFFER_COUNT=3,O6e.TEXTURE_BUFFER=0,O6e.MOTIONBLUR_BUFFER_NODE=1,O6e.MOTIONBLUR_BUFFER_DRAG=2,O6e.redrawHint=function(e,t){var n=this;switch(e){case"eles":n.data.canvasNeedsRedraw[O6e.NODE]=t;break;case"drag":n.data.canvasNeedsRedraw[O6e.DRAG]=t;break;case"select":n.data.canvasNeedsRedraw[O6e.SELECT_BOX]=t}};var M6e="undefined"!=typeof Path2D;O6e.path2dEnabled=function(e){if(void 0===e)return this.pathsEnabled;this.pathsEnabled=!!e},O6e.usePaths=function(){return M6e&&this.pathsEnabled},O6e.setImgSmoothing=function(e,t){null!=e.imageSmoothingEnabled?e.imageSmoothingEnabled=t:(e.webkitImageSmoothingEnabled=t,e.mozImageSmoothingEnabled=t,e.msImageSmoothingEnabled=t)},O6e.getImgSmoothing=function(e){return null!=e.imageSmoothingEnabled?e.imageSmoothingEnabled:e.webkitImageSmoothingEnabled||e.mozImageSmoothingEnabled||e.msImageSmoothingEnabled},O6e.makeOffscreenCanvas=function(e,t){var n;return"undefined"!==("undefined"==typeof OffscreenCanvas?"undefined":rYe(OffscreenCanvas))?n=new OffscreenCanvas(e,t):((n=document.createElement("canvas")).width=e,n.height=t),n},[X5e,n6e,l6e,h6e,d6e,p6e,g6e,b6e,E6e,T6e].forEach((function(e){qYe(O6e,e)}));var I6e=[{type:"layout",extensions:q4e},{type:"renderer",extensions:[{name:"null",impl:H4e},{name:"base",impl:R5e},{name:"canvas",impl:C6e}]}],P6e={},N6e={};function L6e(e,t,n){var r=n,i=function(n){KXe("Can not register `"+t+"` for `"+e+"` since `"+n+"` already exists in the prototype and can not be overridden")};if("core"===e){if(t4e.prototype[t])return i(t);t4e.prototype[t]=n}else if("collection"===e){if(b3e.prototype[t])return i(t);b3e.prototype[t]=n}else if("layout"===e){for(var a=function(e){this.options=e,n.call(this,e),xYe(this._private)||(this._private={}),this._private.cy=e.cy,this._private.listeners=[],this.createEmitter()},o=a.prototype=Object.create(n.prototype),s=[],c=0;c<s.length;c++){var l=s[c];o[l]=o[l]||function(){return this}}o.start&&!o.run?o.run=function(){return this.start(),this}:!o.start&&o.run&&(o.start=function(){return this.run(),this});var u=n.prototype.stop;o.stop=function(){var e=this.options;if(e&&e.animate){var t=this.animations;if(t)for(var n=0;n<t.length;n++)t[n].stop()}return u?u.call(this):this.emit("layoutstop"),this},o.destroy||(o.destroy=function(){return this}),o.cy=function(){return this._private.cy};var h=function(e){return e._private.cy},d={addEventFields:function(e,t){t.layout=e,t.cy=h(e),t.target=e},bubble:function(){return!0},parent:function(e){return h(e)}};qYe(o,{createEmitter:function(){return this._private.emitter=new L2e(d,this),this},emitter:function(){return this._private.emitter},on:function(e,t){return this.emitter().on(e,t),this},one:function(e,t){return this.emitter().one(e,t),this},once:function(e,t){return this.emitter().one(e,t),this},removeListener:function(e,t){return this.emitter().removeListener(e,t),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},emit:function(e,t){return this.emitter().emit(e,t),this}}),t0e.eventAliasesOn(o),r=a}else if("renderer"===e&&"null"!==t&&"base"!==t){var f=R6e("renderer","base"),p=f.prototype,m=n,g=n.prototype,b=function(){f.apply(this,arguments),m.apply(this,arguments)},y=b.prototype;for(var v in p){var w=p[v];if(null!=g[v])return i(v);y[v]=w}for(var x in g)y[x]=g[x];p.clientFunctions.forEach((function(e){y[e]=y[e]||function(){WXe("Renderer does not implement `renderer."+e+"()` on its prototype")}})),r=b}else if("__proto__"===e||"constructor"===e||"prototype"===e)return WXe(e+" is an illegal type to be registered, possibly lead to prototype pollutions");return VYe({map:P6e,keys:[e,t],value:r})}function R6e(e,t){return WYe({map:P6e,keys:[e,t]})}function j6e(e,t,n,r,i){return VYe({map:N6e,keys:[e,t,n,r],value:i})}function B6e(e,t,n,r){return WYe({map:N6e,keys:[e,t,n,r]})}var F6e=function(){return 2===arguments.length?R6e.apply(null,arguments):3===arguments.length?L6e.apply(null,arguments):4===arguments.length?B6e.apply(null,arguments):5===arguments.length?j6e.apply(null,arguments):void WXe("Invalid extension access syntax")};t4e.prototype.extension=F6e,I6e.forEach((function(e){e.extensions.forEach((function(t){L6e(e.type,t.name,t.impl)}))}));var z6e=function e(){if(!(this instanceof e))return new e;this.length=0},$6e=z6e.prototype;$6e.instanceString=function(){return"stylesheet"},$6e.selector=function(e){return this[this.length++]={selector:e,properties:[]},this},$6e.css=function(e,t){var n=this.length-1;if(yYe(e))this[n].properties.push({name:e,value:t});else if(xYe(e))for(var r=e,i=Object.keys(r),a=0;a<i.length;a++){var o=i[a],s=r[o];if(null!=s){var c=X3e.properties[o]||X3e.properties[PYe(o)];if(null!=c){var l=c.name,u=s;this[n].properties.push({name:l,value:u})}}}return this},$6e.style=$6e.css,$6e.generateStyle=function(e){var t=new X3e(e);return this.appendToStyle(t)},$6e.appendToStyle=function(e){for(var t=0;t<this.length;t++){var n=this[t],r=n.selector,i=n.properties;e.selector(r);for(var a=0;a<i.length;a++){var o=i[a];e.css(o.name,o.value)}}return e};var q6e=function(e){return void 0===e&&(e={}),xYe(e)?new t4e(e):yYe(e)?F6e.apply(F6e,arguments):void 0};q6e.use=function(e){var t=Array.prototype.slice.call(arguments,1);return t.unshift(q6e),e.apply(null,t),this},q6e.warnings=function(e){return GXe(e)},q6e.version="3.29.1",q6e.stylesheet=q6e.Stylesheet=z6e;var H6e,U6e,V6e,W6e={exports:{}},G6e={exports:{}},K6e={exports:{}};function Y6e(){return H6e||(H6e=1,function(e,t){var n;n=function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.i=function(e){return e},n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=26)}([function(e,t,n){function r(){}r.QUALITY=1,r.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,r.DEFAULT_INCREMENTAL=!1,r.DEFAULT_ANIMATION_ON_LAYOUT=!0,r.DEFAULT_ANIMATION_DURING_LAYOUT=!1,r.DEFAULT_ANIMATION_PERIOD=50,r.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,r.DEFAULT_GRAPH_MARGIN=15,r.NODE_DIMENSIONS_INCLUDE_LABELS=!1,r.SIMPLE_NODE_SIZE=40,r.SIMPLE_NODE_HALF_SIZE=r.SIMPLE_NODE_SIZE/2,r.EMPTY_COMPOUND_NODE_SIZE=40,r.MIN_EDGE_LENGTH=1,r.WORLD_BOUNDARY=1e6,r.INITIAL_WORLD_BOUNDARY=r.WORLD_BOUNDARY/1e3,r.WORLD_CENTER_X=1200,r.WORLD_CENTER_Y=900,e.exports=r},function(e,t,n){var r=n(2),i=n(8),a=n(9);function o(e,t,n){r.call(this,n),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=n,this.bendpoints=[],this.source=e,this.target=t}for(var s in o.prototype=Object.create(r.prototype),r)o[s]=r[s];o.prototype.getSource=function(){return this.source},o.prototype.getTarget=function(){return this.target},o.prototype.isInterGraph=function(){return this.isInterGraph},o.prototype.getLength=function(){return this.length},o.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},o.prototype.getBendpoints=function(){return this.bendpoints},o.prototype.getLca=function(){return this.lca},o.prototype.getSourceInLca=function(){return this.sourceInLca},o.prototype.getTargetInLca=function(){return this.targetInLca},o.prototype.getOtherEnd=function(e){if(this.source===e)return this.target;if(this.target===e)return this.source;throw"Node is not incident with this edge"},o.prototype.getOtherEndInGraph=function(e,t){for(var n=this.getOtherEnd(e),r=t.getGraphManager().getRoot();;){if(n.getOwner()==t)return n;if(n.getOwner()==r)break;n=n.getOwner().getParent()}return null},o.prototype.updateLength=function(){var e=new Array(4);this.isOverlapingSourceAndTarget=i.getIntersection(this.target.getRect(),this.source.getRect(),e),this.isOverlapingSourceAndTarget||(this.lengthX=e[0]-e[2],this.lengthY=e[1]-e[3],Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},o.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},e.exports=o},function(e,t,n){e.exports=function(e){this.vGraphObject=e}},function(e,t,n){var r=n(2),i=n(10),a=n(13),o=n(0),s=n(16),c=n(4);function l(e,t,n,o){null==n&&null==o&&(o=t),r.call(this,o),null!=e.graphManager&&(e=e.graphManager),this.estimatedSize=i.MIN_VALUE,this.inclusionTreeDepth=i.MAX_VALUE,this.vGraphObject=o,this.edges=[],this.graphManager=e,this.rect=null!=n&&null!=t?new a(t.x,t.y,n.width,n.height):new a}for(var u in l.prototype=Object.create(r.prototype),r)l[u]=r[u];l.prototype.getEdges=function(){return this.edges},l.prototype.getChild=function(){return this.child},l.prototype.getOwner=function(){return this.owner},l.prototype.getWidth=function(){return this.rect.width},l.prototype.setWidth=function(e){this.rect.width=e},l.prototype.getHeight=function(){return this.rect.height},l.prototype.setHeight=function(e){this.rect.height=e},l.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},l.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},l.prototype.getCenter=function(){return new c(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},l.prototype.getLocation=function(){return new c(this.rect.x,this.rect.y)},l.prototype.getRect=function(){return this.rect},l.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},l.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},l.prototype.setRect=function(e,t){this.rect.x=e.x,this.rect.y=e.y,this.rect.width=t.width,this.rect.height=t.height},l.prototype.setCenter=function(e,t){this.rect.x=e-this.rect.width/2,this.rect.y=t-this.rect.height/2},l.prototype.setLocation=function(e,t){this.rect.x=e,this.rect.y=t},l.prototype.moveBy=function(e,t){this.rect.x+=e,this.rect.y+=t},l.prototype.getEdgeListToNode=function(e){var t=[],n=this;return n.edges.forEach((function(r){if(r.target==e){if(r.source!=n)throw"Incorrect edge source!";t.push(r)}})),t},l.prototype.getEdgesBetween=function(e){var t=[],n=this;return n.edges.forEach((function(r){if(r.source!=n&&r.target!=n)throw"Incorrect edge source and/or target";r.target!=e&&r.source!=e||t.push(r)})),t},l.prototype.getNeighborsList=function(){var e=new Set,t=this;return t.edges.forEach((function(n){if(n.source==t)e.add(n.target);else{if(n.target!=t)throw"Incorrect incidency!";e.add(n.source)}})),e},l.prototype.withChildren=function(){var e=new Set;if(e.add(this),null!=this.child)for(var t=this.child.getNodes(),n=0;n<t.length;n++)t[n].withChildren().forEach((function(t){e.add(t)}));return e},l.prototype.getNoOfChildren=function(){var e=0;if(null==this.child)e=1;else for(var t=this.child.getNodes(),n=0;n<t.length;n++)e+=t[n].getNoOfChildren();return 0==e&&(e=1),e},l.prototype.getEstimatedSize=function(){if(this.estimatedSize==i.MIN_VALUE)throw"assert failed";return this.estimatedSize},l.prototype.calcEstimatedSize=function(){return null==this.child?this.estimatedSize=(this.rect.width+this.rect.height)/2:(this.estimatedSize=this.child.calcEstimatedSize(),this.rect.width=this.estimatedSize,this.rect.height=this.estimatedSize,this.estimatedSize)},l.prototype.scatter=function(){var e,t,n=-o.INITIAL_WORLD_BOUNDARY,r=o.INITIAL_WORLD_BOUNDARY;e=o.WORLD_CENTER_X+s.nextDouble()*(r-n)+n;var i=-o.INITIAL_WORLD_BOUNDARY,a=o.INITIAL_WORLD_BOUNDARY;t=o.WORLD_CENTER_Y+s.nextDouble()*(a-i)+i,this.rect.x=e,this.rect.y=t},l.prototype.updateBounds=function(){if(null==this.getChild())throw"assert failed";if(0!=this.getChild().getNodes().length){var e=this.getChild();if(e.updateBounds(!0),this.rect.x=e.getLeft(),this.rect.y=e.getTop(),this.setWidth(e.getRight()-e.getLeft()),this.setHeight(e.getBottom()-e.getTop()),o.NODE_DIMENSIONS_INCLUDE_LABELS){var t=e.getRight()-e.getLeft(),n=e.getBottom()-e.getTop();this.labelWidth>t&&(this.rect.x-=(this.labelWidth-t)/2,this.setWidth(this.labelWidth)),this.labelHeight>n&&("center"==this.labelPos?this.rect.y-=(this.labelHeight-n)/2:"top"==this.labelPos&&(this.rect.y-=this.labelHeight-n),this.setHeight(this.labelHeight))}}},l.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==i.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},l.prototype.transform=function(e){var t=this.rect.x;t>o.WORLD_BOUNDARY?t=o.WORLD_BOUNDARY:t<-o.WORLD_BOUNDARY&&(t=-o.WORLD_BOUNDARY);var n=this.rect.y;n>o.WORLD_BOUNDARY?n=o.WORLD_BOUNDARY:n<-o.WORLD_BOUNDARY&&(n=-o.WORLD_BOUNDARY);var r=new c(t,n),i=e.inverseTransformPoint(r);this.setLocation(i.x,i.y)},l.prototype.getLeft=function(){return this.rect.x},l.prototype.getRight=function(){return this.rect.x+this.rect.width},l.prototype.getTop=function(){return this.rect.y},l.prototype.getBottom=function(){return this.rect.y+this.rect.height},l.prototype.getParent=function(){return null==this.owner?null:this.owner.getParent()},e.exports=l},function(e,t,n){function r(e,t){null==e&&null==t?(this.x=0,this.y=0):(this.x=e,this.y=t)}r.prototype.getX=function(){return this.x},r.prototype.getY=function(){return this.y},r.prototype.setX=function(e){this.x=e},r.prototype.setY=function(e){this.y=e},r.prototype.getDifference=function(e){return new DimensionD(this.x-e.x,this.y-e.y)},r.prototype.getCopy=function(){return new r(this.x,this.y)},r.prototype.translate=function(e){return this.x+=e.width,this.y+=e.height,this},e.exports=r},function(e,t,n){var r=n(2),i=n(10),a=n(0),o=n(6),s=n(3),c=n(1),l=n(13),u=n(12),h=n(11);function d(e,t,n){r.call(this,n),this.estimatedSize=i.MIN_VALUE,this.margin=a.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=e,null!=t&&t instanceof o?this.graphManager=t:null!=t&&t instanceof Layout&&(this.graphManager=t.graphManager)}for(var f in d.prototype=Object.create(r.prototype),r)d[f]=r[f];d.prototype.getNodes=function(){return this.nodes},d.prototype.getEdges=function(){return this.edges},d.prototype.getGraphManager=function(){return this.graphManager},d.prototype.getParent=function(){return this.parent},d.prototype.getLeft=function(){return this.left},d.prototype.getRight=function(){return this.right},d.prototype.getTop=function(){return this.top},d.prototype.getBottom=function(){return this.bottom},d.prototype.isConnected=function(){return this.isConnected},d.prototype.add=function(e,t,n){if(null==t&&null==n){var r=e;if(null==this.graphManager)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(r)>-1)throw"Node already in graph!";return r.owner=this,this.getNodes().push(r),r}var i=e;if(!(this.getNodes().indexOf(t)>-1&&this.getNodes().indexOf(n)>-1))throw"Source or target not in graph!";if(t.owner!=n.owner||t.owner!=this)throw"Both owners must be this graph!";return t.owner!=n.owner?null:(i.source=t,i.target=n,i.isInterGraph=!1,this.getEdges().push(i),t.edges.push(i),n!=t&&n.edges.push(i),i)},d.prototype.remove=function(e){var t=e;if(e instanceof s){if(null==t)throw"Node is null!";if(null==t.owner||t.owner!=this)throw"Owner graph is invalid!";if(null==this.graphManager)throw"Owner graph manager is invalid!";for(var n=t.edges.slice(),r=n.length,i=0;i<r;i++)(a=n[i]).isInterGraph?this.graphManager.remove(a):a.source.owner.remove(a);if(-1==(o=this.nodes.indexOf(t)))throw"Node not in owner node list!";this.nodes.splice(o,1)}else if(e instanceof c){var a;if(null==(a=e))throw"Edge is null!";if(null==a.source||null==a.target)throw"Source and/or target is null!";if(null==a.source.owner||null==a.target.owner||a.source.owner!=this||a.target.owner!=this)throw"Source and/or target owner is invalid!";var o,l=a.source.edges.indexOf(a),u=a.target.edges.indexOf(a);if(!(l>-1&&u>-1))throw"Source and/or target doesn't know this edge!";if(a.source.edges.splice(l,1),a.target!=a.source&&a.target.edges.splice(u,1),-1==(o=a.source.owner.getEdges().indexOf(a)))throw"Not in owner's edge list!";a.source.owner.getEdges().splice(o,1)}},d.prototype.updateLeftTop=function(){for(var e,t,n,r=i.MAX_VALUE,a=i.MAX_VALUE,o=this.getNodes(),s=o.length,c=0;c<s;c++){var l=o[c];r>(e=l.getTop())&&(r=e),a>(t=l.getLeft())&&(a=t)}return r==i.MAX_VALUE?null:(n=null!=o[0].getParent().paddingLeft?o[0].getParent().paddingLeft:this.margin,this.left=a-n,this.top=r-n,new u(this.left,this.top))},d.prototype.updateBounds=function(e){for(var t,n,r,a,o,s=i.MAX_VALUE,c=-i.MAX_VALUE,u=i.MAX_VALUE,h=-i.MAX_VALUE,d=this.nodes,f=d.length,p=0;p<f;p++){var m=d[p];e&&null!=m.child&&m.updateBounds(),s>(t=m.getLeft())&&(s=t),c<(n=m.getRight())&&(c=n),u>(r=m.getTop())&&(u=r),h<(a=m.getBottom())&&(h=a)}var g=new l(s,u,c-s,h-u);s==i.MAX_VALUE&&(this.left=this.parent.getLeft(),this.right=this.parent.getRight(),this.top=this.parent.getTop(),this.bottom=this.parent.getBottom()),o=null!=d[0].getParent().paddingLeft?d[0].getParent().paddingLeft:this.margin,this.left=g.x-o,this.right=g.x+g.width+o,this.top=g.y-o,this.bottom=g.y+g.height+o},d.calculateBounds=function(e){for(var t,n,r,a,o=i.MAX_VALUE,s=-i.MAX_VALUE,c=i.MAX_VALUE,u=-i.MAX_VALUE,h=e.length,d=0;d<h;d++){var f=e[d];o>(t=f.getLeft())&&(o=t),s<(n=f.getRight())&&(s=n),c>(r=f.getTop())&&(c=r),u<(a=f.getBottom())&&(u=a)}return new l(o,c,s-o,u-c)},d.prototype.getInclusionTreeDepth=function(){return this==this.graphManager.getRoot()?1:this.parent.getInclusionTreeDepth()},d.prototype.getEstimatedSize=function(){if(this.estimatedSize==i.MIN_VALUE)throw"assert failed";return this.estimatedSize},d.prototype.calcEstimatedSize=function(){for(var e=0,t=this.nodes,n=t.length,r=0;r<n;r++)e+=t[r].calcEstimatedSize();return this.estimatedSize=0==e?a.EMPTY_COMPOUND_NODE_SIZE:e/Math.sqrt(this.nodes.length),this.estimatedSize},d.prototype.updateConnected=function(){var e=this;if(0!=this.nodes.length){var t,n,r=new h,i=new Set,a=this.nodes[0];for(a.withChildren().forEach((function(e){r.push(e),i.add(e)}));0!==r.length;)for(var o=(t=(a=r.shift()).getEdges()).length,s=0;s<o;s++)null==(n=t[s].getOtherEndInGraph(a,this))||i.has(n)||n.withChildren().forEach((function(e){r.push(e),i.add(e)}));if(this.isConnected=!1,i.size>=this.nodes.length){var c=0;i.forEach((function(t){t.owner==e&&c++})),c==this.nodes.length&&(this.isConnected=!0)}}else this.isConnected=!0},e.exports=d},function(e,t,n){var r,i=n(1);function a(e){r=n(5),this.layout=e,this.graphs=[],this.edges=[]}a.prototype.addRoot=function(){var e=this.layout.newGraph(),t=this.layout.newNode(null),n=this.add(e,t);return this.setRootGraph(n),this.rootGraph},a.prototype.add=function(e,t,n,r,i){if(null==n&&null==r&&null==i){if(null==e)throw"Graph is null!";if(null==t)throw"Parent node is null!";if(this.graphs.indexOf(e)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(e),null!=e.parent)throw"Already has a parent!";if(null!=t.child)throw"Already has a child!";return e.parent=t,t.child=e,e}i=n,n=e;var a=(r=t).getOwner(),o=i.getOwner();if(null==a||a.getGraphManager()!=this)throw"Source not in this graph mgr!";if(null==o||o.getGraphManager()!=this)throw"Target not in this graph mgr!";if(a==o)return n.isInterGraph=!1,a.add(n,r,i);if(n.isInterGraph=!0,n.source=r,n.target=i,this.edges.indexOf(n)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(n),null==n.source||null==n.target)throw"Edge source and/or target is null!";if(-1!=n.source.edges.indexOf(n)||-1!=n.target.edges.indexOf(n))throw"Edge already in source and/or target incidency list!";return n.source.edges.push(n),n.target.edges.push(n),n},a.prototype.remove=function(e){if(e instanceof r){var t=e;if(t.getGraphManager()!=this)throw"Graph not in this graph mgr";if(t!=this.rootGraph&&(null==t.parent||t.parent.graphManager!=this))throw"Invalid parent node!";for(var n,a=[],o=(a=a.concat(t.getEdges())).length,s=0;s<o;s++)n=a[s],t.remove(n);var c,l=[];for(o=(l=l.concat(t.getNodes())).length,s=0;s<o;s++)c=l[s],t.remove(c);t==this.rootGraph&&this.setRootGraph(null);var u=this.graphs.indexOf(t);this.graphs.splice(u,1),t.parent=null}else if(e instanceof i){if(null==(n=e))throw"Edge is null!";if(!n.isInterGraph)throw"Not an inter-graph edge!";if(null==n.source||null==n.target)throw"Source and/or target is null!";if(-1==n.source.edges.indexOf(n)||-1==n.target.edges.indexOf(n))throw"Source and/or target doesn't know this edge!";if(u=n.source.edges.indexOf(n),n.source.edges.splice(u,1),u=n.target.edges.indexOf(n),n.target.edges.splice(u,1),null==n.source.owner||null==n.source.owner.getGraphManager())throw"Edge owner graph or owner graph manager is null!";if(-1==n.source.owner.getGraphManager().edges.indexOf(n))throw"Not in owner graph manager's edge list!";u=n.source.owner.getGraphManager().edges.indexOf(n),n.source.owner.getGraphManager().edges.splice(u,1)}},a.prototype.updateBounds=function(){this.rootGraph.updateBounds(!0)},a.prototype.getGraphs=function(){return this.graphs},a.prototype.getAllNodes=function(){if(null==this.allNodes){for(var e=[],t=this.getGraphs(),n=t.length,r=0;r<n;r++)e=e.concat(t[r].getNodes());this.allNodes=e}return this.allNodes},a.prototype.resetAllNodes=function(){this.allNodes=null},a.prototype.resetAllEdges=function(){this.allEdges=null},a.prototype.resetAllNodesToApplyGravitation=function(){this.allNodesToApplyGravitation=null},a.prototype.getAllEdges=function(){if(null==this.allEdges){var e=[],t=this.getGraphs();t.length;for(var n=0;n<t.length;n++)e=e.concat(t[n].getEdges());e=e.concat(this.edges),this.allEdges=e}return this.allEdges},a.prototype.getAllNodesToApplyGravitation=function(){return this.allNodesToApplyGravitation},a.prototype.setAllNodesToApplyGravitation=function(e){if(null!=this.allNodesToApplyGravitation)throw"assert failed";this.allNodesToApplyGravitation=e},a.prototype.getRoot=function(){return this.rootGraph},a.prototype.setRootGraph=function(e){if(e.getGraphManager()!=this)throw"Root not in this graph mgr!";this.rootGraph=e,null==e.parent&&(e.parent=this.layout.newNode("Root node"))},a.prototype.getLayout=function(){return this.layout},a.prototype.isOneAncestorOfOther=function(e,t){if(null==e||null==t)throw"assert failed";if(e==t)return!0;for(var n,r=e.getOwner();null!=(n=r.getParent());){if(n==t)return!0;if(null==(r=n.getOwner()))break}for(r=t.getOwner();null!=(n=r.getParent());){if(n==e)return!0;if(null==(r=n.getOwner()))break}return!1},a.prototype.calcLowestCommonAncestors=function(){for(var e,t,n,r,i,a=this.getAllEdges(),o=a.length,s=0;s<o;s++)if(t=(e=a[s]).source,n=e.target,e.lca=null,e.sourceInLca=t,e.targetInLca=n,t!=n){for(r=t.getOwner();null==e.lca;){for(e.targetInLca=n,i=n.getOwner();null==e.lca;){if(i==r){e.lca=i;break}if(i==this.rootGraph)break;if(null!=e.lca)throw"assert failed";e.targetInLca=i.getParent(),i=e.targetInLca.getOwner()}if(r==this.rootGraph)break;null==e.lca&&(e.sourceInLca=r.getParent(),r=e.sourceInLca.getOwner())}if(null==e.lca)throw"assert failed"}else e.lca=t.getOwner()},a.prototype.calcLowestCommonAncestor=function(e,t){if(e==t)return e.getOwner();for(var n=e.getOwner();null!=n;){for(var r=t.getOwner();null!=r;){if(r==n)return r;r=r.getParent().getOwner()}n=n.getParent().getOwner()}return n},a.prototype.calcInclusionTreeDepths=function(e,t){var n;null==e&&null==t&&(e=this.rootGraph,t=1);for(var r=e.getNodes(),i=r.length,a=0;a<i;a++)(n=r[a]).inclusionTreeDepth=t,null!=n.child&&this.calcInclusionTreeDepths(n.child,t+1)},a.prototype.includesInvalidEdge=function(){for(var e,t=this.edges.length,n=0;n<t;n++)if(e=this.edges[n],this.isOneAncestorOfOther(e.source,e.target))return!0;return!1},e.exports=a},function(e,t,n){var r=n(0);function i(){}for(var a in r)i[a]=r[a];i.MAX_ITERATIONS=2500,i.DEFAULT_EDGE_LENGTH=50,i.DEFAULT_SPRING_STRENGTH=.45,i.DEFAULT_REPULSION_STRENGTH=4500,i.DEFAULT_GRAVITY_STRENGTH=.4,i.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,i.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,i.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,i.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,i.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,i.COOLING_ADAPTATION_FACTOR=.33,i.ADAPTATION_LOWER_NODE_LIMIT=1e3,i.ADAPTATION_UPPER_NODE_LIMIT=5e3,i.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,i.MAX_NODE_DISPLACEMENT=3*i.MAX_NODE_DISPLACEMENT_INCREMENTAL,i.MIN_REPULSION_DIST=i.DEFAULT_EDGE_LENGTH/10,i.CONVERGENCE_CHECK_PERIOD=100,i.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,i.MIN_EDGE_LENGTH=1,i.GRID_CALCULATION_CHECK_PERIOD=10,e.exports=i},function(e,t,n){var r=n(12);function i(){}i.calcSeparationAmount=function(e,t,n,r){if(!e.intersects(t))throw"assert failed";var i=new Array(2);this.decideDirectionsForOverlappingNodes(e,t,i),n[0]=Math.min(e.getRight(),t.getRight())-Math.max(e.x,t.x),n[1]=Math.min(e.getBottom(),t.getBottom())-Math.max(e.y,t.y),e.getX()<=t.getX()&&e.getRight()>=t.getRight()?n[0]+=Math.min(t.getX()-e.getX(),e.getRight()-t.getRight()):t.getX()<=e.getX()&&t.getRight()>=e.getRight()&&(n[0]+=Math.min(e.getX()-t.getX(),t.getRight()-e.getRight())),e.getY()<=t.getY()&&e.getBottom()>=t.getBottom()?n[1]+=Math.min(t.getY()-e.getY(),e.getBottom()-t.getBottom()):t.getY()<=e.getY()&&t.getBottom()>=e.getBottom()&&(n[1]+=Math.min(e.getY()-t.getY(),t.getBottom()-e.getBottom()));var a=Math.abs((t.getCenterY()-e.getCenterY())/(t.getCenterX()-e.getCenterX()));t.getCenterY()===e.getCenterY()&&t.getCenterX()===e.getCenterX()&&(a=1);var o=a*n[0],s=n[1]/a;n[0]<s?s=n[0]:o=n[1],n[0]=-1*i[0]*(s/2+r),n[1]=-1*i[1]*(o/2+r)},i.decideDirectionsForOverlappingNodes=function(e,t,n){e.getCenterX()<t.getCenterX()?n[0]=-1:n[0]=1,e.getCenterY()<t.getCenterY()?n[1]=-1:n[1]=1},i.getIntersection2=function(e,t,n){var r=e.getCenterX(),i=e.getCenterY(),a=t.getCenterX(),o=t.getCenterY();if(e.intersects(t))return n[0]=r,n[1]=i,n[2]=a,n[3]=o,!0;var s=e.getX(),c=e.getY(),l=e.getRight(),u=e.getX(),h=e.getBottom(),d=e.getRight(),f=e.getWidthHalf(),p=e.getHeightHalf(),m=t.getX(),g=t.getY(),b=t.getRight(),y=t.getX(),v=t.getBottom(),w=t.getRight(),x=t.getWidthHalf(),k=t.getHeightHalf(),S=!1,E=!1;if(r===a){if(i>o)return n[0]=r,n[1]=c,n[2]=a,n[3]=v,!1;if(i<o)return n[0]=r,n[1]=h,n[2]=a,n[3]=g,!1}else if(i===o){if(r>a)return n[0]=s,n[1]=i,n[2]=b,n[3]=o,!1;if(r<a)return n[0]=l,n[1]=i,n[2]=m,n[3]=o,!1}else{var _=e.height/e.width,A=t.height/t.width,T=(o-i)/(a-r),C=void 0,O=void 0,D=void 0,M=void 0,I=void 0,P=void 0;if(-_===T?r>a?(n[0]=u,n[1]=h,S=!0):(n[0]=l,n[1]=c,S=!0):_===T&&(r>a?(n[0]=s,n[1]=c,S=!0):(n[0]=d,n[1]=h,S=!0)),-A===T?a>r?(n[2]=y,n[3]=v,E=!0):(n[2]=b,n[3]=g,E=!0):A===T&&(a>r?(n[2]=m,n[3]=g,E=!0):(n[2]=w,n[3]=v,E=!0)),S&&E)return!1;if(r>a?i>o?(C=this.getCardinalDirection(_,T,4),O=this.getCardinalDirection(A,T,2)):(C=this.getCardinalDirection(-_,T,3),O=this.getCardinalDirection(-A,T,1)):i>o?(C=this.getCardinalDirection(-_,T,1),O=this.getCardinalDirection(-A,T,3)):(C=this.getCardinalDirection(_,T,2),O=this.getCardinalDirection(A,T,4)),!S)switch(C){case 1:M=c,D=r+-p/T,n[0]=D,n[1]=M;break;case 2:D=d,M=i+f*T,n[0]=D,n[1]=M;break;case 3:M=h,D=r+p/T,n[0]=D,n[1]=M;break;case 4:D=u,M=i+-f*T,n[0]=D,n[1]=M}if(!E)switch(O){case 1:P=g,I=a+-k/T,n[2]=I,n[3]=P;break;case 2:I=w,P=o+x*T,n[2]=I,n[3]=P;break;case 3:P=v,I=a+k/T,n[2]=I,n[3]=P;break;case 4:I=y,P=o+-x*T,n[2]=I,n[3]=P}}return!1},i.getCardinalDirection=function(e,t,n){return e>t?n:1+n%4},i.getIntersection=function(e,t,n,i){if(null==i)return this.getIntersection2(e,t,n);var a,o,s,c,l,u,h,d=e.x,f=e.y,p=t.x,m=t.y,g=n.x,b=n.y,y=i.x,v=i.y;return 0==(h=(a=m-f)*(c=g-y)-(o=v-b)*(s=d-p))?null:new r((s*(u=y*b-g*v)-c*(l=p*f-d*m))/h,(o*l-a*u)/h)},i.angleOfVector=function(e,t,n,r){var i=void 0;return e!==n?(i=Math.atan((r-t)/(n-e)),n<e?i+=Math.PI:r<t&&(i+=this.TWO_PI)):i=r<t?this.ONE_AND_HALF_PI:this.HALF_PI,i},i.doIntersect=function(e,t,n,r){var i=e.x,a=e.y,o=t.x,s=t.y,c=n.x,l=n.y,u=r.x,h=r.y,d=(o-i)*(h-l)-(u-c)*(s-a);if(0===d)return!1;var f=((h-l)*(u-i)+(c-u)*(h-a))/d,p=((a-s)*(u-i)+(o-i)*(h-a))/d;return 0<f&&f<1&&0<p&&p<1},i.HALF_PI=.5*Math.PI,i.ONE_AND_HALF_PI=1.5*Math.PI,i.TWO_PI=2*Math.PI,i.THREE_PI=3*Math.PI,e.exports=i},function(e,t,n){function r(){}r.sign=function(e){return e>0?1:e<0?-1:0},r.floor=function(e){return e<0?Math.ceil(e):Math.floor(e)},r.ceil=function(e){return e<0?Math.floor(e):Math.ceil(e)},e.exports=r},function(e,t,n){function r(){}r.MAX_VALUE=2147483647,r.MIN_VALUE=-2147483648,e.exports=r},function(e,t,n){var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(e){return{value:e,next:null,prev:null}},a=function(e,t,n,r){return null!==e?e.next=t:r.head=t,null!==n?n.prev=t:r.tail=t,t.prev=e,t.next=n,r.length++,t},o=function(e,t){var n=e.prev,r=e.next;return null!==n?n.next=r:t.head=r,null!==r?r.prev=n:t.tail=n,e.prev=e.next=null,t.length--,e},s=function(){function e(t){var n=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.length=0,this.head=null,this.tail=null,null!=t&&t.forEach((function(e){return n.push(e)}))}return r(e,[{key:"size",value:function(){return this.length}},{key:"insertBefore",value:function(e,t){return a(t.prev,i(e),t,this)}},{key:"insertAfter",value:function(e,t){return a(t,i(e),t.next,this)}},{key:"insertNodeBefore",value:function(e,t){return a(t.prev,e,t,this)}},{key:"insertNodeAfter",value:function(e,t){return a(t,e,t.next,this)}},{key:"push",value:function(e){return a(this.tail,i(e),null,this)}},{key:"unshift",value:function(e){return a(null,i(e),this.head,this)}},{key:"remove",value:function(e){return o(e,this)}},{key:"pop",value:function(){return o(this.tail,this).value}},{key:"popNode",value:function(){return o(this.tail,this)}},{key:"shift",value:function(){return o(this.head,this).value}},{key:"shiftNode",value:function(){return o(this.head,this)}},{key:"get_object_at",value:function(e){if(e<=this.length()){for(var t=1,n=this.head;t<e;)n=n.next,t++;return n.value}}},{key:"set_object_at",value:function(e,t){if(e<=this.length()){for(var n=1,r=this.head;n<e;)r=r.next,n++;r.value=t}}}]),e}();e.exports=s},function(e,t,n){function r(e,t,n){this.x=null,this.y=null,null==e&&null==t&&null==n?(this.x=0,this.y=0):"number"==typeof e&&"number"==typeof t&&null==n?(this.x=e,this.y=t):"Point"==e.constructor.name&&null==t&&null==n&&(n=e,this.x=n.x,this.y=n.y)}r.prototype.getX=function(){return this.x},r.prototype.getY=function(){return this.y},r.prototype.getLocation=function(){return new r(this.x,this.y)},r.prototype.setLocation=function(e,t,n){"Point"==e.constructor.name&&null==t&&null==n?(n=e,this.setLocation(n.x,n.y)):"number"==typeof e&&"number"==typeof t&&null==n&&(parseInt(e)==e&&parseInt(t)==t?this.move(e,t):(this.x=Math.floor(e+.5),this.y=Math.floor(t+.5)))},r.prototype.move=function(e,t){this.x=e,this.y=t},r.prototype.translate=function(e,t){this.x+=e,this.y+=t},r.prototype.equals=function(e){if("Point"==e.constructor.name){var t=e;return this.x==t.x&&this.y==t.y}return this==e},r.prototype.toString=function(){return(new r).constructor.name+"[x="+this.x+",y="+this.y+"]"},e.exports=r},function(e,t,n){function r(e,t,n,r){this.x=0,this.y=0,this.width=0,this.height=0,null!=e&&null!=t&&null!=n&&null!=r&&(this.x=e,this.y=t,this.width=n,this.height=r)}r.prototype.getX=function(){return this.x},r.prototype.setX=function(e){this.x=e},r.prototype.getY=function(){return this.y},r.prototype.setY=function(e){this.y=e},r.prototype.getWidth=function(){return this.width},r.prototype.setWidth=function(e){this.width=e},r.prototype.getHeight=function(){return this.height},r.prototype.setHeight=function(e){this.height=e},r.prototype.getRight=function(){return this.x+this.width},r.prototype.getBottom=function(){return this.y+this.height},r.prototype.intersects=function(e){return!(this.getRight()<e.x||this.getBottom()<e.y||e.getRight()<this.x||e.getBottom()<this.y)},r.prototype.getCenterX=function(){return this.x+this.width/2},r.prototype.getMinX=function(){return this.getX()},r.prototype.getMaxX=function(){return this.getX()+this.width},r.prototype.getCenterY=function(){return this.y+this.height/2},r.prototype.getMinY=function(){return this.getY()},r.prototype.getMaxY=function(){return this.getY()+this.height},r.prototype.getWidthHalf=function(){return this.width/2},r.prototype.getHeightHalf=function(){return this.height/2},e.exports=r},function(e,t,n){var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};function i(){}i.lastID=0,i.createID=function(e){return i.isPrimitive(e)?e:(null!=e.uniqueID||(e.uniqueID=i.getString(),i.lastID++),e.uniqueID)},i.getString=function(e){return null==e&&(e=i.lastID),"Object#"+e},i.isPrimitive=function(e){var t=void 0===e?"undefined":r(e);return null==e||"object"!=t&&"function"!=t},e.exports=i},function(e,t,n){function r(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var i=n(0),a=n(6),o=n(3),s=n(1),c=n(5),l=n(4),u=n(17),h=n(27);function d(e){h.call(this),this.layoutQuality=i.QUALITY,this.createBendsAsNeeded=i.DEFAULT_CREATE_BENDS_AS_NEEDED,this.incremental=i.DEFAULT_INCREMENTAL,this.animationOnLayout=i.DEFAULT_ANIMATION_ON_LAYOUT,this.animationDuringLayout=i.DEFAULT_ANIMATION_DURING_LAYOUT,this.animationPeriod=i.DEFAULT_ANIMATION_PERIOD,this.uniformLeafNodeSizes=i.DEFAULT_UNIFORM_LEAF_NODE_SIZES,this.edgeToDummyNodes=new Map,this.graphManager=new a(this),this.isLayoutFinished=!1,this.isSubLayout=!1,this.isRemoteUse=!1,null!=e&&(this.isRemoteUse=e)}d.RANDOM_SEED=1,d.prototype=Object.create(h.prototype),d.prototype.getGraphManager=function(){return this.graphManager},d.prototype.getAllNodes=function(){return this.graphManager.getAllNodes()},d.prototype.getAllEdges=function(){return this.graphManager.getAllEdges()},d.prototype.getAllNodesToApplyGravitation=function(){return this.graphManager.getAllNodesToApplyGravitation()},d.prototype.newGraphManager=function(){var e=new a(this);return this.graphManager=e,e},d.prototype.newGraph=function(e){return new c(null,this.graphManager,e)},d.prototype.newNode=function(e){return new o(this.graphManager,e)},d.prototype.newEdge=function(e){return new s(null,null,e)},d.prototype.checkLayoutSuccess=function(){return null==this.graphManager.getRoot()||0==this.graphManager.getRoot().getNodes().length||this.graphManager.includesInvalidEdge()},d.prototype.runLayout=function(){var e;return this.isLayoutFinished=!1,this.tilingPreLayout&&this.tilingPreLayout(),this.initParameters(),e=!this.checkLayoutSuccess()&&this.layout(),"during"!==i.ANIMATE&&(e&&(this.isSubLayout||this.doPostLayout()),this.tilingPostLayout&&this.tilingPostLayout(),this.isLayoutFinished=!0,e)},d.prototype.doPostLayout=function(){this.incremental||this.transform(),this.update()},d.prototype.update2=function(){if(this.createBendsAsNeeded&&(this.createBendpointsFromDummyNodes(),this.graphManager.resetAllEdges()),!this.isRemoteUse){for(var e=this.graphManager.getAllEdges(),t=0;t<e.length;t++)e[t];var n=this.graphManager.getRoot().getNodes();for(t=0;t<n.length;t++)n[t];this.update(this.graphManager.getRoot())}},d.prototype.update=function(e){if(null==e)this.update2();else if(e instanceof o){var t=e;if(null!=t.getChild())for(var n=t.getChild().getNodes(),r=0;r<n.length;r++)update(n[r]);null!=t.vGraphObject&&t.vGraphObject.update(t)}else if(e instanceof s){var i=e;null!=i.vGraphObject&&i.vGraphObject.update(i)}else if(e instanceof c){var a=e;null!=a.vGraphObject&&a.vGraphObject.update(a)}},d.prototype.initParameters=function(){this.isSubLayout||(this.layoutQuality=i.QUALITY,this.animationDuringLayout=i.DEFAULT_ANIMATION_DURING_LAYOUT,this.animationPeriod=i.DEFAULT_ANIMATION_PERIOD,this.animationOnLayout=i.DEFAULT_ANIMATION_ON_LAYOUT,this.incremental=i.DEFAULT_INCREMENTAL,this.createBendsAsNeeded=i.DEFAULT_CREATE_BENDS_AS_NEEDED,this.uniformLeafNodeSizes=i.DEFAULT_UNIFORM_LEAF_NODE_SIZES),this.animationDuringLayout&&(this.animationOnLayout=!1)},d.prototype.transform=function(e){if(null==e)this.transform(new l(0,0));else{var t=new u,n=this.graphManager.getRoot().updateLeftTop();if(null!=n){t.setWorldOrgX(e.x),t.setWorldOrgY(e.y),t.setDeviceOrgX(n.x),t.setDeviceOrgY(n.y);for(var r=this.getAllNodes(),i=0;i<r.length;i++)r[i].transform(t)}}},d.prototype.positionNodesRandomly=function(e){if(null==e)this.positionNodesRandomly(this.getGraphManager().getRoot()),this.getGraphManager().getRoot().updateBounds(!0);else for(var t,n,r=e.getNodes(),i=0;i<r.length;i++)null==(n=(t=r[i]).getChild())||0==n.getNodes().length?t.scatter():(this.positionNodesRandomly(n),t.updateBounds())},d.prototype.getFlatForest=function(){for(var e=[],t=!0,n=this.graphManager.getRoot().getNodes(),i=!0,a=0;a<n.length;a++)null!=n[a].getChild()&&(i=!1);if(!i)return e;var o=new Set,s=[],c=new Map,l=[];for(l=l.concat(n);l.length>0&&t;){for(s.push(l[0]);s.length>0&&t;){var u=s[0];s.splice(0,1),o.add(u);var h=u.getEdges();for(a=0;a<h.length;a++){var d=h[a].getOtherEnd(u);if(c.get(u)!=d){if(o.has(d)){t=!1;break}s.push(d),c.set(d,u)}}}if(t){var f=[].concat(r(o));for(e.push(f),a=0;a<f.length;a++){var p=f[a],m=l.indexOf(p);m>-1&&l.splice(m,1)}o=new Set,c=new Map}else e=[]}return e},d.prototype.createDummyNodesForBendpoints=function(e){for(var t=[],n=e.source,r=this.graphManager.calcLowestCommonAncestor(e.source,e.target),i=0;i<e.bendpoints.length;i++){var a=this.newNode(null);a.setRect(new Point(0,0),new Dimension(1,1)),r.add(a);var o=this.newEdge(null);this.graphManager.add(o,n,a),t.add(a),n=a}return o=this.newEdge(null),this.graphManager.add(o,n,e.target),this.edgeToDummyNodes.set(e,t),e.isInterGraph()?this.graphManager.remove(e):r.remove(e),t},d.prototype.createBendpointsFromDummyNodes=function(){var e=[];e=e.concat(this.graphManager.getAllEdges()),e=[].concat(r(this.edgeToDummyNodes.keys())).concat(e);for(var t=0;t<e.length;t++){var n=e[t];if(n.bendpoints.length>0){for(var i=this.edgeToDummyNodes.get(n),a=0;a<i.length;a++){var o=i[a],s=new l(o.getCenterX(),o.getCenterY()),c=n.bendpoints.get(a);c.x=s.x,c.y=s.y,o.getOwner().remove(o)}this.graphManager.add(n,n.source,n.target)}}},d.transform=function(e,t,n,r){if(null!=n&&null!=r){var i=t;return e<=50?i-=(t-t/n)/50*(50-e):i+=(t*r-t)/50*(e-50),i}var a,o;return e<=50?(a=9*t/500,o=t/10):(a=9*t/50,o=-8*t),a*e+o},d.findCenterOfTree=function(e){var t=[];t=t.concat(e);var n=[],r=new Map,i=!1,a=null;1!=t.length&&2!=t.length||(i=!0,a=t[0]);for(var o=0;o<t.length;o++){var s=(u=t[o]).getNeighborsList().size;r.set(u,u.getNeighborsList().size),1==s&&n.push(u)}var c=[];for(c=c.concat(n);!i;){var l=[];for(l=l.concat(c),c=[],o=0;o<t.length;o++){var u=t[o],h=t.indexOf(u);h>=0&&t.splice(h,1),u.getNeighborsList().forEach((function(e){if(n.indexOf(e)<0){var t=r.get(e)-1;1==t&&c.push(e),r.set(e,t)}}))}n=n.concat(c),1!=t.length&&2!=t.length||(i=!0,a=t[0])}return a},d.prototype.setGraphManager=function(e){this.graphManager=e},e.exports=d},function(e,t,n){function r(){}r.seed=1,r.x=0,r.nextDouble=function(){return r.x=1e4*Math.sin(r.seed++),r.x-Math.floor(r.x)},e.exports=r},function(e,t,n){var r=n(4);function i(e,t){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}i.prototype.getWorldOrgX=function(){return this.lworldOrgX},i.prototype.setWorldOrgX=function(e){this.lworldOrgX=e},i.prototype.getWorldOrgY=function(){return this.lworldOrgY},i.prototype.setWorldOrgY=function(e){this.lworldOrgY=e},i.prototype.getWorldExtX=function(){return this.lworldExtX},i.prototype.setWorldExtX=function(e){this.lworldExtX=e},i.prototype.getWorldExtY=function(){return this.lworldExtY},i.prototype.setWorldExtY=function(e){this.lworldExtY=e},i.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},i.prototype.setDeviceOrgX=function(e){this.ldeviceOrgX=e},i.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},i.prototype.setDeviceOrgY=function(e){this.ldeviceOrgY=e},i.prototype.getDeviceExtX=function(){return this.ldeviceExtX},i.prototype.setDeviceExtX=function(e){this.ldeviceExtX=e},i.prototype.getDeviceExtY=function(){return this.ldeviceExtY},i.prototype.setDeviceExtY=function(e){this.ldeviceExtY=e},i.prototype.transformX=function(e){var t=0,n=this.lworldExtX;return 0!=n&&(t=this.ldeviceOrgX+(e-this.lworldOrgX)*this.ldeviceExtX/n),t},i.prototype.transformY=function(e){var t=0,n=this.lworldExtY;return 0!=n&&(t=this.ldeviceOrgY+(e-this.lworldOrgY)*this.ldeviceExtY/n),t},i.prototype.inverseTransformX=function(e){var t=0,n=this.ldeviceExtX;return 0!=n&&(t=this.lworldOrgX+(e-this.ldeviceOrgX)*this.lworldExtX/n),t},i.prototype.inverseTransformY=function(e){var t=0,n=this.ldeviceExtY;return 0!=n&&(t=this.lworldOrgY+(e-this.ldeviceOrgY)*this.lworldExtY/n),t},i.prototype.inverseTransformPoint=function(e){return new r(this.inverseTransformX(e.x),this.inverseTransformY(e.y))},e.exports=i},function(e,t,n){var r=n(15),i=n(7),a=n(0),o=n(8),s=n(9);function c(){r.call(this),this.useSmartIdealEdgeLengthCalculation=i.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.idealEdgeLength=i.DEFAULT_EDGE_LENGTH,this.springConstant=i.DEFAULT_SPRING_STRENGTH,this.repulsionConstant=i.DEFAULT_REPULSION_STRENGTH,this.gravityConstant=i.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=i.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=i.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.displacementThresholdPerNode=3*i.DEFAULT_EDGE_LENGTH/100,this.coolingFactor=i.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.initialCoolingFactor=i.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.totalDisplacement=0,this.oldTotalDisplacement=0,this.maxIterations=i.MAX_ITERATIONS}for(var l in c.prototype=Object.create(r.prototype),r)c[l]=r[l];c.prototype.initParameters=function(){r.prototype.initParameters.call(this,arguments),this.totalIterations=0,this.notAnimatedIterations=0,this.useFRGridVariant=i.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION,this.grid=[]},c.prototype.calcIdealEdgeLengths=function(){for(var e,t,n,r,o,s,c=this.getGraphManager().getAllEdges(),l=0;l<c.length;l++)(e=c[l]).idealLength=this.idealEdgeLength,e.isInterGraph&&(n=e.getSource(),r=e.getTarget(),o=e.getSourceInLca().getEstimatedSize(),s=e.getTargetInLca().getEstimatedSize(),this.useSmartIdealEdgeLengthCalculation&&(e.idealLength+=o+s-2*a.SIMPLE_NODE_SIZE),t=e.getLca().getInclusionTreeDepth(),e.idealLength+=i.DEFAULT_EDGE_LENGTH*i.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR*(n.getInclusionTreeDepth()+r.getInclusionTreeDepth()-2*t))},c.prototype.initSpringEmbedder=function(){var e=this.getAllNodes().length;this.incremental?(e>i.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*i.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(e-i.ADAPTATION_LOWER_NODE_LIMIT)/(i.ADAPTATION_UPPER_NODE_LIMIT-i.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-i.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=i.MAX_NODE_DISPLACEMENT_INCREMENTAL):(e>i.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(i.COOLING_ADAPTATION_FACTOR,1-(e-i.ADAPTATION_LOWER_NODE_LIMIT)/(i.ADAPTATION_UPPER_NODE_LIMIT-i.ADAPTATION_LOWER_NODE_LIMIT)*(1-i.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=i.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(5*this.getAllNodes().length,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},c.prototype.calcSpringForces=function(){for(var e,t=this.getAllEdges(),n=0;n<t.length;n++)e=t[n],this.calcSpringForce(e,e.idealLength)},c.prototype.calcRepulsionForces=function(){var e,t,n,r,a,o=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],s=arguments.length>1&&void 0!==arguments[1]&&arguments[1],c=this.getAllNodes();if(this.useFRGridVariant)for(this.totalIterations%i.GRID_CALCULATION_CHECK_PERIOD==1&&o&&this.updateGrid(),a=new Set,e=0;e<c.length;e++)n=c[e],this.calculateRepulsionForceOfANode(n,a,o,s),a.add(n);else for(e=0;e<c.length;e++)for(n=c[e],t=e+1;t<c.length;t++)r=c[t],n.getOwner()==r.getOwner()&&this.calcRepulsionForce(n,r)},c.prototype.calcGravitationalForces=function(){for(var e,t=this.getAllNodesToApplyGravitation(),n=0;n<t.length;n++)e=t[n],this.calcGravitationalForce(e)},c.prototype.moveNodes=function(){for(var e=this.getAllNodes(),t=0;t<e.length;t++)e[t].move()},c.prototype.calcSpringForce=function(e,t){var n,r,i,a,o=e.getSource(),s=e.getTarget();if(this.uniformLeafNodeSizes&&null==o.getChild()&&null==s.getChild())e.updateLengthSimple();else if(e.updateLength(),e.isOverlapingSourceAndTarget)return;0!=(n=e.getLength())&&(i=(r=this.springConstant*(n-t))*(e.lengthX/n),a=r*(e.lengthY/n),o.springForceX+=i,o.springForceY+=a,s.springForceX-=i,s.springForceY-=a)},c.prototype.calcRepulsionForce=function(e,t){var n,r,a,c,l,u,h,d=e.getRect(),f=t.getRect(),p=new Array(2),m=new Array(4);if(d.intersects(f)){o.calcSeparationAmount(d,f,p,i.DEFAULT_EDGE_LENGTH/2),u=2*p[0],h=2*p[1];var g=e.noOfChildren*t.noOfChildren/(e.noOfChildren+t.noOfChildren);e.repulsionForceX-=g*u,e.repulsionForceY-=g*h,t.repulsionForceX+=g*u,t.repulsionForceY+=g*h}else this.uniformLeafNodeSizes&&null==e.getChild()&&null==t.getChild()?(n=f.getCenterX()-d.getCenterX(),r=f.getCenterY()-d.getCenterY()):(o.getIntersection(d,f,m),n=m[2]-m[0],r=m[3]-m[1]),Math.abs(n)<i.MIN_REPULSION_DIST&&(n=s.sign(n)*i.MIN_REPULSION_DIST),Math.abs(r)<i.MIN_REPULSION_DIST&&(r=s.sign(r)*i.MIN_REPULSION_DIST),a=n*n+r*r,c=Math.sqrt(a),u=(l=this.repulsionConstant*e.noOfChildren*t.noOfChildren/a)*n/c,h=l*r/c,e.repulsionForceX-=u,e.repulsionForceY-=h,t.repulsionForceX+=u,t.repulsionForceY+=h},c.prototype.calcGravitationalForce=function(e){var t,n,r,i,a,o,s,c;n=((t=e.getOwner()).getRight()+t.getLeft())/2,r=(t.getTop()+t.getBottom())/2,i=e.getCenterX()-n,a=e.getCenterY()-r,o=Math.abs(i)+e.getWidth()/2,s=Math.abs(a)+e.getHeight()/2,e.getOwner()==this.graphManager.getRoot()?(o>(c=t.getEstimatedSize()*this.gravityRangeFactor)||s>c)&&(e.gravitationForceX=-this.gravityConstant*i,e.gravitationForceY=-this.gravityConstant*a):(o>(c=t.getEstimatedSize()*this.compoundGravityRangeFactor)||s>c)&&(e.gravitationForceX=-this.gravityConstant*i*this.compoundGravityConstant,e.gravitationForceY=-this.gravityConstant*a*this.compoundGravityConstant)},c.prototype.isConverged=function(){var e,t=!1;return this.totalIterations>this.maxIterations/3&&(t=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),e=this.totalDisplacement<this.totalDisplacementThreshold,this.oldTotalDisplacement=this.totalDisplacement,e||t},c.prototype.animate=function(){this.animationDuringLayout&&!this.isSubLayout&&(this.notAnimatedIterations==this.animationPeriod?(this.update(),this.notAnimatedIterations=0):this.notAnimatedIterations++)},c.prototype.calcNoOfChildrenForAllNodes=function(){for(var e,t=this.graphManager.getAllNodes(),n=0;n<t.length;n++)(e=t[n]).noOfChildren=e.getNoOfChildren()},c.prototype.calcGrid=function(e){var t,n;t=parseInt(Math.ceil((e.getRight()-e.getLeft())/this.repulsionRange)),n=parseInt(Math.ceil((e.getBottom()-e.getTop())/this.repulsionRange));for(var r=new Array(t),i=0;i<t;i++)r[i]=new Array(n);for(i=0;i<t;i++)for(var a=0;a<n;a++)r[i][a]=new Array;return r},c.prototype.addNodeToGrid=function(e,t,n){var r,i,a,o;r=parseInt(Math.floor((e.getRect().x-t)/this.repulsionRange)),i=parseInt(Math.floor((e.getRect().width+e.getRect().x-t)/this.repulsionRange)),a=parseInt(Math.floor((e.getRect().y-n)/this.repulsionRange)),o=parseInt(Math.floor((e.getRect().height+e.getRect().y-n)/this.repulsionRange));for(var s=r;s<=i;s++)for(var c=a;c<=o;c++)this.grid[s][c].push(e),e.setGridCoordinates(r,i,a,o)},c.prototype.updateGrid=function(){var e,t,n=this.getAllNodes();for(this.grid=this.calcGrid(this.graphManager.getRoot()),e=0;e<n.length;e++)t=n[e],this.addNodeToGrid(t,this.graphManager.getRoot().getLeft(),this.graphManager.getRoot().getTop())},c.prototype.calculateRepulsionForceOfANode=function(e,t,n,r){if(this.totalIterations%i.GRID_CALCULATION_CHECK_PERIOD==1&&n||r){var a,o=new Set;e.surrounding=new Array;for(var s=this.grid,c=e.startX-1;c<e.finishX+2;c++)for(var l=e.startY-1;l<e.finishY+2;l++)if(!(c<0||l<0||c>=s.length||l>=s[0].length))for(var u=0;u<s[c][l].length;u++)if(a=s[c][l][u],e.getOwner()==a.getOwner()&&e!=a&&!t.has(a)&&!o.has(a)){var h=Math.abs(e.getCenterX()-a.getCenterX())-(e.getWidth()/2+a.getWidth()/2),d=Math.abs(e.getCenterY()-a.getCenterY())-(e.getHeight()/2+a.getHeight()/2);h<=this.repulsionRange&&d<=this.repulsionRange&&o.add(a)}e.surrounding=[].concat(function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}(o))}for(c=0;c<e.surrounding.length;c++)this.calcRepulsionForce(e,e.surrounding[c])},c.prototype.calcRepulsionRange=function(){return 0},e.exports=c},function(e,t,n){var r=n(1),i=n(7);function a(e,t,n){r.call(this,e,t,n),this.idealLength=i.DEFAULT_EDGE_LENGTH}for(var o in a.prototype=Object.create(r.prototype),r)a[o]=r[o];e.exports=a},function(e,t,n){var r=n(3);function i(e,t,n,i){r.call(this,e,t,n,i),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0,this.startX=0,this.finishX=0,this.startY=0,this.finishY=0,this.surrounding=[]}for(var a in i.prototype=Object.create(r.prototype),r)i[a]=r[a];i.prototype.setGridCoordinates=function(e,t,n,r){this.startX=e,this.finishX=t,this.startY=n,this.finishY=r},e.exports=i},function(e,t,n){function r(e,t){this.width=0,this.height=0,null!==e&&null!==t&&(this.height=t,this.width=e)}r.prototype.getWidth=function(){return this.width},r.prototype.setWidth=function(e){this.width=e},r.prototype.getHeight=function(){return this.height},r.prototype.setHeight=function(e){this.height=e},e.exports=r},function(e,t,n){var r=n(14);function i(){this.map={},this.keys=[]}i.prototype.put=function(e,t){var n=r.createID(e);this.contains(n)||(this.map[n]=t,this.keys.push(e))},i.prototype.contains=function(e){return r.createID(e),null!=this.map[e]},i.prototype.get=function(e){var t=r.createID(e);return this.map[t]},i.prototype.keySet=function(){return this.keys},e.exports=i},function(e,t,n){var r=n(14);function i(){this.set={}}i.prototype.add=function(e){var t=r.createID(e);this.contains(t)||(this.set[t]=e)},i.prototype.remove=function(e){delete this.set[r.createID(e)]},i.prototype.clear=function(){this.set={}},i.prototype.contains=function(e){return this.set[r.createID(e)]==e},i.prototype.isEmpty=function(){return 0===this.size()},i.prototype.size=function(){return Object.keys(this.set).length},i.prototype.addAllTo=function(e){for(var t=Object.keys(this.set),n=t.length,r=0;r<n;r++)e.push(this.set[t[r]])},i.prototype.size=function(){return Object.keys(this.set).length},i.prototype.addAll=function(e){for(var t=e.length,n=0;n<t;n++){var r=e[n];this.add(r)}},e.exports=i},function(e,t,n){var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(11),a=function(){function e(t,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),null===n&&void 0===n||(this.compareFunction=this._defaultCompareFunction);var r=void 0;r=t instanceof i?t.size():t.length,this._quicksort(t,0,r-1)}return r(e,[{key:"_quicksort",value:function(e,t,n){if(t<n){var r=this._partition(e,t,n);this._quicksort(e,t,r),this._quicksort(e,r+1,n)}}},{key:"_partition",value:function(e,t,n){for(var r=this._get(e,t),i=t,a=n;;){for(;this.compareFunction(r,this._get(e,a));)a--;for(;this.compareFunction(this._get(e,i),r);)i++;if(!(i<a))return a;this._swap(e,i,a),i++,a--}}},{key:"_get",value:function(e,t){return e instanceof i?e.get_object_at(t):e[t]}},{key:"_set",value:function(e,t,n){e instanceof i?e.set_object_at(t,n):e[t]=n}},{key:"_swap",value:function(e,t,n){var r=this._get(e,t);this._set(e,t,this._get(e,n)),this._set(e,n,r)}},{key:"_defaultCompareFunction",value:function(e,t){return t>e}}]),e}();e.exports=a},function(e,t,n){var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-1,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:-1;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.sequence1=t,this.sequence2=n,this.match_score=r,this.mismatch_penalty=i,this.gap_penalty=a,this.iMax=t.length+1,this.jMax=n.length+1,this.grid=new Array(this.iMax);for(var o=0;o<this.iMax;o++){this.grid[o]=new Array(this.jMax);for(var s=0;s<this.jMax;s++)this.grid[o][s]=0}this.tracebackGrid=new Array(this.iMax);for(var c=0;c<this.iMax;c++){this.tracebackGrid[c]=new Array(this.jMax);for(var l=0;l<this.jMax;l++)this.tracebackGrid[c][l]=[null,null,null]}this.alignments=[],this.score=-1,this.computeGrids()}return r(e,[{key:"getScore",value:function(){return this.score}},{key:"getAlignments",value:function(){return this.alignments}},{key:"computeGrids",value:function(){for(var e=1;e<this.jMax;e++)this.grid[0][e]=this.grid[0][e-1]+this.gap_penalty,this.tracebackGrid[0][e]=[!1,!1,!0];for(var t=1;t<this.iMax;t++)this.grid[t][0]=this.grid[t-1][0]+this.gap_penalty,this.tracebackGrid[t][0]=[!1,!0,!1];for(var n=1;n<this.iMax;n++)for(var r=1;r<this.jMax;r++){var i=[this.sequence1[n-1]===this.sequence2[r-1]?this.grid[n-1][r-1]+this.match_score:this.grid[n-1][r-1]+this.mismatch_penalty,this.grid[n-1][r]+this.gap_penalty,this.grid[n][r-1]+this.gap_penalty],a=this.arrayAllMaxIndexes(i);this.grid[n][r]=i[a[0]],this.tracebackGrid[n][r]=[a.includes(0),a.includes(1),a.includes(2)]}this.score=this.grid[this.iMax-1][this.jMax-1]}},{key:"alignmentTraceback",value:function(){var e=[];for(e.push({pos:[this.sequence1.length,this.sequence2.length],seq1:"",seq2:""});e[0];){var t=e[0],n=this.tracebackGrid[t.pos[0]][t.pos[1]];n[0]&&e.push({pos:[t.pos[0]-1,t.pos[1]-1],seq1:this.sequence1[t.pos[0]-1]+t.seq1,seq2:this.sequence2[t.pos[1]-1]+t.seq2}),n[1]&&e.push({pos:[t.pos[0]-1,t.pos[1]],seq1:this.sequence1[t.pos[0]-1]+t.seq1,seq2:"-"+t.seq2}),n[2]&&e.push({pos:[t.pos[0],t.pos[1]-1],seq1:"-"+t.seq1,seq2:this.sequence2[t.pos[1]-1]+t.seq2}),0===t.pos[0]&&0===t.pos[1]&&this.alignments.push({sequence1:t.seq1,sequence2:t.seq2}),e.shift()}return this.alignments}},{key:"getAllIndexes",value:function(e,t){for(var n=[],r=-1;-1!==(r=e.indexOf(t,r+1));)n.push(r);return n}},{key:"arrayAllMaxIndexes",value:function(e){return this.getAllIndexes(e,Math.max.apply(null,e))}}]),e}();e.exports=i},function(e,t,n){var r=function(){};r.FDLayout=n(18),r.FDLayoutConstants=n(7),r.FDLayoutEdge=n(19),r.FDLayoutNode=n(20),r.DimensionD=n(21),r.HashMap=n(22),r.HashSet=n(23),r.IGeometry=n(8),r.IMath=n(9),r.Integer=n(10),r.Point=n(12),r.PointD=n(4),r.RandomSeed=n(16),r.RectangleD=n(13),r.Transform=n(17),r.UniqueIDGeneretor=n(14),r.Quicksort=n(24),r.LinkedList=n(11),r.LGraphObject=n(2),r.LGraph=n(5),r.LEdge=n(1),r.LGraphManager=n(6),r.LNode=n(3),r.Layout=n(15),r.LayoutConstants=n(0),r.NeedlemanWunsch=n(25),e.exports=r},function(e,t,n){function r(){this.listeners=[]}var i=r.prototype;i.addListener=function(e,t){this.listeners.push({event:e,callback:t})},i.removeListener=function(e,t){for(var n=this.listeners.length;n>=0;n--){var r=this.listeners[n];r.event===e&&r.callback===t&&this.listeners.splice(n,1)}},i.emit=function(e,t){for(var n=0;n<this.listeners.length;n++){var r=this.listeners[n];e===r.event&&r.callback(t)}},e.exports=r}])},e.exports=n()}(K6e,K6e.exports)),K6e.exports}K6e.exports,V6e=function(e){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.i=function(e){return e},n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=1)}([function(t,n){t.exports=e},function(e,t,n){var r=n(0).layoutBase.LayoutConstants,i=n(0).layoutBase.FDLayoutConstants,a=n(0).CoSEConstants,o=n(0).CoSELayout,s=n(0).CoSENode,c=n(0).layoutBase.PointD,l=n(0).layoutBase.DimensionD,u={ready:function(){},stop:function(){},quality:"default",nodeDimensionsIncludeLabels:!1,refresh:30,fit:!0,padding:10,randomize:!0,nodeRepulsion:4500,idealEdgeLength:50,edgeElasticity:.45,nestingFactor:.1,gravity:.25,numIter:2500,tile:!0,animate:"end",animationDuration:500,tilingPaddingVertical:10,tilingPaddingHorizontal:10,gravityRangeCompound:1.5,gravityCompound:1,gravityRange:3.8,initialEnergyOnIncremental:.5};function h(e){this.options=function(e,t){var n={};for(var r in e)n[r]=e[r];for(var r in t)n[r]=t[r];return n}(u,e),d(this.options)}var d=function(e){null!=e.nodeRepulsion&&(a.DEFAULT_REPULSION_STRENGTH=i.DEFAULT_REPULSION_STRENGTH=e.nodeRepulsion),null!=e.idealEdgeLength&&(a.DEFAULT_EDGE_LENGTH=i.DEFAULT_EDGE_LENGTH=e.idealEdgeLength),null!=e.edgeElasticity&&(a.DEFAULT_SPRING_STRENGTH=i.DEFAULT_SPRING_STRENGTH=e.edgeElasticity),null!=e.nestingFactor&&(a.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=i.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=e.nestingFactor),null!=e.gravity&&(a.DEFAULT_GRAVITY_STRENGTH=i.DEFAULT_GRAVITY_STRENGTH=e.gravity),null!=e.numIter&&(a.MAX_ITERATIONS=i.MAX_ITERATIONS=e.numIter),null!=e.gravityRange&&(a.DEFAULT_GRAVITY_RANGE_FACTOR=i.DEFAULT_GRAVITY_RANGE_FACTOR=e.gravityRange),null!=e.gravityCompound&&(a.DEFAULT_COMPOUND_GRAVITY_STRENGTH=i.DEFAULT_COMPOUND_GRAVITY_STRENGTH=e.gravityCompound),null!=e.gravityRangeCompound&&(a.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=e.gravityRangeCompound),null!=e.initialEnergyOnIncremental&&(a.DEFAULT_COOLING_FACTOR_INCREMENTAL=i.DEFAULT_COOLING_FACTOR_INCREMENTAL=e.initialEnergyOnIncremental),"draft"==e.quality?r.QUALITY=0:"proof"==e.quality?r.QUALITY=2:r.QUALITY=1,a.NODE_DIMENSIONS_INCLUDE_LABELS=i.NODE_DIMENSIONS_INCLUDE_LABELS=r.NODE_DIMENSIONS_INCLUDE_LABELS=e.nodeDimensionsIncludeLabels,a.DEFAULT_INCREMENTAL=i.DEFAULT_INCREMENTAL=r.DEFAULT_INCREMENTAL=!e.randomize,a.ANIMATE=i.ANIMATE=r.ANIMATE=e.animate,a.TILE=e.tile,a.TILING_PADDING_VERTICAL="function"==typeof e.tilingPaddingVertical?e.tilingPaddingVertical.call():e.tilingPaddingVertical,a.TILING_PADDING_HORIZONTAL="function"==typeof e.tilingPaddingHorizontal?e.tilingPaddingHorizontal.call():e.tilingPaddingHorizontal};h.prototype.run=function(){var e,t,n=this.options;this.idToLNode={};var r=this.layout=new o,i=this;i.stopped=!1,this.cy=this.options.cy,this.cy.trigger({type:"layoutstart",layout:this});var a=r.newGraphManager();this.gm=a;var s=this.options.eles.nodes(),c=this.options.eles.edges();this.root=a.addRoot(),this.processChildrenList(this.root,this.getTopMostNodes(s),r);for(var l=0;l<c.length;l++){var u=c[l],h=this.idToLNode[u.data("source")],d=this.idToLNode[u.data("target")];h!==d&&0==h.getEdgesBetween(d).length&&(a.add(r.newEdge(),h,d).id=u.id())}var f=function(e,t){"number"==typeof e&&(e=t);var n=e.data("id"),r=i.idToLNode[n];return{x:r.getRect().getCenterX(),y:r.getRect().getCenterY()}},p=function a(){for(var o,s=function(){n.fit&&n.cy.fit(n.eles,n.padding),e||(e=!0,i.cy.one("layoutready",n.ready),i.cy.trigger({type:"layoutready",layout:i}))},c=i.options.refresh,l=0;l<c&&!o;l++)o=i.stopped||i.layout.tick();if(o)return r.checkLayoutSuccess()&&!r.isSubLayout&&r.doPostLayout(),r.tilingPostLayout&&r.tilingPostLayout(),r.isLayoutFinished=!0,i.options.eles.nodes().positions(f),s(),i.cy.one("layoutstop",i.options.stop),i.cy.trigger({type:"layoutstop",layout:i}),t&&cancelAnimationFrame(t),void(e=!1);var u=i.layout.getPositionsData();n.eles.nodes().positions((function(e,t){if("number"==typeof e&&(e=t),!e.isParent()){for(var n=e.id(),r=u[n],i=e;null==r&&(r=u[i.data("parent")]||u["DummyCompound_"+i.data("parent")],u[n]=r,null!=(i=i.parent()[0])););return null!=r?{x:r.x,y:r.y}:{x:e.position("x"),y:e.position("y")}}})),s(),t=requestAnimationFrame(a)};return r.addListener("layoutstarted",(function(){"during"===i.options.animate&&(t=requestAnimationFrame(p))})),r.runLayout(),"during"!==this.options.animate&&(i.options.eles.nodes().not(":parent").layoutPositions(i,i.options,f),e=!1),this},h.prototype.getTopMostNodes=function(e){for(var t={},n=0;n<e.length;n++)t[e[n].id()]=!0;var r=e.filter((function(e,n){"number"==typeof e&&(e=n);for(var r=e.parent()[0];null!=r;){if(t[r.id()])return!1;r=r.parent()[0]}return!0}));return r},h.prototype.processChildrenList=function(e,t,n){for(var r=t.length,i=0;i<r;i++){var a,o,u=t[i],h=u.children(),d=u.layoutDimensions({nodeDimensionsIncludeLabels:this.options.nodeDimensionsIncludeLabels});if((a=null!=u.outerWidth()&&null!=u.outerHeight()?e.add(new s(n.graphManager,new c(u.position("x")-d.w/2,u.position("y")-d.h/2),new l(parseFloat(d.w),parseFloat(d.h)))):e.add(new s(this.graphManager))).id=u.data("id"),a.paddingLeft=parseInt(u.css("padding")),a.paddingTop=parseInt(u.css("padding")),a.paddingRight=parseInt(u.css("padding")),a.paddingBottom=parseInt(u.css("padding")),this.options.nodeDimensionsIncludeLabels&&u.isParent()){var f=u.boundingBox({includeLabels:!0,includeNodes:!1}).w,p=u.boundingBox({includeLabels:!0,includeNodes:!1}).h,m=u.css("text-halign");a.labelWidth=f,a.labelHeight=p,a.labelPos=m}this.idToLNode[u.data("id")]=a,isNaN(a.rect.x)&&(a.rect.x=0),isNaN(a.rect.y)&&(a.rect.y=0),null!=h&&h.length>0&&(o=n.getGraphManager().add(n.newGraph(),a),this.processChildrenList(o,h,n))}},h.prototype.stop=function(){return this.stopped=!0,this};var f=function(e){e("layout","cose-bilkent",h)};"undefined"!=typeof cytoscape&&f(cytoscape),e.exports=f}])},W6e.exports=V6e(function(){return U6e?G6e.exports:(U6e=1,e=function(e){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.i=function(e){return e},n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=7)}([function(t,n){t.exports=e},function(e,t,n){var r=n(0).FDLayoutConstants;function i(){}for(var a in r)i[a]=r[a];i.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,i.DEFAULT_RADIAL_SEPARATION=r.DEFAULT_EDGE_LENGTH,i.DEFAULT_COMPONENT_SEPERATION=60,i.TILE=!0,i.TILING_PADDING_VERTICAL=10,i.TILING_PADDING_HORIZONTAL=10,i.TREE_REDUCTION_ON_INCREMENTAL=!1,e.exports=i},function(e,t,n){var r=n(0).FDLayoutEdge;function i(e,t,n){r.call(this,e,t,n)}for(var a in i.prototype=Object.create(r.prototype),r)i[a]=r[a];e.exports=i},function(e,t,n){var r=n(0).LGraph;function i(e,t,n){r.call(this,e,t,n)}for(var a in i.prototype=Object.create(r.prototype),r)i[a]=r[a];e.exports=i},function(e,t,n){var r=n(0).LGraphManager;function i(e){r.call(this,e)}for(var a in i.prototype=Object.create(r.prototype),r)i[a]=r[a];e.exports=i},function(e,t,n){var r=n(0).FDLayoutNode,i=n(0).IMath;function a(e,t,n,i){r.call(this,e,t,n,i)}for(var o in a.prototype=Object.create(r.prototype),r)a[o]=r[o];a.prototype.move=function(){var e=this.graphManager.getLayout();this.displacementX=e.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY=e.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren,Math.abs(this.displacementX)>e.coolingFactor*e.maxNodeDisplacement&&(this.displacementX=e.coolingFactor*e.maxNodeDisplacement*i.sign(this.displacementX)),Math.abs(this.displacementY)>e.coolingFactor*e.maxNodeDisplacement&&(this.displacementY=e.coolingFactor*e.maxNodeDisplacement*i.sign(this.displacementY)),null==this.child||0==this.child.getNodes().length?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),e.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},a.prototype.propogateDisplacementToChildren=function(e,t){for(var n,r=this.getChild().getNodes(),i=0;i<r.length;i++)null==(n=r[i]).getChild()?(n.moveBy(e,t),n.displacementX+=e,n.displacementY+=t):n.propogateDisplacementToChildren(e,t)},a.prototype.setPred1=function(e){this.pred1=e},a.prototype.getPred1=function(){return pred1},a.prototype.getPred2=function(){return pred2},a.prototype.setNext=function(e){this.next=e},a.prototype.getNext=function(){return next},a.prototype.setProcessed=function(e){this.processed=e},a.prototype.isProcessed=function(){return processed},e.exports=a},function(e,t,n){var r=n(0).FDLayout,i=n(4),a=n(3),o=n(5),s=n(2),c=n(1),l=n(0).FDLayoutConstants,u=n(0).LayoutConstants,h=n(0).Point,d=n(0).PointD,f=n(0).Layout,p=n(0).Integer,m=n(0).IGeometry,g=n(0).LGraph,b=n(0).Transform;function y(){r.call(this),this.toBeTiled={}}for(var v in y.prototype=Object.create(r.prototype),r)y[v]=r[v];y.prototype.newGraphManager=function(){var e=new i(this);return this.graphManager=e,e},y.prototype.newGraph=function(e){return new a(null,this.graphManager,e)},y.prototype.newNode=function(e){return new o(this.graphManager,e)},y.prototype.newEdge=function(e){return new s(null,null,e)},y.prototype.initParameters=function(){r.prototype.initParameters.call(this,arguments),this.isSubLayout||(c.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=c.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=c.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.springConstant=l.DEFAULT_SPRING_STRENGTH,this.repulsionConstant=l.DEFAULT_REPULSION_STRENGTH,this.gravityConstant=l.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=l.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=l.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=l.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1,this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/l.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=l.CONVERGENCE_CHECK_PERIOD/this.maxIterations,this.coolingAdjuster=1)},y.prototype.layout=function(){return u.DEFAULT_CREATE_BENDS_AS_NEEDED&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},y.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental)c.TREE_REDUCTION_ON_INCREMENTAL&&(this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation(),t=new Set(this.getAllNodes()),n=this.nodesWithGravity.filter((function(e){return t.has(e)})),this.graphManager.setAllNodesToApplyGravitation(n));else{var e=this.getFlatForest();if(e.length>0)this.positionNodesRadially(e);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var t=new Set(this.getAllNodes()),n=this.nodesWithGravity.filter((function(e){return t.has(e)}));this.graphManager.setAllNodesToApplyGravitation(n),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},y.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}if(this.totalIterations%l.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged()){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}this.coolingCycle++,0==this.layoutQuality?this.coolingAdjuster=this.coolingCycle:1==this.layoutQuality&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var e=new Set(this.getAllNodes()),t=this.nodesWithGravity.filter((function(t){return e.has(t)}));this.graphManager.setAllNodesToApplyGravitation(t),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var n=!this.isTreeGrowing&&!this.isGrowthFinished,r=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(n,r),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},y.prototype.getPositionsData=function(){for(var e=this.graphManager.getAllNodes(),t={},n=0;n<e.length;n++){var r=e[n].rect,i=e[n].id;t[i]={id:i,x:r.getCenterX(),y:r.getCenterY(),w:r.width,h:r.height}}return t},y.prototype.runSpringEmbedder=function(){this.initialAnimationPeriod=25,this.animationPeriod=this.initialAnimationPeriod;var e=!1;if("during"===l.ANIMATE)this.emit("layoutstarted");else{for(;!e;)e=this.tick();this.graphManager.updateBounds()}},y.prototype.calculateNodesToApplyGravitationTo=function(){var e,t,n=[],r=this.graphManager.getGraphs(),i=r.length;for(t=0;t<i;t++)(e=r[t]).updateConnected(),e.isConnected||(n=n.concat(e.getNodes()));return n},y.prototype.createBendpoints=function(){var e=[];e=e.concat(this.graphManager.getAllEdges());var t,n=new Set;for(t=0;t<e.length;t++){var r=e[t];if(!n.has(r)){var i=r.getSource(),a=r.getTarget();if(i==a)r.getBendpoints().push(new d),r.getBendpoints().push(new d),this.createDummyNodesForBendpoints(r),n.add(r);else{var o=[];if(o=(o=o.concat(i.getEdgeListToNode(a))).concat(a.getEdgeListToNode(i)),!n.has(o[0])){var s;if(o.length>1)for(s=0;s<o.length;s++){var c=o[s];c.getBendpoints().push(new d),this.createDummyNodesForBendpoints(c)}o.forEach((function(e){n.add(e)}))}}}if(n.size==e.length)break}},y.prototype.positionNodesRadially=function(e){for(var t=new h(0,0),n=Math.ceil(Math.sqrt(e.length)),r=0,i=0,a=0,o=new d(0,0),s=0;s<e.length;s++){s%n==0&&(a=0,i=r,0!=s&&(i+=c.DEFAULT_COMPONENT_SEPERATION),r=0);var l=e[s],p=f.findCenterOfTree(l);t.x=a,t.y=i,(o=y.radialLayout(l,p,t)).y>r&&(r=Math.floor(o.y)),a=Math.floor(o.x+c.DEFAULT_COMPONENT_SEPERATION)}this.transform(new d(u.WORLD_CENTER_X-o.x/2,u.WORLD_CENTER_Y-o.y/2))},y.radialLayout=function(e,t,n){var r=Math.max(this.maxDiagonalInTree(e),c.DEFAULT_RADIAL_SEPARATION);y.branchRadialLayout(t,null,0,359,0,r);var i=g.calculateBounds(e),a=new b;a.setDeviceOrgX(i.getMinX()),a.setDeviceOrgY(i.getMinY()),a.setWorldOrgX(n.x),a.setWorldOrgY(n.y);for(var o=0;o<e.length;o++)e[o].transform(a);var s=new d(i.getMaxX(),i.getMaxY());return a.inverseTransformPoint(s)},y.branchRadialLayout=function(e,t,n,r,i,a){var o=(r-n+1)/2;o<0&&(o+=180);var s=(o+n)%360*m.TWO_PI/360,c=i*Math.cos(s),l=i*Math.sin(s);e.setCenter(c,l);var u=[],h=(u=u.concat(e.getEdges())).length;null!=t&&h--;for(var d,f=0,p=u.length,g=e.getEdgesBetween(t);g.length>1;){var b=g[0];g.splice(0,1);var v=u.indexOf(b);v>=0&&u.splice(v,1),p--,h--}d=null!=t?(u.indexOf(g[0])+1)%p:0;for(var w=Math.abs(r-n)/h,x=d;f!=h;x=++x%p){var k=u[x].getOtherEnd(e);if(k!=t){var S=(n+f*w)%360,E=(S+w)%360;y.branchRadialLayout(k,e,S,E,i+a,a),f++}}},y.maxDiagonalInTree=function(e){for(var t=p.MIN_VALUE,n=0;n<e.length;n++){var r=e[n].getDiagonal();r>t&&(t=r)}return t},y.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},y.prototype.groupZeroDegreeMembers=function(){var e=this,t={};this.memberGroups={},this.idToDummyNode={};for(var n=[],r=this.graphManager.getAllNodes(),i=0;i<r.length;i++){var a=(s=r[i]).getParent();0!==this.getNodeDegreeWithChildren(s)||null!=a.id&&this.getToBeTiled(a)||n.push(s)}for(i=0;i<n.length;i++){var s,c=(s=n[i]).getParent().id;void 0===t[c]&&(t[c]=[]),t[c]=t[c].concat(s)}Object.keys(t).forEach((function(n){if(t[n].length>1){var r="DummyCompound_"+n;e.memberGroups[r]=t[n];var i=t[n][0].getParent(),a=new o(e.graphManager);a.id=r,a.paddingLeft=i.paddingLeft||0,a.paddingRight=i.paddingRight||0,a.paddingBottom=i.paddingBottom||0,a.paddingTop=i.paddingTop||0,e.idToDummyNode[r]=a;var s=e.getGraphManager().add(e.newGraph(),a),c=i.getChild();c.add(a);for(var l=0;l<t[n].length;l++){var u=t[n][l];c.remove(u),s.add(u)}}}))},y.prototype.clearCompounds=function(){var e={},t={};this.performDFSOnCompounds();for(var n=0;n<this.compoundOrder.length;n++)t[this.compoundOrder[n].id]=this.compoundOrder[n],e[this.compoundOrder[n].id]=[].concat(this.compoundOrder[n].getChild().getNodes()),this.graphManager.remove(this.compoundOrder[n].getChild()),this.compoundOrder[n].child=null;this.graphManager.resetAllNodes(),this.tileCompoundMembers(e,t)},y.prototype.clearZeroDegreeMembers=function(){var e=this,t=this.tiledZeroDegreePack=[];Object.keys(this.memberGroups).forEach((function(n){var r=e.idToDummyNode[n];t[n]=e.tileNodes(e.memberGroups[n],r.paddingLeft+r.paddingRight),r.rect.width=t[n].width,r.rect.height=t[n].height}))},y.prototype.repopulateCompounds=function(){for(var e=this.compoundOrder.length-1;e>=0;e--){var t=this.compoundOrder[e],n=t.id,r=t.paddingLeft,i=t.paddingTop;this.adjustLocations(this.tiledMemberPack[n],t.rect.x,t.rect.y,r,i)}},y.prototype.repopulateZeroDegreeMembers=function(){var e=this,t=this.tiledZeroDegreePack;Object.keys(t).forEach((function(n){var r=e.idToDummyNode[n],i=r.paddingLeft,a=r.paddingTop;e.adjustLocations(t[n],r.rect.x,r.rect.y,i,a)}))},y.prototype.getToBeTiled=function(e){var t=e.id;if(null!=this.toBeTiled[t])return this.toBeTiled[t];var n=e.getChild();if(null==n)return this.toBeTiled[t]=!1,!1;for(var r=n.getNodes(),i=0;i<r.length;i++){var a=r[i];if(this.getNodeDegree(a)>0)return this.toBeTiled[t]=!1,!1;if(null!=a.getChild()){if(!this.getToBeTiled(a))return this.toBeTiled[t]=!1,!1}else this.toBeTiled[a.id]=!1}return this.toBeTiled[t]=!0,!0},y.prototype.getNodeDegree=function(e){e.id;for(var t=e.getEdges(),n=0,r=0;r<t.length;r++){var i=t[r];i.getSource().id!==i.getTarget().id&&(n+=1)}return n},y.prototype.getNodeDegreeWithChildren=function(e){var t=this.getNodeDegree(e);if(null==e.getChild())return t;for(var n=e.getChild().getNodes(),r=0;r<n.length;r++){var i=n[r];t+=this.getNodeDegreeWithChildren(i)}return t},y.prototype.performDFSOnCompounds=function(){this.compoundOrder=[],this.fillCompexOrderByDFS(this.graphManager.getRoot().getNodes())},y.prototype.fillCompexOrderByDFS=function(e){for(var t=0;t<e.length;t++){var n=e[t];null!=n.getChild()&&this.fillCompexOrderByDFS(n.getChild().getNodes()),this.getToBeTiled(n)&&this.compoundOrder.push(n)}},y.prototype.adjustLocations=function(e,t,n,r,i){n+=i;for(var a=t+=r,o=0;o<e.rows.length;o++){var s=e.rows[o];t=a;for(var c=0,l=0;l<s.length;l++){var u=s[l];u.rect.x=t,u.rect.y=n,t+=u.rect.width+e.horizontalPadding,u.rect.height>c&&(c=u.rect.height)}n+=c+e.verticalPadding}},y.prototype.tileCompoundMembers=function(e,t){var n=this;this.tiledMemberPack=[],Object.keys(e).forEach((function(r){var i=t[r];n.tiledMemberPack[r]=n.tileNodes(e[r],i.paddingLeft+i.paddingRight),i.rect.width=n.tiledMemberPack[r].width,i.rect.height=n.tiledMemberPack[r].height}))},y.prototype.tileNodes=function(e,t){var n={rows:[],rowWidth:[],rowHeight:[],width:0,height:t,verticalPadding:c.TILING_PADDING_VERTICAL,horizontalPadding:c.TILING_PADDING_HORIZONTAL};e.sort((function(e,t){return e.rect.width*e.rect.height>t.rect.width*t.rect.height?-1:e.rect.width*e.rect.height<t.rect.width*t.rect.height?1:0}));for(var r=0;r<e.length;r++){var i=e[r];0==n.rows.length?this.insertNodeToRow(n,i,0,t):this.canAddHorizontal(n,i.rect.width,i.rect.height)?this.insertNodeToRow(n,i,this.getShortestRowIndex(n),t):this.insertNodeToRow(n,i,n.rows.length,t),this.shiftToLastRow(n)}return n},y.prototype.insertNodeToRow=function(e,t,n,r){var i=r;n==e.rows.length&&(e.rows.push([]),e.rowWidth.push(i),e.rowHeight.push(0));var a=e.rowWidth[n]+t.rect.width;e.rows[n].length>0&&(a+=e.horizontalPadding),e.rowWidth[n]=a,e.width<a&&(e.width=a);var o=t.rect.height;n>0&&(o+=e.verticalPadding);var s=0;o>e.rowHeight[n]&&(s=e.rowHeight[n],e.rowHeight[n]=o,s=e.rowHeight[n]-s),e.height+=s,e.rows[n].push(t)},y.prototype.getShortestRowIndex=function(e){for(var t=-1,n=Number.MAX_VALUE,r=0;r<e.rows.length;r++)e.rowWidth[r]<n&&(t=r,n=e.rowWidth[r]);return t},y.prototype.getLongestRowIndex=function(e){for(var t=-1,n=Number.MIN_VALUE,r=0;r<e.rows.length;r++)e.rowWidth[r]>n&&(t=r,n=e.rowWidth[r]);return t},y.prototype.canAddHorizontal=function(e,t,n){var r=this.getShortestRowIndex(e);if(r<0)return!0;var i=e.rowWidth[r];if(i+e.horizontalPadding+t<=e.width)return!0;var a,o,s=0;return e.rowHeight[r]<n&&r>0&&(s=n+e.verticalPadding-e.rowHeight[r]),a=e.width-i>=t+e.horizontalPadding?(e.height+s)/(i+t+e.horizontalPadding):(e.height+s)/e.width,s=n+e.verticalPadding,(o=e.width<t?(e.height+s)/t:(e.height+s)/e.width)<1&&(o=1/o),a<1&&(a=1/a),a<o},y.prototype.shiftToLastRow=function(e){var t=this.getLongestRowIndex(e),n=e.rowWidth.length-1,r=e.rows[t],i=r[r.length-1],a=i.width+e.horizontalPadding;if(e.width-e.rowWidth[n]>a&&t!=n){r.splice(-1,1),e.rows[n].push(i),e.rowWidth[t]=e.rowWidth[t]-a,e.rowWidth[n]=e.rowWidth[n]+a,e.width=e.rowWidth[instance.getLongestRowIndex(e)];for(var o=Number.MIN_VALUE,s=0;s<r.length;s++)r[s].height>o&&(o=r[s].height);t>0&&(o+=e.verticalPadding);var c=e.rowHeight[t]+e.rowHeight[n];e.rowHeight[t]=o,e.rowHeight[n]<i.height+e.verticalPadding&&(e.rowHeight[n]=i.height+e.verticalPadding);var l=e.rowHeight[t]+e.rowHeight[n];e.height+=l-c,this.shiftToLastRow(e)}},y.prototype.tilingPreLayout=function(){c.TILE&&(this.groupZeroDegreeMembers(),this.clearCompounds(),this.clearZeroDegreeMembers())},y.prototype.tilingPostLayout=function(){c.TILE&&(this.repopulateZeroDegreeMembers(),this.repopulateCompounds())},y.prototype.reduceTrees=function(){for(var e,t=[],n=!0;n;){var r=this.graphManager.getAllNodes(),i=[];n=!1;for(var a=0;a<r.length;a++)1!=(e=r[a]).getEdges().length||e.getEdges()[0].isInterGraph||null!=e.getChild()||(i.push([e,e.getEdges()[0],e.getOwner()]),n=!0);if(1==n){for(var o=[],s=0;s<i.length;s++)1==i[s][0].getEdges().length&&(o.push(i[s]),i[s][0].getOwner().remove(i[s][0]));t.push(o),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()}}this.prunedNodesAll=t},y.prototype.growTree=function(e){for(var t,n=e[e.length-1],r=0;r<n.length;r++)t=n[r],this.findPlaceforPrunedNode(t),t[2].add(t[0]),t[2].add(t[1],t[1].source,t[1].target);e.splice(e.length-1,1),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()},y.prototype.findPlaceforPrunedNode=function(e){var t,n,r=e[0],i=(n=r==e[1].source?e[1].target:e[1].source).startX,a=n.finishX,o=n.startY,s=n.finishY,c=[0,0,0,0];if(o>0)for(var u=i;u<=a;u++)c[0]+=this.grid[u][o-1].length+this.grid[u][o].length-1;if(a<this.grid.length-1)for(u=o;u<=s;u++)c[1]+=this.grid[a+1][u].length+this.grid[a][u].length-1;if(s<this.grid[0].length-1)for(u=i;u<=a;u++)c[2]+=this.grid[u][s+1].length+this.grid[u][s].length-1;if(i>0)for(u=o;u<=s;u++)c[3]+=this.grid[i-1][u].length+this.grid[i][u].length-1;for(var h,d,f=p.MAX_VALUE,m=0;m<c.length;m++)c[m]<f?(f=c[m],h=1,d=m):c[m]==f&&h++;if(3==h&&0==f)0==c[0]&&0==c[1]&&0==c[2]?t=1:0==c[0]&&0==c[1]&&0==c[3]?t=0:0==c[0]&&0==c[2]&&0==c[3]?t=3:0==c[1]&&0==c[2]&&0==c[3]&&(t=2);else if(2==h&&0==f){var g=Math.floor(2*Math.random());t=0==c[0]&&0==c[1]?0==g?0:1:0==c[0]&&0==c[2]?0==g?0:2:0==c[0]&&0==c[3]?0==g?0:3:0==c[1]&&0==c[2]?0==g?1:2:0==c[1]&&0==c[3]?0==g?1:3:0==g?2:3}else t=4==h&&0==f?g=Math.floor(4*Math.random()):d;0==t?r.setCenter(n.getCenterX(),n.getCenterY()-n.getHeight()/2-l.DEFAULT_EDGE_LENGTH-r.getHeight()/2):1==t?r.setCenter(n.getCenterX()+n.getWidth()/2+l.DEFAULT_EDGE_LENGTH+r.getWidth()/2,n.getCenterY()):2==t?r.setCenter(n.getCenterX(),n.getCenterY()+n.getHeight()/2+l.DEFAULT_EDGE_LENGTH+r.getHeight()/2):r.setCenter(n.getCenterX()-n.getWidth()/2-l.DEFAULT_EDGE_LENGTH-r.getWidth()/2,n.getCenterY())},e.exports=y},function(e,t,n){var r={};r.layoutBase=n(0),r.CoSEConstants=n(1),r.CoSEEdge=n(2),r.CoSEGraph=n(3),r.CoSEGraphManager=n(4),r.CoSELayout=n(6),r.CoSENode=n(5),e.exports=r}])},G6e.exports=e(Y6e()));var e}());var X6e=p(W6e.exports),Z6e=function(){var e,t=function(e,t,n,r){for(n=n||{},r=e.length;r--;n[e[r]]=t);return n},n=[1,4],r=[1,13],i=[1,12],a=[1,15],o=[1,16],s=[1,20],c=[1,19],l=[6,7,8],u=[1,26],h=[1,24],d=[1,25],f=[6,7,11],p=[1,6,13,15,16,19,22],m=[1,33],g=[1,34],b=[1,6,7,11,13,15,16,19,22],y={trace:function(){},yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:function(e,t,n,r,i,a,o){var s=a.length-1;switch(i){case 6:case 7:return r;case 8:r.getLogger().trace("Stop NL ");break;case 9:r.getLogger().trace("Stop EOF ");break;case 11:r.getLogger().trace("Stop NL2 ");break;case 12:r.getLogger().trace("Stop EOF2 ");break;case 15:r.getLogger().info("Node: ",a[s].id),r.addNode(a[s-1].length,a[s].id,a[s].descr,a[s].type);break;case 16:r.getLogger().trace("Icon: ",a[s]),r.decorateNode({icon:a[s]});break;case 17:case 21:r.decorateNode({class:a[s]});break;case 18:r.getLogger().trace("SPACELIST");break;case 19:r.getLogger().trace("Node: ",a[s].id),r.addNode(0,a[s].id,a[s].descr,a[s].type);break;case 20:r.decorateNode({icon:a[s]});break;case 25:r.getLogger().trace("node found ..",a[s-2]),this.$={id:a[s-1],descr:a[s-1],type:r.getType(a[s-2],a[s])};break;case 26:this.$={id:a[s],descr:a[s],type:r.nodeType.DEFAULT};break;case 27:r.getLogger().trace("node found ..",a[s-3]),this.$={id:a[s-3],descr:a[s-1],type:r.getType(a[s-2],a[s])}}},table:[{3:1,4:2,5:3,6:[1,5],8:n},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:n},{6:r,7:[1,10],9:9,12:11,13:i,14:14,15:a,16:o,17:17,18:18,19:s,22:c},t(l,[2,3]),{1:[2,2]},t(l,[2,4]),t(l,[2,5]),{1:[2,6],6:r,12:21,13:i,14:14,15:a,16:o,17:17,18:18,19:s,22:c},{6:r,9:22,12:11,13:i,14:14,15:a,16:o,17:17,18:18,19:s,22:c},{6:u,7:h,10:23,11:d},t(f,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:s,22:c}),t(f,[2,18]),t(f,[2,19]),t(f,[2,20]),t(f,[2,21]),t(f,[2,23]),t(f,[2,24]),t(f,[2,26],{19:[1,30]}),{20:[1,31]},{6:u,7:h,10:32,11:d},{1:[2,7],6:r,12:21,13:i,14:14,15:a,16:o,17:17,18:18,19:s,22:c},t(p,[2,14],{7:m,11:g}),t(b,[2,8]),t(b,[2,9]),t(b,[2,10]),t(f,[2,15]),t(f,[2,16]),t(f,[2,17]),{20:[1,35]},{21:[1,36]},t(p,[2,13],{7:m,11:g}),t(b,[2,11]),t(b,[2,12]),{21:[1,37]},t(f,[2,25]),t(f,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:function(e,t){if(!t.recoverable){var n=new Error(e);throw n.hash=t,n}this.trace(e)},parse:function(e){var t=this,n=[0],r=[],i=[null],a=[],o=this.table,s="",c=0,l=0,u=a.slice.call(arguments,1),h=Object.create(this.lexer),d={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(d.yy[f]=this.yy[f]);h.setInput(e,d.yy),d.yy.lexer=h,d.yy.parser=this,void 0===h.yylloc&&(h.yylloc={});var p=h.yylloc;a.push(p);var m=h.options&&h.options.ranges;function g(){var e;return"number"!=typeof(e=r.pop()||h.lex()||1)&&(e instanceof Array&&(e=(r=e).pop()),e=t.symbols_[e]||e),e}"function"==typeof d.yy.parseError?this.parseError=d.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var b,y,v,w,x,k,S,E,_={};;){if(y=n[n.length-1],this.defaultActions[y]?v=this.defaultActions[y]:(null==b&&(b=g()),v=o[y]&&o[y][b]),void 0===v||!v.length||!v[0]){var A="";for(x in E=[],o[y])this.terminals_[x]&&x>2&&E.push("'"+this.terminals_[x]+"'");A=h.showPosition?"Parse error on line "+(c+1)+":\n"+h.showPosition()+"\nExpecting "+E.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==b?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(A,{text:h.match,token:this.terminals_[b]||b,line:h.yylineno,loc:p,expected:E})}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+y+", token: "+b);switch(v[0]){case 1:n.push(b),i.push(h.yytext),a.push(h.yylloc),n.push(v[1]),b=null,l=h.yyleng,s=h.yytext,c=h.yylineno,p=h.yylloc;break;case 2:if(k=this.productions_[v[1]][1],_.$=i[i.length-k],_._$={first_line:a[a.length-(k||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(k||1)].first_column,last_column:a[a.length-1].last_column},m&&(_._$.range=[a[a.length-(k||1)].range[0],a[a.length-1].range[1]]),void 0!==(w=this.performAction.apply(_,[s,l,c,d.yy,v[1],i,a].concat(u))))return w;k&&(n=n.slice(0,-1*k*2),i=i.slice(0,-1*k),a=a.slice(0,-1*k)),n.push(this.productions_[v[1]][0]),i.push(_.$),a.push(_._$),S=o[n[n.length-2]][n[n.length-1]],n.push(S);break;case 3:return!0}}return!0}},v=(e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var e,t,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!t||n[0].length>t[0].length)){if(t=n,r=a,this.options.backtrack_lexer){if(!1!==(e=this.test_match(n,i[a])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,i[r]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var e=this.next();return e||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,n,r){switch(n){case 0:return e.getLogger().trace("Found comment",t.yytext),6;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;case 4:case 23:case 26:this.popState();break;case 5:e.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return e.getLogger().trace("SPACELINE"),6;case 7:return 7;case 8:return 15;case 9:e.getLogger().trace("end icon"),this.popState();break;case 10:return e.getLogger().trace("Exploding node"),this.begin("NODE"),19;case 11:return e.getLogger().trace("Cloud"),this.begin("NODE"),19;case 12:return e.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;case 13:return e.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;case 14:case 15:case 16:case 17:return this.begin("NODE"),19;case 18:return 13;case 19:return 22;case 20:return 11;case 21:this.begin("NSTR2");break;case 22:return"NODE_DESCR";case 24:e.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return e.getLogger().trace("description:",t.yytext),"NODE_DESCR";case 27:return this.popState(),e.getLogger().trace("node end ))"),"NODE_DEND";case 28:return this.popState(),e.getLogger().trace("node end )"),"NODE_DEND";case 29:return this.popState(),e.getLogger().trace("node end ...",t.yytext),"NODE_DEND";case 30:case 33:case 34:return this.popState(),e.getLogger().trace("node end (("),"NODE_DEND";case 31:case 32:return this.popState(),e.getLogger().trace("node end (-"),"NODE_DEND";case 35:case 36:return e.getLogger().trace("Long description:",t.yytext),20}},rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR2:{rules:[22,23],inclusive:!1},NSTR:{rules:[25,26],inclusive:!1},NODE:{rules:[21,24,27,28,29,30,31,32,33,34,35,36],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}},e);function w(){this.yy={}}return y.lexer=v,w.prototype=y,y.Parser=w,new w}();Z6e.parser=Z6e;const Q6e=Z6e;let J6e=[],e8e=0,t8e={};const n8e={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},r8e={clear:()=>{J6e=[],e8e=0,t8e={}},addNode:(e,t,n,r)=>{var i,a;a9.info("addNode",e,t,n,r);const o=Rte();let s=(null==(i=o.mindmap)?void 0:i.padding)??R9.mindmap.padding;switch(r){case n8e.ROUNDED_RECT:case n8e.RECT:case n8e.HEXAGON:s*=2}const c={id:e8e++,nodeId:d9(t,o),level:e,descr:d9(n,o),type:r,children:[],width:(null==(a=o.mindmap)?void 0:a.maxNodeWidth)??R9.mindmap.maxNodeWidth,padding:s},l=function(e){for(let t=J6e.length-1;t>=0;t--)if(J6e[t].level<e)return J6e[t];return null}(e);if(l)l.children.push(c),J6e.push(c);else{if(0!==J6e.length)throw new Error('There can be only one root. No parent could be found for ("'+c.descr+'")');J6e.push(c)}},getMindmap:()=>J6e.length>0?J6e[0]:null,nodeType:n8e,getType:(e,t)=>{switch(a9.debug("In get type",e,t),e){case"[":return n8e.RECT;case"(":return")"===t?n8e.ROUNDED_RECT:n8e.CLOUD;case"((":return n8e.CIRCLE;case")":return n8e.CLOUD;case"))":return n8e.BANG;case"{{":return n8e.HEXAGON;default:return n8e.DEFAULT}},setElementForId:(e,t)=>{t8e[e]=t},decorateNode:e=>{if(!e)return;const t=Rte(),n=J6e[J6e.length-1];e.icon&&(n.icon=d9(e.icon,t)),e.class&&(n.class=d9(e.class,t))},type2Str:e=>{switch(e){case n8e.DEFAULT:return"no-border";case n8e.RECT:return"rect";case n8e.ROUNDED_RECT:return"rounded-rect";case n8e.CIRCLE:return"circle";case n8e.CLOUD:return"cloud";case n8e.BANG:return"bang";case n8e.HEXAGON:return"hexgon";default:return"no-border"}},getLogger:()=>a9,getElementById:e=>t8e[e]},i8e=r8e;function a8e(e,t,n,r,i){!function(e,t,n,r,i){const a=i.htmlLabels,o=r%11,s=t.append("g");n.section=o;let c="section-"+o;o<0&&(c+=" section-root"),s.attr("class",(n.class?n.class+" ":"")+"mindmap-node "+c);const l=s.append("g"),u=s.append("g"),h=n.descr.replace(/(<br\/*>)/g,"\n");NFe(u,h,{useHtmlLabels:a,width:n.width,classes:"mindmap-node-label"}),a||u.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle");const d=u.node().getBBox(),[f]=mee(i.fontSize);if(n.height=d.height+1.1*f*.5+n.padding,n.width=d.width+2*n.padding,n.icon)if(n.type===e.nodeType.CIRCLE)n.height+=50,n.width+=50,s.append("foreignObject").attr("height","50px").attr("width",n.width).attr("style","text-align: center;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+o+" "+n.icon),u.attr("transform","translate("+n.width/2+", "+(n.height/2-1.5*n.padding)+")");else{n.width+=50;const e=n.height;n.height=Math.max(e,60);const t=Math.abs(n.height-e);s.append("foreignObject").attr("width","60px").attr("height",n.height).attr("style","text-align: center;margin-top:"+t/2+"px;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+o+" "+n.icon),u.attr("transform","translate("+(25+n.width/2)+", "+(t/2+n.padding/2)+")")}else if(a){const e=(n.width-d.width)/2,t=(n.height-d.height)/2;u.attr("transform","translate("+e+", "+t+")")}else{const e=n.width/2,t=n.padding/2;u.attr("transform","translate("+e+", "+t+")")}switch(n.type){case e.nodeType.DEFAULT:!function(e,t,n,r){t.append("path").attr("id","node-"+n.id).attr("class","node-bkg node-"+e.type2Str(n.type)).attr("d",`M0 ${n.height-5} v${10-n.height} q0,-5 5,-5 h${n.width-10} q5,0 5,5 v${n.height-5} H0 Z`),t.append("line").attr("class","node-line-"+r).attr("x1",0).attr("y1",n.height).attr("x2",n.width).attr("y2",n.height)}(e,l,n,o);break;case e.nodeType.ROUNDED_RECT:!function(e,t,n){t.append("rect").attr("id","node-"+n.id).attr("class","node-bkg node-"+e.type2Str(n.type)).attr("height",n.height).attr("rx",n.padding).attr("ry",n.padding).attr("width",n.width)}(e,l,n);break;case e.nodeType.RECT:!function(e,t,n){t.append("rect").attr("id","node-"+n.id).attr("class","node-bkg node-"+e.type2Str(n.type)).attr("height",n.height).attr("width",n.width)}(e,l,n);break;case e.nodeType.CIRCLE:l.attr("transform","translate("+n.width/2+", "+ +n.height/2+")"),function(e,t,n){t.append("circle").attr("id","node-"+n.id).attr("class","node-bkg node-"+e.type2Str(n.type)).attr("r",n.width/2)}(e,l,n);break;case e.nodeType.CLOUD:!function(e,t,n){const r=n.width,i=n.height,a=.15*r,o=.25*r,s=.35*r,c=.2*r;t.append("path").attr("id","node-"+n.id).attr("class","node-bkg node-"+e.type2Str(n.type)).attr("d",`M0 0 a${a},${a} 0 0,1 ${.25*r},${-1*r*.1}\n a${s},${s} 1 0,1 ${.4*r},${-1*r*.1}\n a${o},${o} 1 0,1 ${.35*r},${1*r*.2}\n\n a${a},${a} 1 0,1 ${.15*r},${1*i*.35}\n a${c},${c} 1 0,1 ${-1*r*.15},${1*i*.65}\n\n a${o},${a} 1 0,1 ${-1*r*.25},${.15*r}\n a${s},${s} 1 0,1 ${-1*r*.5},0\n a${a},${a} 1 0,1 ${-1*r*.25},${-1*r*.15}\n\n a${a},${a} 1 0,1 ${-1*r*.1},${-1*i*.35}\n a${c},${c} 1 0,1 ${.1*r},${-1*i*.65}\n\n H0 V0 Z`)}(e,l,n);break;case e.nodeType.BANG:!function(e,t,n){const r=n.width,i=n.height,a=.15*r;t.append("path").attr("id","node-"+n.id).attr("class","node-bkg node-"+e.type2Str(n.type)).attr("d",`M0 0 a${a},${a} 1 0,0 ${.25*r},${-1*i*.1}\n a${a},${a} 1 0,0 ${.25*r},0\n a${a},${a} 1 0,0 ${.25*r},0\n a${a},${a} 1 0,0 ${.25*r},${1*i*.1}\n\n a${a},${a} 1 0,0 ${.15*r},${1*i*.33}\n a${.8*a},${.8*a} 1 0,0 0,${1*i*.34}\n a${a},${a} 1 0,0 ${-1*r*.15},${1*i*.33}\n\n a${a},${a} 1 0,0 ${-1*r*.25},${.15*i}\n a${a},${a} 1 0,0 ${-1*r*.25},0\n a${a},${a} 1 0,0 ${-1*r*.25},0\n a${a},${a} 1 0,0 ${-1*r*.25},${-1*i*.15}\n\n a${a},${a} 1 0,0 ${-1*r*.1},${-1*i*.33}\n a${.8*a},${.8*a} 1 0,0 0,${-1*i*.34}\n a${a},${a} 1 0,0 ${.1*r},${-1*i*.33}\n\n H0 V0 Z`)}(e,l,n);break;case e.nodeType.HEXAGON:!function(e,t,n){const r=n.height,i=r/4,a=n.width-n.padding+2*i;!function(e,t,n,r,i){e.insert("polygon",":first-child").attr("points",r.map((function(e){return e.x+","+e.y})).join(" ")).attr("transform","translate("+(i.width-t)/2+", "+n+")")}(t,a,r,[{x:i,y:0},{x:a-i,y:0},{x:a,y:-r/2},{x:a-i,y:-r},{x:i,y:-r},{x:0,y:-r/2}],n)}(0,l,n)}e.setElementForId(n.id,s),n.height}(e,t,n,r,i),n.children&&n.children.forEach(((n,a)=>{a8e(e,t,n,r<0?a:r,i)}))}function o8e(e,t,n,r){t.add({group:"nodes",data:{id:e.id.toString(),labelText:e.descr,height:e.height,width:e.width,level:r,nodeId:e.id,padding:e.padding,type:e.type},position:{x:e.x,y:e.y}}),e.children&&e.children.forEach((i=>{o8e(i,t,n,r+1),t.add({group:"edges",data:{id:`${e.id}_${i.id}`,source:e.id,target:i.id,depth:r,section:i.section}})}))}function s8e(e,t){return new Promise((n=>{const r=A3("body").append("div").attr("id","cy").attr("style","display:none"),i=q6e({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});r.remove(),o8e(e,i,t,0),i.nodes().forEach((function(e){e.layoutDimensions=()=>{const t=e.data();return{w:t.width,h:t.height}}})),i.layout({name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1}).run(),i.ready((e=>{a9.info("Ready",e),n(i)}))}))}q6e.use(X6e);const c8e={draw:async(e,t,n,r)=>{var i,a;a9.debug("Rendering mindmap diagram\n"+e);const o=r.db,s=o.getMindmap();if(!s)return;const c=Rte();c.htmlLabels=!1;const l=Vte(t),u=l.append("g");u.attr("class","mindmap-edges");const h=l.append("g");h.attr("class","mindmap-nodes"),a8e(o,h,s,-1,c);const d=await s8e(s,c);!function(e,t){t.edges().map(((t,n)=>{const r=t.data();if(t[0]._private.bodyBounds){const i=t[0]._private.rscratch;a9.trace("Edge: ",n,r),e.insert("path").attr("d",`M ${i.startX},${i.startY} L ${i.midX},${i.midY} L${i.endX},${i.endY} `).attr("class","edge section-edge-"+r.section+" edge-depth-"+r.depth)}}))}(u,d),function(e,t){t.nodes().map(((t,n)=>{const r=t.data();r.x=t.position().x,r.y=t.position().y,function(e,t){const n=e.getElementById(t.id),r=t.x||0,i=t.y||0;n.attr("transform","translate("+r+","+i+")")}(e,r);const i=e.getElementById(r.nodeId);a9.info("Id:",n,"Position: (",t.position().x,", ",t.position().y,")",r),i.attr("transform",`translate(${t.position().x-r.width/2}, ${t.position().y-r.height/2})`),i.attr("attr",`apa-${n})`)}))}(o,d),vte(void 0,l,(null==(i=c.mindmap)?void 0:i.padding)??R9.mindmap.padding,(null==(a=c.mindmap)?void 0:a.useMaxWidth)??R9.mindmap.useMaxWidth)}},l8e=e=>`\n .edge {\n stroke-width: 3;\n }\n ${(e=>{let t="";for(let t=0;t<e.THEME_COLOR_LIMIT;t++)e["lineColor"+t]=e["lineColor"+t]||e["cScaleInv"+t],c6(e["lineColor"+t])?e["lineColor"+t]=u6(e["lineColor"+t],20):e["lineColor"+t]=h6(e["lineColor"+t],20);for(let n=0;n<e.THEME_COLOR_LIMIT;n++){const r=""+(17-3*n);t+=`\n .section-${n-1} rect, .section-${n-1} path, .section-${n-1} circle, .section-${n-1} polygon, .section-${n-1} path {\n fill: ${e["cScale"+n]};\n }\n .section-${n-1} text {\n fill: ${e["cScaleLabel"+n]};\n }\n .node-icon-${n-1} {\n font-size: 40px;\n color: ${e["cScaleLabel"+n]};\n }\n .section-edge-${n-1}{\n stroke: ${e["cScale"+n]};\n }\n .edge-depth-${n-1}{\n stroke-width: ${r};\n }\n .section-${n-1} line {\n stroke: ${e["cScaleInv"+n]} ;\n stroke-width: 3;\n }\n\n .disabled, .disabled circle, .disabled text {\n fill: lightgray;\n }\n .disabled text {\n fill: #efefef;\n }\n `}return t})(e)}\n .section-root rect, .section-root path, .section-root circle, .section-root polygon {\n fill: ${e.git0};\n }\n .section-root text {\n fill: ${e.gitBranchLabel0};\n }\n .icon-container {\n height:100%;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n .edge {\n fill: none;\n }\n .mindmap-node-label {\n dy: 1em;\n alignment-baseline: middle;\n text-anchor: middle;\n dominant-baseline: middle;\n text-align: center;\n }\n`,u8e={db:i8e,renderer:c8e,parser:Q6e,styles:l8e};var h8e=Object.freeze({__proto__:null,diagram:u8e});function d8e(e,t){let n;if(void 0===t)for(const t of e)null!=t&&(n<t||void 0===n&&t>=t)&&(n=t);else{let r=-1;for(let i of e)null!=(i=t(i,++r,e))&&(n<i||void 0===n&&i>=i)&&(n=i)}return n}function f8e(e,t){let n;if(void 0===t)for(const t of e)null!=t&&(n>t||void 0===n&&t>=t)&&(n=t);else{let r=-1;for(let i of e)null!=(i=t(i,++r,e))&&(n>i||void 0===n&&i>=i)&&(n=i)}return n}function p8e(e,t){let n=0;if(void 0===t)for(let t of e)(t=+t)&&(n+=t);else{let r=-1;for(let i of e)(i=+t(i,++r,e))&&(n+=i)}return n}function m8e(e){return e.target.depth}function g8e(e,t){return e.sourceLinks.length?e.depth:t-1}function b8e(e){return function(){return e}}function y8e(e,t){return w8e(e.source,t.source)||e.index-t.index}function v8e(e,t){return w8e(e.target,t.target)||e.index-t.index}function w8e(e,t){return e.y0-t.y0}function x8e(e){return e.value}function k8e(e){return e.index}function S8e(e){return e.nodes}function E8e(e){return e.links}function _8e(e,t){const n=e.get(t);if(!n)throw new Error("missing: "+t);return n}function A8e({nodes:e}){for(const t of e){let e=t.y0,n=e;for(const n of t.sourceLinks)n.y0=e+n.width/2,e+=n.width;for(const e of t.targetLinks)e.y1=n+e.width/2,n+=e.width}}function T8e(){let e,t,n,r=0,i=0,a=1,o=1,s=24,c=8,l=k8e,u=g8e,h=S8e,d=E8e,f=6;function p(){const p={nodes:h.apply(null,arguments),links:d.apply(null,arguments)};return function({nodes:e,links:t}){for(const[t,n]of e.entries())n.index=t,n.sourceLinks=[],n.targetLinks=[];const r=new Map(e.map(((t,n)=>[l(t,n,e),t])));for(const[e,n]of t.entries()){n.index=e;let{source:t,target:i}=n;"object"!=typeof t&&(t=n.source=_8e(r,t)),"object"!=typeof i&&(i=n.target=_8e(r,i)),t.sourceLinks.push(n),i.targetLinks.push(n)}if(null!=n)for(const{sourceLinks:t,targetLinks:r}of e)t.sort(n),r.sort(n)}(p),function({nodes:e}){for(const t of e)t.value=void 0===t.fixedValue?Math.max(p8e(t.sourceLinks,x8e),p8e(t.targetLinks,x8e)):t.fixedValue}(p),function({nodes:e}){const t=e.length;let n=new Set(e),r=new Set,i=0;for(;n.size;){for(const e of n){e.depth=i;for(const{target:t}of e.sourceLinks)r.add(t)}if(++i>t)throw new Error("circular link");n=r,r=new Set}}(p),function({nodes:e}){const t=e.length;let n=new Set(e),r=new Set,i=0;for(;n.size;){for(const e of n){e.height=i;for(const{source:t}of e.targetLinks)r.add(t)}if(++i>t)throw new Error("circular link");n=r,r=new Set}}(p),function(n){const l=function({nodes:e}){const n=d8e(e,(e=>e.depth))+1,i=(a-r-s)/(n-1),o=new Array(n);for(const t of e){const e=Math.max(0,Math.min(n-1,Math.floor(u.call(null,t,n))));t.layer=e,t.x0=r+e*i,t.x1=t.x0+s,o[e]?o[e].push(t):o[e]=[t]}if(t)for(const e of o)e.sort(t);return o}(n);e=Math.min(c,(o-i)/(d8e(l,(e=>e.length))-1)),function(t){const n=f8e(t,(t=>(o-i-(t.length-1)*e)/p8e(t,x8e)));for(const r of t){let t=i;for(const i of r){i.y0=t,i.y1=t+i.value*n,t=i.y1+e;for(const e of i.sourceLinks)e.width=e.value*n}t=(o-t+e)/(r.length+1);for(let e=0;e<r.length;++e){const n=r[e];n.y0+=t*(e+1),n.y1+=t*(e+1)}x(r)}}(l);for(let e=0;e<f;++e){const t=Math.pow(.99,e),n=Math.max(1-t,(e+1)/f);g(l,t,n),m(l,t,n)}}(p),A8e(p),p}function m(e,n,r){for(let i=1,a=e.length;i<a;++i){const a=e[i];for(const e of a){let t=0,r=0;for(const{source:n,value:i}of e.targetLinks){let a=i*(e.layer-n.layer);t+=k(n,e)*a,r+=a}if(!(r>0))continue;let i=(t/r-e.y0)*n;e.y0+=i,e.y1+=i,w(e)}void 0===t&&a.sort(w8e),b(a,r)}}function g(e,n,r){for(let i=e.length-2;i>=0;--i){const a=e[i];for(const e of a){let t=0,r=0;for(const{target:n,value:i}of e.sourceLinks){let a=i*(n.layer-e.layer);t+=S(e,n)*a,r+=a}if(!(r>0))continue;let i=(t/r-e.y0)*n;e.y0+=i,e.y1+=i,w(e)}void 0===t&&a.sort(w8e),b(a,r)}}function b(t,n){const r=t.length>>1,a=t[r];v(t,a.y0-e,r-1,n),y(t,a.y1+e,r+1,n),v(t,o,t.length-1,n),y(t,i,0,n)}function y(t,n,r,i){for(;r<t.length;++r){const a=t[r],o=(n-a.y0)*i;o>1e-6&&(a.y0+=o,a.y1+=o),n=a.y1+e}}function v(t,n,r,i){for(;r>=0;--r){const a=t[r],o=(a.y1-n)*i;o>1e-6&&(a.y0-=o,a.y1-=o),n=a.y0-e}}function w({sourceLinks:e,targetLinks:t}){if(void 0===n){for(const{source:{sourceLinks:e}}of t)e.sort(v8e);for(const{target:{targetLinks:t}}of e)t.sort(y8e)}}function x(e){if(void 0===n)for(const{sourceLinks:t,targetLinks:n}of e)t.sort(v8e),n.sort(y8e)}function k(t,n){let r=t.y0-(t.sourceLinks.length-1)*e/2;for(const{target:i,width:a}of t.sourceLinks){if(i===n)break;r+=a+e}for(const{source:e,width:i}of n.targetLinks){if(e===t)break;r-=i}return r}function S(t,n){let r=n.y0-(n.targetLinks.length-1)*e/2;for(const{source:i,width:a}of n.targetLinks){if(i===t)break;r+=a+e}for(const{target:e,width:i}of t.sourceLinks){if(e===n)break;r-=i}return r}return p.update=function(e){return A8e(e),e},p.nodeId=function(e){return arguments.length?(l="function"==typeof e?e:b8e(e),p):l},p.nodeAlign=function(e){return arguments.length?(u="function"==typeof e?e:b8e(e),p):u},p.nodeSort=function(e){return arguments.length?(t=e,p):t},p.nodeWidth=function(e){return arguments.length?(s=+e,p):s},p.nodePadding=function(t){return arguments.length?(c=e=+t,p):c},p.nodes=function(e){return arguments.length?(h="function"==typeof e?e:b8e(e),p):h},p.links=function(e){return arguments.length?(d="function"==typeof e?e:b8e(e),p):d},p.linkSort=function(e){return arguments.length?(n=e,p):n},p.size=function(e){return arguments.length?(r=i=0,a=+e[0],o=+e[1],p):[a-r,o-i]},p.extent=function(e){return arguments.length?(r=+e[0][0],a=+e[1][0],i=+e[0][1],o=+e[1][1],p):[[r,i],[a,o]]},p.iterations=function(e){return arguments.length?(f=+e,p):f},p}var C8e=Math.PI,O8e=2*C8e,D8e=1e-6,M8e=O8e-D8e;function I8e(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function P8e(){return new I8e}function N8e(e){return function(){return e}}function L8e(e){return e[0]}function R8e(e){return e[1]}I8e.prototype=P8e.prototype={constructor:I8e,moveTo:function(e,t){this._+="M"+(this._x0=this._x1=+e)+","+(this._y0=this._y1=+t)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(e,t){this._+="L"+(this._x1=+e)+","+(this._y1=+t)},quadraticCurveTo:function(e,t,n,r){this._+="Q"+ +e+","+ +t+","+(this._x1=+n)+","+(this._y1=+r)},bezierCurveTo:function(e,t,n,r,i,a){this._+="C"+ +e+","+ +t+","+ +n+","+ +r+","+(this._x1=+i)+","+(this._y1=+a)},arcTo:function(e,t,n,r,i){e=+e,t=+t,n=+n,r=+r,i=+i;var a=this._x1,o=this._y1,s=n-e,c=r-t,l=a-e,u=o-t,h=l*l+u*u;if(i<0)throw new Error("negative radius: "+i);if(null===this._x1)this._+="M"+(this._x1=e)+","+(this._y1=t);else if(h>D8e)if(Math.abs(u*s-c*l)>D8e&&i){var d=n-a,f=r-o,p=s*s+c*c,m=d*d+f*f,g=Math.sqrt(p),b=Math.sqrt(h),y=i*Math.tan((C8e-Math.acos((p+h-m)/(2*g*b)))/2),v=y/b,w=y/g;Math.abs(v-1)>D8e&&(this._+="L"+(e+v*l)+","+(t+v*u)),this._+="A"+i+","+i+",0,0,"+ +(u*d>l*f)+","+(this._x1=e+w*s)+","+(this._y1=t+w*c)}else this._+="L"+(this._x1=e)+","+(this._y1=t);else;},arc:function(e,t,n,r,i,a){e=+e,t=+t,a=!!a;var o=(n=+n)*Math.cos(r),s=n*Math.sin(r),c=e+o,l=t+s,u=1^a,h=a?r-i:i-r;if(n<0)throw new Error("negative radius: "+n);null===this._x1?this._+="M"+c+","+l:(Math.abs(this._x1-c)>D8e||Math.abs(this._y1-l)>D8e)&&(this._+="L"+c+","+l),n&&(h<0&&(h=h%O8e+O8e),h>M8e?this._+="A"+n+","+n+",0,1,"+u+","+(e-o)+","+(t-s)+"A"+n+","+n+",0,1,"+u+","+(this._x1=c)+","+(this._y1=l):h>D8e&&(this._+="A"+n+","+n+",0,"+ +(h>=C8e)+","+u+","+(this._x1=e+n*Math.cos(i))+","+(this._y1=t+n*Math.sin(i))))},rect:function(e,t,n,r){this._+="M"+(this._x0=this._x1=+e)+","+(this._y0=this._y1=+t)+"h"+ +n+"v"+ +r+"h"+-n+"Z"},toString:function(){return this._}};var j8e=Array.prototype.slice;function B8e(e){return e.source}function F8e(e){return e.target}function z8e(e,t,n,r,i){e.moveTo(t,n),e.bezierCurveTo(t=(t+r)/2,n,t,i,r,i)}function $8e(){return function(e){var t=B8e,n=F8e,r=L8e,i=R8e,a=null;function o(){var o,s=j8e.call(arguments),c=t.apply(this,s),l=n.apply(this,s);if(a||(a=o=P8e()),e(a,+r.apply(this,(s[0]=c,s)),+i.apply(this,s),+r.apply(this,(s[0]=l,s)),+i.apply(this,s)),o)return a=null,o+""||null}return o.source=function(e){return arguments.length?(t=e,o):t},o.target=function(e){return arguments.length?(n=e,o):n},o.x=function(e){return arguments.length?(r="function"==typeof e?e:N8e(+e),o):r},o.y=function(e){return arguments.length?(i="function"==typeof e?e:N8e(+e),o):i},o.context=function(e){return arguments.length?(a=null==e?null:e,o):a},o}(z8e)}function q8e(e){return[e.source.x1,e.y0]}function H8e(e){return[e.target.x0,e.y1]}var U8e=function(){var e,t=function(e,t,n,r){for(n=n||{},r=e.length;r--;n[e[r]]=t);return n},n=[1,9],r=[1,10],i=[1,5,10,12],a={trace:function(){},yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:function(e,t,n,r,i,a,o){var s=a.length-1;switch(i){case 7:const e=r.findOrCreateNode(a[s-4].trim().replaceAll('""','"')),t=r.findOrCreateNode(a[s-2].trim().replaceAll('""','"')),n=parseFloat(a[s].trim());r.addLink(e,t,n);break;case 8:case 9:case 11:this.$=a[s];break;case 10:this.$=a[s-1]}},table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:n,20:r},{1:[2,6],7:11,10:[1,12]},t(r,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(i,[2,8]),t(i,[2,9]),{19:[1,16]},t(i,[2,11]),{1:[2,1]},{1:[2,5]},t(r,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:n,20:r},{15:18,16:7,17:8,18:n,20:r},{18:[1,19]},t(r,[2,3]),{12:[1,20]},t(i,[2,10]),{15:21,16:7,17:8,18:n,20:r},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:function(e,t){if(!t.recoverable){var n=new Error(e);throw n.hash=t,n}this.trace(e)},parse:function(e){var t=this,n=[0],r=[],i=[null],a=[],o=this.table,s="",c=0,l=0,u=a.slice.call(arguments,1),h=Object.create(this.lexer),d={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(d.yy[f]=this.yy[f]);h.setInput(e,d.yy),d.yy.lexer=h,d.yy.parser=this,void 0===h.yylloc&&(h.yylloc={});var p=h.yylloc;a.push(p);var m=h.options&&h.options.ranges;function g(){var e;return"number"!=typeof(e=r.pop()||h.lex()||1)&&(e instanceof Array&&(e=(r=e).pop()),e=t.symbols_[e]||e),e}"function"==typeof d.yy.parseError?this.parseError=d.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var b,y,v,w,x,k,S,E,_={};;){if(y=n[n.length-1],this.defaultActions[y]?v=this.defaultActions[y]:(null==b&&(b=g()),v=o[y]&&o[y][b]),void 0===v||!v.length||!v[0]){var A="";for(x in E=[],o[y])this.terminals_[x]&&x>2&&E.push("'"+this.terminals_[x]+"'");A=h.showPosition?"Parse error on line "+(c+1)+":\n"+h.showPosition()+"\nExpecting "+E.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==b?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(A,{text:h.match,token:this.terminals_[b]||b,line:h.yylineno,loc:p,expected:E})}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+y+", token: "+b);switch(v[0]){case 1:n.push(b),i.push(h.yytext),a.push(h.yylloc),n.push(v[1]),b=null,l=h.yyleng,s=h.yytext,c=h.yylineno,p=h.yylloc;break;case 2:if(k=this.productions_[v[1]][1],_.$=i[i.length-k],_._$={first_line:a[a.length-(k||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(k||1)].first_column,last_column:a[a.length-1].last_column},m&&(_._$.range=[a[a.length-(k||1)].range[0],a[a.length-1].range[1]]),void 0!==(w=this.performAction.apply(_,[s,l,c,d.yy,v[1],i,a].concat(u))))return w;k&&(n=n.slice(0,-1*k*2),i=i.slice(0,-1*k),a=a.slice(0,-1*k)),n.push(this.productions_[v[1]][0]),i.push(_.$),a.push(_._$),S=o[n[n.length-2]][n[n.length-1]],n.push(S);break;case 3:return!0}}return!0}},o=(e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var e,t,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!t||n[0].length>t[0].length)){if(t=n,r=a,this.options.backtrack_lexer){if(!1!==(e=this.test_match(n,i[a])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,i[r]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var e=this.next();return e||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,n,r){switch(n){case 0:return this.pushState("csv"),4;case 1:return 10;case 2:return 5;case 3:return 12;case 4:return this.pushState("escaped_text"),18;case 5:return 20;case 6:return this.popState("escaped_text"),18;case 7:return 19}},rules:[/^(?:sankey-beta\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[1,2,3,4,5,6,7],inclusive:!1},escaped_text:{rules:[6,7],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}},e);function s(){this.yy={}}return a.lexer=o,s.prototype=a,a.Parser=s,new s}();U8e.parser=U8e;const V8e=U8e;let W8e=[],G8e=[],K8e={};class Y8e{constructor(e,t,n=0){this.source=e,this.target=t,this.value=n}}class X8e{constructor(e){this.ID=e}}const Z8e={nodesMap:K8e,getConfig:()=>Rte().sankey,getNodes:()=>G8e,getLinks:()=>W8e,getGraph:()=>({nodes:G8e.map((e=>({id:e.ID}))),links:W8e.map((e=>({source:e.source.ID,target:e.target.ID,value:e.value})))}),addLink:(e,t,n)=>{W8e.push(new Y8e(e,t,n))},findOrCreateNode:e=>(e=_9.sanitizeText(e,Rte()),K8e[e]||(K8e[e]=new X8e(e),G8e.push(K8e[e])),K8e[e]),getAccTitle:Cte,setAccTitle:Tte,getAccDescription:Dte,setAccDescription:Ote,getDiagramTitle:Ite,setDiagramTitle:Mte,clear:()=>{W8e=[],G8e=[],K8e={},Ate()}},Q8e=class e{static next(t){return new e(t+ ++e.count)}constructor(e){this.id=e,this.href=`#${e}`}toString(){return"url("+this.href+")"}};Q8e.count=0;let J8e=Q8e;const e7e={left:function(e){return e.depth},right:function(e,t){return t-1-e.height},center:function(e){return e.targetLinks.length?e.depth:e.sourceLinks.length?f8e(e.sourceLinks,m8e)-1:0},justify:g8e},t7e={draw:function(e,t,n,r){const{securityLevel:i,sankey:a}=Rte(),o=Bte.sankey;let s;"sandbox"===i&&(s=A3("#i"+t));const c=A3("sandbox"===i?s.nodes()[0].contentDocument.body:"body"),l="sandbox"===i?c.select(`[id="${t}"]`):A3(`[id="${t}"]`),u=(null==a?void 0:a.width)??o.width,h=(null==a?void 0:a.height)??o.width,d=(null==a?void 0:a.useMaxWidth)??o.useMaxWidth,f=(null==a?void 0:a.nodeAlignment)??o.nodeAlignment,p=(null==a?void 0:a.prefix)??o.prefix,m=(null==a?void 0:a.suffix)??o.suffix,g=(null==a?void 0:a.showValues)??o.showValues,b=r.db.getGraph(),y=e7e[f],v=T8e().nodeId((e=>e.id)).nodeWidth(10).nodePadding(10+(g?15:0)).nodeAlign(y).extent([[0,0],[u,h]]);v(b);const w=sE(M4);l.append("g").attr("class","nodes").selectAll(".node").data(b.nodes).join("g").attr("class","node").attr("id",(e=>(e.uid=J8e.next("node-")).id)).attr("transform",(function(e){return"translate("+e.x0+","+e.y0+")"})).attr("x",(e=>e.x0)).attr("y",(e=>e.y0)).append("rect").attr("height",(e=>e.y1-e.y0)).attr("width",(e=>e.x1-e.x0)).attr("fill",(e=>w(e.id)));l.append("g").attr("class","node-labels").attr("font-family","sans-serif").attr("font-size",14).selectAll("text").data(b.nodes).join("text").attr("x",(e=>e.x0<u/2?e.x1+6:e.x0-6)).attr("y",(e=>(e.y1+e.y0)/2)).attr("dy",(g?"0":"0.35")+"em").attr("text-anchor",(e=>e.x0<u/2?"start":"end")).text((({id:e,value:t})=>g?`${e}\n${p}${Math.round(100*t)/100}${m}`:e));const x=l.append("g").attr("class","links").attr("fill","none").attr("stroke-opacity",.5).selectAll(".link").data(b.links).join("g").attr("class","link").style("mix-blend-mode","multiply"),k=(null==a?void 0:a.linkColor)||"gradient";if("gradient"===k){const e=x.append("linearGradient").attr("id",(e=>(e.uid=J8e.next("linearGradient-")).id)).attr("gradientUnits","userSpaceOnUse").attr("x1",(e=>e.source.x1)).attr("x2",(e=>e.target.x0));e.append("stop").attr("offset","0%").attr("stop-color",(e=>w(e.source.id))),e.append("stop").attr("offset","100%").attr("stop-color",(e=>w(e.target.id)))}let S;switch(k){case"gradient":S=e=>e.uid;break;case"source":S=e=>w(e.source.id);break;case"target":S=e=>w(e.target.id);break;default:S=k}x.append("path").attr("d",$8e().source(q8e).target(H8e)).attr("stroke",S).attr("stroke-width",(e=>Math.max(1,e.width))),vte(void 0,l,0,d)}},n7e=V8e.parse.bind(V8e);V8e.parse=e=>n7e((e=>e.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,"\n").trim())(e));const r7e={parser:V8e,db:Z8e,renderer:t7e};var i7e,a7e,o7e=Object.freeze({__proto__:null,diagram:r7e}),s7e=function(){var e,t=function(e,t,n,r){for(n=n||{},r=e.length;r--;n[e[r]]=t);return n},n=[1,7],r=[1,13],i=[1,14],a=[1,15],o=[1,19],s=[1,16],c=[1,17],l=[1,18],u=[8,30],h=[8,21,28,29,30,31,32,40,44,47],d=[1,23],f=[1,24],p=[8,15,16,21,28,29,30,31,32,40,44,47],m=[8,15,16,21,27,28,29,30,31,32,40,44,47],g=[1,49],b={trace:function(){},yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,block:31,NODE_ID:32,nodeShapeNLabel:33,dirList:34,DIR:35,NODE_DSTART:36,NODE_DEND:37,BLOCK_ARROW_START:38,BLOCK_ARROW_END:39,classDef:40,CLASSDEF_ID:41,CLASSDEF_STYLEOPTS:42,DEFAULT:43,class:44,CLASSENTITY_IDS:45,STYLECLASS:46,style:47,STYLE_ENTITY_IDS:48,STYLE_DEFINITION_DATA:49,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"block",32:"NODE_ID",35:"DIR",36:"NODE_DSTART",37:"NODE_DEND",38:"BLOCK_ARROW_START",39:"BLOCK_ARROW_END",40:"classDef",41:"CLASSDEF_ID",42:"CLASSDEF_STYLEOPTS",43:"DEFAULT",44:"class",45:"CLASSENTITY_IDS",46:"STYLECLASS",47:"style",48:"STYLE_ENTITY_IDS",49:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[34,1],[34,2],[33,3],[33,4],[23,3],[23,3],[24,3],[25,3]],performAction:function(e,t,n,r,i,a,o){var s=a.length-1;switch(i){case 4:r.getLogger().debug("Rule: separator (NL) ");break;case 5:r.getLogger().debug("Rule: separator (Space) ");break;case 6:r.getLogger().debug("Rule: separator (EOF) ");break;case 7:r.getLogger().debug("Rule: hierarchy: ",a[s-1]),r.setHierarchy(a[s-1]);break;case 8:r.getLogger().debug("Stop NL ");break;case 9:r.getLogger().debug("Stop EOF ");break;case 10:r.getLogger().debug("Stop NL2 ");break;case 11:r.getLogger().debug("Stop EOF2 ");break;case 12:r.getLogger().debug("Rule: statement: ",a[s]),"number"==typeof a[s].length?this.$=a[s]:this.$=[a[s]];break;case 13:r.getLogger().debug("Rule: statement #2: ",a[s-1]),this.$=[a[s-1]].concat(a[s]);break;case 14:r.getLogger().debug("Rule: link: ",a[s],e),this.$={edgeTypeStr:a[s],label:""};break;case 15:r.getLogger().debug("Rule: LABEL link: ",a[s-3],a[s-1],a[s]),this.$={edgeTypeStr:a[s],label:a[s-1]};break;case 18:const t=parseInt(a[s]),n=r.generateId();this.$={id:n,type:"space",label:"",width:t,children:[]};break;case 23:r.getLogger().debug("Rule: (nodeStatement link node) ",a[s-2],a[s-1],a[s]," typestr: ",a[s-1].edgeTypeStr);const i=r.edgeStrToEdgeData(a[s-1].edgeTypeStr);this.$=[{id:a[s-2].id,label:a[s-2].label,type:a[s-2].type,directions:a[s-2].directions},{id:a[s-2].id+"-"+a[s].id,start:a[s-2].id,end:a[s].id,label:a[s-1].label,type:"edge",directions:a[s].directions,arrowTypeEnd:i,arrowTypeStart:"arrow_open"},{id:a[s].id,label:a[s].label,type:r.typeStr2Type(a[s].typeStr),directions:a[s].directions}];break;case 24:r.getLogger().debug("Rule: nodeStatement (abc88 node size) ",a[s-1],a[s]),this.$={id:a[s-1].id,label:a[s-1].label,type:r.typeStr2Type(a[s-1].typeStr),directions:a[s-1].directions,widthInColumns:parseInt(a[s],10)};break;case 25:r.getLogger().debug("Rule: nodeStatement (node) ",a[s]),this.$={id:a[s].id,label:a[s].label,type:r.typeStr2Type(a[s].typeStr),directions:a[s].directions,widthInColumns:1};break;case 26:r.getLogger().debug("APA123",this?this:"na"),r.getLogger().debug("COLUMNS: ",a[s]),this.$={type:"column-setting",columns:"auto"===a[s]?-1:parseInt(a[s])};break;case 27:r.getLogger().debug("Rule: id-block statement : ",a[s-2],a[s-1]),r.generateId(),this.$={...a[s-2],type:"composite",children:a[s-1]};break;case 28:r.getLogger().debug("Rule: blockStatement : ",a[s-2],a[s-1],a[s]);const o=r.generateId();this.$={id:o,type:"composite",label:"",children:a[s-1]};break;case 29:r.getLogger().debug("Rule: node (NODE_ID separator): ",a[s]),this.$={id:a[s]};break;case 30:r.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",a[s-1],a[s]),this.$={id:a[s-1],label:a[s].label,typeStr:a[s].typeStr,directions:a[s].directions};break;case 31:r.getLogger().debug("Rule: dirList: ",a[s]),this.$=[a[s]];break;case 32:r.getLogger().debug("Rule: dirList: ",a[s-1],a[s]),this.$=[a[s-1]].concat(a[s]);break;case 33:r.getLogger().debug("Rule: nodeShapeNLabel: ",a[s-2],a[s-1],a[s]),this.$={typeStr:a[s-2]+a[s],label:a[s-1]};break;case 34:r.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",a[s-3],a[s-2]," #3:",a[s-1],a[s]),this.$={typeStr:a[s-3]+a[s],label:a[s-2],directions:a[s-1]};break;case 35:case 36:this.$={type:"classDef",id:a[s-1].trim(),css:a[s].trim()};break;case 37:this.$={type:"applyClass",id:a[s-1].trim(),styleClass:a[s].trim()};break;case 38:this.$={type:"applyStyles",id:a[s-1].trim(),stylesStr:a[s].trim()}}},table:[{9:1,10:[1,2]},{1:[3]},{11:3,13:4,19:5,20:6,21:n,22:8,23:9,24:10,25:11,26:12,28:r,29:i,31:a,32:o,40:s,44:c,47:l},{8:[1,20]},t(u,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,21:n,28:r,29:i,31:a,32:o,40:s,44:c,47:l}),t(h,[2,16],{14:22,15:d,16:f}),t(h,[2,17]),t(h,[2,18]),t(h,[2,19]),t(h,[2,20]),t(h,[2,21]),t(h,[2,22]),t(p,[2,25],{27:[1,25]}),t(h,[2,26]),{19:26,26:12,32:o},{11:27,13:4,19:5,20:6,21:n,22:8,23:9,24:10,25:11,26:12,28:r,29:i,31:a,32:o,40:s,44:c,47:l},{41:[1,28],43:[1,29]},{45:[1,30]},{48:[1,31]},t(m,[2,29],{33:32,36:[1,33],38:[1,34]}),{1:[2,7]},t(u,[2,13]),{26:35,32:o},{32:[2,14]},{17:[1,36]},t(p,[2,24]),{11:37,13:4,14:22,15:d,16:f,19:5,20:6,21:n,22:8,23:9,24:10,25:11,26:12,28:r,29:i,31:a,32:o,40:s,44:c,47:l},{30:[1,38]},{42:[1,39]},{42:[1,40]},{46:[1,41]},{49:[1,42]},t(m,[2,30]),{18:[1,43]},{18:[1,44]},t(p,[2,23]),{18:[1,45]},{30:[1,46]},t(h,[2,28]),t(h,[2,35]),t(h,[2,36]),t(h,[2,37]),t(h,[2,38]),{37:[1,47]},{34:48,35:g},{15:[1,50]},t(h,[2,27]),t(m,[2,33]),{39:[1,51]},{34:52,35:g,39:[2,31]},{32:[2,15]},t(m,[2,34]),{39:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:function(e,t){if(!t.recoverable){var n=new Error(e);throw n.hash=t,n}this.trace(e)},parse:function(e){var t=this,n=[0],r=[],i=[null],a=[],o=this.table,s="",c=0,l=0,u=a.slice.call(arguments,1),h=Object.create(this.lexer),d={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(d.yy[f]=this.yy[f]);h.setInput(e,d.yy),d.yy.lexer=h,d.yy.parser=this,void 0===h.yylloc&&(h.yylloc={});var p=h.yylloc;a.push(p);var m=h.options&&h.options.ranges;function g(){var e;return"number"!=typeof(e=r.pop()||h.lex()||1)&&(e instanceof Array&&(e=(r=e).pop()),e=t.symbols_[e]||e),e}"function"==typeof d.yy.parseError?this.parseError=d.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var b,y,v,w,x,k,S,E,_={};;){if(y=n[n.length-1],this.defaultActions[y]?v=this.defaultActions[y]:(null==b&&(b=g()),v=o[y]&&o[y][b]),void 0===v||!v.length||!v[0]){var A="";for(x in E=[],o[y])this.terminals_[x]&&x>2&&E.push("'"+this.terminals_[x]+"'");A=h.showPosition?"Parse error on line "+(c+1)+":\n"+h.showPosition()+"\nExpecting "+E.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==b?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(A,{text:h.match,token:this.terminals_[b]||b,line:h.yylineno,loc:p,expected:E})}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+y+", token: "+b);switch(v[0]){case 1:n.push(b),i.push(h.yytext),a.push(h.yylloc),n.push(v[1]),b=null,l=h.yyleng,s=h.yytext,c=h.yylineno,p=h.yylloc;break;case 2:if(k=this.productions_[v[1]][1],_.$=i[i.length-k],_._$={first_line:a[a.length-(k||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(k||1)].first_column,last_column:a[a.length-1].last_column},m&&(_._$.range=[a[a.length-(k||1)].range[0],a[a.length-1].range[1]]),void 0!==(w=this.performAction.apply(_,[s,l,c,d.yy,v[1],i,a].concat(u))))return w;k&&(n=n.slice(0,-1*k*2),i=i.slice(0,-1*k),a=a.slice(0,-1*k)),n.push(this.productions_[v[1]][0]),i.push(_.$),a.push(_._$),S=o[n[n.length-2]][n[n.length-1]],n.push(S);break;case 3:return!0}}return!0}},y=(e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var e,t,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!t||n[0].length>t[0].length)){if(t=n,r=a,this.options.backtrack_lexer){if(!1!==(e=this.test_match(n,i[a])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,i[r]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var e=this.next();return e||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,n,r){switch(n){case 0:return 10;case 1:return e.getLogger().debug("Found space-block"),31;case 2:return e.getLogger().debug("Found nl-block"),31;case 3:return e.getLogger().debug("Found space-block"),29;case 4:e.getLogger().debug(".",t.yytext);break;case 5:e.getLogger().debug("_",t.yytext);break;case 6:return 5;case 7:return t.yytext=-1,28;case 8:return t.yytext=t.yytext.replace(/columns\s+/,""),e.getLogger().debug("COLUMNS (LEX)",t.yytext),28;case 9:case 77:case 78:case 100:this.pushState("md_string");break;case 10:return"MD_STR";case 11:case 35:case 80:this.popState();break;case 12:this.pushState("string");break;case 13:e.getLogger().debug("LEX: POPPING STR:",t.yytext),this.popState();break;case 14:return e.getLogger().debug("LEX: STR end:",t.yytext),"STR";case 15:return t.yytext=t.yytext.replace(/space\:/,""),e.getLogger().debug("SPACE NUM (LEX)",t.yytext),21;case 16:return t.yytext="1",e.getLogger().debug("COLUMNS (LEX)",t.yytext),21;case 17:return 43;case 18:return"LINKSTYLE";case 19:return"INTERPOLATE";case 20:return this.pushState("CLASSDEF"),40;case 21:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 22:return this.popState(),this.pushState("CLASSDEFID"),41;case 23:return this.popState(),42;case 24:return this.pushState("CLASS"),44;case 25:return this.popState(),this.pushState("CLASS_STYLE"),45;case 26:return this.popState(),46;case 27:return this.pushState("STYLE_STMNT"),47;case 28:return this.popState(),this.pushState("STYLE_DEFINITION"),48;case 29:return this.popState(),49;case 30:return this.pushState("acc_title"),"acc_title";case 31:return this.popState(),"acc_title_value";case 32:return this.pushState("acc_descr"),"acc_descr";case 33:return this.popState(),"acc_descr_value";case 34:this.pushState("acc_descr_multiline");break;case 36:return"acc_descr_multiline_value";case 37:return 30;case 38:case 39:case 41:case 42:case 45:return this.popState(),e.getLogger().debug("Lex: (("),"NODE_DEND";case 40:return this.popState(),e.getLogger().debug("Lex: ))"),"NODE_DEND";case 43:return this.popState(),e.getLogger().debug("Lex: (-"),"NODE_DEND";case 44:return this.popState(),e.getLogger().debug("Lex: -)"),"NODE_DEND";case 46:return this.popState(),e.getLogger().debug("Lex: ]]"),"NODE_DEND";case 47:return this.popState(),e.getLogger().debug("Lex: ("),"NODE_DEND";case 48:return this.popState(),e.getLogger().debug("Lex: ])"),"NODE_DEND";case 49:case 50:return this.popState(),e.getLogger().debug("Lex: /]"),"NODE_DEND";case 51:return this.popState(),e.getLogger().debug("Lex: )]"),"NODE_DEND";case 52:return this.popState(),e.getLogger().debug("Lex: )"),"NODE_DEND";case 53:return this.popState(),e.getLogger().debug("Lex: ]>"),"NODE_DEND";case 54:return this.popState(),e.getLogger().debug("Lex: ]"),"NODE_DEND";case 55:return e.getLogger().debug("Lexa: -)"),this.pushState("NODE"),36;case 56:return e.getLogger().debug("Lexa: (-"),this.pushState("NODE"),36;case 57:return e.getLogger().debug("Lexa: ))"),this.pushState("NODE"),36;case 58:case 60:case 61:case 62:case 65:return e.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 59:return e.getLogger().debug("Lex: ((("),this.pushState("NODE"),36;case 63:return e.getLogger().debug("Lexc: >"),this.pushState("NODE"),36;case 64:return e.getLogger().debug("Lexa: (["),this.pushState("NODE"),36;case 66:case 67:case 68:case 69:case 70:case 71:case 72:return this.pushState("NODE"),36;case 73:return e.getLogger().debug("Lexa: ["),this.pushState("NODE"),36;case 74:return this.pushState("BLOCK_ARROW"),e.getLogger().debug("LEX ARR START"),38;case 75:return e.getLogger().debug("Lex: NODE_ID",t.yytext),32;case 76:return e.getLogger().debug("Lex: EOF",t.yytext),8;case 79:return"NODE_DESCR";case 81:e.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 82:e.getLogger().debug("LEX ARR: Starting string"),this.pushState("string");break;case 83:return e.getLogger().debug("LEX: NODE_DESCR:",t.yytext),"NODE_DESCR";case 84:e.getLogger().debug("LEX POPPING"),this.popState();break;case 85:e.getLogger().debug("Lex: =>BAE"),this.pushState("ARROW_DIR");break;case 86:return t.yytext=t.yytext.replace(/^,\s*/,""),e.getLogger().debug("Lex (right): dir:",t.yytext),"DIR";case 87:return t.yytext=t.yytext.replace(/^,\s*/,""),e.getLogger().debug("Lex (left):",t.yytext),"DIR";case 88:return t.yytext=t.yytext.replace(/^,\s*/,""),e.getLogger().debug("Lex (x):",t.yytext),"DIR";case 89:return t.yytext=t.yytext.replace(/^,\s*/,""),e.getLogger().debug("Lex (y):",t.yytext),"DIR";case 90:return t.yytext=t.yytext.replace(/^,\s*/,""),e.getLogger().debug("Lex (up):",t.yytext),"DIR";case 91:return t.yytext=t.yytext.replace(/^,\s*/,""),e.getLogger().debug("Lex (down):",t.yytext),"DIR";case 92:return t.yytext="]>",e.getLogger().debug("Lex (ARROW_DIR end):",t.yytext),this.popState(),this.popState(),"BLOCK_ARROW_END";case 93:return e.getLogger().debug("Lex: LINK","#"+t.yytext+"#"),15;case 94:case 95:case 96:return e.getLogger().debug("Lex: LINK",t.yytext),15;case 97:case 98:case 99:return e.getLogger().debug("Lex: START_LINK",t.yytext),this.pushState("LLABEL"),16;case 101:return e.getLogger().debug("Lex: Starting string"),this.pushState("string"),"LINK_LABEL";case 102:return this.popState(),e.getLogger().debug("Lex: LINK","#"+t.yytext+"#"),15;case 103:case 104:return this.popState(),e.getLogger().debug("Lex: LINK",t.yytext),15;case 105:return e.getLogger().debug("Lex: COLON",t.yytext),t.yytext=t.yytext.slice(1),27}},rules:[/^(?:block-beta\b)/,/^(?:block\s+)/,/^(?:block\n+)/,/^(?:block:)/,/^(?:[\s]+)/,/^(?:[\n]+)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:columns\s+auto\b)/,/^(?:columns\s+[\d]+)/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:space[:]\d+)/,/^(?:space\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\s+)/,/^(?:DEFAULT\s+)/,/^(?:\w+\s+)/,/^(?:[^\n]*)/,/^(?:class\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:style\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:end\b\s*)/,/^(?:\(\(\()/,/^(?:\)\)\))/,/^(?:[\)]\))/,/^(?:\}\})/,/^(?:\})/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\()/,/^(?:\]\])/,/^(?:\()/,/^(?:\]\))/,/^(?:\\\])/,/^(?:\/\])/,/^(?:\)\])/,/^(?:[\)])/,/^(?:\]>)/,/^(?:[\]])/,/^(?:-\))/,/^(?:\(-)/,/^(?:\)\))/,/^(?:\))/,/^(?:\(\(\()/,/^(?:\(\()/,/^(?:\{\{)/,/^(?:\{)/,/^(?:>)/,/^(?:\(\[)/,/^(?:\()/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\[\\)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:\[)/,/^(?:<\[)/,/^(?:[^\(\[\n\-\)\{\}\s\<\>:]+)/,/^(?:$)/,/^(?:["][`])/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:\]>\s*\()/,/^(?:,?\s*right\s*)/,/^(?:,?\s*left\s*)/,/^(?:,?\s*x\s*)/,/^(?:,?\s*y\s*)/,/^(?:,?\s*up\s*)/,/^(?:,?\s*down\s*)/,/^(?:\)\s*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*~~[\~]+\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:["][`])/,/^(?:["])/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?::\d+)/],conditions:{STYLE_DEFINITION:{rules:[29],inclusive:!1},STYLE_STMNT:{rules:[28],inclusive:!1},CLASSDEFID:{rules:[23],inclusive:!1},CLASSDEF:{rules:[21,22],inclusive:!1},CLASS_STYLE:{rules:[26],inclusive:!1},CLASS:{rules:[25],inclusive:!1},LLABEL:{rules:[100,101,102,103,104],inclusive:!1},ARROW_DIR:{rules:[86,87,88,89,90,91,92],inclusive:!1},BLOCK_ARROW:{rules:[77,82,85],inclusive:!1},NODE:{rules:[38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,78,81],inclusive:!1},md_string:{rules:[10,11,79,80],inclusive:!1},space:{rules:[],inclusive:!1},string:{rules:[13,14,83,84],inclusive:!1},acc_descr_multiline:{rules:[35,36],inclusive:!1},acc_descr:{rules:[33],inclusive:!1},acc_title:{rules:[31],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,12,15,16,17,18,19,20,24,27,30,32,34,37,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,93,94,95,96,97,98,99,105],inclusive:!0}}},e);function v(){this.yy={}}return b.lexer=y,v.prototype=b,b.Parser=v,new v}();s7e.parser=s7e;const c7e=s7e;let l7e={},u7e=[],h7e={};const d7e="color",f7e="fill",p7e=Rte();let m7e={};const g7e=function(e,t=""){void 0===m7e[e]&&(m7e[e]={id:e,styles:[],textStyles:[]});const n=m7e[e];null!=t&&t.split(",").forEach((e=>{const t=e.replace(/([^;]*);/,"$1").trim();if(e.match(d7e)){const e=t.replace(f7e,"bgFill").replace(d7e,f7e);n.textStyles.push(e)}n.styles.push(t)}))},b7e=function(e,t=""){const n=l7e[e];null!=t&&(n.styles=t.split(","))},y7e=function(e,t){e.split(",").forEach((function(e){let n=l7e[e];if(void 0===n){const t=e.trim();l7e[t]={id:t,type:"na",children:[]},n=l7e[t]}n.classes||(n.classes=[]),n.classes.push(t)}))},v7e=(e,t)=>{const n=e.flat(),r=[];for(const e of n)if(e.label&&(e.label=(i=e.label,_9.sanitizeText(i,p7e))),"classDef"!==e.type)if("applyClass"!==e.type)if("applyStyles"!==e.type)if("column-setting"===e.type)t.columns=e.columns||-1;else if("edge"===e.type)h7e[e.id]?h7e[e.id]++:h7e[e.id]=1,e.id=h7e[e.id]+"-"+e.id,u7e.push(e);else{e.label||("composite"===e.type?e.label="":e.label=e.id);const t=!l7e[e.id];if(t?l7e[e.id]=e:("na"!==e.type&&(l7e[e.id].type=e.type),e.label!==e.id&&(l7e[e.id].label=e.label)),e.children&&v7e(e.children,e),"space"===e.type){const t=e.width||1;for(let n=0;n<t;n++){const t=aNe(e);t.id=t.id+"-"+n,l7e[t.id]=t,r.push(t)}}else t&&r.push(e)}else(null==e?void 0:e.stylesStr)&&b7e(e.id,null==e?void 0:e.stylesStr);else y7e(e.id,(null==e?void 0:e.styleClass)||"");else g7e(e.id,e.css);var i;t.children=r};let w7e=[],x7e={id:"root",type:"composite",children:[],columns:-1};let k7e=0;const S7e={getConfig:()=>Cee().block,typeStr2Type:function(e){switch(a9.debug("typeStr2Type",e),e){case"[]":return"square";case"()":return a9.debug("we have a round"),"round";case"(())":return"circle";case">]":return"rect_left_inv_arrow";case"{}":return"diamond";case"{{}}":return"hexagon";case"([])":return"stadium";case"[[]]":return"subroutine";case"[()]":return"cylinder";case"((()))":return"doublecircle";case"[//]":return"lean_right";case"[\\\\]":return"lean_left";case"[/\\]":return"trapezoid";case"[\\/]":return"inv_trapezoid";case"<[]>":return"block_arrow";default:return"na"}},edgeTypeStr2Type:function(e){return a9.debug("typeStr2Type",e),"=="===e?"thick":"normal"},edgeStrToEdgeData:function(e){switch(e.trim()){case"--x":return"arrow_cross";case"--o":return"arrow_circle";default:return"arrow_point"}},getLogger:()=>console,getBlocksFlat:()=>[...Object.values(l7e)],getBlocks:()=>w7e||[],getEdges:()=>u7e,setHierarchy:e=>{x7e.children=e,v7e(e,x7e),w7e=x7e.children},getBlock:e=>l7e[e],setBlock:e=>{l7e[e.id]=e},getColumns:e=>{const t=l7e[e];return t?t.columns?t.columns:t.children?t.children.length:-1:-1},getClasses:function(){return m7e},clear:()=>{a9.debug("Clear called"),Ate(),x7e={id:"root",type:"composite",children:[],columns:-1},l7e={root:x7e},w7e=[],m7e={},u7e=[],h7e={}},generateId:()=>(k7e++,"id-"+Math.random().toString(36).substr(2,12)+"-"+k7e)},E7e=S7e,_7e=(e,t)=>{const n=a6,r=n(e,"r"),i=n(e,"g"),a=n(e,"b");return i6(r,i,a,t)},A7e=e=>`.label {\n font-family: ${e.fontFamily};\n color: ${e.nodeTextColor||e.textColor};\n }\n .cluster-label text {\n fill: ${e.titleColor};\n }\n .cluster-label span,p {\n color: ${e.titleColor};\n }\n\n\n\n .label text,span,p {\n fill: ${e.nodeTextColor||e.textColor};\n color: ${e.nodeTextColor||e.textColor};\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${e.mainBkg};\n stroke: ${e.nodeBorder};\n stroke-width: 1px;\n }\n .flowchart-label text {\n text-anchor: middle;\n }\n // .flowchart-label .text-outer-tspan {\n // text-anchor: middle;\n // }\n // .flowchart-label .text-inner-tspan {\n // text-anchor: start;\n // }\n\n .node .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n .arrowheadPath {\n fill: ${e.arrowheadColor};\n }\n\n .edgePath .path {\n stroke: ${e.lineColor};\n stroke-width: 2.0px;\n }\n\n .flowchart-link {\n stroke: ${e.lineColor};\n fill: none;\n }\n\n .edgeLabel {\n background-color: ${e.edgeLabelBackground};\n rect {\n opacity: 0.5;\n background-color: ${e.edgeLabelBackground};\n fill: ${e.edgeLabelBackground};\n }\n text-align: center;\n }\n\n /* For html labels only */\n .labelBkg {\n background-color: ${_7e(e.edgeLabelBackground,.5)};\n // background-color:\n }\n\n .node .cluster {\n // fill: ${_7e(e.mainBkg,.5)};\n fill: ${_7e(e.clusterBkg,.5)};\n stroke: ${_7e(e.clusterBorder,.2)};\n box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;\n stroke-width: 1px;\n }\n\n .cluster text {\n fill: ${e.titleColor};\n }\n\n .cluster span,p {\n color: ${e.titleColor};\n }\n /* .cluster div {\n color: ${e.titleColor};\n } */\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: ${e.fontFamily};\n font-size: 12px;\n background: ${e.tertiaryColor};\n border: 1px solid ${e.border2};\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n\n .flowchartTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${e.textColor};\n }\n`;function T7e(e,t,n=!1){var r,i,a;const o=e;let s="default";((null==(r=null==o?void 0:o.classes)?void 0:r.length)||0)>0&&(s=((null==o?void 0:o.classes)||[]).join(" ")),s+=" flowchart-label";let c,l=0,u="";switch(o.type){case"round":l=5,u="rect";break;case"composite":l=0,u="composite",c=0;break;case"square":case"group":default:u="rect";break;case"diamond":u="question";break;case"hexagon":u="hexagon";break;case"block_arrow":u="block_arrow";break;case"odd":case"rect_left_inv_arrow":u="rect_left_inv_arrow";break;case"lean_right":u="lean_right";break;case"lean_left":u="lean_left";break;case"trapezoid":u="trapezoid";break;case"inv_trapezoid":u="inv_trapezoid";break;case"circle":u="circle";break;case"ellipse":u="ellipse";break;case"stadium":u="stadium";break;case"subroutine":u="subroutine";break;case"cylinder":u="cylinder";break;case"doublecircle":u="doublecircle"}const h=ree((null==o?void 0:o.styles)||[]),d=o.label,f=o.size||{width:0,height:0,x:0,y:0};return{labelStyle:h.labelStyle,shape:u,labelText:d,rx:l,ry:l,class:s,style:h.style,id:o.id,directions:o.directions,width:f.width,height:f.height,x:f.x,y:f.y,positioned:n,intersect:void 0,type:o.type,padding:c??((null==(a=null==(i=Cee())?void 0:i.block)?void 0:a.padding)||0)}}async function C7e(e,t,n){const r=T7e(t,0,!1);if("group"===r.type)return;const i=await tze(e,r),a=i.node().getBBox(),o=n.getBlock(r.id);o.size={width:a.width,height:a.height,x:0,y:0,node:i},n.setBlock(o),i.remove()}async function O7e(e,t,n){const r=T7e(t,0,!0);"space"!==n.getBlock(r.id).type&&(await tze(e,r),t.intersect=null==r?void 0:r.intersect,nze(r))}async function D7e(e,t,n,r){for(const i of t)await r(e,i,n),i.children&&await D7e(e,i.children,n,r)}const M7e=(null==(a7e=null==(i7e=Rte())?void 0:i7e.block)?void 0:a7e.padding)||8;function I7e(e,t){if(0===e||!Number.isInteger(e))throw new Error("Columns must be an integer !== 0.");if(t<0||!Number.isInteger(t))throw new Error("Position must be a non-negative integer."+t);if(e<0)return{px:t,py:0};if(1===e)return{px:0,py:t};return{px:t%e,py:Math.floor(t/e)}}const P7e=e=>{let t=0,n=0;for(const r of e.children){const{width:i,height:a,x:o,y:s}=r.size||{width:0,height:0,x:0,y:0};a9.debug("getMaxChildSize abc95 child:",r.id,"width:",i,"height:",a,"x:",o,"y:",s,r.type),"space"!==r.type&&(i>t&&(t=i/(e.widthInColumns||1)),a>n&&(n=a))}return{width:t,height:n}};function N7e(e,t,n=0,r=0){var i,a,o,s,c,l,u,h,d,f,p;a9.debug("setBlockSizes abc95 (start)",e.id,null==(i=null==e?void 0:e.size)?void 0:i.x,"block width =",null==e?void 0:e.size,"sieblingWidth",n),(null==(a=null==e?void 0:e.size)?void 0:a.width)||(e.size={width:n,height:r,x:0,y:0});let m=0,g=0;if((null==(o=e.children)?void 0:o.length)>0){for(const n of e.children)N7e(n,t);const i=P7e(e);m=i.width,g=i.height,a9.debug("setBlockSizes abc95 maxWidth of",e.id,":s children is ",m,g);for(const t of e.children)t.size&&(a9.debug(`abc95 Setting size of children of ${e.id} id=${t.id} ${m} ${g} ${t.size}`),t.size.width=m*(t.widthInColumns||1)+M7e*((t.widthInColumns||1)-1),t.size.height=g,t.size.x=0,t.size.y=0,a9.debug(`abc95 updating size of ${e.id} children child:${t.id} maxWidth:${m} maxHeight:${g}`));for(const n of e.children)N7e(n,t,m,g);const a=e.columns||-1;let o=0;for(const t of e.children)o+=t.widthInColumns||1;let h=e.children.length;a>0&&a<o&&(h=a),e.widthInColumns;const d=Math.ceil(o/h);let f=h*(m+M7e)+M7e,p=d*(g+M7e)+M7e;if(f<n){a9.debug(`Detected to small siebling: abc95 ${e.id} sieblingWidth ${n} sieblingHeight ${r} width ${f}`),f=n,p=r;const t=(n-h*M7e-M7e)/h,i=(r-d*M7e-M7e)/d;a9.debug("Size indata abc88",e.id,"childWidth",t,"maxWidth",m),a9.debug("Size indata abc88",e.id,"childHeight",i,"maxHeight",g),a9.debug("Size indata abc88 xSize",h,"padding",M7e);for(const n of e.children)n.size&&(n.size.width=t,n.size.height=i,n.size.x=0,n.size.y=0)}if(a9.debug(`abc95 (finale calc) ${e.id} xSize ${h} ySize ${d} columns ${a}${e.children.length} width=${Math.max(f,(null==(s=e.size)?void 0:s.width)||0)}`),f<((null==(c=null==e?void 0:e.size)?void 0:c.width)||0)){f=(null==(l=null==e?void 0:e.size)?void 0:l.width)||0;const t=a>0?Math.min(e.children.length,a):e.children.length;if(t>0){const n=(f-t*M7e-M7e)/t;a9.debug("abc95 (growing to fit) width",e.id,f,null==(u=e.size)?void 0:u.width,n);for(const t of e.children)t.size&&(t.size.width=n)}}e.size={width:f,height:p,x:0,y:0}}a9.debug("setBlockSizes abc94 (done)",e.id,null==(h=null==e?void 0:e.size)?void 0:h.x,null==(d=null==e?void 0:e.size)?void 0:d.width,null==(f=null==e?void 0:e.size)?void 0:f.y,null==(p=null==e?void 0:e.size)?void 0:p.height)}function L7e(e,t){var n,r,i,a,o,s,c,l,u,h,d,f,p,m,g,b,y;a9.debug(`abc85 layout blocks (=>layoutBlocks) ${e.id} x: ${null==(n=null==e?void 0:e.size)?void 0:n.x} y: ${null==(r=null==e?void 0:e.size)?void 0:r.y} width: ${null==(i=null==e?void 0:e.size)?void 0:i.width}`);const v=e.columns||-1;if(a9.debug("layoutBlocks columns abc95",e.id,"=>",v,e),e.children&&e.children.length>0){const t=(null==(o=null==(a=null==e?void 0:e.children[0])?void 0:a.size)?void 0:o.width)||0,n=e.children.length*t+(e.children.length-1)*M7e;a9.debug("widthOfChildren 88",n,"posX");let r=0;a9.debug("abc91 block?.size?.x",e.id,null==(s=null==e?void 0:e.size)?void 0:s.x);let i=(null==(c=null==e?void 0:e.size)?void 0:c.x)?(null==(l=null==e?void 0:e.size)?void 0:l.x)+(-(null==(u=null==e?void 0:e.size)?void 0:u.width)/2||0):-M7e,g=0;for(const t of e.children){const n=e;if(!t.size)continue;const{width:a,height:o}=t.size,{px:s,py:c}=I7e(v,r);if(c!=g&&(g=c,i=(null==(h=null==e?void 0:e.size)?void 0:h.x)?(null==(d=null==e?void 0:e.size)?void 0:d.x)+(-(null==(f=null==e?void 0:e.size)?void 0:f.width)/2||0):-M7e,a9.debug("New row in layout for block",e.id," and child ",t.id,g)),a9.debug(`abc89 layout blocks (child) id: ${t.id} Pos: ${r} (px, py) ${s},${c} (${null==(p=null==n?void 0:n.size)?void 0:p.x},${null==(m=null==n?void 0:n.size)?void 0:m.y}) parent: ${n.id} width: ${a}${M7e}`),n.size){const e=a/2;t.size.x=i+M7e+e,a9.debug(`abc91 layout blocks (calc) px, pyid:${t.id} startingPos=X${i} new startingPosX${t.size.x} ${e} padding=${M7e} width=${a} halfWidth=${e} => x:${t.size.x} y:${t.size.y} ${t.widthInColumns} (width * (child?.w || 1)) / 2 ${a*((null==t?void 0:t.widthInColumns)||1)/2}`),i=t.size.x+e,t.size.y=n.size.y-n.size.height/2+c*(o+M7e)+o/2+M7e,a9.debug(`abc88 layout blocks (calc) px, pyid:${t.id}startingPosX${i}${M7e}${e}=>x:${t.size.x}y:${t.size.y}${t.widthInColumns}(width * (child?.w || 1)) / 2${a*((null==t?void 0:t.widthInColumns)||1)/2}`)}t.children&&L7e(t),r+=(null==t?void 0:t.widthInColumns)||1,a9.debug("abc88 columnsPos",t,r)}}a9.debug(`layout blocks (<==layoutBlocks) ${e.id} x: ${null==(g=null==e?void 0:e.size)?void 0:g.x} y: ${null==(b=null==e?void 0:e.size)?void 0:b.y} width: ${null==(y=null==e?void 0:e.size)?void 0:y.width}`)}function R7e(e,{minX:t,minY:n,maxX:r,maxY:i}={minX:0,minY:0,maxX:0,maxY:0}){if(e.size&&"root"!==e.id){const{x:a,y:o,width:s,height:c}=e.size;a-s/2<t&&(t=a-s/2),o-c/2<n&&(n=o-c/2),a+s/2>r&&(r=a+s/2),o+c/2>i&&(i=o+c/2)}if(e.children)for(const a of e.children)({minX:t,minY:n,maxX:r,maxY:i}=R7e(a,{minX:t,minY:n,maxX:r,maxY:i}));return{minX:t,minY:n,maxX:r,maxY:i}}function j7e(e){const t=e.getBlock("root");if(!t)return;N7e(t,e,0,0),L7e(t),a9.debug("getBlocks",JSON.stringify(t,null,2));const{minX:n,minY:r,maxX:i,maxY:a}=R7e(t);return{x:n,y:r,width:i-n,height:a-r}}const B7e={draw:async function(e,t,n,r){const{securityLevel:i,block:a}=Cee(),o=r.db;let s;"sandbox"===i&&(s=A3("#i"+t));const c=A3("sandbox"===i?s.nodes()[0].contentDocument.body:"body"),l="sandbox"===i?c.select(`[id="${t}"]`):A3(`[id="${t}"]`);RFe(l,["point","circle","cross"],r.type,t);const u=o.getBlocks(),h=o.getBlocksFlat(),d=o.getEdges(),f=l.insert("g").attr("class","block");await async function(e,t,n){await D7e(e,t,n,C7e)}(f,u,o);const p=j7e(o);if(await async function(e,t,n){await D7e(e,t,n,O7e)}(f,u,o),await async function(e,t,n,r,i){const a=new tRe({multigraph:!0,compound:!0});a.setGraph({rankdir:"TB",nodesep:10,ranksep:10,marginx:8,marginy:8});for(const e of n)e.size&&a.setNode(e.id,{width:e.size.width,height:e.size.height,intersect:e.intersect});for(const n of t)if(n.start&&n.end){const t=r.getBlock(n.start),o=r.getBlock(n.end);if((null==t?void 0:t.size)&&(null==o?void 0:o.size)){const r=t.size,s=o.size,c=[{x:r.x,y:r.y},{x:r.x+(s.x-r.x)/2,y:r.y+(s.y-r.y)/2},{x:s.x,y:s.y}];await bze(e,{v:n.start,w:n.end,name:n.id},{...n,arrowTypeEnd:n.arrowTypeEnd,arrowTypeStart:n.arrowTypeStart,points:c,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"},void 0,"block",a,i),n.label&&(await fze(e,{...n,label:n.label,labelStyle:"stroke: #333; stroke-width: 1.5px;fill:none;",arrowTypeEnd:n.arrowTypeEnd,arrowTypeStart:n.arrowTypeStart,points:c,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"}),await mze({...n,x:c[1].x,y:c[1].y},{originalPath:c}))}}}(f,d,h,o,t),p){const e=p,t=Math.max(1,Math.round(e.width/e.height*.125)),n=e.height+t+10,r=e.width+10,{useMaxWidth:i}=a;yte(l,n,r,!!i),a9.debug("Here Bounds",p,e),l.attr("viewBox",`${e.x-5} ${e.y-5} ${e.width+10} ${e.height+10}`)}sE(M4)},getClasses:function(e,t){return t.db.getClasses()}},F7e={parser:c7e,db:E7e,renderer:B7e,styles:A7e};var z7e=Object.freeze({__proto__:null,diagram:F7e});exports.Action=Bt,exports.ActivityMeter=mn,exports.AllergiesList=tV,exports.AllergiesView=p_e,exports.AppDownload=aV,exports.AsthmaActionPlanManager=RU,exports.AsthmaActionPlanView=function(e){var t;return o.default.createElement(jt,{colorScheme:null!==(t=e.colorScheme)&&void 0!==t?t:"auto"},o.default.createElement(zB,{showCloseButton:!0}),o.default.createElement(RU,{previewState:e.previewState,learnMoreUrl:e.learnMoreUrl,editActionPlanSurveyName:e.editActionPlanSurveyName}))},exports.AsthmaActivityView=function(t){var n;const[r,i]=e.useState();let a;return"default"===t.previewState&&(a=(e,t)=>WH(e,t,2e3,2e4)),dU((()=>{"default"!==t.previewState?LU.loadParticipant().then((e=>{i(e.getStepsBaseline())})):i(1e4)})),o.default.createElement(jt,{colorScheme:null!==(n=t.colorScheme)&&void 0!==n?n:"auto",bodyBackgroundColor:"var(--mdhui-background-color-0)"},o.default.createElement(zB,{variant:"compressed",showCloseButton:!0,backgroundColor:"var(--mdhui-background-color-0)"},o.default.createElement(TB,{order:1},dB("asthma-activity-view-title"))),o.default.createElement(sG,{previewState:"default"===t.previewState?"loaded with data":void 0,previewDataProvider:a,title:dB("asthma-activity-view-chart-title"),dailyDataType:exports.AsthmaDailyDataType.Steps,highlight:e=>!!r&&!mH(r,e),emptyDomain:[0,1e4]}),"Steps"===t.alert&&o.default.createElement(FU,{previewState:t.previewState?"loaded":void 0,message:dB("asthma-activity-view-alert-message"),logEntrySurveyName:t.logEntrySurveyName}))},exports.AsthmaAirQualities=BU,exports.AsthmaAirQualityView=function(e){var t;let n;return"default"===e.previewState&&(n=(e,t)=>WH(e,t,30,130)),o.default.createElement(jt,{colorScheme:null!==(t=e.colorScheme)&&void 0!==t?t:"auto",bodyBackgroundColor:"var(--mdhui-background-color-0)"},o.default.createElement(zB,{variant:"compressed",showCloseButton:!0,backgroundColor:"var(--mdhui-background-color-0)"},o.default.createElement(TB,{order:1},dB("asthma-air-quality-view-title"))),(!e.alert||"HomeAirQuality"===e.alert)&&o.default.createElement(sG,{previewState:"default"===e.previewState?"loaded with data":void 0,previewDataProvider:n,title:dB("asthma-air-quality-view-home-aqi-chart-title"),dailyDataType:exports.DailyDataType.HomeAirQuality,highlight:e=>e>100,emptyDomain:[0,160]}),(!e.alert||"WorkAirQuality"===e.alert)&&o.default.createElement(sG,{previewState:"default"===e.previewState?"loaded with data":void 0,previewDataProvider:n,title:dB("asthma-air-quality-view-work-aqi-chart-title"),dailyDataType:exports.DailyDataType.WorkAirQuality,highlight:e=>e>100,emptyDomain:[0,160]}),"HomeAirQuality"===e.alert&&o.default.createElement(FU,{previewState:e.previewState?"loaded":void 0,message:dB("asthma-air-quality-view-home-aqi-alert-message"),logEntrySurveyName:e.logEntrySurveyName}),"WorkAirQuality"===e.alert&&o.default.createElement(FU,{previewState:e.previewState?"loaded":void 0,message:dB("asthma-air-quality-view-work-aqi-alert-message"),logEntrySurveyName:e.logEntrySurveyName}))},exports.AsthmaAlertTakeoverNotice=FU,exports.AsthmaAlertTakeoverTrigger=function(e){return dU((()=>{e.previewState||LU.loadParticipant().then((t=>{LU.loadAlertTakeover().then((n=>{n&&(t.getAlertTakeover()?LU.loadLogEntries(Dn(new Date,{days:-2})).then((t=>{let r=Jq(new Date);t.find((e=>e.identifier===r))?LU.updateAlertTakeover(n,"cleared","The user has already logged today.").then():LU.updateAlertTakeover(n,"viewed").then((()=>{var t;"DaytimeRestingHeartRate"===(t=n.value)||"NighttimeRestingHeartRate"===t||"RespiratoryRate"===t||"DaytimeBloodOxygenLevel"===t||"NighttimeBloodOxygenLevel"===t?l.default.openApplication(e.heartAndLungsUrl+"?alert="+t,{modal:!0}):"Steps"===t?l.default.openApplication(e.activityUrl+"?alert="+t,{modal:!0}):"SleepDisturbances"===t?l.default.openApplication(e.sleepUrl+"?alert="+t,{modal:!0}):"HomeAirQuality"===t||"WorkAirQuality"===t?l.default.openApplication(e.airQualityUrl+"?alert="+t,{modal:!0}):t.includes(",")&&l.default.openApplication(e.alertTakeoverUrl,{modal:!0})}))})):LU.updateAlertTakeover(n,"cleared","The alert is no longer valid.").then())}))}))})),null},exports.AsthmaAlertTakeoverView=function(e){var t;return o.default.createElement(jt,{colorScheme:null!==(t=e.colorScheme)&&void 0!==t?t:"auto",bodyBackgroundColor:"var(--mdhui-background-color-0)"},o.default.createElement(zB,{showCloseButton:!0,backgroundColor:"var(--mdhui-background-color-0)"}),o.default.createElement("div",{style:{background:"#ccc",height:160,width:160,borderRadius:"50%",margin:"32px auto"}}),o.default.createElement(FU,{previewState:e.previewState?"loaded":void 0,message:dB("asthma-alert-takeover-message"),logEntrySurveyName:e.logEntrySurveyName}))},exports.AsthmaBiometrics=$U,exports.AsthmaControlCalendar=function(t){var n,r;const i=e.useContext(_B),[a,s]=e.useState([]);dU((()=>{t.previewState?s(HU[t.previewState].logEntries):LU.loadLogEntries().then((e=>{s(e)}))}),[],[t.previewState]);const c={"not-determined":{style:{background:"var(--mdhui-background-color-0)",border:"3px dashed var(--mdhui-text-color-0)",color:"var(--mdhui-text-color-0)",fontWeight:600,marginTop:"-12px"}},"not-controlled":{style:{background:"#F86A5C",border:"3px solid #F86A5C",color:"#fff",fontWeight:600,marginTop:"-12px"}},controlled:{style:{background:"var(--mdhui-background-color-0)",border:"3px solid #35A6A0",color:"#35A6A0",fontWeight:600,marginTop:"-12px"}},today:{style:{border:"3px solid #369CFF"}},future:{style:{background:"var(--mdhui-background-color-0)",border:"3px solid var(--mdhui-background-color-0)",color:"var(--mdhui-text-color-3)",fontWeight:600,marginTop:"-12px"}},"no-data":{style:{background:"var(--mdhui-background-color-0)",border:"3px solid var(--mdhui-background-color-0)",color:"var(--mdhui-text-color-0)",fontWeight:600,marginTop:"-12px"}}},u=e=>{let t=eH(a,e).status;return"not-determined"===t?"not-determined":"not-controlled"===t?"not-controlled":"controlled"===t?"controlled":qn(e,new Date)?"today":ti(e,new Date)?"future":"no-data"},h=e=>{t.previewState||ti(e,new Date)||l.default.openApplication(t.dayViewUrl+"?date="+Jr(e,{representation:"date"}),{modal:!0})};let d=null!==(r=null!==(n=null==i?void 0:i.intervalStart)&&void 0!==n?n:t.intervalStart)&&void 0!==r?r:Jn(new Date);return o.default.createElement("div",null,o.default.createElement(YB,{noTopMargin:!0,style:{boxShadow:"none",marginBottom:"0"}},o.default.createElement(ys,{innerRef:t.innerRef,className:"mdhui-asthma-control-calendar",year:d.getFullYear(),month:d.getMonth(),dayRenderer:(e,t,n)=>o.default.createElement(vs,{year:e,month:t,day:n,stateConfiguration:c,computeStateForDay:u,onClick:h})})),"verbose"===t.variant&&(()=>{if(0===a.length)return null;let e=Za(),t={},n=[...a].sort(((e,t)=>e.identifier.localeCompare(t.identifier)))[0],r=qa(n.identifier);for(let n=0;n<=Vn(e,r);n++){let e=Dn(r,{days:n});if(!ni(e,d)&&ni(e,Dn(d,{months:1}))){let n=Jq(e);t[n]=a.find((e=>e.identifier===n))}}return o.default.createElement("div",{className:"mdhui-asthma-control-calendar-log-entries"},Object.keys(t).sort().reverse().map(((n,r)=>{let i=qa(n),a=t[n];return o.default.createElement(xs,{key:r},o.default.createElement(Bt,{title:Wr(i,"PPP",{locale:bs(l.default.getCurrentLanguage())}),subtitle:a?rH(a.symptomLevel):Vn(e,i)>=2?dB("asthma-control-calendar-daily-entry-missed"):dB("asthma-control-calendar-not-logged-yet"),onClick:()=>h(i)}),a&&(a.symptoms&&a.symptoms.length>0||a.impacts&&a.impacts.length>0||a.triggers&&a.triggers.length>0)&&o.default.createElement("div",{className:"mdhui-asthma-control-calendar-log-entry-components"},a.symptoms&&a.symptoms.length>0&&o.default.createElement(UU,{className:"mdhui-asthma-control-calendar-log-entry-component-symptoms",label:dB("asthma-control-calendar-log-entries-symptoms-label")}),a.impacts&&a.impacts.length>0&&o.default.createElement(UU,{className:"mdhui-asthma-control-calendar-log-entry-component-impacts",label:dB("asthma-control-calendar-log-entries-impacts-label")}),a.triggers&&a.triggers.length>0&&o.default.createElement(UU,{className:"mdhui-asthma-control-calendar-log-entry-component-triggers",label:dB("asthma-control-calendar-log-entries-triggers-label")})))})))})())},exports.AsthmaControlStatusHeader=function(t){let[n,r]=e.useState(!0),[i,a]=e.useState(),[s,c]=e.useState(),[l,u]=e.useState();if(dU((()=>{if(r(!0),"loading"===t.previewState)return void a(void 0);if(t.previewState)return a(VU[t.previewState].controlState),c(VU[t.previewState].biometrics),u(VU[t.previewState].airQualities),void r(!1);let e=new Date;LU.loadLogEntries(Dn(new Date(e),{days:-10})).then((n=>{if(t.participant.hasPairedDevice()&&t.participant.hasEstablishedBaseline()){let i=LU.loadBiometricsForControlStatus(),o=LU.loadAirQualitiesForControlStatus(t.participant.getHomeAirQualityZipCode(),t.participant.getWorkAirQualityZipCode());Promise.all([i,o]).then((t=>{a(eH(n,e)),c(t[0]),u(t[1]),r(!1)}))}else a(eH(n,e)),r(!1)}))}),[],[t.previewState]),n&&!i)return null;const h=(e,t)=>t?o.default.createElement("div",{className:"mdhui-asthma-control-status-header-not-controlled-stat"},o.default.createElement("div",{className:"mdhui-asthma-control-status-header-not-controlled-stat-value"},t,"x"),o.default.createElement("div",{className:"mdhui-asthma-control-status-header-not-controlled-stat-label"},e)):null;return o.default.createElement("div",{className:"mdhui-asthma-control-status-header",ref:t.innerRef},"no-data"===i.status&&(()=>{var e,n,r,i,a,c,u,h,d;if(t.participant.hasPairedDevice()&&t.participant.hasEstablishedBaseline()){if(s.filter((e=>"out-of-range"===e.status)).length+l.filter((e=>"out-of-range"===e.status)).length>1)return o.default.createElement("div",{className:"mdhui-asthma-control-status-header-text"},o.default.createElement("p",null,dB("asthma-control-status-header-multiple-out-of-range-p1"),o.default.createElement("span",{className:"mdhui-asthma-control-status-header-data-out-of-range"},dB("asthma-control-status-header-multiple-out-of-range-p2")),dB("asthma-control-status-header-multiple-out-of-range-p3")));if("out-of-range"===(null===(e=s.find((e=>"daytime-resting-heart-rate"===e.type||"nighttime-resting-heart-rate"===e.type)))||void 0===e?void 0:e.status))return o.default.createElement("div",{className:"mdhui-asthma-control-status-header-text"},o.default.createElement("p",null,dB("asthma-control-status-header-abnormal-heart-rate-p1"),o.default.createElement("span",{className:"mdhui-asthma-control-status-header-data-out-of-range"},dB("asthma-control-status-header-abnormal-heart-rate-p2")),dB("asthma-control-status-header-abnormal-heart-rate-p3")));if("out-of-range"===(null===(n=s.find((e=>"respiratory-rate"===e.type)))||void 0===n?void 0:n.status))return o.default.createElement("div",{className:"mdhui-asthma-control-status-header-text"},o.default.createElement("p",null,dB("asthma-control-status-header-abnormal-respiratory-rate-p1"),o.default.createElement("span",{className:"mdhui-asthma-control-status-header-data-out-of-range"},dB("asthma-control-status-header-abnormal-respiratory-rate-p2")),dB("asthma-control-status-header-abnormal-respiratory-rate-p3")));if("out-of-range"===(null===(r=s.find((e=>"steps"===e.type)))||void 0===r?void 0:r.status))return o.default.createElement("div",{className:"mdhui-asthma-control-status-header-text"},o.default.createElement("p",null,dB("asthma-control-status-header-abnormal-steps-p1"),o.default.createElement("span",{className:"mdhui-asthma-control-status-header-data-out-of-range"},dB("asthma-control-status-header-abnormal-steps-p2")),dB("asthma-control-status-header-abnormal-steps-p3")));if("out-of-range"===(null===(i=s.find((e=>"sleep-disturbances"===e.type)))||void 0===i?void 0:i.status))return o.default.createElement("div",{className:"mdhui-asthma-control-status-header-text"},o.default.createElement("p",null,dB("asthma-control-status-header-abnormal-sleep-p1"),o.default.createElement("span",{className:"mdhui-asthma-control-status-header-data-out-of-range"},dB("asthma-control-status-header-abnormal-sleep-p2")),dB("asthma-control-status-header-abnormal-sleep-p3")));if("out-of-range"===(null===(a=s.find((e=>"daytime-blood-oxygen-level"===e.type||"nighttime-blood-oxygen-level"===e.type)))||void 0===a?void 0:a.status))return o.default.createElement("div",{className:"mdhui-asthma-control-status-header-text"},o.default.createElement("p",null,dB("asthma-control-status-header-abnormal-blood-oxygen-p1"),o.default.createElement("span",{className:"mdhui-asthma-control-status-header-data-out-of-range"},dB("asthma-control-status-header-abnormal-blood-oxygen-p2")),dB("asthma-control-status-header-abnormal-blood-oxygen-p3")));if("out-of-range"===(null===(c=l.find((e=>"home"===e.type)))||void 0===c?void 0:c.status))return o.default.createElement("div",{className:"mdhui-asthma-control-status-header-text"},o.default.createElement("p",null,dB("asthma-control-status-header-abnormal-home-aqi-p1"),o.default.createElement("span",{className:"mdhui-asthma-control-status-header-data-out-of-range"},hH(null===(u=l.find((e=>"home"===e.type)))||void 0===u?void 0:u.description)),dB("asthma-control-status-header-abnormal-home-aqi-p2")));if("out-of-range"===(null===(h=l.find((e=>"work"===e.type)))||void 0===h?void 0:h.status))return o.default.createElement("div",{className:"mdhui-asthma-control-status-header-text"},o.default.createElement("p",null,dB("asthma-control-status-header-abnormal-work-aqi-p1"),o.default.createElement("span",{className:"mdhui-asthma-control-status-header-data-out-of-range"},hH(null===(d=l.find((e=>"work"===e.type)))||void 0===d?void 0:d.description)),dB("asthma-control-status-header-abnormal-work-aqi-p2")))}return o.default.createElement("div",{className:"mdhui-asthma-control-status-header-text"},o.default.createElement("p",null,dB("asthma-control-status-header-no-data")))})(),"not-determined"===i.status&&o.default.createElement("div",{className:"mdhui-asthma-control-status-header-text"},o.default.createElement("p",null,dB("asthma-control-status-header-not-determined"))),"controlled"===i.status&&o.default.createElement("div",{className:"mdhui-asthma-control-status-header-text"},o.default.createElement("p",null,dB("asthma-control-status-header-controlled-p1"),o.default.createElement("span",{className:"mdhui-asthma-control-status-header-controlled"},dB("asthma-control-status-header-controlled-p2")))),"not-controlled"===i.status&&o.default.createElement("div",null,o.default.createElement("div",{className:"mdhui-asthma-control-status-header-text"},o.default.createElement("p",null,dB("asthma-control-status-header-not-controlled-p1"),o.default.createElement("span",{className:"mdhui-asthma-control-status-header-not-controlled"},dB("asthma-control-status-header-not-controlled-p2")))),o.default.createElement("div",{className:"mdhui-asthma-control-status-header-not-controlled-stats"},h(dB("asthma-control-status-header-not-controlled-stat-symptom-days"),i.symptomDaysPast7),h(dB("asthma-control-status-header-not-controlled-stat-rescue-inhaler"),i.inhalerUseDaysPast7),h(dB("asthma-control-status-header-not-controlled-stat-limited-activity"),i.limitedActivityDaysPast7),h(dB("asthma-control-status-header-not-controlled-stat-awakenings"),i.nighttimeAwakeningDaysPast7))))},exports.AsthmaDayView=function(e){var t;return o.default.createElement(jt,{colorScheme:null!==(t=e.colorScheme)&&void 0!==t?t:"auto"},o.default.createElement(zB,{variant:"compressed",showCloseButton:!0},o.default.createElement(TB,{order:2},Wr(e.date,"PPP",{locale:bs(l.default.getCurrentLanguage())}))),o.default.createElement(xs,null,o.default.createElement(KU,{previewState:e.previewState?"logged with mild symptoms":void 0,date:e.date,logTodayEntrySurveyName:e.logTodayEntrySurveyName,logYesterdayEntrySurveyName:e.logYesterdayEntrySurveyName,editLogEntryUrl:e.editLogEntryUrl,infoUrl:e.logEntryInfoUrl})),o.default.createElement(xs,null,o.default.createElement($U,{previewState:e.previewState?"all data":void 0,heartAndLungsUrl:e.heartAndLungsUrl,activityUrl:e.activityUrl,sleepUrl:e.sleepUrl,date:e.date})),o.default.createElement(xs,null,o.default.createElement(BU,{previewState:e.previewState?"all data":void 0,airQualityUrl:e.airQualityUrl,date:e.date})))},exports.AsthmaHeartAndLungsView=function(t){var n;const[r,i]=e.useState(),[a,s]=e.useState(),[c,l]=e.useState(),[u,h]=e.useState(),[d,f]=e.useState();let p,m,g;return"default"===t.previewState&&(p=(e,t)=>WH(e,t,30,150,!1),m=(e,t)=>WH(e,t,10,50),g=(e,t)=>WH(e,t,.85,1,!1)),dU((()=>{if("default"===t.previewState)return i(90),s(90),l(30),h(.97),void f(.96);LU.loadParticipant().then((e=>{i(e.getDaytimeRestingHeartRateBaseline()),s(e.getNighttimeRestingHeartRateBaseline()),l(e.getRespiratoryRateBaseline()),h(e.getDaytimeBloodOxygenLevelBaseline()),f(e.getNighttimeBloodOxygenLevelBaseline())}))})),o.default.createElement(jt,{colorScheme:null!==(n=t.colorScheme)&&void 0!==n?n:"auto",bodyBackgroundColor:"var(--mdhui-background-color-0)"},o.default.createElement(zB,{variant:"compressed",showCloseButton:!0,backgroundColor:"var(--mdhui-background-color-0)"},o.default.createElement(TB,{order:1},dB("asthma-heart-and-lungs-view-title"))),(!t.alert||"DaytimeRestingHeartRate"===t.alert)&&o.default.createElement(sG,{previewState:"default"===t.previewState?"loaded with data":void 0,previewDataProvider:p,title:dB("asthma-heart-and-lungs-view-dhr-chart-title"),dailyDataType:exports.AsthmaDailyDataType.DaytimeRestingHeartRate,valueFormatter:e=>Number(e).toFixed(0),highlight:e=>!!r&&!dH(r,e),emptyDomain:[0,120]}),(!t.alert||"NighttimeRestingHeartRate"===t.alert)&&o.default.createElement(sG,{previewState:"default"===t.previewState?"loaded with data":void 0,previewDataProvider:p,title:dB("asthma-heart-and-lungs-view-nhr-chart-title"),dailyDataType:exports.AsthmaDailyDataType.NighttimeRestingHeartRate,valueFormatter:e=>Number(e).toFixed(0),highlight:e=>!!a&&!fH(a,e),emptyDomain:[0,120]}),(!t.alert||"RespiratoryRate"===t.alert)&&o.default.createElement(sG,{previewState:"default"===t.previewState?"loaded with data":void 0,previewDataProvider:m,title:dB("asthma-heart-and-lungs-view-rr-chart-title"),dailyDataType:exports.AsthmaDailyDataType.RespiratoryRate,highlight:e=>!!c&&!pH(c,e),emptyDomain:[0,40]}),(!t.alert||"DaytimeBloodOxygenLevel"===t.alert)&&o.default.createElement(sG,{previewState:"default"===t.previewState?"loaded with data":void 0,previewDataProvider:g,title:dB("asthma-heart-and-lungs-view-dbol-chart-title"),dailyDataType:exports.AsthmaDailyDataType.DaytimeBloodOxygenLevel,valueConverter:e=>100*e,valueFormatter:e=>Number(e).toFixed(0),highlight:e=>!!u&&!bH(u,e),domain:[80,100],emptyDomain:[80,100]}),(!t.alert||"NighttimeBloodOxygenLevel"===t.alert)&&o.default.createElement(sG,{previewState:"default"===t.previewState?"loaded with data":void 0,previewDataProvider:g,title:dB("asthma-heart-and-lungs-view-nbol-chart-title"),dailyDataType:exports.AsthmaDailyDataType.NighttimeBloodOxygenLevel,valueConverter:e=>100*e,valueFormatter:e=>Number(e).toFixed(0),highlight:e=>!!d&&!bH(d,e),domain:[80,100],emptyDomain:[80,100]}),"DaytimeRestingHeartRate"===t.alert&&o.default.createElement(FU,{previewState:t.previewState?"loaded":void 0,message:dB("asthma-heart-and-lungs-view-dhr-alert-message"),logEntrySurveyName:t.logEntrySurveyName}),"NighttimeRestingHeartRate"===t.alert&&o.default.createElement(FU,{previewState:t.previewState?"loaded":void 0,message:dB("asthma-heart-and-lungs-view-nhr-alert-message"),logEntrySurveyName:t.logEntrySurveyName}),"RespiratoryRate"===t.alert&&o.default.createElement(FU,{previewState:t.previewState?"loaded":void 0,message:dB("asthma-heart-and-lungs-view-rr-alert-message"),logEntrySurveyName:t.logEntrySurveyName}),"DaytimeBloodOxygenLevel"===t.alert&&o.default.createElement(FU,{previewState:t.previewState?"loaded":void 0,message:dB("asthma-heart-and-lungs-view-dbol-alert-message"),logEntrySurveyName:t.logEntrySurveyName}),"NighttimeBloodOxygenLevel"===t.alert&&o.default.createElement(FU,{previewState:t.previewState?"loaded":void 0,message:dB("asthma-heart-and-lungs-view-nbol-alert-message"),logEntrySurveyName:t.logEntrySurveyName}))},exports.AsthmaLogEntryDetails=KU,exports.AsthmaLogEntryEditorView=function(t){var n;let r=Dn(Za(),{days:-1});if(ni(t.date,r))return l.default.dismiss(),null;const[i,a]=e.useState(!0),[s,c]=e.useState();dU((()=>{if(a(!0),"loading"===t.previewState)return;if(t.previewState)return c(oxe[t.previewState].logEntry),void a(!1);let e=Dn(new Date(t.date),{days:-1}),n=Dn(new Date(t.date),{days:1});LU.loadLogEntries(e,n).then((e=>{let n=Jq(t.date),r=e.find((e=>e.identifier===n));r?c(r):l.default.dismiss(),a(!1)}))}),[],[t.previewState]);const u=e=>{(e=>{let t=Object.assign(Object.assign({},s),{symptomLevel:e});"none"===e&&(t.symptoms=[]),c(t)})(iH(e))},h=e=>{(e=>{let t=Object.assign(Object.assign({},s),{symptoms:e});e.length>0&&"none"===t.symptomLevel&&(t.symptomLevel="mild"),c(t)})(oH(e))},f=o.default.createElement(d,{className:"button",style:{left:"16px"},onClick:()=>{t.previewState||l.default.dismiss()}},"Cancel"),p=o.default.createElement(d,{className:"button",style:{color:"#fff",background:"#369cff",right:"16px",padding:"0 16px"},onClick:()=>{i||t.previewState||LU.saveLogEntry(s).then((()=>{l.default.dismiss()}))}},"Save");return o.default.createElement(jt,{colorScheme:null!==(n=t.colorScheme)&&void 0!==n?n:"auto",bodyBackgroundColor:"var(--mdhui-background-color-0)"},o.default.createElement(zB,{title:Wr(t.date,"PPP",{locale:bs(l.default.getCurrentLanguage())}),navigationBarLeft:f,navigationBarRight:p,variant:"compressed",backgroundColor:"var(--mdhui-background-color-0)"}),i&&o.default.createElement(yn,null),!i&&s&&o.default.createElement("div",null,o.default.createElement(xs,{backgroundColor:"var(--mdhui-background-color-1)"},o.default.createElement(qq,{title:dB("asthma-log-entry-editor-view-symptom-level-title"),subtitle:dB("asthma-log-entry-editor-view-select-one-subtitle"),values:[dB("asthma-symptom-level-none"),dB("asthma-symptom-level-mild"),dB("asthma-symptom-level-moderate"),dB("asthma-symptom-level-severe")],selectedValues:[rH(s.symptomLevel)],preventEmptySelections:!0,onChange:e=>u(e[0])})),o.default.createElement(xs,{backgroundColor:"var(--mdhui-background-color-1)"},o.default.createElement(qq,{title:dB("asthma-log-entry-editor-view-symptoms-title"),subtitle:dB("asthma-log-entry-editor-view-select-all-subtitle"),values:[dB("asthma-symptom-difficulty-breathing"),dB("asthma-symptom-wheezing"),dB("asthma-symptom-coughing"),dB("asthma-symptom-chest-tightness")],selectedValues:aH(s.symptoms),variant:"checkboxes",multiSelect:!0,onChange:e=>h(e)})),o.default.createElement(xs,{backgroundColor:"var(--mdhui-background-color-1)"},o.default.createElement(qq,{title:dB("asthma-log-entry-editor-view-impacts-title"),subtitle:dB("asthma-log-entry-editor-view-select-all-subtitle"),values:[dB("asthma-impact-waking-at-night"),dB("asthma-impact-limit-daily-activity"),dB("asthma-impact-using-rescue-inhaler")],selectedValues:sH(s.impacts),variant:"checkboxes",multiSelect:!0,onChange:e=>{return t=e,void c(Object.assign(Object.assign({},s),{impacts:cH(t)}));var t}})),o.default.createElement(xs,{backgroundColor:"var(--mdhui-background-color-1)"},o.default.createElement(qq,{title:dB("asthma-log-entry-editor-view-triggers-title"),subtitle:dB("asthma-log-entry-editor-view-select-all-subtitle"),values:[dB("asthma-trigger-cold-illness"),dB("asthma-trigger-animal-exposure"),dB("asthma-trigger-seasonal-allergens"),dB("asthma-trigger-smoke"),dB("asthma-trigger-weather-changes"),dB("asthma-trigger-air-pollution"),dB("asthma-trigger-strong-smells"),dB("asthma-trigger-chemicals"),dB("asthma-trigger-dust"),dB("asthma-trigger-mold"),dB("asthma-trigger-dust-mites"),dB("asthma-trigger-rodents"),dB("asthma-trigger-cockroaches"),dB("asthma-trigger-nsaid"),dB("asthma-trigger-beta-blocker"),dB("asthma-trigger-heartburn"),dB("asthma-trigger-red-wine"),dB("asthma-trigger-new-foods"),dB("asthma-trigger-cooked-without-ventilation"),dB("asthma-trigger-pet-in-bed"),dB("asthma-trigger-incense-or-candle")],selectedValues:lH(s.triggers),variant:"checkboxes",multiSelect:!0,onChange:e=>{return t=e,void c(Object.assign(Object.assign({},s),{triggers:uH(t)}));var t}}))))},exports.AsthmaLogEntryHeader=function(t){let[n,r]=e.useState(!0),[i,a]=e.useState(!0),[s,c]=e.useState(),[u,h]=e.useState();if(dU((()=>{if(a(!0),"loading"!==t.previewState)return t.previewState?(c(ZU[t.previewState].yesterdayLogEntry),h(ZU[t.previewState].todayLogEntry),a(!1),void r(!1)):void LU.loadLogEntries(Dn(new Date,{days:-3})).then((e=>{let t=Rn(new Date),n=Jq(t);h(e.find((e=>e.identifier===n)));let i=Rn(Dn(new Date,{days:-1})),o=Jq(i);c(e.find((e=>e.identifier===o))),a(!1),r(!1)}))}),["surveyDidFinish"],[t.previewState]),n)return null;const f=(e,n,r)=>o.default.createElement(d,{className:"mdhui-asthma-log-entry-summary",onClick:()=>((e,n)=>{t.previewState||i||(n?l.default.openApplication(t.dayViewUrl+"?date="+n.identifier,{modal:!0}):l.default.startSurvey(e))})(n,r)},o.default.createElement("div",{className:"mdhui-asthma-log-entry-summary-details"},o.default.createElement("div",{className:"mdhui-asthma-log-entry-summary-label"},e),o.default.createElement("div",{className:"mdhui-asthma-log-entry-summary-status"},(e=>e?rH(e.symptomLevel):dB("asthma-log-entry-header-not-logged-yet"))(r))),o.default.createElement("div",{className:"mdhui-asthma-log-entry-summary-action"},i&&o.default.createElement(yn,null),!i&&!r&&o.default.createElement("div",{className:"mdhui-asthma-log-entry-summary-add-button"},dB("asthma-log-entry-header-add-button-text")),!i&&r&&o.default.createElement(Bq,{icon:fn,className:"mdhui-asthma-log-entry-summary-chevron"})));return o.default.createElement("div",{className:"mdhui-asthma-log-entry-header",ref:t.innerRef},f(dB("asthma-log-entry-header-today-log-label"),t.logTodayEntrySurveyName,u),f(dB("asthma-log-entry-header-yesterday-log-label"),t.logYesterdayEntrySurveyName,s))},exports.AsthmaParticipant=Qq,exports.AsthmaPostEnrollmentSurveyTrigger=function(e){const t=()=>{LU.checkSurveyAnswerExists(e.logTodayEntrySurveyName).then((t=>{t||l.default.queryDeviceData({namespace:"Project",type:"LogAutoLaunched"}).then((t=>{t.deviceDataPoints.length||l.default.persistDeviceData([{type:"LogAutoLaunched",value:(new Date).toISOString()}]).then((()=>{l.default.startSurvey(e.logTodayEntrySurveyName)}))}))}))};return dU((()=>{e.previewState||LU.loadSurveyAnswers([e.postEnrollmentSurveyName,e.postEnrollmentMobileSurveyName]).then((n=>{n.find((t=>t.surveyName===e.postEnrollmentSurveyName))?n.find((t=>t.surveyName===e.postEnrollmentMobileSurveyName))?t():l.default.getDeviceInfo().then((n=>{["iOS","Android"].includes(n.platform)?l.default.startSurvey(e.postEnrollmentMobileSurveyName):t()})):l.default.startSurvey(e.postEnrollmentSurveyName)}))})),null},exports.AsthmaProviderReport=JU,exports.AsthmaProviderReportView=function(e){return o.default.createElement(jt,{colorScheme:"light"},o.default.createElement(zB,{variant:"compressed",showCloseButton:!0},o.default.createElement(TB,{order:1},"Provider Report")),o.default.createElement(JU,{previewState:e.previewState,logEntrySurveyName:e.logEntrySurveyName}))},exports.AsthmaRecommendedArticle=function(t){const[n,r]=e.useState(),i=(e,n,r,i)=>({title:e,subTitle:n,url:new URL(`atedu_${r}.html`,t.libraryBaseUrl).href,imageUrl:new URL(`images/article_category_${i}.svg`,t.libraryBaseUrl).href});return dU((()=>{if("none"===t.previewState)return void r(void 0);if("default"===t.previewState)return void r({title:"Recommended Article Title",subTitle:"recommended article subtitle",imageUrl:WB});let e=Za();LU.loadLogEntries(Dn(new Date(e),{days:-10})).then((n=>{let a=Jq(e),o=n.find((e=>e.identifier===a));o&&LU.loadSurveyAnswers(t.logTodayEntrySurveyName,e).then((t=>{((e,t,n)=>{let a=[];"controlled"===t.status?a.push(i("How to keep your asthma under control","Stay symptom-free by adhering to your treatment plan, understanding triggers, and early recognition of changes in control.","21","asthmacontrol")):"not-determined"===t.status?a.push(i("Is your asthma under control?","4 questions to assess if your asthma is under control. If you're experiencing symptoms more than 2 times a week or if you are waking up at night from asthma symptoms - your asthma is not under control.","22","asthmacontrol")):"not-controlled"===t.status&&a.push(i("Taking charge of your asthma","When your asthma feels unmanageable, it's time to reassess your approach. Steps to take when your asthma is not under control.","25","asthmacontrol")),e.triggers.includes("Seasonal allergens/pollen")&&a.push(i("Asthma and Seasonal Allergens/Pollen","Navigate pollen season with ease: Identify your specific pollen triggers, understand their seasonal patterns, and learn how to minimize exposure.","42","triggers")),e.triggers.includes("Air pollution")&&a.push(i("Asthma and Air Quality","Understand that poor air quality can trigger asthma. Learn how to navigate high AQI days and what AQI levels mean.","43","triggers")),e.triggers.includes("Cold/viral illness")&&a.push(i("Asthma and Respiratory Infections","Respiratory infections are common asthma triggers. How to prevent them and what to do when they occur.","43a","triggers")),e.triggers.includes("Animal exposure")&&a.push(i("Asthma and Animals","Animals/Pets can be a trigger for asthma. Learn about how to diagnose an animal/pet allergy and steps to reduce the impact.","43b","triggers")),e.triggers.includes("Smoke (tobacco or wood burning)")&&a.push(i("Asthma and Smoke","Wildfires and tobacco smoke can trigger asthma. Learn about steps you can take to reduce your exposure.","43c","triggers")),e.triggers.includes("Extreme weather changes")&&a.push(i("Asthma and Weather","Common weather triggers are cold air, hot and humid air, and rain/thunderstorms. Explore why these can trigger asthma.","43d","triggers")),(e.triggers.includes("Strong smells")||e.triggers.includes("Chemicals/cleaning supplies"))&&a.push(i("Strong Smells and Chemicals/Cleaning Supplies","Discover what smells may trigger your asthma and things to think about while cleaning.","43e","triggers")),(e.triggers.includes("Dust")||e.triggers.includes("Dust mites"))&&a.push(i("Asthma and Dust/Dust Mites","Dust is a common asthma trigger, but the reason it is a trigger may surprise you! ","43f","triggers")),e.triggers.includes("Mold")&&a.push(i("Asthma and Mold","Mold needs moisture to grow, so is typically found in damp or wet places. Learn how to prevent mold in your house.","43g","triggers")),e.triggers.includes("Had heartburn")&&a.push(i("Asthma and Heartburn","What is heartburn and what does it have to do with asthma?","43h","triggers"));const o=["Taken a NSAID (non-steroidal anti-inflammatory drugs including aspirin and ibuprofen)","Taken a beta blocker","Had heartburn","Drank red wine","Tried any new foods","Cooked without a fan or open window","Had a pet sleep in your bed","Burned incense or a candle"];e.triggers.find((e=>o.includes(e)))&&a.push(i("Surprise triggers","Uncover unexpected asthma triggers lurking in your daily life, from NSAIDs (like ibuprofen) to your glass of wine. Knowing what to look for, may help you identify these surprise triggers.","41","triggers"));let s=n.find((e=>"MISSED_DOSES"===e.stepIdentifier));if(s&&(s.answers.includes("No controller med")&&a.push(i("Who needs a controller medication?","Discover the crucial role of controller medications in maintaining asthma under control.","32","medications")),s.answers.includes("No missed doses"))){let e=n.find((e=>"MISSED_DOSES_INHALER_TYPE"===e.stepIdentifier));e&&(e.answers.includes("Metered-dose inhaler (MDI)")&&a.push(i("Inhaler technique - MDI","Metered dose inhaler (MDI) technique tips. Without the right technique, you may be only getting part of the dose.","37a","medications")),e.answers.includes("Dry-powder inhaler (DPI)")&&a.push(i("Inhaler technique - DPI","Dry Powder inhaler (DPI) technique tips. Without the right technique, you may be only getting part of the dose.","37b","medications")),e.answers.includes("Soft mist inhaler")&&a.push(i("Inhaler technique - SMI","Soft Mist Inhaler (SMI) technique tips. Without the right technique, you may be only getting part of the dose.","37c","medications")),e.answers.includes("Nebulizer")&&a.push(i("Inhaler technique - nebulizer","Nebulizer technique tips.","37d","medications")))}let c=n.find((e=>"MISSED_DOSES_REASONS"===e.stepIdentifier));c&&((c.answers.includes("Unable to afford the medications")||c.answers.includes("Don't want to run out, so purposefully skipping doses"))&&a.push(i("Medication access","For when cost is a barrier to medications, learn about free or low-cost medications. Taking medications as prescribed is important to maintaining asthma control.","33","medications")),c.answers.includes("Difficulty getting refills")&&a.push(i("Medication refills","Stay on top of your asthma medication with easy refill strategies.","34","medications")),c.answers.includes("Trouble remembering to take them")&&a.push(i("Trouble remembering medications","Discover simple yet effective strategies to remember your daily doses, from smart storage tips to leveraging app reminders.","35","medications")),c.answers.includes("I'm confused which inhaler to take when")&&a.push(i("Which inhaler to use when","Master your asthma management: Rescue inhaler works quickly to relieve symptoms while a controller is preventative and works by reducing inflammation, typically by being taken daily.","36","medications")),c.answers.includes("Don't know why I should take it")&&a.push(i("Why should I take my controller?","Understand the critical role of controller medications and why they're a cornerstone of your personalized management plan.","38","medications")),c.answers.includes("Concerns over side effects")&&a.push(i("Asthma medication side effects","Learn how to identify common and uncommon side effects, and the simple steps you can take to avoid the common side effect - thrush (fungal infection in your mouth).","39","medications")),c.answers.includes("Medications not working")&&a.push(i("How do I know if my asthma medications are working?","Controller medications can take days to weeks to reach full impact. Track your symptoms daily to see if there is an improvement and if there isn't, talk to your provider.","39a","medications"))),"severe"===e.symptomLevel&&a.push(i("Navigating the Danger Zone: Preparedness for Asthma Flare-Ups","Recognize severe symptoms like intense coughing and breathlessness early, and activate your tailored asthma action plan including immediate medications.","24","asthmacontrol")),a.length>0?r(a[Math.floor(Math.random()*a.length)]):r(void 0)})(o,eH(n,e),t)}))}))}),[],[t.previewState]),n?o.default.createElement("div",{className:"mdhui-asthma-recommended-article",style:t.style},o.default.createElement(VB,{title:n.title,subTitle:n.subTitle,imageUrl:n.imageUrl,imageAlignment:t.imageAlignment,buttonVariant:t.buttonVariant,buttonText:t.buttonText,onClick:()=>{t.previewState||l.default.openEmbeddedUrl(n.url)},innerRef:t.innerRef})):null},exports.AsthmaSleepView=function(t){var n;const[r,i]=e.useState();let a;return"default"===t.previewState&&(a=(e,t)=>WH(e,t,0,15)),dU((()=>{"default"!==t.previewState?LU.loadParticipant().then((e=>{i(e.getSleepDisturbancesBaseline())})):i(5)})),o.default.createElement(jt,{colorScheme:null!==(n=t.colorScheme)&&void 0!==n?n:"auto",bodyBackgroundColor:"var(--mdhui-background-color-0)"},o.default.createElement(zB,{variant:"compressed",showCloseButton:!0,backgroundColor:"var(--mdhui-background-color-0)"},o.default.createElement(TB,{order:1},dB("asthma-sleep-view-title"))),o.default.createElement(sG,{previewState:"default"===t.previewState?"loaded with data":void 0,previewDataProvider:a,title:dB("asthma-sleep-view-chart-title"),dailyDataType:exports.AsthmaDailyDataType.SleepDisturbances,highlight:e=>!!r&&!gH(r,e),emptyDomain:[0,16]}),"SleepDisturbances"===t.alert&&o.default.createElement(FU,{previewState:t.previewState?"loaded":void 0,message:dB("asthma-sleep-view-alert-message"),logEntrySurveyName:t.logEntrySurveyName}))},exports.BlankView=function(e){var t;return o.default.createElement(jt,{bodyBackgroundColor:e.bodyBackgroundColor,colorScheme:null!==(t=e.colorScheme)&&void 0!==t?t:"auto",primaryColor:e.primaryColor},(e.showBackButton||e.showCloseButton)&&o.default.createElement(zB,{title:e.title,showBackButton:e.showBackButton,showCloseButton:e.showCloseButton,subtitle:e.subtitle,titleColor:e.titleColor,subtitleColor:e.subtitleColor,buttonColor:e.navigationBarButtonColor}),!(e.showBackButton||e.showCloseButton)&&o.default.createElement(o.default.Fragment,null,o.default.createElement(aF,null),o.default.createElement(Hq,{title:e.title,subtitle:e.subtitle,titleColor:e.titleColor,subtitleColor:e.subtitleColor})),e.children)},exports.BloodPressureVisualization=function(t){var n,r;const i={yRange:{values:[0,250]},yIncrement:50,xIncrement:80/7},[a,s]=e.useState(void 0),c=e.useContext(_B);let l=null!==(n=null==c?void 0:c.intervalStart)&&void 0!==n?n:xB(null!==(r=t.weekStartsOn)&&void 0!==r?r:"Monday");function u(e){var t=new Map;return e.forEach((e=>{const n=e.date.toString();var r=t.get(n);r?r.push(e):t.set(n,[e])})),t}function h(e,t){const n=d(e),r=f(t);return n===oV.Normal&&r===oV.Normal?OB["mdhui-dumbbell-in-range"]:OB["mdhui-dumbbell-out-of-range"]}function d(e){return e<90?oV.Low:e>=90&&e<=119?oV.Normal:e>=120&&e<=129?oV.Elevated:e>=130&&e<=139?oV["Stage 1"]:e>=140&&e<=180?oV["Stage 2"]:e>180?oV.Crisis:oV.Unknown}function f(e){return e<60?oV.Low:e>=60&&e<=79?oV.Normal:e>=80&&e<=89?oV["Stage 1"]:e>=90&&e<=120?oV["Stage 2"]:e>120?oV.Crisis:oV.Unknown}function p(e){const t=function(e){let t={averageDiastolicAlertClass:"",averageSystolicAlertClass:"",minSystolicAlertClass:"",maxSystolicAlertClass:""};if(!e||0===e.length)return t;let n=e.map((e=>e.diastolic)),r=n.reduce(((e,t)=>e+t))/n.length;r=Math.round(r);let i=f(r),a=e.map((e=>e.systolic)),o=a.reduce(((e,t)=>e+t))/a.length;o=Math.round(o);let s=d(o);t.averageSystolic=o,t.averageSystolicAlert=oV[s],t.averageSystolicAlertClass=s===oV.Normal?"mdhui-blood-pressure-metric-normal":"mdhui-blood-pressure-metric-not-normal",t.averageDiastolic=r,t.averageDiastolicAlert=oV[i],t.averageDiastolicAlertClass=i===oV.Normal?"mdhui-blood-pressure-metric-normal":"mdhui-blood-pressure-metric-not-normal";let c=Math.max(...a);t.maxSystolic=Math.round(c);let l=d(c);t.maxSystolicAlert=oV[l],t.maxSystolicAlertClass=l===oV.Normal?"mdhui-blood-pressure-metric-normal":"mdhui-blood-pressure-metric-not-normal";let u=Math.min(...a);return t.minSystolic=Math.round(u),l=d(u),t.minSystolicAlert=oV[l],t.minSystolicAlertClass=l===oV.Normal?"mdhui-blood-pressure-metric-normal":"mdhui-blood-pressure-metric-not-normal",t}(e);return o.default.createElement("div",{className:"mdhui-blood-pressure-metrics"},o.default.createElement("div",{className:"mdhui-blood-pressure-metrics-rows"},m(dB("systolic-average"),t.averageSystolicAlert,t.averageSystolicAlertClass,t.averageSystolic),m(dB("diastolic-average"),t.averageDiastolicAlert,t.averageDiastolicAlertClass,t.averageDiastolic)),o.default.createElement("div",{className:"mdhui-blood-pressure-metrics-rows"},m(dB("highest-systolic"),t.maxSystolicAlert,t.maxSystolicAlertClass,t.maxSystolic),m(dB("lowest-systolic"),t.minSystolicAlert,t.minSystolicAlertClass,t.minSystolic)))}function m(e,t,n,r){return o.default.createElement("div",{className:"mdhui-blood-pressure-metrics-block"},o.default.createElement("div",{className:"mdhui-blood-pressure-metric-value"},null!=r?r:"--"," ",o.default.createElement("span",{className:"mdhui-blood-pressure-units"},"mm HG")),o.default.createElement("div",{className:"mdhui-blood-pressure-metric-description"},e),o.default.createElement("div",{className:n},null!=t?t:"No data yet"))}function g(e){const t=Math.min(...e),n={values:[t]};var r=t;return e.length>1&&(r=Math.max(...e)),n.values.push(r),n}function b(e,t){const n=t.map((e=>e.systolic)),r=g(n),i=n.reduce(((e,t)=>e+t))/n.length,a=t.map((e=>e.diastolic)),o=g(a),s=a.reduce(((e,t)=>e+t))/a.length;return{dataPoint:{dataSet1:o,dataSet2:r},xValue:Wr(e,"MM/dd"),class:h(i,s)}}return l=Rn(l),dU((function(){var e;return Yq(this,void 0,void 0,(function*(){if("Loading"!==t.previewState)if(["Default","NoData"].includes(null!==(e=t.previewState)&&void 0!==e?e:"")){const e="Default"===t.previewState?sV:[];s(u(e))}else uU(t.surveyDataSource,t.deviceDataSource).then((e=>{s(u(e))}))}))}),[],[t.previewState,t.weekStartsOn]),a?function(e){var n;const r=Cn(e,6);var s=[];const c=[];for(let t=e;t<=r;t.setDate(t.getDate()+1)){var l=Rn(t),u=null!==(n=null==a?void 0:a.get(l.toString()))&&void 0!==n?n:[];u.length>0?(s.push(...u),c.push(b(l,u))):c.push({xValue:Wr(l,"MM/dd")})}const h=p(s);return o.default.createElement("div",{ref:t.innerRef},o.default.createElement(MB,{dumbbells:c,axis:i}),h)}(l):o.default.createElement(yn,{innerRef:t.innerRef})},exports.Button=vn,exports.Calendar=ys,exports.CalendarDay=vs,exports.Card=xs,exports.CardTitle=ks,exports.CelebrationStep=NEe,exports.CelebrationStepContainer=function(){const[t,n]=e.useState(),[r,i]=e.useState(),[a,s]=e.useState(),[c,u]=e.useState(),[h,d]=e.useState(),[f,p]=e.useState(),[m,g]=e.useState({});return e.useEffect((()=>{l.default.getStepConfiguration().then((function(e){var t;e&&(n(e.properties.title),i(e.properties.text),s(e.properties.detailText),u(e.properties.iconImage),d(e.properties.image),p(e.properties.nextButtonText),g(null!==(t=e.styles)&&void 0!==t?t:{}))}))}),[]),o.default.createElement(NEe,{title:t,text:r,detailText:a,iconUrl:c,imageUrl:h,nextButtonText:f,styles:m})},exports.ConditionsList=cV,exports.ConditionsView=m_e,exports.ConnectDeviceAccountStep=LEe,exports.ConnectDeviceAccountStepContainer=function(t){const[n,r]=e.useState(),[i,a]=e.useState(),[s,c]=e.useState({}),[u,h]=e.useState(t.deviceType),[d,f]=e.useState(!0);function p(e){switch(e){case"Fitbit":return lV();case"Omron":return hV();case"Garmin":return uV()}}function m(e){return Yq(this,void 0,void 0,(function*(){try{const t=yield l.default.getExternalAccounts(),n=p(e);t.some((e=>e.provider.id===n))&&l.default.completeStep(n)}finally{f(!1)}}))}return e.useEffect((()=>{l.default.getStepConfiguration().then((function(e){var t;if(e){if(r(e.properties.title),a(e.properties.text),!e.properties.deviceType)throw new Error("deviceType is required");h(e.properties.deviceType),c(null!==(t=e.styles)&&void 0!==t?t:{}),m(e.properties.deviceType)}else m(u)}))}),[]),d?o.default.createElement(o.default.Fragment,null):o.default.createElement(LEe,{title:n,text:i,deviceType:u,providerID:p(u),styles:s,onConnect:function(){const e=p(u);l.default.connectExternalAccount(e,{openNewWindow:!0}).then((function(){l.default.completeStep(e)}))}})},exports.ConnectDevicesMenu=wV,exports.ConnectEhr=AV,exports.ConnectEhrStep=REe,exports.ConnectEhrStepContainer=function(){const[t,n]=e.useState(),[r,i]=e.useState(),[a,s]=e.useState(),[c,u]=e.useState(),[h,d]=e.useState(!0),[f,p]=e.useState({}),[m,g]=e.useState([]);return e.useEffect((()=>{l.default.getStepConfiguration().then((function(e){var t;e&&(n(e.properties.title),i(e.properties.text),u(e.properties.nextButtonText),p(null!==(t=e.styles)&&void 0!==t?t:{}))})),l.default.getSurveyContext().then((function(e){e&&s(e)}))}),[]),o.default.createElement(REe,{title:t,text:r,nextButtonText:c,nextButtonDisabled:h,styles:f,onProviderConnected:function(e){g((t=>[...t,e.id])),d(!1)},previewState:"Design"===(null==a?void 0:a.surveyMode)?"Default":void 0,onNextButtonClick:()=>l.default.completeStep(m.toString())})},exports.ConnectEhrView=function(e){var t;let n="",r=[];return e.excludeProviders||(r.push("Provider"),n+=dB("connect-ehr-title-providers")),e.excludeHealthPlans||(r.push("Health Plan"),n.length>0&&(n+=dB("connect-ehr-title-divider")),n+=dB("connect-ehr-title-health-plans")),n=dB("connect-ehr-title-prefix")+n,o.default.createElement(jt,{colorScheme:null!==(t=e.colorScheme)&&void 0!==t?t:"auto"},e.presentation&&o.default.createElement(zB,{title:n,showBackButton:"Push"==e.presentation,showCloseButton:"Modal"==e.presentation}),!e.presentation&&o.default.createElement(aF,null),o.default.createElement(oF,null,dB("ehr-intro")),o.default.createElement(xs,null,o.default.createElement(gW,{previewState:e.preview?"Default":void 0,applicationUrl:e.externalAccountsApplicationUrl,excludeProviders:e.excludeProviders,excludeHealthPlans:e.excludeHealthPlans,excludeDeviceManufacturers:!0})),o.default.createElement(xs,null,o.default.createElement(oG,{previewState:e.preview?"Default":void 0,providerCategories:r})))},exports.ConnectFitbit=OV,exports.ConnectGarmin=DV,exports.DailyDataChart=function(t){let[n,r]=e.useState(null),[i,a]=e.useState(!1);const s=e.useContext(_B);let c,u=t.intervalType||"Month";s?(u="6Month"===s.intervalType?"Month":"Day"===s.intervalType?"Week":s.intervalType,c=s.intervalStart):c=EB(u,t.weekStartsOn);let h="Week"===u?Dn(c,{days:7}):"Month"===u?Dn(c,{months:1}):c;function d(){r(null),t.previewDataProvider?t.previewDataProvider(c,h).then((e=>{r(e)})):oU(t.dailyDataType,c,h,!!t.previewState).then((e=>{r(e)}))}e.useEffect((()=>{function e(){t.previewDataProvider?a(!0):aU(t.dailyDataType).then((function(e){a(e)}))}return e(),l.default.on("applicationDidBecomeVisible",e),l.default.on("externalAccountSyncComplete",e),()=>{l.default.off("applicationDidBecomeVisible",e),l.default.off("externalAccountSyncComplete",e)}}),[t.dailyDataType]),e.useEffect((()=>(d(),l.default.on("applicationDidBecomeVisible",d),l.default.on("externalAccountSyncComplete",d),()=>{l.default.off("applicationDidBecomeVisible",d),l.default.off("externalAccountSyncComplete",d)})),[t.intervalType,t.weekStartsOn,s]);var f=[],p=!1;if(n?Object.keys(n).forEach((e=>{const r=za(e,"yyyy-MM-dd",new Date);var i={timestamp:r.getTime()};f.push(i);var a=yH(r);if(i.value=n[a],i.rawValue=i.value,i.date=r,t.valueConverter)i.value=t.valueConverter(i.value);else{let e=cU(t.dailyDataType).yAxisConverter;e&&(i.value=e(i.value))}p=!0})):f=void 0,!i&&t.hideIfNoData)return null;const[m,g]=function(){var e;if("Line"===t.chartType){const e=t.options;return[[{dataKey:"value",color:null==e?void 0:e.lineColor}],{domainMin:null==e?void 0:e.domainMin}]}if("Area"===t.chartType){const e=t.options;return[[{dataKey:"value",color:null==e?void 0:e.lineColor,areaColor:null==e?void 0:e.areaColor}],void 0]}if("Bar"===t.chartType){const n=t.options;return[[{dataKey:"value",color:null==n?void 0:n.barColor}],{thresholds:null===(e=null==n?void 0:n.thresholds)||void 0===e?void 0:e.map((e=>({value:e.value,overThresholdColor:e.overThresholdBarColor,referenceLineColor:e.referenceLineColor})))}]}return[[],void 0]}();return o.default.createElement(nB,{title:t.title,intervalType:u,intervalStart:c,data:f,expectedDataInterval:{days:1},chartHasData:p,series:m,tooltip:({active:e,payload:n,label:r})=>{if(e&&n&&n.length){var i=n[0].payload.date;let e=t.valueFormatter||cU(t.dailyDataType).formatter;return o.default.createElement("div",{className:"mdhui-time-series-tooltip"},o.default.createElement("div",{className:"mdhui-single-value-tooltip-value"},e?e(n[0].payload.rawValue):n[0].payload.value),o.default.createElement("div",{className:"mdhui-time-series-tooltip-date"},Wr(i,"MM/dd/yyyy")))}return null},chartType:t.chartType,options:g,innerRef:t.innerRef})},exports.DataChart=nB,exports.DateRangeContext=_B,exports.DateRangeCoordinator=AB,exports.DateRangeNavigator=vB,exports.DateRangeTitle=function(t){let n=e.useContext(_B);return n||(n={intervalStart:Rn(new Date),intervalType:"Day"}),o.default.createElement(TB,{defaultMargin:t.defaultMargin,order:t.order||3,color:t.color,style:t.style,innerRef:t.innerRef},yB(n.intervalType,n.intervalStart,"long"))},exports.DayTrackerSymbol=CB,exports.DeviceDataMonthChart=IV,exports.DeviceDataMonthCharts=PV,exports.DeviceDataView=function(e){var t;return o.default.createElement(jt,{colorScheme:null!==(t=e.colorScheme)&&void 0!==t?t:"auto"},o.default.createElement(aF,null),o.default.createElement(xs,{allowOverflow:!0},o.default.createElement(PV,{previewState:e.preview?"Default":void 0})),o.default.createElement(xs,null,o.default.createElement(CW,{previewState:e.preview?"connected":void 0})),o.default.createElement(xs,null,o.default.createElement(IW,{previewState:e.preview?"connected":void 0})),o.default.createElement(xs,null,o.default.createElement(wV,{previewState:e.preview?"Web":void 0})))},exports.DumbbellChart=MB,exports.EhrNewsFeed=nW,exports.EhrNewsFeedEventDetail=iW,exports.EhrNewsFeedEventDetailView=b_e,exports.EhrNewsFeedView=g_e,exports.ExternalAccountConnectionAlert=uW,exports.ExternalAccountList=dW,exports.ExternalAccountsLoadingIndicator=pW,exports.ExternalAccountsPreview=gW,exports.ExternalAccountsView=y_e,exports.Face=jB,exports.FitbitDevices=CW,exports.FitbitMonthCharts=DW,exports.FitbitView=function(t){var n,[r,i]=e.useState(!1);return e.useEffect((()=>{l.default.connect().then((()=>{i(!0)}))}),[]),o.default.createElement(jt,{colorScheme:null!==(n=t.colorScheme)&&void 0!==n?n:"auto"},o.default.createElement(aF,null),r&&o.default.createElement(o.default.Fragment,null,o.default.createElement(xs,null,o.default.createElement(OV,{previewState:t.connectPreview,disabledBehavior:"displayError"})),o.default.createElement(xs,null,o.default.createElement(CW,{previewState:t.devicesPreview})),o.default.createElement(xs,{allowOverflow:!0},o.default.createElement(DW,{previewState:t.chartsPreview}))),!r&&o.default.createElement(yn,null))},exports.GarminDevices=IW,exports.GarminMonthCharts=PW,exports.GarminView=function(t){var[n,r]=e.useState(!1);return e.useEffect((()=>{l.default.connect().then((()=>{r(!0)}))}),[]),o.default.createElement(jt,null,o.default.createElement(aF,{color:"var(--main-bg-color)"}),n&&o.default.createElement(o.default.Fragment,null,o.default.createElement(xs,null,o.default.createElement(DV,{previewState:t.connectPreview,garminProviderID:t.garminProviderID,disabledBehavior:"displayError"})),o.default.createElement(xs,null,o.default.createElement(IW,{previewState:t.devicesPreview})),o.default.createElement(xs,{allowOverflow:!0},o.default.createElement(PW,{previewState:t.chartsPreview}))),!n&&o.default.createElement(yn,null))},exports.HealthAndWellnessView=function(e){var t,n;function r(){l.default.openApplication("https://hw.careevolutionapps.com/LabReports.html?lang="+l.default.getCurrentLanguage())}function i(e){var t=new URLSearchParams({termFamily:e.TermFamily,termNamespace:e.TermNamespace,termCode:e.TermCode,lang:l.default.getCurrentLanguage()}).toString();l.default.openApplication("https://hw.careevolutionapps.com/TermInformation.html?"+t,{modal:!0})}let a=null!==(t=e.variant)&&void 0!==t?t:"default";function s(t){var n=function(){return o.default.createElement(jW,{concept:t,onClick:()=>function(e){l.default.openApplication("https://hw.careevolutionapps.com/"+e+".html")}(t),previewState:"default"==e.previewState?"Default":void 0,indicatorPosition:"cardBased"==a?"topRight":"default"})};return"cardBased"==e.variant?o.default.createElement(xs,null,n()):n()}return o.default.createElement(jt,{colorScheme:null!==(n=e.colorScheme)&&void 0!==n?n:"auto"},o.default.createElement(aF,null),o.default.createElement(pW,{previewState:"default"==e.previewState?"externalAccountsLoaded":void 0,externalAccountCategories:["Provider","Health Plan"]}),"default"==a&&o.default.createElement(YB,{noTopMargin:!0},o.default.createElement(WW,{onViewTermInfo:e=>i(e),onClick:()=>r(),previewState:"default"==e.previewState?"ImportantLabs":void 0}),o.default.createElement(qW,{previewState:"default"==e.previewState?"BloodTypeLabs":void 0}),s("Medications"),s("Immunizations"),s("Reports"),s("Allergies"),s("Conditions"),s("Procedures"),o.default.createElement(gW,{excludeDeviceManufacturers:!0,applicationUrl:e.externalAccountsApplicationUrl,previewState:"default"==e.previewState?"Default":void 0})),"cardBased"==a&&o.default.createElement(o.default.Fragment,null,o.default.createElement(xs,null,o.default.createElement(WW,{onViewTermInfo:e=>i(e),onClick:()=>r(),previewState:"default"==e.previewState?"ImportantLabs":void 0})),o.default.createElement(xs,null,o.default.createElement(qW,{previewState:"default"==e.previewState?"BloodTypeLabs":void 0})),s("Medications"),s("Immunizations"),s("Reports"),s("Allergies"),s("Conditions"),s("Procedures"),o.default.createElement(xs,null,o.default.createElement(gW,{excludeDeviceManufacturers:!0,applicationUrl:e.externalAccountsApplicationUrl,previewState:"default"==e.previewState?"Default":void 0}))),o.default.createElement(xs,null,o.default.createElement(AV,{bottomBorder:!0,applicationUrl:e.connectEhrApplicationUrl,previewState:"default"==e.previewState?"enabledConnected":void 0})))},exports.HealthPreviewSection=jW,exports.Histogram=BB,exports.HomeView=function(e){var t,n="Push";return e.notificationType&&(n=e.notificationType),o.default.createElement(jt,{colorScheme:null!==(t=e.colorScheme)&&void 0!==t?t:"auto"},o.default.createElement(aF,{color:"#FFFFFF"}),o.default.createElement(xs,null,o.default.createElement(aV,{previewDevicePlatform:e.preview?"Web":void 0,previewProjectPlatforms:e.preview?["Web","Android","iOS"]:void 0})),o.default.createElement(xs,null,o.default.createElement(YW,{notificationType:n,onViewMore:e.notificationsViewUrl?()=>{e.notificationsViewUrl&&l.default.openApplication(e.notificationsViewUrl)}:void 0,previewState:e.preview?"Default":void 0,hideAfterHours:e.notificationHideAfterHours})),o.default.createElement(pG,{variant:"singleCard",status:"incomplete",limit:3,title:dB("tasks"),onDetailLinkClick:e.tasksViewUrl?()=>{e.tasksViewUrl&&l.default.openApplication(e.tasksViewUrl)}:void 0,previewState:e.preview?"IncompleteTasks":void 0}),o.default.createElement(xs,null,o.default.createElement(wV,{headerVariant:"medium",previewState:e.preview?"Web":void 0})),o.default.createElement(xs,null,e.ehrConnectApplicationUrl&&o.default.createElement(AV,{variant:"medium",previewState:e.preview?"enabled":void 0,applicationUrl:e.ehrConnectApplicationUrl})),o.default.createElement(xs,null,o.default.createElement(tG,{previewState:e.preview?"Default":void 0})))},exports.InboxCompletedListItem=Vq,exports.InboxHistoryView=function(e){var t;return o.default.createElement(jt,{colorScheme:null!==(t=e.colorScheme)&&void 0!==t?t:"auto"},o.default.createElement(zB,{showCloseButton:!0}),o.default.createElement("div",{className:"mdhui-inbox-history"},o.default.createElement(TB,{order:3},dB("inbox-history-view-title")),o.default.createElement(JX,{previewState:"default"===e.previewState?"complete items":void 0,status:"complete",messageViewerUrl:e.messageViewerUrl,emptyText:dB("inbox-history-view-empty-text")})))},exports.InboxItemList=JX,exports.InboxItemListCoordinator=ZX,exports.InboxMessageListItem=Wq,exports.InboxMessageView=function(t){var n;const[r,i]=e.useState();return e.useEffect((()=>{t.previewState?i(t.previewState):l.default.queryDeviceData({namespace:"Project",type:"MDHUI-InboxMessage"}).then((e=>{if(e.deviceDataPoints.length>0){let t=e.deviceDataPoints[0].value;YX.loadInboxItem(t).then((e=>{e&&"message"===e.type?i(e):l.default.dismiss()}))}else l.default.dismiss()}))}),[t.previewState]),o.default.createElement(jt,{colorScheme:null!==(n=t.colorScheme)&&void 0!==n?n:"auto"},o.default.createElement(zB,{showCloseButton:!0}),!r&&o.default.createElement(yn,null),r&&o.default.createElement("div",{className:"mdhui-inbox-message"},o.default.createElement(TB,{order:3},r.title),o.default.createElement("div",{className:"mdhui-inbox-message-content",dangerouslySetInnerHTML:{__html:r.content}}),r.relatedResources&&r.relatedResources.length>0&&o.default.createElement("div",{className:"mdhui-inbox-message-related-resources"},o.default.createElement(TB,{order:4},dB("inbox-message-view-related-resources-title")),r.relatedResources.map(((e,n)=>o.default.createElement(VB,{key:n,imageUrl:e.imageUrl,title:e.title,subTitle:e.subTitle,imageAlignment:t.resourceImageAlignment,buttonText:t.resourceButtonText,onClick:()=>(e=>{t.previewState||l.default.openEmbeddedUrl(e.url)})(e)}))))))},exports.InboxResourceListItem=Gq,exports.InboxSurveyListItem=Kq,exports.InboxView=function(e){var t;return o.default.createElement(jt,{colorScheme:null!==(t=e.colorScheme)&&void 0!==t?t:"auto"},o.default.createElement(ZX,null,o.default.createElement(w_e,Object.assign({},e))))},exports.LabResultsBloodType=qW,exports.LabResultsSummary=WW,exports.Layout=jt,exports.LayoutContext=Rt,exports.LoadingIndicator=yn,exports.MedicationsList=GW,exports.MedicationsView=v_e,exports.MonthlyEventMatrix=FB,exports.MostRecentNotification=YW,exports.MyDataHelpsAssistant=function(t){const[n,r]=e.useState(""),[i,a]=e.useState([]),[s,c]=e.useState(""),[l,u]=e.useState(!0),h=e.useRef(),d=e.useRef(null);e.useEffect((()=>{void 0===h.current&&(h.current=new ixe),xie.initialize({startOnLoad:!1})}),[]),e.useEffect((()=>{d.current&&(d.current.scrollTop=d.current.scrollHeight)}),[i]);const f=function(){var e;return Yq(this,void 0,void 0,(function*(){console.log("Calling renderMermaid");let t=null===(e=null==d?void 0:d.current)||void 0===e?void 0:e.querySelectorAll(".language-mermaid");t&&t.length>0&&(t.forEach((e=>e.removeAttribute("data-processed"))),console.log("Mermaid run"),yield xie.run({nodes:t,suppressErrors:!0}))}))},p=function(){var e;return Yq(this,void 0,void 0,(function*(){let i=n;a((e=>[...e,{type:"user",content:i}])),r(""),yield null===(e=h.current)||void 0===e?void 0:e.ask(i,(function(e){var n;const[r,i]=e.event.split("_").slice(1);if("stream"===i&&"chain"!==r){let r=(null===(n=e.data)||void 0===n?void 0:n.chunk).message;r.content&&"string"==typeof r.content?m(e.run_id,r.content):t.debug&&r.tool_call_chunks&&r.tool_call_chunks.length>0&&(r.tool_call_chunks[0].args?m(e.run_id,r.tool_call_chunks[0].args):r.tool_call_chunks[0].name&&m(e.run_id,r.tool_call_chunks[0].name+" "))}"tool"===r&&("start"===i?c(`Calling ${e.name}...`):"end"===i&&c("")),"end"===i&&"llm"===r&&f()}))}))},m=function(e,t){a((n=>{let r=n.find((t=>t.runId===e));if(r){const i=Object.assign(Object.assign({},r),{content:r.content+t});return n.map((t=>t.runId===e?i:t))}return[...n,{type:"ai",content:t,runId:e}]}))};return o.default.createElement(o.default.Fragment,null,l&&o.default.createElement("div",{className:"mdh-assistant-collapsed"},o.default.createElement(y,{icon:rZ.faFlask,size:"lg",onClick:()=>Yq(this,void 0,void 0,(function*(){u(!1),yield f()}))})),!l&&o.default.createElement("div",{className:"mdh-assistant"},o.default.createElement("div",{className:"mdh-assistant-header"},o.default.createElement("div",null,o.default.createElement(y,{icon:rZ.faFlask}),"MyDataHelps Assistant"),o.default.createElement(y,{icon:aZ.faChevronDown,className:"collapse-button",onClick:()=>u(!0)})),o.default.createElement("div",{id:"log",ref:d},i&&i.map(((e,t)=>"user"===e.type?o.default.createElement("div",{className:"user-message",key:t},o.default.createElement(y,{icon:tZ.faUser}),o.default.createElement("p",null,e.content)):"ai"===e.type?o.default.createElement("div",{className:"ai-message",key:t},o.default.createElement(y,{icon:nZ.faGear}),o.default.createElement(V0,null,e.content)):void 0)),s&&o.default.createElement("div",{id:"loading"},o.default.createElement(y,{icon:iZ.faSpinner,spin:!0}),s)),o.default.createElement("div",{className:"input"},o.default.createElement("div",{className:"input-group"},o.default.createElement("input",{type:"text",id:"user-input",value:n,onChange:e=>{r(e.target.value)},onKeyDown:e=>{"Enter"===e.key&&p()}}),o.default.createElement("button",{type:"button",id:"send",onClick:p},o.default.createElement(y,{icon:eZ.faPaperPlane}))))))},exports.NavigationBar=zB,exports.NewPointsView=function(e){var t,n;let r=e.entries.reduce(((e,t)=>e+(t.bonusPoints||0)),0),i=e.entries.reduce(((e,t)=>e+t.points),r);return o.default.createElement(jt,{bodyBackgroundColor:"dark"===e.colorScheme?"":"#fff",colorScheme:null!==(t=e.colorScheme)&&void 0!==t?t:"auto",primaryColor:e.primaryColor},o.default.createElement("div",{className:"mdhui-new-points"},o.default.createElement(HB,{animate:!0},o.default.createElement("div",{className:"mdhui-new-points-total"},o.default.createElement("div",{className:"mdhui-new-points-total-points"},"+",i),o.default.createElement("div",{className:"mdhui-new-points-total-points-label"},"points"))),o.default.createElement("div",{className:"mdhui-new-points-content"},1==e.entries.length&&e.entries[0].message&&0===r&&o.default.createElement("div",null,o.default.createElement("div",{className:"mdhui-new-points-title"},e.entries[0].message.title),o.default.createElement("div",{className:"mdhui-new-points-text"},e.entries[0].message.text)),(e.entries.length>1||!e.entries[0].message||r>0)&&o.default.createElement("div",null,o.default.createElement("div",{className:"mdhui-new-points-title"},dB("new-points-title")),o.default.createElement("div",{className:"mdhui-new-points-text"},dB("new-points-text")),o.default.createElement("div",{className:"mdhui-new-points-entries"},e.entries.map(((e,t)=>o.default.createElement("div",{key:t,className:"mdhui-new-points-entry"},o.default.createElement("div",{className:"mdhui-new-points-entry-name"},e.name),o.default.createElement("div",{className:"mdhui-new-points-entry-points"},"+",e.points)))),r>0&&o.default.createElement("div",{className:"mdhui-new-points-entry"},o.default.createElement("div",{className:"mdhui-new-points-entry-name bonus"},"Bonus"),o.default.createElement("div",{className:"mdhui-new-points-entry-points bonus"},"+",r)))),e.pointsToNextReward&&o.default.createElement("div",{className:"mdhui-new-points-next-reward"},dB("new-points-next-reward-prefix"),o.default.createElement("span",{className:"mdhui-new-points-next-reward-points"},e.pointsToNextReward),dB("new-points-next-reward-suffix"))),o.default.createElement("div",{className:"mdhui-new-points-button-panel"},o.default.createElement(vn,{onClick:()=>l.default.dismiss()},null!==(n=e.doneButtonText)&&void 0!==n?n:dB("new-points-done-button-text")))))},exports.NotesInput=$B,exports.NotificationList=ZW,exports.NotificationsView=function(e){var t,n="Push";return e.notificationType&&(n=e.notificationType),o.default.createElement(jt,{colorScheme:null!==(t=e.colorScheme)&&void 0!==t?t:"auto"},e.presentation&&o.default.createElement(zB,{title:dB("notifications"),showBackButton:"Push"==e.presentation,showCloseButton:"Modal"==e.presentation}),!e.presentation&&o.default.createElement(aF,null),o.default.createElement(ZW,{notificationType:n,previewState:e.preview?"Default":void 0}))},exports.PlatformSpecificContent=nV,exports.ProgressBar=qB,exports.ProgressBarStep=function(t){let n=e.useContext(Rt),r="calc( var(--icon_size) / 2 - "+t.height+" / 2 - 4px)";return o.default.createElement("span",{style:{border:"2px solid",borderColor:v(null==n?void 0:n.colorScheme,t.borderColor),borderRadius:t.height,height:t.height,width:t.height,marginTop:r,backgroundColor:v(null==n?void 0:n.colorScheme,t.backgroundColor),padding:"4px 4px"}},t.children)},exports.ProgressRing=HB,exports.ProjectHeader=function(t){const[n,r]=e.useState(!0),[i,a]=e.useState(null);function s(){if("Default"==t.previewState)return a({name:"My Project Name",organization:{name:"My Organization Name",color:"#0076BE",logoUrl:"https://rkstudio.careevolution.com/inv/api/researchkit/organizationbrandingimage/1e1853a2-50d3-4e26-863d-d8546bce63e3"}}),void r(!1);l.default.getProjectInfo().then((function(e){a(e),r(!1)}))}e.useEffect((()=>(s(),l.default.on("applicationDidBecomeVisible",s),()=>{l.default.off("applicationDidBecomeVisible",s)})),[]);var c=null==i?void 0:i.organization.logoUrl;return c&&!(null==c?void 0:c.startsWith("http"))&&(c=l.default.baseUrl+(null==i?void 0:i.organization.logoUrl)),o.default.createElement("div",{ref:t.innerRef,className:"mdhui-project-header"},n&&o.default.createElement(yn,null),!n&&i&&o.default.createElement("div",null,o.default.createElement("div",{style:{backgroundImage:"url('"+c+"')"},className:"logo"}),o.default.createElement("div",{className:"project-info"},o.default.createElement("div",{className:"project-name",style:{color:i.organization.color}},i.name),o.default.createElement("div",{className:"organization-name"},i.organization.name))))},exports.ProjectSupport=tG,exports.ProviderSearch=oG,exports.RecentDailyDataBarChart=sG,exports.RelativeActivity=hG,exports.RelativeActivityDayCoordinator=function(t){const[n,r]=e.useState(null),[i,a]=e.useState(void 0),[s,c]=e.useState({intervalStart:Rn(new Date),intervalType:"Day"});return dU((()=>{!function(){if("default"===t.previewState)return void r(t.dataTypes);let e=t.dataTypes.map((e=>aU(e.dailyDataType)));Promise.all(e).then((e=>{let n=t.dataTypes.filter(((t,n)=>e[n]));r(n)}))}()}),["externalAccountSyncComplete"],[t.dataTypes,t.previewState]),o.default.createElement("div",{ref:t.innerRef},null===n&&o.default.createElement(yn,null),null!==n&&o.default.createElement(lG.Provider,{value:{dataTypes:n,data:i}},o.default.createElement(_B.Provider,{value:s},o.default.createElement(cG,{selectedDate:s.intervalStart,onDateSelected:e=>c(Object.assign(Object.assign({},s),{intervalStart:e})),dataTypes:n,previewState:t.previewState,onDataLoaded:e=>a(e)}),i&&t.children)))},exports.RelativeActivityDayNavigator=cG,exports.RelativeActivityToday=function(e){return o.default.createElement(hG,{date:Rn(new Date),dataTypes:e.dataTypes,previewState:e.previewState,title:e.title,innerRef:e.innerRef})},exports.Resource=VB,exports.ResourceList=KB,exports.ResourceListView=function(e){var t;return o.default.createElement(jt,{colorScheme:null!==(t=e.colorScheme)&&void 0!==t?t:"auto"},o.default.createElement(zB,{variant:"compressed",showCloseButton:!0},o.default.createElement(TB,{order:1},e.title)),o.default.createElement(KB,{previewState:e.previewState,resources:e.resources,onViewResource:t=>{e.previewState||l.default.openEmbeddedUrl(t.url)},emptyText:e.emptyText,imageAlignment:e.resourceImageAlignment,buttonVariant:e.resourceButtonVariant,buttonText:e.resourceButtonText}))},exports.RestingHeartRateCalendar=function(t){const[n,r]=e.useState(!1),[i,a]=e.useState({});var s=new Date(t.year,t.month,1,0,0,0,0),c=Dn(s,{months:1});function u(){var e,n;"NoData"!==t.showPreviewData&&("Loading"!==t.showPreviewData?(r(!0),(e=t.dataTypeSource,n=exports.DailyDataType.RestingHeartRate,"AppleHealth"==e&&(n=exports.DailyDataType.AppleHealthRestingHeartRate),"Fitbit"==e&&(n=exports.DailyDataType.FitbitRestingHeartRate),"Garmin"==e&&(n=exports.DailyDataType.GarminRestingHeartRate),oU(n,s,c,void 0!==t.showPreviewData).then((function(e){a(e)}))).then((()=>r(!1)))):r(!0))}return e.useEffect((()=>(u(),l.default.on("applicationDidBecomeVisible",u),l.default.on("externalAccountSyncComplete",u),()=>{l.default.off("applicationDidBecomeVisible",u),l.default.off("externalAccountSyncComplete",u)})),[t]),o.default.createElement("div",{ref:t.innerRef},n&&o.default.createElement(yn,null),!n&&o.default.createElement(ys,{year:t.year,month:t.month,dayRenderer:function(e,t,n){const r=function(e,t,n){if(void 0!==n){var r=yH(new Date(e,t,n));return i[r]}}(e,t,n);return void 0!==n?o.default.createElement("div",{className:"mdhui-calendar-day-with-data-value"},o.default.createElement("div",{className:"calendar-value"},r),o.default.createElement("div",{className:"calendar-day"},n)):o.default.createElement("div",null)}}))},exports.RotatingComponentCoordinator=function(t){let n=e.Children.toArray(t.children);if(0===n.length)return o.default.createElement("div",{ref:t.innerRef});let r,i=new Date,a=t.startDate;return ti(a,i)&&(a=i),r="month"===t.interval?Qn(i,a)%n.length:"week"===t.interval?function(e,t,n){An(2,arguments);var r=Vn(e,t)/7;return Yn(null==n?void 0:n.roundingMethod)(r)}(i,a)%n.length:Vn(i,a)%n.length,o.default.createElement("div",{ref:t.innerRef},n[r])},exports.Section=YB,exports.SegmentedControl=XB,exports.SeverityCalendar=function(t){var n,r;const i={surveyName:t.surveyName,resultIdentifier:t.dateRecordedResultIdentifier?[t.dateRecordedResultIdentifier,t.severityResultIdentifier]:[t.severityResultIdentifier]},[a,s]=e.useState(),c=e.useContext(_B);let l=null!==(r=null!==(n=null==c?void 0:c.intervalStart)&&void 0!==n?n:t.intervalStart)&&void 0!==r?r:Jn(new Date);function u(e){var n,r=new Map,i=function(e){var n=new Map;return e.forEach((e=>{var r=n.get(e.surveyResultID),i=null!=r?r:{dateObservedAnswer:void 0,severityAnswer:void 0};e.answers&&""!==e.answers[0]&&(e.resultIdentifier===t.severityResultIdentifier?i.severityAnswer=e:e.resultIdentifier===t.dateRecordedResultIdentifier&&(i.dateObservedAnswer=e),n.set(e.surveyResultID,i))})),n}(e);const a=null!==(n=t.severityValueMapper)&&void 0!==n?n:function(e){let t="";return["mild","moderate","severe"].includes(e.toLowerCase())&&(t=e.toLowerCase()),t};i.forEach((e=>{if(e.severityAnswer){var t=a(e.severityAnswer.answers[0]);if(t){let n=qa(e.dateObservedAnswer?e.dateObservedAnswer.answers[0]:e.severityAnswer.date),i=Wr(Rn(n),"MM/dd/yyyy"),a=r.get(i);a?e.severityAnswer.date>a.dateEntered&&(a.dateObserved=n,a.severity=t,a.dateEntered=e.severityAnswer.date):r.set(i,{dateObserved:n,severity:t,dateEntered:e.severityAnswer.date})}}})),s(r)}const h={mild:{style:{background:"#F7DA19"},streak:!0,streakColor:"#FDEF97"},moderate:{style:{background:"var(--mdhui-color-warning)"},streak:!0,streakColor:"#FCCCC7"},severe:{style:{background:"var(--mdhui-color-danger)"},streak:!0,streakColor:"#FCCCC7"}},d=e=>{var t,n;let r=Wr(Rn(e),"MM/dd/yyyy");return null!==(n=null===(t=null==a?void 0:a.get(r))||void 0===t?void 0:t.severity)&&void 0!==n?n:""},f=(e,t,n)=>o.default.createElement(vs,{year:e,month:t,day:n,stateConfiguration:h,computeStateForDay:d});return dU((function(){return Yq(this,void 0,void 0,(function*(){t.previewState?u("Default"===t.previewState?bG:[]):hU(i).then((e=>{u(e)}))}))}),[],[t.previewState]),a?o.default.createElement(ys,{innerRef:t.innerRef,className:"mdhui-simple-calendar",year:l.getFullYear(),month:l.getMonth(),dayRenderer:f}):o.default.createElement(yn,{innerRef:t.innerRef})},exports.ShinyOverlay=ws,exports.SingleDataPoint=ZB,exports.SingleExternalAccount=eF,exports.SingleNotification=tF,exports.SingleSurveyTask=rF,exports.SparkBarChart=iF,exports.StandaloneHealthAndWellnessView=function(e){let[t,n]=o.default.useState([{key:"Dashboard"}]);function r(e){n([...t,e])}function i(e){r({key:"TermInformation",properties:{term:{TermFamily:e.TermFamily,TermNamespace:e.TermNamespace,TermCode:e.TermCode}}})}function a(){r({key:"ExternalAccounts"})}function s(){n(t.slice(0,t.length-1)),2==t.length&&l.default.triggerEvent({type:"applicationDidBecomeVisible"})}function c(t){return o.default.createElement(jW,{concept:t,onClick:()=>function(e){r("Reports"==e||"Immunizations"==e||"Procedures"==e?{key:"NewsFeed",properties:{feed:e}}:{key:e})}(t),previewState:"default"==e.previewState?"Default":void 0})}function u(u){var h,d,f,p,m,g;if("Dashboard"==u.key)return o.default.createElement(jt,{colorScheme:null!==(h=e.colorScheme)&&void 0!==h?h:"auto"},o.default.createElement(pW,{previewState:"default"==e.previewState?"externalAccountsLoaded":void 0,externalAccountCategories:["Provider","Health Plan"],triggerWebExternalAccountSyncComplete:!0}),o.default.createElement(YB,{noTopMargin:!0},o.default.createElement(uW,{previewState:"default"==e.previewState?"externalAccountWithIssue":void 0,externalAccountCategories:["Provider","Health Plan"],onClick:()=>a()}),o.default.createElement(gW,{excludeDeviceManufacturers:!0,onClick:()=>a(),previewState:"default"==e.previewState?"Default":void 0}),o.default.createElement(WW,{onViewTermInfo:e=>i(e),onClick:()=>{r({key:"NewsFeed",properties:{feed:"LabReports"}})},previewState:"default"==e.previewState?"ImportantLabs":void 0}),o.default.createElement(qW,{previewState:"default"==e.previewState?"BloodTypeLabs":void 0,onClick:()=>function(){let e="https://medlineplus.gov/ency/article/003345.htm";l.default.getCurrentLanguage().toLowerCase().startsWith("es")&&(e="https://medlineplus.gov/spanish/ency/article/003345.htm"),window.open(e,"_blank")}()}),c("Medications"),c("Immunizations"),c("Reports"),c("Allergies"),c("Conditions"),c("Procedures")),o.default.createElement(xs,null,o.default.createElement(AV,{previewState:"default"==e.previewState?"enabled":void 0,variant:"small",hideWhenConnected:!0,onClick:()=>r({key:"ConnectEhr"})})));if("NewsFeed"==u.key)return o.default.createElement(g_e,{feed:null===(d=u.properties)||void 0===d?void 0:d.feed,previewState:e.previewState,presentation:"Push",colorScheme:e.colorScheme,onEventSelected:e=>{n([...t,{key:"NewsFeedEventDetail",properties:{eventReference:e}}])},onReportSelected:e=>{r({key:"ReportDetail",properties:{reportID:e}})}});if("NewsFeedEventDetail"==u.key){let t,n=null===(f=u.properties)||void 0===f?void 0:f.eventReference,i=n.feed;return e.previewState&&("Procedures"==i&&(t="ProcedureGroup"),"LabReports"==i&&(t="LabReport")),o.default.createElement(b_e,{feed:n.feed,presentation:"Push",pageDate:n.pageDate,pageId:n.pageId,onViewLabObservationTermInfo:e=>{r({key:"TermInformation",properties:{labObservationID:e}})},previewState:t})}return"TermInformation"==u.key?o.default.createElement(__e,{presentation:"Modal",openLinksInNewWindow:!0,previewState:e.previewState,term:null===(p=u.properties)||void 0===p?void 0:p.term,labObservationID:null===(m=u.properties)||void 0===m?void 0:m.labObservationID}):"Medications"==u.key?o.default.createElement(v_e,{presentation:"Push",previewState:e.previewState,onViewTermInfo:e=>i(e)}):"Conditions"==u.key?o.default.createElement(m_e,{presentation:"Push",previewState:e.previewState,onViewTermInfo:e=>i(e)}):"Allergies"==u.key?o.default.createElement(p_e,{presentation:"Push",previewState:e.previewState,onViewTermInfo:e=>i(e)}):"ReportDetail"==u.key?o.default.createElement(E_e,{previewState:"html",reportId:null===(g=u.properties)||void 0===g?void 0:g.reportId}):"ExternalAccounts"==u.key?o.default.createElement(y_e,{presentation:"Push",onBack:()=>s(),excludeDeviceManufacturers:!0,colorScheme:e.colorScheme,previewState:e.previewState,connectExternalAccountOptions:e.connectExternalAccountOptions}):"ConnectEhr"==u.key?o.default.createElement(jt,{colorScheme:e.colorScheme},o.default.createElement(zB,{showBackButton:!0}),o.default.createElement(YB,null,o.default.createElement(oG,{providerCategories:["Provider","Health Plan"],connectExternalAccountOptions:e.connectExternalAccountOptions}))):void 0}return l.default.back=s,l.default.dismiss=s,o.default.createElement(o.default.Fragment,null,t.map(((e,n)=>o.default.createElement("div",{key:e.key,style:{display:n!=t.length-1?"none":void 0}},u(e)))))},exports.StatusBarBackground=aF,exports.StepDetailText=xEe,exports.StepImage=PEe,exports.StepImageIcon=IEe,exports.StepLayout=sxe,exports.StepMarkdown=yEe,exports.StepNextButton=kEe,exports.StepText=wEe,exports.StepTitle=vEe,exports.SurveyAnswerChart=function(t){let[n,r]=e.useState(null);const i=e.useContext(_B);let a,s=t.intervalType||"Month";i?(s="Day"===i.intervalType?"Week":i.intervalType,a=i.intervalStart):a=EB(s,t.weekStartsOn);let c="Week"===s?Dn(a,{days:7}):"Month"===s?Dn(a,{months:1}):"6Month"===s?Dn(a,{months:6}):a;function l(e){return`${e.surveyName}-${e.stepIdentifier}-${e.resultIdentifier}`}function u(e){for(var n={},r=0;r<t.series.length;r++)n[l(t.series[r])]=e[r];return n}dU((()=>{(()=>{if(r(null),t.previewDataProvider)t.previewDataProvider(a,c).then((e=>{r(u(e))}));else{var e=t.series.map((e=>hU({surveyName:e.surveyName,stepIdentifier:e.stepIdentifier,resultIdentifier:e.resultIdentifier,after:a.toISOString(),before:c.toISOString()})));Promise.all(e).then((e=>{r(u(e))}))}})()}),[],[t.intervalType,t.weekStartsOn,i]);var h=void 0,d=!1;return null!==n&&(h=[],t.series.forEach((e=>{var t=l(e);n[t].forEach((t=>{var n=qa(t.date);n.setHours(0,0,0,0);var r=h.find((e=>e.timestamp===n.getTime()));r||(r={timestamp:n.getTime()},h.push(r)),r[e.dataKey]=parseFloat(t.answers[0]),d=!0}))})),h.sort(((e,t)=>e.timestamp-t.timestamp))),o.default.createElement(nB,{title:t.title,intervalType:s,intervalStart:a,data:h,expectedDataInterval:t.expectedDataInterval,series:t.series.map((e=>{const t={dataKey:e.dataKey,color:e.color};return"areaColor"in e&&(t.areaColor=e.areaColor),t})),chartHasData:d,tooltip:({active:e,payload:n})=>{function r(e,n){return e.stroke||function(e,n){var r=t.options?t.options[n]:null;return r?Array.isArray(r)?r[e]:r:"var(--mdhui-color-primary)"}(n,"barColor")}return e&&n&&n.length?1===n.length?o.default.createElement("div",{className:"mdhui-time-series-tooltip"},o.default.createElement("div",{className:"mdhui-single-value-tooltip-value"},parseFloat(n[0].value).toFixed(2)),o.default.createElement("div",{className:"mdhui-time-series-tooltip-date"},Wr(new Date(n[0].payload.timestamp),"MM/dd/yyyy"))):o.default.createElement("div",{className:"mdhui-time-series-tooltip"},o.default.createElement("table",{className:"mdhui-multiple-value-tooltip"},o.default.createElement("tbody",null,n.map(((e,t)=>o.default.createElement("tr",{key:e.dataKey},o.default.createElement("th",{style:{color:r(e,t)}},e.dataKey),o.default.createElement("td",null,parseFloat(e.value).toFixed(2))))))),o.default.createElement("div",{className:"mdhui-time-series-tooltip-date"},Wr(new Date(n[0].payload.timestamp),"MM/dd/yyyy"))):null},chartType:t.chartType,options:t.options})},exports.SurveyTaskList=pG,exports.SurveyTasksView=function(e){var t;return o.default.createElement(jt,{colorScheme:null!==(t=e.colorScheme)&&void 0!==t?t:"auto"},e.presentation&&o.default.createElement(zB,{title:dB("tasks"),showBackButton:"Push"==e.presentation,showCloseButton:"Modal"==e.presentation}),!e.presentation&&o.default.createElement(aF,null),!e.hideIncompleteTasks&&o.default.createElement(pG,{variant:"multiCard",title:dB("incomplete-tasks"),status:"incomplete",previewState:e.preview?"IncompleteTasks":void 0}),!e.hideCompleteTasks&&o.default.createElement(pG,{variant:"multiCard",title:dB("completed-tasks"),status:"complete",previewState:e.preview?"CompleteTasks":void 0}))},exports.Switch=function(e){return o.default.createElement(d,{innerRef:e.innerRef,onClick:()=>e.onValueChanged(!e.isOn),className:"mdhui-switch"+(e.isOn?" mdhui-switch-on":"")+(e.className?" "+e.className:""),style:{backgroundColor:e.isOn?e.onBackgroundColor:"var(--mdhui-background-color-2)"}},o.default.createElement("div",{className:"mdhui-switch-circle"}))},exports.SymptomSharkCalendar=XEe,exports.SymptomSharkCalendarView=function(e){var t;return o.default.createElement(jt,{colorScheme:null!==(t=e.colorScheme)&&void 0!==t?t:"light"},o.default.createElement(AB,{variant:"rounded",intervalType:"Month",sticky:!0},o.default.createElement(KEe,{showFilters:!0,previewState:e.previewState},o.default.createElement(YB,null,o.default.createElement(XEe,{onDaySelected:e.onDaySelected})),o.default.createElement(YB,null,o.default.createElement(o_e,{onSymptomSelected:e.onSymptomSelected})),o.default.createElement(YB,null,o.default.createElement(QEe,null)),o.default.createElement(d_e,null))))},exports.SymptomSharkLogEntry=JEe,exports.SymptomSharkLogEntryEdit=u_e,exports.SymptomSharkLogEntryEditView=function(e){return o.default.createElement(jt,{bodyBackgroundColor:"var(--mdhui-background-color-0)",colorScheme:e.colorScheme||"light"},o.default.createElement(u_e,Object.assign({},e)))},exports.SymptomSharkLogEntryList=function(t){const[n,r]=e.useState({}),[i,a]=e.useState(null),[s,c]=e.useState([new Date]);function u(){if(yH(s[0])!=yH(new Date)&&c([new Date]),"default"!=t.previewState)FEe.getConfiguration().then((function(e){FEe.getDailyLogEntries().then((function(t){a(e),r(t)}))}));else{a(c_e);let e=yH(Dn(new Date,{days:-1}));r(Object.assign(Object.assign({},n),{[e]:l_e}))}}return e.useEffect((()=>(u(),l.default.on("applicationDidBecomeVisible",u),()=>{l.default.off("applicationDidBecomeVisible",u)})),[]),o.default.createElement("div",{ref:t.innerRef,className:"log-entry-list"},i&&s.map((e=>o.default.createElement(JEe,{noDataMessage:yH(e)==yH(new Date)?dB("tap-to-log-today"):void 0,key:yH(e),date:e,configuration:i,logEntry:n[yH(e)],onClick:()=>t.onDaySelected(e)}))),o.default.createElement(LV,{enabled:!!i,onTrigger:()=>function(){for(var e=[...s],t=0;t<30;t++){var n=Dn(e[e.length-1],{days:-1});e.push(n)}c(e)}()}),o.default.createElement(yn,null))},exports.SymptomSharkLogToday=function(t){const[n,r]=e.useState(null),[i,a]=e.useState(void 0);var s=new Date;function c(){if("withLog"==t.previewState)return r(c_e),void a(l_e);"noLog"!=t.previewState?Promise.all([FEe.getDailyLogEntries(yH(Dn(s,{days:-1}))),FEe.getConfiguration()]).then((function([e,t]){r(t),e[yH(s)]?a(e[yH(s)]):a(void 0)})):r(c_e)}return s=new Date(s.getFullYear(),s.getMonth(),s.getDate(),0,0,0,0),e.useEffect((()=>(c(),l.default.on("applicationDidBecomeVisible",c),()=>{l.default.off("applicationDidBecomeVisible",c)})),[]),n&&n.symptoms.length?o.default.createElement(JEe,{onClick:e=>t.onClick(e),innerRef:t.innerRef,title:dB(i?"todays-log":"log-todays-symptoms"),date:s,logEntry:i,configuration:n}):null},exports.SymptomSharkMonthReport=a_e,exports.SymptomSharkNotesTimeline=r_e,exports.SymptomSharkOverallExperienceChart=QEe,exports.SymptomSharkReportBuilder=h_e,exports.SymptomSharkReportBuilderView=function(e){var t;return o.default.createElement(jt,{colorScheme:null!==(t=e.colorScheme)&&void 0!==t?t:"light"},o.default.createElement(zB,{variant:"compressed",title:dB("reports")}),o.default.createElement(h_e,{previewState:e.previewState}))},exports.SymptomSharkSymptomDetailView=function(e){return o.default.createElement(jt,{colorScheme:e.colorScheme||"light",className:"symptom-detail-view symptom-shark-view"},o.default.createElement(KEe,{previewState:e.previewState},o.default.createElement(f_e,Object.assign({},e))))},exports.SymptomSharkSymptomMatrix=YEe,exports.SymptomSharkSymptomSeverityChart=i_e,exports.SymptomSharkSymptomSeveritySummary=s_e,exports.SymptomSharkSymptomTreatmentFilters=$Ee,exports.SymptomSharkSymptomTreatmentHistograms=o_e,exports.SymptomSharkVisualizationCoordinator=KEe,exports.TermInformation=KX,exports.TermInformationView=__e,exports.TextBlock=oF,exports.Title=TB,exports.TrackerItem=sF,exports.UnstyledButton=d,exports.ValueSelector=qq,exports.ViewEhr=function(t){const[n,r]=e.useState(null);function i(){if(t.previewState)return mW[0].status=t.previewState,void a(mW);l.default.getExternalAccounts().then((function(e){a(e)}))}function a(e){e=e.filter((e=>"Provider"==e.provider.category||"Health Plan"==e.provider.category)),r(e)}if(e.useEffect((()=>(i(),l.default.on("applicationDidBecomeVisible",i),l.default.on("externalAccountSyncComplete",i),()=>{l.default.off("applicationDidBecomeVisible",i),l.default.off("externalAccountSyncComplete",i)})),[]),!n||!n.length)return null;const s=o.default.createElement(vn,{color:t.buttonColor,variant:t.buttonVariant||"light",onClick:()=>{}},dB("view"));return o.default.createElement(Bt,{innerRef:t.innerRef,className:"mdhui-view-ehr",renderAs:"div",onClick:()=>t.onClick(),indicator:s},o.default.createElement(TB,{order:3},t.title||dB("health-records")),n.find((e=>"fetchingData"==e.status))&&o.default.createElement("div",{className:"mdhui-view-ehr-status"},o.default.createElement(y,{icon:Yt,spin:!0})," ",dB("external-account-fetching-data")))},exports.ViewHeader=Hq,exports.WeekCalendar=Uq,exports.YouTubeStep=jEe,exports.YouTubeStepContainer=function(){const[t,n]=e.useState(),[r,i]=e.useState(),[a,s]=e.useState(),[c,u]=e.useState(""),[h,d]=e.useState(),[f,p]=e.useState(),[m,g]=e.useState({});return e.useEffect((()=>{l.default.getStepConfiguration().then((function(e){var t;e&&(n(e.properties.title),i(e.properties.text),s(e.properties.transcript),u(e.properties.videoId),d(e.properties.nextButtonText),p(e.properties.height),g(null!==(t=e.styles)&&void 0!==t?t:{}))}))}),[]),o.default.createElement(jEe,{title:t,text:r,transcript:a,nextButtonText:h,height:f,videoId:c,styles:m})},exports.asthmaDataService=LU,exports.bloodPressureDataProvider=uU,exports.checkDailyDataAvailability=aU,exports.computeAsthmaControlState=eH,exports.convertToSymptomSharkConfiguration=BEe,exports.dailyDataTypeDefinitions=eU,exports.dateToAsthmaLogEntryIdentifier=Jq,exports.get6MonthStart=SB,exports.getAllDailyDataTypes=function(){return Array.from(nU.values())},exports.getAsthmaAirQualityDescriptionText=hH,exports.getAsthmaDataStatusColor=nH,exports.getAsthmaDataStatusText=tH,exports.getAsthmaImpactTexts=sH,exports.getAsthmaImpacts=cH,exports.getAsthmaSymptomLevel=iH,exports.getAsthmaSymptomLevelText=rH,exports.getAsthmaSymptomTexts=aH,exports.getAsthmaSymptoms=oH,exports.getAsthmaTriggerTexts=lH,exports.getAsthmaTriggers=uH,exports.getDailyDataTypeDefinition=cU,exports.getDayKey=yH,exports.getDefaultIntervalStart=EB,exports.getLanguageFromIso=fB,exports.getLocaleFromIso=bs,exports.getMonthStart=kB,exports.getWeekStart=xB,exports.isBloodOxygenLevelWithinRange=bH,exports.isDaytimeRestingHeartRateWithinRange=dH,exports.isNighttimeRestingHeartRateWithinRange=fH,exports.isRespiratoryRateWithinRange=pH,exports.isSleepDisturbancesWithinRange=gH,exports.isStepsWithinRange=mH,exports.language=dB,exports.queryDailyData=oU,exports.queryPreviewDailyData=sU,exports.queryRelativeActivity=fU,exports.registerDailyDataProvider=rU,exports.registerDailyDataTypeDefinition=iU,exports.resolveColor=v,exports.showNewPoints=function(e,t){let n={type:"MDHUI-NewPoints",value:JSON.stringify(e)};l.default.persistDeviceData([n]).then((()=>{l.default.openApplication(t||"https://viewlibrary.careevolutionapps.com/newpoints",{modal:!0})}))},exports.simpleAvailabilityCheck=GH,exports.useInitializeView=dU,exports.useInterval=NV;
190
+ /*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License */var x3e=function(){function e(e){return-e.tension*e.x-e.friction*e.v}function t(t,n,r){var i={x:t.x+r.dx*n,v:t.v+r.dv*n,tension:t.tension,friction:t.friction};return{dx:i.v,dv:e(i)}}function n(n,r){var i={dx:n.v,dv:e(n)},a=t(n,.5*r,i),o=t(n,.5*r,a),s=t(n,r,o),c=1/6*(i.dx+2*(a.dx+o.dx)+s.dx),l=1/6*(i.dv+2*(a.dv+o.dv)+s.dv);return n.x=n.x+c*r,n.v=n.v+l*r,n}return function e(t,r,i){var a,o,s,c={x:-1,v:0,tension:null,friction:null},l=[0],u=0,h=1e-4;for(t=parseFloat(t)||500,r=parseFloat(r)||20,i=i||null,c.tension=t,c.friction=r,o=(a=null!==i)?(u=e(t,r))/i*.016:.016;s=n(s||c,o),l.push(1+s.x),u+=16,Math.abs(s.x)>h&&Math.abs(s.v)>h;);return a?function(e){return l[e*(l.length-1)|0]}:u}}(),k3e=function(e,t,n,r){var i=w3e(e,t,n,r);return function(e,t,n){return e+(t-e)*i(n)}},S3e={linear:function(e,t,n){return e+(t-e)*n},ease:k3e(.25,.1,.25,1),"ease-in":k3e(.42,0,1,1),"ease-out":k3e(0,0,.58,1),"ease-in-out":k3e(.42,0,.58,1),"ease-in-sine":k3e(.47,0,.745,.715),"ease-out-sine":k3e(.39,.575,.565,1),"ease-in-out-sine":k3e(.445,.05,.55,.95),"ease-in-quad":k3e(.55,.085,.68,.53),"ease-out-quad":k3e(.25,.46,.45,.94),"ease-in-out-quad":k3e(.455,.03,.515,.955),"ease-in-cubic":k3e(.55,.055,.675,.19),"ease-out-cubic":k3e(.215,.61,.355,1),"ease-in-out-cubic":k3e(.645,.045,.355,1),"ease-in-quart":k3e(.895,.03,.685,.22),"ease-out-quart":k3e(.165,.84,.44,1),"ease-in-out-quart":k3e(.77,0,.175,1),"ease-in-quint":k3e(.755,.05,.855,.06),"ease-out-quint":k3e(.23,1,.32,1),"ease-in-out-quint":k3e(.86,0,.07,1),"ease-in-expo":k3e(.95,.05,.795,.035),"ease-out-expo":k3e(.19,1,.22,1),"ease-in-out-expo":k3e(1,0,0,1),"ease-in-circ":k3e(.6,.04,.98,.335),"ease-out-circ":k3e(.075,.82,.165,1),"ease-in-out-circ":k3e(.785,.135,.15,.86),spring:function(e,t,n){if(0===n)return S3e.linear;var r=x3e(e,t,n);return function(e,t,n){return e+(t-e)*r(n)}},"cubic-bezier":k3e};function E3e(e,t,n,r,i){if(1===r)return n;if(t===n)return n;var a=i(t,n,r);return null==e||((e.roundValue||e.color)&&(a=Math.round(a)),void 0!==e.min&&(a=Math.max(a,e.min)),void 0!==e.max&&(a=Math.min(a,e.max))),a}function _3e(e,t){return null!=e.pfValue||null!=e.value?null==e.pfValue||null!=t&&"%"===t.type.units?e.value:e.pfValue:e}function A3e(e,t,n,r,i){var a=null!=i?i.type:null;n<0?n=0:n>1&&(n=1);var o=_3e(e,i),s=_3e(t,i);if(kYe(o)&&kYe(s))return E3e(a,o,s,n,r);if(wYe(o)&&wYe(s)){for(var c=[],l=0;l<s.length;l++){var u=o[l],h=s[l];if(null!=u&&null!=h){var d=E3e(a,u,h,n,r);c.push(d)}else c.push(h)}return c}}function T3e(e,t,n,r){var i=!r,a=e._private,o=t._private,s=o.easing,c=o.startTime,l=(r?e:e.cy()).style();if(!o.easingImpl)if(null==s)o.easingImpl=S3e.linear;else{var u,h,d;if(yYe(s))u=l.parse("transition-timing-function",s).value;else u=s;yYe(u)?(h=u,d=[]):(h=u[1],d=u.slice(2).map((function(e){return+e}))),d.length>0?("spring"===h&&d.push(o.duration),o.easingImpl=S3e[h].apply(null,d)):o.easingImpl=S3e[h]}var f,p=o.easingImpl;if(f=0===o.duration?1:(n-c)/o.duration,o.applying&&(f=o.progress),f<0?f=0:f>1&&(f=1),null==o.delay){var m=o.startPosition,g=o.position;if(g&&i&&!e.locked()){var b={};C3e(m.x,g.x)&&(b.x=A3e(m.x,g.x,f,p)),C3e(m.y,g.y)&&(b.y=A3e(m.y,g.y,f,p)),e.position(b)}var y=o.startPan,v=o.pan,w=a.pan,x=null!=v&&r;x&&(C3e(y.x,v.x)&&(w.x=A3e(y.x,v.x,f,p)),C3e(y.y,v.y)&&(w.y=A3e(y.y,v.y,f,p)),e.emit("pan"));var k=o.startZoom,S=o.zoom,E=null!=S&&r;E&&(C3e(k,S)&&(a.zoom=RZe(a.minZoom,A3e(k,S,f,p),a.maxZoom)),e.emit("zoom")),(x||E)&&e.emit("viewport");var _=o.style;if(_&&_.length>0&&i){for(var A=0;A<_.length;A++){var T=_[A],C=T.name,O=T,D=o.startStyle[C],M=A3e(D,O,f,p,l.properties[D.name]);l.overrideBypass(e,C,M)}e.emit("style")}}return o.progress=f,f}function C3e(e,t){return null!=e&&null!=t&&(!(!kYe(e)||!kYe(t))||!(!e||!t))}function O3e(e,t,n,r){var i=t._private;i.started=!0,i.startTime=n-i.progress*i.duration}function D3e(e,t){var n=t._private.aniEles,r=[];function i(t,n){var i=t._private,a=i.animation.current,o=i.animation.queue,s=!1;if(0===a.length){var c=o.shift();c&&a.push(c)}for(var l=function(e){for(var t=e.length-1;t>=0;t--){(0,e[t])()}e.splice(0,e.length)},u=a.length-1;u>=0;u--){var h=a[u],d=h._private;d.stopped?(a.splice(u,1),d.hooked=!1,d.playing=!1,d.started=!1,l(d.frames)):(d.playing||d.applying)&&(d.playing&&d.applying&&(d.applying=!1),d.started||O3e(0,h,e),T3e(t,h,e,n),d.applying&&(d.applying=!1),l(d.frames),null!=d.step&&d.step(e),h.completed()&&(a.splice(u,1),d.hooked=!1,d.playing=!1,d.started=!1,l(d.completes)),s=!0)}return n||0!==a.length||0!==o.length||r.push(t),s}for(var a=!1,o=0;o<n.length;o++){var s=i(n[o]);a=a||s}var c=i(t,!0);(a||c)&&(n.length>0?t.notify("draw",n):t.notify("draw")),n.unmerge(r),t.emit("step")}var M3e={animate:t0e.animate(),animation:t0e.animation(),animated:t0e.animated(),clearQueue:t0e.clearQueue(),delay:t0e.delay(),delayAnimation:t0e.delayAnimation(),stop:t0e.stop(),addToAnimationPool:function(e){this.styleEnabled()&&this._private.aniEles.merge(e)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var e=this;if(e._private.animationsRunning=!0,e.styleEnabled()){var t=e.renderer();t&&t.beforeRender?t.beforeRender((function(t,n){D3e(n,e)}),t.beforeRenderPriorities.animations):function t(){e._private.animationsRunning&&AXe((function(n){D3e(n,e),t()}))}()}}},I3e={qualifierCompare:function(e,t){return null==e||null==t?null==e&&null==t:e.sameText(t)},eventMatches:function(e,t,n){var r=t.qualifier;return null==r||e!==n.target&&_Ye(n.target)&&r.matches(n.target)},addEventFields:function(e,t){t.cy=e,t.target=e},callbackContext:function(e,t,n){return null!=t.qualifier?n.target:e}},P3e=function(e){return yYe(e)?new F0e(e):e},N3e={createEmitter:function(){var e=this._private;return e.emitter||(e.emitter=new L2e(I3e,this)),this},emitter:function(){return this._private.emitter},on:function(e,t,n){return this.emitter().on(e,P3e(t),n),this},removeListener:function(e,t,n){return this.emitter().removeListener(e,P3e(t),n),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(e,t,n){return this.emitter().one(e,P3e(t),n),this},once:function(e,t,n){return this.emitter().one(e,P3e(t),n),this},emit:function(e,t){return this.emitter().emit(e,t),this},emitAndNotify:function(e,t){return this.emit(e),this.notify(e,t),this}};t0e.eventAliasesOn(N3e);var L3e={png:function(e){return e=e||{},this._private.renderer.png(e)},jpg:function(e){var t=this._private.renderer;return(e=e||{}).bg=e.bg||"#fff",t.jpg(e)}};L3e.jpeg=L3e.jpg;var R3e={layout:function(e){var t=this;if(null!=e)if(null!=e.name){var n=e.name,r=t.extension("layout",n);if(null!=r){var i;i=yYe(e.eles)?t.$(e.eles):null!=e.eles?e.eles:t.$();var a=new r(qYe({},e,{cy:t,eles:i}));return a}WXe("No such layout `"+n+"` found. Did you forget to import it and `cytoscape.use()` it?")}else WXe("A `name` must be specified to make a layout");else WXe("Layout options must be specified to make a layout")}};R3e.createLayout=R3e.makeLayout=R3e.layout;var j3e={notify:function(e,t){var n=this._private;if(this.batching()){n.batchNotifications=n.batchNotifications||{};var r=n.batchNotifications[e]=n.batchNotifications[e]||this.collection();null!=t&&r.merge(t)}else if(n.notificationsEnabled){var i=this.renderer();!this.destroyed()&&i&&i.notify(e,t)}},notifications:function(e){var t=this._private;return void 0===e?t.notificationsEnabled:(t.notificationsEnabled=!!e,this)},noNotifications:function(e){this.notifications(!1),e(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var e=this._private;return null==e.batchCount&&(e.batchCount=0),0===e.batchCount&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},endBatch:function(){var e=this._private;if(0===e.batchCount)return this;if(e.batchCount--,0===e.batchCount){e.batchStyleEles.updateStyle();var t=this.renderer();Object.keys(e.batchNotifications).forEach((function(n){var r=e.batchNotifications[n];r.empty()?t.notify(n):t.notify(n,r)}))}return this},batch:function(e){return this.startBatch(),e(),this.endBatch(),this},batchData:function(e){var t=this;return this.batch((function(){for(var n=Object.keys(e),r=0;r<n.length;r++){var i=n[r],a=e[i];t.getElementById(i).data(a)}}))}},B3e=JXe({hideEdgesOnViewport:!1,textureOnViewport:!1,motionBlur:!1,motionBlurOpacity:.05,pixelRatio:void 0,desktopTapThreshold:4,touchTapThreshold:8,wheelSensitivity:1,debug:!1,showFps:!1}),F3e={renderTo:function(e,t,n,r){return this._private.renderer.renderTo(e,t,n,r),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(e){var t=this,n=t.extension("renderer",e.name);if(null!=n){void 0!==e.wheelSensitivity&&KXe("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=B3e(e);r.cy=t,t._private.renderer=new n(r),this.notify("init")}else WXe("Can not initialise: No such renderer `".concat(e.name,"` found. Did you forget to import it and `cytoscape.use()` it?"))},destroyRenderer:function(){var e=this;e.notify("destroy");var t=e.container();if(t)for(t._cyreg=null;t.childNodes.length>0;)t.removeChild(t.childNodes[0]);e._private.renderer=null,e.mutableElements().forEach((function(e){var t=e._private;t.rscratch={},t.rstyle={},t.animation.current=[],t.animation.queue=[]}))},onRender:function(e){return this.on("render",e)},offRender:function(e){return this.off("render",e)}};F3e.invalidateDimensions=F3e.resize;var z3e={collection:function(e,t){return yYe(e)?this.$(e):EYe(e)?e.collection():wYe(e)?(t||(t={}),new b3e(this,e,t.unique,t.removed)):new b3e(this)},nodes:function(e){var t=this.$((function(e){return e.isNode()}));return e?t.filter(e):t},edges:function(e){var t=this.$((function(e){return e.isEdge()}));return e?t.filter(e):t},$:function(e){var t=this._private.elements;return e?t.filter(e):t.spawnSelf()},mutableElements:function(){return this._private.elements}};z3e.elements=z3e.filter=z3e.$;var $3e={},q3e="t";$3e.apply=function(e){for(var t=this,n=t._private.cy.collection(),r=0;r<e.length;r++){var i=e[r],a=t.getContextMeta(i);if(!a.empty){var o=t.getContextStyle(a),s=t.applyContextStyle(a,o,i);i._private.appliedInitStyle?t.updateTransitions(i,s.diffProps):i._private.appliedInitStyle=!0,t.updateStyleHints(i)&&n.push(i)}}return n},$3e.getPropertiesDiff=function(e,t){var n=this,r=n._private.propDiffs=n._private.propDiffs||{},i=e+"-"+t,a=r[i];if(a)return a;for(var o=[],s={},c=0;c<n.length;c++){var l=n[c],u=e[c]===q3e,h=t[c]===q3e,d=u!==h,f=l.mappedProperties.length>0;if(d||h&&f){var p=void 0;d&&f||d?p=l.properties:f&&(p=l.mappedProperties);for(var m=0;m<p.length;m++){for(var g=p[m],b=g.name,y=!1,v=c+1;v<n.length;v++){var w=n[v];if(t[v]===q3e&&(y=null!=w.properties[g.name]))break}s[b]||y||(s[b]=!0,o.push(b))}}}return r[i]=o,o},$3e.getContextMeta=function(e){for(var t,n=this,r="",i=e._private.styleCxtKey||"",a=0;a<n.length;a++){var o=n[a];r+=o.selector&&o.selector.matches(e)?q3e:"f"}return t=n.getPropertiesDiff(i,r),e._private.styleCxtKey=r,{key:r,diffPropNames:t,empty:0===t.length}},$3e.getContextStyle=function(e){var t=e.key,n=this._private.contextStyles=this._private.contextStyles||{};if(n[t])return n[t];for(var r={_private:{key:t}},i=0;i<this.length;i++){var a=this[i];if(t[i]===q3e)for(var o=0;o<a.properties.length;o++){var s=a.properties[o];r[s.name]=s}}return n[t]=r,r},$3e.applyContextStyle=function(e,t,n){for(var r=e.diffPropNames,i={},a=this.types,o=0;o<r.length;o++){var s=r[o],c=t[s],l=n.pstyle(s);if(!c){if(!l)continue;c=l.bypass?{name:s,deleteBypassed:!0}:{name:s,delete:!0}}if(l!==c){if(c.mapped===a.fn&&null!=l&&null!=l.mapping&&l.mapping.value===c.value){var u=l.mapping;if((u.fnValue=c.value(n))===u.prevFnValue)continue}var h=i[s]={prev:l};this.applyParsedProperty(n,c),h.next=n.pstyle(s),h.next&&h.next.bypass&&(h.next=h.next.bypassed)}}return{diffProps:i}},$3e.updateStyleHints=function(e){var t=e._private,n=this,r=n.propertyGroupNames,i=n.propertyGroupKeys,a=function(e,t,r){return n.getPropertiesHash(e,t,r)},o=t.styleKey;if(e.removed())return!1;var s="nodes"===t.group,c=e._private.style;r=Object.keys(c);for(var l=0;l<i.length;l++){var u=i[l];t.styleKeys[u]=[CXe,OXe]}for(var h,d=function(e,n){return t.styleKeys[n][0]=MXe(e,t.styleKeys[n][0])},f=function(e,n){return t.styleKeys[n][1]=IXe(e,t.styleKeys[n][1])},p=function(e,t){d(e,t),f(e,t)},m=function(e,t){for(var n=0;n<e.length;n++){var r=e.charCodeAt(n);d(r,t),f(r,t)}},g=0;g<r.length;g++){var b=r[g],y=c[b];if(null!=y){var v=this.properties[b],w=v.type,x=v.groupKey,k=void 0;null!=v.hashOverride?k=v.hashOverride(e,y):null!=y.pfValue&&(k=y.pfValue);var S=null==v.enums?y.value:null,E=null!=k,_=E||null!=S,A=y.units;if(w.number&&_&&!w.multiple)p(-128<(h=E?k:S)&&h<128&&Math.floor(h)!==h?2e9-(1024*h|0):h,x),E||null==A||m(A,x);else m(y.strValue,x)}}for(var T,C,O=[CXe,OXe],D=0;D<i.length;D++){var M=i[D],I=t.styleKeys[M];O[0]=MXe(I[0],O[0]),O[1]=IXe(I[1],O[1])}t.styleKey=(T=O[0],C=O[1],2097152*T+C);var P=t.styleKeys;t.labelDimsKey=PXe(P.labelDimensions);var N=a(e,["label"],P.labelDimensions);if(t.labelKey=PXe(N),t.labelStyleKey=PXe(NXe(P.commonLabel,N)),!s){var L=a(e,["source-label"],P.labelDimensions);t.sourceLabelKey=PXe(L),t.sourceLabelStyleKey=PXe(NXe(P.commonLabel,L));var R=a(e,["target-label"],P.labelDimensions);t.targetLabelKey=PXe(R),t.targetLabelStyleKey=PXe(NXe(P.commonLabel,R))}if(s){var j=t.styleKeys,B=j.nodeBody,F=j.nodeBorder,z=j.nodeOutline,$=j.backgroundImage,q=j.compound,H=j.pie,U=[B,F,z,$,q,H].filter((function(e){return null!=e})).reduce(NXe,[CXe,OXe]);t.nodeKey=PXe(U),t.hasPie=null!=H&&H[0]!==CXe&&H[1]!==OXe}return o!==t.styleKey},$3e.clearStyleHints=function(e){var t=e._private;t.styleCxtKey="",t.styleKeys={},t.styleKey=null,t.labelKey=null,t.labelStyleKey=null,t.sourceLabelKey=null,t.sourceLabelStyleKey=null,t.targetLabelKey=null,t.targetLabelStyleKey=null,t.nodeKey=null,t.hasPie=null},$3e.applyParsedProperty=function(e,t){var n,r=this,i=t,a=e._private.style,o=r.types,s=r.properties[i.name].type,c=i.bypass,l=a[i.name],u=l&&l.bypass,h=e._private,d="mapping",f=function(e){return null==e?null:null!=e.pfValue?e.pfValue:e.value},p=function(){var t=f(l),n=f(i);r.checkTriggers(e,i.name,t,n)};if("curve-style"===t.name&&e.isEdge()&&("bezier"!==t.value&&e.isLoop()||"haystack"===t.value&&(e.source().isParent()||e.target().isParent()))&&(i=t=this.parse(t.name,"bezier",c)),i.delete)return a[i.name]=void 0,p(),!0;if(i.deleteBypassed)return l?!!l.bypass&&(l.bypassed=void 0,p(),!0):(p(),!0);if(i.deleteBypass)return l?!!l.bypass&&(a[i.name]=l.bypassed,p(),!0):(p(),!0);var m=function(){KXe("Do not assign mappings to elements without corresponding data (i.e. ele `"+e.id()+"` has no mapping for property `"+i.name+"` with data field `"+i.field+"`); try a `["+i.field+"]` selector to limit scope to elements with `"+i.field+"` defined")};switch(i.mapped){case o.mapData:for(var g,b=i.field.split("."),y=h.data,v=0;v<b.length&&y;v++){y=y[b[v]]}if(null==y)return m(),!1;if(!kYe(y))return KXe("Do not use continuous mappers without specifying numeric data (i.e. `"+i.field+": "+y+"` for `"+e.id()+"` is non-numeric)"),!1;var w=i.fieldMax-i.fieldMin;if((g=0===w?0:(y-i.fieldMin)/w)<0?g=0:g>1&&(g=1),s.color){var x=i.valueMin[0],k=i.valueMax[0],S=i.valueMin[1],E=i.valueMax[1],_=i.valueMin[2],A=i.valueMax[2],T=null==i.valueMin[3]?1:i.valueMin[3],C=null==i.valueMax[3]?1:i.valueMax[3],O=[Math.round(x+(k-x)*g),Math.round(S+(E-S)*g),Math.round(_+(A-_)*g),Math.round(T+(C-T)*g)];n={bypass:i.bypass,name:i.name,value:O,strValue:"rgb("+O[0]+", "+O[1]+", "+O[2]+")"}}else{if(!s.number)return!1;var D=i.valueMin+(i.valueMax-i.valueMin)*g;n=this.parse(i.name,D,i.bypass,d)}if(!n)return m(),!1;n.mapping=i,i=n;break;case o.data:for(var M=i.field.split("."),I=h.data,P=0;P<M.length&&I;P++){I=I[M[P]]}if(null!=I&&(n=this.parse(i.name,I,i.bypass,d)),!n)return m(),!1;n.mapping=i,i=n;break;case o.fn:var N=i.value,L=null!=i.fnValue?i.fnValue:N(e);if(i.prevFnValue=L,null==L)return KXe("Custom function mappers may not return null (i.e. `"+i.name+"` for ele `"+e.id()+"` is null)"),!1;if(!(n=this.parse(i.name,L,i.bypass,d)))return KXe("Custom function mappers may not return invalid values for the property type (i.e. `"+i.name+"` for ele `"+e.id()+"` is invalid)"),!1;n.mapping=YXe(i),i=n;break;case void 0:break;default:return!1}return c?(i.bypassed=u?l.bypassed:l,a[i.name]=i):u?l.bypassed=i:a[i.name]=i,p(),!0},$3e.cleanElements=function(e,t){for(var n=0;n<e.length;n++){var r=e[n];if(this.clearStyleHints(r),r.dirtyCompoundBoundsCache(),r.dirtyBoundingBoxCache(),t)for(var i=r._private.style,a=Object.keys(i),o=0;o<a.length;o++){var s=a[o],c=i[s];null!=c&&(c.bypass?c.bypassed=null:i[s]=null)}else r._private.style={}}},$3e.update=function(){this._private.cy.mutableElements().updateStyle()},$3e.updateTransitions=function(e,t){var n=this,r=e._private,i=e.pstyle("transition-property").value,a=e.pstyle("transition-duration").pfValue,o=e.pstyle("transition-delay").pfValue;if(i.length>0&&a>0){for(var s={},c=!1,l=0;l<i.length;l++){var u=i[l],h=e.pstyle(u),d=t[u];if(d){var f=d.prev,p=null!=d.next?d.next:h,m=!1,g=void 0,b=1e-6;f&&(kYe(f.pfValue)&&kYe(p.pfValue)?(m=p.pfValue-f.pfValue,g=f.pfValue+b*m):kYe(f.value)&&kYe(p.value)?(m=p.value-f.value,g=f.value+b*m):wYe(f.value)&&wYe(p.value)&&(m=f.value[0]!==p.value[0]||f.value[1]!==p.value[1]||f.value[2]!==p.value[2],g=f.strValue),m&&(s[u]=p.strValue,this.applyBypass(e,u,g),c=!0))}}if(!c)return;r.transitioning=!0,new TJe((function(t){o>0?e.delayAnimation(o).play().promise().then(t):t()})).then((function(){return e.animation({style:s,duration:a,easing:e.pstyle("transition-timing-function").value,queue:!1}).play().promise()})).then((function(){n.removeBypasses(e,i),e.emitAndNotify("style"),r.transitioning=!1}))}else r.transitioning&&(this.removeBypasses(e,i),e.emitAndNotify("style"),r.transitioning=!1)},$3e.checkTrigger=function(e,t,n,r,i,a){var o=this.properties[t],s=i(o);null!=s&&s(n,r)&&a(o)},$3e.checkZOrderTrigger=function(e,t,n,r){var i=this;this.checkTrigger(e,t,n,r,(function(e){return e.triggersZOrder}),(function(){i._private.cy.notify("zorder",e)}))},$3e.checkBoundsTrigger=function(e,t,n,r){this.checkTrigger(e,t,n,r,(function(e){return e.triggersBounds}),(function(i){e.dirtyCompoundBoundsCache(),e.dirtyBoundingBoxCache(),!i.triggersBoundsOfParallelBeziers||"curve-style"!==t||"bezier"!==n&&"bezier"!==r||e.parallelEdges().forEach((function(e){e.isBundledBezier()&&e.dirtyBoundingBoxCache()})),!i.triggersBoundsOfConnectedEdges||"display"!==t||"none"!==n&&"none"!==r||e.connectedEdges().forEach((function(e){e.dirtyBoundingBoxCache()}))}))},$3e.checkTriggers=function(e,t,n,r){e.dirtyStyleCache(),this.checkZOrderTrigger(e,t,n,r),this.checkBoundsTrigger(e,t,n,r)};var H3e={applyBypass:function(e,t,n,r){var i=[];if("*"===t||"**"===t){if(void 0!==n)for(var a=0;a<this.properties.length;a++){var o=this.properties[a].name,s=this.parse(o,n,!0);s&&i.push(s)}}else if(yYe(t)){var c=this.parse(t,n,!0);c&&i.push(c)}else{if(!xYe(t))return!1;var l=t;r=n;for(var u=Object.keys(l),h=0;h<u.length;h++){var d=u[h],f=l[d];if(void 0===f&&(f=l[PYe(d)]),void 0!==f){var p=this.parse(d,f,!0);p&&i.push(p)}}}if(0===i.length)return!1;for(var m=!1,g=0;g<e.length;g++){for(var b=e[g],y={},v=void 0,w=0;w<i.length;w++){var x=i[w];if(r){var k=b.pstyle(x.name);v=y[x.name]={prev:k}}m=this.applyParsedProperty(b,YXe(x))||m,r&&(v.next=b.pstyle(x.name))}m&&this.updateStyleHints(b),r&&this.updateTransitions(b,y,true)}return m},overrideBypass:function(e,t,n){t=IYe(t);for(var r=0;r<e.length;r++){var i=e[r],a=i._private.style[t],o=this.properties[t].type,s=o.color,c=o.mutiple,l=a?null!=a.pfValue?a.pfValue:a.value:null;a&&a.bypass?(a.value=n,null!=a.pfValue&&(a.pfValue=n),a.strValue=s?"rgb("+n.join(",")+")":c?n.join(" "):""+n,this.updateStyleHints(i)):this.applyBypass(i,t,n),this.checkTriggers(i,t,l,n)}},removeAllBypasses:function(e,t){return this.removeBypasses(e,this.propertyNames,t)},removeBypasses:function(e,t,n){for(var r=0;r<e.length;r++){for(var i=e[r],a={},o=0;o<t.length;o++){var s=t[o],c=this.properties[s],l=i.pstyle(c.name);if(l&&l.bypass){var u=this.parse(s,"",!0),h=a[c.name]={prev:l};this.applyParsedProperty(i,u),h.next=i.pstyle(c.name)}}this.updateStyleHints(i),n&&this.updateTransitions(i,a,true)}}},U3e={getEmSizeInPixels:function(){var e=this.containerCss("font-size");return null!=e?parseFloat(e):1},containerCss:function(e){var t=this._private.cy,n=t.container(),r=t.window();if(r&&n&&r.getComputedStyle)return r.getComputedStyle(n).getPropertyValue(e)}},V3e={getRenderedStyle:function(e,t){return t?this.getStylePropertyValue(e,t,!0):this.getRawStyle(e,!0)},getRawStyle:function(e,t){var n=this;if(e=e[0]){for(var r={},i=0;i<n.properties.length;i++){var a=n.properties[i],o=n.getStylePropertyValue(e,a.name,t);null!=o&&(r[a.name]=o,r[PYe(a.name)]=o)}return r}},getIndexedStyle:function(e,t,n,r){var i=e.pstyle(t)[n][r];return null!=i?i:e.cy().style().getDefaultProperty(t)[n][0]},getStylePropertyValue:function(e,t,n){if(e=e[0]){var r=this.properties[t];r.alias&&(r=r.pointsTo);var i=r.type,a=e.pstyle(r.name);if(a){var o=a.value,s=a.units,c=a.strValue;if(n&&i.number&&null!=o&&kYe(o)){var l=e.cy().zoom(),u=function(e){return e*l},h=function(e,t){return u(e)+t},d=wYe(o);return(d?s.every((function(e){return null!=e})):null!=s)?d?o.map((function(e,t){return h(e,s[t])})).join(" "):h(o,s):d?o.map((function(e){return yYe(e)?e:""+u(e)})).join(" "):""+u(o)}if(null!=c)return c}return null}},getAnimationStartStyle:function(e,t){for(var n={},r=0;r<t.length;r++){var i=t[r].name,a=e.pstyle(i);void 0!==a&&(a=xYe(a)?this.parse(i,a.strValue):this.parse(i,a)),a&&(n[i]=a)}return n},getPropsList:function(e){var t=[],n=e,r=this.properties;if(n)for(var i=Object.keys(n),a=0;a<i.length;a++){var o=i[a],s=n[o],c=r[o]||r[IYe(o)],l=this.parse(c.name,s);l&&t.push(l)}return t},getNonDefaultPropertiesHash:function(e,t,n){var r,i,a,o,s,c,l=n.slice();for(s=0;s<t.length;s++)if(r=t[s],null!=(i=e.pstyle(r,!1)))if(null!=i.pfValue)l[0]=MXe(o,l[0]),l[1]=IXe(o,l[1]);else for(a=i.strValue,c=0;c<a.length;c++)o=a.charCodeAt(c),l[0]=MXe(o,l[0]),l[1]=IXe(o,l[1]);return l}};V3e.getPropertiesHash=V3e.getNonDefaultPropertiesHash;var W3e={appendFromJson:function(e){for(var t=this,n=0;n<e.length;n++){var r=e[n],i=r.selector,a=r.style||r.css,o=Object.keys(a);t.selector(i);for(var s=0;s<o.length;s++){var c=o[s],l=a[c];t.css(c,l)}}return t},fromJson:function(e){var t=this;return t.resetToDefault(),t.appendFromJson(e),t},json:function(){for(var e=[],t=this.defaultLength;t<this.length;t++){for(var n=this[t],r=n.selector,i=n.properties,a={},o=0;o<i.length;o++){var s=i[o];a[s.name]=s.strValue}e.push({selector:r?r.toString():"core",style:a})}return e}},G3e={appendFromString:function(e){var t,n,r,i=this,a=""+e;function o(){a=a.length>t.length?a.substr(t.length):""}function s(){n=n.length>r.length?n.substr(r.length):""}for(a=a.replace(/[/][*](\s|.)+?[*][/]/g,"");;){if(a.match(/^\s*$/))break;var c=a.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!c){KXe("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+a);break}t=c[0];var l=c[1];if("core"!==l)if(new F0e(l).invalid){KXe("Skipping parsing of block: Invalid selector found in string stylesheet: "+l),o();continue}var u=c[2],h=!1;n=u;for(var d=[];;){if(n.match(/^\s*$/))break;var f=n.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!f){KXe("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+u),h=!0;break}r=f[0];var p=f[1],m=f[2];if(this.properties[p])i.parse(p,m)?(d.push({name:p,val:m}),s()):(KXe("Skipping property: Invalid property definition in: "+r),s());else KXe("Skipping property: Invalid property name in: "+r),s()}if(h){o();break}i.selector(l);for(var g=0;g<d.length;g++){var b=d[g];i.css(b.name,b.val)}o()}return i},fromString:function(e){var t=this;return t.resetToDefault(),t.appendFromString(e),t}},K3e={};!function(){var e=RYe,t=BYe,n=zYe,r=function(e){return"^"+e+"\\s*\\(\\s*([\\w\\.]+)\\s*\\)$"},i=function(r){var i=e+"|\\w+|"+t+"|"+n+"|\\#[0-9a-fA-F]{3}|\\#[0-9a-fA-F]{6}";return"^"+r+"\\s*\\(([\\w\\.]+)\\s*\\,\\s*("+e+")\\s*\\,\\s*("+e+")\\s*,\\s*("+i+")\\s*\\,\\s*("+i+")\\)$"},a=["^url\\s*\\(\\s*['\"]?(.+?)['\"]?\\s*\\)$","^(none)$","^(.+)$"];K3e.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"]},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"]},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:r("data")},layoutData:{mapping:!0,regex:r("layoutData")},scratch:{mapping:!0,regex:r("scratch")},mapData:{mapping:!0,regex:i("mapData")},mapLayoutData:{mapping:!0,regex:i("mapLayoutData")},mapScratch:{mapping:!0,regex:i("mapScratch")},fn:{mapping:!0,fn:!0},url:{regexes:a,singleRegexMatchValue:!0},urls:{regexes:a,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(e,t){switch(e.length){case 2:return"deg"!==t[0]&&"rad"!==t[0]&&"deg"!==t[1]&&"rad"!==t[1];case 1:return yYe(e[0])||"deg"===t[0]||"rad"===t[0];default:return!1}}},easing:{regexes:["^(spring)\\s*\\(\\s*("+e+")\\s*,\\s*("+e+")\\s*\\)$","^(cubic-bezier)\\s*\\(\\s*("+e+")\\s*,\\s*("+e+")\\s*,\\s*("+e+")\\s*,\\s*("+e+")\\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(e){var t=e.length;return 1===t||2===t||4===t}}};var o={zeroNonZero:function(e,t){return(null==e||null==t)&&e!==t||(0==e&&0!=t||0!=e&&0==t)},any:function(e,t){return e!=t},emptyNonEmpty:function(e,t){var n=OYe(e),r=OYe(t);return n&&!r||!n&&r}},s=K3e.types,c=[{name:"label",type:s.text,triggersBounds:o.any,triggersZOrder:o.emptyNonEmpty},{name:"text-rotation",type:s.textRotation,triggersBounds:o.any},{name:"text-margin-x",type:s.bidirectionalSize,triggersBounds:o.any},{name:"text-margin-y",type:s.bidirectionalSize,triggersBounds:o.any}],l=[{name:"source-label",type:s.text,triggersBounds:o.any},{name:"source-text-rotation",type:s.textRotation,triggersBounds:o.any},{name:"source-text-margin-x",type:s.bidirectionalSize,triggersBounds:o.any},{name:"source-text-margin-y",type:s.bidirectionalSize,triggersBounds:o.any},{name:"source-text-offset",type:s.size,triggersBounds:o.any}],u=[{name:"target-label",type:s.text,triggersBounds:o.any},{name:"target-text-rotation",type:s.textRotation,triggersBounds:o.any},{name:"target-text-margin-x",type:s.bidirectionalSize,triggersBounds:o.any},{name:"target-text-margin-y",type:s.bidirectionalSize,triggersBounds:o.any},{name:"target-text-offset",type:s.size,triggersBounds:o.any}],h=[{name:"font-family",type:s.fontFamily,triggersBounds:o.any},{name:"font-style",type:s.fontStyle,triggersBounds:o.any},{name:"font-weight",type:s.fontWeight,triggersBounds:o.any},{name:"font-size",type:s.size,triggersBounds:o.any},{name:"text-transform",type:s.textTransform,triggersBounds:o.any},{name:"text-wrap",type:s.textWrap,triggersBounds:o.any},{name:"text-overflow-wrap",type:s.textOverflowWrap,triggersBounds:o.any},{name:"text-max-width",type:s.size,triggersBounds:o.any},{name:"text-outline-width",type:s.size,triggersBounds:o.any},{name:"line-height",type:s.positiveNumber,triggersBounds:o.any}],d=[{name:"text-valign",type:s.valign,triggersBounds:o.any},{name:"text-halign",type:s.halign,triggersBounds:o.any},{name:"color",type:s.color},{name:"text-outline-color",type:s.color},{name:"text-outline-opacity",type:s.zeroOneNumber},{name:"text-background-color",type:s.color},{name:"text-background-opacity",type:s.zeroOneNumber},{name:"text-background-padding",type:s.size,triggersBounds:o.any},{name:"text-border-opacity",type:s.zeroOneNumber},{name:"text-border-color",type:s.color},{name:"text-border-width",type:s.size,triggersBounds:o.any},{name:"text-border-style",type:s.borderStyle,triggersBounds:o.any},{name:"text-background-shape",type:s.textBackgroundShape,triggersBounds:o.any},{name:"text-justification",type:s.justification}],f=[{name:"events",type:s.bool,triggersZOrder:o.any},{name:"text-events",type:s.bool,triggersZOrder:o.any}],p=[{name:"display",type:s.display,triggersZOrder:o.any,triggersBounds:o.any,triggersBoundsOfConnectedEdges:!0},{name:"visibility",type:s.visibility,triggersZOrder:o.any},{name:"opacity",type:s.zeroOneNumber,triggersZOrder:o.zeroNonZero},{name:"text-opacity",type:s.zeroOneNumber},{name:"min-zoomed-font-size",type:s.size},{name:"z-compound-depth",type:s.zCompoundDepth,triggersZOrder:o.any},{name:"z-index-compare",type:s.zIndexCompare,triggersZOrder:o.any},{name:"z-index",type:s.number,triggersZOrder:o.any}],m=[{name:"overlay-padding",type:s.size,triggersBounds:o.any},{name:"overlay-color",type:s.color},{name:"overlay-opacity",type:s.zeroOneNumber,triggersBounds:o.zeroNonZero},{name:"overlay-shape",type:s.overlayShape,triggersBounds:o.any},{name:"overlay-corner-radius",type:s.cornerRadius}],g=[{name:"underlay-padding",type:s.size,triggersBounds:o.any},{name:"underlay-color",type:s.color},{name:"underlay-opacity",type:s.zeroOneNumber,triggersBounds:o.zeroNonZero},{name:"underlay-shape",type:s.overlayShape,triggersBounds:o.any},{name:"underlay-corner-radius",type:s.cornerRadius}],b=[{name:"transition-property",type:s.propList},{name:"transition-duration",type:s.time},{name:"transition-delay",type:s.time},{name:"transition-timing-function",type:s.easing}],y=function(e,t){return"label"===t.value?-e.poolIndex():t.pfValue},v=[{name:"height",type:s.nodeSize,triggersBounds:o.any,hashOverride:y},{name:"width",type:s.nodeSize,triggersBounds:o.any,hashOverride:y},{name:"shape",type:s.nodeShape,triggersBounds:o.any},{name:"shape-polygon-points",type:s.polygonPointList,triggersBounds:o.any},{name:"corner-radius",type:s.cornerRadius},{name:"background-color",type:s.color},{name:"background-fill",type:s.fill},{name:"background-opacity",type:s.zeroOneNumber},{name:"background-blacken",type:s.nOneOneNumber},{name:"background-gradient-stop-colors",type:s.colors},{name:"background-gradient-stop-positions",type:s.percentages},{name:"background-gradient-direction",type:s.gradientDirection},{name:"padding",type:s.sizeMaybePercent,triggersBounds:o.any},{name:"padding-relative-to",type:s.paddingRelativeTo,triggersBounds:o.any},{name:"bounds-expansion",type:s.boundsExpansion,triggersBounds:o.any}],w=[{name:"border-color",type:s.color},{name:"border-opacity",type:s.zeroOneNumber},{name:"border-width",type:s.size,triggersBounds:o.any},{name:"border-style",type:s.borderStyle},{name:"border-cap",type:s.lineCap},{name:"border-join",type:s.lineJoin},{name:"border-dash-pattern",type:s.numbers},{name:"border-dash-offset",type:s.number},{name:"border-position",type:s.linePosition}],x=[{name:"outline-color",type:s.color},{name:"outline-opacity",type:s.zeroOneNumber},{name:"outline-width",type:s.size,triggersBounds:o.any},{name:"outline-style",type:s.borderStyle},{name:"outline-offset",type:s.size,triggersBounds:o.any}],k=[{name:"background-image",type:s.urls},{name:"background-image-crossorigin",type:s.bgCrossOrigin},{name:"background-image-opacity",type:s.zeroOneNumbers},{name:"background-image-containment",type:s.bgContainment},{name:"background-image-smoothing",type:s.bools},{name:"background-position-x",type:s.bgPos},{name:"background-position-y",type:s.bgPos},{name:"background-width-relative-to",type:s.bgRelativeTo},{name:"background-height-relative-to",type:s.bgRelativeTo},{name:"background-repeat",type:s.bgRepeat},{name:"background-fit",type:s.bgFit},{name:"background-clip",type:s.bgClip},{name:"background-width",type:s.bgWH},{name:"background-height",type:s.bgWH},{name:"background-offset-x",type:s.bgPos},{name:"background-offset-y",type:s.bgPos}],S=[{name:"position",type:s.position,triggersBounds:o.any},{name:"compound-sizing-wrt-labels",type:s.compoundIncludeLabels,triggersBounds:o.any},{name:"min-width",type:s.size,triggersBounds:o.any},{name:"min-width-bias-left",type:s.sizeMaybePercent,triggersBounds:o.any},{name:"min-width-bias-right",type:s.sizeMaybePercent,triggersBounds:o.any},{name:"min-height",type:s.size,triggersBounds:o.any},{name:"min-height-bias-top",type:s.sizeMaybePercent,triggersBounds:o.any},{name:"min-height-bias-bottom",type:s.sizeMaybePercent,triggersBounds:o.any}],E=[{name:"line-style",type:s.lineStyle},{name:"line-color",type:s.color},{name:"line-fill",type:s.fill},{name:"line-cap",type:s.lineCap},{name:"line-opacity",type:s.zeroOneNumber},{name:"line-dash-pattern",type:s.numbers},{name:"line-dash-offset",type:s.number},{name:"line-gradient-stop-colors",type:s.colors},{name:"line-gradient-stop-positions",type:s.percentages},{name:"curve-style",type:s.curveStyle,triggersBounds:o.any,triggersBoundsOfParallelBeziers:!0},{name:"haystack-radius",type:s.zeroOneNumber,triggersBounds:o.any},{name:"source-endpoint",type:s.edgeEndpoint,triggersBounds:o.any},{name:"target-endpoint",type:s.edgeEndpoint,triggersBounds:o.any},{name:"control-point-step-size",type:s.size,triggersBounds:o.any},{name:"control-point-distances",type:s.bidirectionalSizes,triggersBounds:o.any},{name:"control-point-weights",type:s.numbers,triggersBounds:o.any},{name:"segment-distances",type:s.bidirectionalSizes,triggersBounds:o.any},{name:"segment-weights",type:s.numbers,triggersBounds:o.any},{name:"segment-radii",type:s.numbers,triggersBounds:o.any},{name:"radius-type",type:s.radiusType,triggersBounds:o.any},{name:"taxi-turn",type:s.bidirectionalSizeMaybePercent,triggersBounds:o.any},{name:"taxi-turn-min-distance",type:s.size,triggersBounds:o.any},{name:"taxi-direction",type:s.axisDirection,triggersBounds:o.any},{name:"taxi-radius",type:s.number,triggersBounds:o.any},{name:"edge-distances",type:s.edgeDistances,triggersBounds:o.any},{name:"arrow-scale",type:s.positiveNumber,triggersBounds:o.any},{name:"loop-direction",type:s.angle,triggersBounds:o.any},{name:"loop-sweep",type:s.angle,triggersBounds:o.any},{name:"source-distance-from-node",type:s.size,triggersBounds:o.any},{name:"target-distance-from-node",type:s.size,triggersBounds:o.any}],_=[{name:"ghost",type:s.bool,triggersBounds:o.any},{name:"ghost-offset-x",type:s.bidirectionalSize,triggersBounds:o.any},{name:"ghost-offset-y",type:s.bidirectionalSize,triggersBounds:o.any},{name:"ghost-opacity",type:s.zeroOneNumber}],A=[{name:"selection-box-color",type:s.color},{name:"selection-box-opacity",type:s.zeroOneNumber},{name:"selection-box-border-color",type:s.color},{name:"selection-box-border-width",type:s.size},{name:"active-bg-color",type:s.color},{name:"active-bg-opacity",type:s.zeroOneNumber},{name:"active-bg-size",type:s.size},{name:"outside-texture-bg-color",type:s.color},{name:"outside-texture-bg-opacity",type:s.zeroOneNumber}],T=[];K3e.pieBackgroundN=16,T.push({name:"pie-size",type:s.sizeMaybePercent});for(var C=1;C<=K3e.pieBackgroundN;C++)T.push({name:"pie-"+C+"-background-color",type:s.color}),T.push({name:"pie-"+C+"-background-size",type:s.percent}),T.push({name:"pie-"+C+"-background-opacity",type:s.zeroOneNumber});var O=[],D=K3e.arrowPrefixes=["source","mid-source","target","mid-target"];[{name:"arrow-shape",type:s.arrowShape,triggersBounds:o.any},{name:"arrow-color",type:s.color},{name:"arrow-fill",type:s.arrowFill},{name:"arrow-width",type:s.arrowWidth}].forEach((function(e){D.forEach((function(t){var n=t+"-"+e.name,r=e.type,i=e.triggersBounds;O.push({name:n,type:r,triggersBounds:i})}))}),{});var M=K3e.properties=[].concat(f,b,p,m,g,_,d,h,c,l,u,v,w,x,k,T,S,E,O,A),I=K3e.propertyGroups={behavior:f,transition:b,visibility:p,overlay:m,underlay:g,ghost:_,commonLabel:d,labelDimensions:h,mainLabel:c,sourceLabel:l,targetLabel:u,nodeBody:v,nodeBorder:w,nodeOutline:x,backgroundImage:k,pie:T,compound:S,edgeLine:E,edgeArrow:O,core:A},P=K3e.propertyGroupNames={};(K3e.propertyGroupKeys=Object.keys(I)).forEach((function(e){P[e]=I[e].map((function(e){return e.name})),I[e].forEach((function(t){return t.groupKey=e}))}));var N=K3e.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"}];K3e.propertyNames=M.map((function(e){return e.name}));for(var L=0;L<M.length;L++){var R=M[L];M[R.name]=R}for(var j=0;j<N.length;j++){var B=N[j],F=M[B.pointsTo],z={name:B.name,alias:!0,pointsTo:F};M.push(z),M[B.name]=z}}(),K3e.getDefaultProperty=function(e){return this.getDefaultProperties()[e]},K3e.getDefaultProperties=function(){var e=this._private;if(null!=e.defaultProperties)return e.defaultProperties;for(var t=qYe({"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","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%"},[{name:"pie-{{i}}-background-color",value:"black"},{name:"pie-{{i}}-background-size",value:"0%"},{name:"pie-{{i}}-background-opacity",value:1}].reduce((function(e,t){for(var n=1;n<=K3e.pieBackgroundN;n++){var r=t.name.replace("{{i}}",n),i=t.value;e[r]=i}return e}),{}),{"line-style":"solid","line-color":"#999","line-fill":"solid","line-cap":"butt","line-opacity":1,"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(e,t){return K3e.arrowPrefixes.forEach((function(n){var r=n+"-"+t.name,i=t.value;e[r]=i})),e}),{})),n={},r=0;r<this.properties.length;r++){var i=this.properties[r];if(!i.pointsTo){var a=i.name,o=t[a],s=this.parse(a,o);n[a]=s}}return e.defaultProperties=n,e.defaultProperties},K3e.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 Y3e={parse:function(e,t,n,r){var i=this;if(vYe(t))return i.parseImplWarn(e,t,n,r);var a,o=RXe(e,""+t,n?"t":"f","mapping"===r||!0===r||!1===r||null==r?"dontcare":r),s=i.propCache=i.propCache||[];return(a=s[o])||(a=s[o]=i.parseImplWarn(e,t,n,r)),(n||"mapping"===r)&&(a=YXe(a))&&(a.value=YXe(a.value)),a},parseImplWarn:function(e,t,n,r){var i=this.parseImpl(e,t,n,r);return i||null==t||KXe("The style property `".concat(e,": ").concat(t,"` is invalid")),!i||"width"!==i.name&&"height"!==i.name||"label"!==t||KXe("The style value of `label` is deprecated for `"+i.name+"`"),i}};Y3e.parseImpl=function(e,t,n,r){var i=this;e=IYe(e);var a=i.properties[e],o=t,s=i.types;if(!a)return null;if(void 0===t)return null;a.alias&&(a=a.pointsTo,e=a.name);var c=yYe(t);c&&(t=t.trim());var l,u,h=a.type;if(!h)return null;if(n&&(""===t||null===t))return{name:e,value:t,bypass:!0,deleteBypass:!0};if(vYe(t))return{name:e,value:t,strValue:"fn",mapped:s.fn,bypass:n};if(!c||r||t.length<7||"a"!==t[1]);else{if(t.length>=7&&"d"===t[0]&&(l=new RegExp(s.data.regex).exec(t))){if(n)return!1;var d=s.data;return{name:e,value:l,strValue:""+t,mapped:d,field:l[1],bypass:n}}if(t.length>=10&&"m"===t[0]&&(u=new RegExp(s.mapData.regex).exec(t))){if(n)return!1;if(h.multiple)return!1;var f=s.mapData;if(!h.color&&!h.number)return!1;var p=this.parse(e,u[4]);if(!p||p.mapped)return!1;var m=this.parse(e,u[5]);if(!m||m.mapped)return!1;if(p.pfValue===m.pfValue||p.strValue===m.strValue)return KXe("`"+e+": "+t+"` is not a valid mapper because the output range is zero; converting to `"+e+": "+p.strValue+"`"),this.parse(e,p.strValue);if(h.color){var g=p.value,b=m.value;if(!(g[0]!==b[0]||g[1]!==b[1]||g[2]!==b[2]||g[3]!==b[3]&&(null!=g[3]&&1!==g[3]||null!=b[3]&&1!==b[3])))return!1}return{name:e,value:u,strValue:""+t,mapped:f,field:u[1],fieldMin:parseFloat(u[2]),fieldMax:parseFloat(u[3]),valueMin:p.value,valueMax:m.value,bypass:n}}}if(h.multiple&&"multiple"!==r){var y;if(y=c?t.split(/\s+/):wYe(t)?t:[t],h.evenMultiple&&y.length%2!=0)return null;for(var v=[],w=[],x=[],k="",S=!1,E=0;E<y.length;E++){var _=i.parse(e,y[E],n,"multiple");S=S||yYe(_.value),v.push(_.value),x.push(null!=_.pfValue?_.pfValue:_.value),w.push(_.units),k+=(E>0?" ":"")+_.strValue}return h.validate&&!h.validate(v,w)?null:h.singleEnum&&S?1===v.length&&yYe(v[0])?{name:e,value:v[0],strValue:v[0],bypass:n}:null:{name:e,value:v,pfValue:x,strValue:k,bypass:n,units:w}}var A,T=function(){for(var r=0;r<h.enums.length;r++){if(h.enums[r]===t)return{name:e,value:t,strValue:""+t,bypass:n}}return null};if(h.number){var C,O="px";if(h.units&&(C=h.units),h.implicitUnits&&(O=h.implicitUnits),!h.unitless)if(c){var D="px|em"+(h.allowPercent?"|\\%":"");C&&(D=C);var M=t.match("^("+RYe+")("+D+")?$");M&&(t=M[1],C=M[2]||O)}else C&&!h.implicitUnits||(C=O);if(t=parseFloat(t),isNaN(t)&&void 0===h.enums)return null;if(isNaN(t)&&void 0!==h.enums)return t=o,T();if(h.integer&&(!kYe(A=t)||Math.floor(A)!==A))return null;if(void 0!==h.min&&(t<h.min||h.strictMin&&t===h.min)||void 0!==h.max&&(t>h.max||h.strictMax&&t===h.max))return null;var I={name:e,value:t,strValue:""+t+(C||""),units:C,bypass:n};return h.unitless||"px"!==C&&"em"!==C?I.pfValue=t:I.pfValue="px"!==C&&C?this.getEmSizeInPixels()*t:t,"ms"!==C&&"s"!==C||(I.pfValue="ms"===C?t:1e3*t),"deg"!==C&&"rad"!==C||(I.pfValue="rad"===C?t:function(e){return Math.PI*e/180}(t)),"%"===C&&(I.pfValue=t/100),I}if(h.propList){var P=[],N=""+t;if("none"===N);else{for(var L=N.split(/\s*,\s*|\s+/),R=0;R<L.length;R++){var j=L[R].trim();i.properties[j]?P.push(j):KXe("`"+j+"` is not a valid property name")}if(0===P.length)return null}return{name:e,value:P,strValue:0===P.length?"none":P.join(" "),bypass:n}}if(h.color){var B=HYe(t);return B?{name:e,value:B,pfValue:B,strValue:"rgb("+B[0]+","+B[1]+","+B[2]+")",bypass:n}:null}if(h.regex||h.regexes){if(h.enums){var F=T();if(F)return F}for(var z=h.regexes?h.regexes:[h.regex],$=0;$<z.length;$++){var q=new RegExp(z[$]).exec(t);if(q)return{name:e,value:h.singleRegexMatchValue?q[1]:q,strValue:""+t,bypass:n}}return null}return h.string?{name:e,value:""+t,strValue:""+t,bypass:n}:h.enums?T():null};var X3e=function e(t){if(!(this instanceof e))return new e(t);TYe(t)?(this._private={cy:t,coreStyle:{}},this.length=0,this.resetToDefault()):WXe("A style must have a core reference")},Z3e=X3e.prototype;Z3e.instanceString=function(){return"style"},Z3e.clear=function(){for(var e=this._private,t=e.cy.elements(),n=0;n<this.length;n++)this[n]=void 0;return this.length=0,e.contextStyles={},e.propDiffs={},this.cleanElements(t,!0),t.forEach((function(e){var t=e[0]._private;t.styleDirty=!0,t.appliedInitStyle=!1})),this},Z3e.resetToDefault=function(){return this.clear(),this.addDefaultStylesheet(),this},Z3e.core=function(e){return this._private.coreStyle[e]||this.getDefaultProperty(e)},Z3e.selector=function(e){var t="core"===e?null:new F0e(e),n=this.length++;return this[n]={selector:t,properties:[],mappedProperties:[],index:n},this},Z3e.css=function(){var e=arguments;if(1===e.length)for(var t=e[0],n=0;n<this.properties.length;n++){var r=this.properties[n],i=t[r.name];void 0===i&&(i=t[PYe(r.name)]),void 0!==i&&this.cssRule(r.name,i)}else 2===e.length&&this.cssRule(e[0],e[1]);return this},Z3e.style=Z3e.css,Z3e.cssRule=function(e,t){var n=this.parse(e,t);if(n){var r=this.length-1;this[r].properties.push(n),this[r].properties[n.name]=n,n.name.match(/pie-(\d+)-background-size/)&&n.value&&(this._private.hasPie=!0),n.mapped&&this[r].mappedProperties.push(n),!this[r].selector&&(this._private.coreStyle[n.name]=n)}return this},Z3e.append=function(e){return CYe(e)?e.appendToStyle(this):wYe(e)?this.appendFromJson(e):yYe(e)&&this.appendFromString(e),this},X3e.fromJson=function(e,t){var n=new X3e(e);return n.fromJson(t),n},X3e.fromString=function(e,t){return new X3e(e).fromString(t)},[$3e,H3e,U3e,V3e,W3e,G3e,K3e,Y3e].forEach((function(e){qYe(Z3e,e)})),X3e.types=Z3e.types,X3e.properties=Z3e.properties,X3e.propertyGroups=Z3e.propertyGroups,X3e.propertyGroupNames=Z3e.propertyGroupNames,X3e.propertyGroupKeys=Z3e.propertyGroupKeys;var Q3e={style:function(e){e&&this.setStyle(e).update();return this._private.style},setStyle:function(e){var t=this._private;return CYe(e)?t.style=e.generateStyle(this):wYe(e)?t.style=X3e.fromJson(this,e):yYe(e)?t.style=X3e.fromString(this,e):t.style=X3e(this),t.style},updateStyle:function(){this.mutableElements().updateStyle()}},J3e={autolock:function(e){return void 0===e?this._private.autolock:(this._private.autolock=!!e,this)},autoungrabify:function(e){return void 0===e?this._private.autoungrabify:(this._private.autoungrabify=!!e,this)},autounselectify:function(e){return void 0===e?this._private.autounselectify:(this._private.autounselectify=!!e,this)},selectionType:function(e){var t=this._private;return null==t.selectionType&&(t.selectionType="single"),void 0===e?t.selectionType:("additive"!==e&&"single"!==e||(t.selectionType=e),this)},panningEnabled:function(e){return void 0===e?this._private.panningEnabled:(this._private.panningEnabled=!!e,this)},userPanningEnabled:function(e){return void 0===e?this._private.userPanningEnabled:(this._private.userPanningEnabled=!!e,this)},zoomingEnabled:function(e){return void 0===e?this._private.zoomingEnabled:(this._private.zoomingEnabled=!!e,this)},userZoomingEnabled:function(e){return void 0===e?this._private.userZoomingEnabled:(this._private.userZoomingEnabled=!!e,this)},boxSelectionEnabled:function(e){return void 0===e?this._private.boxSelectionEnabled:(this._private.boxSelectionEnabled=!!e,this)},pan:function(){var e,t,n,r,i,a=arguments,o=this._private.pan;switch(a.length){case 0:return o;case 1:if(yYe(a[0]))return o[e=a[0]];if(xYe(a[0])){if(!this._private.panningEnabled)return this;r=(n=a[0]).x,i=n.y,kYe(r)&&(o.x=r),kYe(i)&&(o.y=i),this.emit("pan viewport")}break;case 2:if(!this._private.panningEnabled)return this;t=a[1],"x"!==(e=a[0])&&"y"!==e||!kYe(t)||(o[e]=t),this.emit("pan viewport")}return this.notify("viewport"),this},panBy:function(e,t){var n,r,i,a,o,s=arguments,c=this._private.pan;if(!this._private.panningEnabled)return this;switch(s.length){case 1:xYe(e)&&(a=(i=s[0]).x,o=i.y,kYe(a)&&(c.x+=a),kYe(o)&&(c.y+=o),this.emit("pan viewport"));break;case 2:r=t,"x"!==(n=e)&&"y"!==n||!kYe(r)||(c[n]+=r),this.emit("pan viewport")}return this.notify("viewport"),this},fit:function(e,t){var n=this.getFitViewport(e,t);if(n){var r=this._private;r.zoom=n.zoom,r.pan=n.pan,this.emit("pan zoom viewport"),this.notify("viewport")}return this},getFitViewport:function(e,t){if(kYe(e)&&void 0===t&&(t=e,e=void 0),this._private.panningEnabled&&this._private.zoomingEnabled){var n,r;if(yYe(e)){var i=e;e=this.$(i)}else if(xYe(r=e)&&kYe(r.x1)&&kYe(r.x2)&&kYe(r.y1)&&kYe(r.y2)){var a=e;(n={x1:a.x1,y1:a.y1,x2:a.x2,y2:a.y2}).w=n.x2-n.x1,n.h=n.y2-n.y1}else EYe(e)||(e=this.mutableElements());if(!EYe(e)||!e.empty()){n=n||e.boundingBox();var o,s=this.width(),c=this.height();if(t=kYe(t)?t:0,!isNaN(s)&&!isNaN(c)&&s>0&&c>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0)return{zoom:o=(o=(o=Math.min((s-2*t)/n.w,(c-2*t)/n.h))>this._private.maxZoom?this._private.maxZoom:o)<this._private.minZoom?this._private.minZoom:o,pan:{x:(s-o*(n.x1+n.x2))/2,y:(c-o*(n.y1+n.y2))/2}}}}},zoomRange:function(e,t){var n=this._private;if(null==t){var r=e;e=r.min,t=r.max}return kYe(e)&&kYe(t)&&e<=t?(n.minZoom=e,n.maxZoom=t):kYe(e)&&void 0===t&&e<=n.maxZoom?n.minZoom=e:kYe(t)&&void 0===e&&t>=n.minZoom&&(n.maxZoom=t),this},minZoom:function(e){return void 0===e?this._private.minZoom:this.zoomRange({min:e})},maxZoom:function(e){return void 0===e?this._private.maxZoom:this.zoomRange({max:e})},getZoomedViewport:function(e){var t,n,r=this._private,i=r.pan,a=r.zoom,o=!1;if(r.zoomingEnabled||(o=!0),kYe(e)?n=e:xYe(e)&&(n=e.level,null!=e.position?t=_Ze(e.position,a,i):null!=e.renderedPosition&&(t=e.renderedPosition),null==t||r.panningEnabled||(o=!0)),n=(n=n>r.maxZoom?r.maxZoom:n)<r.minZoom?r.minZoom:n,o||!kYe(n)||n===a||null!=t&&(!kYe(t.x)||!kYe(t.y)))return null;if(null!=t){var s=i,c=a,l=n;return{zoomed:!0,panned:!0,zoom:l,pan:{x:-l/c*(t.x-s.x)+t.x,y:-l/c*(t.y-s.y)+t.y}}}return{zoomed:!0,panned:!1,zoom:n,pan:i}},zoom:function(e){if(void 0===e)return this._private.zoom;var t=this.getZoomedViewport(e),n=this._private;return null!=t&&t.zoomed?(n.zoom=t.zoom,t.panned&&(n.pan.x=t.pan.x,n.pan.y=t.pan.y),this.emit("zoom"+(t.panned?" pan":"")+" viewport"),this.notify("viewport"),this):this},viewport:function(e){var t=this._private,n=!0,r=!0,i=[],a=!1,o=!1;if(!e)return this;if(kYe(e.zoom)||(n=!1),xYe(e.pan)||(r=!1),!n&&!r)return this;if(n){var s=e.zoom;s<t.minZoom||s>t.maxZoom||!t.zoomingEnabled?a=!0:(t.zoom=s,i.push("zoom"))}if(r&&(!a||!e.cancelOnFailedZoom)&&t.panningEnabled){var c=e.pan;kYe(c.x)&&(t.pan.x=c.x,o=!1),kYe(c.y)&&(t.pan.y=c.y,o=!1),o||i.push("pan")}return i.length>0&&(i.push("viewport"),this.emit(i.join(" ")),this.notify("viewport")),this},center:function(e){var t=this.getCenterPan(e);return t&&(this._private.pan=t,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(e,t){if(this._private.panningEnabled){if(yYe(e)){var n=e;e=this.mutableElements().filter(n)}else EYe(e)||(e=this.mutableElements());if(0!==e.length){var r=e.boundingBox(),i=this.width(),a=this.height();return{x:(i-(t=void 0===t?this._private.zoom:t)*(r.x1+r.x2))/2,y:(a-t*(r.y1+r.y2))/2}}}},reset:function(){return this._private.panningEnabled&&this._private.zoomingEnabled?(this.viewport({pan:{x:0,y:0},zoom:1}),this):this},invalidateSize:function(){this._private.sizeCache=null},size:function(){var e,t,n=this._private,r=n.container,i=this;return n.sizeCache=n.sizeCache||(r?(e=i.window().getComputedStyle(r),t=function(t){return parseFloat(e.getPropertyValue(t))},{width:r.clientWidth-t("padding-left")-t("padding-right"),height:r.clientHeight-t("padding-top")-t("padding-bottom")}):{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var e=this._private.pan,t=this._private.zoom,n=this.renderedExtent(),r={x1:(n.x1-e.x)/t,x2:(n.x2-e.x)/t,y1:(n.y1-e.y)/t,y2:(n.y2-e.y)/t};return r.w=r.x2-r.x1,r.h=r.y2-r.y1,r},renderedExtent:function(){var e=this.width(),t=this.height();return{x1:0,y1:0,x2:e,y2:t,w:e,h:t}},multiClickDebounceTime:function(e){return e?(this._private.multiClickDebounceTime=e,this):this._private.multiClickDebounceTime}};J3e.centre=J3e.center,J3e.autolockNodes=J3e.autolock,J3e.autoungrabifyNodes=J3e.autoungrabify;var e4e={data:t0e.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:t0e.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:t0e.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:t0e.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};e4e.attr=e4e.data,e4e.removeAttr=e4e.removeData;var t4e=function(e){var t=this,n=(e=qYe({},e)).container;n&&!SYe(n)&&SYe(n[0])&&(n=n[0]);var r=n?n._cyreg:null;(r=r||{})&&r.cy&&(r.cy.destroy(),r={});var i=r.readies=r.readies||[];n&&(n._cyreg=r),r.cy=t;var a=void 0!==hYe&&void 0!==n&&!e.headless,o=e;o.layout=qYe({name:a?"grid":"null"},o.layout),o.renderer=qYe({name:a?"canvas":"null"},o.renderer);var s=function(e,t,n){return void 0!==t?t:void 0!==n?n:e},c=this._private={container:n,ready:!1,options:o,elements:new b3e(this),listeners:[],aniEles:new b3e(this),data:o.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:s(!0,o.zoomingEnabled),userZoomingEnabled:s(!0,o.userZoomingEnabled),panningEnabled:s(!0,o.panningEnabled),userPanningEnabled:s(!0,o.userPanningEnabled),boxSelectionEnabled:s(!0,o.boxSelectionEnabled),autolock:s(!1,o.autolock,o.autolockNodes),autoungrabify:s(!1,o.autoungrabify,o.autoungrabifyNodes),autounselectify:s(!1,o.autounselectify),styleEnabled:void 0===o.styleEnabled?a:o.styleEnabled,zoom:kYe(o.zoom)?o.zoom:1,pan:{x:xYe(o.pan)&&kYe(o.pan.x)?o.pan.x:0,y:xYe(o.pan)&&kYe(o.pan.y)?o.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:s(250,o.multiClickDebounceTime)};this.createEmitter(),this.selectionType(o.selectionType),this.zoomRange({min:o.minZoom,max:o.maxZoom});c.styleEnabled&&t.setStyle([]);var l=qYe({},o,o.renderer);t.initRenderer(l);!function(e,t){if(e.some(DYe))return TJe.all(e).then(t);t(e)}([o.style,o.elements],(function(e){var n=e[0],a=e[1];c.styleEnabled&&t.style().append(n),function(e,n,r){t.notifications(!1);var i=t.mutableElements();i.length>0&&i.remove(),null!=e&&(xYe(e)||wYe(e))&&t.add(e),t.one("layoutready",(function(e){t.notifications(!0),t.emit(e),t.one("load",n),t.emitAndNotify("load")})).one("layoutstop",(function(){t.one("done",r),t.emit("done")}));var a=qYe({},t._private.options.layout);a.eles=t.elements(),t.layout(a).run()}(a,(function(){t.startAnimationLoop(),c.ready=!0,vYe(o.ready)&&t.on("ready",o.ready);for(var e=0;e<i.length;e++){var n=i[e];t.on("ready",n)}r&&(r.readies=[]),t.emit("ready")}),o.done)}))},n4e=t4e.prototype;qYe(n4e,{instanceString:function(){return"core"},isReady:function(){return this._private.ready},destroyed:function(){return this._private.destroyed},ready:function(e){return this.isReady()?this.emitter().emit("ready",[],e):this.on("ready",e),this},destroy:function(){var e=this;if(!e.destroyed())return e.stopAnimationLoop(),e.destroyRenderer(),this.emit("destroy"),e._private.destroyed=!0,e},hasElementWithId:function(e){return this._private.elements.hasElementWithId(e)},getElementById:function(e){return this._private.elements.getElementById(e)},hasCompoundNodes:function(){return this._private.hasCompoundNodes},headless:function(){return this._private.renderer.isHeadless()},styleEnabled:function(){return this._private.styleEnabled},addToPool:function(e){return this._private.elements.merge(e),this},removeFromPool:function(e){return this._private.elements.unmerge(e),this},container:function(){return this._private.container||null},window:function(){if(null==this._private.container)return hYe;var e=this._private.container.ownerDocument;return void 0===e||null==e?hYe:e.defaultView||hYe},mount:function(e){if(null!=e){var t=this,n=t._private,r=n.options;return!SYe(e)&&SYe(e[0])&&(e=e[0]),t.stopAnimationLoop(),t.destroyRenderer(),n.container=e,n.styleEnabled=!0,t.invalidateSize(),t.initRenderer(qYe({},r,r.renderer,{name:"null"===r.renderer.name?"canvas":r.renderer.name})),t.startAnimationLoop(),t.style(r.style),t.emit("mount"),t}},unmount:function(){var e=this;return e.stopAnimationLoop(),e.destroyRenderer(),e.initRenderer({name:"null"}),e.emit("unmount"),e},options:function(){return YXe(this._private.options)},json:function(e){var t=this,n=t._private,r=t.mutableElements();if(xYe(e)){if(t.startBatch(),e.elements){var i={},a=function(e,n){for(var r=[],a=[],o=0;o<e.length;o++){var s=e[o];if(s.data.id){var c=""+s.data.id,l=t.getElementById(c);i[c]=!0,0!==l.length?a.push({ele:l,json:s}):n?(s.group=n,r.push(s)):r.push(s)}else KXe("cy.json() cannot handle elements without an ID attribute")}t.add(r);for(var u=0;u<a.length;u++){var h=a[u],d=h.ele,f=h.json;d.json(f)}};if(wYe(e.elements))a(e.elements);else for(var o=["nodes","edges"],s=0;s<o.length;s++){var c=o[s],l=e.elements[c];wYe(l)&&a(l,c)}var u=t.collection();r.filter((function(e){return!i[e.id()]})).forEach((function(e){e.isParent()?u.merge(e):e.remove()})),u.forEach((function(e){return e.children().move({parent:null})})),u.forEach((function(e){return function(e){return t.getElementById(e.id())}(e).remove()}))}e.style&&t.style(e.style),null!=e.zoom&&e.zoom!==n.zoom&&t.zoom(e.zoom),e.pan&&(e.pan.x===n.pan.x&&e.pan.y===n.pan.y||t.pan(e.pan)),e.data&&t.data(e.data);for(var h=["minZoom","maxZoom","zoomingEnabled","userZoomingEnabled","panningEnabled","userPanningEnabled","boxSelectionEnabled","autolock","autoungrabify","autounselectify","multiClickDebounceTime"],d=0;d<h.length;d++){var f=h[d];null!=e[f]&&t[f](e[f])}return t.endBatch(),this}var p={};!!e?p.elements=this.elements().map((function(e){return e.json()})):(p.elements={},r.forEach((function(e){var t=e.group();p.elements[t]||(p.elements[t]=[]),p.elements[t].push(e.json())}))),this._private.styleEnabled&&(p.style=t.style().json()),p.data=YXe(t.data());var m=n.options;return p.zoomingEnabled=n.zoomingEnabled,p.userZoomingEnabled=n.userZoomingEnabled,p.zoom=n.zoom,p.minZoom=n.minZoom,p.maxZoom=n.maxZoom,p.panningEnabled=n.panningEnabled,p.userPanningEnabled=n.userPanningEnabled,p.pan=YXe(n.pan),p.boxSelectionEnabled=n.boxSelectionEnabled,p.renderer=YXe(m.renderer),p.hideEdgesOnViewport=m.hideEdgesOnViewport,p.textureOnViewport=m.textureOnViewport,p.wheelSensitivity=m.wheelSensitivity,p.motionBlur=m.motionBlur,p.multiClickDebounceTime=m.multiClickDebounceTime,p}}),n4e.$id=n4e.getElementById,[v3e,M3e,N3e,L3e,R3e,j3e,F3e,z3e,Q3e,J3e,e4e].forEach((function(e){qYe(n4e,e)}));var r4e={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(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}},i4e={maximal:!1,acyclic:!1},a4e=function(e){return e.scratch("breadthfirst")},o4e=function(e,t){return e.scratch("breadthfirst",t)};function s4e(e){this.options=qYe({},r4e,i4e,e)}s4e.prototype.run=function(){var e,t=this.options,n=t,r=t.cy,i=n.eles,a=i.nodes().filter((function(e){return!e.isParent()})),o=i,s=n.directed,c=n.acyclic||n.maximal||n.maximalAdjustments>0,l=jZe(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(EYe(n.roots))e=n.roots;else if(wYe(n.roots)){for(var u=[],h=0;h<n.roots.length;h++){var d=n.roots[h],f=r.getElementById(d);u.push(f)}e=r.collection(u)}else if(yYe(n.roots))e=r.$(n.roots);else if(s)e=a.roots();else{var p=i.components();e=r.collection();for(var m=function(t){var n=p[t],r=n.maxDegree(!1),i=n.filter((function(e){return e.degree(!1)===r}));e=e.add(i)},g=0;g<p.length;g++)m(g)}var b=[],y={},v=function(e,t){null==b[t]&&(b[t]=[]);var n=b[t].length;b[t].push(e),o4e(e,{index:n,depth:t})};o.bfs({roots:e,directed:n.directed,visit:function(e,t,n,r,i){var a=e[0],o=a.id();v(a,i),y[o]=!0}});for(var w=[],x=0;x<a.length;x++){var k=a[x];y[k.id()]||w.push(k)}var S=function(e){for(var t=b[e],n=0;n<t.length;n++){var r=t[n];null!=r?o4e(r,{depth:e,index:n}):(t.splice(n,1),n--)}},E=function(){for(var e=0;e<b.length;e++)S(e)},_=function(e,t){for(var r=a4e(e),a=e.incomers().filter((function(e){return e.isNode()&&i.has(e)})),o=-1,s=e.id(),c=0;c<a.length;c++){var l=a[c],u=a4e(l);o=Math.max(o,u.depth)}if(r.depth<=o){if(!n.acyclic&&t[s])return null;var h=o+1;return function(e,t){var n=a4e(e),r=n.depth,i=n.index;b[r][i]=null,v(e,t)}(e,h),t[s]=h,!0}return!1};if(s&&c){var A=[],T={},C=function(e){return A.push(e)};for(a.forEach((function(e){return A.push(e)}));A.length>0;){var O=A.shift(),D=_(O,T);if(D)O.outgoers().filter((function(e){return e.isNode()&&i.has(e)})).forEach(C);else if(null===D){KXe("Detected double maximal shift for node `"+O.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}E();var M=0;if(n.avoidOverlap)for(var I=0;I<a.length;I++){var P=a[I].layoutDimensions(n),N=P.w,L=P.h;M=Math.max(M,N,L)}var R={},j=function(e){if(R[e.id()])return R[e.id()];for(var t=a4e(e).depth,n=e.neighborhood(),r=0,i=0,o=0;o<n.length;o++){var s=n[o];if(!s.isEdge()&&!s.isParent()&&a.has(s)){var c=a4e(s);if(null!=c){var l=c.index,u=c.depth;if(null!=l&&null!=u){var h=b[u].length;u<t&&(r+=l/h,i++)}}}}return r/=i=Math.max(1,i),0===i&&(r=0),R[e.id()]=r,r},B=function(e,t){var n=j(e)-j(t);return 0===n?$Ye(e.id(),t.id()):n};void 0!==n.depthSort&&(B=n.depthSort);for(var F=0;F<b.length;F++)b[F].sort(B),S(F);for(var z=[],$=0;$<w.length;$++)z.push(w[$]);b.unshift(z),E();for(var q=0,H=0;H<b.length;H++)q=Math.max(b[H].length,q);var U=l.x1+l.w/2,V=l.x1+l.h/2,W=b.reduce((function(e,t){return Math.max(e,t.length)}),0);return i.nodes().layoutPositions(this,n,(function(e){var t=a4e(e),r=t.depth,i=t.index,a=b[r].length,o=Math.max(l.w/((n.grid?W:a)+1),M),s=Math.max(l.h/(b.length+1),M),c=Math.min(l.w/2/b.length,l.h/2/b.length);if(c=Math.max(c,M),n.circle){var u=c*r+c-(b.length>0&&b[0].length<=3?c/2:0),h=2*Math.PI/b[r].length*i;return 0===r&&1===b[0].length&&(u=1),{x:U+u*Math.cos(h),y:V+u*Math.sin(h)}}return{x:U+(i+1-(a+1)/2)*o,y:(r+1)*s}})),this};var c4e={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(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function l4e(e){this.options=qYe({},c4e,e)}l4e.prototype.run=function(){var e=this.options,t=e,n=e.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=jZe(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),c=s.x1+s.w/2,l=s.y1+s.h/2,u=(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),p=f.w,m=f.h;h=Math.max(h,p,m)}if(o=kYe(t.radius)?t.radius:a.length<=1?0:Math.min(s.h,s.w)/2-h,a.length>1&&t.avoidOverlap){h*=1.75;var g=Math.cos(u)-Math.cos(0),b=Math.sin(u)-Math.sin(0),y=Math.sqrt(h*h/(g*g+b*b));o=Math.max(y,o)}return r.nodes().layoutPositions(this,t,(function(e,n){var r=t.startAngle+n*u*(i?1:-1),a=o*Math.cos(r),s=o*Math.sin(r);return{x:c+a,y:l+s}})),this};var u4e,h4e={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(e){return e.degree()},levelWidth:function(e){return e.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function d4e(e){this.options=qYe({},h4e,e)}d4e.prototype.run=function(){for(var e=this.options,t=e,n=void 0!==t.counterclockwise?!t.counterclockwise:t.clockwise,r=e.cy,i=t.eles,a=i.nodes().not(":parent"),o=jZe(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),s=o.x1+o.w/2,c=o.y1+o.h/2,l=[],u=0,h=0;h<a.length;h++){var d,f=a[h];d=t.concentric(f),l.push({value:d,node:f}),f._private.scratch.concentric=d}a.updateStyle();for(var p=0;p<a.length;p++){var m=a[p].layoutDimensions(t);u=Math.max(u,m.w,m.h)}l.sort((function(e,t){return t.value-e.value}));for(var g=t.levelWidth(a),b=[[]],y=b[0],v=0;v<l.length;v++){var w=l[v];if(y.length>0)Math.abs(y[0].value-w.value)>=g&&(y=[],b.push(y));y.push(w)}var x=u+t.minNodeSpacing;if(!t.avoidOverlap){var k=b.length>0&&b[0].length>1,S=(Math.min(o.w,o.h)/2-x)/(b.length+k?1:0);x=Math.min(x,S)}for(var E=0,_=0;_<b.length;_++){var A=b[_],T=void 0===t.sweep?2*Math.PI-2*Math.PI/A.length:t.sweep,C=A.dTheta=T/Math.max(1,A.length-1);if(A.length>1&&t.avoidOverlap){var O=Math.cos(C)-Math.cos(0),D=Math.sin(C)-Math.sin(0),M=Math.sqrt(x*x/(O*O+D*D));E=Math.max(M,E)}A.r=E,E+=x}if(t.equidistant){for(var I=0,P=0,N=0;N<b.length;N++){var L=b[N].r-P;I=Math.max(I,L)}P=0;for(var R=0;R<b.length;R++){var j=b[R];0===R&&(P=j.r),j.r=P,P+=I}}for(var B={},F=0;F<b.length;F++)for(var z=b[F],$=z.dTheta,q=z.r,H=0;H<z.length;H++){var U=z[H],V=t.startAngle+(n?1:-1)*$*H,W={x:s+q*Math.cos(V),y:c+q*Math.sin(V)};B[U.node.id()]=W}return i.nodes().layoutPositions(this,t,(function(e){var t=e.id();return B[t]})),this};var f4e={ready:function(){},stop:function(){},animate:!0,animationEasing:void 0,animationDuration:void 0,animateFilter:function(e,t){return!0},animationThreshold:250,refresh:20,fit:!0,padding:30,boundingBox:void 0,nodeDimensionsIncludeLabels:!1,randomize:!1,componentSpacing:40,nodeRepulsion:function(e){return 2048},nodeOverlap:4,idealEdgeLength:function(e){return 32},edgeElasticity:function(e){return 32},nestingFactor:1.2,gravity:1,numIter:1e3,initialTemp:1e3,coolingFactor:.99,minTemp:1};function p4e(e){this.options=qYe({},f4e,e),this.options.layout=this;var t=this.options.eles.nodes(),n=this.options.eles.edges().filter((function(e){var n=e.source().data("id"),r=e.target().data("id"),i=t.some((function(e){return e.data("id")===n})),a=t.some((function(e){return e.data("id")===r}));return!i||!a}));this.options.eles=this.options.eles.not(n)}p4e.prototype.run=function(){var e=this.options,t=e.cy,n=this;n.stopped=!1,!0!==e.animate&&!1!==e.animate||n.emit({type:"layoutstart",layout:n}),u4e=!0===e.debug;var r=m4e(t,n,e);u4e&&undefined(r),e.randomize&&y4e(r);var i=TXe(),a=function(){w4e(r,t,e),!0===e.fit&&t.fit(e.padding)},o=function(t){return!(n.stopped||t>=e.numIter)&&(x4e(r,e),r.temperature=r.temperature*e.coolingFactor,!(r.temperature<e.minTemp))},s=function(){if(!0===e.animate||!1===e.animate)a(),n.one("layoutstop",e.stop),n.emit({type:"layoutstop",layout:n});else{var t=e.eles.nodes(),i=v4e(r,e,t);t.layoutPositions(n,e,i)}},c=0,l=!0;if(!0===e.animate){!function t(){for(var n=0;l&&n<e.refresh;)l=o(c),c++,n++;l?(TXe()-i>=e.animationThreshold&&a(),AXe(t)):(P4e(r,e),s())}()}else{for(;l;)l=o(c),c++;P4e(r,e),s()}return this},p4e.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this},p4e.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var m4e=function(e,t,n){for(var r=n.eles.edges(),i=n.eles.nodes(),a=jZe(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),o={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:i.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:r.size(),temperature:n.initialTemp,clientWidth:a.w,clientHeight:a.h,boundingBox:a},s=n.eles.components(),c={},l=0;l<s.length;l++)for(var u=s[l],h=0;h<u.length;h++){c[u[h].id()]=l}for(l=0;l<o.nodeSize;l++){var d=(b=i[l]).layoutDimensions(n);(P={}).isLocked=b.locked(),P.id=b.data("id"),P.parentId=b.data("parent"),P.cmptId=c[b.id()],P.children=[],P.positionX=b.position("x"),P.positionY=b.position("y"),P.offsetX=0,P.offsetY=0,P.height=d.w,P.width=d.h,P.maxX=P.positionX+P.width/2,P.minX=P.positionX-P.width/2,P.maxY=P.positionY+P.height/2,P.minY=P.positionY-P.height/2,P.padLeft=parseFloat(b.style("padding")),P.padRight=parseFloat(b.style("padding")),P.padTop=parseFloat(b.style("padding")),P.padBottom=parseFloat(b.style("padding")),P.nodeRepulsion=vYe(n.nodeRepulsion)?n.nodeRepulsion(b):n.nodeRepulsion,o.layoutNodes.push(P),o.idToIndex[P.id]=l}var f=[],p=0,m=-1,g=[];for(l=0;l<o.nodeSize;l++){var b,y=(b=o.layoutNodes[l]).parentId;null!=y?o.layoutNodes[o.idToIndex[y]].children.push(b.id):(f[++m]=b.id,g.push(b.id))}for(o.graphSet.push(g);p<=m;){var v=f[p++],w=o.idToIndex[v],x=o.layoutNodes[w].children;if(x.length>0){o.graphSet.push(x);for(l=0;l<x.length;l++)f[++m]=x[l]}}for(l=0;l<o.graphSet.length;l++){var k=o.graphSet[l];for(h=0;h<k.length;h++){var S=o.idToIndex[k[h]];o.indexToGraph[S]=l}}for(l=0;l<o.edgeSize;l++){var E=r[l],_={};_.id=E.data("id"),_.sourceId=E.data("source"),_.targetId=E.data("target");var A=vYe(n.idealEdgeLength)?n.idealEdgeLength(E):n.idealEdgeLength,T=vYe(n.edgeElasticity)?n.edgeElasticity(E):n.edgeElasticity,C=o.idToIndex[_.sourceId],O=o.idToIndex[_.targetId];if(o.indexToGraph[C]!=o.indexToGraph[O]){for(var D=g4e(_.sourceId,_.targetId,o),M=o.graphSet[D],I=0,P=o.layoutNodes[C];-1===M.indexOf(P.id);)P=o.layoutNodes[o.idToIndex[P.parentId]],I++;for(P=o.layoutNodes[O];-1===M.indexOf(P.id);)P=o.layoutNodes[o.idToIndex[P.parentId]],I++;A*=I*n.nestingFactor}_.idealLength=A,_.elasticity=T,o.layoutEdges.push(_)}return o},g4e=function(e,t,n){var r=b4e(e,t,0,n);return 2>r.count?0:r.graph},b4e=function e(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 c=a[s],l=i.idToIndex[c],u=i.layoutNodes[l].children;if(0!==u.length){var h=e(t,n,i.indexToGraph[i.idToIndex[u[0]]],i);if(0!==h.count){if(1!==h.count)return h;if(2===++o)break}}}return{count:o,graph:r}},y4e=function(e,t){for(var n=e.clientWidth,r=e.clientHeight,i=0;i<e.nodeSize;i++){var a=e.layoutNodes[i];0!==a.children.length||a.isLocked||(a.positionX=Math.random()*n,a.positionY=Math.random()*r)}},v4e=function(e,t,n){var r=e.boundingBox,i={x1:1/0,x2:-1/0,y1:1/0,y2:-1/0};return t.boundingBox&&(n.forEach((function(t){var n=e.layoutNodes[e.idToIndex[t.data("id")]];i.x1=Math.min(i.x1,n.positionX),i.x2=Math.max(i.x2,n.positionX),i.y1=Math.min(i.y1,n.positionY),i.y2=Math.max(i.y2,n.positionY)})),i.w=i.x2-i.x1,i.h=i.y2-i.y1),function(n,a){var o=e.layoutNodes[e.idToIndex[n.data("id")]];if(t.boundingBox){var s=(o.positionX-i.x1)/i.w,c=(o.positionY-i.y1)/i.h;return{x:r.x1+s*r.w,y:r.y1+c*r.h}}return{x:o.positionX,y:o.positionY}}},w4e=function(e,t,n){var r=n.layout,i=n.eles.nodes(),a=v4e(e,n,i);i.positions(a),!0!==e.ready&&(e.ready=!0,r.one("layoutready",n.ready),r.emit({type:"layoutready",layout:this}))},x4e=function(e,t,n){k4e(e,t),T4e(e),C4e(e,t),O4e(e),D4e(e)},k4e=function(e,t){for(var n=0;n<e.graphSet.length;n++)for(var r=e.graphSet[n],i=r.length,a=0;a<i;a++)for(var o=e.layoutNodes[e.idToIndex[r[a]]],s=a+1;s<i;s++){var c=e.layoutNodes[e.idToIndex[r[s]]];E4e(o,c,e,t)}},S4e=function(e){return-e+2*e*Math.random()},E4e=function(e,t,n,r){if(e.cmptId===t.cmptId||n.isCompound){var i=t.positionX-e.positionX,a=t.positionY-e.positionY;0===i&&0===a&&(i=S4e(1),a=S4e(1));var o=_4e(e,t,i,a);if(o>0)var s=(l=r.nodeOverlap*o)*i/(m=Math.sqrt(i*i+a*a)),c=l*a/m;else{var l,u=A4e(e,i,a),h=A4e(t,-1*i,-1*a),d=h.x-u.x,f=h.y-u.y,p=d*d+f*f,m=Math.sqrt(p);s=(l=(e.nodeRepulsion+t.nodeRepulsion)/p)*d/m,c=l*f/m}e.isLocked||(e.offsetX-=s,e.offsetY-=c),t.isLocked||(t.offsetX+=s,t.offsetY+=c)}},_4e=function(e,t,n,r){if(n>0)var i=e.maxX-t.minX;else i=t.maxX-e.minX;if(r>0)var a=e.maxY-t.minY;else a=t.maxY-e.minY;return i>=0&&a>=0?Math.sqrt(i*i+a*a):0},A4e=function(e,t,n){var r=e.positionX,i=e.positionY,a=e.height||1,o=e.width||1,s=n/t,c=a/o,l={};return 0===t&&0<n||0===t&&0>n?(l.x=r,l.y=i+a/2,l):0<t&&-1*c<=s&&s<=c?(l.x=r+o/2,l.y=i+o*n/2/t,l):0>t&&-1*c<=s&&s<=c?(l.x=r-o/2,l.y=i-o*n/2/t,l):0<n&&(s<=-1*c||s>=c)?(l.x=r+a*t/2/n,l.y=i+a/2,l):0>n&&(s<=-1*c||s>=c)?(l.x=r-a*t/2/n,l.y=i-a/2,l):l},T4e=function(e,t){for(var n=0;n<e.edgeSize;n++){var r=e.layoutEdges[n],i=e.idToIndex[r.sourceId],a=e.layoutNodes[i],o=e.idToIndex[r.targetId],s=e.layoutNodes[o],c=s.positionX-a.positionX,l=s.positionY-a.positionY;if(0!==c||0!==l){var u=A4e(a,c,l),h=A4e(s,-1*c,-1*l),d=h.x-u.x,f=h.y-u.y,p=Math.sqrt(d*d+f*f),m=Math.pow(r.idealLength-p,2)/r.elasticity;if(0!==p)var g=m*d/p,b=m*f/p;else g=0,b=0;a.isLocked||(a.offsetX+=g,a.offsetY+=b),s.isLocked||(s.offsetX-=g,s.offsetY-=b)}}},C4e=function(e,t){if(0!==t.gravity)for(var n=0;n<e.graphSet.length;n++){var r=e.graphSet[n],i=r.length;if(0===n)var a=e.clientHeight/2,o=e.clientWidth/2;else{var s=e.layoutNodes[e.idToIndex[r[0]]],c=e.layoutNodes[e.idToIndex[s.parentId]];a=c.positionX,o=c.positionY}for(var l=0;l<i;l++){var u=e.layoutNodes[e.idToIndex[r[l]]];if(!u.isLocked){var h=a-u.positionX,d=o-u.positionY,f=Math.sqrt(h*h+d*d);if(f>1){var p=t.gravity*h/f,m=t.gravity*d/f;u.offsetX+=p,u.offsetY+=m}}}}},O4e=function(e,t){var n=[],r=0,i=-1;for(n.push.apply(n,e.graphSet[0]),i+=e.graphSet[0].length;r<=i;){var a=n[r++],o=e.idToIndex[a],s=e.layoutNodes[o],c=s.children;if(0<c.length&&!s.isLocked){for(var l=s.offsetX,u=s.offsetY,h=0;h<c.length;h++){var d=e.layoutNodes[e.idToIndex[c[h]]];d.offsetX+=l,d.offsetY+=u,n[++i]=c[h]}s.offsetX=0,s.offsetY=0}}},D4e=function(e,t){for(var n=0;n<e.nodeSize;n++){0<(i=e.layoutNodes[n]).children.length&&(i.maxX=void 0,i.minX=void 0,i.maxY=void 0,i.minY=void 0)}for(n=0;n<e.nodeSize;n++){if(!(0<(i=e.layoutNodes[n]).children.length||i.isLocked)){var r=M4e(i.offsetX,i.offsetY,e.temperature);i.positionX+=r.x,i.positionY+=r.y,i.offsetX=0,i.offsetY=0,i.minX=i.positionX-i.width,i.maxX=i.positionX+i.width,i.minY=i.positionY-i.height,i.maxY=i.positionY+i.height,I4e(i,e)}}for(n=0;n<e.nodeSize;n++){var i;0<(i=e.layoutNodes[n]).children.length&&!i.isLocked&&(i.positionX=(i.maxX+i.minX)/2,i.positionY=(i.maxY+i.minY)/2,i.width=i.maxX-i.minX,i.height=i.maxY-i.minY)}},M4e=function(e,t,n){var r=Math.sqrt(e*e+t*t);if(r>n)var i={x:n*e/r,y:n*t/r};else i={x:e,y:t};return i},I4e=function e(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?e(i,n):void 0}},P4e=function(e,t){for(var n=e.layoutNodes,r=[],i=0;i<n.length;i++){var a=n[i],o=a.cmptId;(r[o]=r[o]||[]).push(a)}var s=0;for(i=0;i<r.length;i++){if(m=r[i]){m.x1=1/0,m.x2=-1/0,m.y1=1/0,m.y2=-1/0;for(var c=0;c<m.length;c++){var l=m[c];m.x1=Math.min(m.x1,l.positionX-l.width/2),m.x2=Math.max(m.x2,l.positionX+l.width/2),m.y1=Math.min(m.y1,l.positionY-l.height/2),m.y2=Math.max(m.y2,l.positionY+l.height/2)}m.w=m.x2-m.x1,m.h=m.y2-m.y1,s+=m.w*m.h}}r.sort((function(e,t){return t.w*t.h-e.w*e.h}));var u=0,h=0,d=0,f=0,p=Math.sqrt(s)*e.clientWidth/e.clientHeight;for(i=0;i<r.length;i++){var m;if(m=r[i]){for(c=0;c<m.length;c++){(l=m[c]).isLocked||(l.positionX+=u-m.x1,l.positionY+=h-m.y1)}u+=m.w+t.componentSpacing,d+=m.w+t.componentSpacing,f=Math.max(f,m.h),d>p&&(h+=f+t.componentSpacing,u=0,d=0,f=0)}}},N4e={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(e){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function L4e(e){this.options=qYe({},N4e,e)}L4e.prototype.run=function(){var e=this.options,t=e,n=e.cy,r=t.eles,i=r.nodes().not(":parent");t.sort&&(i=i.sort(t.sort));var a=jZe(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(e){return{x:a.x1,y:a.y1}}));else{var o=i.size(),s=Math.sqrt(o*a.h/a.w),c=Math.round(s),l=Math.round(a.w/a.h*s),u=function(e){if(null==e)return Math.min(c,l);Math.min(c,l)==c?c=e:l=e},h=function(e){if(null==e)return Math.max(c,l);Math.max(c,l)==c?c=e:l=e},d=t.rows,f=null!=t.cols?t.cols:t.columns;if(null!=d&&null!=f)c=d,l=f;else if(null!=d&&null==f)c=d,l=Math.ceil(o/c);else if(null==d&&null!=f)l=f,c=Math.ceil(o/l);else if(l*c>o){var p=u(),m=h();(p-1)*m>=o?u(p-1):(m-1)*p>=o&&h(m-1)}else for(;l*c<o;){var g=u(),b=h();(b+1)*g>=o?h(b+1):u(g+1)}var y=a.w/l,v=a.h/c;if(t.condense&&(y=0,v=0),t.avoidOverlap)for(var w=0;w<i.length;w++){var x=i[w],k=x._private.position;null!=k.x&&null!=k.y||(k.x=0,k.y=0);var S=x.layoutDimensions(t),E=t.avoidOverlapPadding,_=S.w+E,A=S.h+E;y=Math.max(y,_),v=Math.max(v,A)}for(var T={},C=function(e,t){return!!T["c-"+e+"-"+t]},O=function(e,t){T["c-"+e+"-"+t]=!0},D=0,M=0,I=function(){++M>=l&&(M=0,D++)},P={},N=0;N<i.length;N++){var L=i[N],R=t.position(L);if(R&&(void 0!==R.row||void 0!==R.col)){var j={row:R.row,col:R.col};if(void 0===j.col)for(j.col=0;C(j.row,j.col);)j.col++;else if(void 0===j.row)for(j.row=0;C(j.row,j.col);)j.row++;P[L.id()]=j,O(j.row,j.col)}}i.layoutPositions(this,t,(function(e,t){var n,r;if(e.locked()||e.isParent())return!1;var i=P[e.id()];if(i)n=i.col*y+y/2+a.x1,r=i.row*v+v/2+a.y1;else{for(;C(D,M);)I();n=M*y+y/2+a.x1,r=D*v+v/2+a.y1,O(D,M),I()}return{x:n,y:r}}))}return this};var R4e={ready:function(){},stop:function(){}};function j4e(e){this.options=qYe({},R4e,e)}j4e.prototype.run=function(){var e=this.options,t=e.eles,n=this;return e.cy,n.emit("layoutstart"),t.nodes().positions((function(){return{x:0,y:0}})),n.one("layoutready",e.ready),n.emit("layoutready"),n.one("layoutstop",e.stop),n.emit("layoutstop"),this},j4e.prototype.stop=function(){return this};var B4e={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(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function F4e(e){this.options=qYe({},B4e,e)}F4e.prototype.run=function(){var e=this.options,t=e.eles.nodes(),n=vYe(e.positions);return t.layoutPositions(this,e,(function(t,r){var i=function(t){if(null==e.positions)return function(e){return{x:e.x,y:e.y}}(t.position());if(n)return e.positions(t);var r=e.positions[t._private.data.id];return null==r?null:r}(t);return!t.locked()&&null!=i&&i})),this};var z4e={fit:!0,padding:30,boundingBox:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function $4e(e){this.options=qYe({},z4e,e)}$4e.prototype.run=function(){var e=this.options,t=e.cy,n=e.eles,r=jZe(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:t.width(),h:t.height()});return n.nodes().layoutPositions(this,e,(function(e,t){return{x:r.x1+Math.round(Math.random()*r.w),y:r.y1+Math.round(Math.random()*r.h)}})),this};var q4e=[{name:"breadthfirst",impl:s4e},{name:"circle",impl:l4e},{name:"concentric",impl:d4e},{name:"cose",impl:p4e},{name:"grid",impl:L4e},{name:"null",impl:j4e},{name:"preset",impl:F4e},{name:"random",impl:$4e}];function H4e(e){this.options=e,this.notifications=0}var U4e=function(){},V4e=function(){throw new Error("A headless instance can not render images")};H4e.prototype={recalculateRenderedStyle:U4e,notify:function(){this.notifications++},init:U4e,isHeadless:function(){return!0},png:V4e,jpg:V4e};var W4e={arrowShapeWidth:.3,registerArrowShapes:function(){var e=this.arrowShapes={},t=this,n=function(e,t,n,r,i,a,o){var s=i.x-n/2-o,c=i.x+n/2+o,l=i.y-n/2-o,u=i.y+n/2+o;return s<=e&&e<=c&&l<=t&&t<=u},r=function(e,t,n,r,i){var a=e*Math.cos(r)-t*Math.sin(r),o=(e*Math.sin(r)+t*Math.cos(r))*n;return{x:a*n+i.x,y:o+i.y}},i=function(e,t,n,i){for(var a=[],o=0;o<e.length;o+=2){var s=e[o],c=e[o+1];a.push(r(s,c,t,n,i))}return a},a=function(e){for(var t=[],n=0;n<e.length;n++){var r=e[n];t.push(r.x,r.y)}return t},o=function(e){return e.pstyle("width").pfValue*e.pstyle("arrow-scale").pfValue*2},s=function(r,s){yYe(s)&&(s=e[s]),e[r]=qYe({name:r,points:[-.15,-.3,.15,-.3,.15,.3,-.15,.3],collide:function(e,t,n,r,o,s){var c=a(i(this.points,n+2*s,r,o));return QZe(e,t,c)},roughCollide:n,draw:function(e,n,r,a){var o=i(this.points,n,r,a);t.arrowShapeImpl("polygon")(e,o)},spacing:function(e){return 0},gap:o},s)};s("none",{collide:HXe,roughCollide:HXe,draw:VXe,spacing:UXe,gap:UXe}),s("triangle",{points:[-.15,-.3,0,0,.15,-.3]}),s("arrow","triangle"),s("triangle-backcurve",{points:e.triangle.points,controlPoint:[0,-.15],roughCollide:n,draw:function(e,n,a,o,s){var c=i(this.points,n,a,o),l=this.controlPoint,u=r(l[0],l[1],n,a,o);t.arrowShapeImpl(this.name)(e,c,u)},gap:function(e){return.8*o(e)}}),s("triangle-tee",{points:[0,0,.15,-.3,-.15,-.3,0,0],pointsTee:[-.15,-.4,-.15,-.5,.15,-.5,.15,-.4],collide:function(e,t,n,r,o,s,c){var l=a(i(this.points,n+2*c,r,o)),u=a(i(this.pointsTee,n+2*c,r,o));return QZe(e,t,l)||QZe(e,t,u)},draw:function(e,n,r,a,o){var s=i(this.points,n,r,a),c=i(this.pointsTee,n,r,a);t.arrowShapeImpl(this.name)(e,s,c)}}),s("circle-triangle",{radius:.15,pointsTr:[0,-.15,.15,-.45,-.15,-.45,0,-.15],collide:function(e,t,n,r,o,s,c){var l=o,u=Math.pow(l.x-e,2)+Math.pow(l.y-t,2)<=Math.pow((n+2*c)*this.radius,2),h=a(i(this.points,n+2*c,r,o));return QZe(e,t,h)||u},draw:function(e,n,r,a,o){var s=i(this.pointsTr,n,r,a);t.arrowShapeImpl(this.name)(e,s,a.x,a.y,this.radius*n)},spacing:function(e){return t.getArrowWidth(e.pstyle("width").pfValue,e.pstyle("arrow-scale").value)*this.radius}}),s("triangle-cross",{points:[0,0,.15,-.3,-.15,-.3,0,0],baseCrossLinePts:[-.15,-.4,-.15,-.4,.15,-.4,.15,-.4],crossLinePts:function(e,t){var n=this.baseCrossLinePts.slice(),r=t/e;return n[3]=n[3]-r,n[5]=n[5]-r,n},collide:function(e,t,n,r,o,s,c){var l=a(i(this.points,n+2*c,r,o)),u=a(i(this.crossLinePts(n,s),n+2*c,r,o));return QZe(e,t,l)||QZe(e,t,u)},draw:function(e,n,r,a,o){var s=i(this.points,n,r,a),c=i(this.crossLinePts(n,o),n,r,a);t.arrowShapeImpl(this.name)(e,s,c)}}),s("vee",{points:[-.15,-.3,0,0,.15,-.3,0,-.15],gap:function(e){return.525*o(e)}}),s("circle",{radius:.15,collide:function(e,t,n,r,i,a,o){var s=i;return Math.pow(s.x-e,2)+Math.pow(s.y-t,2)<=Math.pow((n+2*o)*this.radius,2)},draw:function(e,n,r,i,a){t.arrowShapeImpl(this.name)(e,i.x,i.y,this.radius*n)},spacing:function(e){return t.getArrowWidth(e.pstyle("width").pfValue,e.pstyle("arrow-scale").value)*this.radius}}),s("tee",{points:[-.15,0,-.15,-.1,.15,-.1,.15,0],spacing:function(e){return 1},gap:function(e){return 1}}),s("square",{points:[-.15,0,.15,0,.15,-.3,-.15,-.3]}),s("diamond",{points:[-.15,-.15,0,-.3,.15,-.15,0,0],gap:function(e){return e.pstyle("width").pfValue*e.pstyle("arrow-scale").value}}),s("chevron",{points:[0,0,-.15,-.15,-.1,-.2,0,-.1,.1,-.2,.15,-.15],gap:function(e){return.95*e.pstyle("width").pfValue*e.pstyle("arrow-scale").value}})}},G4e={projectIntoViewport:function(e,t){var n=this.cy,r=this.findContainerClientCoords(),i=r[0],a=r[1],o=r[4],s=n.pan(),c=n.zoom();return[((e-i)/o-s.x)/c,((t-a)/o-s.y)/c]},findContainerClientCoords:function(){if(this.containerBB)return this.containerBB;var e=this.container,t=e.getBoundingClientRect(),n=this.cy.window().getComputedStyle(e),r=function(e){return parseFloat(n.getPropertyValue(e))},i=r("padding-left"),a=r("padding-right"),o=r("padding-top"),s=r("padding-bottom"),c=r("border-left-width"),l=r("border-right-width"),u=r("border-top-width"),h=(r("border-bottom-width"),e.clientWidth),d=e.clientHeight,f=i+a,p=o+s,m=c+l,g=t.width/(h+m),b=h-f,y=d-p,v=t.left+i+c,w=t.top+o+u;return this.containerBB=[v,w,b,y,g]},invalidateContainerClientCoordsCache:function(){this.containerBB=null},findNearestElement:function(e,t,n,r){return this.findNearestElements(e,t,n,r)[0]},findNearestElements:function(e,t,n,r){var i,a,o=this,s=this,c=s.getCachedZSortedEles(),l=[],u=s.cy.zoom(),h=s.cy.hasCompoundNodes(),d=(r?24:8)/u,f=(r?8:2)/u,p=(r?8:2)/u,m=1/0;function g(e,t){if(e.isNode()){if(a)return;a=e,l.push(e)}if(e.isEdge()&&(null==t||t<m))if(i){if(i.pstyle("z-compound-depth").value===e.pstyle("z-compound-depth").value&&i.pstyle("z-compound-depth").value===e.pstyle("z-compound-depth").value)for(var n=0;n<l.length;n++)if(l[n].isEdge()){l[n]=e,i=e,m=null!=t?t:m;break}}else l.push(e),i=e,m=null!=t?t:m}function b(n){var r=n.outerWidth()+2*f,i=n.outerHeight()+2*f,a=r/2,c=i/2,l=n.position(),u="auto"===n.pstyle("corner-radius").value?"auto":n.pstyle("corner-radius").pfValue,h=n._private.rscratch;if(l.x-a<=e&&e<=l.x+a&&l.y-c<=t&&t<=l.y+c&&s.nodeShapes[o.getNodeShape(n)].checkPoint(e,t,0,r,i,l.x,l.y,u,h))return g(n,0),!0}function y(n){var r,i=n._private,a=i.rscratch,c=n.pstyle("width").pfValue,u=n.pstyle("arrow-scale").value,f=c/2+d,p=f*f,m=2*f,y=i.source,v=i.target;if("segments"===a.edgeType||"straight"===a.edgeType||"haystack"===a.edgeType){for(var w=a.allpts,x=0;x+3<w.length;x+=2)if(KZe(e,t,w[x],w[x+1],w[x+2],w[x+3],m)&&p>(r=ZZe(e,t,w[x],w[x+1],w[x+2],w[x+3])))return g(n,r),!0}else if("bezier"===a.edgeType||"multibezier"===a.edgeType||"self"===a.edgeType||"compound"===a.edgeType)for(w=a.allpts,x=0;x+5<a.allpts.length;x+=4)if(YZe(e,t,w[x],w[x+1],w[x+2],w[x+3],w[x+4],w[x+5],m)&&p>(r=XZe(e,t,w[x],w[x+1],w[x+2],w[x+3],w[x+4],w[x+5])))return g(n,r),!0;y=y||i.source,v=v||i.target;var k=o.getArrowWidth(c,u),S=[{name:"source",x:a.arrowStartX,y:a.arrowStartY,angle:a.srcArrowAngle},{name:"target",x:a.arrowEndX,y:a.arrowEndY,angle:a.tgtArrowAngle},{name:"mid-source",x:a.midX,y:a.midY,angle:a.midsrcArrowAngle},{name:"mid-target",x:a.midX,y:a.midY,angle:a.midtgtArrowAngle}];for(x=0;x<S.length;x++){var E=S[x],_=s.arrowShapes[n.pstyle(E.name+"-arrow-shape").value],A=n.pstyle("width").pfValue;if(_.roughCollide(e,t,k,E.angle,{x:E.x,y:E.y},A,d)&&_.collide(e,t,k,E.angle,{x:E.x,y:E.y},A,d))return g(n),!0}h&&l.length>0&&(b(y),b(v))}function v(e,t,n){return nZe(e,t,n)}function w(n,r){var i,a=n._private,o=p;i=r?r+"-":"",n.boundingBox();var s=a.labelBounds[r||"main"],c=n.pstyle(i+"label").value;if("yes"===n.pstyle("text-events").strValue&&c){var l=v(a.rscratch,"labelX",r),u=v(a.rscratch,"labelY",r),h=v(a.rscratch,"labelAngle",r),d=n.pstyle(i+"text-margin-x").pfValue,f=n.pstyle(i+"text-margin-y").pfValue,m=s.x1-o-d,b=s.x2+o-d,y=s.y1-o-f,w=s.y2+o-f;if(h){var x=Math.cos(h),k=Math.sin(h),S=function(e,t){return{x:(e-=l)*x-(t-=u)*k+l,y:e*k+t*x+u}},E=S(m,y),_=S(m,w),A=S(b,y),T=S(b,w),C=[E.x+d,E.y+f,A.x+d,A.y+f,T.x+d,T.y+f,_.x+d,_.y+f];if(QZe(e,t,C))return g(n),!0}else if(UZe(s,e,t))return g(n),!0}}n&&(c=c.interactive);for(var x=c.length-1;x>=0;x--){var k=c[x];k.isNode()?b(k)||w(k):y(k)||w(k)||w(k,"source")||w(k,"target")}return l},getAllInBox:function(e,t,n,r){for(var i=this.getCachedZSortedEles().interactive,a=[],o=Math.min(e,n),s=Math.max(e,n),c=Math.min(t,r),l=Math.max(t,r),u=jZe({x1:e=o,y1:t=c,x2:n=s,y2:r=l}),h=0;h<i.length;h++){var d=i[h];if(d.isNode()){var f=d,p=f.boundingBox({includeNodes:!0,includeEdges:!1,includeLabels:!1});HZe(u,p)&&!WZe(p,u)&&a.push(f)}else{var m=d,g=m._private,b=g.rscratch;if(null!=b.startX&&null!=b.startY&&!UZe(u,b.startX,b.startY))continue;if(null!=b.endX&&null!=b.endY&&!UZe(u,b.endX,b.endY))continue;if("bezier"===b.edgeType||"multibezier"===b.edgeType||"self"===b.edgeType||"compound"===b.edgeType||"segments"===b.edgeType||"haystack"===b.edgeType){for(var y=g.rstyle.bezierPts||g.rstyle.linePts||g.rstyle.haystackPts,v=!0,w=0;w<y.length;w++)if(!VZe(u,y[w])){v=!1;break}v&&a.push(m)}else"haystack"!==b.edgeType&&"straight"!==b.edgeType||a.push(m)}}return a}},K4e={calculateArrowAngles:function(e){var t,n,r,i,a,o,s=e._private.rscratch,c="haystack"===s.edgeType,l="bezier"===s.edgeType,u="multibezier"===s.edgeType,h="segments"===s.edgeType,d="compound"===s.edgeType,f="self"===s.edgeType;if(c?(r=s.haystackPts[0],i=s.haystackPts[1],a=s.haystackPts[2],o=s.haystackPts[3]):(r=s.arrowStartX,i=s.arrowStartY,a=s.arrowEndX,o=s.arrowEndY),m=s.midX,g=s.midY,h)t=r-s.segpts[0],n=i-s.segpts[1];else if(u||d||f||l){var p=s.allpts;t=r-NZe(p[0],p[2],p[4],.1),n=i-NZe(p[1],p[3],p[5],.1)}else t=r-m,n=i-g;s.srcArrowAngle=CZe(t,n);var m=s.midX,g=s.midY;if(c&&(m=(r+a)/2,g=(i+o)/2),t=a-r,n=o-i,h)if((p=s.allpts).length/2%2==0){var b=(_=p.length/2)-2;t=p[_]-p[b],n=p[_+1]-p[b+1]}else if(s.isRound)t=s.midVector[1],n=-s.midVector[0];else{b=(_=p.length/2-1)-2;t=p[_]-p[b],n=p[_+1]-p[b+1]}else if(u||d||f){var y,v,w,x,p=s.allpts;if(s.ctrlpts.length/2%2==0){var k=(S=(E=p.length/2-1)+2)+2;y=NZe(p[E],p[S],p[k],0),v=NZe(p[E+1],p[S+1],p[k+1],0),w=NZe(p[E],p[S],p[k],1e-4),x=NZe(p[E+1],p[S+1],p[k+1],1e-4)}else{var S,E;k=(S=p.length/2-1)+2;y=NZe(p[E=S-2],p[S],p[k],.4999),v=NZe(p[E+1],p[S+1],p[k+1],.4999),w=NZe(p[E],p[S],p[k],.5),x=NZe(p[E+1],p[S+1],p[k+1],.5)}t=w-y,n=x-v}if(s.midtgtArrowAngle=CZe(t,n),s.midDispX=t,s.midDispY=n,t*=-1,n*=-1,h)if((p=s.allpts).length/2%2==0);else if(!s.isRound){var _,A=(_=p.length/2-1)+2;t=-(p[A]-p[_]),n=-(p[A+1]-p[_+1])}if(s.midsrcArrowAngle=CZe(t,n),h)t=a-s.segpts[s.segpts.length-2],n=o-s.segpts[s.segpts.length-1];else if(u||d||f||l){var T=(p=s.allpts).length;t=a-NZe(p[T-6],p[T-4],p[T-2],.9),n=o-NZe(p[T-5],p[T-3],p[T-1],.9)}else t=a-m,n=o-g;s.tgtArrowAngle=CZe(t,n)}};K4e.getArrowWidth=K4e.getArrowHeight=function(e,t){var n=this.arrowWidthCache=this.arrowWidthCache||{},r=n[e+", "+t];return r||(r=Math.max(Math.pow(13.37*e,.9),29)*t,n[e+", "+t]=r,r)};var Y4e,X4e,Z4e,Q4e,J4e,e5e,t5e,n5e,r5e,i5e,a5e,o5e,s5e,c5e,l5e,u5e,h5e,d5e={},f5e={},p5e=function(e,t,n){n.x=t.x-e.x,n.y=t.y-e.y,n.len=Math.sqrt(n.x*n.x+n.y*n.y),n.nx=n.x/n.len,n.ny=n.y/n.len,n.ang=Math.atan2(n.ny,n.nx)},m5e=function(e,t,n,r,i){var a,o;if(e!==h5e?p5e(t,e,d5e):((o=d5e).x=-1*(a=f5e).x,o.y=-1*a.y,o.nx=-1*a.nx,o.ny=-1*a.ny,o.ang=a.ang>0?-(Math.PI-a.ang):Math.PI+a.ang),p5e(t,n,f5e),Z4e=d5e.nx*f5e.ny-d5e.ny*f5e.nx,Q4e=d5e.nx*f5e.nx-d5e.ny*-f5e.ny,t5e=Math.asin(Math.max(-1,Math.min(1,Z4e))),Math.abs(t5e)<1e-6)return Y4e=t.x,X4e=t.y,void(r5e=a5e=0);J4e=1,e5e=!1,Q4e<0?t5e<0?t5e=Math.PI+t5e:(t5e=Math.PI-t5e,J4e=-1,e5e=!0):t5e>0&&(J4e=-1,e5e=!0),a5e=void 0!==t.radius?t.radius:r,n5e=t5e/2,o5e=Math.min(d5e.len/2,f5e.len/2),i?(i5e=Math.abs(Math.cos(n5e)*a5e/Math.sin(n5e)))>o5e?(i5e=o5e,r5e=Math.abs(i5e*Math.sin(n5e)/Math.cos(n5e))):r5e=a5e:(i5e=Math.min(o5e,a5e),r5e=Math.abs(i5e*Math.sin(n5e)/Math.cos(n5e))),l5e=t.x+f5e.nx*i5e,u5e=t.y+f5e.ny*i5e,Y4e=l5e-f5e.ny*r5e*J4e,X4e=u5e+f5e.nx*r5e*J4e,s5e=t.x+d5e.nx*i5e,c5e=t.y+d5e.ny*i5e,h5e=t};function g5e(e,t){0===t.radius?e.lineTo(t.cx,t.cy):e.arc(t.cx,t.cy,t.radius,t.startAngle,t.endAngle,t.counterClockwise)}function b5e(e,t,n,r){var i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4];return 0===r||0===t.radius?{cx:t.x,cy:t.y,radius:0,startX:t.x,startY:t.y,stopX:t.x,stopY:t.y,startAngle:void 0,endAngle:void 0,counterClockwise:void 0}:(m5e(e,t,n,r,i),{cx:Y4e,cy:X4e,radius:r5e,startX:s5e,startY:c5e,stopX:l5e,stopY:u5e,startAngle:d5e.ang+Math.PI/2*J4e,endAngle:f5e.ang-Math.PI/2*J4e,counterClockwise:e5e})}var y5e={};function v5e(e){var t=[];if(null!=e){for(var n=0;n<e.length;n+=2){var r=e[n],i=e[n+1];t.push({x:r,y:i})}return t}}y5e.findMidptPtsEtc=function(e,t){var n,r=t.posPts,i=t.intersectionPts,a=t.vectorNormInverse,o=e.pstyle("source-endpoint"),s=e.pstyle("target-endpoint"),c=null!=o.units&&null!=s.units;switch(e.pstyle("edge-distances").value){case"node-position":n=r;break;case"intersection":n=i;break;case"endpoints":if(c){var l=cYe(this.manualEndptToPx(e.source()[0],o),2),u=l[0],h=l[1],d=cYe(this.manualEndptToPx(e.target()[0],s),2),f=d[0],p=d[1],m={x1:u,y1:h,x2:f,y2:p};a=function(e,t,n,r){var i=r-t,a=n-e,o=Math.sqrt(a*a+i*i);return{x:-i/o,y:a/o}}(u,h,f,p),n=m}else KXe("Edge ".concat(e.id()," has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint. Falling back on edge-distances:intersection (default).")),n=i}return{midptPts:n,vectorNormInverse:a}},y5e.findHaystackPoints=function(e){for(var t=0;t<e.length;t++){var n=e[t],r=n._private,i=r.rscratch;if(!i.haystack){var a=2*Math.random()*Math.PI;i.source={x:Math.cos(a),y:Math.sin(a)},a=2*Math.random()*Math.PI,i.target={x:Math.cos(a),y:Math.sin(a)}}var o=r.source,s=r.target,c=o.position(),l=s.position(),u=o.width(),h=s.width(),d=o.height(),f=s.height(),p=n.pstyle("haystack-radius").value/2;i.haystackPts=i.allpts=[i.source.x*u*p+c.x,i.source.y*d*p+c.y,i.target.x*h*p+l.x,i.target.y*f*p+l.y],i.midX=(i.allpts[0]+i.allpts[2])/2,i.midY=(i.allpts[1]+i.allpts[3])/2,i.edgeType="haystack",i.haystack=!0,this.storeEdgeProjections(n),this.calculateArrowAngles(n),this.recalculateEdgeLabelProjections(n),this.calculateLabelAngles(n)}},y5e.findSegmentsPoints=function(e,t){var n=e._private.rscratch,r=e.pstyle("segment-weights"),i=e.pstyle("segment-distances"),a=e.pstyle("segment-radii"),o=e.pstyle("radius-type"),s=Math.min(r.pfValue.length,i.pfValue.length),c=a.pfValue[a.pfValue.length-1],l=o.pfValue[o.pfValue.length-1];n.edgeType="segments",n.segpts=[],n.radii=[],n.isArcRadius=[];for(var u=0;u<s;u++){var h=r.pfValue[u],d=i.pfValue[u],f=1-h,p=h,m=this.findMidptPtsEtc(e,t),g=m.midptPts,b=m.vectorNormInverse,y={x:g.x1*f+g.x2*p,y:g.y1*f+g.y2*p};n.segpts.push(y.x+b.x*d,y.y+b.y*d),n.radii.push(void 0!==a.pfValue[u]?a.pfValue[u]:c),n.isArcRadius.push("arc-radius"===(void 0!==o.pfValue[u]?o.pfValue[u]:l))}},y5e.findLoopPoints=function(e,t,n,r){var i=e._private.rscratch,a=t.dirCounts,o=t.srcPos,s=e.pstyle("control-point-distances"),c=s?s.pfValue[0]:void 0,l=e.pstyle("loop-direction").pfValue,u=e.pstyle("loop-sweep").pfValue,h=e.pstyle("control-point-step-size").pfValue;i.edgeType="self";var d=n,f=h;r&&(d=0,f=c);var p=l-Math.PI/2,m=p-u/2,g=p+u/2,b=String(l+"_"+u);d=void 0===a[b]?a[b]=0:++a[b],i.ctrlpts=[o.x+1.4*Math.cos(m)*f*(d/3+1),o.y+1.4*Math.sin(m)*f*(d/3+1),o.x+1.4*Math.cos(g)*f*(d/3+1),o.y+1.4*Math.sin(g)*f*(d/3+1)]},y5e.findCompoundLoopPoints=function(e,t,n,r){var i=e._private.rscratch;i.edgeType="compound";var a=t.srcPos,o=t.tgtPos,s=t.srcW,c=t.srcH,l=t.tgtW,u=t.tgtH,h=e.pstyle("control-point-step-size").pfValue,d=e.pstyle("control-point-distances"),f=d?d.pfValue[0]:void 0,p=n,m=h;r&&(p=0,m=f);var g={x:a.x-s/2,y:a.y-c/2},b={x:o.x-l/2,y:o.y-u/2},y={x:Math.min(g.x,b.x),y:Math.min(g.y,b.y)},v=Math.max(.5,Math.log(.01*s)),w=Math.max(.5,Math.log(.01*l));i.ctrlpts=[y.x,y.y-(1+Math.pow(50,1.12)/100)*m*(p/3+1)*v,y.x-(1+Math.pow(50,1.12)/100)*m*(p/3+1)*w,y.y]},y5e.findStraightEdgePoints=function(e){e._private.rscratch.edgeType="straight"},y5e.findBezierPoints=function(e,t,n,r,i){var a=e._private.rscratch,o=e.pstyle("control-point-step-size").pfValue,s=e.pstyle("control-point-distances"),c=e.pstyle("control-point-weights"),l=s&&c?Math.min(s.value.length,c.value.length):1,u=s?s.pfValue[0]:void 0,h=c.value[0],d=r;a.edgeType=d?"multibezier":"bezier",a.ctrlpts=[];for(var f=0;f<l;f++){var p=(.5-t.eles.length/2+n)*o*(i?-1:1),m=void 0,g=DZe(p);d&&(u=s?s.pfValue[f]:o,h=c.value[f]);var b=void 0!==(m=r?u:void 0!==u?g*u:void 0)?m:p,y=1-h,v=h,w=this.findMidptPtsEtc(e,t),x=w.midptPts,k=w.vectorNormInverse,S={x:x.x1*y+x.x2*v,y:x.y1*y+x.y2*v};a.ctrlpts.push(S.x+k.x*b,S.y+k.y*b)}},y5e.findTaxiPoints=function(e,t){var n=e._private.rscratch;n.edgeType="segments";var r="vertical",i="horizontal",a="leftward",o="rightward",s="downward",c="upward",l=t.posPts,u=t.srcW,h=t.srcH,d=t.tgtW,f=t.tgtH,p="node-position"!==e.pstyle("edge-distances").value,m=e.pstyle("taxi-direction").value,g=m,b=e.pstyle("taxi-turn"),y="%"===b.units,v=b.pfValue,w=v<0,x=e.pstyle("taxi-turn-min-distance").pfValue,k=p?(u+d)/2:0,S=p?(h+f)/2:0,E=l.x2-l.x1,_=l.y2-l.y1,A=function(e,t){return e>0?Math.max(e-t,0):Math.min(e+t,0)},T=A(E,k),C=A(_,S),O=!1;"auto"===g?m=Math.abs(T)>Math.abs(C)?i:r:g===c||g===s?(m=r,O=!0):g!==a&&g!==o||(m=i,O=!0);var D,M=m===r,I=M?C:T,P=M?_:E,N=DZe(P),L=!1;(O&&(y||w)||!(g===s&&P<0||g===c&&P>0||g===a&&P>0||g===o&&P<0)||(I=(N*=-1)*Math.abs(I),L=!0),y)?D=(v<0?1+v:v)*I:D=(v<0?I:0)+v*N;var R=function(e){return Math.abs(e)<x||Math.abs(e)>=Math.abs(I)},j=R(D),B=R(Math.abs(I)-Math.abs(D));if((j||B)&&!L)if(M){var F=Math.abs(P)<=h/2,z=Math.abs(E)<=d/2;if(F){var $=(l.x1+l.x2)/2,q=l.y1,H=l.y2;n.segpts=[$,q,$,H]}else if(z){var U=(l.y1+l.y2)/2,V=l.x1,W=l.x2;n.segpts=[V,U,W,U]}else n.segpts=[l.x1,l.y2]}else{var G=Math.abs(P)<=u/2,K=Math.abs(_)<=f/2;if(G){var Y=(l.y1+l.y2)/2,X=l.x1,Z=l.x2;n.segpts=[X,Y,Z,Y]}else if(K){var Q=(l.x1+l.x2)/2,J=l.y1,ee=l.y2;n.segpts=[Q,J,Q,ee]}else n.segpts=[l.x2,l.y1]}else if(M){var te=l.y1+D+(p?h/2*N:0),ne=l.x1,re=l.x2;n.segpts=[ne,te,re,te]}else{var ie=l.x1+D+(p?u/2*N:0),ae=l.y1,oe=l.y2;n.segpts=[ie,ae,ie,oe]}if(n.isRound){var se=e.pstyle("taxi-radius").value,ce="arc-radius"===e.pstyle("radius-type").value[0];n.radii=new Array(n.segpts.length/2).fill(se),n.isArcRadius=new Array(n.segpts.length/2).fill(ce)}},y5e.tryToCorrectInvalidPoints=function(e,t){var n=e._private.rscratch;if("bezier"===n.edgeType){var r=t.srcPos,i=t.tgtPos,a=t.srcW,o=t.srcH,s=t.tgtW,c=t.tgtH,l=t.srcShape,u=t.tgtShape,h=t.srcCornerRadius,d=t.tgtCornerRadius,f=t.srcRs,p=t.tgtRs,m=!kYe(n.startX)||!kYe(n.startY),g=!kYe(n.arrowStartX)||!kYe(n.arrowStartY),b=!kYe(n.endX)||!kYe(n.endY),y=!kYe(n.arrowEndX)||!kYe(n.arrowEndY),v=3*(this.getArrowWidth(e.pstyle("width").pfValue,e.pstyle("arrow-scale").value)*this.arrowShapeWidth),w=MZe({x:n.ctrlpts[0],y:n.ctrlpts[1]},{x:n.startX,y:n.startY}),x=w<v,k=MZe({x:n.ctrlpts[0],y:n.ctrlpts[1]},{x:n.endX,y:n.endY}),S=k<v,E=!1;if(m||g||x){E=!0;var _={x:n.ctrlpts[0]-r.x,y:n.ctrlpts[1]-r.y},A=Math.sqrt(_.x*_.x+_.y*_.y),T={x:_.x/A,y:_.y/A},C=Math.max(a,o),O={x:n.ctrlpts[0]+2*T.x*C,y:n.ctrlpts[1]+2*T.y*C},D=l.intersectLine(r.x,r.y,a,o,O.x,O.y,0,h,f);x?(n.ctrlpts[0]=n.ctrlpts[0]+T.x*(v-w),n.ctrlpts[1]=n.ctrlpts[1]+T.y*(v-w)):(n.ctrlpts[0]=D[0]+T.x*v,n.ctrlpts[1]=D[1]+T.y*v)}if(b||y||S){E=!0;var M={x:n.ctrlpts[0]-i.x,y:n.ctrlpts[1]-i.y},I=Math.sqrt(M.x*M.x+M.y*M.y),P={x:M.x/I,y:M.y/I},N=Math.max(a,o),L={x:n.ctrlpts[0]+2*P.x*N,y:n.ctrlpts[1]+2*P.y*N},R=u.intersectLine(i.x,i.y,s,c,L.x,L.y,0,d,p);S?(n.ctrlpts[0]=n.ctrlpts[0]+P.x*(v-k),n.ctrlpts[1]=n.ctrlpts[1]+P.y*(v-k)):(n.ctrlpts[0]=R[0]+P.x*v,n.ctrlpts[1]=R[1]+P.y*v)}E&&this.findEndpoints(e)}},y5e.storeAllpts=function(e){var t=e._private.rscratch;if("multibezier"===t.edgeType||"bezier"===t.edgeType||"self"===t.edgeType||"compound"===t.edgeType){t.allpts=[],t.allpts.push(t.startX,t.startY);for(var n=0;n+1<t.ctrlpts.length;n+=2)t.allpts.push(t.ctrlpts[n],t.ctrlpts[n+1]),n+3<t.ctrlpts.length&&t.allpts.push((t.ctrlpts[n]+t.ctrlpts[n+2])/2,(t.ctrlpts[n+1]+t.ctrlpts[n+3])/2);var r;t.allpts.push(t.endX,t.endY),t.ctrlpts.length/2%2==0?(r=t.allpts.length/2-1,t.midX=t.allpts[r],t.midY=t.allpts[r+1]):(r=t.allpts.length/2-3,.5,t.midX=NZe(t.allpts[r],t.allpts[r+2],t.allpts[r+4],.5),t.midY=NZe(t.allpts[r+1],t.allpts[r+3],t.allpts[r+5],.5))}else if("straight"===t.edgeType)t.allpts=[t.startX,t.startY,t.endX,t.endY],t.midX=(t.startX+t.endX+t.arrowStartX+t.arrowEndX)/4,t.midY=(t.startY+t.endY+t.arrowStartY+t.arrowEndY)/4;else if("segments"===t.edgeType){if(t.allpts=[],t.allpts.push(t.startX,t.startY),t.allpts.push.apply(t.allpts,t.segpts),t.allpts.push(t.endX,t.endY),t.isRound){t.roundCorners=[];for(var i=2;i+3<t.allpts.length;i+=2){var a=t.radii[i/2-1],o=t.isArcRadius[i/2-1];t.roundCorners.push(b5e({x:t.allpts[i-2],y:t.allpts[i-1]},{x:t.allpts[i],y:t.allpts[i+1],radius:a},{x:t.allpts[i+2],y:t.allpts[i+3]},a,o))}}if(t.segpts.length%4==0){var s=t.segpts.length/2,c=s-2;t.midX=(t.segpts[c]+t.segpts[s])/2,t.midY=(t.segpts[c+1]+t.segpts[s+1])/2}else{var l=t.segpts.length/2-1;if(t.isRound){var u={x:t.segpts[l],y:t.segpts[l+1]},h=t.roundCorners[l/2],d=[u.x-h.cx,u.y-h.cy],f=h.radius/Math.sqrt(Math.pow(d[0],2)+Math.pow(d[1],2));d=d.map((function(e){return e*f})),t.midX=h.cx+d[0],t.midY=h.cy+d[1],t.midVector=d}else t.midX=t.segpts[l],t.midY=t.segpts[l+1]}}},y5e.checkForInvalidEdgeWarning=function(e){var t=e[0]._private.rscratch;t.nodesOverlap||kYe(t.startX)&&kYe(t.startY)&&kYe(t.endX)&&kYe(t.endY)?t.loggedErr=!1:t.loggedErr||(t.loggedErr=!0,KXe("Edge `"+e.id()+"` has invalid 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."))},y5e.findEdgeControlPoints=function(e){var t=this;if(e&&0!==e.length){for(var n=this,r=n.cy.hasCompoundNodes(),i={map:new iZe,get:function(e){var t=this.map.get(e[0]);return null!=t?t.get(e[1]):null},set:function(e,t){var n=this.map.get(e[0]);null==n&&(n=new iZe,this.map.set(e[0],n)),n.set(e[1],t)}},a=[],o=[],s=0;s<e.length;s++){var c=e[s],l=c._private,u=c.pstyle("curve-style").value;if(!c.removed()&&c.takesUpSpace())if("haystack"!==u){var h="unbundled-bezier"===u||u.endsWith("segments")||"straight"===u||"straight-triangle"===u||u.endsWith("taxi"),d="unbundled-bezier"===u||"bezier"===u,f=l.source,p=l.target,m=[f.poolIndex(),p.poolIndex()].sort(),g=i.get(m);null==g&&(g={eles:[]},i.set(m,g),a.push(m)),g.eles.push(c),h&&(g.hasUnbundled=!0),d&&(g.hasBezier=!0)}else o.push(c)}for(var b=function(e){var o=a[e],s=i.get(o),c=void 0;if(!s.hasUnbundled){var l=s.eles[0].parallelEdges().filter((function(e){return e.isBundledBezier()}));tZe(s.eles),l.forEach((function(e){return s.eles.push(e)})),s.eles.sort((function(e,t){return e.poolIndex()-t.poolIndex()}))}var u=s.eles[0],h=u.source(),d=u.target();if(h.poolIndex()>d.poolIndex()){var f=h;h=d,d=f}var p=s.srcPos=h.position(),m=s.tgtPos=d.position(),g=s.srcW=h.outerWidth(),b=s.srcH=h.outerHeight(),y=s.tgtW=d.outerWidth(),v=s.tgtH=d.outerHeight(),w=s.srcShape=n.nodeShapes[t.getNodeShape(h)],x=s.tgtShape=n.nodeShapes[t.getNodeShape(d)],k=s.srcCornerRadius="auto"===h.pstyle("corner-radius").value?"auto":h.pstyle("corner-radius").pfValue,S=s.tgtCornerRadius="auto"===d.pstyle("corner-radius").value?"auto":d.pstyle("corner-radius").pfValue,E=s.tgtRs=d._private.rscratch,_=s.srcRs=h._private.rscratch;s.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var A=0;A<s.eles.length;A++){var T=s.eles[A],C=T[0]._private.rscratch,O=T.pstyle("curve-style").value,D="unbundled-bezier"===O||O.endsWith("segments")||O.endsWith("taxi"),M=!h.same(T.source());if(!s.calculatedIntersection&&h!==d&&(s.hasBezier||s.hasUnbundled)){s.calculatedIntersection=!0;var I=w.intersectLine(p.x,p.y,g,b,m.x,m.y,0,k,_),P=s.srcIntn=I,N=x.intersectLine(m.x,m.y,y,v,p.x,p.y,0,S,E),L=s.tgtIntn=N,R=s.intersectionPts={x1:I[0],x2:N[0],y1:I[1],y2:N[1]},j=s.posPts={x1:p.x,x2:m.x,y1:p.y,y2:m.y},B=N[1]-I[1],F=N[0]-I[0],z=Math.sqrt(F*F+B*B),$=s.vector={x:F,y:B},q=s.vectorNorm={x:$.x/z,y:$.y/z},H={x:-q.y,y:q.x};s.nodesOverlap=!kYe(z)||x.checkPoint(I[0],I[1],0,y,v,m.x,m.y,S,E)||w.checkPoint(N[0],N[1],0,g,b,p.x,p.y,k,_),s.vectorNormInverse=H,c={nodesOverlap:s.nodesOverlap,dirCounts:s.dirCounts,calculatedIntersection:!0,hasBezier:s.hasBezier,hasUnbundled:s.hasUnbundled,eles:s.eles,srcPos:m,tgtPos:p,srcW:y,srcH:v,tgtW:g,tgtH:b,srcIntn:L,tgtIntn:P,srcShape:x,tgtShape:w,posPts:{x1:j.x2,y1:j.y2,x2:j.x1,y2:j.y1},intersectionPts:{x1:R.x2,y1:R.y2,x2:R.x1,y2:R.y1},vector:{x:-$.x,y:-$.y},vectorNorm:{x:-q.x,y:-q.y},vectorNormInverse:{x:-H.x,y:-H.y}}}var U=M?c:s;C.nodesOverlap=U.nodesOverlap,C.srcIntn=U.srcIntn,C.tgtIntn=U.tgtIntn,C.isRound=O.startsWith("round"),r&&(h.isParent()||h.isChild()||d.isParent()||d.isChild())&&(h.parents().anySame(d)||d.parents().anySame(h)||h.same(d)&&h.isParent())?t.findCompoundLoopPoints(T,U,A,D):h===d?t.findLoopPoints(T,U,A,D):O.endsWith("segments")?t.findSegmentsPoints(T,U):O.endsWith("taxi")?t.findTaxiPoints(T,U):"straight"===O||!D&&s.eles.length%2==1&&A===Math.floor(s.eles.length/2)?t.findStraightEdgePoints(T):t.findBezierPoints(T,U,A,D,M),t.findEndpoints(T),t.tryToCorrectInvalidPoints(T,U),t.checkForInvalidEdgeWarning(T),t.storeAllpts(T),t.storeEdgeProjections(T),t.calculateArrowAngles(T),t.recalculateEdgeLabelProjections(T),t.calculateLabelAngles(T)}},y=0;y<a.length;y++)b(y);this.findHaystackPoints(o)}},y5e.getSegmentPoints=function(e){var t=e[0]._private.rscratch;if("segments"===t.edgeType)return this.recalculateRenderedStyle(e),v5e(t.segpts)},y5e.getControlPoints=function(e){var t=e[0]._private.rscratch,n=t.edgeType;if("bezier"===n||"multibezier"===n||"self"===n||"compound"===n)return this.recalculateRenderedStyle(e),v5e(t.ctrlpts)},y5e.getEdgeMidpoint=function(e){var t=e[0]._private.rscratch;return this.recalculateRenderedStyle(e),{x:t.midX,y:t.midY}};var w5e={manualEndptToPx:function(e,t){var n=e.position(),r=e.outerWidth(),i=e.outerHeight(),a=e._private.rscratch;if(2===t.value.length){var o=[t.pfValue[0],t.pfValue[1]];return"%"===t.units[0]&&(o[0]=o[0]*r),"%"===t.units[1]&&(o[1]=o[1]*i),o[0]+=n.x,o[1]+=n.y,o}var s=t.pfValue[0];s=-Math.PI/2+s;var c=2*Math.max(r,i),l=[n.x+Math.cos(s)*c,n.y+Math.sin(s)*c];return this.nodeShapes[this.getNodeShape(e)].intersectLine(n.x,n.y,r,i,l[0],l[1],0,"auto"===e.pstyle("corner-radius").value?"auto":e.pstyle("corner-radius").pfValue,a)},findEndpoints:function(e){var t,n,r,i,a,o=this,s=e.source()[0],c=e.target()[0],l=s.position(),u=c.position(),h=e.pstyle("target-arrow-shape").value,d=e.pstyle("source-arrow-shape").value,f=e.pstyle("target-distance-from-node").pfValue,p=e.pstyle("source-distance-from-node").pfValue,m=s._private.rscratch,g=c._private.rscratch,b=e.pstyle("curve-style").value,y=e._private.rscratch,v=y.edgeType,w="self"===v||"compound"===v,x="bezier"===v||"multibezier"===v||w,k="bezier"!==v,S="straight"===v||"segments"===v,E="segments"===v,_=x||k||S,A=w||"taxi"===b,T=e.pstyle("source-endpoint"),C=A?"outside-to-node":T.value,O="auto"===s.pstyle("corner-radius").value?"auto":s.pstyle("corner-radius").pfValue,D=e.pstyle("target-endpoint"),M=A?"outside-to-node":D.value,I="auto"===c.pstyle("corner-radius").value?"auto":c.pstyle("corner-radius").pfValue;if(y.srcManEndpt=T,y.tgtManEndpt=D,x){var P=[y.ctrlpts[0],y.ctrlpts[1]];n=k?[y.ctrlpts[y.ctrlpts.length-2],y.ctrlpts[y.ctrlpts.length-1]]:P,r=P}else if(S){var N=E?y.segpts.slice(0,2):[u.x,u.y];n=E?y.segpts.slice(y.segpts.length-2):[l.x,l.y],r=N}if("inside-to-node"===M)t=[u.x,u.y];else if(D.units)t=this.manualEndptToPx(c,D);else if("outside-to-line"===M)t=y.tgtIntn;else if("outside-to-node"===M||"outside-to-node-or-label"===M?i=n:"outside-to-line"!==M&&"outside-to-line-or-label"!==M||(i=[l.x,l.y]),t=o.nodeShapes[this.getNodeShape(c)].intersectLine(u.x,u.y,c.outerWidth(),c.outerHeight(),i[0],i[1],0,I,g),"outside-to-node-or-label"===M||"outside-to-line-or-label"===M){var L=c._private.rscratch,R=L.labelWidth,j=L.labelHeight,B=L.labelX,F=L.labelY,z=R/2,$=j/2,q=c.pstyle("text-valign").value;"top"===q?F-=$:"bottom"===q&&(F+=$);var H=c.pstyle("text-halign").value;"left"===H?B-=z:"right"===H&&(B+=z);var U=oQe(i[0],i[1],[B-z,F-$,B+z,F-$,B+z,F+$,B-z,F+$],u.x,u.y);if(U.length>0){var V=l,W=IZe(V,TZe(t)),G=IZe(V,TZe(U)),K=W;if(G<W&&(t=U,K=G),U.length>2)IZe(V,{x:U[2],y:U[3]})<K&&(t=[U[2],U[3]])}}var Y=sQe(t,n,o.arrowShapes[h].spacing(e)+f),X=sQe(t,n,o.arrowShapes[h].gap(e)+f);if(y.endX=X[0],y.endY=X[1],y.arrowEndX=Y[0],y.arrowEndY=Y[1],"inside-to-node"===C)t=[l.x,l.y];else if(T.units)t=this.manualEndptToPx(s,T);else if("outside-to-line"===C)t=y.srcIntn;else if("outside-to-node"===C||"outside-to-node-or-label"===C?a=r:"outside-to-line"!==C&&"outside-to-line-or-label"!==C||(a=[u.x,u.y]),t=o.nodeShapes[this.getNodeShape(s)].intersectLine(l.x,l.y,s.outerWidth(),s.outerHeight(),a[0],a[1],0,O,m),"outside-to-node-or-label"===C||"outside-to-line-or-label"===C){var Z=s._private.rscratch,Q=Z.labelWidth,J=Z.labelHeight,ee=Z.labelX,te=Z.labelY,ne=Q/2,re=J/2,ie=s.pstyle("text-valign").value;"top"===ie?te-=re:"bottom"===ie&&(te+=re);var ae=s.pstyle("text-halign").value;"left"===ae?ee-=ne:"right"===ae&&(ee+=ne);var oe=oQe(a[0],a[1],[ee-ne,te-re,ee+ne,te-re,ee+ne,te+re,ee-ne,te+re],l.x,l.y);if(oe.length>0){var se=u,ce=IZe(se,TZe(t)),le=IZe(se,TZe(oe)),ue=ce;if(le<ce&&(t=[oe[0],oe[1]],ue=le),oe.length>2)IZe(se,{x:oe[2],y:oe[3]})<ue&&(t=[oe[2],oe[3]])}}var he=sQe(t,r,o.arrowShapes[d].spacing(e)+p),de=sQe(t,r,o.arrowShapes[d].gap(e)+p);y.startX=de[0],y.startY=de[1],y.arrowStartX=he[0],y.arrowStartY=he[1],_&&(kYe(y.startX)&&kYe(y.startY)&&kYe(y.endX)&&kYe(y.endY)?y.badLine=!1:y.badLine=!0)},getSourceEndpoint:function(e){var t=e[0]._private.rscratch;return this.recalculateRenderedStyle(e),"haystack"===t.edgeType?{x:t.haystackPts[0],y:t.haystackPts[1]}:{x:t.arrowStartX,y:t.arrowStartY}},getTargetEndpoint:function(e){var t=e[0]._private.rscratch;return this.recalculateRenderedStyle(e),"haystack"===t.edgeType?{x:t.haystackPts[2],y:t.haystackPts[3]}:{x:t.arrowEndX,y:t.arrowEndY}}},x5e={};function k5e(e,t,n){for(var r=function(e,t,n,r){return NZe(e,t,n,r)},i=t._private.rstyle.bezierPts,a=0;a<e.bezierProjPcts.length;a++){var o=e.bezierProjPcts[a];i.push({x:r(n[0],n[2],n[4],o),y:r(n[1],n[3],n[5],o)})}}x5e.storeEdgeProjections=function(e){var t=e._private,n=t.rscratch,r=n.edgeType;if(t.rstyle.bezierPts=null,t.rstyle.linePts=null,t.rstyle.haystackPts=null,"multibezier"===r||"bezier"===r||"self"===r||"compound"===r){t.rstyle.bezierPts=[];for(var i=0;i+5<n.allpts.length;i+=4)k5e(this,e,n.allpts.slice(i,i+6))}else if("segments"===r){var a=t.rstyle.linePts=[];for(i=0;i+1<n.allpts.length;i+=2)a.push({x:n.allpts[i],y:n.allpts[i+1]})}else if("haystack"===r){var o=n.haystackPts;t.rstyle.haystackPts=[{x:o[0],y:o[1]},{x:o[2],y:o[3]}]}t.rstyle.arrowWidth=this.getArrowWidth(e.pstyle("width").pfValue,e.pstyle("arrow-scale").value)*this.arrowShapeWidth},x5e.recalculateEdgeProjections=function(e){this.findEdgeControlPoints(e)};var S5e={recalculateNodeLabelProjection:function(e){var t=e.pstyle("label").strValue;if(!OYe(t)){var n,r,i=e._private,a=e.width(),o=e.height(),s=e.padding(),c=e.position(),l=e.pstyle("text-halign").strValue,u=e.pstyle("text-valign").strValue,h=i.rscratch,d=i.rstyle;switch(l){case"left":n=c.x-a/2-s;break;case"right":n=c.x+a/2+s;break;default:n=c.x}switch(u){case"top":r=c.y-o/2-s;break;case"bottom":r=c.y+o/2+s;break;default:r=c.y}h.labelX=n,h.labelY=r,d.labelX=n,d.labelY=r,this.calculateLabelAngles(e),this.applyLabelDimensions(e)}}},E5e=function(e,t){var n=Math.atan(t/e);return 0===e&&n<0&&(n*=-1),n},_5e=function(e,t){var n=t.x-e.x,r=t.y-e.y;return E5e(n,r)};S5e.recalculateEdgeLabelProjections=function(e){var t,n=e._private,r=n.rscratch,i=this,a={mid:e.pstyle("label").strValue,source:e.pstyle("source-label").strValue,target:e.pstyle("target-label").strValue};if(a.mid||a.source||a.target){t={x:r.midX,y:r.midY};var o=function(e,t,r){rZe(n.rscratch,e,t,r),rZe(n.rstyle,e,t,r)};o("labelX",null,t.x),o("labelY",null,t.y);var s=E5e(r.midDispX,r.midDispY);o("labelAutoAngle",null,s);var c=function e(){if(e.cache)return e.cache;for(var t=[],a=0;a+5<r.allpts.length;a+=4){var o={x:r.allpts[a],y:r.allpts[a+1]},s={x:r.allpts[a+2],y:r.allpts[a+3]},c={x:r.allpts[a+4],y:r.allpts[a+5]};t.push({p0:o,p1:s,p2:c,startDist:0,length:0,segments:[]})}var l=n.rstyle.bezierPts,u=i.bezierProjPcts.length;function h(e,t,n,r,i){var a=MZe(t,n),o=e.segments[e.segments.length-1],s={p0:t,p1:n,t0:r,t1:i,startDist:o?o.startDist+o.length:0,length:a};e.segments.push(s),e.length+=a}for(var d=0;d<t.length;d++){var f=t[d],p=t[d-1];p&&(f.startDist=p.startDist+p.length),h(f,f.p0,l[d*u],0,i.bezierProjPcts[0]);for(var m=0;m<u-1;m++)h(f,l[d*u+m],l[d*u+m+1],i.bezierProjPcts[m],i.bezierProjPcts[m+1]);h(f,l[d*u+u-1],f.p2,i.bezierProjPcts[u-1],1)}return e.cache=t},l=function(n){var i,s="source"===n;if(a[n]){var l=e.pstyle(n+"-text-offset").pfValue;switch(r.edgeType){case"self":case"compound":case"bezier":case"multibezier":for(var u,h=c(),d=0,f=0,p=0;p<h.length;p++){for(var m=h[s?p:h.length-1-p],g=0;g<m.segments.length;g++){var b=m.segments[s?g:m.segments.length-1-g],y=p===h.length-1&&g===m.segments.length-1;if(d=f,(f+=b.length)>=l||y){u={cp:m,segment:b};break}}if(u)break}var v=u.cp,w=u.segment,x=(l-d)/w.length,k=w.t1-w.t0,S=s?w.t0+k*x:w.t1-k*x;S=RZe(0,S,1),t=LZe(v.p0,v.p1,v.p2,S),i=function(e,t,n,r){var i=RZe(0,r-.001,1),a=RZe(0,r+.001,1),o=LZe(e,t,n,i),s=LZe(e,t,n,a);return _5e(o,s)}(v.p0,v.p1,v.p2,S);break;case"straight":case"segments":case"haystack":for(var E,_,A,T,C=0,O=r.allpts.length,D=0;D+3<O&&(s?(A={x:r.allpts[D],y:r.allpts[D+1]},T={x:r.allpts[D+2],y:r.allpts[D+3]}):(A={x:r.allpts[O-2-D],y:r.allpts[O-1-D]},T={x:r.allpts[O-4-D],y:r.allpts[O-3-D]}),_=C,!((C+=E=MZe(A,T))>=l));D+=2);var M=(l-_)/E;M=RZe(0,M,1),t=function(e,t,n,r){var i=t.x-e.x,a=t.y-e.y,o=MZe(e,t),s=i/o,c=a/o;return n=null==n?0:n,r=null!=r?r:n*o,{x:e.x+s*r,y:e.y+c*r}}(A,T,M),i=_5e(A,T)}o("labelX",n,t.x),o("labelY",n,t.y),o("labelAutoAngle",n,i)}};l("source"),l("target"),this.applyLabelDimensions(e)}},S5e.applyLabelDimensions=function(e){this.applyPrefixedLabelDimensions(e),e.isEdge()&&(this.applyPrefixedLabelDimensions(e,"source"),this.applyPrefixedLabelDimensions(e,"target"))},S5e.applyPrefixedLabelDimensions=function(e,t){var n=e._private,r=this.getLabelText(e,t),i=this.calculateLabelDimensions(e,r),a=e.pstyle("line-height").pfValue,o=e.pstyle("text-wrap").strValue,s=nZe(n.rscratch,"labelWrapCachedLines",t)||[],c="wrap"!==o?1:Math.max(s.length,1),l=i.height/c,u=l*a,h=i.width,d=i.height+(c-1)*(a-1)*l;rZe(n.rstyle,"labelWidth",t,h),rZe(n.rscratch,"labelWidth",t,h),rZe(n.rstyle,"labelHeight",t,d),rZe(n.rscratch,"labelHeight",t,d),rZe(n.rscratch,"labelLineHeight",t,u)},S5e.getLabelText=function(e,t){var n=e._private,r=t?t+"-":"",i=e.pstyle(r+"label").strValue,a=e.pstyle("text-transform").value,o=function(e,r){return r?(rZe(n.rscratch,e,t,r),r):nZe(n.rscratch,e,t)};if(!i)return"";"none"==a||("uppercase"==a?i=i.toUpperCase():"lowercase"==a&&(i=i.toLowerCase()));var s=e.pstyle("text-wrap").value;if("wrap"===s){var c=o("labelKey");if(null!=c&&o("labelWrapKey")===c)return o("labelWrapCachedText");for(var l=i.split("\n"),u=e.pstyle("text-max-width").pfValue,h="anywhere"===e.pstyle("text-overflow-wrap").value,d=[],f=/[\s\u200b]+/,p=h?"":" ",m=0;m<l.length;m++){var g=l[m],b=this.calculateLabelDimensions(e,g).width;if(h){var y=g.split("").join("​");g=y}if(b>u){for(var v=g.split(f),w="",x=0;x<v.length;x++){var k=v[x],S=0===w.length?k:w+p+k;this.calculateLabelDimensions(e,S).width<=u?w+=k+p:(w&&d.push(w),w=k+p)}w.match(/^[\s\u200b]+$/)||d.push(w)}else d.push(g)}o("labelWrapCachedLines",d),i=o("labelWrapCachedText",d.join("\n")),o("labelWrapKey",c)}else if("ellipsis"===s){var E=e.pstyle("text-max-width").pfValue,_="",A=!1;if(this.calculateLabelDimensions(e,i).width<E)return i;for(var T=0;T<i.length;T++){if(this.calculateLabelDimensions(e,_+i[T]+"…").width>E)break;_+=i[T],T===i.length-1&&(A=!0)}return A||(_+="…"),_}return i},S5e.getLabelJustification=function(e){var t=e.pstyle("text-justification").strValue,n=e.pstyle("text-halign").strValue;if("auto"!==t)return t;if(!e.isNode())return"center";switch(n){case"left":return"right";case"right":return"left";default:return"center"}},S5e.calculateLabelDimensions=function(e,t){var n=LXe(t,e._private.labelDimsKey),r=this.labelDimCache||(this.labelDimCache=[]),i=r[n];if(null!=i)return i;var a=e.pstyle("font-style").strValue,o=e.pstyle("font-size").pfValue,s=e.pstyle("font-family").strValue,c=e.pstyle("font-weight").strValue,l=this.labelCalcCanvas,u=this.labelCalcCanvasContext;if(!l){l=this.labelCalcCanvas=document.createElement("canvas"),u=this.labelCalcCanvasContext=l.getContext("2d");var h=l.style;h.position="absolute",h.left="-9999px",h.top="-9999px",h.zIndex="-1",h.visibility="hidden",h.pointerEvents="none"}u.font="".concat(a," ").concat(c," ").concat(o,"px ").concat(s);for(var d=0,f=0,p=t.split("\n"),m=0;m<p.length;m++){var g=p[m],b=u.measureText(g),y=Math.ceil(b.width),v=o;d=Math.max(y,d),f+=v}return d+=0,f+=0,r[n]={width:d,height:f}},S5e.calculateLabelAngle=function(e,t){var n=e._private.rscratch,r=e.isEdge(),i=t?t+"-":"",a=e.pstyle(i+"text-rotation"),o=a.strValue;return"none"===o?0:r&&"autorotate"===o?n.labelAutoAngle:"autorotate"===o?0:a.pfValue},S5e.calculateLabelAngles=function(e){var t=this,n=e.isEdge(),r=e._private.rscratch;r.labelAngle=t.calculateLabelAngle(e),n&&(r.sourceLabelAngle=t.calculateLabelAngle(e,"source"),r.targetLabelAngle=t.calculateLabelAngle(e,"target"))};var A5e={},T5e=!1;A5e.getNodeShape=function(e){var t=e.pstyle("shape").value;if("cutrectangle"===t&&(e.width()<28||e.height()<28))return T5e||(KXe("The `cutrectangle` node shape can not be used at small sizes so `rectangle` is used instead"),T5e=!0),"rectangle";if(e.isParent())return"rectangle"===t||"roundrectangle"===t||"round-rectangle"===t||"cutrectangle"===t||"cut-rectangle"===t||"barrel"===t?t:"rectangle";if("polygon"===t){var n=e.pstyle("shape-polygon-points").value;return this.nodeShapes.makePolygon(n).name}return t};var C5e={registerCalculationListeners:function(){var e=this.cy,t=e.collection(),n=this,r=function(e){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(t.merge(e),n)for(var r=0;r<e.length;r++){var i=e[r]._private.rstyle;i.clean=!1,i.cleanConnected=!1}};n.binder(e).on("bounds.* dirty.*",(function(e){var t=e.target;r(t)})).on("style.* background.*",(function(e){var t=e.target;r(t,!1)}));var i=function(i){if(i){var a=n.onUpdateEleCalcsFns;t.cleanStyle();for(var o=0;o<t.length;o++){var s=t[o],c=s._private.rstyle;s.isNode()&&!c.cleanConnected&&(r(s.connectedEdges()),c.cleanConnected=!0)}if(a)for(var l=0;l<a.length;l++){(0,a[l])(i,t)}n.recalculateRenderedStyle(t),t=e.collection()}};n.flushRenderedStyleQueue=function(){i(!0)},n.beforeRender(i,n.beforeRenderPriorities.eleCalcs)},onUpdateEleCalcs:function(e){(this.onUpdateEleCalcsFns=this.onUpdateEleCalcsFns||[]).push(e)},recalculateRenderedStyle:function(e,t){var n=function(e){return e._private.rstyle.cleanConnected},r=[],i=[];if(!this.destroyed){void 0===t&&(t=!0);for(var a=0;a<e.length;a++){var o=e[a],s=o._private,c=s.rstyle;!o.isEdge()||n(o.source())&&n(o.target())||(c.clean=!1),t&&c.clean||o.removed()||"none"!==o.pstyle("display").value&&("nodes"===s.group?i.push(o):r.push(o),c.clean=!0)}for(var l=0;l<i.length;l++){var u=i[l],h=u._private.rstyle,d=u.position();this.recalculateNodeLabelProjection(u),h.nodeX=d.x,h.nodeY=d.y,h.nodeW=u.pstyle("width").pfValue,h.nodeH=u.pstyle("height").pfValue}this.recalculateEdgeProjections(r);for(var f=0;f<r.length;f++){var p=r[f]._private,m=p.rstyle,g=p.rscratch;m.srcX=g.arrowStartX,m.srcY=g.arrowStartY,m.tgtX=g.arrowEndX,m.tgtY=g.arrowEndY,m.midX=g.midX,m.midY=g.midY,m.labelAngle=g.labelAngle,m.sourceLabelAngle=g.sourceLabelAngle,m.targetLabelAngle=g.targetLabelAngle}}}},O5e={updateCachedGrabbedEles:function(){var e=this.cachedZSortedEles;if(e){e.drag=[],e.nondrag=[];for(var t=[],n=0;n<e.length;n++){var r=(i=e[n])._private.rscratch;i.grabbed()&&!i.isParent()?t.push(i):r.inDragLayer?e.drag.push(i):e.nondrag.push(i)}for(n=0;n<t.length;n++){var i=t[n];e.drag.push(i)}}},invalidateCachedZSortedEles:function(){this.cachedZSortedEles=null},getCachedZSortedEles:function(e){if(e||!this.cachedZSortedEles){var t=this.cy.mutableElements().toArray();t.sort(V2e),t.interactive=t.filter((function(e){return e.interactive()})),this.cachedZSortedEles=t,this.updateCachedGrabbedEles()}else t=this.cachedZSortedEles;return t}},D5e={};[G4e,K4e,y5e,w5e,x5e,S5e,A5e,C5e,O5e].forEach((function(e){qYe(D5e,e)}));var M5e={getCachedImage:function(e,t,n){var r=this.imageCache=this.imageCache||{},i=r[e];if(i)return i.image.complete||i.image.addEventListener("load",n),i.image;var a=(i=r[e]=r[e]||{}).image=new Image;a.addEventListener("load",n),a.addEventListener("error",(function(){a.error=!0}));var o="data:";return e.substring(0,5).toLowerCase()===o||(t="null"===t?null:t,a.crossOrigin=t),a.src=e,a}},I5e={registerBinding:function(e,t,n,r){var i=Array.prototype.slice.apply(arguments,[1]),a=this.binder(e);return a.on.apply(a,i)}};I5e.binder=function(e){var t,n=this,r=n.cy.window(),i=e===r||e===r.document||e===r.document.body||(t=e,"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(e){}n.supportsPassiveEvents=a}var s=function(t,r,a){var o=Array.prototype.slice.call(arguments);return i&&n.supportsPassiveEvents&&(o[2]={capture:null!=a&&a,passive:!1,once:!1}),n.bindings.push({target:e,args:o}),(e.addEventListener||e.on).apply(e,o),this};return{on:s,addEventListener:s,addListener:s,bind:s}},I5e.nodeIsDraggable=function(e){return e&&e.isNode()&&!e.locked()&&e.grabbable()},I5e.nodeIsGrabbable=function(e){return this.nodeIsDraggable(e)&&e.interactive()},I5e.load=function(){var e=this,t=e.cy.window(),n=function(e){return e.selected()},r=function(t,n,r,i){null==t&&(t=e.cy);for(var a=0;a<n.length;a++){var o=n[a];t.emit({originalEvent:r,type:o,position:i})}},i=function(e){return e.shiftKey||e.metaKey||e.ctrlKey},a=function(t,n){var r=!0;if(e.cy.hasCompoundNodes()&&t&&t.pannable())for(var i=0;n&&i<n.length;i++){if((t=n[i]).isNode()&&t.isParent()&&!t.pannable()){r=!1;break}}else r=!0;return r},o=function(e){e[0]._private.rscratch.inDragLayer=!0},s=function(e){e[0]._private.rscratch.isGrabTarget=!0},c=function(e,t){var n=t.addToList;n.has(e)||!e.grabbable()||e.locked()||(n.merge(e),function(e){e[0]._private.grabbed=!0}(e))},l=function(t,n){n=n||{};var r=t.cy().hasCompoundNodes();n.inDragLayer&&(t.forEach(o),t.neighborhood().stdFilter((function(e){return!r||e.isEdge()})).forEach(o)),n.addToList&&t.forEach((function(e){c(e,n)})),function(e,t){if(e.cy().hasCompoundNodes()&&(null!=t.inDragLayer||null!=t.addToList)){var n=e.descendants();t.inDragLayer&&(n.forEach(o),n.connectedEdges().forEach(o)),t.addToList&&c(n,t)}}(t,n),d(t,{inDragLayer:n.inDragLayer}),e.updateCachedGrabbedEles()},u=l,h=function(t){t&&(e.getCachedZSortedEles().forEach((function(e){!function(e){e[0]._private.grabbed=!1}(e),function(e){e[0]._private.rscratch.inDragLayer=!1}(e),function(e){e[0]._private.rscratch.isGrabTarget=!1}(e)})),e.updateCachedGrabbedEles())},d=function(e,t){if((null!=t.inDragLayer||null!=t.addToList)&&e.cy().hasCompoundNodes()){var n=e.ancestors().orphans();if(!n.same(e)){var r=n.descendants().spawnSelf().merge(n).unmerge(e).unmerge(e.descendants()),i=r.connectedEdges();t.inDragLayer&&(i.forEach(o),r.forEach(o)),t.addToList&&r.forEach((function(e){c(e,t)}))}}},f=function(){null!=document.activeElement&&null!=document.activeElement.blur&&document.activeElement.blur()},p="undefined"!=typeof MutationObserver,m="undefined"!=typeof ResizeObserver;p?(e.removeObserver=new MutationObserver((function(t){for(var n=0;n<t.length;n++){var r=t[n].removedNodes;if(r)for(var i=0;i<r.length;i++){if(r[i]===e.container){e.destroy();break}}}})),e.container.parentNode&&e.removeObserver.observe(e.container.parentNode,{childList:!0})):e.registerBinding(e.container,"DOMNodeRemoved",(function(t){e.destroy()}));var g=kXe((function(){e.cy.resize()}),100);p&&(e.styleObserver=new MutationObserver(g),e.styleObserver.observe(e.container,{attributes:!0})),e.registerBinding(t,"resize",g),m&&(e.resizeObserver=new ResizeObserver(g),e.resizeObserver.observe(e.container));var b=function(){e.invalidateContainerClientCoordsCache()};!function(e,t){for(;null!=e;)t(e),e=e.parentNode}(e.container,(function(t){e.registerBinding(t,"transitionend",b),e.registerBinding(t,"animationend",b),e.registerBinding(t,"scroll",b)})),e.registerBinding(e.container,"contextmenu",(function(e){e.preventDefault()}));var y,v,w,x=function(t){for(var n=e.findContainerClientCoords(),r=n[0],i=n[1],a=n[2],o=n[3],s=t.touches?t.touches:[t],c=!1,l=0;l<s.length;l++){var u=s[l];if(r<=u.clientX&&u.clientX<=r+a&&i<=u.clientY&&u.clientY<=i+o){c=!0;break}}if(!c)return!1;for(var h=e.container,d=t.target.parentNode,f=!1;d;){if(d===h){f=!0;break}d=d.parentNode}return!!f};e.registerBinding(e.container,"mousedown",(function(t){if(x(t)){t.preventDefault(),f(),e.hoverData.capture=!0,e.hoverData.which=t.which;var n=e.cy,i=[t.clientX,t.clientY],a=e.projectIntoViewport(i[0],i[1]),o=e.selection,c=e.findNearestElements(a[0],a[1],!0,!1),h=c[0],d=e.dragData.possibleDragElements;e.hoverData.mdownPos=a,e.hoverData.mdownGPos=i;if(3==t.which){e.hoverData.cxtStarted=!0;var p={originalEvent:t,type:"cxttapstart",position:{x:a[0],y:a[1]}};h?(h.activate(),h.emit(p),e.hoverData.down=h):n.emit(p),e.hoverData.downTime=(new Date).getTime(),e.hoverData.cxtDragged=!1}else if(1==t.which){if(h&&h.activate(),null!=h&&e.nodeIsGrabbable(h)){var m=function(e){return{originalEvent:t,type:e,position:{x:a[0],y:a[1]}}};if(s(h),h.selected()){d=e.dragData.possibleDragElements=n.collection();var g=n.$((function(t){return t.isNode()&&t.selected()&&e.nodeIsGrabbable(t)}));l(g,{addToList:d}),h.emit(m("grabon")),g.forEach((function(e){e.emit(m("grab"))}))}else d=e.dragData.possibleDragElements=n.collection(),u(h,{addToList:d}),h.emit(m("grabon")).emit(m("grab"));e.redrawHint("eles",!0),e.redrawHint("drag",!0)}e.hoverData.down=h,e.hoverData.downs=c,e.hoverData.downTime=(new Date).getTime(),r(h,["mousedown","tapstart","vmousedown"],t,{x:a[0],y:a[1]}),null==h?(o[4]=1,e.data.bgActivePosistion={x:a[0],y:a[1]},e.redrawHint("select",!0),e.redraw()):h.pannable()&&(o[4]=1),e.hoverData.tapholdCancelled=!1,clearTimeout(e.hoverData.tapholdTimeout),e.hoverData.tapholdTimeout=setTimeout((function(){if(!e.hoverData.tapholdCancelled){var r=e.hoverData.down;r?r.emit({originalEvent:t,type:"taphold",position:{x:a[0],y:a[1]}}):n.emit({originalEvent:t,type:"taphold",position:{x:a[0],y:a[1]}})}}),e.tapholdDuration)}o[0]=o[2]=a[0],o[1]=o[3]=a[1]}}),!1),e.registerBinding(t,"mousemove",(function(t){if(e.hoverData.capture||x(t)){var n=!1,o=e.cy,s=o.zoom(),c=[t.clientX,t.clientY],u=e.projectIntoViewport(c[0],c[1]),d=e.hoverData.mdownPos,f=e.hoverData.mdownGPos,p=e.selection,m=null;e.hoverData.draggingEles||e.hoverData.dragging||e.hoverData.selecting||(m=e.findNearestElement(u[0],u[1],!0,!1));var g,b=e.hoverData.last,y=e.hoverData.down,v=[u[0]-p[2],u[1]-p[3]],w=e.dragData.possibleDragElements;if(f){var k=c[0]-f[0],S=k*k,E=c[1]-f[1],_=S+E*E;e.hoverData.isOverThresholdDrag=g=_>=e.desktopTapThreshold2}var A=i(t);g&&(e.hoverData.tapholdCancelled=!0);n=!0,r(m,["mousemove","vmousemove","tapdrag"],t,{x:u[0],y:u[1]});var T=function(){e.data.bgActivePosistion=void 0,e.hoverData.selecting||o.emit({originalEvent:t,type:"boxstart",position:{x:u[0],y:u[1]}}),p[4]=1,e.hoverData.selecting=!0,e.redrawHint("select",!0),e.redraw()};if(3===e.hoverData.which){if(g){var C={originalEvent:t,type:"cxtdrag",position:{x:u[0],y:u[1]}};y?y.emit(C):o.emit(C),e.hoverData.cxtDragged=!0,e.hoverData.cxtOver&&m===e.hoverData.cxtOver||(e.hoverData.cxtOver&&e.hoverData.cxtOver.emit({originalEvent:t,type:"cxtdragout",position:{x:u[0],y:u[1]}}),e.hoverData.cxtOver=m,m&&m.emit({originalEvent:t,type:"cxtdragover",position:{x:u[0],y:u[1]}}))}}else if(e.hoverData.dragging){if(n=!0,o.panningEnabled()&&o.userPanningEnabled()){var O;if(e.hoverData.justStartedPan){var D=e.hoverData.mdownPos;O={x:(u[0]-D[0])*s,y:(u[1]-D[1])*s},e.hoverData.justStartedPan=!1}else O={x:v[0]*s,y:v[1]*s};o.panBy(O),o.emit("dragpan"),e.hoverData.dragged=!0}u=e.projectIntoViewport(t.clientX,t.clientY)}else if(1!=p[4]||null!=y&&!y.pannable()){if(y&&y.pannable()&&y.active()&&y.unactivate(),y&&y.grabbed()||m==b||(b&&r(b,["mouseout","tapdragout"],t,{x:u[0],y:u[1]}),m&&r(m,["mouseover","tapdragover"],t,{x:u[0],y:u[1]}),e.hoverData.last=m),y)if(g){if(o.boxSelectionEnabled()&&A)y&&y.grabbed()&&(h(w),y.emit("freeon"),w.emit("free"),e.dragData.didDrag&&(y.emit("dragfreeon"),w.emit("dragfree"))),T();else if(y&&y.grabbed()&&e.nodeIsDraggable(y)){var M=!e.dragData.didDrag;M&&e.redrawHint("eles",!0),e.dragData.didDrag=!0,e.hoverData.draggingEles||l(w,{inDragLayer:!0});var I={x:0,y:0};if(kYe(v[0])&&kYe(v[1])&&(I.x+=v[0],I.y+=v[1],M)){var P=e.hoverData.dragDelta;P&&kYe(P[0])&&kYe(P[1])&&(I.x+=P[0],I.y+=P[1])}e.hoverData.draggingEles=!0,w.silentShift(I).emit("position drag"),e.redrawHint("drag",!0),e.redraw()}}else!function(){var t=e.hoverData.dragDelta=e.hoverData.dragDelta||[];0===t.length?(t.push(v[0]),t.push(v[1])):(t[0]+=v[0],t[1]+=v[1])}();n=!0}else if(g){if(e.hoverData.dragging||!o.boxSelectionEnabled()||!A&&o.panningEnabled()&&o.userPanningEnabled()){if(!e.hoverData.selecting&&o.panningEnabled()&&o.userPanningEnabled()){a(y,e.hoverData.downs)&&(e.hoverData.dragging=!0,e.hoverData.justStartedPan=!0,p[4]=0,e.data.bgActivePosistion=TZe(d),e.redrawHint("select",!0),e.redraw())}}else T();y&&y.pannable()&&y.active()&&y.unactivate()}return p[2]=u[0],p[3]=u[1],n?(t.stopPropagation&&t.stopPropagation(),t.preventDefault&&t.preventDefault(),!1):void 0}}),!1),e.registerBinding(t,"mouseup",(function(t){if(e.hoverData.capture){e.hoverData.capture=!1;var a=e.cy,o=e.projectIntoViewport(t.clientX,t.clientY),s=e.selection,c=e.findNearestElement(o[0],o[1],!0,!1),l=e.dragData.possibleDragElements,u=e.hoverData.down,d=i(t);if(e.data.bgActivePosistion&&(e.redrawHint("select",!0),e.redraw()),e.hoverData.tapholdCancelled=!0,e.data.bgActivePosistion=void 0,u&&u.unactivate(),3===e.hoverData.which){var f={originalEvent:t,type:"cxttapend",position:{x:o[0],y:o[1]}};if(u?u.emit(f):a.emit(f),!e.hoverData.cxtDragged){var p={originalEvent:t,type:"cxttap",position:{x:o[0],y:o[1]}};u?u.emit(p):a.emit(p)}e.hoverData.cxtDragged=!1,e.hoverData.which=null}else if(1===e.hoverData.which){if(r(c,["mouseup","tapend","vmouseup"],t,{x:o[0],y:o[1]}),e.dragData.didDrag||e.hoverData.dragged||e.hoverData.selecting||e.hoverData.isOverThresholdDrag||(r(u,["click","tap","vclick"],t,{x:o[0],y:o[1]}),v=!1,t.timeStamp-w<=a.multiClickDebounceTime()?(y&&clearTimeout(y),v=!0,w=null,r(u,["dblclick","dbltap","vdblclick"],t,{x:o[0],y:o[1]})):(y=setTimeout((function(){v||r(u,["oneclick","onetap","voneclick"],t,{x:o[0],y:o[1]})}),a.multiClickDebounceTime()),w=t.timeStamp)),null!=u||e.dragData.didDrag||e.hoverData.selecting||e.hoverData.dragged||i(t)||(a.$(n).unselect(["tapunselect"]),l.length>0&&e.redrawHint("eles",!0),e.dragData.possibleDragElements=l=a.collection()),c!=u||e.dragData.didDrag||e.hoverData.selecting||null!=c&&c._private.selectable&&(e.hoverData.dragging||("additive"===a.selectionType()||d?c.selected()?c.unselect(["tapunselect"]):c.select(["tapselect"]):d||(a.$(n).unmerge(c).unselect(["tapunselect"]),c.select(["tapselect"]))),e.redrawHint("eles",!0)),e.hoverData.selecting){var m=a.collection(e.getAllInBox(s[0],s[1],s[2],s[3]));e.redrawHint("select",!0),m.length>0&&e.redrawHint("eles",!0),a.emit({type:"boxend",originalEvent:t,position:{x:o[0],y:o[1]}});var g=function(e){return e.selectable()&&!e.selected()};"additive"===a.selectionType()||d||a.$(n).unmerge(m).unselect(),m.emit("box").stdFilter(g).select().emit("boxselect"),e.redraw()}if(e.hoverData.dragging&&(e.hoverData.dragging=!1,e.redrawHint("select",!0),e.redrawHint("eles",!0),e.redraw()),!s[4]){e.redrawHint("drag",!0),e.redrawHint("eles",!0);var b=u&&u.grabbed();h(l),b&&(u.emit("freeon"),l.emit("free"),e.dragData.didDrag&&(u.emit("dragfreeon"),l.emit("dragfree")))}}s[4]=0,e.hoverData.down=null,e.hoverData.cxtStarted=!1,e.hoverData.draggingEles=!1,e.hoverData.selecting=!1,e.hoverData.isOverThresholdDrag=!1,e.dragData.didDrag=!1,e.hoverData.dragged=!1,e.hoverData.dragDelta=[],e.hoverData.mdownPos=null,e.hoverData.mdownGPos=null}}),!1);var k,S,E,_,A,T,C,O,D,M,I,P,N,L=function(t){if(!e.scrollingPage){var n=e.cy,r=n.zoom(),i=n.pan(),a=e.projectIntoViewport(t.clientX,t.clientY),o=[a[0]*r+i.x,a[1]*r+i.y];if(e.hoverData.draggingEles||e.hoverData.dragging||e.hoverData.cxtStarted||0!==e.selection[4])t.preventDefault();else if(n.panningEnabled()&&n.userPanningEnabled()&&n.zoomingEnabled()&&n.userZoomingEnabled()){var s;t.preventDefault(),e.data.wheelZooming=!0,clearTimeout(e.data.wheelTimeout),e.data.wheelTimeout=setTimeout((function(){e.data.wheelZooming=!1,e.redrawHint("eles",!0),e.redraw()}),150),s=null!=t.deltaY?t.deltaY/-250:null!=t.wheelDeltaY?t.wheelDeltaY/1e3:t.wheelDelta/1e3,s*=e.wheelSensitivity,1===t.deltaMode&&(s*=33);var c=n.zoom()*Math.pow(10,s);"gesturechange"===t.type&&(c=e.gestureStartZoom*t.scale),n.zoom({level:c,renderedPosition:{x:o[0],y:o[1]}}),n.emit("gesturechange"===t.type?"pinchzoom":"scrollzoom")}}};e.registerBinding(e.container,"wheel",L,!0),e.registerBinding(t,"scroll",(function(t){e.scrollingPage=!0,clearTimeout(e.scrollingPageTimeout),e.scrollingPageTimeout=setTimeout((function(){e.scrollingPage=!1}),250)}),!0),e.registerBinding(e.container,"gesturestart",(function(t){e.gestureStartZoom=e.cy.zoom(),e.hasTouchStarted||t.preventDefault()}),!0),e.registerBinding(e.container,"gesturechange",(function(t){e.hasTouchStarted||L(t)}),!0),e.registerBinding(e.container,"mouseout",(function(t){var n=e.projectIntoViewport(t.clientX,t.clientY);e.cy.emit({originalEvent:t,type:"mouseout",position:{x:n[0],y:n[1]}})}),!1),e.registerBinding(e.container,"mouseover",(function(t){var n=e.projectIntoViewport(t.clientX,t.clientY);e.cy.emit({originalEvent:t,type:"mouseover",position:{x:n[0],y:n[1]}})}),!1);var R,j,B,F,z,$,q,H=function(e,t,n,r){return Math.sqrt((n-e)*(n-e)+(r-t)*(r-t))},U=function(e,t,n,r){return(n-e)*(n-e)+(r-t)*(r-t)};if(e.registerBinding(e.container,"touchstart",R=function(t){if(e.hasTouchStarted=!0,x(t)){f(),e.touchData.capture=!0,e.data.bgActivePosistion=void 0;var n=e.cy,i=e.touchData.now,a=e.touchData.earlier;if(t.touches[0]){var o=e.projectIntoViewport(t.touches[0].clientX,t.touches[0].clientY);i[0]=o[0],i[1]=o[1]}if(t.touches[1]){o=e.projectIntoViewport(t.touches[1].clientX,t.touches[1].clientY);i[2]=o[0],i[3]=o[1]}if(t.touches[2]){o=e.projectIntoViewport(t.touches[2].clientX,t.touches[2].clientY);i[4]=o[0],i[5]=o[1]}if(t.touches[1]){e.touchData.singleTouchMoved=!0,h(e.dragData.touchDragEles);var c=e.findContainerClientCoords();D=c[0],M=c[1],I=c[2],P=c[3],k=t.touches[0].clientX-D,S=t.touches[0].clientY-M,E=t.touches[1].clientX-D,_=t.touches[1].clientY-M,N=0<=k&&k<=I&&0<=E&&E<=I&&0<=S&&S<=P&&0<=_&&_<=P;var d=n.pan(),p=n.zoom();A=H(k,S,E,_),T=U(k,S,E,_),O=[((C=[(k+E)/2,(S+_)/2])[0]-d.x)/p,(C[1]-d.y)/p];if(T<4e4&&!t.touches[2]){var m=e.findNearestElement(i[0],i[1],!0,!0),g=e.findNearestElement(i[2],i[3],!0,!0);return m&&m.isNode()?(m.activate().emit({originalEvent:t,type:"cxttapstart",position:{x:i[0],y:i[1]}}),e.touchData.start=m):g&&g.isNode()?(g.activate().emit({originalEvent:t,type:"cxttapstart",position:{x:i[0],y:i[1]}}),e.touchData.start=g):n.emit({originalEvent:t,type:"cxttapstart",position:{x:i[0],y:i[1]}}),e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxt=!0,e.touchData.cxtDragged=!1,e.data.bgActivePosistion=void 0,void e.redraw()}}if(t.touches[2])n.boxSelectionEnabled()&&t.preventDefault();else if(t.touches[1]);else if(t.touches[0]){var b=e.findNearestElements(i[0],i[1],!0,!0),y=b[0];if(null!=y&&(y.activate(),e.touchData.start=y,e.touchData.starts=b,e.nodeIsGrabbable(y))){var v=e.dragData.touchDragEles=n.collection(),w=null;e.redrawHint("eles",!0),e.redrawHint("drag",!0),y.selected()?(w=n.$((function(t){return t.selected()&&e.nodeIsGrabbable(t)})),l(w,{addToList:v})):u(y,{addToList:v}),s(y);var L=function(e){return{originalEvent:t,type:e,position:{x:i[0],y:i[1]}}};y.emit(L("grabon")),w?w.forEach((function(e){e.emit(L("grab"))})):y.emit(L("grab"))}r(y,["touchstart","tapstart","vmousedown"],t,{x:i[0],y:i[1]}),null==y&&(e.data.bgActivePosistion={x:o[0],y:o[1]},e.redrawHint("select",!0),e.redraw()),e.touchData.singleTouchMoved=!1,e.touchData.singleTouchStartTime=+new Date,clearTimeout(e.touchData.tapholdTimeout),e.touchData.tapholdTimeout=setTimeout((function(){!1!==e.touchData.singleTouchMoved||e.pinching||e.touchData.selecting||r(e.touchData.start,["taphold"],t,{x:i[0],y:i[1]})}),e.tapholdDuration)}if(t.touches.length>=1){for(var R=e.touchData.startPosition=[null,null,null,null,null,null],j=0;j<i.length;j++)R[j]=a[j]=i[j];var B=t.touches[0];e.touchData.startGPosition=[B.clientX,B.clientY]}}},!1),e.registerBinding(window,"touchmove",j=function(t){var n=e.touchData.capture;if(n||x(t)){var i=e.selection,o=e.cy,s=e.touchData.now,c=e.touchData.earlier,u=o.zoom();if(t.touches[0]){var d=e.projectIntoViewport(t.touches[0].clientX,t.touches[0].clientY);s[0]=d[0],s[1]=d[1]}if(t.touches[1]){d=e.projectIntoViewport(t.touches[1].clientX,t.touches[1].clientY);s[2]=d[0],s[3]=d[1]}if(t.touches[2]){d=e.projectIntoViewport(t.touches[2].clientX,t.touches[2].clientY);s[4]=d[0],s[5]=d[1]}var f,p=e.touchData.startGPosition;if(n&&t.touches[0]&&p){for(var m=[],g=0;g<s.length;g++)m[g]=s[g]-c[g];var b=t.touches[0].clientX-p[0],y=b*b,v=t.touches[0].clientY-p[1];f=y+v*v>=e.touchTapThreshold2}if(n&&e.touchData.cxt){t.preventDefault();var w=t.touches[0].clientX-D,C=t.touches[0].clientY-M,I=t.touches[1].clientX-D,P=t.touches[1].clientY-M,L=U(w,C,I,P);if(L/T>=2.25||L>=22500){e.touchData.cxt=!1,e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);var R={originalEvent:t,type:"cxttapend",position:{x:s[0],y:s[1]}};e.touchData.start?(e.touchData.start.unactivate().emit(R),e.touchData.start=null):o.emit(R)}}if(n&&e.touchData.cxt){R={originalEvent:t,type:"cxtdrag",position:{x:s[0],y:s[1]}};e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),e.touchData.start?e.touchData.start.emit(R):o.emit(R),e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxtDragged=!0;var j=e.findNearestElement(s[0],s[1],!0,!0);e.touchData.cxtOver&&j===e.touchData.cxtOver||(e.touchData.cxtOver&&e.touchData.cxtOver.emit({originalEvent:t,type:"cxtdragout",position:{x:s[0],y:s[1]}}),e.touchData.cxtOver=j,j&&j.emit({originalEvent:t,type:"cxtdragover",position:{x:s[0],y:s[1]}}))}else if(n&&t.touches[2]&&o.boxSelectionEnabled())t.preventDefault(),e.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,e.touchData.selecting||o.emit({originalEvent:t,type:"boxstart",position:{x:s[0],y:s[1]}}),e.touchData.selecting=!0,e.touchData.didSelect=!0,i[4]=1,i&&0!==i.length&&void 0!==i[0]?(i[2]=(s[0]+s[2]+s[4])/3,i[3]=(s[1]+s[3]+s[5])/3):(i[0]=(s[0]+s[2]+s[4])/3,i[1]=(s[1]+s[3]+s[5])/3,i[2]=(s[0]+s[2]+s[4])/3+1,i[3]=(s[1]+s[3]+s[5])/3+1),e.redrawHint("select",!0),e.redraw();else if(n&&t.touches[1]&&!e.touchData.didSelect&&o.zoomingEnabled()&&o.panningEnabled()&&o.userZoomingEnabled()&&o.userPanningEnabled()){if(t.preventDefault(),e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),J=e.dragData.touchDragEles){e.redrawHint("drag",!0);for(var B=0;B<J.length;B++){var F=J[B]._private;F.grabbed=!1,F.rscratch.inDragLayer=!1}}var z=e.touchData.start,$=(w=t.touches[0].clientX-D,C=t.touches[0].clientY-M,I=t.touches[1].clientX-D,P=t.touches[1].clientY-M,H(w,C,I,P)),q=$/A;if(N){var V=(w-k+(I-E))/2,W=(C-S+(P-_))/2,G=o.zoom(),K=G*q,Y=o.pan(),X=O[0]*G+Y.x,Z=O[1]*G+Y.y,Q={x:-K/G*(X-Y.x-V)+X,y:-K/G*(Z-Y.y-W)+Z};if(z&&z.active()){var J=e.dragData.touchDragEles;h(J),e.redrawHint("drag",!0),e.redrawHint("eles",!0),z.unactivate().emit("freeon"),J.emit("free"),e.dragData.didDrag&&(z.emit("dragfreeon"),J.emit("dragfree"))}o.viewport({zoom:K,pan:Q,cancelOnFailedZoom:!0}),o.emit("pinchzoom"),A=$,k=w,S=C,E=I,_=P,e.pinching=!0}if(t.touches[0]){d=e.projectIntoViewport(t.touches[0].clientX,t.touches[0].clientY);s[0]=d[0],s[1]=d[1]}if(t.touches[1]){d=e.projectIntoViewport(t.touches[1].clientX,t.touches[1].clientY);s[2]=d[0],s[3]=d[1]}if(t.touches[2]){d=e.projectIntoViewport(t.touches[2].clientX,t.touches[2].clientY);s[4]=d[0],s[5]=d[1]}}else if(t.touches[0]&&!e.touchData.didSelect){var ee=e.touchData.start,te=e.touchData.last;if(e.hoverData.draggingEles||e.swipePanning||(j=e.findNearestElement(s[0],s[1],!0,!0)),n&&null!=ee&&t.preventDefault(),n&&null!=ee&&e.nodeIsDraggable(ee))if(f){J=e.dragData.touchDragEles;var ne=!e.dragData.didDrag;ne&&l(J,{inDragLayer:!0}),e.dragData.didDrag=!0;var re={x:0,y:0};if(kYe(m[0])&&kYe(m[1]))if(re.x+=m[0],re.y+=m[1],ne)e.redrawHint("eles",!0),(ie=e.touchData.dragDelta)&&kYe(ie[0])&&kYe(ie[1])&&(re.x+=ie[0],re.y+=ie[1]);e.hoverData.draggingEles=!0,J.silentShift(re).emit("position drag"),e.redrawHint("drag",!0),e.touchData.startPosition[0]==c[0]&&e.touchData.startPosition[1]==c[1]&&e.redrawHint("eles",!0),e.redraw()}else{var ie;0===(ie=e.touchData.dragDelta=e.touchData.dragDelta||[]).length?(ie.push(m[0]),ie.push(m[1])):(ie[0]+=m[0],ie[1]+=m[1])}if(r(ee||j,["touchmove","tapdrag","vmousemove"],t,{x:s[0],y:s[1]}),ee&&ee.grabbed()||j==te||(te&&te.emit({originalEvent:t,type:"tapdragout",position:{x:s[0],y:s[1]}}),j&&j.emit({originalEvent:t,type:"tapdragover",position:{x:s[0],y:s[1]}})),e.touchData.last=j,n)for(B=0;B<s.length;B++)s[B]&&e.touchData.startPosition[B]&&f&&(e.touchData.singleTouchMoved=!0);if(n&&(null==ee||ee.pannable())&&o.panningEnabled()&&o.userPanningEnabled()){a(ee,e.touchData.starts)&&(t.preventDefault(),e.data.bgActivePosistion||(e.data.bgActivePosistion=TZe(e.touchData.startPosition)),e.swipePanning?(o.panBy({x:m[0]*u,y:m[1]*u}),o.emit("dragpan")):f&&(e.swipePanning=!0,o.panBy({x:b*u,y:v*u}),o.emit("dragpan"),ee&&(ee.unactivate(),e.redrawHint("select",!0),e.touchData.start=null)));d=e.projectIntoViewport(t.touches[0].clientX,t.touches[0].clientY);s[0]=d[0],s[1]=d[1]}}for(g=0;g<s.length;g++)c[g]=s[g];n&&t.touches.length>0&&!e.hoverData.draggingEles&&!e.swipePanning&&null!=e.data.bgActivePosistion&&(e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),e.redraw())}},!1),e.registerBinding(t,"touchcancel",B=function(t){var n=e.touchData.start;e.touchData.capture=!1,n&&n.unactivate()}),e.registerBinding(t,"touchend",F=function(t){var i=e.touchData.start;if(e.touchData.capture){0===t.touches.length&&(e.touchData.capture=!1),t.preventDefault();var a=e.selection;e.swipePanning=!1,e.hoverData.draggingEles=!1;var o,s=e.cy,c=s.zoom(),l=e.touchData.now,u=e.touchData.earlier;if(t.touches[0]){var d=e.projectIntoViewport(t.touches[0].clientX,t.touches[0].clientY);l[0]=d[0],l[1]=d[1]}if(t.touches[1]){d=e.projectIntoViewport(t.touches[1].clientX,t.touches[1].clientY);l[2]=d[0],l[3]=d[1]}if(t.touches[2]){d=e.projectIntoViewport(t.touches[2].clientX,t.touches[2].clientY);l[4]=d[0],l[5]=d[1]}if(i&&i.unactivate(),e.touchData.cxt){if(o={originalEvent:t,type:"cxttapend",position:{x:l[0],y:l[1]}},i?i.emit(o):s.emit(o),!e.touchData.cxtDragged){var f={originalEvent:t,type:"cxttap",position:{x:l[0],y:l[1]}};i?i.emit(f):s.emit(f)}return e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxt=!1,e.touchData.start=null,void e.redraw()}if(!t.touches[2]&&s.boxSelectionEnabled()&&e.touchData.selecting){e.touchData.selecting=!1;var p=s.collection(e.getAllInBox(a[0],a[1],a[2],a[3]));a[0]=void 0,a[1]=void 0,a[2]=void 0,a[3]=void 0,a[4]=0,e.redrawHint("select",!0),s.emit({type:"boxend",originalEvent:t,position:{x:l[0],y:l[1]}});p.emit("box").stdFilter((function(e){return e.selectable()&&!e.selected()})).select().emit("boxselect"),p.nonempty()&&e.redrawHint("eles",!0),e.redraw()}if(null!=i&&i.unactivate(),t.touches[2])e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);else if(t.touches[1]);else if(t.touches[0]);else if(!t.touches[0]){e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);var m=e.dragData.touchDragEles;if(null!=i){var g=i._private.grabbed;h(m),e.redrawHint("drag",!0),e.redrawHint("eles",!0),g&&(i.emit("freeon"),m.emit("free"),e.dragData.didDrag&&(i.emit("dragfreeon"),m.emit("dragfree"))),r(i,["touchend","tapend","vmouseup","tapdragout"],t,{x:l[0],y:l[1]}),i.unactivate(),e.touchData.start=null}else{var b=e.findNearestElement(l[0],l[1],!0,!0);r(b,["touchend","tapend","vmouseup","tapdragout"],t,{x:l[0],y:l[1]})}var y=e.touchData.startPosition[0]-l[0],v=y*y,w=e.touchData.startPosition[1]-l[1],x=(v+w*w)*c*c;e.touchData.singleTouchMoved||(i||s.$(":selected").unselect(["tapunselect"]),r(i,["tap","vclick"],t,{x:l[0],y:l[1]}),z=!1,t.timeStamp-q<=s.multiClickDebounceTime()?($&&clearTimeout($),z=!0,q=null,r(i,["dbltap","vdblclick"],t,{x:l[0],y:l[1]})):($=setTimeout((function(){z||r(i,["onetap","voneclick"],t,{x:l[0],y:l[1]})}),s.multiClickDebounceTime()),q=t.timeStamp)),null!=i&&!e.dragData.didDrag&&i._private.selectable&&x<e.touchTapThreshold2&&!e.pinching&&("single"===s.selectionType()?(s.$(n).unmerge(i).unselect(["tapunselect"]),i.select(["tapselect"])):i.selected()?i.unselect(["tapunselect"]):i.select(["tapselect"]),e.redrawHint("eles",!0)),e.touchData.singleTouchMoved=!0}for(var k=0;k<l.length;k++)u[k]=l[k];e.dragData.didDrag=!1,0===t.touches.length&&(e.touchData.dragDelta=[],e.touchData.startPosition=[null,null,null,null,null,null],e.touchData.startGPosition=null,e.touchData.didSelect=!1),t.touches.length<2&&(1===t.touches.length&&(e.touchData.startGPosition=[t.touches[0].clientX,t.touches[0].clientY]),e.pinching=!1,e.redrawHint("eles",!0),e.redraw())}},!1),"undefined"==typeof TouchEvent){var V=[],W=function(e){return{clientX:e.clientX,clientY:e.clientY,force:1,identifier:e.pointerId,pageX:e.pageX,pageY:e.pageY,radiusX:e.width/2,radiusY:e.height/2,screenX:e.screenX,screenY:e.screenY,target:e.target}},G=function(e){V.push(function(e){return{event:e,touch:W(e)}}(e))},K=function(e){for(var t=0;t<V.length;t++){if(V[t].event.pointerId===e.pointerId)return void V.splice(t,1)}},Y=function(e){e.touches=V.map((function(e){return e.touch}))},X=function(e){return"mouse"===e.pointerType||4===e.pointerType};e.registerBinding(e.container,"pointerdown",(function(e){X(e)||(e.preventDefault(),G(e),Y(e),R(e))})),e.registerBinding(e.container,"pointerup",(function(e){X(e)||(K(e),Y(e),F(e))})),e.registerBinding(e.container,"pointercancel",(function(e){X(e)||(K(e),Y(e),B())})),e.registerBinding(e.container,"pointermove",(function(e){X(e)||(e.preventDefault(),function(e){var t=V.filter((function(t){return t.event.pointerId===e.pointerId}))[0];t.event=e,t.touch=W(e)}(e),Y(e),j(e))}))}};var P5e={generatePolygon:function(e,t){return this.nodeShapes[e]={renderer:this,name:e,points:t,draw:function(e,t,n,r,i,a){this.renderer.nodeShapeImpl("polygon",e,t,n,r,i,this.points)},intersectLine:function(e,t,n,r,i,a,o,s){return oQe(i,a,this.points,e,t,n/2,r/2,o)},checkPoint:function(e,t,n,r,i,a,o,s){return JZe(e,t,this.points,a,o,r,i,[0,-1],n)}}}};P5e.generateEllipse=function(){return this.nodeShapes.ellipse={renderer:this,name:"ellipse",draw:function(e,t,n,r,i,a){this.renderer.nodeShapeImpl(this.name,e,t,n,r,i)},intersectLine:function(e,t,n,r,i,a,o,s){return function(e,t,n,r,i,a){var o=n-e,s=r-t;o/=i,s/=a;var c=Math.sqrt(o*o+s*s),l=c-1;if(l<0)return[];var u=l/c;return[(n-e)*u+e,(r-t)*u+t]}(i,a,e,t,n/2+o,r/2+o)},checkPoint:function(e,t,n,r,i,a,o,s){return nQe(e,t,r,i,a,o,n)}}},P5e.generateRoundPolygon=function(e,t){return this.nodeShapes[e]={renderer:this,name:e,points:t,getOrCreateCorners:function(e,n,r,i,a,o,s){if(void 0!==o[s]&&o[s+"-cx"]===e&&o[s+"-cy"]===n)return o[s];o[s]=new Array(t.length/2),o[s+"-cx"]=e,o[s+"-cy"]=n;var c=r/2,l=i/2;a="auto"===a?dQe(r,i):a;for(var u=new Array(t.length/2),h=0;h<t.length/2;h++)u[h]={x:e+c*t[2*h],y:n+l*t[2*h+1]};var d,f,p,m,g=u.length;for(f=u[g-1],d=0;d<g;d++)p=u[d%g],m=u[(d+1)%g],o[s][d]=b5e(f,p,m,a),f=p,p=m;return o[s]},draw:function(e,t,n,r,i,a,o){this.renderer.nodeShapeImpl("round-polygon",e,t,n,r,i,this.points,this.getOrCreateCorners(t,n,r,i,a,o,"drawCorners"))},intersectLine:function(e,t,n,r,i,a,o,s,c){return function(e,t,n,r,i,a,o,s,c){var l,u=[],h=new Array(2*n.length);c.forEach((function(n,a){0===a?(h[h.length-2]=n.startX,h[h.length-1]=n.startY):(h[4*a-2]=n.startX,h[4*a-1]=n.startY),h[4*a]=n.stopX,h[4*a+1]=n.stopY,0!==(l=rQe(e,t,r,i,n.cx,n.cy,n.radius)).length&&u.push(l[0],l[1])}));for(var d=0;d<h.length/4;d++)0!==(l=aQe(e,t,r,i,h[4*d],h[4*d+1],h[4*d+2],h[4*d+3],!1)).length&&u.push(l[0],l[1]);if(u.length>2){for(var f=[u[0],u[1]],p=Math.pow(f[0]-e,2)+Math.pow(f[1]-t,2),m=1;m<u.length/2;m++){var g=Math.pow(u[2*m]-e,2)+Math.pow(u[2*m+1]-t,2);g<=p&&(f[0]=u[2*m],f[1]=u[2*m+1],p=g)}return f}return u}(i,a,this.points,e,t,0,0,0,this.getOrCreateCorners(e,t,n,r,s,c,"corners"))},checkPoint:function(e,t,n,r,i,a,o,s,c){return function(e,t,n,r,i,a,o,s){for(var c=new Array(2*n.length),l=0;l<s.length;l++){var u=s[l];if(c[4*l+0]=u.startX,c[4*l+1]=u.startY,c[4*l+2]=u.stopX,c[4*l+3]=u.stopY,Math.pow(u.cx-e,2)+Math.pow(u.cy-t,2)<=Math.pow(u.radius,2))return!0}return QZe(e,t,c)}(e,t,this.points,0,0,0,0,this.getOrCreateCorners(a,o,r,i,s,c,"corners"))}}},P5e.generateRoundRectangle=function(){return this.nodeShapes["round-rectangle"]=this.nodeShapes.roundrectangle={renderer:this,name:"round-rectangle",points:cQe(4,0),draw:function(e,t,n,r,i,a){this.renderer.nodeShapeImpl(this.name,e,t,n,r,i,this.points,a)},intersectLine:function(e,t,n,r,i,a,o,s){return GZe(i,a,e,t,n,r,o,s)},checkPoint:function(e,t,n,r,i,a,o,s){var c=r/2,l=i/2;s="auto"===s?hQe(r,i):s;var u=2*(s=Math.min(c,l,s));return!!JZe(e,t,this.points,a,o,r,i-u,[0,-1],n)||(!!JZe(e,t,this.points,a,o,r-u,i,[0,-1],n)||(!!nQe(e,t,u,u,a-c+s,o-l+s,n)||(!!nQe(e,t,u,u,a+c-s,o-l+s,n)||(!!nQe(e,t,u,u,a+c-s,o+l-s,n)||!!nQe(e,t,u,u,a-c+s,o+l-s,n)))))}}},P5e.generateCutRectangle=function(){return this.nodeShapes["cut-rectangle"]=this.nodeShapes.cutrectangle={renderer:this,name:"cut-rectangle",cornerLength:8,points:cQe(4,0),draw:function(e,t,n,r,i,a){this.renderer.nodeShapeImpl(this.name,e,t,n,r,i,null,a)},generateCutTrianglePts:function(e,t,n,r,i){var a="auto"===i?this.cornerLength:i,o=t/2,s=e/2,c=n-s,l=n+s,u=r-o,h=r+o;return{topLeft:[c,u+a,c+a,u,c+a,u+a],topRight:[l-a,u,l,u+a,l-a,u+a],bottomRight:[l,h-a,l-a,h,l-a,h-a],bottomLeft:[c+a,h,c,h-a,c+a,h-a]}},intersectLine:function(e,t,n,r,i,a,o,s){var c=this.generateCutTrianglePts(n+2*o,r+2*o,e,t,s),l=[].concat.apply([],[c.topLeft.splice(0,4),c.topRight.splice(0,4),c.bottomRight.splice(0,4),c.bottomLeft.splice(0,4)]);return oQe(i,a,l,e,t)},checkPoint:function(e,t,n,r,i,a,o,s){var c="auto"===s?this.cornerLength:s;if(JZe(e,t,this.points,a,o,r,i-2*c,[0,-1],n))return!0;if(JZe(e,t,this.points,a,o,r-2*c,i,[0,-1],n))return!0;var l=this.generateCutTrianglePts(r,i,a,o);return QZe(e,t,l.topLeft)||QZe(e,t,l.topRight)||QZe(e,t,l.bottomRight)||QZe(e,t,l.bottomLeft)}}},P5e.generateBarrel=function(){return this.nodeShapes.barrel={renderer:this,name:"barrel",points:cQe(4,0),draw:function(e,t,n,r,i,a){this.renderer.nodeShapeImpl(this.name,e,t,n,r,i)},intersectLine:function(e,t,n,r,i,a,o,s){var c=this.generateBarrelBezierPts(n+2*o,r+2*o,e,t),l=function(e){var t=LZe({x:e[0],y:e[1]},{x:e[2],y:e[3]},{x:e[4],y:e[5]},.15),n=LZe({x:e[0],y:e[1]},{x:e[2],y:e[3]},{x:e[4],y:e[5]},.5),r=LZe({x:e[0],y:e[1]},{x:e[2],y:e[3]},{x:e[4],y:e[5]},.85);return[e[0],e[1],t.x,t.y,n.x,n.y,r.x,r.y,e[4],e[5]]},u=[].concat(l(c.topLeft),l(c.topRight),l(c.bottomRight),l(c.bottomLeft));return oQe(i,a,u,e,t)},generateBarrelBezierPts:function(e,t,n,r){var i=t/2,a=e/2,o=n-a,s=n+a,c=r-i,l=r+i,u=fQe(e,t),h=u.heightOffset,d=u.widthOffset,f=u.ctrlPtOffsetPct*e,p={topLeft:[o,c+h,o+f,c,o+d,c],topRight:[s-d,c,s-f,c,s,c+h],bottomRight:[s,l-h,s-f,l,s-d,l],bottomLeft:[o+d,l,o+f,l,o,l-h]};return p.topLeft.isTop=!0,p.topRight.isTop=!0,p.bottomLeft.isBottom=!0,p.bottomRight.isBottom=!0,p},checkPoint:function(e,t,n,r,i,a,o,s){var c=fQe(r,i),l=c.heightOffset,u=c.widthOffset;if(JZe(e,t,this.points,a,o,r,i-2*l,[0,-1],n))return!0;if(JZe(e,t,this.points,a,o,r-2*u,i,[0,-1],n))return!0;for(var h=this.generateBarrelBezierPts(r,i,a,o),d=function(e,t,n){var r,i,a=n[4],o=n[2],s=n[0],c=n[5],l=n[1],u=Math.min(a,s),h=Math.max(a,s),d=Math.min(c,l),f=Math.max(c,l);if(u<=e&&e<=h&&d<=t&&t<=f){var p=[(r=a)-2*(i=o)+s,2*(i-r),r],m=function(e,t,n,r){var i=t*t-4*e*(n-=r);if(i<0)return[];var a=Math.sqrt(i),o=2*e;return[(-t+a)/o,(-t-a)/o]}(p[0],p[1],p[2],e),g=m.filter((function(e){return 0<=e&&e<=1}));if(g.length>0)return g[0]}return null},f=Object.keys(h),p=0;p<f.length;p++){var m=h[f[p]],g=d(e,t,m);if(null!=g){var b=m[5],y=m[3],v=m[1],w=NZe(b,y,v,g);if(m.isTop&&w<=t)return!0;if(m.isBottom&&t<=w)return!0}}return!1}}},P5e.generateBottomRoundrectangle=function(){return this.nodeShapes["bottom-round-rectangle"]=this.nodeShapes.bottomroundrectangle={renderer:this,name:"bottom-round-rectangle",points:cQe(4,0),draw:function(e,t,n,r,i,a){this.renderer.nodeShapeImpl(this.name,e,t,n,r,i,this.points,a)},intersectLine:function(e,t,n,r,i,a,o,s){var c=t-(r/2+o),l=aQe(i,a,e,t,e-(n/2+o),c,e+(n/2+o),c,!1);return l.length>0?l:GZe(i,a,e,t,n,r,o,s)},checkPoint:function(e,t,n,r,i,a,o,s){var c=2*(s="auto"===s?hQe(r,i):s);if(JZe(e,t,this.points,a,o,r,i-c,[0,-1],n))return!0;if(JZe(e,t,this.points,a,o,r-c,i,[0,-1],n))return!0;var l=r/2+2*n,u=i/2+2*n;return!!QZe(e,t,[a-l,o-u,a-l,o,a+l,o,a+l,o-u])||(!!nQe(e,t,c,c,a+r/2-s,o+i/2-s,n)||!!nQe(e,t,c,c,a-r/2+s,o+i/2-s,n))}}},P5e.registerNodeShapes=function(){var e=this.nodeShapes={},t=this;this.generateEllipse(),this.generatePolygon("triangle",cQe(3,0)),this.generateRoundPolygon("round-triangle",cQe(3,0)),this.generatePolygon("rectangle",cQe(4,0)),e.square=e.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();var n=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",n),this.generateRoundPolygon("round-diamond",n),this.generatePolygon("pentagon",cQe(5,0)),this.generateRoundPolygon("round-pentagon",cQe(5,0)),this.generatePolygon("hexagon",cQe(6,0)),this.generateRoundPolygon("round-hexagon",cQe(6,0)),this.generatePolygon("heptagon",cQe(7,0)),this.generateRoundPolygon("round-heptagon",cQe(7,0)),this.generatePolygon("octagon",cQe(8,0)),this.generateRoundPolygon("round-octagon",cQe(8,0));var r=new Array(20),i=uQe(5,0),a=uQe(5,Math.PI/5),o=.5*(3-Math.sqrt(5));o*=1.57;for(var s=0;s<a.length/2;s++)a[2*s]*=o,a[2*s+1]*=o;for(s=0;s<5;s++)r[4*s]=i[2*s],r[4*s+1]=i[2*s+1],r[4*s+2]=a[2*s],r[4*s+3]=a[2*s+1];r=lQe(r),this.generatePolygon("star",r),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 c=[-1,-1,.25,-1,1,0,.25,1,-1,1];this.generatePolygon("tag",c),this.generateRoundPolygon("round-tag",c),e.makePolygon=function(e){var n,r="polygon-"+e.join("$");return(n=this[r])?n:t.generatePolygon(r,e)}};var N5e={timeToRender:function(){return this.redrawTotalTime/this.redrawCount},redraw:function(e){e=e||QXe();var t=this;void 0===t.averageRedrawTime&&(t.averageRedrawTime=0),void 0===t.lastRedrawTime&&(t.lastRedrawTime=0),void 0===t.lastDrawTime&&(t.lastDrawTime=0),t.requestedFrame=!0,t.renderOptions=e},beforeRender:function(e,t){if(!this.destroyed){null==t&&WXe("Priority is not optional for beforeRender");var n=this.beforeRenderCallbacks;n.push({fn:e,priority:t}),n.sort((function(e,t){return t.priority-e.priority}))}}},L5e=function(e,t,n){for(var r=e.beforeRenderCallbacks,i=0;i<r.length;i++)r[i].fn(t,n)};N5e.startRenderLoop=function(){var e=this,t=e.cy;if(!e.renderLoopStarted){e.renderLoopStarted=!0;AXe((function n(r){if(!e.destroyed){if(t.batching());else if(e.requestedFrame&&!e.skipFrame){L5e(e,!0,r);var i=TXe();e.render(e.renderOptions);var a=e.lastDrawTime=TXe();void 0===e.averageRedrawTime&&(e.averageRedrawTime=a-i),void 0===e.redrawCount&&(e.redrawCount=0),e.redrawCount++,void 0===e.redrawTotalTime&&(e.redrawTotalTime=0);var o=a-i;e.redrawTotalTime+=o,e.lastRedrawTime=o,e.averageRedrawTime=e.averageRedrawTime/2+o/2,e.requestedFrame=!1}else L5e(e,!1,r);e.skipFrame=!1,AXe(n)}}))}};var R5e=function(e){this.init(e)},j5e=R5e.prototype;j5e.clientFunctions=["redrawHint","render","renderTo","matchCanvasSize","nodeShapeImpl","arrowShapeImpl"],j5e.init=function(e){var t=this;t.options=e,t.cy=e.cy;var n=t.container=e.cy.container(),r=t.cy.window();if(r){var i=r.document,a=i.head,o="__________cytoscape_stylesheet",s="__________cytoscape_container",c=null!=i.getElementById(o);if(n.className.indexOf(s)<0&&(n.className=(n.className||"")+" "+s),!c){var l=i.createElement("style");l.id=o,l.textContent="."+s+" { position: relative; }",a.insertBefore(l,a.children[0])}"static"===r.getComputedStyle(n).getPropertyValue("position")&&KXe("A Cytoscape container has style position:static and so can not use UI extensions properly")}t.selection=[void 0,void 0,void 0,void 0,0],t.bezierProjPcts=[.05,.225,.4,.5,.6,.775,.95],t.hoverData={down:null,last:null,downTime:null,triggerMode:null,dragging:!1,initialPan:[null,null],capture:!1},t.dragData={possibleDragElements:[]},t.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,null,null,null,null,null]},t.redraws=0,t.showFps=e.showFps,t.debug=e.debug,t.hideEdgesOnViewport=e.hideEdgesOnViewport,t.textureOnViewport=e.textureOnViewport,t.wheelSensitivity=e.wheelSensitivity,t.motionBlurEnabled=e.motionBlur,t.forcedPixelRatio=kYe(e.pixelRatio)?e.pixelRatio:null,t.motionBlur=e.motionBlur,t.motionBlurOpacity=e.motionBlurOpacity,t.motionBlurTransparency=1-t.motionBlurOpacity,t.motionBlurPxRatio=1,t.mbPxRBlurry=1,t.minMbLowQualFrames=4,t.fullQualityMb=!1,t.clearedForMotionBlur=[],t.desktopTapThreshold=e.desktopTapThreshold,t.desktopTapThreshold2=e.desktopTapThreshold*e.desktopTapThreshold,t.touchTapThreshold=e.touchTapThreshold,t.touchTapThreshold2=e.touchTapThreshold*e.touchTapThreshold,t.tapholdDuration=500,t.bindings=[],t.beforeRenderCallbacks=[],t.beforeRenderPriorities={animations:400,eleCalcs:300,eleTxrDeq:200,lyrTxrDeq:150,lyrTxrSkip:100},t.registerNodeShapes(),t.registerArrowShapes(),t.registerCalculationListeners()},j5e.notify=function(e,t){var n=this,r=n.cy;this.destroyed||("init"!==e?"destroy"!==e?(("add"===e||"remove"===e||"move"===e&&r.hasCompoundNodes()||"load"===e||"zorder"===e||"mount"===e)&&n.invalidateCachedZSortedEles(),"viewport"===e&&n.redrawHint("select",!0),"load"!==e&&"resize"!==e&&"mount"!==e||(n.invalidateContainerClientCoordsCache(),n.matchCanvasSize(n.container)),n.redrawHint("eles",!0),n.redrawHint("drag",!0),this.startRenderLoop(),this.redraw()):n.destroy():n.load())},j5e.destroy=function(){var e=this;e.destroyed=!0,e.cy.stopAnimationLoop();for(var t=0;t<e.bindings.length;t++){var n=e.bindings[t],r=n.target;(r.off||r.removeEventListener).apply(r,n.args)}if(e.bindings=[],e.beforeRenderCallbacks=[],e.onUpdateEleCalcsFns=[],e.removeObserver&&e.removeObserver.disconnect(),e.styleObserver&&e.styleObserver.disconnect(),e.resizeObserver&&e.resizeObserver.disconnect(),e.labelCalcDiv)try{document.body.removeChild(e.labelCalcDiv)}catch(e){}},j5e.isHeadless=function(){return!1},[W4e,D5e,M5e,I5e,P5e,N5e].forEach((function(e){qYe(j5e,e)}));var B5e=1e3/60,F5e=function(e){return function(){var t=this,n=this.renderer;if(!t.dequeueingSetup){t.dequeueingSetup=!0;var r=kXe((function(){n.redrawHint("eles",!0),n.redrawHint("drag",!0),n.redraw()}),e.deqRedrawThreshold),i=e.priority||VXe;n.beforeRender((function(i,a){var o=TXe(),s=n.averageRedrawTime,c=n.lastRedrawTime,l=[],u=n.cy.extent(),h=n.getPixelRatio();for(i||n.flushRenderedStyleQueue();;){var d=TXe(),f=d-o,p=d-a;if(c<B5e){var m=B5e-(i?s:0);if(p>=e.deqFastCost*m)break}else if(i){if(f>=e.deqCost*c||f>=e.deqAvgCost*s)break}else if(p>=e.deqNoDrawCost*B5e)break;var g=e.deq(t,h,u);if(!(g.length>0))break;for(var b=0;b<g.length;b++)l.push(g[b])}l.length>0&&(e.onDeqd(t,l),!i&&e.shouldRedraw(t,l,h,u)&&r())}),i(t))}}},z5e=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:HXe;iYe(this,e),this.idsByKey=new iZe,this.keyForId=new iZe,this.cachesByLvl=new iZe,this.lvls=[],this.getKey=t,this.doesEleInvalidateKey=n}return oYe(e,[{key:"getIdsFor",value:function(e){null==e&&WXe("Can not get id list for null key");var t=this.idsByKey,n=this.idsByKey.get(e);return n||(n=new oZe,t.set(e,n)),n}},{key:"addIdForKey",value:function(e,t){null!=e&&this.getIdsFor(e).add(t)}},{key:"deleteIdForKey",value:function(e,t){null!=e&&this.getIdsFor(e).delete(t)}},{key:"getNumberOfIdsForKey",value:function(e){return null==e?0:this.getIdsFor(e).size}},{key:"updateKeyMappingFor",value:function(e){var t=e.id(),n=this.keyForId.get(t),r=this.getKey(e);this.deleteIdForKey(n,t),this.addIdForKey(r,t),this.keyForId.set(t,r)}},{key:"deleteKeyMappingFor",value:function(e){var t=e.id(),n=this.keyForId.get(t);this.deleteIdForKey(n,t),this.keyForId.delete(t)}},{key:"keyHasChangedFor",value:function(e){var t=e.id();return this.keyForId.get(t)!==this.getKey(e)}},{key:"isInvalid",value:function(e){return this.keyHasChangedFor(e)||this.doesEleInvalidateKey(e)}},{key:"getCachesAt",value:function(e){var t=this.cachesByLvl,n=this.lvls,r=t.get(e);return r||(r=new iZe,t.set(e,r),n.push(e)),r}},{key:"getCache",value:function(e,t){return this.getCachesAt(t).get(e)}},{key:"get",value:function(e,t){var n=this.getKey(e),r=this.getCache(n,t);return null!=r&&this.updateKeyMappingFor(e),r}},{key:"getForCachedKey",value:function(e,t){var n=this.keyForId.get(e.id());return this.getCache(n,t)}},{key:"hasCache",value:function(e,t){return this.getCachesAt(t).has(e)}},{key:"has",value:function(e,t){var n=this.getKey(e);return this.hasCache(n,t)}},{key:"setCache",value:function(e,t,n){n.key=e,this.getCachesAt(t).set(e,n)}},{key:"set",value:function(e,t,n){var r=this.getKey(e);this.setCache(r,t,n),this.updateKeyMappingFor(e)}},{key:"deleteCache",value:function(e,t){this.getCachesAt(t).delete(e)}},{key:"delete",value:function(e,t){var n=this.getKey(e);this.deleteCache(n,t)}},{key:"invalidateKey",value:function(e){var t=this;this.lvls.forEach((function(n){return t.deleteCache(e,n)}))}},{key:"invalidate",value:function(e){var t=e.id(),n=this.keyForId.get(t);this.deleteKeyMappingFor(e);var r=this.doesEleInvalidateKey(e);return r&&this.invalidateKey(n),r||0===this.getNumberOfIdsForKey(n)}}]),e}(),$5e={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},q5e=JXe({getKey:null,doesEleInvalidateKey:HXe,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:qXe,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),H5e=function(e,t){var n=this;n.renderer=e,n.onDequeues=[];var r=q5e(t);qYe(n,r),n.lookup=new z5e(r.getKey,r.doesEleInvalidateKey),n.setupDequeueing()},U5e=H5e.prototype;U5e.reasons=$5e,U5e.getTextureQueue=function(e){var t=this;return t.eleImgCaches=t.eleImgCaches||{},t.eleImgCaches[e]=t.eleImgCaches[e]||[]},U5e.getRetiredTextureQueue=function(e){var t=this.eleImgCaches.retired=this.eleImgCaches.retired||{};return t[e]=t[e]||[]},U5e.getElementQueue=function(){var e=this.eleCacheQueue=this.eleCacheQueue||new hZe((function(e,t){return t.reqs-e.reqs}));return e},U5e.getElementKeyToQueue=function(){return this.eleKeyToCacheQueue=this.eleKeyToCacheQueue||{}},U5e.getElement=function(e,t,n,r,i){var a=this,o=this.renderer,s=o.cy.zoom(),c=this.lookup;if(!t||0===t.w||0===t.h||isNaN(t.w)||isNaN(t.h)||!e.visible()||e.removed())return null;if(!a.allowEdgeTxrCaching&&e.isEdge()||!a.allowParentTxrCaching&&e.isParent())return null;if(null==r&&(r=Math.ceil(OZe(s*n))),r<-4)r=-4;else if(s>=7.99||r>3)return null;var l=Math.pow(2,r),u=t.h*l,h=t.w*l,d=o.eleTextBiggerThanMin(e,l);if(!this.isVisible(e,d))return null;var f,p=c.get(e,r);if(p&&p.invalidated&&(p.invalidated=!1,p.texture.invalidatedWidth-=p.width),p)return p;if(f=u<=25?25:u<=50?50:50*Math.ceil(u/50),u>1024||h>1024)return null;var m=a.getTextureQueue(f),g=m[m.length-2],b=function(){return a.recycleTexture(f,h)||a.addTexture(f,h)};g||(g=m[m.length-1]),g||(g=b()),g.width-g.usedWidth<h&&(g=b());for(var y,v=function(e){return e&&e.scaledLabelShown===d},w=i&&i===$5e.dequeue,x=i&&i===$5e.highQuality,k=i&&i===$5e.downscale,S=r+1;S<=3;S++){var E=c.get(e,S);if(E){y=E;break}}var _=y&&y.level===r+1?y:null,A=function(){g.context.drawImage(_.texture.canvas,_.x,0,_.width,_.height,g.usedWidth,0,h,u)};if(g.context.setTransform(1,0,0,1,0,0),g.context.clearRect(g.usedWidth,0,h,f),v(_))A();else if(v(y)){if(!x)return a.queueElement(e,y.level-1),y;for(var T=y.level;T>r;T--)_=a.getElement(e,t,n,T,$5e.downscale);A()}else{var C;if(!w&&!x&&!k)for(var O=r-1;O>=-4;O--){var D=c.get(e,O);if(D){C=D;break}}if(v(C))return a.queueElement(e,r),C;g.context.translate(g.usedWidth,0),g.context.scale(l,l),this.drawElement(g.context,e,t,d,!1),g.context.scale(1/l,1/l),g.context.translate(-g.usedWidth,0)}return p={x:g.usedWidth,texture:g,level:r,scale:l,width:h,height:u,scaledLabelShown:d},g.usedWidth+=Math.ceil(h+8),g.eleCaches.push(p),c.set(e,r,p),a.checkTextureFullness(g),p},U5e.invalidateElements=function(e){for(var t=0;t<e.length;t++)this.invalidateElement(e[t])},U5e.invalidateElement=function(e){var t=this,n=t.lookup,r=[];if(n.isInvalid(e)){for(var i=-4;i<=3;i++){var a=n.getForCachedKey(e,i);a&&r.push(a)}if(n.invalidate(e))for(var o=0;o<r.length;o++){var s=r[o],c=s.texture;c.invalidatedWidth+=s.width,s.invalidated=!0,t.checkTextureUtility(c)}t.removeFromQueue(e)}},U5e.checkTextureUtility=function(e){e.invalidatedWidth>=.2*e.width&&this.retireTexture(e)},U5e.checkTextureFullness=function(e){var t=this.getTextureQueue(e.height);e.usedWidth/e.width>.8&&e.fullnessChecks>=10?eZe(t,e):e.fullnessChecks++},U5e.retireTexture=function(e){var t=e.height,n=this.getTextureQueue(t),r=this.lookup;eZe(n,e),e.retired=!0;for(var i=e.eleCaches,a=0;a<i.length;a++){var o=i[a];r.deleteCache(o.key,o.level)}tZe(i),this.getRetiredTextureQueue(t).push(e)},U5e.addTexture=function(e,t){var n={};return this.getTextureQueue(e).push(n),n.eleCaches=[],n.height=e,n.width=Math.max(1024,t),n.usedWidth=0,n.invalidatedWidth=0,n.fullnessChecks=0,n.canvas=this.renderer.makeOffscreenCanvas(n.width,n.height),n.context=n.canvas.getContext("2d"),n},U5e.recycleTexture=function(e,t){for(var n=this.getTextureQueue(e),r=this.getRetiredTextureQueue(e),i=0;i<r.length;i++){var a=r[i];if(a.width>=t)return a.retired=!1,a.usedWidth=0,a.invalidatedWidth=0,a.fullnessChecks=0,tZe(a.eleCaches),a.context.setTransform(1,0,0,1,0,0),a.context.clearRect(0,0,a.width,a.height),eZe(r,a),n.push(a),a}},U5e.queueElement=function(e,t){var n=this.getElementQueue(),r=this.getElementKeyToQueue(),i=this.getKey(e),a=r[i];if(a)a.level=Math.max(a.level,t),a.eles.merge(e),a.reqs++,n.updateItem(a);else{var o={eles:e.spawn().merge(e),level:t,reqs:1,key:i};n.push(o),r[i]=o}},U5e.dequeue=function(e){for(var t=this,n=t.getElementQueue(),r=t.getElementKeyToQueue(),i=[],a=t.lookup,o=0;o<1&&n.size()>0;o++){var s=n.pop(),c=s.key,l=s.eles[0],u=a.hasCache(l,s.level);if(r[c]=null,!u){i.push(s);var h=t.getBoundingBox(l);t.getElement(l,h,e,s.level,$5e.dequeue)}}return i},U5e.removeFromQueue=function(e){var t=this.getElementQueue(),n=this.getElementKeyToQueue(),r=this.getKey(e),i=n[r];null!=i&&(1===i.eles.length?(i.reqs=$Xe,t.updateItem(i),t.pop(),n[r]=null):i.eles.unmerge(e))},U5e.onDequeue=function(e){this.onDequeues.push(e)},U5e.offDequeue=function(e){eZe(this.onDequeues,e)},U5e.setupDequeueing=F5e({deqRedrawThreshold:100,deqCost:.15,deqAvgCost:.1,deqNoDrawCost:.9,deqFastCost:.9,deq:function(e,t,n){return e.dequeue(t,n)},onDeqd:function(e,t){for(var n=0;n<e.onDequeues.length;n++){(0,e.onDequeues[n])(t)}},shouldRedraw:function(e,t,n,r){for(var i=0;i<t.length;i++)for(var a=t[i].eles,o=0;o<a.length;o++){var s=a[o].boundingBox();if(HZe(s,r))return!0}return!1},priority:function(e){return e.renderer.beforeRenderPriorities.eleTxrDeq}});var V5e=function(e){var t=this,n=t.renderer=e,r=n.cy;t.layersByLevel={},t.firstGet=!0,t.lastInvalidationTime=TXe()-500,t.skipping=!1,t.eleTxrDeqs=r.collection(),t.scheduleElementRefinement=kXe((function(){t.refineElementTextures(t.eleTxrDeqs),t.eleTxrDeqs.unmerge(t.eleTxrDeqs)}),50),n.beforeRender((function(e,n){n-t.lastInvalidationTime<=250?t.skipping=!0:t.skipping=!1}),n.beforeRenderPriorities.lyrTxrSkip);t.layersQueue=new hZe((function(e,t){return t.reqs-e.reqs})),t.setupDequeueing()},W5e=V5e.prototype,G5e=0,K5e=Math.pow(2,53)-1;W5e.makeLayer=function(e,t){var n=Math.pow(2,t),r=Math.ceil(e.w*n),i=Math.ceil(e.h*n),a=this.renderer.makeOffscreenCanvas(r,i),o={id:G5e=++G5e%K5e,bb:e,level:t,width:r,height:i,canvas:a,context:a.getContext("2d"),eles:[],elesQueue:[],reqs:0},s=o.context,c=-o.bb.x1,l=-o.bb.y1;return s.scale(n,n),s.translate(c,l),o},W5e.getLayers=function(e,t,n){var r=this,i=r.renderer.cy.zoom(),a=r.firstGet;if(r.firstGet=!1,null==n)if((n=Math.ceil(OZe(i*t)))<-4)n=-4;else if(i>=3.99||n>2)return null;r.validateLayersElesOrdering(n,e);var o,s,c=r.layersByLevel,l=Math.pow(2,n),u=c[n]=c[n]||[];if(r.levelIsComplete(n,e))return u;!function(){var t=function(t){if(r.validateLayersElesOrdering(t,e),r.levelIsComplete(t,e))return s=c[t],!0},i=function(e){if(!s)for(var r=n+e;-4<=r&&r<=2&&!t(r);r+=e);};i(1),i(-1);for(var a=u.length-1;a>=0;a--){var o=u[a];o.invalid&&eZe(u,o)}}();var h=function(t){var i=(t=t||{}).after;if(function(){if(!o){o=jZe();for(var t=0;t<e.length;t++)BZe(o,e[t].boundingBox())}}(),o.w*l*(o.h*l)>16e6)return null;var a=r.makeLayer(o,n);if(null!=i){var s=u.indexOf(i)+1;u.splice(s,0,a)}else(void 0===t.insert||t.insert)&&u.unshift(a);return a};if(r.skipping&&!a)return null;for(var d=null,f=e.length/1,p=!a,m=0;m<e.length;m++){var g=e[m],b=g._private.rscratch,y=b.imgLayerCaches=b.imgLayerCaches||{},v=y[n];if(v)d=v;else{if((!d||d.eles.length>=f||!WZe(d.bb,g.boundingBox()))&&!(d=h({insert:!0,after:d})))return null;s||p?r.queueLayer(d,g):r.drawEleInLayer(d,g,n,t),d.eles.push(g),y[n]=d}}return s||(p?null:u)},W5e.getEleLevelForLayerLevel=function(e,t){return e},W5e.drawEleInLayer=function(e,t,n,r){var i=this.renderer,a=e.context,o=t.boundingBox();0!==o.w&&0!==o.h&&t.visible()&&(n=this.getEleLevelForLayerLevel(n,r),i.setImgSmoothing(a,!1),i.drawCachedElement(a,t,null,null,n,true),i.setImgSmoothing(a,!0))},W5e.levelIsComplete=function(e,t){var n=this.layersByLevel[e];if(!n||0===n.length)return!1;for(var r=0,i=0;i<n.length;i++){var a=n[i];if(a.reqs>0)return!1;if(a.invalid)return!1;r+=a.eles.length}return r===t.length},W5e.validateLayersElesOrdering=function(e,t){var n=this.layersByLevel[e];if(n)for(var r=0;r<n.length;r++){for(var i=n[r],a=-1,o=0;o<t.length;o++)if(i.eles[0]===t[o]){a=o;break}if(a<0)this.invalidateLayer(i);else{var s=a;for(o=0;o<i.eles.length;o++)if(i.eles[o]!==t[s+o]){this.invalidateLayer(i);break}}}},W5e.updateElementsInLayers=function(e,t){for(var n=_Ye(e[0]),r=0;r<e.length;r++)for(var i=n?null:e[r],a=n?e[r]:e[r].ele,o=a._private.rscratch,s=o.imgLayerCaches=o.imgLayerCaches||{},c=-4;c<=2;c++){var l=s[c];l&&(i&&this.getEleLevelForLayerLevel(l.level)!==i.level||t(l,a,i))}},W5e.haveLayers=function(){for(var e=!1,t=-4;t<=2;t++){var n=this.layersByLevel[t];if(n&&n.length>0){e=!0;break}}return e},W5e.invalidateElements=function(e){var t=this;0!==e.length&&(t.lastInvalidationTime=TXe(),0!==e.length&&t.haveLayers()&&t.updateElementsInLayers(e,(function(e,n,r){t.invalidateLayer(e)})))},W5e.invalidateLayer=function(e){if(this.lastInvalidationTime=TXe(),!e.invalid){var t=e.level,n=e.eles,r=this.layersByLevel[t];eZe(r,e),e.elesQueue=[],e.invalid=!0,e.replacement&&(e.replacement.invalid=!0);for(var i=0;i<n.length;i++){var a=n[i]._private.rscratch.imgLayerCaches;a&&(a[t]=null)}}},W5e.refineElementTextures=function(e){var t=this;t.updateElementsInLayers(e,(function(e,n,r){var i=e.replacement;if(i||((i=e.replacement=t.makeLayer(e.bb,e.level)).replaces=e,i.eles=e.eles),!i.reqs)for(var a=0;a<i.eles.length;a++)t.queueLayer(i,i.eles[a])}))},W5e.enqueueElementRefinement=function(e){this.eleTxrDeqs.merge(e),this.scheduleElementRefinement()},W5e.queueLayer=function(e,t){var n=this.layersQueue,r=e.elesQueue,i=r.hasId=r.hasId||{};if(!e.replacement){if(t){if(i[t.id()])return;r.push(t),i[t.id()]=!0}e.reqs?(e.reqs++,n.updateItem(e)):(e.reqs=1,n.push(e))}},W5e.dequeue=function(e){for(var t=this,n=t.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&&(t.drawEleInLayer(a,o,a.level,e),i++),0===r.length&&r.push(!0),0===a.elesQueue.length&&(n.pop(),a.reqs=0,a.replaces&&t.applyLayerReplacement(a),t.requestRedraw())}}return r},W5e.applyLayerReplacement=function(e){var t=this.layersByLevel[e.level],n=e.replaces,r=t.indexOf(n);if(!(r<0||n.invalid)){t[r]=e;for(var i=0;i<e.eles.length;i++){var a=e.eles[i]._private,o=a.imgLayerCaches=a.imgLayerCaches||{};o&&(o[e.level]=e)}this.requestRedraw()}},W5e.requestRedraw=kXe((function(){var e=this.renderer;e.redrawHint("eles",!0),e.redrawHint("drag",!0),e.redraw()}),100),W5e.setupDequeueing=F5e({deqRedrawThreshold:50,deqCost:.15,deqAvgCost:.1,deqNoDrawCost:.9,deqFastCost:.9,deq:function(e,t){return e.dequeue(t)},onDeqd:VXe,shouldRedraw:qXe,priority:function(e){return e.renderer.beforeRenderPriorities.lyrTxrDeq}});var Y5e,X5e={};function Z5e(e,t){for(var n=0;n<t.length;n++){var r=t[n];e.lineTo(r.x,r.y)}}function Q5e(e,t,n){for(var r,i=0;i<t.length;i++){var a=t[i];0===i&&(r=a),e.lineTo(a.x,a.y)}e.quadraticCurveTo(n.x,n.y,r.x,r.y)}function J5e(e,t,n){e.beginPath&&e.beginPath();for(var r=t,i=0;i<r.length;i++){var a=r[i];e.lineTo(a.x,a.y)}var o=n,s=n[0];e.moveTo(s.x,s.y);for(i=1;i<o.length;i++){a=o[i];e.lineTo(a.x,a.y)}e.closePath&&e.closePath()}function e6e(e,t,n,r,i){e.beginPath&&e.beginPath(),e.arc(n,r,i,0,2*Math.PI,!1);var a=t,o=a[0];e.moveTo(o.x,o.y);for(var s=0;s<a.length;s++){var c=a[s];e.lineTo(c.x,c.y)}e.closePath&&e.closePath()}function t6e(e,t,n,r){e.arc(t,n,r,0,2*Math.PI,!1)}X5e.arrowShapeImpl=function(e){return(Y5e||(Y5e={polygon:Z5e,"triangle-backcurve":Q5e,"triangle-tee":J5e,"circle-triangle":e6e,"triangle-cross":J5e,circle:t6e}))[e]};var n6e={drawElement:function(e,t,n,r,i,a){t.isNode()?this.drawNode(e,t,n,r,i,a):this.drawEdge(e,t,n,r,i,a)},drawElementOverlay:function(e,t){t.isNode()?this.drawNodeOverlay(e,t):this.drawEdgeOverlay(e,t)},drawElementUnderlay:function(e,t){t.isNode()?this.drawNodeUnderlay(e,t):this.drawEdgeUnderlay(e,t)},drawCachedElementPortion:function(e,t,n,r,i,a,o,s){var c=this,l=n.getBoundingBox(t);if(0!==l.w&&0!==l.h){var u=n.getElement(t,l,r,i,a);if(null!=u){var h=s(c,t);if(0===h)return;var d,f,p,m,g,b,y=o(c,t),v=l.x1,w=l.y1,x=l.w,k=l.h;if(0!==y){var S=n.getRotationPoint(t);p=S.x,m=S.y,e.translate(p,m),e.rotate(y),(g=c.getImgSmoothing(e))||c.setImgSmoothing(e,!0);var E=n.getRotationOffset(t);d=E.x,f=E.y}else d=v,f=w;1!==h&&(b=e.globalAlpha,e.globalAlpha=b*h),e.drawImage(u.texture.canvas,u.x,0,u.width,u.height,d,f,x,k),1!==h&&(e.globalAlpha=b),0!==y&&(e.rotate(-y),e.translate(-p,-m),g||c.setImgSmoothing(e,!1))}else n.drawElement(e,t)}}},r6e=function(){return 0},i6e=function(e,t){return e.getTextAngle(t,null)},a6e=function(e,t){return e.getTextAngle(t,"source")},o6e=function(e,t){return e.getTextAngle(t,"target")},s6e=function(e,t){return t.effectiveOpacity()},c6e=function(e,t){return t.pstyle("text-opacity").pfValue*t.effectiveOpacity()};n6e.drawCachedElement=function(e,t,n,r,i,a){var o=this,s=o.data,c=s.eleTxrCache,l=s.lblTxrCache,u=s.slbTxrCache,h=s.tlbTxrCache,d=t.boundingBox(),f=!0===a?c.reasons.highQuality:null;if(0!==d.w&&0!==d.h&&t.visible()&&(!r||HZe(d,r))){var p=t.isEdge(),m=t.element()._private.rscratch.badLine;o.drawElementUnderlay(e,t),o.drawCachedElementPortion(e,t,c,n,i,f,r6e,s6e),p&&m||o.drawCachedElementPortion(e,t,l,n,i,f,i6e,c6e),p&&!m&&(o.drawCachedElementPortion(e,t,u,n,i,f,a6e,c6e),o.drawCachedElementPortion(e,t,h,n,i,f,o6e,c6e)),o.drawElementOverlay(e,t)}},n6e.drawElements=function(e,t){for(var n=0;n<t.length;n++){var r=t[n];this.drawElement(e,r)}},n6e.drawCachedElements=function(e,t,n,r){for(var i=0;i<t.length;i++){var a=t[i];this.drawCachedElement(e,a,n,r)}},n6e.drawCachedNodes=function(e,t,n,r){for(var i=0;i<t.length;i++){var a=t[i];a.isNode()&&this.drawCachedElement(e,a,n,r)}},n6e.drawLayeredElements=function(e,t,n,r){var i=this.data.lyrTxrCache.getLayers(t,n);if(i)for(var a=0;a<i.length;a++){var o=i[a],s=o.bb;0!==s.w&&0!==s.h&&e.drawImage(o.canvas,s.x1,s.y1,s.w,s.h)}else this.drawCachedElements(e,t,n,r)};var l6e={drawEdge:function(e,t,n){var r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],o=this,s=t._private.rscratch;if((!a||t.visible())&&!s.badLine&&null!=s.allpts&&!isNaN(s.allpts[0])){var c;n&&(c=n,e.translate(-c.x1,-c.y1));var l=a?t.pstyle("opacity").value:1,u=a?t.pstyle("line-opacity").value:1,h=t.pstyle("curve-style").value,d=t.pstyle("line-style").value,f=t.pstyle("width").pfValue,p=t.pstyle("line-cap").value,m=l*u,g=l*u,b=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:m;"straight-triangle"===h?(o.eleStrokeStyle(e,t,n),o.drawEdgeTrianglePath(t,e,s.allpts)):(e.lineWidth=f,e.lineCap=p,o.eleStrokeStyle(e,t,n),o.drawEdgePath(t,e,s.allpts,d),e.lineCap="butt")},y=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:g;o.drawArrowheads(e,t,n)};if(e.lineJoin="round","yes"===t.pstyle("ghost").value){var v=t.pstyle("ghost-offset-x").pfValue,w=t.pstyle("ghost-offset-y").pfValue,x=t.pstyle("ghost-opacity").value,k=m*x;e.translate(v,w),b(k),y(k),e.translate(-v,-w)}i&&o.drawEdgeUnderlay(e,t),b(),y(),i&&o.drawEdgeOverlay(e,t),o.drawElementText(e,t,null,r),n&&e.translate(c.x1,c.y1)}}},u6e=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(t,n){if(n.visible()){var r=n.pstyle("".concat(e,"-opacity")).value;if(0!==r){var i=this,a=i.usePaths(),o=n._private.rscratch,s=2*n.pstyle("".concat(e,"-padding")).pfValue,c=n.pstyle("".concat(e,"-color")).value;t.lineWidth=s,"self"!==o.edgeType||a?t.lineCap="round":t.lineCap="butt",i.colorStrokeStyle(t,c[0],c[1],c[2],r),i.drawEdgePath(n,t,o.allpts,"solid")}}}};l6e.drawEdgeOverlay=u6e("overlay"),l6e.drawEdgeUnderlay=u6e("underlay"),l6e.drawEdgePath=function(e,t,n,r){var i,a=e._private.rscratch,o=t,s=!1,c=this.usePaths(),l=e.pstyle("line-dash-pattern").pfValue,u=e.pstyle("line-dash-offset").pfValue;if(c){var h=n.join("$");a.pathCacheKey&&a.pathCacheKey===h?(i=t=a.pathCache,s=!0):(i=t=new Path2D,a.pathCacheKey=h,a.pathCache=i)}if(o.setLineDash)switch(r){case"dotted":o.setLineDash([1,1]);break;case"dashed":o.setLineDash(l),o.lineDashOffset=u;break;case"solid":o.setLineDash([])}if(!s&&!a.badLine)switch(t.beginPath&&t.beginPath(),t.moveTo(n[0],n[1]),a.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var d=2;d+3<n.length;d+=4)t.quadraticCurveTo(n[d],n[d+1],n[d+2],n[d+3]);break;case"straight":case"haystack":for(var f=2;f+1<n.length;f+=2)t.lineTo(n[f],n[f+1]);break;case"segments":if(a.isRound){var p,m=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=lYe(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}(a.roundCorners);try{for(m.s();!(p=m.n()).done;){g5e(t,p.value)}}catch(e){m.e(e)}finally{m.f()}t.lineTo(n[n.length-2],n[n.length-1])}else for(var g=2;g+1<n.length;g+=2)t.lineTo(n[g],n[g+1])}t=o,c?t.stroke(i):t.stroke(),t.setLineDash&&t.setLineDash([])},l6e.drawEdgeTrianglePath=function(e,t,n){t.fillStyle=t.strokeStyle;for(var r=e.pstyle("width").pfValue,i=0;i+1<n.length;i+=2){var a=[n[i+2]-n[i],n[i+3]-n[i+1]],o=Math.sqrt(a[0]*a[0]+a[1]*a[1]),s=[a[1]/o,-a[0]/o],c=[s[0]*r/2,s[1]*r/2];t.beginPath(),t.moveTo(n[i]-c[0],n[i+1]-c[1]),t.lineTo(n[i]+c[0],n[i+1]+c[1]),t.lineTo(n[i+2],n[i+3]),t.closePath(),t.fill()}},l6e.drawArrowheads=function(e,t,n){var r=t._private.rscratch,i="haystack"===r.edgeType;i||this.drawArrowhead(e,t,"source",r.arrowStartX,r.arrowStartY,r.srcArrowAngle,n),this.drawArrowhead(e,t,"mid-target",r.midX,r.midY,r.midtgtArrowAngle,n),this.drawArrowhead(e,t,"mid-source",r.midX,r.midY,r.midsrcArrowAngle,n),i||this.drawArrowhead(e,t,"target",r.arrowEndX,r.arrowEndY,r.tgtArrowAngle,n)},l6e.drawArrowhead=function(e,t,n,r,i,a,o){if(!(isNaN(r)||null==r||isNaN(i)||null==i||isNaN(a)||null==a)){var s=this,c=t.pstyle(n+"-arrow-shape").value;if("none"!==c){var l="hollow"===t.pstyle(n+"-arrow-fill").value?"both":"filled",u=t.pstyle(n+"-arrow-fill").value,h=t.pstyle("width").pfValue,d=t.pstyle(n+"-arrow-width"),f="match-line"===d.value?h:d.pfValue;"%"===d.units&&(f*=h);var p=t.pstyle("opacity").value;void 0===o&&(o=p);var m=e.globalCompositeOperation;1===o&&"hollow"!==u||(e.globalCompositeOperation="destination-out",s.colorFillStyle(e,255,255,255,1),s.colorStrokeStyle(e,255,255,255,1),s.drawArrowShape(t,e,l,h,c,f,r,i,a),e.globalCompositeOperation=m);var g=t.pstyle(n+"-arrow-color").value;s.colorFillStyle(e,g[0],g[1],g[2],o),s.colorStrokeStyle(e,g[0],g[1],g[2],o),s.drawArrowShape(t,e,u,h,c,f,r,i,a)}}},l6e.drawArrowShape=function(e,t,n,r,i,a,o,s,c){var l,u=this,h=this.usePaths()&&"triangle-cross"!==i,d=!1,f=t,p={x:o,y:s},m=e.pstyle("arrow-scale").value,g=this.getArrowWidth(r,m),b=u.arrowShapes[i];if(h){var y=u.arrowPathCache=u.arrowPathCache||[],v=LXe(i),w=y[v];null!=w?(l=t=w,d=!0):(l=t=new Path2D,y[v]=l)}d||(t.beginPath&&t.beginPath(),h?b.draw(t,1,0,{x:0,y:0},1):b.draw(t,g,c,p,r),t.closePath&&t.closePath()),t=f,h&&(t.translate(o,s),t.rotate(c),t.scale(g,g)),"filled"!==n&&"both"!==n||(h?t.fill(l):t.fill()),"hollow"!==n&&"both"!==n||(t.lineWidth=a/(h?g:1),t.lineJoin="miter",h?t.stroke(l):t.stroke()),h&&(t.scale(1/g,1/g),t.rotate(-c),t.translate(-o,-s))};var h6e={safeDrawImage:function(e,t,n,r,i,a,o,s,c,l){if(!(i<=0||a<=0||c<=0||l<=0))try{e.drawImage(t,n,r,i,a,o,s,c,l)}catch(e){KXe(e)}},drawInscribedImage:function(e,t,n,r,i){var a=this,o=n.position(),s=o.x,c=o.y,l=n.cy().style(),u=l.getIndexedStyle.bind(l),h=u(n,"background-fit","value",r),d=u(n,"background-repeat","value",r),f=n.width(),p=n.height(),m=2*n.padding(),g=f+("inner"===u(n,"background-width-relative-to","value",r)?0:m),b=p+("inner"===u(n,"background-height-relative-to","value",r)?0:m),y=n._private.rscratch,v="node"===u(n,"background-clip","value",r),w=u(n,"background-image-opacity","value",r)*i,x=u(n,"background-image-smoothing","value",r),k=n.pstyle("corner-radius").value;"auto"!==k&&(k=n.pstyle("corner-radius").pfValue);var S=t.width||t.cachedW,E=t.height||t.cachedH;null!=S&&null!=E||(document.body.appendChild(t),S=t.cachedW=t.width||t.offsetWidth,E=t.cachedH=t.height||t.offsetHeight,document.body.removeChild(t));var _=S,A=E;if("auto"!==u(n,"background-width","value",r)&&(_="%"===u(n,"background-width","units",r)?u(n,"background-width","pfValue",r)*g:u(n,"background-width","pfValue",r)),"auto"!==u(n,"background-height","value",r)&&(A="%"===u(n,"background-height","units",r)?u(n,"background-height","pfValue",r)*b:u(n,"background-height","pfValue",r)),0!==_&&0!==A){if("contain"===h)_*=T=Math.min(g/_,b/A),A*=T;else if("cover"===h){var T;_*=T=Math.max(g/_,b/A),A*=T}var C=s-g/2,O=u(n,"background-position-x","units",r),D=u(n,"background-position-x","pfValue",r);C+="%"===O?(g-_)*D:D;var M=u(n,"background-offset-x","units",r),I=u(n,"background-offset-x","pfValue",r);C+="%"===M?(g-_)*I:I;var P=c-b/2,N=u(n,"background-position-y","units",r),L=u(n,"background-position-y","pfValue",r);P+="%"===N?(b-A)*L:L;var R=u(n,"background-offset-y","units",r),j=u(n,"background-offset-y","pfValue",r);P+="%"===R?(b-A)*j:j,y.pathCache&&(C-=s,P-=c,s=0,c=0);var B=e.globalAlpha;e.globalAlpha=w;var F=a.getImgSmoothing(e),z=!1;if("no"===x&&F?(a.setImgSmoothing(e,!1),z=!0):"yes"!==x||F||(a.setImgSmoothing(e,!0),z=!0),"no-repeat"===d)v&&(e.save(),y.pathCache?e.clip(y.pathCache):(a.nodeShapes[a.getNodeShape(n)].draw(e,s,c,g,b,k,y),e.clip())),a.safeDrawImage(e,t,0,0,S,E,C,P,_,A),v&&e.restore();else{var $=e.createPattern(t,d);e.fillStyle=$,a.nodeShapes[a.getNodeShape(n)].draw(e,s,c,g,b,k,y),e.translate(C,P),e.fill(),e.translate(-C,-P)}e.globalAlpha=B,z&&a.setImgSmoothing(e,F)}}},d6e={};function f6e(e,t,n,r,i){var a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:5,o=arguments.length>6?arguments[6]:void 0;e.beginPath(),e.moveTo(t+a,n),e.lineTo(t+r-a,n),e.quadraticCurveTo(t+r,n,t+r,n+a),e.lineTo(t+r,n+i-a),e.quadraticCurveTo(t+r,n+i,t+r-a,n+i),e.lineTo(t+a,n+i),e.quadraticCurveTo(t,n+i,t,n+i-a),e.lineTo(t,n+a),e.quadraticCurveTo(t,n,t+a,n),e.closePath(),o?e.stroke():e.fill()}d6e.eleTextBiggerThanMin=function(e,t){if(!t){var n=e.cy().zoom(),r=this.getPixelRatio(),i=Math.ceil(OZe(n*r));t=Math.pow(2,i)}return!(e.pstyle("font-size").pfValue*t<e.pstyle("min-zoomed-font-size").pfValue)},d6e.drawElementText=function(e,t,n,r,i){var a=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],o=this;if(null==r){if(a&&!o.eleTextBiggerThanMin(t))return}else if(!1===r)return;if(t.isNode()){var s=t.pstyle("label");if(!s||!s.value)return;var c=o.getLabelJustification(t);e.textAlign=c,e.textBaseline="bottom"}else{var l=t.element()._private.rscratch.badLine,u=t.pstyle("label"),h=t.pstyle("source-label"),d=t.pstyle("target-label");if(l||(!u||!u.value)&&(!h||!h.value)&&(!d||!d.value))return;e.textAlign="center",e.textBaseline="bottom"}var f,p=!n;n&&(f=n,e.translate(-f.x1,-f.y1)),null==i?(o.drawText(e,t,null,p,a),t.isEdge()&&(o.drawText(e,t,"source",p,a),o.drawText(e,t,"target",p,a))):o.drawText(e,t,i,p,a),n&&e.translate(f.x1,f.y1)},d6e.getFontCache=function(e){var t;this.fontCaches=this.fontCaches||[];for(var n=0;n<this.fontCaches.length;n++)if((t=this.fontCaches[n]).context===e)return t;return t={context:e},this.fontCaches.push(t),t},d6e.setupTextStyle=function(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=t.pstyle("font-style").strValue,i=t.pstyle("font-size").pfValue+"px",a=t.pstyle("font-family").strValue,o=t.pstyle("font-weight").strValue,s=n?t.effectiveOpacity()*t.pstyle("text-opacity").value:1,c=t.pstyle("text-outline-opacity").value*s,l=t.pstyle("color").value,u=t.pstyle("text-outline-color").value;e.font=r+" "+o+" "+i+" "+a,e.lineJoin="round",this.colorFillStyle(e,l[0],l[1],l[2],s),this.colorStrokeStyle(e,u[0],u[1],u[2],c)},d6e.getTextAngle=function(e,t){var n=e._private.rscratch,r=t?t+"-":"",i=e.pstyle(r+"text-rotation"),a=nZe(n,"labelAngle",t);return"autorotate"===i.strValue?e.isEdge()?a:0:"none"===i.strValue?0:i.pfValue},d6e.drawText=function(e,t,n){var r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=t._private.rscratch,o=i?t.effectiveOpacity():1;if(!i||0!==o&&0!==t.pstyle("text-opacity").value){"main"===n&&(n=null);var s,c,l=nZe(a,"labelX",n),u=nZe(a,"labelY",n),h=this.getLabelText(t,n);if(null!=h&&""!==h&&!isNaN(l)&&!isNaN(u)){this.setupTextStyle(e,t,i);var d,f=n?n+"-":"",p=nZe(a,"labelWidth",n),m=nZe(a,"labelHeight",n),g=t.pstyle(f+"text-margin-x").pfValue,b=t.pstyle(f+"text-margin-y").pfValue,y=t.isEdge(),v=t.pstyle("text-halign").value,w=t.pstyle("text-valign").value;switch(y&&(v="center",w="center"),l+=g,u+=b,0!==(d=r?this.getTextAngle(t,n):0)&&(s=l,c=u,e.translate(s,c),e.rotate(d),l=0,u=0),w){case"top":break;case"center":u+=m/2;break;case"bottom":u+=m}var x=t.pstyle("text-background-opacity").value,k=t.pstyle("text-border-opacity").value,S=t.pstyle("text-border-width").pfValue,E=t.pstyle("text-background-padding").pfValue,_=0===t.pstyle("text-background-shape").strValue.indexOf("round");if(x>0||S>0&&k>0){var A=l-E;switch(v){case"left":A-=p;break;case"center":A-=p/2}var T=u-m-E,C=p+2*E,O=m+2*E;if(x>0){var D=e.fillStyle,M=t.pstyle("text-background-color").value;e.fillStyle="rgba("+M[0]+","+M[1]+","+M[2]+","+x*o+")",_?f6e(e,A,T,C,O,2):e.fillRect(A,T,C,O),e.fillStyle=D}if(S>0&&k>0){var I=e.strokeStyle,P=e.lineWidth,N=t.pstyle("text-border-color").value,L=t.pstyle("text-border-style").value;if(e.strokeStyle="rgba("+N[0]+","+N[1]+","+N[2]+","+k*o+")",e.lineWidth=S,e.setLineDash)switch(L){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"double":e.lineWidth=S/4,e.setLineDash([]);break;case"solid":e.setLineDash([])}if(_?f6e(e,A,T,C,O,2,"stroke"):e.strokeRect(A,T,C,O),"double"===L){var R=S/2;_?f6e(e,A+R,T+R,C-2*R,O-2*R,2,"stroke"):e.strokeRect(A+R,T+R,C-2*R,O-2*R)}e.setLineDash&&e.setLineDash([]),e.lineWidth=P,e.strokeStyle=I}}var j=2*t.pstyle("text-outline-width").pfValue;if(j>0&&(e.lineWidth=j),"wrap"===t.pstyle("text-wrap").value){var B=nZe(a,"labelWrapCachedLines",n),F=nZe(a,"labelLineHeight",n),z=p/2,$=this.getLabelJustification(t);switch("auto"===$||("left"===v?"left"===$?l+=-p:"center"===$&&(l+=-z):"center"===v?"left"===$?l+=-z:"right"===$&&(l+=z):"right"===v&&("center"===$?l+=z:"right"===$&&(l+=p))),w){case"top":case"center":case"bottom":u-=(B.length-1)*F}for(var q=0;q<B.length;q++)j>0&&e.strokeText(B[q],l,u),e.fillText(B[q],l,u),u+=F}else j>0&&e.strokeText(h,l,u),e.fillText(h,l,u);0!==d&&(e.rotate(-d),e.translate(-s,-c))}}};var p6e={drawNode:function(e,t,n){var r,i,a=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],o=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],s=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],c=this,l=t._private,u=l.rscratch,h=t.position();if(kYe(h.x)&&kYe(h.y)&&(!s||t.visible())){var d,f,p=s?t.effectiveOpacity():1,m=c.usePaths(),g=!1,b=t.padding();r=t.width()+2*b,i=t.height()+2*b,n&&(f=n,e.translate(-f.x1,-f.y1));for(var y=t.pstyle("background-image").value,v=new Array(y.length),w=new Array(y.length),x=0,k=0;k<y.length;k++){var S=y[k];if(v[k]=null!=S&&"none"!==S){var E=t.cy().style().getIndexedStyle(t,"background-image-crossorigin","value",k);x++,w[k]=c.getCachedImage(S,E,(function(){l.backgroundTimestamp=Date.now(),t.emitAndNotify("background")}))}}var _=t.pstyle("background-blacken").value,A=t.pstyle("border-width").pfValue,T=t.pstyle("background-opacity").value*p,C=t.pstyle("border-color").value,O=t.pstyle("border-style").value,D=t.pstyle("border-join").value,M=t.pstyle("border-cap").value,I=t.pstyle("border-position").value,P=t.pstyle("border-dash-pattern").pfValue,N=t.pstyle("border-dash-offset").pfValue,L=t.pstyle("border-opacity").value*p,R=t.pstyle("outline-width").pfValue,j=t.pstyle("outline-color").value,B=t.pstyle("outline-style").value,F=t.pstyle("outline-opacity").value*p,z=t.pstyle("outline-offset").value,$=t.pstyle("corner-radius").value;"auto"!==$&&($=t.pstyle("corner-radius").pfValue);var q=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:T;c.eleFillStyle(e,t,n)},H=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:L;c.colorStrokeStyle(e,C[0],C[1],C[2],t)},U=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:F;c.colorStrokeStyle(e,j[0],j[1],j[2],t)},V=function(e,t,n,r){var i,a=c.nodePathCache=c.nodePathCache||[],o=RXe("polygon"===n?n+","+r.join(","):n,""+t,""+e,""+$),s=a[o],l=!1;return null!=s?(i=s,l=!0,u.pathCache=i):(i=new Path2D,a[o]=u.pathCache=i),{path:i,cacheHit:l}},W=t.pstyle("shape").strValue,G=t.pstyle("shape-polygon-points").pfValue;if(m){e.translate(h.x,h.y);var K=V(r,i,W,G);d=K.path,g=K.cacheHit}var Y=function(){if(!g){var n=h;m&&(n={x:0,y:0}),c.nodeShapes[c.getNodeShape(t)].draw(d||e,n.x,n.y,r,i,$,u)}m?e.fill(d):e.fill()},X=function(){for(var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:p,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=l.backgrounding,a=0,o=0;o<w.length;o++){var s=t.cy().style().getIndexedStyle(t,"background-image-containment","value",o);r&&"over"===s||!r&&"inside"===s?a++:v[o]&&w[o].complete&&!w[o].error&&(a++,c.drawInscribedImage(e,w[o],t,o,n))}l.backgrounding=!(a===x),i!==l.backgrounding&&t.updateStyle(!1)},Z=function(){var n=arguments.length>0&&void 0!==arguments[0]&&arguments[0],a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:p;c.hasPie(t)&&(c.drawPie(e,t,a),n&&(m||c.nodeShapes[c.getNodeShape(t)].draw(e,h.x,h.y,r,i,$,u)))},Q=function(){var t=(_>0?_:-_)*(arguments.length>0&&void 0!==arguments[0]?arguments[0]:p),n=_>0?0:255;0!==_&&(c.colorFillStyle(e,n,n,n,t),m?e.fill(d):e.fill())},J=function(){if(A>0){if(e.lineWidth=A,e.lineCap=M,e.lineJoin=D,e.setLineDash)switch(O){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash(P),e.lineDashOffset=N;break;case"solid":case"double":e.setLineDash([])}if("center"!==I){if(e.save(),e.lineWidth*=2,"inside"===I)m?e.clip(d):e.clip();else{var t=new Path2D;t.rect(-r/2-A,-i/2-A,r+2*A,i+2*A),t.addPath(d),e.clip(t,"evenodd")}m?e.stroke(d):e.stroke(),e.restore()}else m?e.stroke(d):e.stroke();if("double"===O){e.lineWidth=A/3;var n=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",m?e.stroke(d):e.stroke(),e.globalCompositeOperation=n}e.setLineDash&&e.setLineDash([])}},ee=function(){if(R>0){if(e.lineWidth=R,e.lineCap="butt",e.setLineDash)switch(B){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"solid":case"double":e.setLineDash([])}var n=h;m&&(n={x:0,y:0});var a=c.getNodeShape(t),o=A;"inside"===I&&(o=0),"outside"===I&&(o*=2);var s,l=(r+o+(R+z))/r,u=(i+o+(R+z))/i,d=r*l,f=i*u,p=c.nodeShapes[a].points;if(m)s=V(d,f,a,p).path;if("ellipse"===a)c.drawEllipsePath(s||e,n.x,n.y,d,f);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(a)){var g=0,b=0,y=0;"round-diamond"===a?g=1.4*(o+z+R):"round-heptagon"===a?(g=1.075*(o+z+R),y=-(o/2+z+R)/35):"round-hexagon"===a?g=1.12*(o+z+R):"round-pentagon"===a?(g=1.13*(o+z+R),y=-(o/2+z+R)/15):"round-tag"===a?(g=1.12*(o+z+R),b=.07*(o/2+R+z)):"round-triangle"===a&&(g=(o+z+R)*(Math.PI/2),y=-(o+z/2+R)/Math.PI),0!==g&&(d=r*(l=(r+g)/r),["round-hexagon","round-tag"].includes(a)||(f=i*(u=(i+g)/i)));for(var v=d/2,w=f/2,x=($="auto"===$?dQe(d,f):$)+(o+R+z)/2,k=new Array(p.length/2),S=new Array(p.length/2),E=0;E<p.length/2;E++)k[E]={x:n.x+b+v*p[2*E],y:n.y+y+w*p[2*E+1]};var _,T,C,O,D=k.length;for(T=k[D-1],_=0;_<D;_++)C=k[_%D],O=k[(_+1)%D],S[_]=b5e(T,C,O,x),T=C,C=O;c.drawRoundPolygonPath(s||e,n.x+b,n.y+y,r*l,i*u,p,S)}else if(["roundrectangle","round-rectangle"].includes(a))$="auto"===$?hQe(d,f):$,c.drawRoundRectanglePath(s||e,n.x,n.y,d,f,$+(o+R+z)/2);else if(["cutrectangle","cut-rectangle"].includes(a))$="auto"===$?8:$,c.drawCutRectanglePath(s||e,n.x,n.y,d,f,null,$+(o+R+z)/4);else if(["bottomroundrectangle","bottom-round-rectangle"].includes(a))$="auto"===$?hQe(d,f):$,c.drawBottomRoundRectanglePath(s||e,n.x,n.y,d,f,$+(o+R+z)/2);else if("barrel"===a)c.drawBarrelPath(s||e,n.x,n.y,d,f);else if(a.startsWith("polygon")||["rhomboid","right-rhomboid","round-tag","tag","vee"].includes(a)){p=eQe(tQe(p,(o+R+z)/r)),c.drawPolygonPath(s||e,n.x,n.y,r,i,p)}else{p=eQe(tQe(p,-((o+R+z)/r))),c.drawPolygonPath(s||e,n.x,n.y,r,i,p)}if(m?e.stroke(s):e.stroke(),"double"===B){e.lineWidth=o/3;var M=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",m?e.stroke(s):e.stroke(),e.globalCompositeOperation=M}e.setLineDash&&e.setLineDash([])}};if("yes"===t.pstyle("ghost").value){var te=t.pstyle("ghost-offset-x").pfValue,ne=t.pstyle("ghost-offset-y").pfValue,re=t.pstyle("ghost-opacity").value,ie=re*p;e.translate(te,ne),U(),ee(),q(re*T),Y(),X(ie,!0),H(re*L),J(),Z(0!==_||0!==A),X(ie,!1),Q(ie),e.translate(-te,-ne)}m&&e.translate(-h.x,-h.y),o&&c.drawNodeUnderlay(e,t,h,r,i),m&&e.translate(h.x,h.y),U(),ee(),q(),Y(),X(p,!0),H(),J(),Z(0!==_||0!==A),X(p,!1),Q(),m&&e.translate(-h.x,-h.y),c.drawElementText(e,t,null,a),o&&c.drawNodeOverlay(e,t,h,r,i),n&&e.translate(f.x1,f.y1)}}},m6e=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(t,n,r,i,a){if(n.visible()){var o=n.pstyle("".concat(e,"-padding")).pfValue,s=n.pstyle("".concat(e,"-opacity")).value,c=n.pstyle("".concat(e,"-color")).value,l=n.pstyle("".concat(e,"-shape")).value,u=n.pstyle("".concat(e,"-corner-radius")).value;if(s>0){if(r=r||n.position(),null==i||null==a){var h=n.padding();i=n.width()+2*h,a=n.height()+2*h}this.colorFillStyle(t,c[0],c[1],c[2],s),this.nodeShapes[l].draw(t,r.x,r.y,i+2*o,a+2*o,u),t.fill()}}}};p6e.drawNodeOverlay=m6e("overlay"),p6e.drawNodeUnderlay=m6e("underlay"),p6e.hasPie=function(e){return(e=e[0])._private.hasPie},p6e.drawPie=function(e,t,n,r){t=t[0],r=r||t.position();var i=t.cy().style(),a=t.pstyle("pie-size"),o=r.x,s=r.y,c=t.width(),l=t.height(),u=Math.min(c,l)/2,h=0;this.usePaths()&&(o=0,s=0),"%"===a.units?u*=a.pfValue:void 0!==a.pfValue&&(u=a.pfValue/2);for(var d=1;d<=i.pieBackgroundN;d++){var f=t.pstyle("pie-"+d+"-background-size").value,p=t.pstyle("pie-"+d+"-background-color").value,m=t.pstyle("pie-"+d+"-background-opacity").value*n,g=f/100;g+h>1&&(g=1-h);var b=1.5*Math.PI+2*Math.PI*h,y=b+2*Math.PI*g;0===f||h>=1||h+g>1||(e.beginPath(),e.moveTo(o,s),e.arc(o,s,u,b,y),e.closePath(),this.colorFillStyle(e,p[0],p[1],p[2],m),e.fill(),h+=g)}};var g6e={};g6e.getPixelRatio=function(){var e=this.data.contexts[0];if(null!=this.forcedPixelRatio)return this.forcedPixelRatio;var t=e.backingStorePixelRatio||e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1;return(window.devicePixelRatio||1)/t},g6e.paintCache=function(e){for(var t,n=this.paintCaches=this.paintCaches||[],r=!0,i=0;i<n.length;i++)if((t=n[i]).context===e){r=!1;break}return r&&(t={context:e},n.push(t)),t},g6e.createGradientStyleFor=function(e,t,n,r,i){var a,o=this.usePaths(),s=n.pstyle(t+"-gradient-stop-colors").value,c=n.pstyle(t+"-gradient-stop-positions").pfValue;if("radial-gradient"===r)if(n.isEdge()){var l=n.sourceEndpoint(),u=n.targetEndpoint(),h=n.midpoint(),d=MZe(l,h),f=MZe(u,h);a=e.createRadialGradient(h.x,h.y,0,h.x,h.y,Math.max(d,f))}else{var p=o?{x:0,y:0}:n.position(),m=n.paddedWidth(),g=n.paddedHeight();a=e.createRadialGradient(p.x,p.y,0,p.x,p.y,Math.max(m,g))}else if(n.isEdge()){var b=n.sourceEndpoint(),y=n.targetEndpoint();a=e.createLinearGradient(b.x,b.y,y.x,y.y)}else{var v=o?{x:0,y:0}:n.position(),w=n.paddedWidth()/2,x=n.paddedHeight()/2;switch(n.pstyle("background-gradient-direction").value){case"to-bottom":a=e.createLinearGradient(v.x,v.y-x,v.x,v.y+x);break;case"to-top":a=e.createLinearGradient(v.x,v.y+x,v.x,v.y-x);break;case"to-left":a=e.createLinearGradient(v.x+w,v.y,v.x-w,v.y);break;case"to-right":a=e.createLinearGradient(v.x-w,v.y,v.x+w,v.y);break;case"to-bottom-right":case"to-right-bottom":a=e.createLinearGradient(v.x-w,v.y-x,v.x+w,v.y+x);break;case"to-top-right":case"to-right-top":a=e.createLinearGradient(v.x-w,v.y+x,v.x+w,v.y-x);break;case"to-bottom-left":case"to-left-bottom":a=e.createLinearGradient(v.x+w,v.y-x,v.x-w,v.y+x);break;case"to-top-left":case"to-left-top":a=e.createLinearGradient(v.x+w,v.y+x,v.x-w,v.y-x)}}if(!a)return null;for(var k=c.length===s.length,S=s.length,E=0;E<S;E++)a.addColorStop(k?c[E]:E/(S-1),"rgba("+s[E][0]+","+s[E][1]+","+s[E][2]+","+i+")");return a},g6e.gradientFillStyle=function(e,t,n,r){var i=this.createGradientStyleFor(e,"background",t,n,r);if(!i)return null;e.fillStyle=i},g6e.colorFillStyle=function(e,t,n,r,i){e.fillStyle="rgba("+t+","+n+","+r+","+i+")"},g6e.eleFillStyle=function(e,t,n){var r=t.pstyle("background-fill").value;if("linear-gradient"===r||"radial-gradient"===r)this.gradientFillStyle(e,t,r,n);else{var i=t.pstyle("background-color").value;this.colorFillStyle(e,i[0],i[1],i[2],n)}},g6e.gradientStrokeStyle=function(e,t,n,r){var i=this.createGradientStyleFor(e,"line",t,n,r);if(!i)return null;e.strokeStyle=i},g6e.colorStrokeStyle=function(e,t,n,r,i){e.strokeStyle="rgba("+t+","+n+","+r+","+i+")"},g6e.eleStrokeStyle=function(e,t,n){var r=t.pstyle("line-fill").value;if("linear-gradient"===r||"radial-gradient"===r)this.gradientStrokeStyle(e,t,r,n);else{var i=t.pstyle("line-color").value;this.colorStrokeStyle(e,i[0],i[1],i[2],n)}},g6e.matchCanvasSize=function(e){var t=this,n=t.data,r=t.findContainerClientCoords(),i=r[2],a=r[3],o=t.getPixelRatio(),s=t.motionBlurPxRatio;e!==t.data.bufferCanvases[t.MOTIONBLUR_BUFFER_NODE]&&e!==t.data.bufferCanvases[t.MOTIONBLUR_BUFFER_DRAG]||(o=s);var c,l=i*o,u=a*o;if(l!==t.canvasWidth||u!==t.canvasHeight){t.fontCaches=null;var h=n.canvasContainer;h.style.width=i+"px",h.style.height=a+"px";for(var d=0;d<t.CANVAS_LAYERS;d++)(c=n.canvases[d]).width=l,c.height=u,c.style.width=i+"px",c.style.height=a+"px";for(d=0;d<t.BUFFER_COUNT;d++)(c=n.bufferCanvases[d]).width=l,c.height=u,c.style.width=i+"px",c.style.height=a+"px";t.textureMult=1,o<=1&&(c=n.bufferCanvases[t.TEXTURE_BUFFER],t.textureMult=2,c.width=l*t.textureMult,c.height=u*t.textureMult),t.canvasWidth=l,t.canvasHeight=u}},g6e.renderTo=function(e,t,n,r){this.render({forcedContext:e,forcedZoom:t,forcedPan:n,drawAllLayers:!0,forcedPxRatio:r})},g6e.render=function(e){var t=(e=e||QXe()).forcedContext,n=e.drawAllLayers,r=e.drawOnlyNodeLayer,i=e.forcedZoom,a=e.forcedPan,o=this,s=void 0===e.forcedPxRatio?this.getPixelRatio():e.forcedPxRatio,c=o.cy,l=o.data,u=l.canvasNeedsRedraw,h=o.textureOnViewport&&!t&&(o.pinching||o.hoverData.dragging||o.swipePanning||o.data.wheelZooming),d=void 0!==e.motionBlur?e.motionBlur:o.motionBlur,f=o.motionBlurPxRatio,p=c.hasCompoundNodes(),m=o.hoverData.draggingEles,g=!(!o.hoverData.selecting&&!o.touchData.selecting),b=d=d&&!t&&o.motionBlurEnabled&&!g;t||(o.prevPxRatio!==s&&(o.invalidateContainerClientCoordsCache(),o.matchCanvasSize(o.container),o.redrawHint("eles",!0),o.redrawHint("drag",!0)),o.prevPxRatio=s),!t&&o.motionBlurTimeout&&clearTimeout(o.motionBlurTimeout),d&&(null==o.mbFrames&&(o.mbFrames=0),o.mbFrames++,o.mbFrames<3&&(b=!1),o.mbFrames>o.minMbLowQualFrames&&(o.motionBlurPxRatio=o.mbPxRBlurry)),o.clearingMotionBlur&&(o.motionBlurPxRatio=1),o.textureDrawLastFrame&&!h&&(u[o.NODE]=!0,u[o.SELECT_BOX]=!0);var y=c.style(),v=c.zoom(),w=void 0!==i?i:v,x=c.pan(),k={x:x.x,y:x.y},S={zoom:v,pan:{x:x.x,y:x.y}},E=o.prevViewport;void 0===E||S.zoom!==E.zoom||S.pan.x!==E.pan.x||S.pan.y!==E.pan.y||m&&!p||(o.motionBlurPxRatio=1),a&&(k=a),w*=s,k.x*=s,k.y*=s;var _=o.getCachedZSortedEles();function A(e,t,n,r,i){var a=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",o.colorFillStyle(e,255,255,255,o.motionBlurTransparency),e.fillRect(t,n,r,i),e.globalCompositeOperation=a}function T(e,r){var s,c,u,h;o.clearingMotionBlur||e!==l.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]&&e!==l.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG]?(s=k,c=w,u=o.canvasWidth,h=o.canvasHeight):(s={x:x.x*f,y:x.y*f},c=v*f,u=o.canvasWidth*f,h=o.canvasHeight*f),e.setTransform(1,0,0,1,0,0),"motionBlur"===r?A(e,0,0,u,h):t||void 0!==r&&!r||e.clearRect(0,0,u,h),n||(e.translate(s.x,s.y),e.scale(c,c)),a&&e.translate(a.x,a.y),i&&e.scale(i,i)}if(h||(o.textureDrawLastFrame=!1),h){if(o.textureDrawLastFrame=!0,!o.textureCache){o.textureCache={},o.textureCache.bb=c.mutableElements().boundingBox(),o.textureCache.texture=o.data.bufferCanvases[o.TEXTURE_BUFFER];var C=o.data.bufferContexts[o.TEXTURE_BUFFER];C.setTransform(1,0,0,1,0,0),C.clearRect(0,0,o.canvasWidth*o.textureMult,o.canvasHeight*o.textureMult),o.render({forcedContext:C,drawOnlyNodeLayer:!0,forcedPxRatio:s*o.textureMult}),(S=o.textureCache.viewport={zoom:c.zoom(),pan:c.pan(),width:o.canvasWidth,height:o.canvasHeight}).mpan={x:(0-S.pan.x)/S.zoom,y:(0-S.pan.y)/S.zoom}}u[o.DRAG]=!1,u[o.NODE]=!1;var O=l.contexts[o.NODE],D=o.textureCache.texture;S=o.textureCache.viewport;O.setTransform(1,0,0,1,0,0),d?A(O,0,0,S.width,S.height):O.clearRect(0,0,S.width,S.height);var M=y.core("outside-texture-bg-color").value,I=y.core("outside-texture-bg-opacity").value;o.colorFillStyle(O,M[0],M[1],M[2],I),O.fillRect(0,0,S.width,S.height);v=c.zoom();T(O,!1),O.clearRect(S.mpan.x,S.mpan.y,S.width/S.zoom/s,S.height/S.zoom/s),O.drawImage(D,S.mpan.x,S.mpan.y,S.width/S.zoom/s,S.height/S.zoom/s)}else o.textureOnViewport&&!t&&(o.textureCache=null);var P=c.extent(),N=o.pinching||o.hoverData.dragging||o.swipePanning||o.data.wheelZooming||o.hoverData.draggingEles||o.cy.animated(),L=o.hideEdgesOnViewport&&N,R=[];if(R[o.NODE]=!u[o.NODE]&&d&&!o.clearedForMotionBlur[o.NODE]||o.clearingMotionBlur,R[o.NODE]&&(o.clearedForMotionBlur[o.NODE]=!0),R[o.DRAG]=!u[o.DRAG]&&d&&!o.clearedForMotionBlur[o.DRAG]||o.clearingMotionBlur,R[o.DRAG]&&(o.clearedForMotionBlur[o.DRAG]=!0),u[o.NODE]||n||r||R[o.NODE]){var j=d&&!R[o.NODE]&&1!==f;T(O=t||(j?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]:l.contexts[o.NODE]),d&&!j?"motionBlur":void 0),L?o.drawCachedNodes(O,_.nondrag,s,P):o.drawLayeredElements(O,_.nondrag,s,P),o.debug&&o.drawDebugPoints(O,_.nondrag),n||d||(u[o.NODE]=!1)}if(!r&&(u[o.DRAG]||n||R[o.DRAG])){j=d&&!R[o.DRAG]&&1!==f;T(O=t||(j?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG]:l.contexts[o.DRAG]),d&&!j?"motionBlur":void 0),L?o.drawCachedNodes(O,_.drag,s,P):o.drawCachedElements(O,_.drag,s,P),o.debug&&o.drawDebugPoints(O,_.drag),n||d||(u[o.DRAG]=!1)}if(o.showFps||!r&&u[o.SELECT_BOX]&&!n){if(T(O=t||l.contexts[o.SELECT_BOX]),1==o.selection[4]&&(o.hoverData.selecting||o.touchData.selecting)){v=o.cy.zoom();var B=y.core("selection-box-border-width").value/v;O.lineWidth=B,O.fillStyle="rgba("+y.core("selection-box-color").value[0]+","+y.core("selection-box-color").value[1]+","+y.core("selection-box-color").value[2]+","+y.core("selection-box-opacity").value+")",O.fillRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1]),B>0&&(O.strokeStyle="rgba("+y.core("selection-box-border-color").value[0]+","+y.core("selection-box-border-color").value[1]+","+y.core("selection-box-border-color").value[2]+","+y.core("selection-box-opacity").value+")",O.strokeRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1]))}if(l.bgActivePosistion&&!o.hoverData.selecting){v=o.cy.zoom();var F=l.bgActivePosistion;O.fillStyle="rgba("+y.core("active-bg-color").value[0]+","+y.core("active-bg-color").value[1]+","+y.core("active-bg-color").value[2]+","+y.core("active-bg-opacity").value+")",O.beginPath(),O.arc(F.x,F.y,y.core("active-bg-size").pfValue/v,0,2*Math.PI),O.fill()}var z=o.lastRedrawTime;if(o.showFps&&z){z=Math.round(z);var $=Math.round(1e3/z);O.setTransform(1,0,0,1,0,0),O.fillStyle="rgba(255, 0, 0, 0.75)",O.strokeStyle="rgba(255, 0, 0, 0.75)",O.lineWidth=1,O.fillText("1 frame = "+z+" ms = "+$+" fps",0,20);O.strokeRect(0,30,250,20),O.fillRect(0,30,250*Math.min($/60,1),20)}n||(u[o.SELECT_BOX]=!1)}if(d&&1!==f){var q=l.contexts[o.NODE],H=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_NODE],U=l.contexts[o.DRAG],V=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_DRAG],W=function(e,t,n){e.setTransform(1,0,0,1,0,0),n||!b?e.clearRect(0,0,o.canvasWidth,o.canvasHeight):A(e,0,0,o.canvasWidth,o.canvasHeight);var r=f;e.drawImage(t,0,0,o.canvasWidth*r,o.canvasHeight*r,0,0,o.canvasWidth,o.canvasHeight)};(u[o.NODE]||R[o.NODE])&&(W(q,H,R[o.NODE]),u[o.NODE]=!1),(u[o.DRAG]||R[o.DRAG])&&(W(U,V,R[o.DRAG]),u[o.DRAG]=!1)}o.prevViewport=S,o.clearingMotionBlur&&(o.clearingMotionBlur=!1,o.motionBlurCleared=!0,o.motionBlur=!0),d&&(o.motionBlurTimeout=setTimeout((function(){o.motionBlurTimeout=null,o.clearedForMotionBlur[o.NODE]=!1,o.clearedForMotionBlur[o.DRAG]=!1,o.motionBlur=!1,o.clearingMotionBlur=!h,o.mbFrames=0,u[o.NODE]=!0,u[o.DRAG]=!0,o.redraw()}),100)),t||c.emit("render")};for(var b6e={drawPolygonPath:function(e,t,n,r,i,a){var o=r/2,s=i/2;e.beginPath&&e.beginPath(),e.moveTo(t+o*a[0],n+s*a[1]);for(var c=1;c<a.length/2;c++)e.lineTo(t+o*a[2*c],n+s*a[2*c+1]);e.closePath()},drawRoundPolygonPath:function(e,t,n,r,i,a,o){o.forEach((function(t){return g5e(e,t)})),e.closePath()},drawRoundRectanglePath:function(e,t,n,r,i,a){var o=r/2,s=i/2,c="auto"===a?hQe(r,i):Math.min(a,s,o);e.beginPath&&e.beginPath(),e.moveTo(t,n-s),e.arcTo(t+o,n-s,t+o,n,c),e.arcTo(t+o,n+s,t,n+s,c),e.arcTo(t-o,n+s,t-o,n,c),e.arcTo(t-o,n-s,t,n-s,c),e.lineTo(t,n-s),e.closePath()},drawBottomRoundRectanglePath:function(e,t,n,r,i,a){var o=r/2,s=i/2,c="auto"===a?hQe(r,i):a;e.beginPath&&e.beginPath(),e.moveTo(t,n-s),e.lineTo(t+o,n-s),e.lineTo(t+o,n),e.arcTo(t+o,n+s,t,n+s,c),e.arcTo(t-o,n+s,t-o,n,c),e.lineTo(t-o,n-s),e.lineTo(t,n-s),e.closePath()},drawCutRectanglePath:function(e,t,n,r,i,a,o){var s=r/2,c=i/2,l="auto"===o?8:o;e.beginPath&&e.beginPath(),e.moveTo(t-s+l,n-c),e.lineTo(t+s-l,n-c),e.lineTo(t+s,n-c+l),e.lineTo(t+s,n+c-l),e.lineTo(t+s-l,n+c),e.lineTo(t-s+l,n+c),e.lineTo(t-s,n+c-l),e.lineTo(t-s,n-c+l),e.closePath()},drawBarrelPath:function(e,t,n,r,i){var a=r/2,o=i/2,s=t-a,c=t+a,l=n-o,u=n+o,h=fQe(r,i),d=h.widthOffset,f=h.heightOffset,p=h.ctrlPtOffsetPct*d;e.beginPath&&e.beginPath(),e.moveTo(s,l+f),e.lineTo(s,u-f),e.quadraticCurveTo(s+p,u,s+d,u),e.lineTo(c-d,u),e.quadraticCurveTo(c-p,u,c,u-f),e.lineTo(c,l+f),e.quadraticCurveTo(c-p,l,c-d,l),e.lineTo(s+d,l),e.quadraticCurveTo(s+p,l,s,l+f),e.closePath()}},y6e=Math.sin(0),v6e=Math.cos(0),w6e={},x6e={},k6e=Math.PI/40,S6e=0*Math.PI;S6e<2*Math.PI;S6e+=k6e)w6e[S6e]=Math.sin(S6e),x6e[S6e]=Math.cos(S6e);b6e.drawEllipsePath=function(e,t,n,r,i){if(e.beginPath&&e.beginPath(),e.ellipse)e.ellipse(t,n,r/2,i/2,0,0,2*Math.PI);else for(var a,o,s=r/2,c=i/2,l=0*Math.PI;l<2*Math.PI;l+=k6e)a=t-s*w6e[l]*y6e+s*x6e[l]*v6e,o=n+c*x6e[l]*y6e+c*w6e[l]*v6e,0===l?e.moveTo(a,o):e.lineTo(a,o);e.closePath()};var E6e={};function _6e(e){var t=e.indexOf(",");return e.substr(t+1)}function A6e(e,t,n){var r=function(){return t.toDataURL(n,e.quality)};switch(e.output){case"blob-promise":return new TJe((function(r,i){try{t.toBlob((function(e){null!=e?r(e):i(new Error("`canvas.toBlob()` sent a null value in its callback"))}),n,e.quality)}catch(e){i(e)}}));case"blob":return function(e,t){for(var n=atob(e),r=new ArrayBuffer(n.length),i=new Uint8Array(r),a=0;a<n.length;a++)i[a]=n.charCodeAt(a);return new Blob([r],{type:t})}(_6e(r()),n);case"base64":return _6e(r());default:return r()}}E6e.createBuffer=function(e,t){var n=document.createElement("canvas");return n.width=e,n.height=t,[n,n.getContext("2d")]},E6e.bufferCanvasImage=function(e){var t=this.cy,n=t.mutableElements().boundingBox(),r=this.findContainerClientCoords(),i=e.full?Math.ceil(n.w):r[2],a=e.full?Math.ceil(n.h):r[3],o=kYe(e.maxWidth)||kYe(e.maxHeight),s=this.getPixelRatio(),c=1;if(void 0!==e.scale)i*=e.scale,a*=e.scale,c=e.scale;else if(o){var l=1/0,u=1/0;kYe(e.maxWidth)&&(l=c*e.maxWidth/i),kYe(e.maxHeight)&&(u=c*e.maxHeight/a),i*=c=Math.min(l,u),a*=c}o||(i*=s,a*=s,c*=s);var h=document.createElement("canvas");h.width=i,h.height=a,h.style.width=i+"px",h.style.height=a+"px";var d=h.getContext("2d");if(i>0&&a>0){d.clearRect(0,0,i,a),d.globalCompositeOperation="source-over";var f=this.getCachedZSortedEles();if(e.full)d.translate(-n.x1*c,-n.y1*c),d.scale(c,c),this.drawElements(d,f),d.scale(1/c,1/c),d.translate(n.x1*c,n.y1*c);else{var p=t.pan(),m={x:p.x*c,y:p.y*c};c*=t.zoom(),d.translate(m.x,m.y),d.scale(c,c),this.drawElements(d,f),d.scale(1/c,1/c),d.translate(-m.x,-m.y)}e.bg&&(d.globalCompositeOperation="destination-over",d.fillStyle=e.bg,d.rect(0,0,i,a),d.fill())}return h},E6e.png=function(e){return A6e(e,this.bufferCanvasImage(e),"image/png")},E6e.jpg=function(e){return A6e(e,this.bufferCanvasImage(e),"image/jpeg")};var T6e={nodeShapeImpl:function(e,t,n,r,i,a,o,s){switch(e){case"ellipse":return this.drawEllipsePath(t,n,r,i,a);case"polygon":return this.drawPolygonPath(t,n,r,i,a,o);case"round-polygon":return this.drawRoundPolygonPath(t,n,r,i,a,o,s);case"roundrectangle":case"round-rectangle":return this.drawRoundRectanglePath(t,n,r,i,a,s);case"cutrectangle":case"cut-rectangle":return this.drawCutRectanglePath(t,n,r,i,a,o,s);case"bottomroundrectangle":case"bottom-round-rectangle":return this.drawBottomRoundRectanglePath(t,n,r,i,a,s);case"barrel":return this.drawBarrelPath(t,n,r,i,a)}}},C6e=D6e,O6e=D6e.prototype;function D6e(e){var t=this;t.data={canvases:new Array(O6e.CANVAS_LAYERS),contexts:new Array(O6e.CANVAS_LAYERS),canvasNeedsRedraw:new Array(O6e.CANVAS_LAYERS),bufferCanvases:new Array(O6e.BUFFER_COUNT),bufferContexts:new Array(O6e.CANVAS_LAYERS)};var n="-webkit-tap-highlight-color",r="rgba(0,0,0,0)";t.data.canvasContainer=document.createElement("div");var i=t.data.canvasContainer.style;t.data.canvasContainer.style[n]=r,i.position="relative",i.zIndex="0",i.overflow="hidden";var a=e.cy.container();a.appendChild(t.data.canvasContainer),a.style[n]=r;var o={"-webkit-user-select":"none","-moz-user-select":"-moz-none","user-select":"none","-webkit-tap-highlight-color":"rgba(0,0,0,0)","outline-style":"none"};dYe&&dYe.userAgent.match(/msie|trident|edge/i)&&(o["-ms-touch-action"]="none",o["touch-action"]="none");for(var s=0;s<O6e.CANVAS_LAYERS;s++){var c=t.data.canvases[s]=document.createElement("canvas");t.data.contexts[s]=c.getContext("2d"),Object.keys(o).forEach((function(e){c.style[e]=o[e]})),c.style.position="absolute",c.setAttribute("data-id","layer"+s),c.style.zIndex=String(O6e.CANVAS_LAYERS-s),t.data.canvasContainer.appendChild(c),t.data.canvasNeedsRedraw[s]=!1}t.data.topCanvas=t.data.canvases[0],t.data.canvases[O6e.NODE].setAttribute("data-id","layer"+O6e.NODE+"-node"),t.data.canvases[O6e.SELECT_BOX].setAttribute("data-id","layer"+O6e.SELECT_BOX+"-selectbox"),t.data.canvases[O6e.DRAG].setAttribute("data-id","layer"+O6e.DRAG+"-drag");for(s=0;s<O6e.BUFFER_COUNT;s++)t.data.bufferCanvases[s]=document.createElement("canvas"),t.data.bufferContexts[s]=t.data.bufferCanvases[s].getContext("2d"),t.data.bufferCanvases[s].style.position="absolute",t.data.bufferCanvases[s].setAttribute("data-id","buffer"+s),t.data.bufferCanvases[s].style.zIndex=String(-s-1),t.data.bufferCanvases[s].style.visibility="hidden";t.pathsEnabled=!0;var l=jZe(),u=function(e){return{x:-e.w/2,y:-e.h/2}},h=function(e){return e.boundingBox(),e[0]._private.bodyBounds},d=function(e){return e.boundingBox(),e[0]._private.labelBounds.main||l},f=function(e){return e.boundingBox(),e[0]._private.labelBounds.source||l},p=function(e){return e.boundingBox(),e[0]._private.labelBounds.target||l},m=function(e,t){return t},g=function(e,t,n){var r=e?e+"-":"";return{x:t.x+n.pstyle(r+"text-margin-x").pfValue,y:t.y+n.pstyle(r+"text-margin-y").pfValue}},b=function(e,t,n){var r=e[0]._private.rscratch;return{x:r[t],y:r[n]}},y=t.data.eleTxrCache=new H5e(t,{getKey:function(e){return e[0]._private.nodeKey},doesEleInvalidateKey:function(e){var t=e[0]._private;return!(t.oldBackgroundTimestamp===t.backgroundTimestamp)},drawElement:function(e,n,r,i,a){return t.drawElement(e,n,r,!1,!1,a)},getBoundingBox:h,getRotationPoint:function(e){return{x:((t=h(e)).x1+t.x2)/2,y:(t.y1+t.y2)/2};var t},getRotationOffset:function(e){return u(h(e))},allowEdgeTxrCaching:!1,allowParentTxrCaching:!1}),v=t.data.lblTxrCache=new H5e(t,{getKey:function(e){return e[0]._private.labelStyleKey},drawElement:function(e,n,r,i,a){return t.drawElementText(e,n,r,i,"main",a)},getBoundingBox:d,getRotationPoint:function(e){return g("",b(e,"labelX","labelY"),e)},getRotationOffset:function(e){var t=d(e),n=u(d(e));if(e.isNode()){switch(e.pstyle("text-halign").value){case"left":n.x=-t.w;break;case"right":n.x=0}switch(e.pstyle("text-valign").value){case"top":n.y=-t.h;break;case"bottom":n.y=0}}return n},isVisible:m}),w=t.data.slbTxrCache=new H5e(t,{getKey:function(e){return e[0]._private.sourceLabelStyleKey},drawElement:function(e,n,r,i,a){return t.drawElementText(e,n,r,i,"source",a)},getBoundingBox:f,getRotationPoint:function(e){return g("source",b(e,"sourceLabelX","sourceLabelY"),e)},getRotationOffset:function(e){return u(f(e))},isVisible:m}),x=t.data.tlbTxrCache=new H5e(t,{getKey:function(e){return e[0]._private.targetLabelStyleKey},drawElement:function(e,n,r,i,a){return t.drawElementText(e,n,r,i,"target",a)},getBoundingBox:p,getRotationPoint:function(e){return g("target",b(e,"targetLabelX","targetLabelY"),e)},getRotationOffset:function(e){return u(p(e))},isVisible:m}),k=t.data.lyrTxrCache=new V5e(t);t.onUpdateEleCalcs((function(e,t){y.invalidateElements(t),v.invalidateElements(t),w.invalidateElements(t),x.invalidateElements(t),k.invalidateElements(t);for(var n=0;n<t.length;n++){var r=t[n]._private;r.oldBackgroundTimestamp=r.backgroundTimestamp}}));var S=function(e){for(var t=0;t<e.length;t++)k.enqueueElementRefinement(e[t].ele)};y.onDequeue(S),v.onDequeue(S),w.onDequeue(S),x.onDequeue(S)}O6e.CANVAS_LAYERS=3,O6e.SELECT_BOX=0,O6e.DRAG=1,O6e.NODE=2,O6e.BUFFER_COUNT=3,O6e.TEXTURE_BUFFER=0,O6e.MOTIONBLUR_BUFFER_NODE=1,O6e.MOTIONBLUR_BUFFER_DRAG=2,O6e.redrawHint=function(e,t){var n=this;switch(e){case"eles":n.data.canvasNeedsRedraw[O6e.NODE]=t;break;case"drag":n.data.canvasNeedsRedraw[O6e.DRAG]=t;break;case"select":n.data.canvasNeedsRedraw[O6e.SELECT_BOX]=t}};var M6e="undefined"!=typeof Path2D;O6e.path2dEnabled=function(e){if(void 0===e)return this.pathsEnabled;this.pathsEnabled=!!e},O6e.usePaths=function(){return M6e&&this.pathsEnabled},O6e.setImgSmoothing=function(e,t){null!=e.imageSmoothingEnabled?e.imageSmoothingEnabled=t:(e.webkitImageSmoothingEnabled=t,e.mozImageSmoothingEnabled=t,e.msImageSmoothingEnabled=t)},O6e.getImgSmoothing=function(e){return null!=e.imageSmoothingEnabled?e.imageSmoothingEnabled:e.webkitImageSmoothingEnabled||e.mozImageSmoothingEnabled||e.msImageSmoothingEnabled},O6e.makeOffscreenCanvas=function(e,t){var n;return"undefined"!==("undefined"==typeof OffscreenCanvas?"undefined":rYe(OffscreenCanvas))?n=new OffscreenCanvas(e,t):((n=document.createElement("canvas")).width=e,n.height=t),n},[X5e,n6e,l6e,h6e,d6e,p6e,g6e,b6e,E6e,T6e].forEach((function(e){qYe(O6e,e)}));var I6e=[{type:"layout",extensions:q4e},{type:"renderer",extensions:[{name:"null",impl:H4e},{name:"base",impl:R5e},{name:"canvas",impl:C6e}]}],P6e={},N6e={};function L6e(e,t,n){var r=n,i=function(n){KXe("Can not register `"+t+"` for `"+e+"` since `"+n+"` already exists in the prototype and can not be overridden")};if("core"===e){if(t4e.prototype[t])return i(t);t4e.prototype[t]=n}else if("collection"===e){if(b3e.prototype[t])return i(t);b3e.prototype[t]=n}else if("layout"===e){for(var a=function(e){this.options=e,n.call(this,e),xYe(this._private)||(this._private={}),this._private.cy=e.cy,this._private.listeners=[],this.createEmitter()},o=a.prototype=Object.create(n.prototype),s=[],c=0;c<s.length;c++){var l=s[c];o[l]=o[l]||function(){return this}}o.start&&!o.run?o.run=function(){return this.start(),this}:!o.start&&o.run&&(o.start=function(){return this.run(),this});var u=n.prototype.stop;o.stop=function(){var e=this.options;if(e&&e.animate){var t=this.animations;if(t)for(var n=0;n<t.length;n++)t[n].stop()}return u?u.call(this):this.emit("layoutstop"),this},o.destroy||(o.destroy=function(){return this}),o.cy=function(){return this._private.cy};var h=function(e){return e._private.cy},d={addEventFields:function(e,t){t.layout=e,t.cy=h(e),t.target=e},bubble:function(){return!0},parent:function(e){return h(e)}};qYe(o,{createEmitter:function(){return this._private.emitter=new L2e(d,this),this},emitter:function(){return this._private.emitter},on:function(e,t){return this.emitter().on(e,t),this},one:function(e,t){return this.emitter().one(e,t),this},once:function(e,t){return this.emitter().one(e,t),this},removeListener:function(e,t){return this.emitter().removeListener(e,t),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},emit:function(e,t){return this.emitter().emit(e,t),this}}),t0e.eventAliasesOn(o),r=a}else if("renderer"===e&&"null"!==t&&"base"!==t){var f=R6e("renderer","base"),p=f.prototype,m=n,g=n.prototype,b=function(){f.apply(this,arguments),m.apply(this,arguments)},y=b.prototype;for(var v in p){var w=p[v];if(null!=g[v])return i(v);y[v]=w}for(var x in g)y[x]=g[x];p.clientFunctions.forEach((function(e){y[e]=y[e]||function(){WXe("Renderer does not implement `renderer."+e+"()` on its prototype")}})),r=b}else if("__proto__"===e||"constructor"===e||"prototype"===e)return WXe(e+" is an illegal type to be registered, possibly lead to prototype pollutions");return VYe({map:P6e,keys:[e,t],value:r})}function R6e(e,t){return WYe({map:P6e,keys:[e,t]})}function j6e(e,t,n,r,i){return VYe({map:N6e,keys:[e,t,n,r],value:i})}function B6e(e,t,n,r){return WYe({map:N6e,keys:[e,t,n,r]})}var F6e=function(){return 2===arguments.length?R6e.apply(null,arguments):3===arguments.length?L6e.apply(null,arguments):4===arguments.length?B6e.apply(null,arguments):5===arguments.length?j6e.apply(null,arguments):void WXe("Invalid extension access syntax")};t4e.prototype.extension=F6e,I6e.forEach((function(e){e.extensions.forEach((function(t){L6e(e.type,t.name,t.impl)}))}));var z6e=function e(){if(!(this instanceof e))return new e;this.length=0},$6e=z6e.prototype;$6e.instanceString=function(){return"stylesheet"},$6e.selector=function(e){return this[this.length++]={selector:e,properties:[]},this},$6e.css=function(e,t){var n=this.length-1;if(yYe(e))this[n].properties.push({name:e,value:t});else if(xYe(e))for(var r=e,i=Object.keys(r),a=0;a<i.length;a++){var o=i[a],s=r[o];if(null!=s){var c=X3e.properties[o]||X3e.properties[PYe(o)];if(null!=c){var l=c.name,u=s;this[n].properties.push({name:l,value:u})}}}return this},$6e.style=$6e.css,$6e.generateStyle=function(e){var t=new X3e(e);return this.appendToStyle(t)},$6e.appendToStyle=function(e){for(var t=0;t<this.length;t++){var n=this[t],r=n.selector,i=n.properties;e.selector(r);for(var a=0;a<i.length;a++){var o=i[a];e.css(o.name,o.value)}}return e};var q6e=function(e){return void 0===e&&(e={}),xYe(e)?new t4e(e):yYe(e)?F6e.apply(F6e,arguments):void 0};q6e.use=function(e){var t=Array.prototype.slice.call(arguments,1);return t.unshift(q6e),e.apply(null,t),this},q6e.warnings=function(e){return GXe(e)},q6e.version="3.29.1",q6e.stylesheet=q6e.Stylesheet=z6e;var H6e,U6e,V6e,W6e={exports:{}},G6e={exports:{}},K6e={exports:{}};function Y6e(){return H6e||(H6e=1,function(e,t){var n;n=function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.i=function(e){return e},n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=26)}([function(e,t,n){function r(){}r.QUALITY=1,r.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,r.DEFAULT_INCREMENTAL=!1,r.DEFAULT_ANIMATION_ON_LAYOUT=!0,r.DEFAULT_ANIMATION_DURING_LAYOUT=!1,r.DEFAULT_ANIMATION_PERIOD=50,r.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,r.DEFAULT_GRAPH_MARGIN=15,r.NODE_DIMENSIONS_INCLUDE_LABELS=!1,r.SIMPLE_NODE_SIZE=40,r.SIMPLE_NODE_HALF_SIZE=r.SIMPLE_NODE_SIZE/2,r.EMPTY_COMPOUND_NODE_SIZE=40,r.MIN_EDGE_LENGTH=1,r.WORLD_BOUNDARY=1e6,r.INITIAL_WORLD_BOUNDARY=r.WORLD_BOUNDARY/1e3,r.WORLD_CENTER_X=1200,r.WORLD_CENTER_Y=900,e.exports=r},function(e,t,n){var r=n(2),i=n(8),a=n(9);function o(e,t,n){r.call(this,n),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=n,this.bendpoints=[],this.source=e,this.target=t}for(var s in o.prototype=Object.create(r.prototype),r)o[s]=r[s];o.prototype.getSource=function(){return this.source},o.prototype.getTarget=function(){return this.target},o.prototype.isInterGraph=function(){return this.isInterGraph},o.prototype.getLength=function(){return this.length},o.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},o.prototype.getBendpoints=function(){return this.bendpoints},o.prototype.getLca=function(){return this.lca},o.prototype.getSourceInLca=function(){return this.sourceInLca},o.prototype.getTargetInLca=function(){return this.targetInLca},o.prototype.getOtherEnd=function(e){if(this.source===e)return this.target;if(this.target===e)return this.source;throw"Node is not incident with this edge"},o.prototype.getOtherEndInGraph=function(e,t){for(var n=this.getOtherEnd(e),r=t.getGraphManager().getRoot();;){if(n.getOwner()==t)return n;if(n.getOwner()==r)break;n=n.getOwner().getParent()}return null},o.prototype.updateLength=function(){var e=new Array(4);this.isOverlapingSourceAndTarget=i.getIntersection(this.target.getRect(),this.source.getRect(),e),this.isOverlapingSourceAndTarget||(this.lengthX=e[0]-e[2],this.lengthY=e[1]-e[3],Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},o.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},e.exports=o},function(e,t,n){e.exports=function(e){this.vGraphObject=e}},function(e,t,n){var r=n(2),i=n(10),a=n(13),o=n(0),s=n(16),c=n(4);function l(e,t,n,o){null==n&&null==o&&(o=t),r.call(this,o),null!=e.graphManager&&(e=e.graphManager),this.estimatedSize=i.MIN_VALUE,this.inclusionTreeDepth=i.MAX_VALUE,this.vGraphObject=o,this.edges=[],this.graphManager=e,this.rect=null!=n&&null!=t?new a(t.x,t.y,n.width,n.height):new a}for(var u in l.prototype=Object.create(r.prototype),r)l[u]=r[u];l.prototype.getEdges=function(){return this.edges},l.prototype.getChild=function(){return this.child},l.prototype.getOwner=function(){return this.owner},l.prototype.getWidth=function(){return this.rect.width},l.prototype.setWidth=function(e){this.rect.width=e},l.prototype.getHeight=function(){return this.rect.height},l.prototype.setHeight=function(e){this.rect.height=e},l.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},l.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},l.prototype.getCenter=function(){return new c(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},l.prototype.getLocation=function(){return new c(this.rect.x,this.rect.y)},l.prototype.getRect=function(){return this.rect},l.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},l.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},l.prototype.setRect=function(e,t){this.rect.x=e.x,this.rect.y=e.y,this.rect.width=t.width,this.rect.height=t.height},l.prototype.setCenter=function(e,t){this.rect.x=e-this.rect.width/2,this.rect.y=t-this.rect.height/2},l.prototype.setLocation=function(e,t){this.rect.x=e,this.rect.y=t},l.prototype.moveBy=function(e,t){this.rect.x+=e,this.rect.y+=t},l.prototype.getEdgeListToNode=function(e){var t=[],n=this;return n.edges.forEach((function(r){if(r.target==e){if(r.source!=n)throw"Incorrect edge source!";t.push(r)}})),t},l.prototype.getEdgesBetween=function(e){var t=[],n=this;return n.edges.forEach((function(r){if(r.source!=n&&r.target!=n)throw"Incorrect edge source and/or target";r.target!=e&&r.source!=e||t.push(r)})),t},l.prototype.getNeighborsList=function(){var e=new Set,t=this;return t.edges.forEach((function(n){if(n.source==t)e.add(n.target);else{if(n.target!=t)throw"Incorrect incidency!";e.add(n.source)}})),e},l.prototype.withChildren=function(){var e=new Set;if(e.add(this),null!=this.child)for(var t=this.child.getNodes(),n=0;n<t.length;n++)t[n].withChildren().forEach((function(t){e.add(t)}));return e},l.prototype.getNoOfChildren=function(){var e=0;if(null==this.child)e=1;else for(var t=this.child.getNodes(),n=0;n<t.length;n++)e+=t[n].getNoOfChildren();return 0==e&&(e=1),e},l.prototype.getEstimatedSize=function(){if(this.estimatedSize==i.MIN_VALUE)throw"assert failed";return this.estimatedSize},l.prototype.calcEstimatedSize=function(){return null==this.child?this.estimatedSize=(this.rect.width+this.rect.height)/2:(this.estimatedSize=this.child.calcEstimatedSize(),this.rect.width=this.estimatedSize,this.rect.height=this.estimatedSize,this.estimatedSize)},l.prototype.scatter=function(){var e,t,n=-o.INITIAL_WORLD_BOUNDARY,r=o.INITIAL_WORLD_BOUNDARY;e=o.WORLD_CENTER_X+s.nextDouble()*(r-n)+n;var i=-o.INITIAL_WORLD_BOUNDARY,a=o.INITIAL_WORLD_BOUNDARY;t=o.WORLD_CENTER_Y+s.nextDouble()*(a-i)+i,this.rect.x=e,this.rect.y=t},l.prototype.updateBounds=function(){if(null==this.getChild())throw"assert failed";if(0!=this.getChild().getNodes().length){var e=this.getChild();if(e.updateBounds(!0),this.rect.x=e.getLeft(),this.rect.y=e.getTop(),this.setWidth(e.getRight()-e.getLeft()),this.setHeight(e.getBottom()-e.getTop()),o.NODE_DIMENSIONS_INCLUDE_LABELS){var t=e.getRight()-e.getLeft(),n=e.getBottom()-e.getTop();this.labelWidth>t&&(this.rect.x-=(this.labelWidth-t)/2,this.setWidth(this.labelWidth)),this.labelHeight>n&&("center"==this.labelPos?this.rect.y-=(this.labelHeight-n)/2:"top"==this.labelPos&&(this.rect.y-=this.labelHeight-n),this.setHeight(this.labelHeight))}}},l.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==i.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},l.prototype.transform=function(e){var t=this.rect.x;t>o.WORLD_BOUNDARY?t=o.WORLD_BOUNDARY:t<-o.WORLD_BOUNDARY&&(t=-o.WORLD_BOUNDARY);var n=this.rect.y;n>o.WORLD_BOUNDARY?n=o.WORLD_BOUNDARY:n<-o.WORLD_BOUNDARY&&(n=-o.WORLD_BOUNDARY);var r=new c(t,n),i=e.inverseTransformPoint(r);this.setLocation(i.x,i.y)},l.prototype.getLeft=function(){return this.rect.x},l.prototype.getRight=function(){return this.rect.x+this.rect.width},l.prototype.getTop=function(){return this.rect.y},l.prototype.getBottom=function(){return this.rect.y+this.rect.height},l.prototype.getParent=function(){return null==this.owner?null:this.owner.getParent()},e.exports=l},function(e,t,n){function r(e,t){null==e&&null==t?(this.x=0,this.y=0):(this.x=e,this.y=t)}r.prototype.getX=function(){return this.x},r.prototype.getY=function(){return this.y},r.prototype.setX=function(e){this.x=e},r.prototype.setY=function(e){this.y=e},r.prototype.getDifference=function(e){return new DimensionD(this.x-e.x,this.y-e.y)},r.prototype.getCopy=function(){return new r(this.x,this.y)},r.prototype.translate=function(e){return this.x+=e.width,this.y+=e.height,this},e.exports=r},function(e,t,n){var r=n(2),i=n(10),a=n(0),o=n(6),s=n(3),c=n(1),l=n(13),u=n(12),h=n(11);function d(e,t,n){r.call(this,n),this.estimatedSize=i.MIN_VALUE,this.margin=a.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=e,null!=t&&t instanceof o?this.graphManager=t:null!=t&&t instanceof Layout&&(this.graphManager=t.graphManager)}for(var f in d.prototype=Object.create(r.prototype),r)d[f]=r[f];d.prototype.getNodes=function(){return this.nodes},d.prototype.getEdges=function(){return this.edges},d.prototype.getGraphManager=function(){return this.graphManager},d.prototype.getParent=function(){return this.parent},d.prototype.getLeft=function(){return this.left},d.prototype.getRight=function(){return this.right},d.prototype.getTop=function(){return this.top},d.prototype.getBottom=function(){return this.bottom},d.prototype.isConnected=function(){return this.isConnected},d.prototype.add=function(e,t,n){if(null==t&&null==n){var r=e;if(null==this.graphManager)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(r)>-1)throw"Node already in graph!";return r.owner=this,this.getNodes().push(r),r}var i=e;if(!(this.getNodes().indexOf(t)>-1&&this.getNodes().indexOf(n)>-1))throw"Source or target not in graph!";if(t.owner!=n.owner||t.owner!=this)throw"Both owners must be this graph!";return t.owner!=n.owner?null:(i.source=t,i.target=n,i.isInterGraph=!1,this.getEdges().push(i),t.edges.push(i),n!=t&&n.edges.push(i),i)},d.prototype.remove=function(e){var t=e;if(e instanceof s){if(null==t)throw"Node is null!";if(null==t.owner||t.owner!=this)throw"Owner graph is invalid!";if(null==this.graphManager)throw"Owner graph manager is invalid!";for(var n=t.edges.slice(),r=n.length,i=0;i<r;i++)(a=n[i]).isInterGraph?this.graphManager.remove(a):a.source.owner.remove(a);if(-1==(o=this.nodes.indexOf(t)))throw"Node not in owner node list!";this.nodes.splice(o,1)}else if(e instanceof c){var a;if(null==(a=e))throw"Edge is null!";if(null==a.source||null==a.target)throw"Source and/or target is null!";if(null==a.source.owner||null==a.target.owner||a.source.owner!=this||a.target.owner!=this)throw"Source and/or target owner is invalid!";var o,l=a.source.edges.indexOf(a),u=a.target.edges.indexOf(a);if(!(l>-1&&u>-1))throw"Source and/or target doesn't know this edge!";if(a.source.edges.splice(l,1),a.target!=a.source&&a.target.edges.splice(u,1),-1==(o=a.source.owner.getEdges().indexOf(a)))throw"Not in owner's edge list!";a.source.owner.getEdges().splice(o,1)}},d.prototype.updateLeftTop=function(){for(var e,t,n,r=i.MAX_VALUE,a=i.MAX_VALUE,o=this.getNodes(),s=o.length,c=0;c<s;c++){var l=o[c];r>(e=l.getTop())&&(r=e),a>(t=l.getLeft())&&(a=t)}return r==i.MAX_VALUE?null:(n=null!=o[0].getParent().paddingLeft?o[0].getParent().paddingLeft:this.margin,this.left=a-n,this.top=r-n,new u(this.left,this.top))},d.prototype.updateBounds=function(e){for(var t,n,r,a,o,s=i.MAX_VALUE,c=-i.MAX_VALUE,u=i.MAX_VALUE,h=-i.MAX_VALUE,d=this.nodes,f=d.length,p=0;p<f;p++){var m=d[p];e&&null!=m.child&&m.updateBounds(),s>(t=m.getLeft())&&(s=t),c<(n=m.getRight())&&(c=n),u>(r=m.getTop())&&(u=r),h<(a=m.getBottom())&&(h=a)}var g=new l(s,u,c-s,h-u);s==i.MAX_VALUE&&(this.left=this.parent.getLeft(),this.right=this.parent.getRight(),this.top=this.parent.getTop(),this.bottom=this.parent.getBottom()),o=null!=d[0].getParent().paddingLeft?d[0].getParent().paddingLeft:this.margin,this.left=g.x-o,this.right=g.x+g.width+o,this.top=g.y-o,this.bottom=g.y+g.height+o},d.calculateBounds=function(e){for(var t,n,r,a,o=i.MAX_VALUE,s=-i.MAX_VALUE,c=i.MAX_VALUE,u=-i.MAX_VALUE,h=e.length,d=0;d<h;d++){var f=e[d];o>(t=f.getLeft())&&(o=t),s<(n=f.getRight())&&(s=n),c>(r=f.getTop())&&(c=r),u<(a=f.getBottom())&&(u=a)}return new l(o,c,s-o,u-c)},d.prototype.getInclusionTreeDepth=function(){return this==this.graphManager.getRoot()?1:this.parent.getInclusionTreeDepth()},d.prototype.getEstimatedSize=function(){if(this.estimatedSize==i.MIN_VALUE)throw"assert failed";return this.estimatedSize},d.prototype.calcEstimatedSize=function(){for(var e=0,t=this.nodes,n=t.length,r=0;r<n;r++)e+=t[r].calcEstimatedSize();return this.estimatedSize=0==e?a.EMPTY_COMPOUND_NODE_SIZE:e/Math.sqrt(this.nodes.length),this.estimatedSize},d.prototype.updateConnected=function(){var e=this;if(0!=this.nodes.length){var t,n,r=new h,i=new Set,a=this.nodes[0];for(a.withChildren().forEach((function(e){r.push(e),i.add(e)}));0!==r.length;)for(var o=(t=(a=r.shift()).getEdges()).length,s=0;s<o;s++)null==(n=t[s].getOtherEndInGraph(a,this))||i.has(n)||n.withChildren().forEach((function(e){r.push(e),i.add(e)}));if(this.isConnected=!1,i.size>=this.nodes.length){var c=0;i.forEach((function(t){t.owner==e&&c++})),c==this.nodes.length&&(this.isConnected=!0)}}else this.isConnected=!0},e.exports=d},function(e,t,n){var r,i=n(1);function a(e){r=n(5),this.layout=e,this.graphs=[],this.edges=[]}a.prototype.addRoot=function(){var e=this.layout.newGraph(),t=this.layout.newNode(null),n=this.add(e,t);return this.setRootGraph(n),this.rootGraph},a.prototype.add=function(e,t,n,r,i){if(null==n&&null==r&&null==i){if(null==e)throw"Graph is null!";if(null==t)throw"Parent node is null!";if(this.graphs.indexOf(e)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(e),null!=e.parent)throw"Already has a parent!";if(null!=t.child)throw"Already has a child!";return e.parent=t,t.child=e,e}i=n,n=e;var a=(r=t).getOwner(),o=i.getOwner();if(null==a||a.getGraphManager()!=this)throw"Source not in this graph mgr!";if(null==o||o.getGraphManager()!=this)throw"Target not in this graph mgr!";if(a==o)return n.isInterGraph=!1,a.add(n,r,i);if(n.isInterGraph=!0,n.source=r,n.target=i,this.edges.indexOf(n)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(n),null==n.source||null==n.target)throw"Edge source and/or target is null!";if(-1!=n.source.edges.indexOf(n)||-1!=n.target.edges.indexOf(n))throw"Edge already in source and/or target incidency list!";return n.source.edges.push(n),n.target.edges.push(n),n},a.prototype.remove=function(e){if(e instanceof r){var t=e;if(t.getGraphManager()!=this)throw"Graph not in this graph mgr";if(t!=this.rootGraph&&(null==t.parent||t.parent.graphManager!=this))throw"Invalid parent node!";for(var n,a=[],o=(a=a.concat(t.getEdges())).length,s=0;s<o;s++)n=a[s],t.remove(n);var c,l=[];for(o=(l=l.concat(t.getNodes())).length,s=0;s<o;s++)c=l[s],t.remove(c);t==this.rootGraph&&this.setRootGraph(null);var u=this.graphs.indexOf(t);this.graphs.splice(u,1),t.parent=null}else if(e instanceof i){if(null==(n=e))throw"Edge is null!";if(!n.isInterGraph)throw"Not an inter-graph edge!";if(null==n.source||null==n.target)throw"Source and/or target is null!";if(-1==n.source.edges.indexOf(n)||-1==n.target.edges.indexOf(n))throw"Source and/or target doesn't know this edge!";if(u=n.source.edges.indexOf(n),n.source.edges.splice(u,1),u=n.target.edges.indexOf(n),n.target.edges.splice(u,1),null==n.source.owner||null==n.source.owner.getGraphManager())throw"Edge owner graph or owner graph manager is null!";if(-1==n.source.owner.getGraphManager().edges.indexOf(n))throw"Not in owner graph manager's edge list!";u=n.source.owner.getGraphManager().edges.indexOf(n),n.source.owner.getGraphManager().edges.splice(u,1)}},a.prototype.updateBounds=function(){this.rootGraph.updateBounds(!0)},a.prototype.getGraphs=function(){return this.graphs},a.prototype.getAllNodes=function(){if(null==this.allNodes){for(var e=[],t=this.getGraphs(),n=t.length,r=0;r<n;r++)e=e.concat(t[r].getNodes());this.allNodes=e}return this.allNodes},a.prototype.resetAllNodes=function(){this.allNodes=null},a.prototype.resetAllEdges=function(){this.allEdges=null},a.prototype.resetAllNodesToApplyGravitation=function(){this.allNodesToApplyGravitation=null},a.prototype.getAllEdges=function(){if(null==this.allEdges){var e=[],t=this.getGraphs();t.length;for(var n=0;n<t.length;n++)e=e.concat(t[n].getEdges());e=e.concat(this.edges),this.allEdges=e}return this.allEdges},a.prototype.getAllNodesToApplyGravitation=function(){return this.allNodesToApplyGravitation},a.prototype.setAllNodesToApplyGravitation=function(e){if(null!=this.allNodesToApplyGravitation)throw"assert failed";this.allNodesToApplyGravitation=e},a.prototype.getRoot=function(){return this.rootGraph},a.prototype.setRootGraph=function(e){if(e.getGraphManager()!=this)throw"Root not in this graph mgr!";this.rootGraph=e,null==e.parent&&(e.parent=this.layout.newNode("Root node"))},a.prototype.getLayout=function(){return this.layout},a.prototype.isOneAncestorOfOther=function(e,t){if(null==e||null==t)throw"assert failed";if(e==t)return!0;for(var n,r=e.getOwner();null!=(n=r.getParent());){if(n==t)return!0;if(null==(r=n.getOwner()))break}for(r=t.getOwner();null!=(n=r.getParent());){if(n==e)return!0;if(null==(r=n.getOwner()))break}return!1},a.prototype.calcLowestCommonAncestors=function(){for(var e,t,n,r,i,a=this.getAllEdges(),o=a.length,s=0;s<o;s++)if(t=(e=a[s]).source,n=e.target,e.lca=null,e.sourceInLca=t,e.targetInLca=n,t!=n){for(r=t.getOwner();null==e.lca;){for(e.targetInLca=n,i=n.getOwner();null==e.lca;){if(i==r){e.lca=i;break}if(i==this.rootGraph)break;if(null!=e.lca)throw"assert failed";e.targetInLca=i.getParent(),i=e.targetInLca.getOwner()}if(r==this.rootGraph)break;null==e.lca&&(e.sourceInLca=r.getParent(),r=e.sourceInLca.getOwner())}if(null==e.lca)throw"assert failed"}else e.lca=t.getOwner()},a.prototype.calcLowestCommonAncestor=function(e,t){if(e==t)return e.getOwner();for(var n=e.getOwner();null!=n;){for(var r=t.getOwner();null!=r;){if(r==n)return r;r=r.getParent().getOwner()}n=n.getParent().getOwner()}return n},a.prototype.calcInclusionTreeDepths=function(e,t){var n;null==e&&null==t&&(e=this.rootGraph,t=1);for(var r=e.getNodes(),i=r.length,a=0;a<i;a++)(n=r[a]).inclusionTreeDepth=t,null!=n.child&&this.calcInclusionTreeDepths(n.child,t+1)},a.prototype.includesInvalidEdge=function(){for(var e,t=this.edges.length,n=0;n<t;n++)if(e=this.edges[n],this.isOneAncestorOfOther(e.source,e.target))return!0;return!1},e.exports=a},function(e,t,n){var r=n(0);function i(){}for(var a in r)i[a]=r[a];i.MAX_ITERATIONS=2500,i.DEFAULT_EDGE_LENGTH=50,i.DEFAULT_SPRING_STRENGTH=.45,i.DEFAULT_REPULSION_STRENGTH=4500,i.DEFAULT_GRAVITY_STRENGTH=.4,i.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,i.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,i.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,i.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,i.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,i.COOLING_ADAPTATION_FACTOR=.33,i.ADAPTATION_LOWER_NODE_LIMIT=1e3,i.ADAPTATION_UPPER_NODE_LIMIT=5e3,i.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,i.MAX_NODE_DISPLACEMENT=3*i.MAX_NODE_DISPLACEMENT_INCREMENTAL,i.MIN_REPULSION_DIST=i.DEFAULT_EDGE_LENGTH/10,i.CONVERGENCE_CHECK_PERIOD=100,i.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,i.MIN_EDGE_LENGTH=1,i.GRID_CALCULATION_CHECK_PERIOD=10,e.exports=i},function(e,t,n){var r=n(12);function i(){}i.calcSeparationAmount=function(e,t,n,r){if(!e.intersects(t))throw"assert failed";var i=new Array(2);this.decideDirectionsForOverlappingNodes(e,t,i),n[0]=Math.min(e.getRight(),t.getRight())-Math.max(e.x,t.x),n[1]=Math.min(e.getBottom(),t.getBottom())-Math.max(e.y,t.y),e.getX()<=t.getX()&&e.getRight()>=t.getRight()?n[0]+=Math.min(t.getX()-e.getX(),e.getRight()-t.getRight()):t.getX()<=e.getX()&&t.getRight()>=e.getRight()&&(n[0]+=Math.min(e.getX()-t.getX(),t.getRight()-e.getRight())),e.getY()<=t.getY()&&e.getBottom()>=t.getBottom()?n[1]+=Math.min(t.getY()-e.getY(),e.getBottom()-t.getBottom()):t.getY()<=e.getY()&&t.getBottom()>=e.getBottom()&&(n[1]+=Math.min(e.getY()-t.getY(),t.getBottom()-e.getBottom()));var a=Math.abs((t.getCenterY()-e.getCenterY())/(t.getCenterX()-e.getCenterX()));t.getCenterY()===e.getCenterY()&&t.getCenterX()===e.getCenterX()&&(a=1);var o=a*n[0],s=n[1]/a;n[0]<s?s=n[0]:o=n[1],n[0]=-1*i[0]*(s/2+r),n[1]=-1*i[1]*(o/2+r)},i.decideDirectionsForOverlappingNodes=function(e,t,n){e.getCenterX()<t.getCenterX()?n[0]=-1:n[0]=1,e.getCenterY()<t.getCenterY()?n[1]=-1:n[1]=1},i.getIntersection2=function(e,t,n){var r=e.getCenterX(),i=e.getCenterY(),a=t.getCenterX(),o=t.getCenterY();if(e.intersects(t))return n[0]=r,n[1]=i,n[2]=a,n[3]=o,!0;var s=e.getX(),c=e.getY(),l=e.getRight(),u=e.getX(),h=e.getBottom(),d=e.getRight(),f=e.getWidthHalf(),p=e.getHeightHalf(),m=t.getX(),g=t.getY(),b=t.getRight(),y=t.getX(),v=t.getBottom(),w=t.getRight(),x=t.getWidthHalf(),k=t.getHeightHalf(),S=!1,E=!1;if(r===a){if(i>o)return n[0]=r,n[1]=c,n[2]=a,n[3]=v,!1;if(i<o)return n[0]=r,n[1]=h,n[2]=a,n[3]=g,!1}else if(i===o){if(r>a)return n[0]=s,n[1]=i,n[2]=b,n[3]=o,!1;if(r<a)return n[0]=l,n[1]=i,n[2]=m,n[3]=o,!1}else{var _=e.height/e.width,A=t.height/t.width,T=(o-i)/(a-r),C=void 0,O=void 0,D=void 0,M=void 0,I=void 0,P=void 0;if(-_===T?r>a?(n[0]=u,n[1]=h,S=!0):(n[0]=l,n[1]=c,S=!0):_===T&&(r>a?(n[0]=s,n[1]=c,S=!0):(n[0]=d,n[1]=h,S=!0)),-A===T?a>r?(n[2]=y,n[3]=v,E=!0):(n[2]=b,n[3]=g,E=!0):A===T&&(a>r?(n[2]=m,n[3]=g,E=!0):(n[2]=w,n[3]=v,E=!0)),S&&E)return!1;if(r>a?i>o?(C=this.getCardinalDirection(_,T,4),O=this.getCardinalDirection(A,T,2)):(C=this.getCardinalDirection(-_,T,3),O=this.getCardinalDirection(-A,T,1)):i>o?(C=this.getCardinalDirection(-_,T,1),O=this.getCardinalDirection(-A,T,3)):(C=this.getCardinalDirection(_,T,2),O=this.getCardinalDirection(A,T,4)),!S)switch(C){case 1:M=c,D=r+-p/T,n[0]=D,n[1]=M;break;case 2:D=d,M=i+f*T,n[0]=D,n[1]=M;break;case 3:M=h,D=r+p/T,n[0]=D,n[1]=M;break;case 4:D=u,M=i+-f*T,n[0]=D,n[1]=M}if(!E)switch(O){case 1:P=g,I=a+-k/T,n[2]=I,n[3]=P;break;case 2:I=w,P=o+x*T,n[2]=I,n[3]=P;break;case 3:P=v,I=a+k/T,n[2]=I,n[3]=P;break;case 4:I=y,P=o+-x*T,n[2]=I,n[3]=P}}return!1},i.getCardinalDirection=function(e,t,n){return e>t?n:1+n%4},i.getIntersection=function(e,t,n,i){if(null==i)return this.getIntersection2(e,t,n);var a,o,s,c,l,u,h,d=e.x,f=e.y,p=t.x,m=t.y,g=n.x,b=n.y,y=i.x,v=i.y;return 0==(h=(a=m-f)*(c=g-y)-(o=v-b)*(s=d-p))?null:new r((s*(u=y*b-g*v)-c*(l=p*f-d*m))/h,(o*l-a*u)/h)},i.angleOfVector=function(e,t,n,r){var i=void 0;return e!==n?(i=Math.atan((r-t)/(n-e)),n<e?i+=Math.PI:r<t&&(i+=this.TWO_PI)):i=r<t?this.ONE_AND_HALF_PI:this.HALF_PI,i},i.doIntersect=function(e,t,n,r){var i=e.x,a=e.y,o=t.x,s=t.y,c=n.x,l=n.y,u=r.x,h=r.y,d=(o-i)*(h-l)-(u-c)*(s-a);if(0===d)return!1;var f=((h-l)*(u-i)+(c-u)*(h-a))/d,p=((a-s)*(u-i)+(o-i)*(h-a))/d;return 0<f&&f<1&&0<p&&p<1},i.HALF_PI=.5*Math.PI,i.ONE_AND_HALF_PI=1.5*Math.PI,i.TWO_PI=2*Math.PI,i.THREE_PI=3*Math.PI,e.exports=i},function(e,t,n){function r(){}r.sign=function(e){return e>0?1:e<0?-1:0},r.floor=function(e){return e<0?Math.ceil(e):Math.floor(e)},r.ceil=function(e){return e<0?Math.floor(e):Math.ceil(e)},e.exports=r},function(e,t,n){function r(){}r.MAX_VALUE=2147483647,r.MIN_VALUE=-2147483648,e.exports=r},function(e,t,n){var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(e){return{value:e,next:null,prev:null}},a=function(e,t,n,r){return null!==e?e.next=t:r.head=t,null!==n?n.prev=t:r.tail=t,t.prev=e,t.next=n,r.length++,t},o=function(e,t){var n=e.prev,r=e.next;return null!==n?n.next=r:t.head=r,null!==r?r.prev=n:t.tail=n,e.prev=e.next=null,t.length--,e},s=function(){function e(t){var n=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.length=0,this.head=null,this.tail=null,null!=t&&t.forEach((function(e){return n.push(e)}))}return r(e,[{key:"size",value:function(){return this.length}},{key:"insertBefore",value:function(e,t){return a(t.prev,i(e),t,this)}},{key:"insertAfter",value:function(e,t){return a(t,i(e),t.next,this)}},{key:"insertNodeBefore",value:function(e,t){return a(t.prev,e,t,this)}},{key:"insertNodeAfter",value:function(e,t){return a(t,e,t.next,this)}},{key:"push",value:function(e){return a(this.tail,i(e),null,this)}},{key:"unshift",value:function(e){return a(null,i(e),this.head,this)}},{key:"remove",value:function(e){return o(e,this)}},{key:"pop",value:function(){return o(this.tail,this).value}},{key:"popNode",value:function(){return o(this.tail,this)}},{key:"shift",value:function(){return o(this.head,this).value}},{key:"shiftNode",value:function(){return o(this.head,this)}},{key:"get_object_at",value:function(e){if(e<=this.length()){for(var t=1,n=this.head;t<e;)n=n.next,t++;return n.value}}},{key:"set_object_at",value:function(e,t){if(e<=this.length()){for(var n=1,r=this.head;n<e;)r=r.next,n++;r.value=t}}}]),e}();e.exports=s},function(e,t,n){function r(e,t,n){this.x=null,this.y=null,null==e&&null==t&&null==n?(this.x=0,this.y=0):"number"==typeof e&&"number"==typeof t&&null==n?(this.x=e,this.y=t):"Point"==e.constructor.name&&null==t&&null==n&&(n=e,this.x=n.x,this.y=n.y)}r.prototype.getX=function(){return this.x},r.prototype.getY=function(){return this.y},r.prototype.getLocation=function(){return new r(this.x,this.y)},r.prototype.setLocation=function(e,t,n){"Point"==e.constructor.name&&null==t&&null==n?(n=e,this.setLocation(n.x,n.y)):"number"==typeof e&&"number"==typeof t&&null==n&&(parseInt(e)==e&&parseInt(t)==t?this.move(e,t):(this.x=Math.floor(e+.5),this.y=Math.floor(t+.5)))},r.prototype.move=function(e,t){this.x=e,this.y=t},r.prototype.translate=function(e,t){this.x+=e,this.y+=t},r.prototype.equals=function(e){if("Point"==e.constructor.name){var t=e;return this.x==t.x&&this.y==t.y}return this==e},r.prototype.toString=function(){return(new r).constructor.name+"[x="+this.x+",y="+this.y+"]"},e.exports=r},function(e,t,n){function r(e,t,n,r){this.x=0,this.y=0,this.width=0,this.height=0,null!=e&&null!=t&&null!=n&&null!=r&&(this.x=e,this.y=t,this.width=n,this.height=r)}r.prototype.getX=function(){return this.x},r.prototype.setX=function(e){this.x=e},r.prototype.getY=function(){return this.y},r.prototype.setY=function(e){this.y=e},r.prototype.getWidth=function(){return this.width},r.prototype.setWidth=function(e){this.width=e},r.prototype.getHeight=function(){return this.height},r.prototype.setHeight=function(e){this.height=e},r.prototype.getRight=function(){return this.x+this.width},r.prototype.getBottom=function(){return this.y+this.height},r.prototype.intersects=function(e){return!(this.getRight()<e.x||this.getBottom()<e.y||e.getRight()<this.x||e.getBottom()<this.y)},r.prototype.getCenterX=function(){return this.x+this.width/2},r.prototype.getMinX=function(){return this.getX()},r.prototype.getMaxX=function(){return this.getX()+this.width},r.prototype.getCenterY=function(){return this.y+this.height/2},r.prototype.getMinY=function(){return this.getY()},r.prototype.getMaxY=function(){return this.getY()+this.height},r.prototype.getWidthHalf=function(){return this.width/2},r.prototype.getHeightHalf=function(){return this.height/2},e.exports=r},function(e,t,n){var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};function i(){}i.lastID=0,i.createID=function(e){return i.isPrimitive(e)?e:(null!=e.uniqueID||(e.uniqueID=i.getString(),i.lastID++),e.uniqueID)},i.getString=function(e){return null==e&&(e=i.lastID),"Object#"+e},i.isPrimitive=function(e){var t=void 0===e?"undefined":r(e);return null==e||"object"!=t&&"function"!=t},e.exports=i},function(e,t,n){function r(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var i=n(0),a=n(6),o=n(3),s=n(1),c=n(5),l=n(4),u=n(17),h=n(27);function d(e){h.call(this),this.layoutQuality=i.QUALITY,this.createBendsAsNeeded=i.DEFAULT_CREATE_BENDS_AS_NEEDED,this.incremental=i.DEFAULT_INCREMENTAL,this.animationOnLayout=i.DEFAULT_ANIMATION_ON_LAYOUT,this.animationDuringLayout=i.DEFAULT_ANIMATION_DURING_LAYOUT,this.animationPeriod=i.DEFAULT_ANIMATION_PERIOD,this.uniformLeafNodeSizes=i.DEFAULT_UNIFORM_LEAF_NODE_SIZES,this.edgeToDummyNodes=new Map,this.graphManager=new a(this),this.isLayoutFinished=!1,this.isSubLayout=!1,this.isRemoteUse=!1,null!=e&&(this.isRemoteUse=e)}d.RANDOM_SEED=1,d.prototype=Object.create(h.prototype),d.prototype.getGraphManager=function(){return this.graphManager},d.prototype.getAllNodes=function(){return this.graphManager.getAllNodes()},d.prototype.getAllEdges=function(){return this.graphManager.getAllEdges()},d.prototype.getAllNodesToApplyGravitation=function(){return this.graphManager.getAllNodesToApplyGravitation()},d.prototype.newGraphManager=function(){var e=new a(this);return this.graphManager=e,e},d.prototype.newGraph=function(e){return new c(null,this.graphManager,e)},d.prototype.newNode=function(e){return new o(this.graphManager,e)},d.prototype.newEdge=function(e){return new s(null,null,e)},d.prototype.checkLayoutSuccess=function(){return null==this.graphManager.getRoot()||0==this.graphManager.getRoot().getNodes().length||this.graphManager.includesInvalidEdge()},d.prototype.runLayout=function(){var e;return this.isLayoutFinished=!1,this.tilingPreLayout&&this.tilingPreLayout(),this.initParameters(),e=!this.checkLayoutSuccess()&&this.layout(),"during"!==i.ANIMATE&&(e&&(this.isSubLayout||this.doPostLayout()),this.tilingPostLayout&&this.tilingPostLayout(),this.isLayoutFinished=!0,e)},d.prototype.doPostLayout=function(){this.incremental||this.transform(),this.update()},d.prototype.update2=function(){if(this.createBendsAsNeeded&&(this.createBendpointsFromDummyNodes(),this.graphManager.resetAllEdges()),!this.isRemoteUse){for(var e=this.graphManager.getAllEdges(),t=0;t<e.length;t++)e[t];var n=this.graphManager.getRoot().getNodes();for(t=0;t<n.length;t++)n[t];this.update(this.graphManager.getRoot())}},d.prototype.update=function(e){if(null==e)this.update2();else if(e instanceof o){var t=e;if(null!=t.getChild())for(var n=t.getChild().getNodes(),r=0;r<n.length;r++)update(n[r]);null!=t.vGraphObject&&t.vGraphObject.update(t)}else if(e instanceof s){var i=e;null!=i.vGraphObject&&i.vGraphObject.update(i)}else if(e instanceof c){var a=e;null!=a.vGraphObject&&a.vGraphObject.update(a)}},d.prototype.initParameters=function(){this.isSubLayout||(this.layoutQuality=i.QUALITY,this.animationDuringLayout=i.DEFAULT_ANIMATION_DURING_LAYOUT,this.animationPeriod=i.DEFAULT_ANIMATION_PERIOD,this.animationOnLayout=i.DEFAULT_ANIMATION_ON_LAYOUT,this.incremental=i.DEFAULT_INCREMENTAL,this.createBendsAsNeeded=i.DEFAULT_CREATE_BENDS_AS_NEEDED,this.uniformLeafNodeSizes=i.DEFAULT_UNIFORM_LEAF_NODE_SIZES),this.animationDuringLayout&&(this.animationOnLayout=!1)},d.prototype.transform=function(e){if(null==e)this.transform(new l(0,0));else{var t=new u,n=this.graphManager.getRoot().updateLeftTop();if(null!=n){t.setWorldOrgX(e.x),t.setWorldOrgY(e.y),t.setDeviceOrgX(n.x),t.setDeviceOrgY(n.y);for(var r=this.getAllNodes(),i=0;i<r.length;i++)r[i].transform(t)}}},d.prototype.positionNodesRandomly=function(e){if(null==e)this.positionNodesRandomly(this.getGraphManager().getRoot()),this.getGraphManager().getRoot().updateBounds(!0);else for(var t,n,r=e.getNodes(),i=0;i<r.length;i++)null==(n=(t=r[i]).getChild())||0==n.getNodes().length?t.scatter():(this.positionNodesRandomly(n),t.updateBounds())},d.prototype.getFlatForest=function(){for(var e=[],t=!0,n=this.graphManager.getRoot().getNodes(),i=!0,a=0;a<n.length;a++)null!=n[a].getChild()&&(i=!1);if(!i)return e;var o=new Set,s=[],c=new Map,l=[];for(l=l.concat(n);l.length>0&&t;){for(s.push(l[0]);s.length>0&&t;){var u=s[0];s.splice(0,1),o.add(u);var h=u.getEdges();for(a=0;a<h.length;a++){var d=h[a].getOtherEnd(u);if(c.get(u)!=d){if(o.has(d)){t=!1;break}s.push(d),c.set(d,u)}}}if(t){var f=[].concat(r(o));for(e.push(f),a=0;a<f.length;a++){var p=f[a],m=l.indexOf(p);m>-1&&l.splice(m,1)}o=new Set,c=new Map}else e=[]}return e},d.prototype.createDummyNodesForBendpoints=function(e){for(var t=[],n=e.source,r=this.graphManager.calcLowestCommonAncestor(e.source,e.target),i=0;i<e.bendpoints.length;i++){var a=this.newNode(null);a.setRect(new Point(0,0),new Dimension(1,1)),r.add(a);var o=this.newEdge(null);this.graphManager.add(o,n,a),t.add(a),n=a}return o=this.newEdge(null),this.graphManager.add(o,n,e.target),this.edgeToDummyNodes.set(e,t),e.isInterGraph()?this.graphManager.remove(e):r.remove(e),t},d.prototype.createBendpointsFromDummyNodes=function(){var e=[];e=e.concat(this.graphManager.getAllEdges()),e=[].concat(r(this.edgeToDummyNodes.keys())).concat(e);for(var t=0;t<e.length;t++){var n=e[t];if(n.bendpoints.length>0){for(var i=this.edgeToDummyNodes.get(n),a=0;a<i.length;a++){var o=i[a],s=new l(o.getCenterX(),o.getCenterY()),c=n.bendpoints.get(a);c.x=s.x,c.y=s.y,o.getOwner().remove(o)}this.graphManager.add(n,n.source,n.target)}}},d.transform=function(e,t,n,r){if(null!=n&&null!=r){var i=t;return e<=50?i-=(t-t/n)/50*(50-e):i+=(t*r-t)/50*(e-50),i}var a,o;return e<=50?(a=9*t/500,o=t/10):(a=9*t/50,o=-8*t),a*e+o},d.findCenterOfTree=function(e){var t=[];t=t.concat(e);var n=[],r=new Map,i=!1,a=null;1!=t.length&&2!=t.length||(i=!0,a=t[0]);for(var o=0;o<t.length;o++){var s=(u=t[o]).getNeighborsList().size;r.set(u,u.getNeighborsList().size),1==s&&n.push(u)}var c=[];for(c=c.concat(n);!i;){var l=[];for(l=l.concat(c),c=[],o=0;o<t.length;o++){var u=t[o],h=t.indexOf(u);h>=0&&t.splice(h,1),u.getNeighborsList().forEach((function(e){if(n.indexOf(e)<0){var t=r.get(e)-1;1==t&&c.push(e),r.set(e,t)}}))}n=n.concat(c),1!=t.length&&2!=t.length||(i=!0,a=t[0])}return a},d.prototype.setGraphManager=function(e){this.graphManager=e},e.exports=d},function(e,t,n){function r(){}r.seed=1,r.x=0,r.nextDouble=function(){return r.x=1e4*Math.sin(r.seed++),r.x-Math.floor(r.x)},e.exports=r},function(e,t,n){var r=n(4);function i(e,t){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}i.prototype.getWorldOrgX=function(){return this.lworldOrgX},i.prototype.setWorldOrgX=function(e){this.lworldOrgX=e},i.prototype.getWorldOrgY=function(){return this.lworldOrgY},i.prototype.setWorldOrgY=function(e){this.lworldOrgY=e},i.prototype.getWorldExtX=function(){return this.lworldExtX},i.prototype.setWorldExtX=function(e){this.lworldExtX=e},i.prototype.getWorldExtY=function(){return this.lworldExtY},i.prototype.setWorldExtY=function(e){this.lworldExtY=e},i.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},i.prototype.setDeviceOrgX=function(e){this.ldeviceOrgX=e},i.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},i.prototype.setDeviceOrgY=function(e){this.ldeviceOrgY=e},i.prototype.getDeviceExtX=function(){return this.ldeviceExtX},i.prototype.setDeviceExtX=function(e){this.ldeviceExtX=e},i.prototype.getDeviceExtY=function(){return this.ldeviceExtY},i.prototype.setDeviceExtY=function(e){this.ldeviceExtY=e},i.prototype.transformX=function(e){var t=0,n=this.lworldExtX;return 0!=n&&(t=this.ldeviceOrgX+(e-this.lworldOrgX)*this.ldeviceExtX/n),t},i.prototype.transformY=function(e){var t=0,n=this.lworldExtY;return 0!=n&&(t=this.ldeviceOrgY+(e-this.lworldOrgY)*this.ldeviceExtY/n),t},i.prototype.inverseTransformX=function(e){var t=0,n=this.ldeviceExtX;return 0!=n&&(t=this.lworldOrgX+(e-this.ldeviceOrgX)*this.lworldExtX/n),t},i.prototype.inverseTransformY=function(e){var t=0,n=this.ldeviceExtY;return 0!=n&&(t=this.lworldOrgY+(e-this.ldeviceOrgY)*this.lworldExtY/n),t},i.prototype.inverseTransformPoint=function(e){return new r(this.inverseTransformX(e.x),this.inverseTransformY(e.y))},e.exports=i},function(e,t,n){var r=n(15),i=n(7),a=n(0),o=n(8),s=n(9);function c(){r.call(this),this.useSmartIdealEdgeLengthCalculation=i.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.idealEdgeLength=i.DEFAULT_EDGE_LENGTH,this.springConstant=i.DEFAULT_SPRING_STRENGTH,this.repulsionConstant=i.DEFAULT_REPULSION_STRENGTH,this.gravityConstant=i.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=i.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=i.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.displacementThresholdPerNode=3*i.DEFAULT_EDGE_LENGTH/100,this.coolingFactor=i.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.initialCoolingFactor=i.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.totalDisplacement=0,this.oldTotalDisplacement=0,this.maxIterations=i.MAX_ITERATIONS}for(var l in c.prototype=Object.create(r.prototype),r)c[l]=r[l];c.prototype.initParameters=function(){r.prototype.initParameters.call(this,arguments),this.totalIterations=0,this.notAnimatedIterations=0,this.useFRGridVariant=i.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION,this.grid=[]},c.prototype.calcIdealEdgeLengths=function(){for(var e,t,n,r,o,s,c=this.getGraphManager().getAllEdges(),l=0;l<c.length;l++)(e=c[l]).idealLength=this.idealEdgeLength,e.isInterGraph&&(n=e.getSource(),r=e.getTarget(),o=e.getSourceInLca().getEstimatedSize(),s=e.getTargetInLca().getEstimatedSize(),this.useSmartIdealEdgeLengthCalculation&&(e.idealLength+=o+s-2*a.SIMPLE_NODE_SIZE),t=e.getLca().getInclusionTreeDepth(),e.idealLength+=i.DEFAULT_EDGE_LENGTH*i.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR*(n.getInclusionTreeDepth()+r.getInclusionTreeDepth()-2*t))},c.prototype.initSpringEmbedder=function(){var e=this.getAllNodes().length;this.incremental?(e>i.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*i.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(e-i.ADAPTATION_LOWER_NODE_LIMIT)/(i.ADAPTATION_UPPER_NODE_LIMIT-i.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-i.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=i.MAX_NODE_DISPLACEMENT_INCREMENTAL):(e>i.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(i.COOLING_ADAPTATION_FACTOR,1-(e-i.ADAPTATION_LOWER_NODE_LIMIT)/(i.ADAPTATION_UPPER_NODE_LIMIT-i.ADAPTATION_LOWER_NODE_LIMIT)*(1-i.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=i.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(5*this.getAllNodes().length,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},c.prototype.calcSpringForces=function(){for(var e,t=this.getAllEdges(),n=0;n<t.length;n++)e=t[n],this.calcSpringForce(e,e.idealLength)},c.prototype.calcRepulsionForces=function(){var e,t,n,r,a,o=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],s=arguments.length>1&&void 0!==arguments[1]&&arguments[1],c=this.getAllNodes();if(this.useFRGridVariant)for(this.totalIterations%i.GRID_CALCULATION_CHECK_PERIOD==1&&o&&this.updateGrid(),a=new Set,e=0;e<c.length;e++)n=c[e],this.calculateRepulsionForceOfANode(n,a,o,s),a.add(n);else for(e=0;e<c.length;e++)for(n=c[e],t=e+1;t<c.length;t++)r=c[t],n.getOwner()==r.getOwner()&&this.calcRepulsionForce(n,r)},c.prototype.calcGravitationalForces=function(){for(var e,t=this.getAllNodesToApplyGravitation(),n=0;n<t.length;n++)e=t[n],this.calcGravitationalForce(e)},c.prototype.moveNodes=function(){for(var e=this.getAllNodes(),t=0;t<e.length;t++)e[t].move()},c.prototype.calcSpringForce=function(e,t){var n,r,i,a,o=e.getSource(),s=e.getTarget();if(this.uniformLeafNodeSizes&&null==o.getChild()&&null==s.getChild())e.updateLengthSimple();else if(e.updateLength(),e.isOverlapingSourceAndTarget)return;0!=(n=e.getLength())&&(i=(r=this.springConstant*(n-t))*(e.lengthX/n),a=r*(e.lengthY/n),o.springForceX+=i,o.springForceY+=a,s.springForceX-=i,s.springForceY-=a)},c.prototype.calcRepulsionForce=function(e,t){var n,r,a,c,l,u,h,d=e.getRect(),f=t.getRect(),p=new Array(2),m=new Array(4);if(d.intersects(f)){o.calcSeparationAmount(d,f,p,i.DEFAULT_EDGE_LENGTH/2),u=2*p[0],h=2*p[1];var g=e.noOfChildren*t.noOfChildren/(e.noOfChildren+t.noOfChildren);e.repulsionForceX-=g*u,e.repulsionForceY-=g*h,t.repulsionForceX+=g*u,t.repulsionForceY+=g*h}else this.uniformLeafNodeSizes&&null==e.getChild()&&null==t.getChild()?(n=f.getCenterX()-d.getCenterX(),r=f.getCenterY()-d.getCenterY()):(o.getIntersection(d,f,m),n=m[2]-m[0],r=m[3]-m[1]),Math.abs(n)<i.MIN_REPULSION_DIST&&(n=s.sign(n)*i.MIN_REPULSION_DIST),Math.abs(r)<i.MIN_REPULSION_DIST&&(r=s.sign(r)*i.MIN_REPULSION_DIST),a=n*n+r*r,c=Math.sqrt(a),u=(l=this.repulsionConstant*e.noOfChildren*t.noOfChildren/a)*n/c,h=l*r/c,e.repulsionForceX-=u,e.repulsionForceY-=h,t.repulsionForceX+=u,t.repulsionForceY+=h},c.prototype.calcGravitationalForce=function(e){var t,n,r,i,a,o,s,c;n=((t=e.getOwner()).getRight()+t.getLeft())/2,r=(t.getTop()+t.getBottom())/2,i=e.getCenterX()-n,a=e.getCenterY()-r,o=Math.abs(i)+e.getWidth()/2,s=Math.abs(a)+e.getHeight()/2,e.getOwner()==this.graphManager.getRoot()?(o>(c=t.getEstimatedSize()*this.gravityRangeFactor)||s>c)&&(e.gravitationForceX=-this.gravityConstant*i,e.gravitationForceY=-this.gravityConstant*a):(o>(c=t.getEstimatedSize()*this.compoundGravityRangeFactor)||s>c)&&(e.gravitationForceX=-this.gravityConstant*i*this.compoundGravityConstant,e.gravitationForceY=-this.gravityConstant*a*this.compoundGravityConstant)},c.prototype.isConverged=function(){var e,t=!1;return this.totalIterations>this.maxIterations/3&&(t=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),e=this.totalDisplacement<this.totalDisplacementThreshold,this.oldTotalDisplacement=this.totalDisplacement,e||t},c.prototype.animate=function(){this.animationDuringLayout&&!this.isSubLayout&&(this.notAnimatedIterations==this.animationPeriod?(this.update(),this.notAnimatedIterations=0):this.notAnimatedIterations++)},c.prototype.calcNoOfChildrenForAllNodes=function(){for(var e,t=this.graphManager.getAllNodes(),n=0;n<t.length;n++)(e=t[n]).noOfChildren=e.getNoOfChildren()},c.prototype.calcGrid=function(e){var t,n;t=parseInt(Math.ceil((e.getRight()-e.getLeft())/this.repulsionRange)),n=parseInt(Math.ceil((e.getBottom()-e.getTop())/this.repulsionRange));for(var r=new Array(t),i=0;i<t;i++)r[i]=new Array(n);for(i=0;i<t;i++)for(var a=0;a<n;a++)r[i][a]=new Array;return r},c.prototype.addNodeToGrid=function(e,t,n){var r,i,a,o;r=parseInt(Math.floor((e.getRect().x-t)/this.repulsionRange)),i=parseInt(Math.floor((e.getRect().width+e.getRect().x-t)/this.repulsionRange)),a=parseInt(Math.floor((e.getRect().y-n)/this.repulsionRange)),o=parseInt(Math.floor((e.getRect().height+e.getRect().y-n)/this.repulsionRange));for(var s=r;s<=i;s++)for(var c=a;c<=o;c++)this.grid[s][c].push(e),e.setGridCoordinates(r,i,a,o)},c.prototype.updateGrid=function(){var e,t,n=this.getAllNodes();for(this.grid=this.calcGrid(this.graphManager.getRoot()),e=0;e<n.length;e++)t=n[e],this.addNodeToGrid(t,this.graphManager.getRoot().getLeft(),this.graphManager.getRoot().getTop())},c.prototype.calculateRepulsionForceOfANode=function(e,t,n,r){if(this.totalIterations%i.GRID_CALCULATION_CHECK_PERIOD==1&&n||r){var a,o=new Set;e.surrounding=new Array;for(var s=this.grid,c=e.startX-1;c<e.finishX+2;c++)for(var l=e.startY-1;l<e.finishY+2;l++)if(!(c<0||l<0||c>=s.length||l>=s[0].length))for(var u=0;u<s[c][l].length;u++)if(a=s[c][l][u],e.getOwner()==a.getOwner()&&e!=a&&!t.has(a)&&!o.has(a)){var h=Math.abs(e.getCenterX()-a.getCenterX())-(e.getWidth()/2+a.getWidth()/2),d=Math.abs(e.getCenterY()-a.getCenterY())-(e.getHeight()/2+a.getHeight()/2);h<=this.repulsionRange&&d<=this.repulsionRange&&o.add(a)}e.surrounding=[].concat(function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}(o))}for(c=0;c<e.surrounding.length;c++)this.calcRepulsionForce(e,e.surrounding[c])},c.prototype.calcRepulsionRange=function(){return 0},e.exports=c},function(e,t,n){var r=n(1),i=n(7);function a(e,t,n){r.call(this,e,t,n),this.idealLength=i.DEFAULT_EDGE_LENGTH}for(var o in a.prototype=Object.create(r.prototype),r)a[o]=r[o];e.exports=a},function(e,t,n){var r=n(3);function i(e,t,n,i){r.call(this,e,t,n,i),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0,this.startX=0,this.finishX=0,this.startY=0,this.finishY=0,this.surrounding=[]}for(var a in i.prototype=Object.create(r.prototype),r)i[a]=r[a];i.prototype.setGridCoordinates=function(e,t,n,r){this.startX=e,this.finishX=t,this.startY=n,this.finishY=r},e.exports=i},function(e,t,n){function r(e,t){this.width=0,this.height=0,null!==e&&null!==t&&(this.height=t,this.width=e)}r.prototype.getWidth=function(){return this.width},r.prototype.setWidth=function(e){this.width=e},r.prototype.getHeight=function(){return this.height},r.prototype.setHeight=function(e){this.height=e},e.exports=r},function(e,t,n){var r=n(14);function i(){this.map={},this.keys=[]}i.prototype.put=function(e,t){var n=r.createID(e);this.contains(n)||(this.map[n]=t,this.keys.push(e))},i.prototype.contains=function(e){return r.createID(e),null!=this.map[e]},i.prototype.get=function(e){var t=r.createID(e);return this.map[t]},i.prototype.keySet=function(){return this.keys},e.exports=i},function(e,t,n){var r=n(14);function i(){this.set={}}i.prototype.add=function(e){var t=r.createID(e);this.contains(t)||(this.set[t]=e)},i.prototype.remove=function(e){delete this.set[r.createID(e)]},i.prototype.clear=function(){this.set={}},i.prototype.contains=function(e){return this.set[r.createID(e)]==e},i.prototype.isEmpty=function(){return 0===this.size()},i.prototype.size=function(){return Object.keys(this.set).length},i.prototype.addAllTo=function(e){for(var t=Object.keys(this.set),n=t.length,r=0;r<n;r++)e.push(this.set[t[r]])},i.prototype.size=function(){return Object.keys(this.set).length},i.prototype.addAll=function(e){for(var t=e.length,n=0;n<t;n++){var r=e[n];this.add(r)}},e.exports=i},function(e,t,n){var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(11),a=function(){function e(t,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),null===n&&void 0===n||(this.compareFunction=this._defaultCompareFunction);var r=void 0;r=t instanceof i?t.size():t.length,this._quicksort(t,0,r-1)}return r(e,[{key:"_quicksort",value:function(e,t,n){if(t<n){var r=this._partition(e,t,n);this._quicksort(e,t,r),this._quicksort(e,r+1,n)}}},{key:"_partition",value:function(e,t,n){for(var r=this._get(e,t),i=t,a=n;;){for(;this.compareFunction(r,this._get(e,a));)a--;for(;this.compareFunction(this._get(e,i),r);)i++;if(!(i<a))return a;this._swap(e,i,a),i++,a--}}},{key:"_get",value:function(e,t){return e instanceof i?e.get_object_at(t):e[t]}},{key:"_set",value:function(e,t,n){e instanceof i?e.set_object_at(t,n):e[t]=n}},{key:"_swap",value:function(e,t,n){var r=this._get(e,t);this._set(e,t,this._get(e,n)),this._set(e,n,r)}},{key:"_defaultCompareFunction",value:function(e,t){return t>e}}]),e}();e.exports=a},function(e,t,n){var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-1,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:-1;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.sequence1=t,this.sequence2=n,this.match_score=r,this.mismatch_penalty=i,this.gap_penalty=a,this.iMax=t.length+1,this.jMax=n.length+1,this.grid=new Array(this.iMax);for(var o=0;o<this.iMax;o++){this.grid[o]=new Array(this.jMax);for(var s=0;s<this.jMax;s++)this.grid[o][s]=0}this.tracebackGrid=new Array(this.iMax);for(var c=0;c<this.iMax;c++){this.tracebackGrid[c]=new Array(this.jMax);for(var l=0;l<this.jMax;l++)this.tracebackGrid[c][l]=[null,null,null]}this.alignments=[],this.score=-1,this.computeGrids()}return r(e,[{key:"getScore",value:function(){return this.score}},{key:"getAlignments",value:function(){return this.alignments}},{key:"computeGrids",value:function(){for(var e=1;e<this.jMax;e++)this.grid[0][e]=this.grid[0][e-1]+this.gap_penalty,this.tracebackGrid[0][e]=[!1,!1,!0];for(var t=1;t<this.iMax;t++)this.grid[t][0]=this.grid[t-1][0]+this.gap_penalty,this.tracebackGrid[t][0]=[!1,!0,!1];for(var n=1;n<this.iMax;n++)for(var r=1;r<this.jMax;r++){var i=[this.sequence1[n-1]===this.sequence2[r-1]?this.grid[n-1][r-1]+this.match_score:this.grid[n-1][r-1]+this.mismatch_penalty,this.grid[n-1][r]+this.gap_penalty,this.grid[n][r-1]+this.gap_penalty],a=this.arrayAllMaxIndexes(i);this.grid[n][r]=i[a[0]],this.tracebackGrid[n][r]=[a.includes(0),a.includes(1),a.includes(2)]}this.score=this.grid[this.iMax-1][this.jMax-1]}},{key:"alignmentTraceback",value:function(){var e=[];for(e.push({pos:[this.sequence1.length,this.sequence2.length],seq1:"",seq2:""});e[0];){var t=e[0],n=this.tracebackGrid[t.pos[0]][t.pos[1]];n[0]&&e.push({pos:[t.pos[0]-1,t.pos[1]-1],seq1:this.sequence1[t.pos[0]-1]+t.seq1,seq2:this.sequence2[t.pos[1]-1]+t.seq2}),n[1]&&e.push({pos:[t.pos[0]-1,t.pos[1]],seq1:this.sequence1[t.pos[0]-1]+t.seq1,seq2:"-"+t.seq2}),n[2]&&e.push({pos:[t.pos[0],t.pos[1]-1],seq1:"-"+t.seq1,seq2:this.sequence2[t.pos[1]-1]+t.seq2}),0===t.pos[0]&&0===t.pos[1]&&this.alignments.push({sequence1:t.seq1,sequence2:t.seq2}),e.shift()}return this.alignments}},{key:"getAllIndexes",value:function(e,t){for(var n=[],r=-1;-1!==(r=e.indexOf(t,r+1));)n.push(r);return n}},{key:"arrayAllMaxIndexes",value:function(e){return this.getAllIndexes(e,Math.max.apply(null,e))}}]),e}();e.exports=i},function(e,t,n){var r=function(){};r.FDLayout=n(18),r.FDLayoutConstants=n(7),r.FDLayoutEdge=n(19),r.FDLayoutNode=n(20),r.DimensionD=n(21),r.HashMap=n(22),r.HashSet=n(23),r.IGeometry=n(8),r.IMath=n(9),r.Integer=n(10),r.Point=n(12),r.PointD=n(4),r.RandomSeed=n(16),r.RectangleD=n(13),r.Transform=n(17),r.UniqueIDGeneretor=n(14),r.Quicksort=n(24),r.LinkedList=n(11),r.LGraphObject=n(2),r.LGraph=n(5),r.LEdge=n(1),r.LGraphManager=n(6),r.LNode=n(3),r.Layout=n(15),r.LayoutConstants=n(0),r.NeedlemanWunsch=n(25),e.exports=r},function(e,t,n){function r(){this.listeners=[]}var i=r.prototype;i.addListener=function(e,t){this.listeners.push({event:e,callback:t})},i.removeListener=function(e,t){for(var n=this.listeners.length;n>=0;n--){var r=this.listeners[n];r.event===e&&r.callback===t&&this.listeners.splice(n,1)}},i.emit=function(e,t){for(var n=0;n<this.listeners.length;n++){var r=this.listeners[n];e===r.event&&r.callback(t)}},e.exports=r}])},e.exports=n()}(K6e,K6e.exports)),K6e.exports}K6e.exports,V6e=function(e){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.i=function(e){return e},n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=1)}([function(t,n){t.exports=e},function(e,t,n){var r=n(0).layoutBase.LayoutConstants,i=n(0).layoutBase.FDLayoutConstants,a=n(0).CoSEConstants,o=n(0).CoSELayout,s=n(0).CoSENode,c=n(0).layoutBase.PointD,l=n(0).layoutBase.DimensionD,u={ready:function(){},stop:function(){},quality:"default",nodeDimensionsIncludeLabels:!1,refresh:30,fit:!0,padding:10,randomize:!0,nodeRepulsion:4500,idealEdgeLength:50,edgeElasticity:.45,nestingFactor:.1,gravity:.25,numIter:2500,tile:!0,animate:"end",animationDuration:500,tilingPaddingVertical:10,tilingPaddingHorizontal:10,gravityRangeCompound:1.5,gravityCompound:1,gravityRange:3.8,initialEnergyOnIncremental:.5};function h(e){this.options=function(e,t){var n={};for(var r in e)n[r]=e[r];for(var r in t)n[r]=t[r];return n}(u,e),d(this.options)}var d=function(e){null!=e.nodeRepulsion&&(a.DEFAULT_REPULSION_STRENGTH=i.DEFAULT_REPULSION_STRENGTH=e.nodeRepulsion),null!=e.idealEdgeLength&&(a.DEFAULT_EDGE_LENGTH=i.DEFAULT_EDGE_LENGTH=e.idealEdgeLength),null!=e.edgeElasticity&&(a.DEFAULT_SPRING_STRENGTH=i.DEFAULT_SPRING_STRENGTH=e.edgeElasticity),null!=e.nestingFactor&&(a.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=i.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=e.nestingFactor),null!=e.gravity&&(a.DEFAULT_GRAVITY_STRENGTH=i.DEFAULT_GRAVITY_STRENGTH=e.gravity),null!=e.numIter&&(a.MAX_ITERATIONS=i.MAX_ITERATIONS=e.numIter),null!=e.gravityRange&&(a.DEFAULT_GRAVITY_RANGE_FACTOR=i.DEFAULT_GRAVITY_RANGE_FACTOR=e.gravityRange),null!=e.gravityCompound&&(a.DEFAULT_COMPOUND_GRAVITY_STRENGTH=i.DEFAULT_COMPOUND_GRAVITY_STRENGTH=e.gravityCompound),null!=e.gravityRangeCompound&&(a.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=e.gravityRangeCompound),null!=e.initialEnergyOnIncremental&&(a.DEFAULT_COOLING_FACTOR_INCREMENTAL=i.DEFAULT_COOLING_FACTOR_INCREMENTAL=e.initialEnergyOnIncremental),"draft"==e.quality?r.QUALITY=0:"proof"==e.quality?r.QUALITY=2:r.QUALITY=1,a.NODE_DIMENSIONS_INCLUDE_LABELS=i.NODE_DIMENSIONS_INCLUDE_LABELS=r.NODE_DIMENSIONS_INCLUDE_LABELS=e.nodeDimensionsIncludeLabels,a.DEFAULT_INCREMENTAL=i.DEFAULT_INCREMENTAL=r.DEFAULT_INCREMENTAL=!e.randomize,a.ANIMATE=i.ANIMATE=r.ANIMATE=e.animate,a.TILE=e.tile,a.TILING_PADDING_VERTICAL="function"==typeof e.tilingPaddingVertical?e.tilingPaddingVertical.call():e.tilingPaddingVertical,a.TILING_PADDING_HORIZONTAL="function"==typeof e.tilingPaddingHorizontal?e.tilingPaddingHorizontal.call():e.tilingPaddingHorizontal};h.prototype.run=function(){var e,t,n=this.options;this.idToLNode={};var r=this.layout=new o,i=this;i.stopped=!1,this.cy=this.options.cy,this.cy.trigger({type:"layoutstart",layout:this});var a=r.newGraphManager();this.gm=a;var s=this.options.eles.nodes(),c=this.options.eles.edges();this.root=a.addRoot(),this.processChildrenList(this.root,this.getTopMostNodes(s),r);for(var l=0;l<c.length;l++){var u=c[l],h=this.idToLNode[u.data("source")],d=this.idToLNode[u.data("target")];h!==d&&0==h.getEdgesBetween(d).length&&(a.add(r.newEdge(),h,d).id=u.id())}var f=function(e,t){"number"==typeof e&&(e=t);var n=e.data("id"),r=i.idToLNode[n];return{x:r.getRect().getCenterX(),y:r.getRect().getCenterY()}},p=function a(){for(var o,s=function(){n.fit&&n.cy.fit(n.eles,n.padding),e||(e=!0,i.cy.one("layoutready",n.ready),i.cy.trigger({type:"layoutready",layout:i}))},c=i.options.refresh,l=0;l<c&&!o;l++)o=i.stopped||i.layout.tick();if(o)return r.checkLayoutSuccess()&&!r.isSubLayout&&r.doPostLayout(),r.tilingPostLayout&&r.tilingPostLayout(),r.isLayoutFinished=!0,i.options.eles.nodes().positions(f),s(),i.cy.one("layoutstop",i.options.stop),i.cy.trigger({type:"layoutstop",layout:i}),t&&cancelAnimationFrame(t),void(e=!1);var u=i.layout.getPositionsData();n.eles.nodes().positions((function(e,t){if("number"==typeof e&&(e=t),!e.isParent()){for(var n=e.id(),r=u[n],i=e;null==r&&(r=u[i.data("parent")]||u["DummyCompound_"+i.data("parent")],u[n]=r,null!=(i=i.parent()[0])););return null!=r?{x:r.x,y:r.y}:{x:e.position("x"),y:e.position("y")}}})),s(),t=requestAnimationFrame(a)};return r.addListener("layoutstarted",(function(){"during"===i.options.animate&&(t=requestAnimationFrame(p))})),r.runLayout(),"during"!==this.options.animate&&(i.options.eles.nodes().not(":parent").layoutPositions(i,i.options,f),e=!1),this},h.prototype.getTopMostNodes=function(e){for(var t={},n=0;n<e.length;n++)t[e[n].id()]=!0;var r=e.filter((function(e,n){"number"==typeof e&&(e=n);for(var r=e.parent()[0];null!=r;){if(t[r.id()])return!1;r=r.parent()[0]}return!0}));return r},h.prototype.processChildrenList=function(e,t,n){for(var r=t.length,i=0;i<r;i++){var a,o,u=t[i],h=u.children(),d=u.layoutDimensions({nodeDimensionsIncludeLabels:this.options.nodeDimensionsIncludeLabels});if((a=null!=u.outerWidth()&&null!=u.outerHeight()?e.add(new s(n.graphManager,new c(u.position("x")-d.w/2,u.position("y")-d.h/2),new l(parseFloat(d.w),parseFloat(d.h)))):e.add(new s(this.graphManager))).id=u.data("id"),a.paddingLeft=parseInt(u.css("padding")),a.paddingTop=parseInt(u.css("padding")),a.paddingRight=parseInt(u.css("padding")),a.paddingBottom=parseInt(u.css("padding")),this.options.nodeDimensionsIncludeLabels&&u.isParent()){var f=u.boundingBox({includeLabels:!0,includeNodes:!1}).w,p=u.boundingBox({includeLabels:!0,includeNodes:!1}).h,m=u.css("text-halign");a.labelWidth=f,a.labelHeight=p,a.labelPos=m}this.idToLNode[u.data("id")]=a,isNaN(a.rect.x)&&(a.rect.x=0),isNaN(a.rect.y)&&(a.rect.y=0),null!=h&&h.length>0&&(o=n.getGraphManager().add(n.newGraph(),a),this.processChildrenList(o,h,n))}},h.prototype.stop=function(){return this.stopped=!0,this};var f=function(e){e("layout","cose-bilkent",h)};"undefined"!=typeof cytoscape&&f(cytoscape),e.exports=f}])},W6e.exports=V6e(function(){return U6e?G6e.exports:(U6e=1,e=function(e){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.i=function(e){return e},n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=7)}([function(t,n){t.exports=e},function(e,t,n){var r=n(0).FDLayoutConstants;function i(){}for(var a in r)i[a]=r[a];i.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,i.DEFAULT_RADIAL_SEPARATION=r.DEFAULT_EDGE_LENGTH,i.DEFAULT_COMPONENT_SEPERATION=60,i.TILE=!0,i.TILING_PADDING_VERTICAL=10,i.TILING_PADDING_HORIZONTAL=10,i.TREE_REDUCTION_ON_INCREMENTAL=!1,e.exports=i},function(e,t,n){var r=n(0).FDLayoutEdge;function i(e,t,n){r.call(this,e,t,n)}for(var a in i.prototype=Object.create(r.prototype),r)i[a]=r[a];e.exports=i},function(e,t,n){var r=n(0).LGraph;function i(e,t,n){r.call(this,e,t,n)}for(var a in i.prototype=Object.create(r.prototype),r)i[a]=r[a];e.exports=i},function(e,t,n){var r=n(0).LGraphManager;function i(e){r.call(this,e)}for(var a in i.prototype=Object.create(r.prototype),r)i[a]=r[a];e.exports=i},function(e,t,n){var r=n(0).FDLayoutNode,i=n(0).IMath;function a(e,t,n,i){r.call(this,e,t,n,i)}for(var o in a.prototype=Object.create(r.prototype),r)a[o]=r[o];a.prototype.move=function(){var e=this.graphManager.getLayout();this.displacementX=e.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY=e.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren,Math.abs(this.displacementX)>e.coolingFactor*e.maxNodeDisplacement&&(this.displacementX=e.coolingFactor*e.maxNodeDisplacement*i.sign(this.displacementX)),Math.abs(this.displacementY)>e.coolingFactor*e.maxNodeDisplacement&&(this.displacementY=e.coolingFactor*e.maxNodeDisplacement*i.sign(this.displacementY)),null==this.child||0==this.child.getNodes().length?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),e.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},a.prototype.propogateDisplacementToChildren=function(e,t){for(var n,r=this.getChild().getNodes(),i=0;i<r.length;i++)null==(n=r[i]).getChild()?(n.moveBy(e,t),n.displacementX+=e,n.displacementY+=t):n.propogateDisplacementToChildren(e,t)},a.prototype.setPred1=function(e){this.pred1=e},a.prototype.getPred1=function(){return pred1},a.prototype.getPred2=function(){return pred2},a.prototype.setNext=function(e){this.next=e},a.prototype.getNext=function(){return next},a.prototype.setProcessed=function(e){this.processed=e},a.prototype.isProcessed=function(){return processed},e.exports=a},function(e,t,n){var r=n(0).FDLayout,i=n(4),a=n(3),o=n(5),s=n(2),c=n(1),l=n(0).FDLayoutConstants,u=n(0).LayoutConstants,h=n(0).Point,d=n(0).PointD,f=n(0).Layout,p=n(0).Integer,m=n(0).IGeometry,g=n(0).LGraph,b=n(0).Transform;function y(){r.call(this),this.toBeTiled={}}for(var v in y.prototype=Object.create(r.prototype),r)y[v]=r[v];y.prototype.newGraphManager=function(){var e=new i(this);return this.graphManager=e,e},y.prototype.newGraph=function(e){return new a(null,this.graphManager,e)},y.prototype.newNode=function(e){return new o(this.graphManager,e)},y.prototype.newEdge=function(e){return new s(null,null,e)},y.prototype.initParameters=function(){r.prototype.initParameters.call(this,arguments),this.isSubLayout||(c.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=c.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=c.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.springConstant=l.DEFAULT_SPRING_STRENGTH,this.repulsionConstant=l.DEFAULT_REPULSION_STRENGTH,this.gravityConstant=l.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=l.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=l.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=l.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1,this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/l.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=l.CONVERGENCE_CHECK_PERIOD/this.maxIterations,this.coolingAdjuster=1)},y.prototype.layout=function(){return u.DEFAULT_CREATE_BENDS_AS_NEEDED&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},y.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental)c.TREE_REDUCTION_ON_INCREMENTAL&&(this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation(),t=new Set(this.getAllNodes()),n=this.nodesWithGravity.filter((function(e){return t.has(e)})),this.graphManager.setAllNodesToApplyGravitation(n));else{var e=this.getFlatForest();if(e.length>0)this.positionNodesRadially(e);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var t=new Set(this.getAllNodes()),n=this.nodesWithGravity.filter((function(e){return t.has(e)}));this.graphManager.setAllNodesToApplyGravitation(n),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},y.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}if(this.totalIterations%l.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged()){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}this.coolingCycle++,0==this.layoutQuality?this.coolingAdjuster=this.coolingCycle:1==this.layoutQuality&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var e=new Set(this.getAllNodes()),t=this.nodesWithGravity.filter((function(t){return e.has(t)}));this.graphManager.setAllNodesToApplyGravitation(t),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var n=!this.isTreeGrowing&&!this.isGrowthFinished,r=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(n,r),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},y.prototype.getPositionsData=function(){for(var e=this.graphManager.getAllNodes(),t={},n=0;n<e.length;n++){var r=e[n].rect,i=e[n].id;t[i]={id:i,x:r.getCenterX(),y:r.getCenterY(),w:r.width,h:r.height}}return t},y.prototype.runSpringEmbedder=function(){this.initialAnimationPeriod=25,this.animationPeriod=this.initialAnimationPeriod;var e=!1;if("during"===l.ANIMATE)this.emit("layoutstarted");else{for(;!e;)e=this.tick();this.graphManager.updateBounds()}},y.prototype.calculateNodesToApplyGravitationTo=function(){var e,t,n=[],r=this.graphManager.getGraphs(),i=r.length;for(t=0;t<i;t++)(e=r[t]).updateConnected(),e.isConnected||(n=n.concat(e.getNodes()));return n},y.prototype.createBendpoints=function(){var e=[];e=e.concat(this.graphManager.getAllEdges());var t,n=new Set;for(t=0;t<e.length;t++){var r=e[t];if(!n.has(r)){var i=r.getSource(),a=r.getTarget();if(i==a)r.getBendpoints().push(new d),r.getBendpoints().push(new d),this.createDummyNodesForBendpoints(r),n.add(r);else{var o=[];if(o=(o=o.concat(i.getEdgeListToNode(a))).concat(a.getEdgeListToNode(i)),!n.has(o[0])){var s;if(o.length>1)for(s=0;s<o.length;s++){var c=o[s];c.getBendpoints().push(new d),this.createDummyNodesForBendpoints(c)}o.forEach((function(e){n.add(e)}))}}}if(n.size==e.length)break}},y.prototype.positionNodesRadially=function(e){for(var t=new h(0,0),n=Math.ceil(Math.sqrt(e.length)),r=0,i=0,a=0,o=new d(0,0),s=0;s<e.length;s++){s%n==0&&(a=0,i=r,0!=s&&(i+=c.DEFAULT_COMPONENT_SEPERATION),r=0);var l=e[s],p=f.findCenterOfTree(l);t.x=a,t.y=i,(o=y.radialLayout(l,p,t)).y>r&&(r=Math.floor(o.y)),a=Math.floor(o.x+c.DEFAULT_COMPONENT_SEPERATION)}this.transform(new d(u.WORLD_CENTER_X-o.x/2,u.WORLD_CENTER_Y-o.y/2))},y.radialLayout=function(e,t,n){var r=Math.max(this.maxDiagonalInTree(e),c.DEFAULT_RADIAL_SEPARATION);y.branchRadialLayout(t,null,0,359,0,r);var i=g.calculateBounds(e),a=new b;a.setDeviceOrgX(i.getMinX()),a.setDeviceOrgY(i.getMinY()),a.setWorldOrgX(n.x),a.setWorldOrgY(n.y);for(var o=0;o<e.length;o++)e[o].transform(a);var s=new d(i.getMaxX(),i.getMaxY());return a.inverseTransformPoint(s)},y.branchRadialLayout=function(e,t,n,r,i,a){var o=(r-n+1)/2;o<0&&(o+=180);var s=(o+n)%360*m.TWO_PI/360,c=i*Math.cos(s),l=i*Math.sin(s);e.setCenter(c,l);var u=[],h=(u=u.concat(e.getEdges())).length;null!=t&&h--;for(var d,f=0,p=u.length,g=e.getEdgesBetween(t);g.length>1;){var b=g[0];g.splice(0,1);var v=u.indexOf(b);v>=0&&u.splice(v,1),p--,h--}d=null!=t?(u.indexOf(g[0])+1)%p:0;for(var w=Math.abs(r-n)/h,x=d;f!=h;x=++x%p){var k=u[x].getOtherEnd(e);if(k!=t){var S=(n+f*w)%360,E=(S+w)%360;y.branchRadialLayout(k,e,S,E,i+a,a),f++}}},y.maxDiagonalInTree=function(e){for(var t=p.MIN_VALUE,n=0;n<e.length;n++){var r=e[n].getDiagonal();r>t&&(t=r)}return t},y.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},y.prototype.groupZeroDegreeMembers=function(){var e=this,t={};this.memberGroups={},this.idToDummyNode={};for(var n=[],r=this.graphManager.getAllNodes(),i=0;i<r.length;i++){var a=(s=r[i]).getParent();0!==this.getNodeDegreeWithChildren(s)||null!=a.id&&this.getToBeTiled(a)||n.push(s)}for(i=0;i<n.length;i++){var s,c=(s=n[i]).getParent().id;void 0===t[c]&&(t[c]=[]),t[c]=t[c].concat(s)}Object.keys(t).forEach((function(n){if(t[n].length>1){var r="DummyCompound_"+n;e.memberGroups[r]=t[n];var i=t[n][0].getParent(),a=new o(e.graphManager);a.id=r,a.paddingLeft=i.paddingLeft||0,a.paddingRight=i.paddingRight||0,a.paddingBottom=i.paddingBottom||0,a.paddingTop=i.paddingTop||0,e.idToDummyNode[r]=a;var s=e.getGraphManager().add(e.newGraph(),a),c=i.getChild();c.add(a);for(var l=0;l<t[n].length;l++){var u=t[n][l];c.remove(u),s.add(u)}}}))},y.prototype.clearCompounds=function(){var e={},t={};this.performDFSOnCompounds();for(var n=0;n<this.compoundOrder.length;n++)t[this.compoundOrder[n].id]=this.compoundOrder[n],e[this.compoundOrder[n].id]=[].concat(this.compoundOrder[n].getChild().getNodes()),this.graphManager.remove(this.compoundOrder[n].getChild()),this.compoundOrder[n].child=null;this.graphManager.resetAllNodes(),this.tileCompoundMembers(e,t)},y.prototype.clearZeroDegreeMembers=function(){var e=this,t=this.tiledZeroDegreePack=[];Object.keys(this.memberGroups).forEach((function(n){var r=e.idToDummyNode[n];t[n]=e.tileNodes(e.memberGroups[n],r.paddingLeft+r.paddingRight),r.rect.width=t[n].width,r.rect.height=t[n].height}))},y.prototype.repopulateCompounds=function(){for(var e=this.compoundOrder.length-1;e>=0;e--){var t=this.compoundOrder[e],n=t.id,r=t.paddingLeft,i=t.paddingTop;this.adjustLocations(this.tiledMemberPack[n],t.rect.x,t.rect.y,r,i)}},y.prototype.repopulateZeroDegreeMembers=function(){var e=this,t=this.tiledZeroDegreePack;Object.keys(t).forEach((function(n){var r=e.idToDummyNode[n],i=r.paddingLeft,a=r.paddingTop;e.adjustLocations(t[n],r.rect.x,r.rect.y,i,a)}))},y.prototype.getToBeTiled=function(e){var t=e.id;if(null!=this.toBeTiled[t])return this.toBeTiled[t];var n=e.getChild();if(null==n)return this.toBeTiled[t]=!1,!1;for(var r=n.getNodes(),i=0;i<r.length;i++){var a=r[i];if(this.getNodeDegree(a)>0)return this.toBeTiled[t]=!1,!1;if(null!=a.getChild()){if(!this.getToBeTiled(a))return this.toBeTiled[t]=!1,!1}else this.toBeTiled[a.id]=!1}return this.toBeTiled[t]=!0,!0},y.prototype.getNodeDegree=function(e){e.id;for(var t=e.getEdges(),n=0,r=0;r<t.length;r++){var i=t[r];i.getSource().id!==i.getTarget().id&&(n+=1)}return n},y.prototype.getNodeDegreeWithChildren=function(e){var t=this.getNodeDegree(e);if(null==e.getChild())return t;for(var n=e.getChild().getNodes(),r=0;r<n.length;r++){var i=n[r];t+=this.getNodeDegreeWithChildren(i)}return t},y.prototype.performDFSOnCompounds=function(){this.compoundOrder=[],this.fillCompexOrderByDFS(this.graphManager.getRoot().getNodes())},y.prototype.fillCompexOrderByDFS=function(e){for(var t=0;t<e.length;t++){var n=e[t];null!=n.getChild()&&this.fillCompexOrderByDFS(n.getChild().getNodes()),this.getToBeTiled(n)&&this.compoundOrder.push(n)}},y.prototype.adjustLocations=function(e,t,n,r,i){n+=i;for(var a=t+=r,o=0;o<e.rows.length;o++){var s=e.rows[o];t=a;for(var c=0,l=0;l<s.length;l++){var u=s[l];u.rect.x=t,u.rect.y=n,t+=u.rect.width+e.horizontalPadding,u.rect.height>c&&(c=u.rect.height)}n+=c+e.verticalPadding}},y.prototype.tileCompoundMembers=function(e,t){var n=this;this.tiledMemberPack=[],Object.keys(e).forEach((function(r){var i=t[r];n.tiledMemberPack[r]=n.tileNodes(e[r],i.paddingLeft+i.paddingRight),i.rect.width=n.tiledMemberPack[r].width,i.rect.height=n.tiledMemberPack[r].height}))},y.prototype.tileNodes=function(e,t){var n={rows:[],rowWidth:[],rowHeight:[],width:0,height:t,verticalPadding:c.TILING_PADDING_VERTICAL,horizontalPadding:c.TILING_PADDING_HORIZONTAL};e.sort((function(e,t){return e.rect.width*e.rect.height>t.rect.width*t.rect.height?-1:e.rect.width*e.rect.height<t.rect.width*t.rect.height?1:0}));for(var r=0;r<e.length;r++){var i=e[r];0==n.rows.length?this.insertNodeToRow(n,i,0,t):this.canAddHorizontal(n,i.rect.width,i.rect.height)?this.insertNodeToRow(n,i,this.getShortestRowIndex(n),t):this.insertNodeToRow(n,i,n.rows.length,t),this.shiftToLastRow(n)}return n},y.prototype.insertNodeToRow=function(e,t,n,r){var i=r;n==e.rows.length&&(e.rows.push([]),e.rowWidth.push(i),e.rowHeight.push(0));var a=e.rowWidth[n]+t.rect.width;e.rows[n].length>0&&(a+=e.horizontalPadding),e.rowWidth[n]=a,e.width<a&&(e.width=a);var o=t.rect.height;n>0&&(o+=e.verticalPadding);var s=0;o>e.rowHeight[n]&&(s=e.rowHeight[n],e.rowHeight[n]=o,s=e.rowHeight[n]-s),e.height+=s,e.rows[n].push(t)},y.prototype.getShortestRowIndex=function(e){for(var t=-1,n=Number.MAX_VALUE,r=0;r<e.rows.length;r++)e.rowWidth[r]<n&&(t=r,n=e.rowWidth[r]);return t},y.prototype.getLongestRowIndex=function(e){for(var t=-1,n=Number.MIN_VALUE,r=0;r<e.rows.length;r++)e.rowWidth[r]>n&&(t=r,n=e.rowWidth[r]);return t},y.prototype.canAddHorizontal=function(e,t,n){var r=this.getShortestRowIndex(e);if(r<0)return!0;var i=e.rowWidth[r];if(i+e.horizontalPadding+t<=e.width)return!0;var a,o,s=0;return e.rowHeight[r]<n&&r>0&&(s=n+e.verticalPadding-e.rowHeight[r]),a=e.width-i>=t+e.horizontalPadding?(e.height+s)/(i+t+e.horizontalPadding):(e.height+s)/e.width,s=n+e.verticalPadding,(o=e.width<t?(e.height+s)/t:(e.height+s)/e.width)<1&&(o=1/o),a<1&&(a=1/a),a<o},y.prototype.shiftToLastRow=function(e){var t=this.getLongestRowIndex(e),n=e.rowWidth.length-1,r=e.rows[t],i=r[r.length-1],a=i.width+e.horizontalPadding;if(e.width-e.rowWidth[n]>a&&t!=n){r.splice(-1,1),e.rows[n].push(i),e.rowWidth[t]=e.rowWidth[t]-a,e.rowWidth[n]=e.rowWidth[n]+a,e.width=e.rowWidth[instance.getLongestRowIndex(e)];for(var o=Number.MIN_VALUE,s=0;s<r.length;s++)r[s].height>o&&(o=r[s].height);t>0&&(o+=e.verticalPadding);var c=e.rowHeight[t]+e.rowHeight[n];e.rowHeight[t]=o,e.rowHeight[n]<i.height+e.verticalPadding&&(e.rowHeight[n]=i.height+e.verticalPadding);var l=e.rowHeight[t]+e.rowHeight[n];e.height+=l-c,this.shiftToLastRow(e)}},y.prototype.tilingPreLayout=function(){c.TILE&&(this.groupZeroDegreeMembers(),this.clearCompounds(),this.clearZeroDegreeMembers())},y.prototype.tilingPostLayout=function(){c.TILE&&(this.repopulateZeroDegreeMembers(),this.repopulateCompounds())},y.prototype.reduceTrees=function(){for(var e,t=[],n=!0;n;){var r=this.graphManager.getAllNodes(),i=[];n=!1;for(var a=0;a<r.length;a++)1!=(e=r[a]).getEdges().length||e.getEdges()[0].isInterGraph||null!=e.getChild()||(i.push([e,e.getEdges()[0],e.getOwner()]),n=!0);if(1==n){for(var o=[],s=0;s<i.length;s++)1==i[s][0].getEdges().length&&(o.push(i[s]),i[s][0].getOwner().remove(i[s][0]));t.push(o),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()}}this.prunedNodesAll=t},y.prototype.growTree=function(e){for(var t,n=e[e.length-1],r=0;r<n.length;r++)t=n[r],this.findPlaceforPrunedNode(t),t[2].add(t[0]),t[2].add(t[1],t[1].source,t[1].target);e.splice(e.length-1,1),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()},y.prototype.findPlaceforPrunedNode=function(e){var t,n,r=e[0],i=(n=r==e[1].source?e[1].target:e[1].source).startX,a=n.finishX,o=n.startY,s=n.finishY,c=[0,0,0,0];if(o>0)for(var u=i;u<=a;u++)c[0]+=this.grid[u][o-1].length+this.grid[u][o].length-1;if(a<this.grid.length-1)for(u=o;u<=s;u++)c[1]+=this.grid[a+1][u].length+this.grid[a][u].length-1;if(s<this.grid[0].length-1)for(u=i;u<=a;u++)c[2]+=this.grid[u][s+1].length+this.grid[u][s].length-1;if(i>0)for(u=o;u<=s;u++)c[3]+=this.grid[i-1][u].length+this.grid[i][u].length-1;for(var h,d,f=p.MAX_VALUE,m=0;m<c.length;m++)c[m]<f?(f=c[m],h=1,d=m):c[m]==f&&h++;if(3==h&&0==f)0==c[0]&&0==c[1]&&0==c[2]?t=1:0==c[0]&&0==c[1]&&0==c[3]?t=0:0==c[0]&&0==c[2]&&0==c[3]?t=3:0==c[1]&&0==c[2]&&0==c[3]&&(t=2);else if(2==h&&0==f){var g=Math.floor(2*Math.random());t=0==c[0]&&0==c[1]?0==g?0:1:0==c[0]&&0==c[2]?0==g?0:2:0==c[0]&&0==c[3]?0==g?0:3:0==c[1]&&0==c[2]?0==g?1:2:0==c[1]&&0==c[3]?0==g?1:3:0==g?2:3}else t=4==h&&0==f?g=Math.floor(4*Math.random()):d;0==t?r.setCenter(n.getCenterX(),n.getCenterY()-n.getHeight()/2-l.DEFAULT_EDGE_LENGTH-r.getHeight()/2):1==t?r.setCenter(n.getCenterX()+n.getWidth()/2+l.DEFAULT_EDGE_LENGTH+r.getWidth()/2,n.getCenterY()):2==t?r.setCenter(n.getCenterX(),n.getCenterY()+n.getHeight()/2+l.DEFAULT_EDGE_LENGTH+r.getHeight()/2):r.setCenter(n.getCenterX()-n.getWidth()/2-l.DEFAULT_EDGE_LENGTH-r.getWidth()/2,n.getCenterY())},e.exports=y},function(e,t,n){var r={};r.layoutBase=n(0),r.CoSEConstants=n(1),r.CoSEEdge=n(2),r.CoSEGraph=n(3),r.CoSEGraphManager=n(4),r.CoSELayout=n(6),r.CoSENode=n(5),e.exports=r}])},G6e.exports=e(Y6e()));var e}());var X6e=p(W6e.exports),Z6e=function(){var e,t=function(e,t,n,r){for(n=n||{},r=e.length;r--;n[e[r]]=t);return n},n=[1,4],r=[1,13],i=[1,12],a=[1,15],o=[1,16],s=[1,20],c=[1,19],l=[6,7,8],u=[1,26],h=[1,24],d=[1,25],f=[6,7,11],p=[1,6,13,15,16,19,22],m=[1,33],g=[1,34],b=[1,6,7,11,13,15,16,19,22],y={trace:function(){},yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:function(e,t,n,r,i,a,o){var s=a.length-1;switch(i){case 6:case 7:return r;case 8:r.getLogger().trace("Stop NL ");break;case 9:r.getLogger().trace("Stop EOF ");break;case 11:r.getLogger().trace("Stop NL2 ");break;case 12:r.getLogger().trace("Stop EOF2 ");break;case 15:r.getLogger().info("Node: ",a[s].id),r.addNode(a[s-1].length,a[s].id,a[s].descr,a[s].type);break;case 16:r.getLogger().trace("Icon: ",a[s]),r.decorateNode({icon:a[s]});break;case 17:case 21:r.decorateNode({class:a[s]});break;case 18:r.getLogger().trace("SPACELIST");break;case 19:r.getLogger().trace("Node: ",a[s].id),r.addNode(0,a[s].id,a[s].descr,a[s].type);break;case 20:r.decorateNode({icon:a[s]});break;case 25:r.getLogger().trace("node found ..",a[s-2]),this.$={id:a[s-1],descr:a[s-1],type:r.getType(a[s-2],a[s])};break;case 26:this.$={id:a[s],descr:a[s],type:r.nodeType.DEFAULT};break;case 27:r.getLogger().trace("node found ..",a[s-3]),this.$={id:a[s-3],descr:a[s-1],type:r.getType(a[s-2],a[s])}}},table:[{3:1,4:2,5:3,6:[1,5],8:n},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:n},{6:r,7:[1,10],9:9,12:11,13:i,14:14,15:a,16:o,17:17,18:18,19:s,22:c},t(l,[2,3]),{1:[2,2]},t(l,[2,4]),t(l,[2,5]),{1:[2,6],6:r,12:21,13:i,14:14,15:a,16:o,17:17,18:18,19:s,22:c},{6:r,9:22,12:11,13:i,14:14,15:a,16:o,17:17,18:18,19:s,22:c},{6:u,7:h,10:23,11:d},t(f,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:s,22:c}),t(f,[2,18]),t(f,[2,19]),t(f,[2,20]),t(f,[2,21]),t(f,[2,23]),t(f,[2,24]),t(f,[2,26],{19:[1,30]}),{20:[1,31]},{6:u,7:h,10:32,11:d},{1:[2,7],6:r,12:21,13:i,14:14,15:a,16:o,17:17,18:18,19:s,22:c},t(p,[2,14],{7:m,11:g}),t(b,[2,8]),t(b,[2,9]),t(b,[2,10]),t(f,[2,15]),t(f,[2,16]),t(f,[2,17]),{20:[1,35]},{21:[1,36]},t(p,[2,13],{7:m,11:g}),t(b,[2,11]),t(b,[2,12]),{21:[1,37]},t(f,[2,25]),t(f,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:function(e,t){if(!t.recoverable){var n=new Error(e);throw n.hash=t,n}this.trace(e)},parse:function(e){var t=this,n=[0],r=[],i=[null],a=[],o=this.table,s="",c=0,l=0,u=a.slice.call(arguments,1),h=Object.create(this.lexer),d={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(d.yy[f]=this.yy[f]);h.setInput(e,d.yy),d.yy.lexer=h,d.yy.parser=this,void 0===h.yylloc&&(h.yylloc={});var p=h.yylloc;a.push(p);var m=h.options&&h.options.ranges;function g(){var e;return"number"!=typeof(e=r.pop()||h.lex()||1)&&(e instanceof Array&&(e=(r=e).pop()),e=t.symbols_[e]||e),e}"function"==typeof d.yy.parseError?this.parseError=d.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var b,y,v,w,x,k,S,E,_={};;){if(y=n[n.length-1],this.defaultActions[y]?v=this.defaultActions[y]:(null==b&&(b=g()),v=o[y]&&o[y][b]),void 0===v||!v.length||!v[0]){var A="";for(x in E=[],o[y])this.terminals_[x]&&x>2&&E.push("'"+this.terminals_[x]+"'");A=h.showPosition?"Parse error on line "+(c+1)+":\n"+h.showPosition()+"\nExpecting "+E.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==b?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(A,{text:h.match,token:this.terminals_[b]||b,line:h.yylineno,loc:p,expected:E})}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+y+", token: "+b);switch(v[0]){case 1:n.push(b),i.push(h.yytext),a.push(h.yylloc),n.push(v[1]),b=null,l=h.yyleng,s=h.yytext,c=h.yylineno,p=h.yylloc;break;case 2:if(k=this.productions_[v[1]][1],_.$=i[i.length-k],_._$={first_line:a[a.length-(k||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(k||1)].first_column,last_column:a[a.length-1].last_column},m&&(_._$.range=[a[a.length-(k||1)].range[0],a[a.length-1].range[1]]),void 0!==(w=this.performAction.apply(_,[s,l,c,d.yy,v[1],i,a].concat(u))))return w;k&&(n=n.slice(0,-1*k*2),i=i.slice(0,-1*k),a=a.slice(0,-1*k)),n.push(this.productions_[v[1]][0]),i.push(_.$),a.push(_._$),S=o[n[n.length-2]][n[n.length-1]],n.push(S);break;case 3:return!0}}return!0}},v=(e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var e,t,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!t||n[0].length>t[0].length)){if(t=n,r=a,this.options.backtrack_lexer){if(!1!==(e=this.test_match(n,i[a])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,i[r]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var e=this.next();return e||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,n,r){switch(n){case 0:return e.getLogger().trace("Found comment",t.yytext),6;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;case 4:case 23:case 26:this.popState();break;case 5:e.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return e.getLogger().trace("SPACELINE"),6;case 7:return 7;case 8:return 15;case 9:e.getLogger().trace("end icon"),this.popState();break;case 10:return e.getLogger().trace("Exploding node"),this.begin("NODE"),19;case 11:return e.getLogger().trace("Cloud"),this.begin("NODE"),19;case 12:return e.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;case 13:return e.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;case 14:case 15:case 16:case 17:return this.begin("NODE"),19;case 18:return 13;case 19:return 22;case 20:return 11;case 21:this.begin("NSTR2");break;case 22:return"NODE_DESCR";case 24:e.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return e.getLogger().trace("description:",t.yytext),"NODE_DESCR";case 27:return this.popState(),e.getLogger().trace("node end ))"),"NODE_DEND";case 28:return this.popState(),e.getLogger().trace("node end )"),"NODE_DEND";case 29:return this.popState(),e.getLogger().trace("node end ...",t.yytext),"NODE_DEND";case 30:case 33:case 34:return this.popState(),e.getLogger().trace("node end (("),"NODE_DEND";case 31:case 32:return this.popState(),e.getLogger().trace("node end (-"),"NODE_DEND";case 35:case 36:return e.getLogger().trace("Long description:",t.yytext),20}},rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR2:{rules:[22,23],inclusive:!1},NSTR:{rules:[25,26],inclusive:!1},NODE:{rules:[21,24,27,28,29,30,31,32,33,34,35,36],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}},e);function w(){this.yy={}}return y.lexer=v,w.prototype=y,y.Parser=w,new w}();Z6e.parser=Z6e;const Q6e=Z6e;let J6e=[],e8e=0,t8e={};const n8e={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},r8e={clear:()=>{J6e=[],e8e=0,t8e={}},addNode:(e,t,n,r)=>{var i,a;a9.info("addNode",e,t,n,r);const o=Rte();let s=(null==(i=o.mindmap)?void 0:i.padding)??R9.mindmap.padding;switch(r){case n8e.ROUNDED_RECT:case n8e.RECT:case n8e.HEXAGON:s*=2}const c={id:e8e++,nodeId:d9(t,o),level:e,descr:d9(n,o),type:r,children:[],width:(null==(a=o.mindmap)?void 0:a.maxNodeWidth)??R9.mindmap.maxNodeWidth,padding:s},l=function(e){for(let t=J6e.length-1;t>=0;t--)if(J6e[t].level<e)return J6e[t];return null}(e);if(l)l.children.push(c),J6e.push(c);else{if(0!==J6e.length)throw new Error('There can be only one root. No parent could be found for ("'+c.descr+'")');J6e.push(c)}},getMindmap:()=>J6e.length>0?J6e[0]:null,nodeType:n8e,getType:(e,t)=>{switch(a9.debug("In get type",e,t),e){case"[":return n8e.RECT;case"(":return")"===t?n8e.ROUNDED_RECT:n8e.CLOUD;case"((":return n8e.CIRCLE;case")":return n8e.CLOUD;case"))":return n8e.BANG;case"{{":return n8e.HEXAGON;default:return n8e.DEFAULT}},setElementForId:(e,t)=>{t8e[e]=t},decorateNode:e=>{if(!e)return;const t=Rte(),n=J6e[J6e.length-1];e.icon&&(n.icon=d9(e.icon,t)),e.class&&(n.class=d9(e.class,t))},type2Str:e=>{switch(e){case n8e.DEFAULT:return"no-border";case n8e.RECT:return"rect";case n8e.ROUNDED_RECT:return"rounded-rect";case n8e.CIRCLE:return"circle";case n8e.CLOUD:return"cloud";case n8e.BANG:return"bang";case n8e.HEXAGON:return"hexgon";default:return"no-border"}},getLogger:()=>a9,getElementById:e=>t8e[e]},i8e=r8e;function a8e(e,t,n,r,i){!function(e,t,n,r,i){const a=i.htmlLabels,o=r%11,s=t.append("g");n.section=o;let c="section-"+o;o<0&&(c+=" section-root"),s.attr("class",(n.class?n.class+" ":"")+"mindmap-node "+c);const l=s.append("g"),u=s.append("g"),h=n.descr.replace(/(<br\/*>)/g,"\n");NFe(u,h,{useHtmlLabels:a,width:n.width,classes:"mindmap-node-label"}),a||u.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle");const d=u.node().getBBox(),[f]=mee(i.fontSize);if(n.height=d.height+1.1*f*.5+n.padding,n.width=d.width+2*n.padding,n.icon)if(n.type===e.nodeType.CIRCLE)n.height+=50,n.width+=50,s.append("foreignObject").attr("height","50px").attr("width",n.width).attr("style","text-align: center;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+o+" "+n.icon),u.attr("transform","translate("+n.width/2+", "+(n.height/2-1.5*n.padding)+")");else{n.width+=50;const e=n.height;n.height=Math.max(e,60);const t=Math.abs(n.height-e);s.append("foreignObject").attr("width","60px").attr("height",n.height).attr("style","text-align: center;margin-top:"+t/2+"px;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+o+" "+n.icon),u.attr("transform","translate("+(25+n.width/2)+", "+(t/2+n.padding/2)+")")}else if(a){const e=(n.width-d.width)/2,t=(n.height-d.height)/2;u.attr("transform","translate("+e+", "+t+")")}else{const e=n.width/2,t=n.padding/2;u.attr("transform","translate("+e+", "+t+")")}switch(n.type){case e.nodeType.DEFAULT:!function(e,t,n,r){t.append("path").attr("id","node-"+n.id).attr("class","node-bkg node-"+e.type2Str(n.type)).attr("d",`M0 ${n.height-5} v${10-n.height} q0,-5 5,-5 h${n.width-10} q5,0 5,5 v${n.height-5} H0 Z`),t.append("line").attr("class","node-line-"+r).attr("x1",0).attr("y1",n.height).attr("x2",n.width).attr("y2",n.height)}(e,l,n,o);break;case e.nodeType.ROUNDED_RECT:!function(e,t,n){t.append("rect").attr("id","node-"+n.id).attr("class","node-bkg node-"+e.type2Str(n.type)).attr("height",n.height).attr("rx",n.padding).attr("ry",n.padding).attr("width",n.width)}(e,l,n);break;case e.nodeType.RECT:!function(e,t,n){t.append("rect").attr("id","node-"+n.id).attr("class","node-bkg node-"+e.type2Str(n.type)).attr("height",n.height).attr("width",n.width)}(e,l,n);break;case e.nodeType.CIRCLE:l.attr("transform","translate("+n.width/2+", "+ +n.height/2+")"),function(e,t,n){t.append("circle").attr("id","node-"+n.id).attr("class","node-bkg node-"+e.type2Str(n.type)).attr("r",n.width/2)}(e,l,n);break;case e.nodeType.CLOUD:!function(e,t,n){const r=n.width,i=n.height,a=.15*r,o=.25*r,s=.35*r,c=.2*r;t.append("path").attr("id","node-"+n.id).attr("class","node-bkg node-"+e.type2Str(n.type)).attr("d",`M0 0 a${a},${a} 0 0,1 ${.25*r},${-1*r*.1}\n a${s},${s} 1 0,1 ${.4*r},${-1*r*.1}\n a${o},${o} 1 0,1 ${.35*r},${1*r*.2}\n\n a${a},${a} 1 0,1 ${.15*r},${1*i*.35}\n a${c},${c} 1 0,1 ${-1*r*.15},${1*i*.65}\n\n a${o},${a} 1 0,1 ${-1*r*.25},${.15*r}\n a${s},${s} 1 0,1 ${-1*r*.5},0\n a${a},${a} 1 0,1 ${-1*r*.25},${-1*r*.15}\n\n a${a},${a} 1 0,1 ${-1*r*.1},${-1*i*.35}\n a${c},${c} 1 0,1 ${.1*r},${-1*i*.65}\n\n H0 V0 Z`)}(e,l,n);break;case e.nodeType.BANG:!function(e,t,n){const r=n.width,i=n.height,a=.15*r;t.append("path").attr("id","node-"+n.id).attr("class","node-bkg node-"+e.type2Str(n.type)).attr("d",`M0 0 a${a},${a} 1 0,0 ${.25*r},${-1*i*.1}\n a${a},${a} 1 0,0 ${.25*r},0\n a${a},${a} 1 0,0 ${.25*r},0\n a${a},${a} 1 0,0 ${.25*r},${1*i*.1}\n\n a${a},${a} 1 0,0 ${.15*r},${1*i*.33}\n a${.8*a},${.8*a} 1 0,0 0,${1*i*.34}\n a${a},${a} 1 0,0 ${-1*r*.15},${1*i*.33}\n\n a${a},${a} 1 0,0 ${-1*r*.25},${.15*i}\n a${a},${a} 1 0,0 ${-1*r*.25},0\n a${a},${a} 1 0,0 ${-1*r*.25},0\n a${a},${a} 1 0,0 ${-1*r*.25},${-1*i*.15}\n\n a${a},${a} 1 0,0 ${-1*r*.1},${-1*i*.33}\n a${.8*a},${.8*a} 1 0,0 0,${-1*i*.34}\n a${a},${a} 1 0,0 ${.1*r},${-1*i*.33}\n\n H0 V0 Z`)}(e,l,n);break;case e.nodeType.HEXAGON:!function(e,t,n){const r=n.height,i=r/4,a=n.width-n.padding+2*i;!function(e,t,n,r,i){e.insert("polygon",":first-child").attr("points",r.map((function(e){return e.x+","+e.y})).join(" ")).attr("transform","translate("+(i.width-t)/2+", "+n+")")}(t,a,r,[{x:i,y:0},{x:a-i,y:0},{x:a,y:-r/2},{x:a-i,y:-r},{x:i,y:-r},{x:0,y:-r/2}],n)}(0,l,n)}e.setElementForId(n.id,s),n.height}(e,t,n,r,i),n.children&&n.children.forEach(((n,a)=>{a8e(e,t,n,r<0?a:r,i)}))}function o8e(e,t,n,r){t.add({group:"nodes",data:{id:e.id.toString(),labelText:e.descr,height:e.height,width:e.width,level:r,nodeId:e.id,padding:e.padding,type:e.type},position:{x:e.x,y:e.y}}),e.children&&e.children.forEach((i=>{o8e(i,t,n,r+1),t.add({group:"edges",data:{id:`${e.id}_${i.id}`,source:e.id,target:i.id,depth:r,section:i.section}})}))}function s8e(e,t){return new Promise((n=>{const r=A3("body").append("div").attr("id","cy").attr("style","display:none"),i=q6e({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});r.remove(),o8e(e,i,t,0),i.nodes().forEach((function(e){e.layoutDimensions=()=>{const t=e.data();return{w:t.width,h:t.height}}})),i.layout({name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1}).run(),i.ready((e=>{a9.info("Ready",e),n(i)}))}))}q6e.use(X6e);const c8e={draw:async(e,t,n,r)=>{var i,a;a9.debug("Rendering mindmap diagram\n"+e);const o=r.db,s=o.getMindmap();if(!s)return;const c=Rte();c.htmlLabels=!1;const l=Vte(t),u=l.append("g");u.attr("class","mindmap-edges");const h=l.append("g");h.attr("class","mindmap-nodes"),a8e(o,h,s,-1,c);const d=await s8e(s,c);!function(e,t){t.edges().map(((t,n)=>{const r=t.data();if(t[0]._private.bodyBounds){const i=t[0]._private.rscratch;a9.trace("Edge: ",n,r),e.insert("path").attr("d",`M ${i.startX},${i.startY} L ${i.midX},${i.midY} L${i.endX},${i.endY} `).attr("class","edge section-edge-"+r.section+" edge-depth-"+r.depth)}}))}(u,d),function(e,t){t.nodes().map(((t,n)=>{const r=t.data();r.x=t.position().x,r.y=t.position().y,function(e,t){const n=e.getElementById(t.id),r=t.x||0,i=t.y||0;n.attr("transform","translate("+r+","+i+")")}(e,r);const i=e.getElementById(r.nodeId);a9.info("Id:",n,"Position: (",t.position().x,", ",t.position().y,")",r),i.attr("transform",`translate(${t.position().x-r.width/2}, ${t.position().y-r.height/2})`),i.attr("attr",`apa-${n})`)}))}(o,d),vte(void 0,l,(null==(i=c.mindmap)?void 0:i.padding)??R9.mindmap.padding,(null==(a=c.mindmap)?void 0:a.useMaxWidth)??R9.mindmap.useMaxWidth)}},l8e=e=>`\n .edge {\n stroke-width: 3;\n }\n ${(e=>{let t="";for(let t=0;t<e.THEME_COLOR_LIMIT;t++)e["lineColor"+t]=e["lineColor"+t]||e["cScaleInv"+t],c6(e["lineColor"+t])?e["lineColor"+t]=u6(e["lineColor"+t],20):e["lineColor"+t]=h6(e["lineColor"+t],20);for(let n=0;n<e.THEME_COLOR_LIMIT;n++){const r=""+(17-3*n);t+=`\n .section-${n-1} rect, .section-${n-1} path, .section-${n-1} circle, .section-${n-1} polygon, .section-${n-1} path {\n fill: ${e["cScale"+n]};\n }\n .section-${n-1} text {\n fill: ${e["cScaleLabel"+n]};\n }\n .node-icon-${n-1} {\n font-size: 40px;\n color: ${e["cScaleLabel"+n]};\n }\n .section-edge-${n-1}{\n stroke: ${e["cScale"+n]};\n }\n .edge-depth-${n-1}{\n stroke-width: ${r};\n }\n .section-${n-1} line {\n stroke: ${e["cScaleInv"+n]} ;\n stroke-width: 3;\n }\n\n .disabled, .disabled circle, .disabled text {\n fill: lightgray;\n }\n .disabled text {\n fill: #efefef;\n }\n `}return t})(e)}\n .section-root rect, .section-root path, .section-root circle, .section-root polygon {\n fill: ${e.git0};\n }\n .section-root text {\n fill: ${e.gitBranchLabel0};\n }\n .icon-container {\n height:100%;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n .edge {\n fill: none;\n }\n .mindmap-node-label {\n dy: 1em;\n alignment-baseline: middle;\n text-anchor: middle;\n dominant-baseline: middle;\n text-align: center;\n }\n`,u8e={db:i8e,renderer:c8e,parser:Q6e,styles:l8e};var h8e=Object.freeze({__proto__:null,diagram:u8e});function d8e(e,t){let n;if(void 0===t)for(const t of e)null!=t&&(n<t||void 0===n&&t>=t)&&(n=t);else{let r=-1;for(let i of e)null!=(i=t(i,++r,e))&&(n<i||void 0===n&&i>=i)&&(n=i)}return n}function f8e(e,t){let n;if(void 0===t)for(const t of e)null!=t&&(n>t||void 0===n&&t>=t)&&(n=t);else{let r=-1;for(let i of e)null!=(i=t(i,++r,e))&&(n>i||void 0===n&&i>=i)&&(n=i)}return n}function p8e(e,t){let n=0;if(void 0===t)for(let t of e)(t=+t)&&(n+=t);else{let r=-1;for(let i of e)(i=+t(i,++r,e))&&(n+=i)}return n}function m8e(e){return e.target.depth}function g8e(e,t){return e.sourceLinks.length?e.depth:t-1}function b8e(e){return function(){return e}}function y8e(e,t){return w8e(e.source,t.source)||e.index-t.index}function v8e(e,t){return w8e(e.target,t.target)||e.index-t.index}function w8e(e,t){return e.y0-t.y0}function x8e(e){return e.value}function k8e(e){return e.index}function S8e(e){return e.nodes}function E8e(e){return e.links}function _8e(e,t){const n=e.get(t);if(!n)throw new Error("missing: "+t);return n}function A8e({nodes:e}){for(const t of e){let e=t.y0,n=e;for(const n of t.sourceLinks)n.y0=e+n.width/2,e+=n.width;for(const e of t.targetLinks)e.y1=n+e.width/2,n+=e.width}}function T8e(){let e,t,n,r=0,i=0,a=1,o=1,s=24,c=8,l=k8e,u=g8e,h=S8e,d=E8e,f=6;function p(){const p={nodes:h.apply(null,arguments),links:d.apply(null,arguments)};return function({nodes:e,links:t}){for(const[t,n]of e.entries())n.index=t,n.sourceLinks=[],n.targetLinks=[];const r=new Map(e.map(((t,n)=>[l(t,n,e),t])));for(const[e,n]of t.entries()){n.index=e;let{source:t,target:i}=n;"object"!=typeof t&&(t=n.source=_8e(r,t)),"object"!=typeof i&&(i=n.target=_8e(r,i)),t.sourceLinks.push(n),i.targetLinks.push(n)}if(null!=n)for(const{sourceLinks:t,targetLinks:r}of e)t.sort(n),r.sort(n)}(p),function({nodes:e}){for(const t of e)t.value=void 0===t.fixedValue?Math.max(p8e(t.sourceLinks,x8e),p8e(t.targetLinks,x8e)):t.fixedValue}(p),function({nodes:e}){const t=e.length;let n=new Set(e),r=new Set,i=0;for(;n.size;){for(const e of n){e.depth=i;for(const{target:t}of e.sourceLinks)r.add(t)}if(++i>t)throw new Error("circular link");n=r,r=new Set}}(p),function({nodes:e}){const t=e.length;let n=new Set(e),r=new Set,i=0;for(;n.size;){for(const e of n){e.height=i;for(const{source:t}of e.targetLinks)r.add(t)}if(++i>t)throw new Error("circular link");n=r,r=new Set}}(p),function(n){const l=function({nodes:e}){const n=d8e(e,(e=>e.depth))+1,i=(a-r-s)/(n-1),o=new Array(n);for(const t of e){const e=Math.max(0,Math.min(n-1,Math.floor(u.call(null,t,n))));t.layer=e,t.x0=r+e*i,t.x1=t.x0+s,o[e]?o[e].push(t):o[e]=[t]}if(t)for(const e of o)e.sort(t);return o}(n);e=Math.min(c,(o-i)/(d8e(l,(e=>e.length))-1)),function(t){const n=f8e(t,(t=>(o-i-(t.length-1)*e)/p8e(t,x8e)));for(const r of t){let t=i;for(const i of r){i.y0=t,i.y1=t+i.value*n,t=i.y1+e;for(const e of i.sourceLinks)e.width=e.value*n}t=(o-t+e)/(r.length+1);for(let e=0;e<r.length;++e){const n=r[e];n.y0+=t*(e+1),n.y1+=t*(e+1)}x(r)}}(l);for(let e=0;e<f;++e){const t=Math.pow(.99,e),n=Math.max(1-t,(e+1)/f);g(l,t,n),m(l,t,n)}}(p),A8e(p),p}function m(e,n,r){for(let i=1,a=e.length;i<a;++i){const a=e[i];for(const e of a){let t=0,r=0;for(const{source:n,value:i}of e.targetLinks){let a=i*(e.layer-n.layer);t+=k(n,e)*a,r+=a}if(!(r>0))continue;let i=(t/r-e.y0)*n;e.y0+=i,e.y1+=i,w(e)}void 0===t&&a.sort(w8e),b(a,r)}}function g(e,n,r){for(let i=e.length-2;i>=0;--i){const a=e[i];for(const e of a){let t=0,r=0;for(const{target:n,value:i}of e.sourceLinks){let a=i*(n.layer-e.layer);t+=S(e,n)*a,r+=a}if(!(r>0))continue;let i=(t/r-e.y0)*n;e.y0+=i,e.y1+=i,w(e)}void 0===t&&a.sort(w8e),b(a,r)}}function b(t,n){const r=t.length>>1,a=t[r];v(t,a.y0-e,r-1,n),y(t,a.y1+e,r+1,n),v(t,o,t.length-1,n),y(t,i,0,n)}function y(t,n,r,i){for(;r<t.length;++r){const a=t[r],o=(n-a.y0)*i;o>1e-6&&(a.y0+=o,a.y1+=o),n=a.y1+e}}function v(t,n,r,i){for(;r>=0;--r){const a=t[r],o=(a.y1-n)*i;o>1e-6&&(a.y0-=o,a.y1-=o),n=a.y0-e}}function w({sourceLinks:e,targetLinks:t}){if(void 0===n){for(const{source:{sourceLinks:e}}of t)e.sort(v8e);for(const{target:{targetLinks:t}}of e)t.sort(y8e)}}function x(e){if(void 0===n)for(const{sourceLinks:t,targetLinks:n}of e)t.sort(v8e),n.sort(y8e)}function k(t,n){let r=t.y0-(t.sourceLinks.length-1)*e/2;for(const{target:i,width:a}of t.sourceLinks){if(i===n)break;r+=a+e}for(const{source:e,width:i}of n.targetLinks){if(e===t)break;r-=i}return r}function S(t,n){let r=n.y0-(n.targetLinks.length-1)*e/2;for(const{source:i,width:a}of n.targetLinks){if(i===t)break;r+=a+e}for(const{target:e,width:i}of t.sourceLinks){if(e===n)break;r-=i}return r}return p.update=function(e){return A8e(e),e},p.nodeId=function(e){return arguments.length?(l="function"==typeof e?e:b8e(e),p):l},p.nodeAlign=function(e){return arguments.length?(u="function"==typeof e?e:b8e(e),p):u},p.nodeSort=function(e){return arguments.length?(t=e,p):t},p.nodeWidth=function(e){return arguments.length?(s=+e,p):s},p.nodePadding=function(t){return arguments.length?(c=e=+t,p):c},p.nodes=function(e){return arguments.length?(h="function"==typeof e?e:b8e(e),p):h},p.links=function(e){return arguments.length?(d="function"==typeof e?e:b8e(e),p):d},p.linkSort=function(e){return arguments.length?(n=e,p):n},p.size=function(e){return arguments.length?(r=i=0,a=+e[0],o=+e[1],p):[a-r,o-i]},p.extent=function(e){return arguments.length?(r=+e[0][0],a=+e[1][0],i=+e[0][1],o=+e[1][1],p):[[r,i],[a,o]]},p.iterations=function(e){return arguments.length?(f=+e,p):f},p}var C8e=Math.PI,O8e=2*C8e,D8e=1e-6,M8e=O8e-D8e;function I8e(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function P8e(){return new I8e}function N8e(e){return function(){return e}}function L8e(e){return e[0]}function R8e(e){return e[1]}I8e.prototype=P8e.prototype={constructor:I8e,moveTo:function(e,t){this._+="M"+(this._x0=this._x1=+e)+","+(this._y0=this._y1=+t)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(e,t){this._+="L"+(this._x1=+e)+","+(this._y1=+t)},quadraticCurveTo:function(e,t,n,r){this._+="Q"+ +e+","+ +t+","+(this._x1=+n)+","+(this._y1=+r)},bezierCurveTo:function(e,t,n,r,i,a){this._+="C"+ +e+","+ +t+","+ +n+","+ +r+","+(this._x1=+i)+","+(this._y1=+a)},arcTo:function(e,t,n,r,i){e=+e,t=+t,n=+n,r=+r,i=+i;var a=this._x1,o=this._y1,s=n-e,c=r-t,l=a-e,u=o-t,h=l*l+u*u;if(i<0)throw new Error("negative radius: "+i);if(null===this._x1)this._+="M"+(this._x1=e)+","+(this._y1=t);else if(h>D8e)if(Math.abs(u*s-c*l)>D8e&&i){var d=n-a,f=r-o,p=s*s+c*c,m=d*d+f*f,g=Math.sqrt(p),b=Math.sqrt(h),y=i*Math.tan((C8e-Math.acos((p+h-m)/(2*g*b)))/2),v=y/b,w=y/g;Math.abs(v-1)>D8e&&(this._+="L"+(e+v*l)+","+(t+v*u)),this._+="A"+i+","+i+",0,0,"+ +(u*d>l*f)+","+(this._x1=e+w*s)+","+(this._y1=t+w*c)}else this._+="L"+(this._x1=e)+","+(this._y1=t);else;},arc:function(e,t,n,r,i,a){e=+e,t=+t,a=!!a;var o=(n=+n)*Math.cos(r),s=n*Math.sin(r),c=e+o,l=t+s,u=1^a,h=a?r-i:i-r;if(n<0)throw new Error("negative radius: "+n);null===this._x1?this._+="M"+c+","+l:(Math.abs(this._x1-c)>D8e||Math.abs(this._y1-l)>D8e)&&(this._+="L"+c+","+l),n&&(h<0&&(h=h%O8e+O8e),h>M8e?this._+="A"+n+","+n+",0,1,"+u+","+(e-o)+","+(t-s)+"A"+n+","+n+",0,1,"+u+","+(this._x1=c)+","+(this._y1=l):h>D8e&&(this._+="A"+n+","+n+",0,"+ +(h>=C8e)+","+u+","+(this._x1=e+n*Math.cos(i))+","+(this._y1=t+n*Math.sin(i))))},rect:function(e,t,n,r){this._+="M"+(this._x0=this._x1=+e)+","+(this._y0=this._y1=+t)+"h"+ +n+"v"+ +r+"h"+-n+"Z"},toString:function(){return this._}};var j8e=Array.prototype.slice;function B8e(e){return e.source}function F8e(e){return e.target}function z8e(e,t,n,r,i){e.moveTo(t,n),e.bezierCurveTo(t=(t+r)/2,n,t,i,r,i)}function $8e(){return function(e){var t=B8e,n=F8e,r=L8e,i=R8e,a=null;function o(){var o,s=j8e.call(arguments),c=t.apply(this,s),l=n.apply(this,s);if(a||(a=o=P8e()),e(a,+r.apply(this,(s[0]=c,s)),+i.apply(this,s),+r.apply(this,(s[0]=l,s)),+i.apply(this,s)),o)return a=null,o+""||null}return o.source=function(e){return arguments.length?(t=e,o):t},o.target=function(e){return arguments.length?(n=e,o):n},o.x=function(e){return arguments.length?(r="function"==typeof e?e:N8e(+e),o):r},o.y=function(e){return arguments.length?(i="function"==typeof e?e:N8e(+e),o):i},o.context=function(e){return arguments.length?(a=null==e?null:e,o):a},o}(z8e)}function q8e(e){return[e.source.x1,e.y0]}function H8e(e){return[e.target.x0,e.y1]}var U8e=function(){var e,t=function(e,t,n,r){for(n=n||{},r=e.length;r--;n[e[r]]=t);return n},n=[1,9],r=[1,10],i=[1,5,10,12],a={trace:function(){},yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:function(e,t,n,r,i,a,o){var s=a.length-1;switch(i){case 7:const e=r.findOrCreateNode(a[s-4].trim().replaceAll('""','"')),t=r.findOrCreateNode(a[s-2].trim().replaceAll('""','"')),n=parseFloat(a[s].trim());r.addLink(e,t,n);break;case 8:case 9:case 11:this.$=a[s];break;case 10:this.$=a[s-1]}},table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:n,20:r},{1:[2,6],7:11,10:[1,12]},t(r,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(i,[2,8]),t(i,[2,9]),{19:[1,16]},t(i,[2,11]),{1:[2,1]},{1:[2,5]},t(r,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:n,20:r},{15:18,16:7,17:8,18:n,20:r},{18:[1,19]},t(r,[2,3]),{12:[1,20]},t(i,[2,10]),{15:21,16:7,17:8,18:n,20:r},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:function(e,t){if(!t.recoverable){var n=new Error(e);throw n.hash=t,n}this.trace(e)},parse:function(e){var t=this,n=[0],r=[],i=[null],a=[],o=this.table,s="",c=0,l=0,u=a.slice.call(arguments,1),h=Object.create(this.lexer),d={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(d.yy[f]=this.yy[f]);h.setInput(e,d.yy),d.yy.lexer=h,d.yy.parser=this,void 0===h.yylloc&&(h.yylloc={});var p=h.yylloc;a.push(p);var m=h.options&&h.options.ranges;function g(){var e;return"number"!=typeof(e=r.pop()||h.lex()||1)&&(e instanceof Array&&(e=(r=e).pop()),e=t.symbols_[e]||e),e}"function"==typeof d.yy.parseError?this.parseError=d.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var b,y,v,w,x,k,S,E,_={};;){if(y=n[n.length-1],this.defaultActions[y]?v=this.defaultActions[y]:(null==b&&(b=g()),v=o[y]&&o[y][b]),void 0===v||!v.length||!v[0]){var A="";for(x in E=[],o[y])this.terminals_[x]&&x>2&&E.push("'"+this.terminals_[x]+"'");A=h.showPosition?"Parse error on line "+(c+1)+":\n"+h.showPosition()+"\nExpecting "+E.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==b?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(A,{text:h.match,token:this.terminals_[b]||b,line:h.yylineno,loc:p,expected:E})}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+y+", token: "+b);switch(v[0]){case 1:n.push(b),i.push(h.yytext),a.push(h.yylloc),n.push(v[1]),b=null,l=h.yyleng,s=h.yytext,c=h.yylineno,p=h.yylloc;break;case 2:if(k=this.productions_[v[1]][1],_.$=i[i.length-k],_._$={first_line:a[a.length-(k||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(k||1)].first_column,last_column:a[a.length-1].last_column},m&&(_._$.range=[a[a.length-(k||1)].range[0],a[a.length-1].range[1]]),void 0!==(w=this.performAction.apply(_,[s,l,c,d.yy,v[1],i,a].concat(u))))return w;k&&(n=n.slice(0,-1*k*2),i=i.slice(0,-1*k),a=a.slice(0,-1*k)),n.push(this.productions_[v[1]][0]),i.push(_.$),a.push(_._$),S=o[n[n.length-2]][n[n.length-1]],n.push(S);break;case 3:return!0}}return!0}},o=(e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var e,t,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!t||n[0].length>t[0].length)){if(t=n,r=a,this.options.backtrack_lexer){if(!1!==(e=this.test_match(n,i[a])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,i[r]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var e=this.next();return e||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,n,r){switch(n){case 0:return this.pushState("csv"),4;case 1:return 10;case 2:return 5;case 3:return 12;case 4:return this.pushState("escaped_text"),18;case 5:return 20;case 6:return this.popState("escaped_text"),18;case 7:return 19}},rules:[/^(?:sankey-beta\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[1,2,3,4,5,6,7],inclusive:!1},escaped_text:{rules:[6,7],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}},e);function s(){this.yy={}}return a.lexer=o,s.prototype=a,a.Parser=s,new s}();U8e.parser=U8e;const V8e=U8e;let W8e=[],G8e=[],K8e={};class Y8e{constructor(e,t,n=0){this.source=e,this.target=t,this.value=n}}class X8e{constructor(e){this.ID=e}}const Z8e={nodesMap:K8e,getConfig:()=>Rte().sankey,getNodes:()=>G8e,getLinks:()=>W8e,getGraph:()=>({nodes:G8e.map((e=>({id:e.ID}))),links:W8e.map((e=>({source:e.source.ID,target:e.target.ID,value:e.value})))}),addLink:(e,t,n)=>{W8e.push(new Y8e(e,t,n))},findOrCreateNode:e=>(e=_9.sanitizeText(e,Rte()),K8e[e]||(K8e[e]=new X8e(e),G8e.push(K8e[e])),K8e[e]),getAccTitle:Cte,setAccTitle:Tte,getAccDescription:Dte,setAccDescription:Ote,getDiagramTitle:Ite,setDiagramTitle:Mte,clear:()=>{W8e=[],G8e=[],K8e={},Ate()}},Q8e=class e{static next(t){return new e(t+ ++e.count)}constructor(e){this.id=e,this.href=`#${e}`}toString(){return"url("+this.href+")"}};Q8e.count=0;let J8e=Q8e;const e7e={left:function(e){return e.depth},right:function(e,t){return t-1-e.height},center:function(e){return e.targetLinks.length?e.depth:e.sourceLinks.length?f8e(e.sourceLinks,m8e)-1:0},justify:g8e},t7e={draw:function(e,t,n,r){const{securityLevel:i,sankey:a}=Rte(),o=Bte.sankey;let s;"sandbox"===i&&(s=A3("#i"+t));const c=A3("sandbox"===i?s.nodes()[0].contentDocument.body:"body"),l="sandbox"===i?c.select(`[id="${t}"]`):A3(`[id="${t}"]`),u=(null==a?void 0:a.width)??o.width,h=(null==a?void 0:a.height)??o.width,d=(null==a?void 0:a.useMaxWidth)??o.useMaxWidth,f=(null==a?void 0:a.nodeAlignment)??o.nodeAlignment,p=(null==a?void 0:a.prefix)??o.prefix,m=(null==a?void 0:a.suffix)??o.suffix,g=(null==a?void 0:a.showValues)??o.showValues,b=r.db.getGraph(),y=e7e[f],v=T8e().nodeId((e=>e.id)).nodeWidth(10).nodePadding(10+(g?15:0)).nodeAlign(y).extent([[0,0],[u,h]]);v(b);const w=sE(M4);l.append("g").attr("class","nodes").selectAll(".node").data(b.nodes).join("g").attr("class","node").attr("id",(e=>(e.uid=J8e.next("node-")).id)).attr("transform",(function(e){return"translate("+e.x0+","+e.y0+")"})).attr("x",(e=>e.x0)).attr("y",(e=>e.y0)).append("rect").attr("height",(e=>e.y1-e.y0)).attr("width",(e=>e.x1-e.x0)).attr("fill",(e=>w(e.id)));l.append("g").attr("class","node-labels").attr("font-family","sans-serif").attr("font-size",14).selectAll("text").data(b.nodes).join("text").attr("x",(e=>e.x0<u/2?e.x1+6:e.x0-6)).attr("y",(e=>(e.y1+e.y0)/2)).attr("dy",(g?"0":"0.35")+"em").attr("text-anchor",(e=>e.x0<u/2?"start":"end")).text((({id:e,value:t})=>g?`${e}\n${p}${Math.round(100*t)/100}${m}`:e));const x=l.append("g").attr("class","links").attr("fill","none").attr("stroke-opacity",.5).selectAll(".link").data(b.links).join("g").attr("class","link").style("mix-blend-mode","multiply"),k=(null==a?void 0:a.linkColor)||"gradient";if("gradient"===k){const e=x.append("linearGradient").attr("id",(e=>(e.uid=J8e.next("linearGradient-")).id)).attr("gradientUnits","userSpaceOnUse").attr("x1",(e=>e.source.x1)).attr("x2",(e=>e.target.x0));e.append("stop").attr("offset","0%").attr("stop-color",(e=>w(e.source.id))),e.append("stop").attr("offset","100%").attr("stop-color",(e=>w(e.target.id)))}let S;switch(k){case"gradient":S=e=>e.uid;break;case"source":S=e=>w(e.source.id);break;case"target":S=e=>w(e.target.id);break;default:S=k}x.append("path").attr("d",$8e().source(q8e).target(H8e)).attr("stroke",S).attr("stroke-width",(e=>Math.max(1,e.width))),vte(void 0,l,0,d)}},n7e=V8e.parse.bind(V8e);V8e.parse=e=>n7e((e=>e.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,"\n").trim())(e));const r7e={parser:V8e,db:Z8e,renderer:t7e};var i7e,a7e,o7e=Object.freeze({__proto__:null,diagram:r7e}),s7e=function(){var e,t=function(e,t,n,r){for(n=n||{},r=e.length;r--;n[e[r]]=t);return n},n=[1,7],r=[1,13],i=[1,14],a=[1,15],o=[1,19],s=[1,16],c=[1,17],l=[1,18],u=[8,30],h=[8,21,28,29,30,31,32,40,44,47],d=[1,23],f=[1,24],p=[8,15,16,21,28,29,30,31,32,40,44,47],m=[8,15,16,21,27,28,29,30,31,32,40,44,47],g=[1,49],b={trace:function(){},yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,block:31,NODE_ID:32,nodeShapeNLabel:33,dirList:34,DIR:35,NODE_DSTART:36,NODE_DEND:37,BLOCK_ARROW_START:38,BLOCK_ARROW_END:39,classDef:40,CLASSDEF_ID:41,CLASSDEF_STYLEOPTS:42,DEFAULT:43,class:44,CLASSENTITY_IDS:45,STYLECLASS:46,style:47,STYLE_ENTITY_IDS:48,STYLE_DEFINITION_DATA:49,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"block",32:"NODE_ID",35:"DIR",36:"NODE_DSTART",37:"NODE_DEND",38:"BLOCK_ARROW_START",39:"BLOCK_ARROW_END",40:"classDef",41:"CLASSDEF_ID",42:"CLASSDEF_STYLEOPTS",43:"DEFAULT",44:"class",45:"CLASSENTITY_IDS",46:"STYLECLASS",47:"style",48:"STYLE_ENTITY_IDS",49:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[34,1],[34,2],[33,3],[33,4],[23,3],[23,3],[24,3],[25,3]],performAction:function(e,t,n,r,i,a,o){var s=a.length-1;switch(i){case 4:r.getLogger().debug("Rule: separator (NL) ");break;case 5:r.getLogger().debug("Rule: separator (Space) ");break;case 6:r.getLogger().debug("Rule: separator (EOF) ");break;case 7:r.getLogger().debug("Rule: hierarchy: ",a[s-1]),r.setHierarchy(a[s-1]);break;case 8:r.getLogger().debug("Stop NL ");break;case 9:r.getLogger().debug("Stop EOF ");break;case 10:r.getLogger().debug("Stop NL2 ");break;case 11:r.getLogger().debug("Stop EOF2 ");break;case 12:r.getLogger().debug("Rule: statement: ",a[s]),"number"==typeof a[s].length?this.$=a[s]:this.$=[a[s]];break;case 13:r.getLogger().debug("Rule: statement #2: ",a[s-1]),this.$=[a[s-1]].concat(a[s]);break;case 14:r.getLogger().debug("Rule: link: ",a[s],e),this.$={edgeTypeStr:a[s],label:""};break;case 15:r.getLogger().debug("Rule: LABEL link: ",a[s-3],a[s-1],a[s]),this.$={edgeTypeStr:a[s],label:a[s-1]};break;case 18:const t=parseInt(a[s]),n=r.generateId();this.$={id:n,type:"space",label:"",width:t,children:[]};break;case 23:r.getLogger().debug("Rule: (nodeStatement link node) ",a[s-2],a[s-1],a[s]," typestr: ",a[s-1].edgeTypeStr);const i=r.edgeStrToEdgeData(a[s-1].edgeTypeStr);this.$=[{id:a[s-2].id,label:a[s-2].label,type:a[s-2].type,directions:a[s-2].directions},{id:a[s-2].id+"-"+a[s].id,start:a[s-2].id,end:a[s].id,label:a[s-1].label,type:"edge",directions:a[s].directions,arrowTypeEnd:i,arrowTypeStart:"arrow_open"},{id:a[s].id,label:a[s].label,type:r.typeStr2Type(a[s].typeStr),directions:a[s].directions}];break;case 24:r.getLogger().debug("Rule: nodeStatement (abc88 node size) ",a[s-1],a[s]),this.$={id:a[s-1].id,label:a[s-1].label,type:r.typeStr2Type(a[s-1].typeStr),directions:a[s-1].directions,widthInColumns:parseInt(a[s],10)};break;case 25:r.getLogger().debug("Rule: nodeStatement (node) ",a[s]),this.$={id:a[s].id,label:a[s].label,type:r.typeStr2Type(a[s].typeStr),directions:a[s].directions,widthInColumns:1};break;case 26:r.getLogger().debug("APA123",this?this:"na"),r.getLogger().debug("COLUMNS: ",a[s]),this.$={type:"column-setting",columns:"auto"===a[s]?-1:parseInt(a[s])};break;case 27:r.getLogger().debug("Rule: id-block statement : ",a[s-2],a[s-1]),r.generateId(),this.$={...a[s-2],type:"composite",children:a[s-1]};break;case 28:r.getLogger().debug("Rule: blockStatement : ",a[s-2],a[s-1],a[s]);const o=r.generateId();this.$={id:o,type:"composite",label:"",children:a[s-1]};break;case 29:r.getLogger().debug("Rule: node (NODE_ID separator): ",a[s]),this.$={id:a[s]};break;case 30:r.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",a[s-1],a[s]),this.$={id:a[s-1],label:a[s].label,typeStr:a[s].typeStr,directions:a[s].directions};break;case 31:r.getLogger().debug("Rule: dirList: ",a[s]),this.$=[a[s]];break;case 32:r.getLogger().debug("Rule: dirList: ",a[s-1],a[s]),this.$=[a[s-1]].concat(a[s]);break;case 33:r.getLogger().debug("Rule: nodeShapeNLabel: ",a[s-2],a[s-1],a[s]),this.$={typeStr:a[s-2]+a[s],label:a[s-1]};break;case 34:r.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",a[s-3],a[s-2]," #3:",a[s-1],a[s]),this.$={typeStr:a[s-3]+a[s],label:a[s-2],directions:a[s-1]};break;case 35:case 36:this.$={type:"classDef",id:a[s-1].trim(),css:a[s].trim()};break;case 37:this.$={type:"applyClass",id:a[s-1].trim(),styleClass:a[s].trim()};break;case 38:this.$={type:"applyStyles",id:a[s-1].trim(),stylesStr:a[s].trim()}}},table:[{9:1,10:[1,2]},{1:[3]},{11:3,13:4,19:5,20:6,21:n,22:8,23:9,24:10,25:11,26:12,28:r,29:i,31:a,32:o,40:s,44:c,47:l},{8:[1,20]},t(u,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,21:n,28:r,29:i,31:a,32:o,40:s,44:c,47:l}),t(h,[2,16],{14:22,15:d,16:f}),t(h,[2,17]),t(h,[2,18]),t(h,[2,19]),t(h,[2,20]),t(h,[2,21]),t(h,[2,22]),t(p,[2,25],{27:[1,25]}),t(h,[2,26]),{19:26,26:12,32:o},{11:27,13:4,19:5,20:6,21:n,22:8,23:9,24:10,25:11,26:12,28:r,29:i,31:a,32:o,40:s,44:c,47:l},{41:[1,28],43:[1,29]},{45:[1,30]},{48:[1,31]},t(m,[2,29],{33:32,36:[1,33],38:[1,34]}),{1:[2,7]},t(u,[2,13]),{26:35,32:o},{32:[2,14]},{17:[1,36]},t(p,[2,24]),{11:37,13:4,14:22,15:d,16:f,19:5,20:6,21:n,22:8,23:9,24:10,25:11,26:12,28:r,29:i,31:a,32:o,40:s,44:c,47:l},{30:[1,38]},{42:[1,39]},{42:[1,40]},{46:[1,41]},{49:[1,42]},t(m,[2,30]),{18:[1,43]},{18:[1,44]},t(p,[2,23]),{18:[1,45]},{30:[1,46]},t(h,[2,28]),t(h,[2,35]),t(h,[2,36]),t(h,[2,37]),t(h,[2,38]),{37:[1,47]},{34:48,35:g},{15:[1,50]},t(h,[2,27]),t(m,[2,33]),{39:[1,51]},{34:52,35:g,39:[2,31]},{32:[2,15]},t(m,[2,34]),{39:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:function(e,t){if(!t.recoverable){var n=new Error(e);throw n.hash=t,n}this.trace(e)},parse:function(e){var t=this,n=[0],r=[],i=[null],a=[],o=this.table,s="",c=0,l=0,u=a.slice.call(arguments,1),h=Object.create(this.lexer),d={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(d.yy[f]=this.yy[f]);h.setInput(e,d.yy),d.yy.lexer=h,d.yy.parser=this,void 0===h.yylloc&&(h.yylloc={});var p=h.yylloc;a.push(p);var m=h.options&&h.options.ranges;function g(){var e;return"number"!=typeof(e=r.pop()||h.lex()||1)&&(e instanceof Array&&(e=(r=e).pop()),e=t.symbols_[e]||e),e}"function"==typeof d.yy.parseError?this.parseError=d.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var b,y,v,w,x,k,S,E,_={};;){if(y=n[n.length-1],this.defaultActions[y]?v=this.defaultActions[y]:(null==b&&(b=g()),v=o[y]&&o[y][b]),void 0===v||!v.length||!v[0]){var A="";for(x in E=[],o[y])this.terminals_[x]&&x>2&&E.push("'"+this.terminals_[x]+"'");A=h.showPosition?"Parse error on line "+(c+1)+":\n"+h.showPosition()+"\nExpecting "+E.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==b?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(A,{text:h.match,token:this.terminals_[b]||b,line:h.yylineno,loc:p,expected:E})}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+y+", token: "+b);switch(v[0]){case 1:n.push(b),i.push(h.yytext),a.push(h.yylloc),n.push(v[1]),b=null,l=h.yyleng,s=h.yytext,c=h.yylineno,p=h.yylloc;break;case 2:if(k=this.productions_[v[1]][1],_.$=i[i.length-k],_._$={first_line:a[a.length-(k||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(k||1)].first_column,last_column:a[a.length-1].last_column},m&&(_._$.range=[a[a.length-(k||1)].range[0],a[a.length-1].range[1]]),void 0!==(w=this.performAction.apply(_,[s,l,c,d.yy,v[1],i,a].concat(u))))return w;k&&(n=n.slice(0,-1*k*2),i=i.slice(0,-1*k),a=a.slice(0,-1*k)),n.push(this.productions_[v[1]][0]),i.push(_.$),a.push(_._$),S=o[n[n.length-2]][n[n.length-1]],n.push(S);break;case 3:return!0}}return!0}},y=(e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var e,t,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!t||n[0].length>t[0].length)){if(t=n,r=a,this.options.backtrack_lexer){if(!1!==(e=this.test_match(n,i[a])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,i[r]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var e=this.next();return e||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,n,r){switch(n){case 0:return 10;case 1:return e.getLogger().debug("Found space-block"),31;case 2:return e.getLogger().debug("Found nl-block"),31;case 3:return e.getLogger().debug("Found space-block"),29;case 4:e.getLogger().debug(".",t.yytext);break;case 5:e.getLogger().debug("_",t.yytext);break;case 6:return 5;case 7:return t.yytext=-1,28;case 8:return t.yytext=t.yytext.replace(/columns\s+/,""),e.getLogger().debug("COLUMNS (LEX)",t.yytext),28;case 9:case 77:case 78:case 100:this.pushState("md_string");break;case 10:return"MD_STR";case 11:case 35:case 80:this.popState();break;case 12:this.pushState("string");break;case 13:e.getLogger().debug("LEX: POPPING STR:",t.yytext),this.popState();break;case 14:return e.getLogger().debug("LEX: STR end:",t.yytext),"STR";case 15:return t.yytext=t.yytext.replace(/space\:/,""),e.getLogger().debug("SPACE NUM (LEX)",t.yytext),21;case 16:return t.yytext="1",e.getLogger().debug("COLUMNS (LEX)",t.yytext),21;case 17:return 43;case 18:return"LINKSTYLE";case 19:return"INTERPOLATE";case 20:return this.pushState("CLASSDEF"),40;case 21:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 22:return this.popState(),this.pushState("CLASSDEFID"),41;case 23:return this.popState(),42;case 24:return this.pushState("CLASS"),44;case 25:return this.popState(),this.pushState("CLASS_STYLE"),45;case 26:return this.popState(),46;case 27:return this.pushState("STYLE_STMNT"),47;case 28:return this.popState(),this.pushState("STYLE_DEFINITION"),48;case 29:return this.popState(),49;case 30:return this.pushState("acc_title"),"acc_title";case 31:return this.popState(),"acc_title_value";case 32:return this.pushState("acc_descr"),"acc_descr";case 33:return this.popState(),"acc_descr_value";case 34:this.pushState("acc_descr_multiline");break;case 36:return"acc_descr_multiline_value";case 37:return 30;case 38:case 39:case 41:case 42:case 45:return this.popState(),e.getLogger().debug("Lex: (("),"NODE_DEND";case 40:return this.popState(),e.getLogger().debug("Lex: ))"),"NODE_DEND";case 43:return this.popState(),e.getLogger().debug("Lex: (-"),"NODE_DEND";case 44:return this.popState(),e.getLogger().debug("Lex: -)"),"NODE_DEND";case 46:return this.popState(),e.getLogger().debug("Lex: ]]"),"NODE_DEND";case 47:return this.popState(),e.getLogger().debug("Lex: ("),"NODE_DEND";case 48:return this.popState(),e.getLogger().debug("Lex: ])"),"NODE_DEND";case 49:case 50:return this.popState(),e.getLogger().debug("Lex: /]"),"NODE_DEND";case 51:return this.popState(),e.getLogger().debug("Lex: )]"),"NODE_DEND";case 52:return this.popState(),e.getLogger().debug("Lex: )"),"NODE_DEND";case 53:return this.popState(),e.getLogger().debug("Lex: ]>"),"NODE_DEND";case 54:return this.popState(),e.getLogger().debug("Lex: ]"),"NODE_DEND";case 55:return e.getLogger().debug("Lexa: -)"),this.pushState("NODE"),36;case 56:return e.getLogger().debug("Lexa: (-"),this.pushState("NODE"),36;case 57:return e.getLogger().debug("Lexa: ))"),this.pushState("NODE"),36;case 58:case 60:case 61:case 62:case 65:return e.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 59:return e.getLogger().debug("Lex: ((("),this.pushState("NODE"),36;case 63:return e.getLogger().debug("Lexc: >"),this.pushState("NODE"),36;case 64:return e.getLogger().debug("Lexa: (["),this.pushState("NODE"),36;case 66:case 67:case 68:case 69:case 70:case 71:case 72:return this.pushState("NODE"),36;case 73:return e.getLogger().debug("Lexa: ["),this.pushState("NODE"),36;case 74:return this.pushState("BLOCK_ARROW"),e.getLogger().debug("LEX ARR START"),38;case 75:return e.getLogger().debug("Lex: NODE_ID",t.yytext),32;case 76:return e.getLogger().debug("Lex: EOF",t.yytext),8;case 79:return"NODE_DESCR";case 81:e.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 82:e.getLogger().debug("LEX ARR: Starting string"),this.pushState("string");break;case 83:return e.getLogger().debug("LEX: NODE_DESCR:",t.yytext),"NODE_DESCR";case 84:e.getLogger().debug("LEX POPPING"),this.popState();break;case 85:e.getLogger().debug("Lex: =>BAE"),this.pushState("ARROW_DIR");break;case 86:return t.yytext=t.yytext.replace(/^,\s*/,""),e.getLogger().debug("Lex (right): dir:",t.yytext),"DIR";case 87:return t.yytext=t.yytext.replace(/^,\s*/,""),e.getLogger().debug("Lex (left):",t.yytext),"DIR";case 88:return t.yytext=t.yytext.replace(/^,\s*/,""),e.getLogger().debug("Lex (x):",t.yytext),"DIR";case 89:return t.yytext=t.yytext.replace(/^,\s*/,""),e.getLogger().debug("Lex (y):",t.yytext),"DIR";case 90:return t.yytext=t.yytext.replace(/^,\s*/,""),e.getLogger().debug("Lex (up):",t.yytext),"DIR";case 91:return t.yytext=t.yytext.replace(/^,\s*/,""),e.getLogger().debug("Lex (down):",t.yytext),"DIR";case 92:return t.yytext="]>",e.getLogger().debug("Lex (ARROW_DIR end):",t.yytext),this.popState(),this.popState(),"BLOCK_ARROW_END";case 93:return e.getLogger().debug("Lex: LINK","#"+t.yytext+"#"),15;case 94:case 95:case 96:return e.getLogger().debug("Lex: LINK",t.yytext),15;case 97:case 98:case 99:return e.getLogger().debug("Lex: START_LINK",t.yytext),this.pushState("LLABEL"),16;case 101:return e.getLogger().debug("Lex: Starting string"),this.pushState("string"),"LINK_LABEL";case 102:return this.popState(),e.getLogger().debug("Lex: LINK","#"+t.yytext+"#"),15;case 103:case 104:return this.popState(),e.getLogger().debug("Lex: LINK",t.yytext),15;case 105:return e.getLogger().debug("Lex: COLON",t.yytext),t.yytext=t.yytext.slice(1),27}},rules:[/^(?:block-beta\b)/,/^(?:block\s+)/,/^(?:block\n+)/,/^(?:block:)/,/^(?:[\s]+)/,/^(?:[\n]+)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:columns\s+auto\b)/,/^(?:columns\s+[\d]+)/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:space[:]\d+)/,/^(?:space\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\s+)/,/^(?:DEFAULT\s+)/,/^(?:\w+\s+)/,/^(?:[^\n]*)/,/^(?:class\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:style\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:end\b\s*)/,/^(?:\(\(\()/,/^(?:\)\)\))/,/^(?:[\)]\))/,/^(?:\}\})/,/^(?:\})/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\()/,/^(?:\]\])/,/^(?:\()/,/^(?:\]\))/,/^(?:\\\])/,/^(?:\/\])/,/^(?:\)\])/,/^(?:[\)])/,/^(?:\]>)/,/^(?:[\]])/,/^(?:-\))/,/^(?:\(-)/,/^(?:\)\))/,/^(?:\))/,/^(?:\(\(\()/,/^(?:\(\()/,/^(?:\{\{)/,/^(?:\{)/,/^(?:>)/,/^(?:\(\[)/,/^(?:\()/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\[\\)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:\[)/,/^(?:<\[)/,/^(?:[^\(\[\n\-\)\{\}\s\<\>:]+)/,/^(?:$)/,/^(?:["][`])/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:\]>\s*\()/,/^(?:,?\s*right\s*)/,/^(?:,?\s*left\s*)/,/^(?:,?\s*x\s*)/,/^(?:,?\s*y\s*)/,/^(?:,?\s*up\s*)/,/^(?:,?\s*down\s*)/,/^(?:\)\s*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*~~[\~]+\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:["][`])/,/^(?:["])/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?::\d+)/],conditions:{STYLE_DEFINITION:{rules:[29],inclusive:!1},STYLE_STMNT:{rules:[28],inclusive:!1},CLASSDEFID:{rules:[23],inclusive:!1},CLASSDEF:{rules:[21,22],inclusive:!1},CLASS_STYLE:{rules:[26],inclusive:!1},CLASS:{rules:[25],inclusive:!1},LLABEL:{rules:[100,101,102,103,104],inclusive:!1},ARROW_DIR:{rules:[86,87,88,89,90,91,92],inclusive:!1},BLOCK_ARROW:{rules:[77,82,85],inclusive:!1},NODE:{rules:[38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,78,81],inclusive:!1},md_string:{rules:[10,11,79,80],inclusive:!1},space:{rules:[],inclusive:!1},string:{rules:[13,14,83,84],inclusive:!1},acc_descr_multiline:{rules:[35,36],inclusive:!1},acc_descr:{rules:[33],inclusive:!1},acc_title:{rules:[31],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,12,15,16,17,18,19,20,24,27,30,32,34,37,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,93,94,95,96,97,98,99,105],inclusive:!0}}},e);function v(){this.yy={}}return b.lexer=y,v.prototype=b,b.Parser=v,new v}();s7e.parser=s7e;const c7e=s7e;let l7e={},u7e=[],h7e={};const d7e="color",f7e="fill",p7e=Rte();let m7e={};const g7e=function(e,t=""){void 0===m7e[e]&&(m7e[e]={id:e,styles:[],textStyles:[]});const n=m7e[e];null!=t&&t.split(",").forEach((e=>{const t=e.replace(/([^;]*);/,"$1").trim();if(e.match(d7e)){const e=t.replace(f7e,"bgFill").replace(d7e,f7e);n.textStyles.push(e)}n.styles.push(t)}))},b7e=function(e,t=""){const n=l7e[e];null!=t&&(n.styles=t.split(","))},y7e=function(e,t){e.split(",").forEach((function(e){let n=l7e[e];if(void 0===n){const t=e.trim();l7e[t]={id:t,type:"na",children:[]},n=l7e[t]}n.classes||(n.classes=[]),n.classes.push(t)}))},v7e=(e,t)=>{const n=e.flat(),r=[];for(const e of n)if(e.label&&(e.label=(i=e.label,_9.sanitizeText(i,p7e))),"classDef"!==e.type)if("applyClass"!==e.type)if("applyStyles"!==e.type)if("column-setting"===e.type)t.columns=e.columns||-1;else if("edge"===e.type)h7e[e.id]?h7e[e.id]++:h7e[e.id]=1,e.id=h7e[e.id]+"-"+e.id,u7e.push(e);else{e.label||("composite"===e.type?e.label="":e.label=e.id);const t=!l7e[e.id];if(t?l7e[e.id]=e:("na"!==e.type&&(l7e[e.id].type=e.type),e.label!==e.id&&(l7e[e.id].label=e.label)),e.children&&v7e(e.children,e),"space"===e.type){const t=e.width||1;for(let n=0;n<t;n++){const t=aNe(e);t.id=t.id+"-"+n,l7e[t.id]=t,r.push(t)}}else t&&r.push(e)}else(null==e?void 0:e.stylesStr)&&b7e(e.id,null==e?void 0:e.stylesStr);else y7e(e.id,(null==e?void 0:e.styleClass)||"");else g7e(e.id,e.css);var i;t.children=r};let w7e=[],x7e={id:"root",type:"composite",children:[],columns:-1};let k7e=0;const S7e={getConfig:()=>Cee().block,typeStr2Type:function(e){switch(a9.debug("typeStr2Type",e),e){case"[]":return"square";case"()":return a9.debug("we have a round"),"round";case"(())":return"circle";case">]":return"rect_left_inv_arrow";case"{}":return"diamond";case"{{}}":return"hexagon";case"([])":return"stadium";case"[[]]":return"subroutine";case"[()]":return"cylinder";case"((()))":return"doublecircle";case"[//]":return"lean_right";case"[\\\\]":return"lean_left";case"[/\\]":return"trapezoid";case"[\\/]":return"inv_trapezoid";case"<[]>":return"block_arrow";default:return"na"}},edgeTypeStr2Type:function(e){return a9.debug("typeStr2Type",e),"=="===e?"thick":"normal"},edgeStrToEdgeData:function(e){switch(e.trim()){case"--x":return"arrow_cross";case"--o":return"arrow_circle";default:return"arrow_point"}},getLogger:()=>console,getBlocksFlat:()=>[...Object.values(l7e)],getBlocks:()=>w7e||[],getEdges:()=>u7e,setHierarchy:e=>{x7e.children=e,v7e(e,x7e),w7e=x7e.children},getBlock:e=>l7e[e],setBlock:e=>{l7e[e.id]=e},getColumns:e=>{const t=l7e[e];return t?t.columns?t.columns:t.children?t.children.length:-1:-1},getClasses:function(){return m7e},clear:()=>{a9.debug("Clear called"),Ate(),x7e={id:"root",type:"composite",children:[],columns:-1},l7e={root:x7e},w7e=[],m7e={},u7e=[],h7e={}},generateId:()=>(k7e++,"id-"+Math.random().toString(36).substr(2,12)+"-"+k7e)},E7e=S7e,_7e=(e,t)=>{const n=a6,r=n(e,"r"),i=n(e,"g"),a=n(e,"b");return i6(r,i,a,t)},A7e=e=>`.label {\n font-family: ${e.fontFamily};\n color: ${e.nodeTextColor||e.textColor};\n }\n .cluster-label text {\n fill: ${e.titleColor};\n }\n .cluster-label span,p {\n color: ${e.titleColor};\n }\n\n\n\n .label text,span,p {\n fill: ${e.nodeTextColor||e.textColor};\n color: ${e.nodeTextColor||e.textColor};\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${e.mainBkg};\n stroke: ${e.nodeBorder};\n stroke-width: 1px;\n }\n .flowchart-label text {\n text-anchor: middle;\n }\n // .flowchart-label .text-outer-tspan {\n // text-anchor: middle;\n // }\n // .flowchart-label .text-inner-tspan {\n // text-anchor: start;\n // }\n\n .node .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n .arrowheadPath {\n fill: ${e.arrowheadColor};\n }\n\n .edgePath .path {\n stroke: ${e.lineColor};\n stroke-width: 2.0px;\n }\n\n .flowchart-link {\n stroke: ${e.lineColor};\n fill: none;\n }\n\n .edgeLabel {\n background-color: ${e.edgeLabelBackground};\n rect {\n opacity: 0.5;\n background-color: ${e.edgeLabelBackground};\n fill: ${e.edgeLabelBackground};\n }\n text-align: center;\n }\n\n /* For html labels only */\n .labelBkg {\n background-color: ${_7e(e.edgeLabelBackground,.5)};\n // background-color:\n }\n\n .node .cluster {\n // fill: ${_7e(e.mainBkg,.5)};\n fill: ${_7e(e.clusterBkg,.5)};\n stroke: ${_7e(e.clusterBorder,.2)};\n box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;\n stroke-width: 1px;\n }\n\n .cluster text {\n fill: ${e.titleColor};\n }\n\n .cluster span,p {\n color: ${e.titleColor};\n }\n /* .cluster div {\n color: ${e.titleColor};\n } */\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: ${e.fontFamily};\n font-size: 12px;\n background: ${e.tertiaryColor};\n border: 1px solid ${e.border2};\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n\n .flowchartTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${e.textColor};\n }\n`;function T7e(e,t,n=!1){var r,i,a;const o=e;let s="default";((null==(r=null==o?void 0:o.classes)?void 0:r.length)||0)>0&&(s=((null==o?void 0:o.classes)||[]).join(" ")),s+=" flowchart-label";let c,l=0,u="";switch(o.type){case"round":l=5,u="rect";break;case"composite":l=0,u="composite",c=0;break;case"square":case"group":default:u="rect";break;case"diamond":u="question";break;case"hexagon":u="hexagon";break;case"block_arrow":u="block_arrow";break;case"odd":case"rect_left_inv_arrow":u="rect_left_inv_arrow";break;case"lean_right":u="lean_right";break;case"lean_left":u="lean_left";break;case"trapezoid":u="trapezoid";break;case"inv_trapezoid":u="inv_trapezoid";break;case"circle":u="circle";break;case"ellipse":u="ellipse";break;case"stadium":u="stadium";break;case"subroutine":u="subroutine";break;case"cylinder":u="cylinder";break;case"doublecircle":u="doublecircle"}const h=ree((null==o?void 0:o.styles)||[]),d=o.label,f=o.size||{width:0,height:0,x:0,y:0};return{labelStyle:h.labelStyle,shape:u,labelText:d,rx:l,ry:l,class:s,style:h.style,id:o.id,directions:o.directions,width:f.width,height:f.height,x:f.x,y:f.y,positioned:n,intersect:void 0,type:o.type,padding:c??((null==(a=null==(i=Cee())?void 0:i.block)?void 0:a.padding)||0)}}async function C7e(e,t,n){const r=T7e(t,0,!1);if("group"===r.type)return;const i=await tze(e,r),a=i.node().getBBox(),o=n.getBlock(r.id);o.size={width:a.width,height:a.height,x:0,y:0,node:i},n.setBlock(o),i.remove()}async function O7e(e,t,n){const r=T7e(t,0,!0);"space"!==n.getBlock(r.id).type&&(await tze(e,r),t.intersect=null==r?void 0:r.intersect,nze(r))}async function D7e(e,t,n,r){for(const i of t)await r(e,i,n),i.children&&await D7e(e,i.children,n,r)}const M7e=(null==(a7e=null==(i7e=Rte())?void 0:i7e.block)?void 0:a7e.padding)||8;function I7e(e,t){if(0===e||!Number.isInteger(e))throw new Error("Columns must be an integer !== 0.");if(t<0||!Number.isInteger(t))throw new Error("Position must be a non-negative integer."+t);if(e<0)return{px:t,py:0};if(1===e)return{px:0,py:t};return{px:t%e,py:Math.floor(t/e)}}const P7e=e=>{let t=0,n=0;for(const r of e.children){const{width:i,height:a,x:o,y:s}=r.size||{width:0,height:0,x:0,y:0};a9.debug("getMaxChildSize abc95 child:",r.id,"width:",i,"height:",a,"x:",o,"y:",s,r.type),"space"!==r.type&&(i>t&&(t=i/(e.widthInColumns||1)),a>n&&(n=a))}return{width:t,height:n}};function N7e(e,t,n=0,r=0){var i,a,o,s,c,l,u,h,d,f,p;a9.debug("setBlockSizes abc95 (start)",e.id,null==(i=null==e?void 0:e.size)?void 0:i.x,"block width =",null==e?void 0:e.size,"sieblingWidth",n),(null==(a=null==e?void 0:e.size)?void 0:a.width)||(e.size={width:n,height:r,x:0,y:0});let m=0,g=0;if((null==(o=e.children)?void 0:o.length)>0){for(const n of e.children)N7e(n,t);const i=P7e(e);m=i.width,g=i.height,a9.debug("setBlockSizes abc95 maxWidth of",e.id,":s children is ",m,g);for(const t of e.children)t.size&&(a9.debug(`abc95 Setting size of children of ${e.id} id=${t.id} ${m} ${g} ${t.size}`),t.size.width=m*(t.widthInColumns||1)+M7e*((t.widthInColumns||1)-1),t.size.height=g,t.size.x=0,t.size.y=0,a9.debug(`abc95 updating size of ${e.id} children child:${t.id} maxWidth:${m} maxHeight:${g}`));for(const n of e.children)N7e(n,t,m,g);const a=e.columns||-1;let o=0;for(const t of e.children)o+=t.widthInColumns||1;let h=e.children.length;a>0&&a<o&&(h=a),e.widthInColumns;const d=Math.ceil(o/h);let f=h*(m+M7e)+M7e,p=d*(g+M7e)+M7e;if(f<n){a9.debug(`Detected to small siebling: abc95 ${e.id} sieblingWidth ${n} sieblingHeight ${r} width ${f}`),f=n,p=r;const t=(n-h*M7e-M7e)/h,i=(r-d*M7e-M7e)/d;a9.debug("Size indata abc88",e.id,"childWidth",t,"maxWidth",m),a9.debug("Size indata abc88",e.id,"childHeight",i,"maxHeight",g),a9.debug("Size indata abc88 xSize",h,"padding",M7e);for(const n of e.children)n.size&&(n.size.width=t,n.size.height=i,n.size.x=0,n.size.y=0)}if(a9.debug(`abc95 (finale calc) ${e.id} xSize ${h} ySize ${d} columns ${a}${e.children.length} width=${Math.max(f,(null==(s=e.size)?void 0:s.width)||0)}`),f<((null==(c=null==e?void 0:e.size)?void 0:c.width)||0)){f=(null==(l=null==e?void 0:e.size)?void 0:l.width)||0;const t=a>0?Math.min(e.children.length,a):e.children.length;if(t>0){const n=(f-t*M7e-M7e)/t;a9.debug("abc95 (growing to fit) width",e.id,f,null==(u=e.size)?void 0:u.width,n);for(const t of e.children)t.size&&(t.size.width=n)}}e.size={width:f,height:p,x:0,y:0}}a9.debug("setBlockSizes abc94 (done)",e.id,null==(h=null==e?void 0:e.size)?void 0:h.x,null==(d=null==e?void 0:e.size)?void 0:d.width,null==(f=null==e?void 0:e.size)?void 0:f.y,null==(p=null==e?void 0:e.size)?void 0:p.height)}function L7e(e,t){var n,r,i,a,o,s,c,l,u,h,d,f,p,m,g,b,y;a9.debug(`abc85 layout blocks (=>layoutBlocks) ${e.id} x: ${null==(n=null==e?void 0:e.size)?void 0:n.x} y: ${null==(r=null==e?void 0:e.size)?void 0:r.y} width: ${null==(i=null==e?void 0:e.size)?void 0:i.width}`);const v=e.columns||-1;if(a9.debug("layoutBlocks columns abc95",e.id,"=>",v,e),e.children&&e.children.length>0){const t=(null==(o=null==(a=null==e?void 0:e.children[0])?void 0:a.size)?void 0:o.width)||0,n=e.children.length*t+(e.children.length-1)*M7e;a9.debug("widthOfChildren 88",n,"posX");let r=0;a9.debug("abc91 block?.size?.x",e.id,null==(s=null==e?void 0:e.size)?void 0:s.x);let i=(null==(c=null==e?void 0:e.size)?void 0:c.x)?(null==(l=null==e?void 0:e.size)?void 0:l.x)+(-(null==(u=null==e?void 0:e.size)?void 0:u.width)/2||0):-M7e,g=0;for(const t of e.children){const n=e;if(!t.size)continue;const{width:a,height:o}=t.size,{px:s,py:c}=I7e(v,r);if(c!=g&&(g=c,i=(null==(h=null==e?void 0:e.size)?void 0:h.x)?(null==(d=null==e?void 0:e.size)?void 0:d.x)+(-(null==(f=null==e?void 0:e.size)?void 0:f.width)/2||0):-M7e,a9.debug("New row in layout for block",e.id," and child ",t.id,g)),a9.debug(`abc89 layout blocks (child) id: ${t.id} Pos: ${r} (px, py) ${s},${c} (${null==(p=null==n?void 0:n.size)?void 0:p.x},${null==(m=null==n?void 0:n.size)?void 0:m.y}) parent: ${n.id} width: ${a}${M7e}`),n.size){const e=a/2;t.size.x=i+M7e+e,a9.debug(`abc91 layout blocks (calc) px, pyid:${t.id} startingPos=X${i} new startingPosX${t.size.x} ${e} padding=${M7e} width=${a} halfWidth=${e} => x:${t.size.x} y:${t.size.y} ${t.widthInColumns} (width * (child?.w || 1)) / 2 ${a*((null==t?void 0:t.widthInColumns)||1)/2}`),i=t.size.x+e,t.size.y=n.size.y-n.size.height/2+c*(o+M7e)+o/2+M7e,a9.debug(`abc88 layout blocks (calc) px, pyid:${t.id}startingPosX${i}${M7e}${e}=>x:${t.size.x}y:${t.size.y}${t.widthInColumns}(width * (child?.w || 1)) / 2${a*((null==t?void 0:t.widthInColumns)||1)/2}`)}t.children&&L7e(t),r+=(null==t?void 0:t.widthInColumns)||1,a9.debug("abc88 columnsPos",t,r)}}a9.debug(`layout blocks (<==layoutBlocks) ${e.id} x: ${null==(g=null==e?void 0:e.size)?void 0:g.x} y: ${null==(b=null==e?void 0:e.size)?void 0:b.y} width: ${null==(y=null==e?void 0:e.size)?void 0:y.width}`)}function R7e(e,{minX:t,minY:n,maxX:r,maxY:i}={minX:0,minY:0,maxX:0,maxY:0}){if(e.size&&"root"!==e.id){const{x:a,y:o,width:s,height:c}=e.size;a-s/2<t&&(t=a-s/2),o-c/2<n&&(n=o-c/2),a+s/2>r&&(r=a+s/2),o+c/2>i&&(i=o+c/2)}if(e.children)for(const a of e.children)({minX:t,minY:n,maxX:r,maxY:i}=R7e(a,{minX:t,minY:n,maxX:r,maxY:i}));return{minX:t,minY:n,maxX:r,maxY:i}}function j7e(e){const t=e.getBlock("root");if(!t)return;N7e(t,e,0,0),L7e(t),a9.debug("getBlocks",JSON.stringify(t,null,2));const{minX:n,minY:r,maxX:i,maxY:a}=R7e(t);return{x:n,y:r,width:i-n,height:a-r}}const B7e={draw:async function(e,t,n,r){const{securityLevel:i,block:a}=Cee(),o=r.db;let s;"sandbox"===i&&(s=A3("#i"+t));const c=A3("sandbox"===i?s.nodes()[0].contentDocument.body:"body"),l="sandbox"===i?c.select(`[id="${t}"]`):A3(`[id="${t}"]`);RFe(l,["point","circle","cross"],r.type,t);const u=o.getBlocks(),h=o.getBlocksFlat(),d=o.getEdges(),f=l.insert("g").attr("class","block");await async function(e,t,n){await D7e(e,t,n,C7e)}(f,u,o);const p=j7e(o);if(await async function(e,t,n){await D7e(e,t,n,O7e)}(f,u,o),await async function(e,t,n,r,i){const a=new tRe({multigraph:!0,compound:!0});a.setGraph({rankdir:"TB",nodesep:10,ranksep:10,marginx:8,marginy:8});for(const e of n)e.size&&a.setNode(e.id,{width:e.size.width,height:e.size.height,intersect:e.intersect});for(const n of t)if(n.start&&n.end){const t=r.getBlock(n.start),o=r.getBlock(n.end);if((null==t?void 0:t.size)&&(null==o?void 0:o.size)){const r=t.size,s=o.size,c=[{x:r.x,y:r.y},{x:r.x+(s.x-r.x)/2,y:r.y+(s.y-r.y)/2},{x:s.x,y:s.y}];await bze(e,{v:n.start,w:n.end,name:n.id},{...n,arrowTypeEnd:n.arrowTypeEnd,arrowTypeStart:n.arrowTypeStart,points:c,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"},void 0,"block",a,i),n.label&&(await fze(e,{...n,label:n.label,labelStyle:"stroke: #333; stroke-width: 1.5px;fill:none;",arrowTypeEnd:n.arrowTypeEnd,arrowTypeStart:n.arrowTypeStart,points:c,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"}),await mze({...n,x:c[1].x,y:c[1].y},{originalPath:c}))}}}(f,d,h,o,t),p){const e=p,t=Math.max(1,Math.round(e.width/e.height*.125)),n=e.height+t+10,r=e.width+10,{useMaxWidth:i}=a;yte(l,n,r,!!i),a9.debug("Here Bounds",p,e),l.attr("viewBox",`${e.x-5} ${e.y-5} ${e.width+10} ${e.height+10}`)}sE(M4)},getClasses:function(e,t){return t.db.getClasses()}},F7e={parser:c7e,db:E7e,renderer:B7e,styles:A7e};var z7e=Object.freeze({__proto__:null,diagram:F7e});exports.Action=Bt,exports.ActivityMeter=mn,exports.AllergiesList=tV,exports.AllergiesView=p_e,exports.AppDownload=aV,exports.AsthmaActionPlanManager=RU,exports.AsthmaActionPlanView=function(e){var t;return o.default.createElement(jt,{colorScheme:null!==(t=e.colorScheme)&&void 0!==t?t:"auto"},o.default.createElement(zB,{showCloseButton:!0}),o.default.createElement(RU,{previewState:e.previewState,learnMoreUrl:e.learnMoreUrl,editActionPlanSurveyName:e.editActionPlanSurveyName}))},exports.AsthmaActivityView=function(t){var n;const[r,i]=e.useState();let a;return"default"===t.previewState&&(a=(e,t)=>WH(e,t,2e3,2e4)),dU((()=>{"default"!==t.previewState?LU.loadParticipant().then((e=>{i(e.getStepsBaseline())})):i(1e4)})),o.default.createElement(jt,{colorScheme:null!==(n=t.colorScheme)&&void 0!==n?n:"auto",bodyBackgroundColor:"var(--mdhui-background-color-0)"},o.default.createElement(zB,{variant:"compressed",showCloseButton:!0,backgroundColor:"var(--mdhui-background-color-0)"},o.default.createElement(TB,{order:1},dB("asthma-activity-view-title"))),o.default.createElement(sG,{previewState:"default"===t.previewState?"loaded with data":void 0,previewDataProvider:a,title:dB("asthma-activity-view-chart-title"),dailyDataType:exports.AsthmaDailyDataType.Steps,highlight:e=>!!r&&!mH(r,e),emptyDomain:[0,1e4]}),"Steps"===t.alert&&o.default.createElement(FU,{previewState:t.previewState?"loaded":void 0,message:dB("asthma-activity-view-alert-message"),logEntrySurveyName:t.logEntrySurveyName}))},exports.AsthmaAirQualities=BU,exports.AsthmaAirQualityView=function(e){var t;let n;return"default"===e.previewState&&(n=(e,t)=>WH(e,t,30,130)),o.default.createElement(jt,{colorScheme:null!==(t=e.colorScheme)&&void 0!==t?t:"auto",bodyBackgroundColor:"var(--mdhui-background-color-0)"},o.default.createElement(zB,{variant:"compressed",showCloseButton:!0,backgroundColor:"var(--mdhui-background-color-0)"},o.default.createElement(TB,{order:1},dB("asthma-air-quality-view-title"))),(!e.alert||"HomeAirQuality"===e.alert)&&o.default.createElement(sG,{previewState:"default"===e.previewState?"loaded with data":void 0,previewDataProvider:n,title:dB("asthma-air-quality-view-home-aqi-chart-title"),dailyDataType:exports.DailyDataType.HomeAirQuality,highlight:e=>e>100,emptyDomain:[0,160]}),(!e.alert||"WorkAirQuality"===e.alert)&&o.default.createElement(sG,{previewState:"default"===e.previewState?"loaded with data":void 0,previewDataProvider:n,title:dB("asthma-air-quality-view-work-aqi-chart-title"),dailyDataType:exports.DailyDataType.WorkAirQuality,highlight:e=>e>100,emptyDomain:[0,160]}),"HomeAirQuality"===e.alert&&o.default.createElement(FU,{previewState:e.previewState?"loaded":void 0,message:dB("asthma-air-quality-view-home-aqi-alert-message"),logEntrySurveyName:e.logEntrySurveyName}),"WorkAirQuality"===e.alert&&o.default.createElement(FU,{previewState:e.previewState?"loaded":void 0,message:dB("asthma-air-quality-view-work-aqi-alert-message"),logEntrySurveyName:e.logEntrySurveyName}))},exports.AsthmaAlertTakeoverNotice=FU,exports.AsthmaAlertTakeoverTrigger=function(e){return dU((()=>{e.previewState||LU.loadParticipant().then((t=>{LU.loadAlertTakeover().then((n=>{n&&(t.getAlertTakeover()?LU.loadLogEntries(Dn(new Date,{days:-2})).then((t=>{let r=Jq(new Date);t.find((e=>e.identifier===r))?LU.updateAlertTakeover(n,"cleared","The user has already logged today.").then():LU.updateAlertTakeover(n,"viewed").then((()=>{var t;"DaytimeRestingHeartRate"===(t=n.value)||"NighttimeRestingHeartRate"===t||"RespiratoryRate"===t||"DaytimeBloodOxygenLevel"===t||"NighttimeBloodOxygenLevel"===t?l.default.openApplication(e.heartAndLungsUrl+"?alert="+t,{modal:!0}):"Steps"===t?l.default.openApplication(e.activityUrl+"?alert="+t,{modal:!0}):"SleepDisturbances"===t?l.default.openApplication(e.sleepUrl+"?alert="+t,{modal:!0}):"HomeAirQuality"===t||"WorkAirQuality"===t?l.default.openApplication(e.airQualityUrl+"?alert="+t,{modal:!0}):t.includes(",")&&l.default.openApplication(e.alertTakeoverUrl,{modal:!0})}))})):LU.updateAlertTakeover(n,"cleared","The alert is no longer valid.").then())}))}))})),null},exports.AsthmaAlertTakeoverView=function(e){var t;return o.default.createElement(jt,{colorScheme:null!==(t=e.colorScheme)&&void 0!==t?t:"auto",bodyBackgroundColor:"var(--mdhui-background-color-0)"},o.default.createElement(zB,{showCloseButton:!0,backgroundColor:"var(--mdhui-background-color-0)"}),o.default.createElement("div",{style:{background:"#ccc",height:160,width:160,borderRadius:"50%",margin:"32px auto"}}),o.default.createElement(FU,{previewState:e.previewState?"loaded":void 0,message:dB("asthma-alert-takeover-message"),logEntrySurveyName:e.logEntrySurveyName}))},exports.AsthmaBiometrics=$U,exports.AsthmaControlCalendar=function(t){var n,r;const i=e.useContext(_B),[a,s]=e.useState([]);dU((()=>{t.previewState?s(HU[t.previewState].logEntries):LU.loadLogEntries().then((e=>{s(e)}))}),[],[t.previewState]);const c={"not-determined":{style:{background:"var(--mdhui-background-color-0)",border:"3px dashed var(--mdhui-text-color-0)",color:"var(--mdhui-text-color-0)",fontWeight:600,marginTop:"-12px"}},"not-controlled":{style:{background:"#F86A5C",border:"3px solid #F86A5C",color:"#fff",fontWeight:600,marginTop:"-12px"}},controlled:{style:{background:"var(--mdhui-background-color-0)",border:"3px solid #35A6A0",color:"#35A6A0",fontWeight:600,marginTop:"-12px"}},today:{style:{border:"3px solid #369CFF"}},future:{style:{background:"var(--mdhui-background-color-0)",border:"3px solid var(--mdhui-background-color-0)",color:"var(--mdhui-text-color-3)",fontWeight:600,marginTop:"-12px"}},"no-data":{style:{background:"var(--mdhui-background-color-0)",border:"3px solid var(--mdhui-background-color-0)",color:"var(--mdhui-text-color-0)",fontWeight:600,marginTop:"-12px"}}},u=e=>{let t=eH(a,e).status;return"not-determined"===t?"not-determined":"not-controlled"===t?"not-controlled":"controlled"===t?"controlled":qn(e,new Date)?"today":ti(e,new Date)?"future":"no-data"},h=e=>{t.previewState||ti(e,new Date)||l.default.openApplication(t.dayViewUrl+"?date="+Jr(e,{representation:"date"}),{modal:!0})};let d=null!==(r=null!==(n=null==i?void 0:i.intervalStart)&&void 0!==n?n:t.intervalStart)&&void 0!==r?r:Jn(new Date);return o.default.createElement("div",null,o.default.createElement(YB,{noTopMargin:!0,style:{boxShadow:"none",marginBottom:"0"}},o.default.createElement(ys,{innerRef:t.innerRef,className:"mdhui-asthma-control-calendar",year:d.getFullYear(),month:d.getMonth(),dayRenderer:(e,t,n)=>o.default.createElement(vs,{year:e,month:t,day:n,stateConfiguration:c,computeStateForDay:u,onClick:h})})),"verbose"===t.variant&&(()=>{if(0===a.length)return null;let e=Za(),t={},n=[...a].sort(((e,t)=>e.identifier.localeCompare(t.identifier)))[0],r=qa(n.identifier);for(let n=0;n<=Vn(e,r);n++){let e=Dn(r,{days:n});if(!ni(e,d)&&ni(e,Dn(d,{months:1}))){let n=Jq(e);t[n]=a.find((e=>e.identifier===n))}}return o.default.createElement("div",{className:"mdhui-asthma-control-calendar-log-entries"},Object.keys(t).sort().reverse().map(((n,r)=>{let i=qa(n),a=t[n];return o.default.createElement(xs,{key:r},o.default.createElement(Bt,{title:Wr(i,"PPP",{locale:bs(l.default.getCurrentLanguage())}),subtitle:a?rH(a.symptomLevel):Vn(e,i)>=2?dB("asthma-control-calendar-daily-entry-missed"):dB("asthma-control-calendar-not-logged-yet"),onClick:()=>h(i)}),a&&(a.symptoms&&a.symptoms.length>0||a.impacts&&a.impacts.length>0||a.triggers&&a.triggers.length>0)&&o.default.createElement("div",{className:"mdhui-asthma-control-calendar-log-entry-components"},a.symptoms&&a.symptoms.length>0&&o.default.createElement(UU,{className:"mdhui-asthma-control-calendar-log-entry-component-symptoms",label:dB("asthma-control-calendar-log-entries-symptoms-label")}),a.impacts&&a.impacts.length>0&&o.default.createElement(UU,{className:"mdhui-asthma-control-calendar-log-entry-component-impacts",label:dB("asthma-control-calendar-log-entries-impacts-label")}),a.triggers&&a.triggers.length>0&&o.default.createElement(UU,{className:"mdhui-asthma-control-calendar-log-entry-component-triggers",label:dB("asthma-control-calendar-log-entries-triggers-label")})))})))})())},exports.AsthmaControlStatusHeader=function(t){let[n,r]=e.useState(!0),[i,a]=e.useState(),[s,c]=e.useState(),[l,u]=e.useState();if(dU((()=>{if(r(!0),"loading"===t.previewState)return void a(void 0);if(t.previewState)return a(VU[t.previewState].controlState),c(VU[t.previewState].biometrics),u(VU[t.previewState].airQualities),void r(!1);let e=new Date;LU.loadLogEntries(Dn(new Date(e),{days:-10})).then((n=>{if(t.participant.hasPairedDevice()&&t.participant.hasEstablishedBaseline()){let i=LU.loadBiometricsForControlStatus(),o=LU.loadAirQualitiesForControlStatus(t.participant.getHomeAirQualityZipCode(),t.participant.getWorkAirQualityZipCode());Promise.all([i,o]).then((t=>{a(eH(n,e)),c(t[0]),u(t[1]),r(!1)}))}else a(eH(n,e)),r(!1)}))}),[],[t.previewState]),n&&!i)return null;const h=(e,t)=>t?o.default.createElement("div",{className:"mdhui-asthma-control-status-header-not-controlled-stat"},o.default.createElement("div",{className:"mdhui-asthma-control-status-header-not-controlled-stat-value"},t,"x"),o.default.createElement("div",{className:"mdhui-asthma-control-status-header-not-controlled-stat-label"},e)):null;return o.default.createElement("div",{className:"mdhui-asthma-control-status-header",ref:t.innerRef},"no-data"===i.status&&(()=>{var e,n,r,i,a,c,u,h,d;if(t.participant.hasPairedDevice()&&t.participant.hasEstablishedBaseline()){if(s.filter((e=>"out-of-range"===e.status)).length+l.filter((e=>"out-of-range"===e.status)).length>1)return o.default.createElement("div",{className:"mdhui-asthma-control-status-header-text"},o.default.createElement("p",null,dB("asthma-control-status-header-multiple-out-of-range-p1"),o.default.createElement("span",{className:"mdhui-asthma-control-status-header-data-out-of-range"},dB("asthma-control-status-header-multiple-out-of-range-p2")),dB("asthma-control-status-header-multiple-out-of-range-p3")));if("out-of-range"===(null===(e=s.find((e=>"daytime-resting-heart-rate"===e.type||"nighttime-resting-heart-rate"===e.type)))||void 0===e?void 0:e.status))return o.default.createElement("div",{className:"mdhui-asthma-control-status-header-text"},o.default.createElement("p",null,dB("asthma-control-status-header-abnormal-heart-rate-p1"),o.default.createElement("span",{className:"mdhui-asthma-control-status-header-data-out-of-range"},dB("asthma-control-status-header-abnormal-heart-rate-p2")),dB("asthma-control-status-header-abnormal-heart-rate-p3")));if("out-of-range"===(null===(n=s.find((e=>"respiratory-rate"===e.type)))||void 0===n?void 0:n.status))return o.default.createElement("div",{className:"mdhui-asthma-control-status-header-text"},o.default.createElement("p",null,dB("asthma-control-status-header-abnormal-respiratory-rate-p1"),o.default.createElement("span",{className:"mdhui-asthma-control-status-header-data-out-of-range"},dB("asthma-control-status-header-abnormal-respiratory-rate-p2")),dB("asthma-control-status-header-abnormal-respiratory-rate-p3")));if("out-of-range"===(null===(r=s.find((e=>"steps"===e.type)))||void 0===r?void 0:r.status))return o.default.createElement("div",{className:"mdhui-asthma-control-status-header-text"},o.default.createElement("p",null,dB("asthma-control-status-header-abnormal-steps-p1"),o.default.createElement("span",{className:"mdhui-asthma-control-status-header-data-out-of-range"},dB("asthma-control-status-header-abnormal-steps-p2")),dB("asthma-control-status-header-abnormal-steps-p3")));if("out-of-range"===(null===(i=s.find((e=>"sleep-disturbances"===e.type)))||void 0===i?void 0:i.status))return o.default.createElement("div",{className:"mdhui-asthma-control-status-header-text"},o.default.createElement("p",null,dB("asthma-control-status-header-abnormal-sleep-p1"),o.default.createElement("span",{className:"mdhui-asthma-control-status-header-data-out-of-range"},dB("asthma-control-status-header-abnormal-sleep-p2")),dB("asthma-control-status-header-abnormal-sleep-p3")));if("out-of-range"===(null===(a=s.find((e=>"daytime-blood-oxygen-level"===e.type||"nighttime-blood-oxygen-level"===e.type)))||void 0===a?void 0:a.status))return o.default.createElement("div",{className:"mdhui-asthma-control-status-header-text"},o.default.createElement("p",null,dB("asthma-control-status-header-abnormal-blood-oxygen-p1"),o.default.createElement("span",{className:"mdhui-asthma-control-status-header-data-out-of-range"},dB("asthma-control-status-header-abnormal-blood-oxygen-p2")),dB("asthma-control-status-header-abnormal-blood-oxygen-p3")));if("out-of-range"===(null===(c=l.find((e=>"home"===e.type)))||void 0===c?void 0:c.status))return o.default.createElement("div",{className:"mdhui-asthma-control-status-header-text"},o.default.createElement("p",null,dB("asthma-control-status-header-abnormal-home-aqi-p1"),o.default.createElement("span",{className:"mdhui-asthma-control-status-header-data-out-of-range"},hH(null===(u=l.find((e=>"home"===e.type)))||void 0===u?void 0:u.description)),dB("asthma-control-status-header-abnormal-home-aqi-p2")));if("out-of-range"===(null===(h=l.find((e=>"work"===e.type)))||void 0===h?void 0:h.status))return o.default.createElement("div",{className:"mdhui-asthma-control-status-header-text"},o.default.createElement("p",null,dB("asthma-control-status-header-abnormal-work-aqi-p1"),o.default.createElement("span",{className:"mdhui-asthma-control-status-header-data-out-of-range"},hH(null===(d=l.find((e=>"work"===e.type)))||void 0===d?void 0:d.description)),dB("asthma-control-status-header-abnormal-work-aqi-p2")))}return o.default.createElement("div",{className:"mdhui-asthma-control-status-header-text"},o.default.createElement("p",null,dB("asthma-control-status-header-no-data")))})(),"not-determined"===i.status&&o.default.createElement("div",{className:"mdhui-asthma-control-status-header-text"},o.default.createElement("p",null,dB("asthma-control-status-header-not-determined"))),"controlled"===i.status&&o.default.createElement("div",{className:"mdhui-asthma-control-status-header-text"},o.default.createElement("p",null,dB("asthma-control-status-header-controlled-p1"),o.default.createElement("span",{className:"mdhui-asthma-control-status-header-controlled"},dB("asthma-control-status-header-controlled-p2")))),"not-controlled"===i.status&&o.default.createElement("div",null,o.default.createElement("div",{className:"mdhui-asthma-control-status-header-text"},o.default.createElement("p",null,dB("asthma-control-status-header-not-controlled-p1"),o.default.createElement("span",{className:"mdhui-asthma-control-status-header-not-controlled"},dB("asthma-control-status-header-not-controlled-p2")))),o.default.createElement("div",{className:"mdhui-asthma-control-status-header-not-controlled-stats"},h(dB("asthma-control-status-header-not-controlled-stat-symptom-days"),i.symptomDaysPast7),h(dB("asthma-control-status-header-not-controlled-stat-rescue-inhaler"),i.inhalerUseDaysPast7),h(dB("asthma-control-status-header-not-controlled-stat-limited-activity"),i.limitedActivityDaysPast7),h(dB("asthma-control-status-header-not-controlled-stat-awakenings"),i.nighttimeAwakeningDaysPast7))))},exports.AsthmaDayView=function(e){var t;return o.default.createElement(jt,{colorScheme:null!==(t=e.colorScheme)&&void 0!==t?t:"auto"},o.default.createElement(zB,{variant:"compressed",showCloseButton:!0},o.default.createElement(TB,{order:2},Wr(e.date,"PPP",{locale:bs(l.default.getCurrentLanguage())}))),o.default.createElement(xs,null,o.default.createElement(KU,{previewState:e.previewState?"logged with mild symptoms":void 0,date:e.date,logTodayEntrySurveyName:e.logTodayEntrySurveyName,logYesterdayEntrySurveyName:e.logYesterdayEntrySurveyName,editLogEntryUrl:e.editLogEntryUrl,infoUrl:e.logEntryInfoUrl})),o.default.createElement(xs,null,o.default.createElement($U,{previewState:e.previewState?"all data":void 0,heartAndLungsUrl:e.heartAndLungsUrl,activityUrl:e.activityUrl,sleepUrl:e.sleepUrl,date:e.date})),o.default.createElement(xs,null,o.default.createElement(BU,{previewState:e.previewState?"all data":void 0,airQualityUrl:e.airQualityUrl,date:e.date})))},exports.AsthmaHeartAndLungsView=function(t){var n;const[r,i]=e.useState(),[a,s]=e.useState(),[c,l]=e.useState(),[u,h]=e.useState(),[d,f]=e.useState();let p,m,g;return"default"===t.previewState&&(p=(e,t)=>WH(e,t,30,150,!1),m=(e,t)=>WH(e,t,10,50),g=(e,t)=>WH(e,t,.85,1,!1)),dU((()=>{if("default"===t.previewState)return i(90),s(90),l(30),h(.97),void f(.96);LU.loadParticipant().then((e=>{i(e.getDaytimeRestingHeartRateBaseline()),s(e.getNighttimeRestingHeartRateBaseline()),l(e.getRespiratoryRateBaseline()),h(e.getDaytimeBloodOxygenLevelBaseline()),f(e.getNighttimeBloodOxygenLevelBaseline())}))})),o.default.createElement(jt,{colorScheme:null!==(n=t.colorScheme)&&void 0!==n?n:"auto",bodyBackgroundColor:"var(--mdhui-background-color-0)"},o.default.createElement(zB,{variant:"compressed",showCloseButton:!0,backgroundColor:"var(--mdhui-background-color-0)"},o.default.createElement(TB,{order:1},dB("asthma-heart-and-lungs-view-title"))),(!t.alert||"DaytimeRestingHeartRate"===t.alert)&&o.default.createElement(sG,{previewState:"default"===t.previewState?"loaded with data":void 0,previewDataProvider:p,title:dB("asthma-heart-and-lungs-view-dhr-chart-title"),dailyDataType:exports.AsthmaDailyDataType.DaytimeRestingHeartRate,valueFormatter:e=>Number(e).toFixed(0),highlight:e=>!!r&&!dH(r,e),emptyDomain:[0,120]}),(!t.alert||"NighttimeRestingHeartRate"===t.alert)&&o.default.createElement(sG,{previewState:"default"===t.previewState?"loaded with data":void 0,previewDataProvider:p,title:dB("asthma-heart-and-lungs-view-nhr-chart-title"),dailyDataType:exports.AsthmaDailyDataType.NighttimeRestingHeartRate,valueFormatter:e=>Number(e).toFixed(0),highlight:e=>!!a&&!fH(a,e),emptyDomain:[0,120]}),(!t.alert||"RespiratoryRate"===t.alert)&&o.default.createElement(sG,{previewState:"default"===t.previewState?"loaded with data":void 0,previewDataProvider:m,title:dB("asthma-heart-and-lungs-view-rr-chart-title"),dailyDataType:exports.AsthmaDailyDataType.RespiratoryRate,highlight:e=>!!c&&!pH(c,e),emptyDomain:[0,40]}),(!t.alert||"DaytimeBloodOxygenLevel"===t.alert)&&o.default.createElement(sG,{previewState:"default"===t.previewState?"loaded with data":void 0,previewDataProvider:g,title:dB("asthma-heart-and-lungs-view-dbol-chart-title"),dailyDataType:exports.AsthmaDailyDataType.DaytimeBloodOxygenLevel,valueConverter:e=>100*e,valueFormatter:e=>Number(e).toFixed(0),highlight:e=>!!u&&!bH(u,e),domain:[80,100],emptyDomain:[80,100]}),(!t.alert||"NighttimeBloodOxygenLevel"===t.alert)&&o.default.createElement(sG,{previewState:"default"===t.previewState?"loaded with data":void 0,previewDataProvider:g,title:dB("asthma-heart-and-lungs-view-nbol-chart-title"),dailyDataType:exports.AsthmaDailyDataType.NighttimeBloodOxygenLevel,valueConverter:e=>100*e,valueFormatter:e=>Number(e).toFixed(0),highlight:e=>!!d&&!bH(d,e),domain:[80,100],emptyDomain:[80,100]}),"DaytimeRestingHeartRate"===t.alert&&o.default.createElement(FU,{previewState:t.previewState?"loaded":void 0,message:dB("asthma-heart-and-lungs-view-dhr-alert-message"),logEntrySurveyName:t.logEntrySurveyName}),"NighttimeRestingHeartRate"===t.alert&&o.default.createElement(FU,{previewState:t.previewState?"loaded":void 0,message:dB("asthma-heart-and-lungs-view-nhr-alert-message"),logEntrySurveyName:t.logEntrySurveyName}),"RespiratoryRate"===t.alert&&o.default.createElement(FU,{previewState:t.previewState?"loaded":void 0,message:dB("asthma-heart-and-lungs-view-rr-alert-message"),logEntrySurveyName:t.logEntrySurveyName}),"DaytimeBloodOxygenLevel"===t.alert&&o.default.createElement(FU,{previewState:t.previewState?"loaded":void 0,message:dB("asthma-heart-and-lungs-view-dbol-alert-message"),logEntrySurveyName:t.logEntrySurveyName}),"NighttimeBloodOxygenLevel"===t.alert&&o.default.createElement(FU,{previewState:t.previewState?"loaded":void 0,message:dB("asthma-heart-and-lungs-view-nbol-alert-message"),logEntrySurveyName:t.logEntrySurveyName}))},exports.AsthmaLogEntryDetails=KU,exports.AsthmaLogEntryEditorView=function(t){var n;let r=Dn(Za(),{days:-1});if(ni(t.date,r))return l.default.dismiss(),null;const[i,a]=e.useState(!0),[s,c]=e.useState();dU((()=>{if(a(!0),"loading"===t.previewState)return;if(t.previewState)return c(oxe[t.previewState].logEntry),void a(!1);let e=Dn(new Date(t.date),{days:-1}),n=Dn(new Date(t.date),{days:1});LU.loadLogEntries(e,n).then((e=>{let n=Jq(t.date),r=e.find((e=>e.identifier===n));r?c(r):l.default.dismiss(),a(!1)}))}),[],[t.previewState]);const u=e=>{(e=>{let t=Object.assign(Object.assign({},s),{symptomLevel:e});"none"===e&&(t.symptoms=[]),c(t)})(iH(e))},h=e=>{(e=>{let t=Object.assign(Object.assign({},s),{symptoms:e});e.length>0&&"none"===t.symptomLevel&&(t.symptomLevel="mild"),c(t)})(oH(e))},f=o.default.createElement(d,{className:"button",style:{left:"16px"},onClick:()=>{t.previewState||l.default.dismiss()}},"Cancel"),p=o.default.createElement(d,{className:"button",style:{color:"#fff",background:"#369cff",right:"16px",padding:"0 16px"},onClick:()=>{i||t.previewState||LU.saveLogEntry(s).then((()=>{l.default.dismiss()}))}},"Save");return o.default.createElement(jt,{colorScheme:null!==(n=t.colorScheme)&&void 0!==n?n:"auto",bodyBackgroundColor:"var(--mdhui-background-color-0)"},o.default.createElement(zB,{title:Wr(t.date,"PPP",{locale:bs(l.default.getCurrentLanguage())}),navigationBarLeft:f,navigationBarRight:p,variant:"compressed",backgroundColor:"var(--mdhui-background-color-0)"}),i&&o.default.createElement(yn,null),!i&&s&&o.default.createElement("div",null,o.default.createElement(xs,{backgroundColor:"var(--mdhui-background-color-1)"},o.default.createElement(qq,{title:dB("asthma-log-entry-editor-view-symptom-level-title"),subtitle:dB("asthma-log-entry-editor-view-select-one-subtitle"),values:[dB("asthma-symptom-level-none"),dB("asthma-symptom-level-mild"),dB("asthma-symptom-level-moderate"),dB("asthma-symptom-level-severe")],selectedValues:[rH(s.symptomLevel)],preventEmptySelections:!0,onChange:e=>u(e[0])})),o.default.createElement(xs,{backgroundColor:"var(--mdhui-background-color-1)"},o.default.createElement(qq,{title:dB("asthma-log-entry-editor-view-symptoms-title"),subtitle:dB("asthma-log-entry-editor-view-select-all-subtitle"),values:[dB("asthma-symptom-difficulty-breathing"),dB("asthma-symptom-wheezing"),dB("asthma-symptom-coughing"),dB("asthma-symptom-chest-tightness")],selectedValues:aH(s.symptoms),variant:"checkboxes",multiSelect:!0,onChange:e=>h(e)})),o.default.createElement(xs,{backgroundColor:"var(--mdhui-background-color-1)"},o.default.createElement(qq,{title:dB("asthma-log-entry-editor-view-impacts-title"),subtitle:dB("asthma-log-entry-editor-view-select-all-subtitle"),values:[dB("asthma-impact-waking-at-night"),dB("asthma-impact-limit-daily-activity"),dB("asthma-impact-using-rescue-inhaler")],selectedValues:sH(s.impacts),variant:"checkboxes",multiSelect:!0,onChange:e=>{return t=e,void c(Object.assign(Object.assign({},s),{impacts:cH(t)}));var t}})),o.default.createElement(xs,{backgroundColor:"var(--mdhui-background-color-1)"},o.default.createElement(qq,{title:dB("asthma-log-entry-editor-view-triggers-title"),subtitle:dB("asthma-log-entry-editor-view-select-all-subtitle"),values:[dB("asthma-trigger-cold-illness"),dB("asthma-trigger-animal-exposure"),dB("asthma-trigger-seasonal-allergens"),dB("asthma-trigger-smoke"),dB("asthma-trigger-weather-changes"),dB("asthma-trigger-air-pollution"),dB("asthma-trigger-strong-smells"),dB("asthma-trigger-chemicals"),dB("asthma-trigger-dust"),dB("asthma-trigger-mold"),dB("asthma-trigger-dust-mites"),dB("asthma-trigger-rodents"),dB("asthma-trigger-cockroaches"),dB("asthma-trigger-nsaid"),dB("asthma-trigger-beta-blocker"),dB("asthma-trigger-heartburn"),dB("asthma-trigger-red-wine"),dB("asthma-trigger-new-foods"),dB("asthma-trigger-cooked-without-ventilation"),dB("asthma-trigger-pet-in-bed"),dB("asthma-trigger-incense-or-candle")],selectedValues:lH(s.triggers),variant:"checkboxes",multiSelect:!0,onChange:e=>{return t=e,void c(Object.assign(Object.assign({},s),{triggers:uH(t)}));var t}}))))},exports.AsthmaLogEntryHeader=function(t){let[n,r]=e.useState(!0),[i,a]=e.useState(!0),[s,c]=e.useState(),[u,h]=e.useState();if(dU((()=>{if(a(!0),"loading"!==t.previewState)return t.previewState?(c(ZU[t.previewState].yesterdayLogEntry),h(ZU[t.previewState].todayLogEntry),a(!1),void r(!1)):void LU.loadLogEntries(Dn(new Date,{days:-3})).then((e=>{let t=Rn(new Date),n=Jq(t);h(e.find((e=>e.identifier===n)));let i=Rn(Dn(new Date,{days:-1})),o=Jq(i);c(e.find((e=>e.identifier===o))),a(!1),r(!1)}))}),["surveyDidFinish"],[t.previewState]),n)return null;const f=(e,n,r)=>o.default.createElement(d,{className:"mdhui-asthma-log-entry-summary",onClick:()=>((e,n)=>{t.previewState||i||(n?l.default.openApplication(t.dayViewUrl+"?date="+n.identifier,{modal:!0}):l.default.startSurvey(e))})(n,r)},o.default.createElement("div",{className:"mdhui-asthma-log-entry-summary-details"},o.default.createElement("div",{className:"mdhui-asthma-log-entry-summary-label"},e),o.default.createElement("div",{className:"mdhui-asthma-log-entry-summary-status"},(e=>e?rH(e.symptomLevel):dB("asthma-log-entry-header-not-logged-yet"))(r))),o.default.createElement("div",{className:"mdhui-asthma-log-entry-summary-action"},i&&o.default.createElement(yn,null),!i&&!r&&o.default.createElement("div",{className:"mdhui-asthma-log-entry-summary-add-button"},dB("asthma-log-entry-header-add-button-text")),!i&&r&&o.default.createElement(Bq,{icon:fn,className:"mdhui-asthma-log-entry-summary-chevron"})));return o.default.createElement("div",{className:"mdhui-asthma-log-entry-header",ref:t.innerRef},f(dB("asthma-log-entry-header-today-log-label"),t.logTodayEntrySurveyName,u),f(dB("asthma-log-entry-header-yesterday-log-label"),t.logYesterdayEntrySurveyName,s))},exports.AsthmaParticipant=Qq,exports.AsthmaPostEnrollmentSurveyTrigger=function(e){const t=()=>{LU.checkSurveyAnswerExists(e.logTodayEntrySurveyName).then((t=>{t||l.default.queryDeviceData({namespace:"Project",type:"LogAutoLaunched"}).then((t=>{t.deviceDataPoints.length||l.default.persistDeviceData([{type:"LogAutoLaunched",value:(new Date).toISOString()}]).then((()=>{l.default.startSurvey(e.logTodayEntrySurveyName)}))}))}))};return dU((()=>{e.previewState||LU.loadSurveyAnswers([e.postEnrollmentSurveyName,e.postEnrollmentMobileSurveyName]).then((n=>{n.find((t=>t.surveyName===e.postEnrollmentSurveyName))?n.find((t=>t.surveyName===e.postEnrollmentMobileSurveyName))?t():l.default.getDeviceInfo().then((n=>{["iOS","Android"].includes(n.platform)?l.default.startSurvey(e.postEnrollmentMobileSurveyName):t()})):l.default.startSurvey(e.postEnrollmentSurveyName)}))})),null},exports.AsthmaProviderReport=JU,exports.AsthmaProviderReportView=function(e){return o.default.createElement(jt,{colorScheme:"light"},o.default.createElement(zB,{variant:"compressed",showCloseButton:!0},o.default.createElement(TB,{order:1},"Provider Report")),o.default.createElement(JU,{previewState:e.previewState,logEntrySurveyName:e.logEntrySurveyName}))},exports.AsthmaRecommendedArticle=function(t){const[n,r]=e.useState(),i=(e,n,r,i)=>({title:e,subTitle:n,url:new URL(`atedu_${r}.html`,t.libraryBaseUrl).href,imageUrl:new URL(`images/article_category_${i}.svg`,t.libraryBaseUrl).href});return dU((()=>{if("none"===t.previewState)return void r(void 0);if("default"===t.previewState)return void r({title:"Recommended Article Title",subTitle:"recommended article subtitle",imageUrl:WB});let e=Za();LU.loadLogEntries(Dn(new Date(e),{days:-10})).then((n=>{let a=Jq(e),o=n.find((e=>e.identifier===a));o&&LU.loadSurveyAnswers(t.logTodayEntrySurveyName,e).then((t=>{((e,t,n)=>{let a=[];"controlled"===t.status?a.push(i("How to keep your asthma under control","Stay symptom-free by adhering to your treatment plan, understanding triggers, and early recognition of changes in control.","21","asthmacontrol")):"not-determined"===t.status?a.push(i("Is your asthma under control?","4 questions to assess if your asthma is under control. If you're experiencing symptoms more than 2 times a week or if you are waking up at night from asthma symptoms - your asthma is not under control.","22","asthmacontrol")):"not-controlled"===t.status&&a.push(i("Taking charge of your asthma","When your asthma feels unmanageable, it's time to reassess your approach. Steps to take when your asthma is not under control.","25","asthmacontrol")),e.triggers.includes("Seasonal allergens/pollen")&&a.push(i("Asthma and Seasonal Allergens/Pollen","Navigate pollen season with ease: Identify your specific pollen triggers, understand their seasonal patterns, and learn how to minimize exposure.","42","triggers")),e.triggers.includes("Air pollution")&&a.push(i("Asthma and Air Quality","Understand that poor air quality can trigger asthma. Learn how to navigate high AQI days and what AQI levels mean.","43","triggers")),e.triggers.includes("Cold/viral illness")&&a.push(i("Asthma and Respiratory Infections","Respiratory infections are common asthma triggers. How to prevent them and what to do when they occur.","43a","triggers")),e.triggers.includes("Animal exposure")&&a.push(i("Asthma and Animals","Animals/Pets can be a trigger for asthma. Learn about how to diagnose an animal/pet allergy and steps to reduce the impact.","43b","triggers")),e.triggers.includes("Smoke (tobacco or wood burning)")&&a.push(i("Asthma and Smoke","Wildfires and tobacco smoke can trigger asthma. Learn about steps you can take to reduce your exposure.","43c","triggers")),e.triggers.includes("Extreme weather changes")&&a.push(i("Asthma and Weather","Common weather triggers are cold air, hot and humid air, and rain/thunderstorms. Explore why these can trigger asthma.","43d","triggers")),(e.triggers.includes("Strong smells")||e.triggers.includes("Chemicals/cleaning supplies"))&&a.push(i("Strong Smells and Chemicals/Cleaning Supplies","Discover what smells may trigger your asthma and things to think about while cleaning.","43e","triggers")),(e.triggers.includes("Dust")||e.triggers.includes("Dust mites"))&&a.push(i("Asthma and Dust/Dust Mites","Dust is a common asthma trigger, but the reason it is a trigger may surprise you! ","43f","triggers")),e.triggers.includes("Mold")&&a.push(i("Asthma and Mold","Mold needs moisture to grow, so is typically found in damp or wet places. Learn how to prevent mold in your house.","43g","triggers")),e.triggers.includes("Had heartburn")&&a.push(i("Asthma and Heartburn","What is heartburn and what does it have to do with asthma?","43h","triggers"));const o=["Taken a NSAID (non-steroidal anti-inflammatory drugs including aspirin and ibuprofen)","Taken a beta blocker","Had heartburn","Drank red wine","Tried any new foods","Cooked without a fan or open window","Had a pet sleep in your bed","Burned incense or a candle"];e.triggers.find((e=>o.includes(e)))&&a.push(i("Surprise triggers","Uncover unexpected asthma triggers lurking in your daily life, from NSAIDs (like ibuprofen) to your glass of wine. Knowing what to look for, may help you identify these surprise triggers.","41","triggers"));let s=n.find((e=>"MISSED_DOSES"===e.stepIdentifier));if(s&&(s.answers.includes("No controller med")&&a.push(i("Who needs a controller medication?","Discover the crucial role of controller medications in maintaining asthma under control.","32","medications")),s.answers.includes("No missed doses"))){let e=n.find((e=>"MISSED_DOSES_INHALER_TYPE"===e.stepIdentifier));e&&(e.answers.includes("Metered-dose inhaler (MDI)")&&a.push(i("Inhaler technique - MDI","Metered dose inhaler (MDI) technique tips. Without the right technique, you may be only getting part of the dose.","37a","medications")),e.answers.includes("Dry-powder inhaler (DPI)")&&a.push(i("Inhaler technique - DPI","Dry Powder inhaler (DPI) technique tips. Without the right technique, you may be only getting part of the dose.","37b","medications")),e.answers.includes("Soft mist inhaler")&&a.push(i("Inhaler technique - SMI","Soft Mist Inhaler (SMI) technique tips. Without the right technique, you may be only getting part of the dose.","37c","medications")),e.answers.includes("Nebulizer")&&a.push(i("Inhaler technique - nebulizer","Nebulizer technique tips.","37d","medications")))}let c=n.find((e=>"MISSED_DOSES_REASONS"===e.stepIdentifier));c&&((c.answers.includes("Unable to afford the medications")||c.answers.includes("Don't want to run out, so purposefully skipping doses"))&&a.push(i("Medication access","For when cost is a barrier to medications, learn about free or low-cost medications. Taking medications as prescribed is important to maintaining asthma control.","33","medications")),c.answers.includes("Difficulty getting refills")&&a.push(i("Medication refills","Stay on top of your asthma medication with easy refill strategies.","34","medications")),c.answers.includes("Trouble remembering to take them")&&a.push(i("Trouble remembering medications","Discover simple yet effective strategies to remember your daily doses, from smart storage tips to leveraging app reminders.","35","medications")),c.answers.includes("I'm confused which inhaler to take when")&&a.push(i("Which inhaler to use when","Master your asthma management: Rescue inhaler works quickly to relieve symptoms while a controller is preventative and works by reducing inflammation, typically by being taken daily.","36","medications")),c.answers.includes("Don't know why I should take it")&&a.push(i("Why should I take my controller?","Understand the critical role of controller medications and why they're a cornerstone of your personalized management plan.","38","medications")),c.answers.includes("Concerns over side effects")&&a.push(i("Asthma medication side effects","Learn how to identify common and uncommon side effects, and the simple steps you can take to avoid the common side effect - thrush (fungal infection in your mouth).","39","medications")),c.answers.includes("Medications not working")&&a.push(i("How do I know if my asthma medications are working?","Controller medications can take days to weeks to reach full impact. Track your symptoms daily to see if there is an improvement and if there isn't, talk to your provider.","39a","medications"))),"severe"===e.symptomLevel&&a.push(i("Navigating the Danger Zone: Preparedness for Asthma Flare-Ups","Recognize severe symptoms like intense coughing and breathlessness early, and activate your tailored asthma action plan including immediate medications.","24","asthmacontrol")),a.length>0?r(a[Math.floor(Math.random()*a.length)]):r(void 0)})(o,eH(n,e),t)}))}))}),[],[t.previewState]),n?o.default.createElement("div",{className:"mdhui-asthma-recommended-article",style:t.style},o.default.createElement(VB,{title:n.title,subTitle:n.subTitle,imageUrl:n.imageUrl,imageAlignment:t.imageAlignment,buttonVariant:t.buttonVariant,buttonText:t.buttonText,onClick:()=>{t.previewState||l.default.openEmbeddedUrl(n.url)},innerRef:t.innerRef})):null},exports.AsthmaSleepView=function(t){var n;const[r,i]=e.useState();let a;return"default"===t.previewState&&(a=(e,t)=>WH(e,t,0,15)),dU((()=>{"default"!==t.previewState?LU.loadParticipant().then((e=>{i(e.getSleepDisturbancesBaseline())})):i(5)})),o.default.createElement(jt,{colorScheme:null!==(n=t.colorScheme)&&void 0!==n?n:"auto",bodyBackgroundColor:"var(--mdhui-background-color-0)"},o.default.createElement(zB,{variant:"compressed",showCloseButton:!0,backgroundColor:"var(--mdhui-background-color-0)"},o.default.createElement(TB,{order:1},dB("asthma-sleep-view-title"))),o.default.createElement(sG,{previewState:"default"===t.previewState?"loaded with data":void 0,previewDataProvider:a,title:dB("asthma-sleep-view-chart-title"),dailyDataType:exports.AsthmaDailyDataType.SleepDisturbances,highlight:e=>!!r&&!gH(r,e),emptyDomain:[0,16]}),"SleepDisturbances"===t.alert&&o.default.createElement(FU,{previewState:t.previewState?"loaded":void 0,message:dB("asthma-sleep-view-alert-message"),logEntrySurveyName:t.logEntrySurveyName}))},exports.BlankView=function(e){var t;return o.default.createElement(jt,{bodyBackgroundColor:e.bodyBackgroundColor,colorScheme:null!==(t=e.colorScheme)&&void 0!==t?t:"auto",primaryColor:e.primaryColor},(e.showBackButton||e.showCloseButton)&&o.default.createElement(zB,{title:e.title,showBackButton:e.showBackButton,showCloseButton:e.showCloseButton,subtitle:e.subtitle,titleColor:e.titleColor,subtitleColor:e.subtitleColor,buttonColor:e.navigationBarButtonColor}),!(e.showBackButton||e.showCloseButton)&&o.default.createElement(o.default.Fragment,null,o.default.createElement(aF,null),o.default.createElement(Hq,{title:e.title,subtitle:e.subtitle,titleColor:e.titleColor,subtitleColor:e.subtitleColor})),e.children)},exports.BloodPressureVisualization=function(t){var n,r;const i={yRange:{values:[0,250]},yIncrement:50,xIncrement:80/7},[a,s]=e.useState(void 0),c=e.useContext(_B);let l=null!==(n=null==c?void 0:c.intervalStart)&&void 0!==n?n:xB(null!==(r=t.weekStartsOn)&&void 0!==r?r:"Monday");function u(e){var t=new Map;return e.forEach((e=>{const n=e.date.toString();var r=t.get(n);r?r.push(e):t.set(n,[e])})),t}function h(e,t){const n=d(e),r=f(t);return n===oV.Normal&&r===oV.Normal?OB["mdhui-dumbbell-in-range"]:OB["mdhui-dumbbell-out-of-range"]}function d(e){return e<90?oV.Low:e>=90&&e<=119?oV.Normal:e>=120&&e<=129?oV.Elevated:e>=130&&e<=139?oV["Stage 1"]:e>=140&&e<=180?oV["Stage 2"]:e>180?oV.Crisis:oV.Unknown}function f(e){return e<60?oV.Low:e>=60&&e<=79?oV.Normal:e>=80&&e<=89?oV["Stage 1"]:e>=90&&e<=120?oV["Stage 2"]:e>120?oV.Crisis:oV.Unknown}function p(e){const t=function(e){let t={averageDiastolicAlertClass:"",averageSystolicAlertClass:"",minSystolicAlertClass:"",maxSystolicAlertClass:""};if(!e||0===e.length)return t;let n=e.map((e=>e.diastolic)),r=n.reduce(((e,t)=>e+t))/n.length;r=Math.round(r);let i=f(r),a=e.map((e=>e.systolic)),o=a.reduce(((e,t)=>e+t))/a.length;o=Math.round(o);let s=d(o);t.averageSystolic=o,t.averageSystolicAlert=oV[s],t.averageSystolicAlertClass=s===oV.Normal?"mdhui-blood-pressure-metric-normal":"mdhui-blood-pressure-metric-not-normal",t.averageDiastolic=r,t.averageDiastolicAlert=oV[i],t.averageDiastolicAlertClass=i===oV.Normal?"mdhui-blood-pressure-metric-normal":"mdhui-blood-pressure-metric-not-normal";let c=Math.max(...a);t.maxSystolic=Math.round(c);let l=d(c);t.maxSystolicAlert=oV[l],t.maxSystolicAlertClass=l===oV.Normal?"mdhui-blood-pressure-metric-normal":"mdhui-blood-pressure-metric-not-normal";let u=Math.min(...a);return t.minSystolic=Math.round(u),l=d(u),t.minSystolicAlert=oV[l],t.minSystolicAlertClass=l===oV.Normal?"mdhui-blood-pressure-metric-normal":"mdhui-blood-pressure-metric-not-normal",t}(e);return o.default.createElement("div",{className:"mdhui-blood-pressure-metrics"},o.default.createElement("div",{className:"mdhui-blood-pressure-metrics-rows"},m(dB("systolic-average"),t.averageSystolicAlert,t.averageSystolicAlertClass,t.averageSystolic),m(dB("diastolic-average"),t.averageDiastolicAlert,t.averageDiastolicAlertClass,t.averageDiastolic)),o.default.createElement("div",{className:"mdhui-blood-pressure-metrics-rows"},m(dB("highest-systolic"),t.maxSystolicAlert,t.maxSystolicAlertClass,t.maxSystolic),m(dB("lowest-systolic"),t.minSystolicAlert,t.minSystolicAlertClass,t.minSystolic)))}function m(e,t,n,r){return o.default.createElement("div",{className:"mdhui-blood-pressure-metrics-block"},o.default.createElement("div",{className:"mdhui-blood-pressure-metric-value"},null!=r?r:"--"," ",o.default.createElement("span",{className:"mdhui-blood-pressure-units"},"mm HG")),o.default.createElement("div",{className:"mdhui-blood-pressure-metric-description"},e),o.default.createElement("div",{className:n},null!=t?t:"No data yet"))}function g(e){const t=Math.min(...e),n={values:[t]};var r=t;return e.length>1&&(r=Math.max(...e)),n.values.push(r),n}function b(e,t){const n=t.map((e=>e.systolic)),r=g(n),i=n.reduce(((e,t)=>e+t))/n.length,a=t.map((e=>e.diastolic)),o=g(a),s=a.reduce(((e,t)=>e+t))/a.length;return{dataPoint:{dataSet1:o,dataSet2:r},xValue:Wr(e,"MM/dd"),class:h(i,s)}}return l=Rn(l),dU((function(){var e;return Yq(this,void 0,void 0,(function*(){if("Loading"!==t.previewState)if(["Default","NoData"].includes(null!==(e=t.previewState)&&void 0!==e?e:"")){const e="Default"===t.previewState?sV:[];s(u(e))}else uU(t.surveyDataSource,t.deviceDataSource).then((e=>{s(u(e))}))}))}),[],[t.previewState,t.weekStartsOn]),a?function(e){var n;const r=Cn(e,6);var s=[];const c=[];for(let t=e;t<=r;t.setDate(t.getDate()+1)){var l=Rn(t),u=null!==(n=null==a?void 0:a.get(l.toString()))&&void 0!==n?n:[];u.length>0?(s.push(...u),c.push(b(l,u))):c.push({xValue:Wr(l,"MM/dd")})}const h=p(s);return o.default.createElement("div",{ref:t.innerRef},o.default.createElement(MB,{dumbbells:c,axis:i}),h)}(l):o.default.createElement(yn,{innerRef:t.innerRef})},exports.Button=vn,exports.Calendar=ys,exports.CalendarDay=vs,exports.Card=xs,exports.CardTitle=ks,exports.CelebrationStep=NEe,exports.CelebrationStepContainer=function(){const[t,n]=e.useState(),[r,i]=e.useState(),[a,s]=e.useState(),[c,u]=e.useState(),[h,d]=e.useState(),[f,p]=e.useState(),[m,g]=e.useState({});return e.useEffect((()=>{l.default.getStepConfiguration().then((function(e){var t;e&&(n(e.properties.title),i(e.properties.text),s(e.properties.detailText),u(e.properties.iconImage),d(e.properties.image),p(e.properties.nextButtonText),g(null!==(t=e.styles)&&void 0!==t?t:{}))}))}),[]),o.default.createElement(NEe,{title:t,text:r,detailText:a,iconUrl:c,imageUrl:h,nextButtonText:f,styles:m})},exports.ConditionsList=cV,exports.ConditionsView=m_e,exports.ConnectDeviceAccountStep=LEe,exports.ConnectDeviceAccountStepContainer=function(t){const[n,r]=e.useState(),[i,a]=e.useState(),[s,c]=e.useState({}),[u,h]=e.useState(t.deviceType),[d,f]=e.useState(!0);function p(e){switch(e){case"Fitbit":return lV();case"Omron":return hV();case"Garmin":return uV()}}function m(e){return Yq(this,void 0,void 0,(function*(){try{const t=yield l.default.getExternalAccounts(),n=p(e);t.some((e=>e.provider.id===n))&&l.default.completeStep(n)}finally{f(!1)}}))}return e.useEffect((()=>{l.default.getStepConfiguration().then((function(e){var t;if(e){if(r(e.properties.title),a(e.properties.text),!e.properties.deviceType)throw new Error("deviceType is required");h(e.properties.deviceType),c(null!==(t=e.styles)&&void 0!==t?t:{}),m(e.properties.deviceType)}else m(u)}))}),[]),d?o.default.createElement(o.default.Fragment,null):o.default.createElement(LEe,{title:n,text:i,deviceType:u,providerID:p(u),styles:s,onConnect:function(){const e=p(u);l.default.connectExternalAccount(e,{openNewWindow:!0}).then((function(){l.default.completeStep(e)}))}})},exports.ConnectDevicesMenu=wV,exports.ConnectEhr=AV,exports.ConnectEhrStep=REe,exports.ConnectEhrStepContainer=function(){const[t,n]=e.useState(),[r,i]=e.useState(),[a,s]=e.useState(),[c,u]=e.useState(),[h,d]=e.useState(!0),[f,p]=e.useState({}),[m,g]=e.useState([]);return e.useEffect((()=>{l.default.getStepConfiguration().then((function(e){var t;e&&(n(e.properties.title),i(e.properties.text),u(e.properties.nextButtonText),p(null!==(t=e.styles)&&void 0!==t?t:{}))})),l.default.getSurveyContext().then((function(e){e&&s(e)}))}),[]),o.default.createElement(REe,{title:t,text:r,nextButtonText:c,nextButtonDisabled:h,styles:f,onProviderConnected:function(e){g((t=>[...t,e.id])),d(!1)},previewState:"Design"===(null==a?void 0:a.surveyMode)?"Default":void 0,onNextButtonClick:()=>l.default.completeStep(m.toString())})},exports.ConnectEhrView=function(e){var t;let n="",r=[];return e.excludeProviders||(r.push("Provider"),n+=dB("connect-ehr-title-providers")),e.excludeHealthPlans||(r.push("Health Plan"),n.length>0&&(n+=dB("connect-ehr-title-divider")),n+=dB("connect-ehr-title-health-plans")),n=dB("connect-ehr-title-prefix")+n,o.default.createElement(jt,{colorScheme:null!==(t=e.colorScheme)&&void 0!==t?t:"auto"},e.presentation&&o.default.createElement(zB,{title:n,showBackButton:"Push"==e.presentation,showCloseButton:"Modal"==e.presentation}),!e.presentation&&o.default.createElement(aF,null),o.default.createElement(oF,null,dB("ehr-intro")),o.default.createElement(xs,null,o.default.createElement(gW,{previewState:e.preview?"Default":void 0,applicationUrl:e.externalAccountsApplicationUrl,excludeProviders:e.excludeProviders,excludeHealthPlans:e.excludeHealthPlans,excludeDeviceManufacturers:!0})),o.default.createElement(xs,null,o.default.createElement(oG,{previewState:e.preview?"Default":void 0,providerCategories:r})))},exports.ConnectFitbit=OV,exports.ConnectGarmin=DV,exports.DailyDataChart=function(t){let[n,r]=e.useState(null),[i,a]=e.useState(!1);const s=e.useContext(_B);let c,u=t.intervalType||"Month";s?(u="6Month"===s.intervalType?"Month":"Day"===s.intervalType?"Week":s.intervalType,c=s.intervalStart):c=EB(u,t.weekStartsOn);let h="Week"===u?Dn(c,{days:7}):"Month"===u?Dn(c,{months:1}):c;function d(){r(null),t.previewDataProvider?t.previewDataProvider(c,h).then((e=>{r(e)})):oU(t.dailyDataType,c,h,!!t.previewState).then((e=>{r(e)}))}e.useEffect((()=>{function e(){t.previewDataProvider?a(!0):aU(t.dailyDataType).then((function(e){a(e)}))}return e(),l.default.on("applicationDidBecomeVisible",e),l.default.on("externalAccountSyncComplete",e),()=>{l.default.off("applicationDidBecomeVisible",e),l.default.off("externalAccountSyncComplete",e)}}),[t.dailyDataType]),e.useEffect((()=>(d(),l.default.on("applicationDidBecomeVisible",d),l.default.on("externalAccountSyncComplete",d),()=>{l.default.off("applicationDidBecomeVisible",d),l.default.off("externalAccountSyncComplete",d)})),[t.intervalType,t.weekStartsOn,s]);var f=[],p=!1;if(n?Object.keys(n).forEach((e=>{const r=za(e,"yyyy-MM-dd",new Date);var i={timestamp:r.getTime()};f.push(i);var a=yH(r);if(i.value=n[a],i.rawValue=i.value,i.date=r,t.valueConverter)i.value=t.valueConverter(i.value);else{let e=cU(t.dailyDataType).yAxisConverter;e&&(i.value=e(i.value))}p=!0})):f=void 0,!i&&t.hideIfNoData)return null;const[m,g]=function(){var e;if("Line"===t.chartType){const e=t.options;return[[{dataKey:"value",color:null==e?void 0:e.lineColor}],{domainMin:null==e?void 0:e.domainMin}]}if("Area"===t.chartType){const e=t.options;return[[{dataKey:"value",color:null==e?void 0:e.lineColor,areaColor:null==e?void 0:e.areaColor}],void 0]}if("Bar"===t.chartType){const n=t.options;return[[{dataKey:"value",color:null==n?void 0:n.barColor}],{thresholds:null===(e=null==n?void 0:n.thresholds)||void 0===e?void 0:e.map((e=>({value:e.value,overThresholdColor:e.overThresholdBarColor,referenceLineColor:e.referenceLineColor})))}]}return[[],void 0]}();return o.default.createElement(nB,{title:t.title,intervalType:u,intervalStart:c,data:f,expectedDataInterval:{days:1},chartHasData:p,series:m,tooltip:({active:e,payload:n,label:r})=>{if(e&&n&&n.length){var i=n[0].payload.date;let e=t.valueFormatter||cU(t.dailyDataType).formatter;return o.default.createElement("div",{className:"mdhui-time-series-tooltip"},o.default.createElement("div",{className:"mdhui-single-value-tooltip-value"},e?e(n[0].payload.rawValue):n[0].payload.value),o.default.createElement("div",{className:"mdhui-time-series-tooltip-date"},Wr(i,"MM/dd/yyyy")))}return null},chartType:t.chartType,options:g,innerRef:t.innerRef})},exports.DataChart=nB,exports.DateRangeContext=_B,exports.DateRangeCoordinator=AB,exports.DateRangeNavigator=vB,exports.DateRangeTitle=function(t){let n=e.useContext(_B);return n||(n={intervalStart:Rn(new Date),intervalType:"Day"}),o.default.createElement(TB,{defaultMargin:t.defaultMargin,order:t.order||3,color:t.color,style:t.style,innerRef:t.innerRef},yB(n.intervalType,n.intervalStart,"long"))},exports.DayTrackerSymbol=CB,exports.DeviceDataMonthChart=IV,exports.DeviceDataMonthCharts=PV,exports.DeviceDataView=function(e){var t;return o.default.createElement(jt,{colorScheme:null!==(t=e.colorScheme)&&void 0!==t?t:"auto"},o.default.createElement(aF,null),o.default.createElement(xs,{allowOverflow:!0},o.default.createElement(PV,{previewState:e.preview?"Default":void 0})),o.default.createElement(xs,null,o.default.createElement(CW,{previewState:e.preview?"connected":void 0})),o.default.createElement(xs,null,o.default.createElement(IW,{previewState:e.preview?"connected":void 0})),o.default.createElement(xs,null,o.default.createElement(wV,{previewState:e.preview?"Web":void 0})))},exports.DumbbellChart=MB,exports.EhrNewsFeed=nW,exports.EhrNewsFeedEventDetail=iW,exports.EhrNewsFeedEventDetailView=b_e,exports.EhrNewsFeedView=g_e,exports.ExternalAccountConnectionAlert=uW,exports.ExternalAccountList=dW,exports.ExternalAccountsLoadingIndicator=pW,exports.ExternalAccountsPreview=gW,exports.ExternalAccountsView=y_e,exports.Face=jB,exports.FitbitDevices=CW,exports.FitbitMonthCharts=DW,exports.FitbitView=function(t){var n,[r,i]=e.useState(!1);return e.useEffect((()=>{l.default.connect().then((()=>{i(!0)}))}),[]),o.default.createElement(jt,{colorScheme:null!==(n=t.colorScheme)&&void 0!==n?n:"auto"},o.default.createElement(aF,null),r&&o.default.createElement(o.default.Fragment,null,o.default.createElement(xs,null,o.default.createElement(OV,{previewState:t.connectPreview,disabledBehavior:"displayError"})),o.default.createElement(xs,null,o.default.createElement(CW,{previewState:t.devicesPreview})),o.default.createElement(xs,{allowOverflow:!0},o.default.createElement(DW,{previewState:t.chartsPreview}))),!r&&o.default.createElement(yn,null))},exports.GarminDevices=IW,exports.GarminMonthCharts=PW,exports.GarminView=function(t){var[n,r]=e.useState(!1);return e.useEffect((()=>{l.default.connect().then((()=>{r(!0)}))}),[]),o.default.createElement(jt,null,o.default.createElement(aF,{color:"var(--main-bg-color)"}),n&&o.default.createElement(o.default.Fragment,null,o.default.createElement(xs,null,o.default.createElement(DV,{previewState:t.connectPreview,garminProviderID:t.garminProviderID,disabledBehavior:"displayError"})),o.default.createElement(xs,null,o.default.createElement(IW,{previewState:t.devicesPreview})),o.default.createElement(xs,{allowOverflow:!0},o.default.createElement(PW,{previewState:t.chartsPreview}))),!n&&o.default.createElement(yn,null))},exports.HealthAndWellnessView=function(e){var t,n;function r(){l.default.openApplication("https://hw.careevolutionapps.com/LabReports.html?lang="+l.default.getCurrentLanguage())}function i(e){var t=new URLSearchParams({termFamily:e.TermFamily,termNamespace:e.TermNamespace,termCode:e.TermCode,lang:l.default.getCurrentLanguage()}).toString();l.default.openApplication("https://hw.careevolutionapps.com/TermInformation.html?"+t,{modal:!0})}let a=null!==(t=e.variant)&&void 0!==t?t:"default";function s(t){var n=function(){return o.default.createElement(jW,{concept:t,onClick:()=>function(e){l.default.openApplication("https://hw.careevolutionapps.com/"+e+".html")}(t),previewState:"default"==e.previewState?"Default":void 0,indicatorPosition:"cardBased"==a?"topRight":"default"})};return"cardBased"==e.variant?o.default.createElement(xs,null,n()):n()}return o.default.createElement(jt,{colorScheme:null!==(n=e.colorScheme)&&void 0!==n?n:"auto"},o.default.createElement(aF,null),o.default.createElement(pW,{previewState:"default"==e.previewState?"externalAccountsLoaded":void 0,externalAccountCategories:["Provider","Health Plan"]}),"default"==a&&o.default.createElement(YB,{noTopMargin:!0},o.default.createElement(WW,{onViewTermInfo:e=>i(e),onClick:()=>r(),previewState:"default"==e.previewState?"ImportantLabs":void 0}),o.default.createElement(qW,{previewState:"default"==e.previewState?"BloodTypeLabs":void 0}),s("Medications"),s("Immunizations"),s("Reports"),s("Allergies"),s("Conditions"),s("Procedures"),o.default.createElement(gW,{excludeDeviceManufacturers:!0,applicationUrl:e.externalAccountsApplicationUrl,previewState:"default"==e.previewState?"Default":void 0})),"cardBased"==a&&o.default.createElement(o.default.Fragment,null,o.default.createElement(xs,null,o.default.createElement(WW,{onViewTermInfo:e=>i(e),onClick:()=>r(),previewState:"default"==e.previewState?"ImportantLabs":void 0})),o.default.createElement(xs,null,o.default.createElement(qW,{previewState:"default"==e.previewState?"BloodTypeLabs":void 0})),s("Medications"),s("Immunizations"),s("Reports"),s("Allergies"),s("Conditions"),s("Procedures"),o.default.createElement(xs,null,o.default.createElement(gW,{excludeDeviceManufacturers:!0,applicationUrl:e.externalAccountsApplicationUrl,previewState:"default"==e.previewState?"Default":void 0}))),o.default.createElement(xs,null,o.default.createElement(AV,{bottomBorder:!0,applicationUrl:e.connectEhrApplicationUrl,previewState:"default"==e.previewState?"enabledConnected":void 0})))},exports.HealthPreviewSection=jW,exports.Histogram=BB,exports.HomeView=function(e){var t,n="Push";return e.notificationType&&(n=e.notificationType),o.default.createElement(jt,{colorScheme:null!==(t=e.colorScheme)&&void 0!==t?t:"auto"},o.default.createElement(aF,{color:"#FFFFFF"}),o.default.createElement(xs,null,o.default.createElement(aV,{previewDevicePlatform:e.preview?"Web":void 0,previewProjectPlatforms:e.preview?["Web","Android","iOS"]:void 0})),o.default.createElement(xs,null,o.default.createElement(YW,{notificationType:n,onViewMore:e.notificationsViewUrl?()=>{e.notificationsViewUrl&&l.default.openApplication(e.notificationsViewUrl)}:void 0,previewState:e.preview?"Default":void 0,hideAfterHours:e.notificationHideAfterHours})),o.default.createElement(pG,{variant:"singleCard",status:"incomplete",limit:3,title:dB("tasks"),onDetailLinkClick:e.tasksViewUrl?()=>{e.tasksViewUrl&&l.default.openApplication(e.tasksViewUrl)}:void 0,previewState:e.preview?"IncompleteTasks":void 0}),o.default.createElement(xs,null,o.default.createElement(wV,{headerVariant:"medium",previewState:e.preview?"Web":void 0})),o.default.createElement(xs,null,e.ehrConnectApplicationUrl&&o.default.createElement(AV,{variant:"medium",previewState:e.preview?"enabled":void 0,applicationUrl:e.ehrConnectApplicationUrl})),o.default.createElement(xs,null,o.default.createElement(tG,{previewState:e.preview?"Default":void 0})))},exports.InboxCompletedListItem=Vq,exports.InboxHistoryView=function(e){var t;return o.default.createElement(jt,{colorScheme:null!==(t=e.colorScheme)&&void 0!==t?t:"auto"},o.default.createElement(zB,{showCloseButton:!0}),o.default.createElement("div",{className:"mdhui-inbox-history"},o.default.createElement(TB,{order:3},dB("inbox-history-view-title")),o.default.createElement(JX,{previewState:"default"===e.previewState?"complete items":void 0,status:"complete",messageViewerUrl:e.messageViewerUrl,emptyText:dB("inbox-history-view-empty-text")})))},exports.InboxItemList=JX,exports.InboxItemListCoordinator=ZX,exports.InboxMessageListItem=Wq,exports.InboxMessageView=function(t){var n;const[r,i]=e.useState();return e.useEffect((()=>{t.previewState?i(t.previewState):l.default.queryDeviceData({namespace:"Project",type:"MDHUI-InboxMessage"}).then((e=>{if(e.deviceDataPoints.length>0){let t=e.deviceDataPoints[0].value;YX.loadInboxItem(t).then((e=>{e&&"message"===e.type?i(e):l.default.dismiss()}))}else l.default.dismiss()}))}),[t.previewState]),o.default.createElement(jt,{colorScheme:null!==(n=t.colorScheme)&&void 0!==n?n:"auto"},o.default.createElement(zB,{showCloseButton:!0}),!r&&o.default.createElement(yn,null),r&&o.default.createElement("div",{className:"mdhui-inbox-message"},o.default.createElement(TB,{order:3},r.title),o.default.createElement("div",{className:"mdhui-inbox-message-content",dangerouslySetInnerHTML:{__html:r.content}}),r.relatedResources&&r.relatedResources.length>0&&o.default.createElement("div",{className:"mdhui-inbox-message-related-resources"},o.default.createElement(TB,{order:4},dB("inbox-message-view-related-resources-title")),r.relatedResources.map(((e,n)=>o.default.createElement(VB,{key:n,imageUrl:e.imageUrl,title:e.title,subTitle:e.subTitle,imageAlignment:t.resourceImageAlignment,buttonText:t.resourceButtonText,onClick:()=>(e=>{t.previewState||l.default.openEmbeddedUrl(e.url)})(e)}))))))},exports.InboxResourceListItem=Gq,exports.InboxSurveyListItem=Kq,exports.InboxView=function(e){var t;return o.default.createElement(jt,{colorScheme:null!==(t=e.colorScheme)&&void 0!==t?t:"auto"},o.default.createElement(ZX,null,o.default.createElement(w_e,Object.assign({},e))))},exports.LabResultsBloodType=qW,exports.LabResultsSummary=WW,exports.Layout=jt,exports.LayoutContext=Rt,exports.LoadingIndicator=yn,exports.MedicationsList=GW,exports.MedicationsView=v_e,exports.MonthlyEventMatrix=FB,exports.MostRecentNotification=YW,exports.MyDataHelpsAssistant=function(t){const[n,r]=e.useState(""),[i,a]=e.useState([]),[s,c]=e.useState(""),[l,u]=e.useState(!0),h=e.useRef(),d=e.useRef(null);e.useEffect((()=>{void 0===h.current&&(h.current=new ixe),xie.initialize({startOnLoad:!1})}),[]),e.useEffect((()=>{d.current&&(d.current.scrollTop=d.current.scrollHeight)}),[i]);const f=function(){var e;return Yq(this,void 0,void 0,(function*(){let t=null===(e=null==d?void 0:d.current)||void 0===e?void 0:e.querySelectorAll(".language-mermaid");t&&t.length>0&&(t.forEach((e=>e.removeAttribute("data-processed"))),yield xie.run({nodes:t,suppressErrors:!0}))}))},p=function(){var e;return Yq(this,void 0,void 0,(function*(){let i=n;a((e=>[...e,{type:"user",content:i}])),r(""),yield null===(e=h.current)||void 0===e?void 0:e.ask(i,(function(e){var n;const[r,i]=e.event.split("_").slice(1);if("stream"===i&&"chain"!==r){let r=(null===(n=e.data)||void 0===n?void 0:n.chunk).message;r.content&&"string"==typeof r.content?m(e.run_id,r.content):t.debug&&r.tool_call_chunks&&r.tool_call_chunks.length>0&&(r.tool_call_chunks[0].args?m(e.run_id,r.tool_call_chunks[0].args):r.tool_call_chunks[0].name&&m(e.run_id,r.tool_call_chunks[0].name+" "))}"tool"===r&&("start"===i?c(`Calling ${e.name}...`):"end"===i&&c("")),"end"===i&&"llm"===r&&f()}))}))},m=function(e,t){a((n=>{let r=n.find((t=>t.runId===e));if(r){const i=Object.assign(Object.assign({},r),{content:r.content+t});return n.map((t=>t.runId===e?i:t))}return[...n,{type:"ai",content:t,runId:e}]}))};return o.default.createElement(o.default.Fragment,null,l&&o.default.createElement("div",{className:"mdh-assistant-collapsed"},o.default.createElement(y,{icon:rZ.faFlask,size:"lg",onClick:()=>Yq(this,void 0,void 0,(function*(){u(!1),yield f()}))})),!l&&o.default.createElement("div",{className:"mdh-assistant"},o.default.createElement("div",{className:"mdh-assistant-header"},o.default.createElement("div",null,o.default.createElement(y,{icon:rZ.faFlask}),"MyDataHelps Assistant"),o.default.createElement(y,{icon:aZ.faChevronDown,className:"collapse-button",onClick:()=>u(!0)})),o.default.createElement("div",{id:"log",ref:d},i&&i.map(((e,t)=>"user"===e.type?o.default.createElement("div",{className:"user-message",key:t},o.default.createElement(y,{icon:tZ.faUser}),o.default.createElement("p",null,e.content)):"ai"===e.type?o.default.createElement("div",{className:"ai-message",key:t},o.default.createElement(y,{icon:nZ.faGear}),o.default.createElement(V0,null,e.content)):void 0)),s&&o.default.createElement("div",{id:"loading"},o.default.createElement(y,{icon:iZ.faSpinner,spin:!0}),s)),o.default.createElement("div",{className:"input"},o.default.createElement("div",{className:"input-group"},o.default.createElement("input",{type:"text",id:"user-input",value:n,onChange:e=>{r(e.target.value)},onKeyDown:e=>{"Enter"===e.key&&p()}}),o.default.createElement("button",{type:"button",id:"send",onClick:p},o.default.createElement(y,{icon:eZ.faPaperPlane}))))))},exports.NavigationBar=zB,exports.NewPointsView=function(e){var t,n;let r=e.entries.reduce(((e,t)=>e+(t.bonusPoints||0)),0),i=e.entries.reduce(((e,t)=>e+t.points),r);return o.default.createElement(jt,{bodyBackgroundColor:"dark"===e.colorScheme?"":"#fff",colorScheme:null!==(t=e.colorScheme)&&void 0!==t?t:"auto",primaryColor:e.primaryColor},o.default.createElement("div",{className:"mdhui-new-points"},o.default.createElement(HB,{animate:!0},o.default.createElement("div",{className:"mdhui-new-points-total"},o.default.createElement("div",{className:"mdhui-new-points-total-points"},"+",i),o.default.createElement("div",{className:"mdhui-new-points-total-points-label"},"points"))),o.default.createElement("div",{className:"mdhui-new-points-content"},1==e.entries.length&&e.entries[0].message&&0===r&&o.default.createElement("div",null,o.default.createElement("div",{className:"mdhui-new-points-title"},e.entries[0].message.title),o.default.createElement("div",{className:"mdhui-new-points-text"},e.entries[0].message.text)),(e.entries.length>1||!e.entries[0].message||r>0)&&o.default.createElement("div",null,o.default.createElement("div",{className:"mdhui-new-points-title"},dB("new-points-title")),o.default.createElement("div",{className:"mdhui-new-points-text"},dB("new-points-text")),o.default.createElement("div",{className:"mdhui-new-points-entries"},e.entries.map(((e,t)=>o.default.createElement("div",{key:t,className:"mdhui-new-points-entry"},o.default.createElement("div",{className:"mdhui-new-points-entry-name"},e.name),o.default.createElement("div",{className:"mdhui-new-points-entry-points"},"+",e.points)))),r>0&&o.default.createElement("div",{className:"mdhui-new-points-entry"},o.default.createElement("div",{className:"mdhui-new-points-entry-name bonus"},"Bonus"),o.default.createElement("div",{className:"mdhui-new-points-entry-points bonus"},"+",r)))),e.pointsToNextReward&&o.default.createElement("div",{className:"mdhui-new-points-next-reward"},dB("new-points-next-reward-prefix"),o.default.createElement("span",{className:"mdhui-new-points-next-reward-points"},e.pointsToNextReward),dB("new-points-next-reward-suffix"))),o.default.createElement("div",{className:"mdhui-new-points-button-panel"},o.default.createElement(vn,{onClick:()=>l.default.dismiss()},null!==(n=e.doneButtonText)&&void 0!==n?n:dB("new-points-done-button-text")))))},exports.NotesInput=$B,exports.NotificationList=ZW,exports.NotificationsView=function(e){var t,n="Push";return e.notificationType&&(n=e.notificationType),o.default.createElement(jt,{colorScheme:null!==(t=e.colorScheme)&&void 0!==t?t:"auto"},e.presentation&&o.default.createElement(zB,{title:dB("notifications"),showBackButton:"Push"==e.presentation,showCloseButton:"Modal"==e.presentation}),!e.presentation&&o.default.createElement(aF,null),o.default.createElement(ZW,{notificationType:n,previewState:e.preview?"Default":void 0}))},exports.PlatformSpecificContent=nV,exports.ProgressBar=qB,exports.ProgressBarStep=function(t){let n=e.useContext(Rt),r="calc( var(--icon_size) / 2 - "+t.height+" / 2 - 4px)";return o.default.createElement("span",{style:{border:"2px solid",borderColor:v(null==n?void 0:n.colorScheme,t.borderColor),borderRadius:t.height,height:t.height,width:t.height,marginTop:r,backgroundColor:v(null==n?void 0:n.colorScheme,t.backgroundColor),padding:"4px 4px"}},t.children)},exports.ProgressRing=HB,exports.ProjectHeader=function(t){const[n,r]=e.useState(!0),[i,a]=e.useState(null);function s(){if("Default"==t.previewState)return a({name:"My Project Name",organization:{name:"My Organization Name",color:"#0076BE",logoUrl:"https://rkstudio.careevolution.com/inv/api/researchkit/organizationbrandingimage/1e1853a2-50d3-4e26-863d-d8546bce63e3"}}),void r(!1);l.default.getProjectInfo().then((function(e){a(e),r(!1)}))}e.useEffect((()=>(s(),l.default.on("applicationDidBecomeVisible",s),()=>{l.default.off("applicationDidBecomeVisible",s)})),[]);var c=null==i?void 0:i.organization.logoUrl;return c&&!(null==c?void 0:c.startsWith("http"))&&(c=l.default.baseUrl+(null==i?void 0:i.organization.logoUrl)),o.default.createElement("div",{ref:t.innerRef,className:"mdhui-project-header"},n&&o.default.createElement(yn,null),!n&&i&&o.default.createElement("div",null,o.default.createElement("div",{style:{backgroundImage:"url('"+c+"')"},className:"logo"}),o.default.createElement("div",{className:"project-info"},o.default.createElement("div",{className:"project-name",style:{color:i.organization.color}},i.name),o.default.createElement("div",{className:"organization-name"},i.organization.name))))},exports.ProjectSupport=tG,exports.ProviderSearch=oG,exports.RecentDailyDataBarChart=sG,exports.RelativeActivity=hG,exports.RelativeActivityDayCoordinator=function(t){const[n,r]=e.useState(null),[i,a]=e.useState(void 0),[s,c]=e.useState({intervalStart:Rn(new Date),intervalType:"Day"});return dU((()=>{!function(){if("default"===t.previewState)return void r(t.dataTypes);let e=t.dataTypes.map((e=>aU(e.dailyDataType)));Promise.all(e).then((e=>{let n=t.dataTypes.filter(((t,n)=>e[n]));r(n)}))}()}),["externalAccountSyncComplete"],[t.dataTypes,t.previewState]),o.default.createElement("div",{ref:t.innerRef},null===n&&o.default.createElement(yn,null),null!==n&&o.default.createElement(lG.Provider,{value:{dataTypes:n,data:i}},o.default.createElement(_B.Provider,{value:s},o.default.createElement(cG,{selectedDate:s.intervalStart,onDateSelected:e=>c(Object.assign(Object.assign({},s),{intervalStart:e})),dataTypes:n,previewState:t.previewState,onDataLoaded:e=>a(e)}),i&&t.children)))},exports.RelativeActivityDayNavigator=cG,exports.RelativeActivityToday=function(e){return o.default.createElement(hG,{date:Rn(new Date),dataTypes:e.dataTypes,previewState:e.previewState,title:e.title,innerRef:e.innerRef})},exports.Resource=VB,exports.ResourceList=KB,exports.ResourceListView=function(e){var t;return o.default.createElement(jt,{colorScheme:null!==(t=e.colorScheme)&&void 0!==t?t:"auto"},o.default.createElement(zB,{variant:"compressed",showCloseButton:!0},o.default.createElement(TB,{order:1},e.title)),o.default.createElement(KB,{previewState:e.previewState,resources:e.resources,onViewResource:t=>{e.previewState||l.default.openEmbeddedUrl(t.url)},emptyText:e.emptyText,imageAlignment:e.resourceImageAlignment,buttonVariant:e.resourceButtonVariant,buttonText:e.resourceButtonText}))},exports.RestingHeartRateCalendar=function(t){const[n,r]=e.useState(!1),[i,a]=e.useState({});var s=new Date(t.year,t.month,1,0,0,0,0),c=Dn(s,{months:1});function u(){var e,n;"NoData"!==t.showPreviewData&&("Loading"!==t.showPreviewData?(r(!0),(e=t.dataTypeSource,n=exports.DailyDataType.RestingHeartRate,"AppleHealth"==e&&(n=exports.DailyDataType.AppleHealthRestingHeartRate),"Fitbit"==e&&(n=exports.DailyDataType.FitbitRestingHeartRate),"Garmin"==e&&(n=exports.DailyDataType.GarminRestingHeartRate),oU(n,s,c,void 0!==t.showPreviewData).then((function(e){a(e)}))).then((()=>r(!1)))):r(!0))}return e.useEffect((()=>(u(),l.default.on("applicationDidBecomeVisible",u),l.default.on("externalAccountSyncComplete",u),()=>{l.default.off("applicationDidBecomeVisible",u),l.default.off("externalAccountSyncComplete",u)})),[t]),o.default.createElement("div",{ref:t.innerRef},n&&o.default.createElement(yn,null),!n&&o.default.createElement(ys,{year:t.year,month:t.month,dayRenderer:function(e,t,n){const r=function(e,t,n){if(void 0!==n){var r=yH(new Date(e,t,n));return i[r]}}(e,t,n);return void 0!==n?o.default.createElement("div",{className:"mdhui-calendar-day-with-data-value"},o.default.createElement("div",{className:"calendar-value"},r),o.default.createElement("div",{className:"calendar-day"},n)):o.default.createElement("div",null)}}))},exports.RotatingComponentCoordinator=function(t){let n=e.Children.toArray(t.children);if(0===n.length)return o.default.createElement("div",{ref:t.innerRef});let r,i=new Date,a=t.startDate;return ti(a,i)&&(a=i),r="month"===t.interval?Qn(i,a)%n.length:"week"===t.interval?function(e,t,n){An(2,arguments);var r=Vn(e,t)/7;return Yn(null==n?void 0:n.roundingMethod)(r)}(i,a)%n.length:Vn(i,a)%n.length,o.default.createElement("div",{ref:t.innerRef},n[r])},exports.Section=YB,exports.SegmentedControl=XB,exports.SeverityCalendar=function(t){var n,r;const i={surveyName:t.surveyName,resultIdentifier:t.dateRecordedResultIdentifier?[t.dateRecordedResultIdentifier,t.severityResultIdentifier]:[t.severityResultIdentifier]},[a,s]=e.useState(),c=e.useContext(_B);let l=null!==(r=null!==(n=null==c?void 0:c.intervalStart)&&void 0!==n?n:t.intervalStart)&&void 0!==r?r:Jn(new Date);function u(e){var n,r=new Map,i=function(e){var n=new Map;return e.forEach((e=>{var r=n.get(e.surveyResultID),i=null!=r?r:{dateObservedAnswer:void 0,severityAnswer:void 0};e.answers&&""!==e.answers[0]&&(e.resultIdentifier===t.severityResultIdentifier?i.severityAnswer=e:e.resultIdentifier===t.dateRecordedResultIdentifier&&(i.dateObservedAnswer=e),n.set(e.surveyResultID,i))})),n}(e);const a=null!==(n=t.severityValueMapper)&&void 0!==n?n:function(e){let t="";return["mild","moderate","severe"].includes(e.toLowerCase())&&(t=e.toLowerCase()),t};i.forEach((e=>{if(e.severityAnswer){var t=a(e.severityAnswer.answers[0]);if(t){let n=qa(e.dateObservedAnswer?e.dateObservedAnswer.answers[0]:e.severityAnswer.date),i=Wr(Rn(n),"MM/dd/yyyy"),a=r.get(i);a?e.severityAnswer.date>a.dateEntered&&(a.dateObserved=n,a.severity=t,a.dateEntered=e.severityAnswer.date):r.set(i,{dateObserved:n,severity:t,dateEntered:e.severityAnswer.date})}}})),s(r)}const h={mild:{style:{background:"#F7DA19"},streak:!0,streakColor:"#FDEF97"},moderate:{style:{background:"var(--mdhui-color-warning)"},streak:!0,streakColor:"#FCCCC7"},severe:{style:{background:"var(--mdhui-color-danger)"},streak:!0,streakColor:"#FCCCC7"}},d=e=>{var t,n;let r=Wr(Rn(e),"MM/dd/yyyy");return null!==(n=null===(t=null==a?void 0:a.get(r))||void 0===t?void 0:t.severity)&&void 0!==n?n:""},f=(e,t,n)=>o.default.createElement(vs,{year:e,month:t,day:n,stateConfiguration:h,computeStateForDay:d});return dU((function(){return Yq(this,void 0,void 0,(function*(){t.previewState?u("Default"===t.previewState?bG:[]):hU(i).then((e=>{u(e)}))}))}),[],[t.previewState]),a?o.default.createElement(ys,{innerRef:t.innerRef,className:"mdhui-simple-calendar",year:l.getFullYear(),month:l.getMonth(),dayRenderer:f}):o.default.createElement(yn,{innerRef:t.innerRef})},exports.ShinyOverlay=ws,exports.SingleDataPoint=ZB,exports.SingleExternalAccount=eF,exports.SingleNotification=tF,exports.SingleSurveyTask=rF,exports.SparkBarChart=iF,exports.StandaloneHealthAndWellnessView=function(e){let[t,n]=o.default.useState([{key:"Dashboard"}]);function r(e){n([...t,e])}function i(e){r({key:"TermInformation",properties:{term:{TermFamily:e.TermFamily,TermNamespace:e.TermNamespace,TermCode:e.TermCode}}})}function a(){r({key:"ExternalAccounts"})}function s(){n(t.slice(0,t.length-1)),2==t.length&&l.default.triggerEvent({type:"applicationDidBecomeVisible"})}function c(t){return o.default.createElement(jW,{concept:t,onClick:()=>function(e){r("Reports"==e||"Immunizations"==e||"Procedures"==e?{key:"NewsFeed",properties:{feed:e}}:{key:e})}(t),previewState:"default"==e.previewState?"Default":void 0})}function u(u){var h,d,f,p,m,g;if("Dashboard"==u.key)return o.default.createElement(jt,{colorScheme:null!==(h=e.colorScheme)&&void 0!==h?h:"auto"},o.default.createElement(pW,{previewState:"default"==e.previewState?"externalAccountsLoaded":void 0,externalAccountCategories:["Provider","Health Plan"],triggerWebExternalAccountSyncComplete:!0}),o.default.createElement(YB,{noTopMargin:!0},o.default.createElement(uW,{previewState:"default"==e.previewState?"externalAccountWithIssue":void 0,externalAccountCategories:["Provider","Health Plan"],onClick:()=>a()}),o.default.createElement(gW,{excludeDeviceManufacturers:!0,onClick:()=>a(),previewState:"default"==e.previewState?"Default":void 0}),o.default.createElement(WW,{onViewTermInfo:e=>i(e),onClick:()=>{r({key:"NewsFeed",properties:{feed:"LabReports"}})},previewState:"default"==e.previewState?"ImportantLabs":void 0}),o.default.createElement(qW,{previewState:"default"==e.previewState?"BloodTypeLabs":void 0,onClick:()=>function(){let e="https://medlineplus.gov/ency/article/003345.htm";l.default.getCurrentLanguage().toLowerCase().startsWith("es")&&(e="https://medlineplus.gov/spanish/ency/article/003345.htm"),window.open(e,"_blank")}()}),c("Medications"),c("Immunizations"),c("Reports"),c("Allergies"),c("Conditions"),c("Procedures")),o.default.createElement(xs,null,o.default.createElement(AV,{previewState:"default"==e.previewState?"enabled":void 0,variant:"small",hideWhenConnected:!0,onClick:()=>r({key:"ConnectEhr"})})));if("NewsFeed"==u.key)return o.default.createElement(g_e,{feed:null===(d=u.properties)||void 0===d?void 0:d.feed,previewState:e.previewState,presentation:"Push",colorScheme:e.colorScheme,onEventSelected:e=>{n([...t,{key:"NewsFeedEventDetail",properties:{eventReference:e}}])},onReportSelected:e=>{r({key:"ReportDetail",properties:{reportID:e}})}});if("NewsFeedEventDetail"==u.key){let t,n=null===(f=u.properties)||void 0===f?void 0:f.eventReference,i=n.feed;return e.previewState&&("Procedures"==i&&(t="ProcedureGroup"),"LabReports"==i&&(t="LabReport")),o.default.createElement(b_e,{feed:n.feed,presentation:"Push",pageDate:n.pageDate,pageId:n.pageId,onViewLabObservationTermInfo:e=>{r({key:"TermInformation",properties:{labObservationID:e}})},previewState:t})}return"TermInformation"==u.key?o.default.createElement(__e,{presentation:"Modal",openLinksInNewWindow:!0,previewState:e.previewState,term:null===(p=u.properties)||void 0===p?void 0:p.term,labObservationID:null===(m=u.properties)||void 0===m?void 0:m.labObservationID}):"Medications"==u.key?o.default.createElement(v_e,{presentation:"Push",previewState:e.previewState,onViewTermInfo:e=>i(e)}):"Conditions"==u.key?o.default.createElement(m_e,{presentation:"Push",previewState:e.previewState,onViewTermInfo:e=>i(e)}):"Allergies"==u.key?o.default.createElement(p_e,{presentation:"Push",previewState:e.previewState,onViewTermInfo:e=>i(e)}):"ReportDetail"==u.key?o.default.createElement(E_e,{previewState:"html",reportId:null===(g=u.properties)||void 0===g?void 0:g.reportId}):"ExternalAccounts"==u.key?o.default.createElement(y_e,{presentation:"Push",onBack:()=>s(),excludeDeviceManufacturers:!0,colorScheme:e.colorScheme,previewState:e.previewState,connectExternalAccountOptions:e.connectExternalAccountOptions}):"ConnectEhr"==u.key?o.default.createElement(jt,{colorScheme:e.colorScheme},o.default.createElement(zB,{showBackButton:!0}),o.default.createElement(YB,null,o.default.createElement(oG,{providerCategories:["Provider","Health Plan"],connectExternalAccountOptions:e.connectExternalAccountOptions}))):void 0}return l.default.back=s,l.default.dismiss=s,o.default.createElement(o.default.Fragment,null,t.map(((e,n)=>o.default.createElement("div",{key:e.key,style:{display:n!=t.length-1?"none":void 0}},u(e)))))},exports.StatusBarBackground=aF,exports.StepDetailText=xEe,exports.StepImage=PEe,exports.StepImageIcon=IEe,exports.StepLayout=sxe,exports.StepMarkdown=yEe,exports.StepNextButton=kEe,exports.StepText=wEe,exports.StepTitle=vEe,exports.SurveyAnswerChart=function(t){let[n,r]=e.useState(null);const i=e.useContext(_B);let a,s=t.intervalType||"Month";i?(s="Day"===i.intervalType?"Week":i.intervalType,a=i.intervalStart):a=EB(s,t.weekStartsOn);let c="Week"===s?Dn(a,{days:7}):"Month"===s?Dn(a,{months:1}):"6Month"===s?Dn(a,{months:6}):a;function l(e){return`${e.surveyName}-${e.stepIdentifier}-${e.resultIdentifier}`}function u(e){for(var n={},r=0;r<t.series.length;r++)n[l(t.series[r])]=e[r];return n}dU((()=>{(()=>{if(r(null),t.previewDataProvider)t.previewDataProvider(a,c).then((e=>{r(u(e))}));else{var e=t.series.map((e=>hU({surveyName:e.surveyName,stepIdentifier:e.stepIdentifier,resultIdentifier:e.resultIdentifier,after:a.toISOString(),before:c.toISOString()})));Promise.all(e).then((e=>{r(u(e))}))}})()}),[],[t.intervalType,t.weekStartsOn,i]);var h=void 0,d=!1;return null!==n&&(h=[],t.series.forEach((e=>{var t=l(e);n[t].forEach((t=>{var n=qa(t.date);n.setHours(0,0,0,0);var r=h.find((e=>e.timestamp===n.getTime()));r||(r={timestamp:n.getTime()},h.push(r)),r[e.dataKey]=parseFloat(t.answers[0]),d=!0}))})),h.sort(((e,t)=>e.timestamp-t.timestamp))),o.default.createElement(nB,{title:t.title,intervalType:s,intervalStart:a,data:h,expectedDataInterval:t.expectedDataInterval,series:t.series.map((e=>{const t={dataKey:e.dataKey,color:e.color};return"areaColor"in e&&(t.areaColor=e.areaColor),t})),chartHasData:d,tooltip:({active:e,payload:n})=>{function r(e,n){return e.stroke||function(e,n){var r=t.options?t.options[n]:null;return r?Array.isArray(r)?r[e]:r:"var(--mdhui-color-primary)"}(n,"barColor")}return e&&n&&n.length?1===n.length?o.default.createElement("div",{className:"mdhui-time-series-tooltip"},o.default.createElement("div",{className:"mdhui-single-value-tooltip-value"},parseFloat(n[0].value).toFixed(2)),o.default.createElement("div",{className:"mdhui-time-series-tooltip-date"},Wr(new Date(n[0].payload.timestamp),"MM/dd/yyyy"))):o.default.createElement("div",{className:"mdhui-time-series-tooltip"},o.default.createElement("table",{className:"mdhui-multiple-value-tooltip"},o.default.createElement("tbody",null,n.map(((e,t)=>o.default.createElement("tr",{key:e.dataKey},o.default.createElement("th",{style:{color:r(e,t)}},e.dataKey),o.default.createElement("td",null,parseFloat(e.value).toFixed(2))))))),o.default.createElement("div",{className:"mdhui-time-series-tooltip-date"},Wr(new Date(n[0].payload.timestamp),"MM/dd/yyyy"))):null},chartType:t.chartType,options:t.options})},exports.SurveyTaskList=pG,exports.SurveyTasksView=function(e){var t;return o.default.createElement(jt,{colorScheme:null!==(t=e.colorScheme)&&void 0!==t?t:"auto"},e.presentation&&o.default.createElement(zB,{title:dB("tasks"),showBackButton:"Push"==e.presentation,showCloseButton:"Modal"==e.presentation}),!e.presentation&&o.default.createElement(aF,null),!e.hideIncompleteTasks&&o.default.createElement(pG,{variant:"multiCard",title:dB("incomplete-tasks"),status:"incomplete",previewState:e.preview?"IncompleteTasks":void 0}),!e.hideCompleteTasks&&o.default.createElement(pG,{variant:"multiCard",title:dB("completed-tasks"),status:"complete",previewState:e.preview?"CompleteTasks":void 0}))},exports.Switch=function(e){return o.default.createElement(d,{innerRef:e.innerRef,onClick:()=>e.onValueChanged(!e.isOn),className:"mdhui-switch"+(e.isOn?" mdhui-switch-on":"")+(e.className?" "+e.className:""),style:{backgroundColor:e.isOn?e.onBackgroundColor:"var(--mdhui-background-color-2)"}},o.default.createElement("div",{className:"mdhui-switch-circle"}))},exports.SymptomSharkCalendar=XEe,exports.SymptomSharkCalendarView=function(e){var t;return o.default.createElement(jt,{colorScheme:null!==(t=e.colorScheme)&&void 0!==t?t:"light"},o.default.createElement(AB,{variant:"rounded",intervalType:"Month",sticky:!0},o.default.createElement(KEe,{showFilters:!0,previewState:e.previewState},o.default.createElement(YB,null,o.default.createElement(XEe,{onDaySelected:e.onDaySelected})),o.default.createElement(YB,null,o.default.createElement(o_e,{onSymptomSelected:e.onSymptomSelected})),o.default.createElement(YB,null,o.default.createElement(QEe,null)),o.default.createElement(d_e,null))))},exports.SymptomSharkLogEntry=JEe,exports.SymptomSharkLogEntryEdit=u_e,exports.SymptomSharkLogEntryEditView=function(e){return o.default.createElement(jt,{bodyBackgroundColor:"var(--mdhui-background-color-0)",colorScheme:e.colorScheme||"light"},o.default.createElement(u_e,Object.assign({},e)))},exports.SymptomSharkLogEntryList=function(t){const[n,r]=e.useState({}),[i,a]=e.useState(null),[s,c]=e.useState([new Date]);function u(){if(yH(s[0])!=yH(new Date)&&c([new Date]),"default"!=t.previewState)FEe.getConfiguration().then((function(e){FEe.getDailyLogEntries().then((function(t){a(e),r(t)}))}));else{a(c_e);let e=yH(Dn(new Date,{days:-1}));r(Object.assign(Object.assign({},n),{[e]:l_e}))}}return e.useEffect((()=>(u(),l.default.on("applicationDidBecomeVisible",u),()=>{l.default.off("applicationDidBecomeVisible",u)})),[]),o.default.createElement("div",{ref:t.innerRef,className:"log-entry-list"},i&&s.map((e=>o.default.createElement(JEe,{noDataMessage:yH(e)==yH(new Date)?dB("tap-to-log-today"):void 0,key:yH(e),date:e,configuration:i,logEntry:n[yH(e)],onClick:()=>t.onDaySelected(e)}))),o.default.createElement(LV,{enabled:!!i,onTrigger:()=>function(){for(var e=[...s],t=0;t<30;t++){var n=Dn(e[e.length-1],{days:-1});e.push(n)}c(e)}()}),o.default.createElement(yn,null))},exports.SymptomSharkLogToday=function(t){const[n,r]=e.useState(null),[i,a]=e.useState(void 0);var s=new Date;function c(){if("withLog"==t.previewState)return r(c_e),void a(l_e);"noLog"!=t.previewState?Promise.all([FEe.getDailyLogEntries(yH(Dn(s,{days:-1}))),FEe.getConfiguration()]).then((function([e,t]){r(t),e[yH(s)]?a(e[yH(s)]):a(void 0)})):r(c_e)}return s=new Date(s.getFullYear(),s.getMonth(),s.getDate(),0,0,0,0),e.useEffect((()=>(c(),l.default.on("applicationDidBecomeVisible",c),()=>{l.default.off("applicationDidBecomeVisible",c)})),[]),n&&n.symptoms.length?o.default.createElement(JEe,{onClick:e=>t.onClick(e),innerRef:t.innerRef,title:dB(i?"todays-log":"log-todays-symptoms"),date:s,logEntry:i,configuration:n}):null},exports.SymptomSharkMonthReport=a_e,exports.SymptomSharkNotesTimeline=r_e,exports.SymptomSharkOverallExperienceChart=QEe,exports.SymptomSharkReportBuilder=h_e,exports.SymptomSharkReportBuilderView=function(e){var t;return o.default.createElement(jt,{colorScheme:null!==(t=e.colorScheme)&&void 0!==t?t:"light"},o.default.createElement(zB,{variant:"compressed",title:dB("reports")}),o.default.createElement(h_e,{previewState:e.previewState}))},exports.SymptomSharkSymptomDetailView=function(e){return o.default.createElement(jt,{colorScheme:e.colorScheme||"light",className:"symptom-detail-view symptom-shark-view"},o.default.createElement(KEe,{previewState:e.previewState},o.default.createElement(f_e,Object.assign({},e))))},exports.SymptomSharkSymptomMatrix=YEe,exports.SymptomSharkSymptomSeverityChart=i_e,exports.SymptomSharkSymptomSeveritySummary=s_e,exports.SymptomSharkSymptomTreatmentFilters=$Ee,exports.SymptomSharkSymptomTreatmentHistograms=o_e,exports.SymptomSharkVisualizationCoordinator=KEe,exports.TermInformation=KX,exports.TermInformationView=__e,exports.TextBlock=oF,exports.Title=TB,exports.TrackerItem=sF,exports.UnstyledButton=d,exports.ValueSelector=qq,exports.ViewEhr=function(t){const[n,r]=e.useState(null);function i(){if(t.previewState)return mW[0].status=t.previewState,void a(mW);l.default.getExternalAccounts().then((function(e){a(e)}))}function a(e){e=e.filter((e=>"Provider"==e.provider.category||"Health Plan"==e.provider.category)),r(e)}if(e.useEffect((()=>(i(),l.default.on("applicationDidBecomeVisible",i),l.default.on("externalAccountSyncComplete",i),()=>{l.default.off("applicationDidBecomeVisible",i),l.default.off("externalAccountSyncComplete",i)})),[]),!n||!n.length)return null;const s=o.default.createElement(vn,{color:t.buttonColor,variant:t.buttonVariant||"light",onClick:()=>{}},dB("view"));return o.default.createElement(Bt,{innerRef:t.innerRef,className:"mdhui-view-ehr",renderAs:"div",onClick:()=>t.onClick(),indicator:s},o.default.createElement(TB,{order:3},t.title||dB("health-records")),n.find((e=>"fetchingData"==e.status))&&o.default.createElement("div",{className:"mdhui-view-ehr-status"},o.default.createElement(y,{icon:Yt,spin:!0})," ",dB("external-account-fetching-data")))},exports.ViewHeader=Hq,exports.WeekCalendar=Uq,exports.YouTubeStep=jEe,exports.YouTubeStepContainer=function(){const[t,n]=e.useState(),[r,i]=e.useState(),[a,s]=e.useState(),[c,u]=e.useState(""),[h,d]=e.useState(),[f,p]=e.useState(),[m,g]=e.useState({});return e.useEffect((()=>{l.default.getStepConfiguration().then((function(e){var t;e&&(n(e.properties.title),i(e.properties.text),s(e.properties.transcript),u(e.properties.videoId),d(e.properties.nextButtonText),p(e.properties.height),g(null!==(t=e.styles)&&void 0!==t?t:{}))}))}),[]),o.default.createElement(jEe,{title:t,text:r,transcript:a,nextButtonText:h,height:f,videoId:c,styles:m})},exports.asthmaDataService=LU,exports.bloodPressureDataProvider=uU,exports.checkDailyDataAvailability=aU,exports.computeAsthmaControlState=eH,exports.convertToSymptomSharkConfiguration=BEe,exports.dailyDataTypeDefinitions=eU,exports.dateToAsthmaLogEntryIdentifier=Jq,exports.get6MonthStart=SB,exports.getAllDailyDataTypes=function(){return Array.from(nU.values())},exports.getAsthmaAirQualityDescriptionText=hH,exports.getAsthmaDataStatusColor=nH,exports.getAsthmaDataStatusText=tH,exports.getAsthmaImpactTexts=sH,exports.getAsthmaImpacts=cH,exports.getAsthmaSymptomLevel=iH,exports.getAsthmaSymptomLevelText=rH,exports.getAsthmaSymptomTexts=aH,exports.getAsthmaSymptoms=oH,exports.getAsthmaTriggerTexts=lH,exports.getAsthmaTriggers=uH,exports.getDailyDataTypeDefinition=cU,exports.getDayKey=yH,exports.getDefaultIntervalStart=EB,exports.getLanguageFromIso=fB,exports.getLocaleFromIso=bs,exports.getMonthStart=kB,exports.getWeekStart=xB,exports.isBloodOxygenLevelWithinRange=bH,exports.isDaytimeRestingHeartRateWithinRange=dH,exports.isNighttimeRestingHeartRateWithinRange=fH,exports.isRespiratoryRateWithinRange=pH,exports.isSleepDisturbancesWithinRange=gH,exports.isStepsWithinRange=mH,exports.language=dB,exports.queryDailyData=oU,exports.queryPreviewDailyData=sU,exports.queryRelativeActivity=fU,exports.registerDailyDataProvider=rU,exports.registerDailyDataTypeDefinition=iU,exports.resolveColor=v,exports.showNewPoints=function(e,t){let n={type:"MDHUI-NewPoints",value:JSON.stringify(e)};l.default.persistDeviceData([n]).then((()=>{l.default.openApplication(t||"https://viewlibrary.careevolutionapps.com/newpoints",{modal:!0})}))},exports.simpleAvailabilityCheck=GH,exports.useInitializeView=dU,exports.useInterval=NV;