iobroker.zigbee 1.9.3 → 1.9.4

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.
Files changed (58) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +433 -430
  3. package/admin/adapter-settings.js +244 -244
  4. package/admin/admin.js +2991 -2991
  5. package/admin/i18n/de/translations.json +108 -108
  6. package/admin/i18n/en/translations.json +108 -108
  7. package/admin/i18n/es/translations.json +102 -102
  8. package/admin/i18n/fr/translations.json +108 -108
  9. package/admin/i18n/it/translations.json +102 -102
  10. package/admin/i18n/nl/translations.json +108 -108
  11. package/admin/i18n/pl/translations.json +108 -108
  12. package/admin/i18n/pt/translations.json +102 -102
  13. package/admin/i18n/ru/translations.json +108 -108
  14. package/admin/i18n/uk/translations.json +108 -108
  15. package/admin/i18n/zh-cn/translations.json +102 -102
  16. package/admin/img/philips_hue_lom001.png +0 -0
  17. package/admin/index.html +163 -163
  18. package/admin/index_m.html +1360 -1360
  19. package/admin/moment.min.js +1 -1
  20. package/admin/shuffle.min.js +2 -2
  21. package/admin/tab_m.html +1021 -1021
  22. package/admin/vis-network.min.css +1 -1
  23. package/admin/vis-network.min.js +26 -26
  24. package/admin/words.js +110 -110
  25. package/docs/de/basedocu.md +19 -19
  26. package/docs/de/readme.md +126 -126
  27. package/docs/en/readme.md +128 -128
  28. package/docs/flashing_via_arduino_(en).md +110 -110
  29. package/docs/ru/readme.md +28 -28
  30. package/docs/tutorial/groups-1.png +0 -0
  31. package/docs/tutorial/groups-2.png +0 -0
  32. package/docs/tutorial/tab-dev-1.png +0 -0
  33. package/io-package.json +14 -14
  34. package/lib/backup.js +171 -171
  35. package/lib/binding.js +319 -319
  36. package/lib/colors.js +465 -465
  37. package/lib/developer.js +151 -151
  38. package/lib/devicemgmt.js +374 -374
  39. package/lib/devices.js +3139 -3139
  40. package/lib/exclude.js +162 -162
  41. package/lib/groups.js +345 -345
  42. package/lib/json.js +59 -59
  43. package/lib/networkmap.js +55 -55
  44. package/lib/ota.js +198 -198
  45. package/lib/rgb.js +297 -297
  46. package/lib/seriallist.js +48 -48
  47. package/lib/states.js +6420 -6420
  48. package/lib/tools.js +54 -54
  49. package/lib/utils.js +165 -165
  50. package/lib/zbBaseExtension.js +36 -36
  51. package/lib/zbDelayedAction.js +144 -144
  52. package/lib/zbDeviceAvailability.js +319 -319
  53. package/lib/zbDeviceConfigure.js +148 -148
  54. package/lib/zbDeviceEvent.js +48 -48
  55. package/lib/zigbeecontroller.js +1014 -1014
  56. package/main.js +1 -1
  57. package/package.json +1 -1
  58. package/support/docgen.js +93 -93
@@ -1,26 +1,26 @@
1
- /**
2
- * vis-network
3
- * https://visjs.github.io/vis-network/
4
- *
5
- * A dynamic, browser-based visualization library.
6
- *
7
- * @version 9.1.7
8
- * @date 2023-10-06T13:09:30.772Z
9
- *
10
- * @copyright (c) 2011-2017 Almende B.V, http://almende.com
11
- * @copyright (c) 2017-2019 visjs contributors, https://github.com/visjs
12
- *
13
- * @license
14
- * vis.js is dual licensed under both
15
- *
16
- * 1. The Apache 2.0 License
17
- * http://www.apache.org/licenses/LICENSE-2.0
18
- *
19
- * and
20
- *
21
- * 2. The MIT License
22
- * http://opensource.org/licenses/MIT
23
- *
24
- * vis.js may be distributed under either license.
25
- */
26
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).vis=t.vis||{})}(this,(function(t){"use strict";var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function i(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var n=function(t){return t&&t.Math==Math&&t},o=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof e&&e)||function(){return this}()||Function("return this")(),r=function(t){try{return!!t()}catch(t){return!0}},s=!r((function(){var t=function(){}.bind();return"function"!=typeof t||t.hasOwnProperty("prototype")})),a=s,h=Function.prototype,l=h.apply,d=h.call,c="object"==typeof Reflect&&Reflect.apply||(a?d.bind(l):function(){return d.apply(l,arguments)}),u=s,f=Function.prototype,p=f.call,v=u&&f.bind.bind(p,p),g=u?v:function(t){return function(){return p.apply(t,arguments)}},y=g,m=y({}.toString),b=y("".slice),w=function(t){return b(m(t),8,-1)},k=w,_=g,x=function(t){if("Function"===k(t))return _(t)},E="object"==typeof document&&document.all,O={all:E,IS_HTMLDDA:void 0===E&&void 0!==E},C=O.all,S=O.IS_HTMLDDA?function(t){return"function"==typeof t||t===C}:function(t){return"function"==typeof t},T={},M=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),P=s,D=Function.prototype.call,I=P?D.bind(D):function(){return D.apply(D,arguments)},B={},N={}.propertyIsEnumerable,F=Object.getOwnPropertyDescriptor,z=F&&!N.call({1:2},1);B.f=z?function(t){var e=F(this,t);return!!e&&e.enumerable}:N;var A,j,R=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},L=r,H=w,W=Object,q=g("".split),V=L((function(){return!W("z").propertyIsEnumerable(0)}))?function(t){return"String"==H(t)?q(t,""):W(t)}:W,U=function(t){return null==t},Y=U,X=TypeError,G=function(t){if(Y(t))throw X("Can't call method on "+t);return t},K=V,$=G,Z=function(t){return K($(t))},Q=S,J=O.all,tt=O.IS_HTMLDDA?function(t){return"object"==typeof t?null!==t:Q(t)||t===J}:function(t){return"object"==typeof t?null!==t:Q(t)},et={},it=et,nt=o,ot=S,rt=function(t){return ot(t)?t:void 0},st=function(t,e){return arguments.length<2?rt(it[t])||rt(nt[t]):it[t]&&it[t][e]||nt[t]&&nt[t][e]},at=g({}.isPrototypeOf),ht="undefined"!=typeof navigator&&String(navigator.userAgent)||"",lt=o,dt=ht,ct=lt.process,ut=lt.Deno,ft=ct&&ct.versions||ut&&ut.version,pt=ft&&ft.v8;pt&&(j=(A=pt.split("."))[0]>0&&A[0]<4?1:+(A[0]+A[1])),!j&&dt&&(!(A=dt.match(/Edge\/(\d+)/))||A[1]>=74)&&(A=dt.match(/Chrome\/(\d+)/))&&(j=+A[1]);var vt=j,gt=vt,yt=r,mt=!!Object.getOwnPropertySymbols&&!yt((function(){var t=Symbol();return!String(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&gt&&gt<41})),bt=mt&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,wt=st,kt=S,_t=at,xt=Object,Et=bt?function(t){return"symbol"==typeof t}:function(t){var e=wt("Symbol");return kt(e)&&_t(e.prototype,xt(t))},Ot=String,Ct=function(t){try{return Ot(t)}catch(t){return"Object"}},St=S,Tt=Ct,Mt=TypeError,Pt=function(t){if(St(t))return t;throw Mt(Tt(t)+" is not a function")},Dt=Pt,It=U,Bt=function(t,e){var i=t[e];return It(i)?void 0:Dt(i)},Nt=I,Ft=S,zt=tt,At=TypeError,jt={exports:{}},Rt=o,Lt=Object.defineProperty,Ht=function(t,e){try{Lt(Rt,t,{value:e,configurable:!0,writable:!0})}catch(i){Rt[t]=e}return e},Wt="__core-js_shared__",qt=o[Wt]||Ht(Wt,{}),Vt=qt;(jt.exports=function(t,e){return Vt[t]||(Vt[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.29.0",mode:"pure",copyright:"© 2014-2023 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.29.0/LICENSE",source:"https://github.com/zloirock/core-js"});var Ut=jt.exports,Yt=G,Xt=Object,Gt=function(t){return Xt(Yt(t))},Kt=Gt,$t=g({}.hasOwnProperty),Zt=Object.hasOwn||function(t,e){return $t(Kt(t),e)},Qt=g,Jt=0,te=Math.random(),ee=Qt(1..toString),ie=function(t){return"Symbol("+(void 0===t?"":t)+")_"+ee(++Jt+te,36)},ne=Ut,oe=Zt,re=ie,se=mt,ae=bt,he=o.Symbol,le=ne("wks"),de=ae?he.for||he:he&&he.withoutSetter||re,ce=function(t){return oe(le,t)||(le[t]=se&&oe(he,t)?he[t]:de("Symbol."+t)),le[t]},ue=I,fe=tt,pe=Et,ve=Bt,ge=function(t,e){var i,n;if("string"===e&&Ft(i=t.toString)&&!zt(n=Nt(i,t)))return n;if(Ft(i=t.valueOf)&&!zt(n=Nt(i,t)))return n;if("string"!==e&&Ft(i=t.toString)&&!zt(n=Nt(i,t)))return n;throw At("Can't convert object to primitive value")},ye=TypeError,me=ce("toPrimitive"),be=function(t,e){if(!fe(t)||pe(t))return t;var i,n=ve(t,me);if(n){if(void 0===e&&(e="default"),i=ue(n,t,e),!fe(i)||pe(i))return i;throw ye("Can't convert object to primitive value")}return void 0===e&&(e="number"),ge(t,e)},we=Et,ke=function(t){var e=be(t,"string");return we(e)?e:e+""},_e=tt,xe=o.document,Ee=_e(xe)&&_e(xe.createElement),Oe=function(t){return Ee?xe.createElement(t):{}},Ce=Oe,Se=!M&&!r((function(){return 7!=Object.defineProperty(Ce("div"),"a",{get:function(){return 7}}).a})),Te=M,Me=I,Pe=B,De=R,Ie=Z,Be=ke,Ne=Zt,Fe=Se,ze=Object.getOwnPropertyDescriptor;T.f=Te?ze:function(t,e){if(t=Ie(t),e=Be(e),Fe)try{return ze(t,e)}catch(t){}if(Ne(t,e))return De(!Me(Pe.f,t,e),t[e])};var Ae=r,je=S,Re=/#|\.prototype\./,Le=function(t,e){var i=We[He(t)];return i==Ve||i!=qe&&(je(e)?Ae(e):!!e)},He=Le.normalize=function(t){return String(t).replace(Re,".").toLowerCase()},We=Le.data={},qe=Le.NATIVE="N",Ve=Le.POLYFILL="P",Ue=Le,Ye=Pt,Xe=s,Ge=x(x.bind),Ke=function(t,e){return Ye(t),void 0===e?t:Xe?Ge(t,e):function(){return t.apply(e,arguments)}},$e={},Ze=M&&r((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype})),Qe=tt,Je=String,ti=TypeError,ei=function(t){if(Qe(t))return t;throw ti(Je(t)+" is not an object")},ii=M,ni=Se,oi=Ze,ri=ei,si=ke,ai=TypeError,hi=Object.defineProperty,li=Object.getOwnPropertyDescriptor,di="enumerable",ci="configurable",ui="writable";$e.f=ii?oi?function(t,e,i){if(ri(t),e=si(e),ri(i),"function"==typeof t&&"prototype"===e&&"value"in i&&ui in i&&!i[ui]){var n=li(t,e);n&&n[ui]&&(t[e]=i.value,i={configurable:ci in i?i[ci]:n[ci],enumerable:di in i?i[di]:n[di],writable:!1})}return hi(t,e,i)}:hi:function(t,e,i){if(ri(t),e=si(e),ri(i),ni)try{return hi(t,e,i)}catch(t){}if("get"in i||"set"in i)throw ai("Accessors not supported");return"value"in i&&(t[e]=i.value),t};var fi=$e,pi=R,vi=M?function(t,e,i){return fi.f(t,e,pi(1,i))}:function(t,e,i){return t[e]=i,t},gi=o,yi=c,mi=x,bi=S,wi=T.f,ki=Ue,_i=et,xi=Ke,Ei=vi,Oi=Zt,Ci=function(t){var e=function(i,n,o){if(this instanceof e){switch(arguments.length){case 0:return new t;case 1:return new t(i);case 2:return new t(i,n)}return new t(i,n,o)}return yi(t,this,arguments)};return e.prototype=t.prototype,e},Si=function(t,e){var i,n,o,r,s,a,h,l,d,c=t.target,u=t.global,f=t.stat,p=t.proto,v=u?gi:f?gi[c]:(gi[c]||{}).prototype,g=u?_i:_i[c]||Ei(_i,c,{})[c],y=g.prototype;for(r in e)n=!(i=ki(u?r:c+(f?".":"#")+r,t.forced))&&v&&Oi(v,r),a=g[r],n&&(h=t.dontCallGetSet?(d=wi(v,r))&&d.value:v[r]),s=n&&h?h:e[r],n&&typeof a==typeof s||(l=t.bind&&n?xi(s,gi):t.wrap&&n?Ci(s):p&&bi(s)?mi(s):s,(t.sham||s&&s.sham||a&&a.sham)&&Ei(l,"sham",!0),Ei(g,r,l),p&&(Oi(_i,o=c+"Prototype")||Ei(_i,o,{}),Ei(_i[o],r,s),t.real&&y&&(i||!y[r])&&Ei(y,r,s)))},Ti=Math.ceil,Mi=Math.floor,Pi=Math.trunc||function(t){var e=+t;return(e>0?Mi:Ti)(e)},Di=function(t){var e=+t;return e!=e||0===e?0:Pi(e)},Ii=Di,Bi=Math.max,Ni=Math.min,Fi=function(t,e){var i=Ii(t);return i<0?Bi(i+e,0):Ni(i,e)},zi=Di,Ai=Math.min,ji=function(t){return t>0?Ai(zi(t),9007199254740991):0},Ri=function(t){return ji(t.length)},Li=Z,Hi=Fi,Wi=Ri,qi=function(t){return function(e,i,n){var o,r=Li(e),s=Wi(r),a=Hi(n,s);if(t&&i!=i){for(;s>a;)if((o=r[a++])!=o)return!0}else for(;s>a;a++)if((t||a in r)&&r[a]===i)return t||a||0;return!t&&-1}},Vi={includes:qi(!0),indexOf:qi(!1)},Ui={},Yi=Zt,Xi=Z,Gi=Vi.indexOf,Ki=Ui,$i=g([].push),Zi=function(t,e){var i,n=Xi(t),o=0,r=[];for(i in n)!Yi(Ki,i)&&Yi(n,i)&&$i(r,i);for(;e.length>o;)Yi(n,i=e[o++])&&(~Gi(r,i)||$i(r,i));return r},Qi=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],Ji=Zi,tn=Qi,en=Object.keys||function(t){return Ji(t,tn)},nn={};nn.f=Object.getOwnPropertySymbols;var on=M,rn=g,sn=I,an=r,hn=en,ln=nn,dn=B,cn=Gt,un=V,fn=Object.assign,pn=Object.defineProperty,vn=rn([].concat),gn=!fn||an((function(){if(on&&1!==fn({b:1},fn(pn({},"a",{enumerable:!0,get:function(){pn(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},e={},i=Symbol(),n="abcdefghijklmnopqrst";return t[i]=7,n.split("").forEach((function(t){e[t]=t})),7!=fn({},t)[i]||hn(fn({},e)).join("")!=n}))?function(t,e){for(var i=cn(t),n=arguments.length,o=1,r=ln.f,s=dn.f;n>o;)for(var a,h=un(arguments[o++]),l=r?vn(hn(h),r(h)):hn(h),d=l.length,c=0;d>c;)a=l[c++],on&&!sn(s,h,a)||(i[a]=h[a]);return i}:fn,yn=gn;Si({target:"Object",stat:!0,arity:2,forced:Object.assign!==yn},{assign:yn});var mn=i(et.Object.assign),bn=g([].slice),wn=g,kn=Pt,_n=tt,xn=Zt,En=bn,On=s,Cn=Function,Sn=wn([].concat),Tn=wn([].join),Mn={},Pn=On?Cn.bind:function(t){var e=kn(this),i=e.prototype,n=En(arguments,1),o=function(){var i=Sn(n,En(arguments));return this instanceof o?function(t,e,i){if(!xn(Mn,e)){for(var n=[],o=0;o<e;o++)n[o]="a["+o+"]";Mn[e]=Cn("C,a","return new C("+Tn(n,",")+")")}return Mn[e](t,i)}(e,i.length,i):e.apply(t,i)};return _n(i)&&(o.prototype=i),o},Dn=Pn;Si({target:"Function",proto:!0,forced:Function.bind!==Dn},{bind:Dn});var In=et,Bn=function(t){return In[t+"Prototype"]},Nn=Bn("Function").bind,Fn=at,zn=Nn,An=Function.prototype,jn=function(t){var e=t.bind;return t===An||Fn(An,t)&&e===An.bind?zn:e},Rn=jn,Ln=i(Rn);function Hn(t,e,i,n){t.beginPath(),t.arc(e,i,n,0,2*Math.PI,!1),t.closePath()}function Wn(t,e,i,n,o,r){var s=Math.PI/180;n-2*r<0&&(r=n/2),o-2*r<0&&(r=o/2),t.beginPath(),t.moveTo(e+r,i),t.lineTo(e+n-r,i),t.arc(e+n-r,i+r,r,270*s,360*s,!1),t.lineTo(e+n,i+o-r),t.arc(e+n-r,i+o-r,r,0,90*s,!1),t.lineTo(e+r,i+o),t.arc(e+r,i+o-r,r,90*s,180*s,!1),t.lineTo(e,i+r),t.arc(e+r,i+r,r,180*s,270*s,!1),t.closePath()}function qn(t,e,i,n,o){var r=.5522848,s=n/2*r,a=o/2*r,h=e+n,l=i+o,d=e+n/2,c=i+o/2;t.beginPath(),t.moveTo(e,c),t.bezierCurveTo(e,c-a,d-s,i,d,i),t.bezierCurveTo(d+s,i,h,c-a,h,c),t.bezierCurveTo(h,c+a,d+s,l,d,l),t.bezierCurveTo(d-s,l,e,c+a,e,c),t.closePath()}function Vn(t,e,i,n,o){var r=o*(1/3),s=.5522848,a=n/2*s,h=r/2*s,l=e+n,d=i+r,c=e+n/2,u=i+r/2,f=i+(o-r/2),p=i+o;t.beginPath(),t.moveTo(l,u),t.bezierCurveTo(l,u+h,c+a,d,c,d),t.bezierCurveTo(c-a,d,e,u+h,e,u),t.bezierCurveTo(e,u-h,c-a,i,c,i),t.bezierCurveTo(c+a,i,l,u-h,l,u),t.lineTo(l,f),t.bezierCurveTo(l,f+h,c+a,p,c,p),t.bezierCurveTo(c-a,p,e,f+h,e,f),t.lineTo(e,u)}function Un(t,e,i,n,o,r){t.beginPath(),t.moveTo(e,i);for(var s=r.length,a=n-e,h=o-i,l=h/a,d=Math.sqrt(a*a+h*h),c=0,u=!0,f=0,p=+r[0];d>=.1;)(p=+r[c++%s])>d&&(p=d),f=Math.sqrt(p*p/(1+l*l)),e+=f=a<0?-f:f,i+=l*f,!0===u?t.lineTo(e,i):t.moveTo(e,i),d-=p,u=!u}var Yn={circle:Hn,dashedLine:Un,database:Vn,diamond:function(t,e,i,n){t.beginPath(),t.lineTo(e,i+n),t.lineTo(e+n,i),t.lineTo(e,i-n),t.lineTo(e-n,i),t.closePath()},ellipse:qn,ellipse_vis:qn,hexagon:function(t,e,i,n){t.beginPath();var o=2*Math.PI/6;t.moveTo(e+n,i);for(var r=1;r<6;r++)t.lineTo(e+n*Math.cos(o*r),i+n*Math.sin(o*r));t.closePath()},roundRect:Wn,square:function(t,e,i,n){t.beginPath(),t.rect(e-n,i-n,2*n,2*n),t.closePath()},star:function(t,e,i,n){t.beginPath(),i+=.1*(n*=.82);for(var o=0;o<10;o++){var r=o%2==0?1.3*n:.5*n;t.lineTo(e+r*Math.sin(2*o*Math.PI/10),i-r*Math.cos(2*o*Math.PI/10))}t.closePath()},triangle:function(t,e,i,n){t.beginPath(),i+=.275*(n*=1.15);var o=2*n,r=o/2,s=Math.sqrt(3)/6*o,a=Math.sqrt(o*o-r*r);t.moveTo(e,i-(a-s)),t.lineTo(e+r,i+s),t.lineTo(e-r,i+s),t.lineTo(e,i-(a-s)),t.closePath()},triangleDown:function(t,e,i,n){t.beginPath(),i-=.275*(n*=1.15);var o=2*n,r=o/2,s=Math.sqrt(3)/6*o,a=Math.sqrt(o*o-r*r);t.moveTo(e,i+(a-s)),t.lineTo(e+r,i-s),t.lineTo(e-r,i-s),t.lineTo(e,i+(a-s)),t.closePath()}};var Xn={exports:{}};!function(t){function e(t){if(t)return function(t){for(var i in e.prototype)t[i]=e.prototype[i];return t}(t)}t.exports=e,e.prototype.on=e.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+t]=this._callbacks["$"+t]||[]).push(e),this},e.prototype.once=function(t,e){function i(){this.off(t,i),e.apply(this,arguments)}return i.fn=e,this.on(t,i),this},e.prototype.off=e.prototype.removeListener=e.prototype.removeAllListeners=e.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var i,n=this._callbacks["$"+t];if(!n)return this;if(1==arguments.length)return delete this._callbacks["$"+t],this;for(var o=0;o<n.length;o++)if((i=n[o])===e||i.fn===e){n.splice(o,1);break}return 0===n.length&&delete this._callbacks["$"+t],this},e.prototype.emit=function(t){this._callbacks=this._callbacks||{};for(var e=new Array(arguments.length-1),i=this._callbacks["$"+t],n=1;n<arguments.length;n++)e[n-1]=arguments[n];if(i){n=0;for(var o=(i=i.slice(0)).length;n<o;++n)i[n].apply(this,e)}return this},e.prototype.listeners=function(t){return this._callbacks=this._callbacks||{},this._callbacks["$"+t]||[]},e.prototype.hasListeners=function(t){return!!this.listeners(t).length}}(Xn);var Gn=i(Xn.exports),Kn={};Kn[ce("toStringTag")]="z";var $n,Zn,Qn,Jn="[object z]"===String(Kn),to=Jn,eo=S,io=w,no=ce("toStringTag"),oo=Object,ro="Arguments"==io(function(){return arguments}()),so=to?io:function(t){var e,i,n;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(i=function(t,e){try{return t[e]}catch(t){}}(e=oo(t),no))?i:ro?io(e):"Object"==(n=io(e))&&eo(e.callee)?"Arguments":n},ao=so,ho=String,lo=function(t){if("Symbol"===ao(t))throw TypeError("Cannot convert a Symbol value to a string");return ho(t)},co=g,uo=Di,fo=lo,po=G,vo=co("".charAt),go=co("".charCodeAt),yo=co("".slice),mo=function(t){return function(e,i){var n,o,r=fo(po(e)),s=uo(i),a=r.length;return s<0||s>=a?t?"":void 0:(n=go(r,s))<55296||n>56319||s+1===a||(o=go(r,s+1))<56320||o>57343?t?vo(r,s):n:t?yo(r,s,s+2):o-56320+(n-55296<<10)+65536}},bo={codeAt:mo(!1),charAt:mo(!0)},wo=S,ko=o.WeakMap,_o=wo(ko)&&/native code/.test(String(ko)),xo=ie,Eo=Ut("keys"),Oo=function(t){return Eo[t]||(Eo[t]=xo(t))},Co=_o,So=o,To=tt,Mo=vi,Po=Zt,Do=qt,Io=Oo,Bo=Ui,No="Object already initialized",Fo=So.TypeError,zo=So.WeakMap;if(Co||Do.state){var Ao=Do.state||(Do.state=new zo);Ao.get=Ao.get,Ao.has=Ao.has,Ao.set=Ao.set,$n=function(t,e){if(Ao.has(t))throw Fo(No);return e.facade=t,Ao.set(t,e),e},Zn=function(t){return Ao.get(t)||{}},Qn=function(t){return Ao.has(t)}}else{var jo=Io("state");Bo[jo]=!0,$n=function(t,e){if(Po(t,jo))throw Fo(No);return e.facade=t,Mo(t,jo,e),e},Zn=function(t){return Po(t,jo)?t[jo]:{}},Qn=function(t){return Po(t,jo)}}var Ro={set:$n,get:Zn,has:Qn,enforce:function(t){return Qn(t)?Zn(t):$n(t,{})},getterFor:function(t){return function(e){var i;if(!To(e)||(i=Zn(e)).type!==t)throw Fo("Incompatible receiver, "+t+" required");return i}}},Lo=M,Ho=Zt,Wo=Function.prototype,qo=Lo&&Object.getOwnPropertyDescriptor,Vo=Ho(Wo,"name"),Uo={EXISTS:Vo,PROPER:Vo&&"something"===function(){}.name,CONFIGURABLE:Vo&&(!Lo||Lo&&qo(Wo,"name").configurable)},Yo={},Xo=M,Go=Ze,Ko=$e,$o=ei,Zo=Z,Qo=en;Yo.f=Xo&&!Go?Object.defineProperties:function(t,e){$o(t);for(var i,n=Zo(e),o=Qo(e),r=o.length,s=0;r>s;)Ko.f(t,i=o[s++],n[i]);return t};var Jo,tr=st("document","documentElement"),er=ei,ir=Yo,nr=Qi,or=Ui,rr=tr,sr=Oe,ar="prototype",hr="script",lr=Oo("IE_PROTO"),dr=function(){},cr=function(t){return"<"+hr+">"+t+"</"+hr+">"},ur=function(t){t.write(cr("")),t.close();var e=t.parentWindow.Object;return t=null,e},fr=function(){try{Jo=new ActiveXObject("htmlfile")}catch(t){}var t,e,i;fr="undefined"!=typeof document?document.domain&&Jo?ur(Jo):(e=sr("iframe"),i="java"+hr+":",e.style.display="none",rr.appendChild(e),e.src=String(i),(t=e.contentWindow.document).open(),t.write(cr("document.F=Object")),t.close(),t.F):ur(Jo);for(var n=nr.length;n--;)delete fr[ar][nr[n]];return fr()};or[lr]=!0;var pr,vr,gr,yr=Object.create||function(t,e){var i;return null!==t?(dr[ar]=er(t),i=new dr,dr[ar]=null,i[lr]=t):i=fr(),void 0===e?i:ir.f(i,e)},mr=!r((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype})),br=Zt,wr=S,kr=Gt,_r=mr,xr=Oo("IE_PROTO"),Er=Object,Or=Er.prototype,Cr=_r?Er.getPrototypeOf:function(t){var e=kr(t);if(br(e,xr))return e[xr];var i=e.constructor;return wr(i)&&e instanceof i?i.prototype:e instanceof Er?Or:null},Sr=vi,Tr=function(t,e,i,n){return n&&n.enumerable?t[e]=i:Sr(t,e,i),t},Mr=r,Pr=S,Dr=tt,Ir=yr,Br=Cr,Nr=Tr,Fr=ce("iterator"),zr=!1;[].keys&&("next"in(gr=[].keys())?(vr=Br(Br(gr)))!==Object.prototype&&(pr=vr):zr=!0);var Ar=!Dr(pr)||Mr((function(){var t={};return pr[Fr].call(t)!==t}));Pr((pr=Ar?{}:Ir(pr))[Fr])||Nr(pr,Fr,(function(){return this}));var jr={IteratorPrototype:pr,BUGGY_SAFARI_ITERATORS:zr},Rr=so,Lr=Jn?{}.toString:function(){return"[object "+Rr(this)+"]"},Hr=Jn,Wr=$e.f,qr=vi,Vr=Zt,Ur=Lr,Yr=ce("toStringTag"),Xr=function(t,e,i,n){if(t){var o=i?t:t.prototype;Vr(o,Yr)||Wr(o,Yr,{configurable:!0,value:e}),n&&!Hr&&qr(o,"toString",Ur)}},Gr={},Kr=jr.IteratorPrototype,$r=yr,Zr=R,Qr=Xr,Jr=Gr,ts=function(){return this},es=g,is=Pt,ns=S,os=String,rs=TypeError,ss=function(t,e,i){try{return es(is(Object.getOwnPropertyDescriptor(t,e)[i]))}catch(t){}},as=ei,hs=function(t){if("object"==typeof t||ns(t))return t;throw rs("Can't set "+os(t)+" as a prototype")},ls=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,i={};try{(t=ss(Object.prototype,"__proto__","set"))(i,[]),e=i instanceof Array}catch(t){}return function(i,n){return as(i),hs(n),e?t(i,n):i.__proto__=n,i}}():void 0),ds=Si,cs=I,us=Uo,fs=function(t,e,i,n){var o=e+" Iterator";return t.prototype=$r(Kr,{next:Zr(+!n,i)}),Qr(t,o,!1,!0),Jr[o]=ts,t},ps=Cr,vs=Xr,gs=Tr,ys=Gr,ms=jr,bs=us.PROPER,ws=ms.BUGGY_SAFARI_ITERATORS,ks=ce("iterator"),_s="keys",xs="values",Es="entries",Os=function(){return this},Cs=function(t,e,i,n,o,r,s){fs(i,e,n);var a,h,l,d=function(t){if(t===o&&v)return v;if(!ws&&t in f)return f[t];switch(t){case _s:case xs:case Es:return function(){return new i(this,t)}}return function(){return new i(this)}},c=e+" Iterator",u=!1,f=t.prototype,p=f[ks]||f["@@iterator"]||o&&f[o],v=!ws&&p||d(o),g="Array"==e&&f.entries||p;if(g&&(a=ps(g.call(new t)))!==Object.prototype&&a.next&&(vs(a,c,!0,!0),ys[c]=Os),bs&&o==xs&&p&&p.name!==xs&&(u=!0,v=function(){return cs(p,this)}),o)if(h={values:d(xs),keys:r?v:d(_s),entries:d(Es)},s)for(l in h)(ws||u||!(l in f))&&gs(f,l,h[l]);else ds({target:e,proto:!0,forced:ws||u},h);return s&&f[ks]!==v&&gs(f,ks,v,{name:o}),ys[e]=v,h},Ss=function(t,e){return{value:t,done:e}},Ts=bo.charAt,Ms=lo,Ps=Ro,Ds=Cs,Is=Ss,Bs="String Iterator",Ns=Ps.set,Fs=Ps.getterFor(Bs);Ds(String,"String",(function(t){Ns(this,{type:Bs,string:Ms(t),index:0})}),(function(){var t,e=Fs(this),i=e.string,n=e.index;return n>=i.length?Is(void 0,!0):(t=Ts(i,n),e.index+=t.length,Is(t,!1))}));var zs=I,As=ei,js=Bt,Rs=function(t,e,i){var n,o;As(t);try{if(!(n=js(t,"return"))){if("throw"===e)throw i;return i}n=zs(n,t)}catch(t){o=!0,n=t}if("throw"===e)throw i;if(o)throw n;return As(n),i},Ls=ei,Hs=Rs,Ws=Gr,qs=ce("iterator"),Vs=Array.prototype,Us=function(t){return void 0!==t&&(Ws.Array===t||Vs[qs]===t)},Ys=S,Xs=qt,Gs=g(Function.toString);Ys(Xs.inspectSource)||(Xs.inspectSource=function(t){return Gs(t)});var Ks=Xs.inspectSource,$s=g,Zs=r,Qs=S,Js=so,ta=Ks,ea=function(){},ia=[],na=st("Reflect","construct"),oa=/^\s*(?:class|function)\b/,ra=$s(oa.exec),sa=!oa.exec(ea),aa=function(t){if(!Qs(t))return!1;try{return na(ea,ia,t),!0}catch(t){return!1}},ha=function(t){if(!Qs(t))return!1;switch(Js(t)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return sa||!!ra(oa,ta(t))}catch(t){return!0}};ha.sham=!0;var la=!na||Zs((function(){var t;return aa(aa.call)||!aa(Object)||!aa((function(){t=!0}))||t}))?ha:aa,da=ke,ca=$e,ua=R,fa=function(t,e,i){var n=da(e);n in t?ca.f(t,n,ua(0,i)):t[n]=i},pa=so,va=Bt,ga=U,ya=Gr,ma=ce("iterator"),ba=function(t){if(!ga(t))return va(t,ma)||va(t,"@@iterator")||ya[pa(t)]},wa=I,ka=Pt,_a=ei,xa=Ct,Ea=ba,Oa=TypeError,Ca=function(t,e){var i=arguments.length<2?Ea(t):e;if(ka(i))return _a(wa(i,t));throw Oa(xa(t)+" is not iterable")},Sa=Ke,Ta=I,Ma=Gt,Pa=function(t,e,i,n){try{return n?e(Ls(i)[0],i[1]):e(i)}catch(e){Hs(t,"throw",e)}},Da=Us,Ia=la,Ba=Ri,Na=fa,Fa=Ca,za=ba,Aa=Array,ja=ce("iterator"),Ra=!1;try{var La=0,Ha={next:function(){return{done:!!La++}},return:function(){Ra=!0}};Ha[ja]=function(){return this},Array.from(Ha,(function(){throw 2}))}catch(t){}var Wa=function(t,e){if(!e&&!Ra)return!1;var i=!1;try{var n={};n[ja]=function(){return{next:function(){return{done:i=!0}}}},t(n)}catch(t){}return i},qa=function(t){var e=Ma(t),i=Ia(this),n=arguments.length,o=n>1?arguments[1]:void 0,r=void 0!==o;r&&(o=Sa(o,n>2?arguments[2]:void 0));var s,a,h,l,d,c,u=za(e),f=0;if(!u||this===Aa&&Da(u))for(s=Ba(e),a=i?new this(s):Aa(s);s>f;f++)c=r?o(e[f],f):e[f],Na(a,f,c);else for(d=(l=Fa(e,u)).next,a=i?new this:[];!(h=Ta(d,l)).done;f++)c=r?Pa(l,o,[h.value,f],!0):h.value,Na(a,f,c);return a.length=f,a};Si({target:"Array",stat:!0,forced:!Wa((function(t){Array.from(t)}))},{from:qa});var Va=et.Array.from,Ua=i(Va),Ya=Z,Xa=Gr,Ga=Ro;$e.f;var Ka=Cs,$a=Ss,Za="Array Iterator",Qa=Ga.set,Ja=Ga.getterFor(Za);Ka(Array,"Array",(function(t,e){Qa(this,{type:Za,target:Ya(t),index:0,kind:e})}),(function(){var t=Ja(this),e=t.target,i=t.kind,n=t.index++;return!e||n>=e.length?(t.target=void 0,$a(void 0,!0)):$a("keys"==i?n:"values"==i?e[n]:[n,e[n]],!1)}),"values"),Xa.Arguments=Xa.Array;var th=ba,eh={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0},ih=o,nh=so,oh=vi,rh=Gr,sh=ce("toStringTag");for(var ah in eh){var hh=ih[ah],lh=hh&&hh.prototype;lh&&nh(lh)!==sh&&oh(lh,sh,ah),rh[ah]=rh.Array}var dh=i(th);function ch(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var uh={exports:{}},fh=Si,ph=M,vh=$e.f;fh({target:"Object",stat:!0,forced:Object.defineProperty!==vh,sham:!ph},{defineProperty:vh});var gh=et.Object,yh=uh.exports=function(t,e,i){return gh.defineProperty(t,e,i)};gh.defineProperty.sham&&(yh.sham=!0);var mh=uh.exports,bh=mh,wh=i(bh),kh=w,_h=Array.isArray||function(t){return"Array"==kh(t)},xh=TypeError,Eh=function(t){if(t>9007199254740991)throw xh("Maximum allowed index exceeded");return t},Oh=_h,Ch=la,Sh=tt,Th=ce("species"),Mh=Array,Ph=function(t){var e;return Oh(t)&&(e=t.constructor,(Ch(e)&&(e===Mh||Oh(e.prototype))||Sh(e)&&null===(e=e[Th]))&&(e=void 0)),void 0===e?Mh:e},Dh=function(t,e){return new(Ph(t))(0===e?0:e)},Ih=r,Bh=vt,Nh=ce("species"),Fh=function(t){return Bh>=51||!Ih((function(){var e=[];return(e.constructor={})[Nh]=function(){return{foo:1}},1!==e[t](Boolean).foo}))},zh=Si,Ah=r,jh=_h,Rh=tt,Lh=Gt,Hh=Ri,Wh=Eh,qh=fa,Vh=Dh,Uh=Fh,Yh=vt,Xh=ce("isConcatSpreadable"),Gh=Yh>=51||!Ah((function(){var t=[];return t[Xh]=!1,t.concat()[0]!==t})),Kh=function(t){if(!Rh(t))return!1;var e=t[Xh];return void 0!==e?!!e:jh(t)};zh({target:"Array",proto:!0,arity:1,forced:!Gh||!Uh("concat")},{concat:function(t){var e,i,n,o,r,s=Lh(this),a=Vh(s,0),h=0;for(e=-1,n=arguments.length;e<n;e++)if(Kh(r=-1===e?s:arguments[e]))for(o=Hh(r),Wh(h+o),i=0;i<o;i++,h++)i in r&&qh(a,h,r[i]);else Wh(h+1),qh(a,h++,r);return a.length=h,a}});var $h={},Zh=Zi,Qh=Qi.concat("length","prototype");$h.f=Object.getOwnPropertyNames||function(t){return Zh(t,Qh)};var Jh={},tl=Fi,el=Ri,il=fa,nl=Array,ol=Math.max,rl=function(t,e,i){for(var n=el(t),o=tl(e,n),r=tl(void 0===i?n:i,n),s=nl(ol(r-o,0)),a=0;o<r;o++,a++)il(s,a,t[o]);return s.length=a,s},sl=w,al=Z,hl=$h.f,ll=rl,dl="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];Jh.f=function(t){return dl&&"Window"==sl(t)?function(t){try{return hl(t)}catch(t){return ll(dl)}}(t):hl(al(t))};var cl=$e,ul=function(t,e,i){return cl.f(t,e,i)},fl={},pl=ce;fl.f=pl;var vl=et,gl=Zt,yl=fl,ml=$e.f,bl=function(t){var e=vl.Symbol||(vl.Symbol={});gl(e,t)||ml(e,t,{value:yl.f(t)})},wl=I,kl=st,_l=ce,xl=Tr,El=function(){var t=kl("Symbol"),e=t&&t.prototype,i=e&&e.valueOf,n=_l("toPrimitive");e&&!e[n]&&xl(e,n,(function(t){return wl(i,this)}),{arity:1})},Ol=Ke,Cl=V,Sl=Gt,Tl=Ri,Ml=Dh,Pl=g([].push),Dl=function(t){var e=1==t,i=2==t,n=3==t,o=4==t,r=6==t,s=7==t,a=5==t||r;return function(h,l,d,c){for(var u,f,p=Sl(h),v=Cl(p),g=Ol(l,d),y=Tl(v),m=0,b=c||Ml,w=e?b(h,y):i||s?b(h,0):void 0;y>m;m++)if((a||m in v)&&(f=g(u=v[m],m,p),t))if(e)w[m]=f;else if(f)switch(t){case 3:return!0;case 5:return u;case 6:return m;case 2:Pl(w,u)}else switch(t){case 4:return!1;case 7:Pl(w,u)}return r?-1:n||o?o:w}},Il={forEach:Dl(0),map:Dl(1),filter:Dl(2),some:Dl(3),every:Dl(4),find:Dl(5),findIndex:Dl(6),filterReject:Dl(7)},Bl=Si,Nl=o,Fl=I,zl=g,Al=M,jl=mt,Rl=r,Ll=Zt,Hl=at,Wl=ei,ql=Z,Vl=ke,Ul=lo,Yl=R,Xl=yr,Gl=en,Kl=$h,$l=Jh,Zl=nn,Ql=T,Jl=$e,td=Yo,ed=B,id=Tr,nd=ul,od=Ut,rd=Ui,sd=ie,ad=ce,hd=fl,ld=bl,dd=El,cd=Xr,ud=Ro,fd=Il.forEach,pd=Oo("hidden"),vd="Symbol",gd="prototype",yd=ud.set,md=ud.getterFor(vd),bd=Object[gd],wd=Nl.Symbol,kd=wd&&wd[gd],_d=Nl.TypeError,xd=Nl.QObject,Ed=Ql.f,Od=Jl.f,Cd=$l.f,Sd=ed.f,Td=zl([].push),Md=od("symbols"),Pd=od("op-symbols"),Dd=od("wks"),Id=!xd||!xd[gd]||!xd[gd].findChild,Bd=Al&&Rl((function(){return 7!=Xl(Od({},"a",{get:function(){return Od(this,"a",{value:7}).a}})).a}))?function(t,e,i){var n=Ed(bd,e);n&&delete bd[e],Od(t,e,i),n&&t!==bd&&Od(bd,e,n)}:Od,Nd=function(t,e){var i=Md[t]=Xl(kd);return yd(i,{type:vd,tag:t,description:e}),Al||(i.description=e),i},Fd=function(t,e,i){t===bd&&Fd(Pd,e,i),Wl(t);var n=Vl(e);return Wl(i),Ll(Md,n)?(i.enumerable?(Ll(t,pd)&&t[pd][n]&&(t[pd][n]=!1),i=Xl(i,{enumerable:Yl(0,!1)})):(Ll(t,pd)||Od(t,pd,Yl(1,{})),t[pd][n]=!0),Bd(t,n,i)):Od(t,n,i)},zd=function(t,e){Wl(t);var i=ql(e),n=Gl(i).concat(Ld(i));return fd(n,(function(e){Al&&!Fl(Ad,i,e)||Fd(t,e,i[e])})),t},Ad=function(t){var e=Vl(t),i=Fl(Sd,this,e);return!(this===bd&&Ll(Md,e)&&!Ll(Pd,e))&&(!(i||!Ll(this,e)||!Ll(Md,e)||Ll(this,pd)&&this[pd][e])||i)},jd=function(t,e){var i=ql(t),n=Vl(e);if(i!==bd||!Ll(Md,n)||Ll(Pd,n)){var o=Ed(i,n);return!o||!Ll(Md,n)||Ll(i,pd)&&i[pd][n]||(o.enumerable=!0),o}},Rd=function(t){var e=Cd(ql(t)),i=[];return fd(e,(function(t){Ll(Md,t)||Ll(rd,t)||Td(i,t)})),i},Ld=function(t){var e=t===bd,i=Cd(e?Pd:ql(t)),n=[];return fd(i,(function(t){!Ll(Md,t)||e&&!Ll(bd,t)||Td(n,Md[t])})),n};jl||(wd=function(){if(Hl(kd,this))throw _d("Symbol is not a constructor");var t=arguments.length&&void 0!==arguments[0]?Ul(arguments[0]):void 0,e=sd(t),i=function(t){this===bd&&Fl(i,Pd,t),Ll(this,pd)&&Ll(this[pd],e)&&(this[pd][e]=!1),Bd(this,e,Yl(1,t))};return Al&&Id&&Bd(bd,e,{configurable:!0,set:i}),Nd(e,t)},id(kd=wd[gd],"toString",(function(){return md(this).tag})),id(wd,"withoutSetter",(function(t){return Nd(sd(t),t)})),ed.f=Ad,Jl.f=Fd,td.f=zd,Ql.f=jd,Kl.f=$l.f=Rd,Zl.f=Ld,hd.f=function(t){return Nd(ad(t),t)},Al&&nd(kd,"description",{configurable:!0,get:function(){return md(this).description}})),Bl({global:!0,constructor:!0,wrap:!0,forced:!jl,sham:!jl},{Symbol:wd}),fd(Gl(Dd),(function(t){ld(t)})),Bl({target:vd,stat:!0,forced:!jl},{useSetter:function(){Id=!0},useSimple:function(){Id=!1}}),Bl({target:"Object",stat:!0,forced:!jl,sham:!Al},{create:function(t,e){return void 0===e?Xl(t):zd(Xl(t),e)},defineProperty:Fd,defineProperties:zd,getOwnPropertyDescriptor:jd}),Bl({target:"Object",stat:!0,forced:!jl},{getOwnPropertyNames:Rd}),dd(),cd(wd,vd),rd[pd]=!0;var Hd=mt&&!!Symbol.for&&!!Symbol.keyFor,Wd=Si,qd=st,Vd=Zt,Ud=lo,Yd=Ut,Xd=Hd,Gd=Yd("string-to-symbol-registry"),Kd=Yd("symbol-to-string-registry");Wd({target:"Symbol",stat:!0,forced:!Xd},{for:function(t){var e=Ud(t);if(Vd(Gd,e))return Gd[e];var i=qd("Symbol")(e);return Gd[e]=i,Kd[i]=e,i}});var $d=Si,Zd=Zt,Qd=Et,Jd=Ct,tc=Hd,ec=Ut("symbol-to-string-registry");$d({target:"Symbol",stat:!0,forced:!tc},{keyFor:function(t){if(!Qd(t))throw TypeError(Jd(t)+" is not a symbol");if(Zd(ec,t))return ec[t]}});var ic=_h,nc=S,oc=w,rc=lo,sc=g([].push),ac=Si,hc=st,lc=c,dc=I,cc=g,uc=r,fc=S,pc=Et,vc=bn,gc=function(t){if(nc(t))return t;if(ic(t)){for(var e=t.length,i=[],n=0;n<e;n++){var o=t[n];"string"==typeof o?sc(i,o):"number"!=typeof o&&"Number"!=oc(o)&&"String"!=oc(o)||sc(i,rc(o))}var r=i.length,s=!0;return function(t,e){if(s)return s=!1,e;if(ic(this))return e;for(var n=0;n<r;n++)if(i[n]===t)return e}}},yc=mt,mc=String,bc=hc("JSON","stringify"),wc=cc(/./.exec),kc=cc("".charAt),_c=cc("".charCodeAt),xc=cc("".replace),Ec=cc(1..toString),Oc=/[\uD800-\uDFFF]/g,Cc=/^[\uD800-\uDBFF]$/,Sc=/^[\uDC00-\uDFFF]$/,Tc=!yc||uc((function(){var t=hc("Symbol")();return"[null]"!=bc([t])||"{}"!=bc({a:t})||"{}"!=bc(Object(t))})),Mc=uc((function(){return'"\\udf06\\ud834"'!==bc("\udf06\ud834")||'"\\udead"'!==bc("\udead")})),Pc=function(t,e){var i=vc(arguments),n=gc(e);if(fc(n)||void 0!==t&&!pc(t))return i[1]=function(t,e){if(fc(n)&&(e=dc(n,this,mc(t),e)),!pc(e))return e},lc(bc,null,i)},Dc=function(t,e,i){var n=kc(i,e-1),o=kc(i,e+1);return wc(Cc,t)&&!wc(Sc,o)||wc(Sc,t)&&!wc(Cc,n)?"\\u"+Ec(_c(t,0),16):t};bc&&ac({target:"JSON",stat:!0,arity:3,forced:Tc||Mc},{stringify:function(t,e,i){var n=vc(arguments),o=lc(Tc?Pc:bc,null,n);return Mc&&"string"==typeof o?xc(o,Oc,Dc):o}});var Ic=nn,Bc=Gt;Si({target:"Object",stat:!0,forced:!mt||r((function(){Ic.f(1)}))},{getOwnPropertySymbols:function(t){var e=Ic.f;return e?e(Bc(t)):[]}}),bl("asyncIterator"),bl("hasInstance"),bl("isConcatSpreadable"),bl("iterator"),bl("match"),bl("matchAll"),bl("replace"),bl("search"),bl("species"),bl("split");var Nc=El;bl("toPrimitive"),Nc();var Fc=st,zc=Xr;bl("toStringTag"),zc(Fc("Symbol"),"Symbol"),bl("unscopables"),Xr(o.JSON,"JSON",!0);var Ac=et.Symbol;bl("dispose");var jc=Ac;bl("asyncDispose");var Rc=Si,Lc=g,Hc=st("Symbol"),Wc=Hc.keyFor,qc=Lc(Hc.prototype.valueOf);Rc({target:"Symbol",stat:!0},{isRegistered:function(t){try{return void 0!==Wc(qc(t))}catch(t){return!1}}});for(var Vc=Si,Uc=Ut,Yc=st,Xc=g,Gc=Et,Kc=ce,$c=Yc("Symbol"),Zc=$c.isWellKnown,Qc=Yc("Object","getOwnPropertyNames"),Jc=Xc($c.prototype.valueOf),tu=Uc("wks"),eu=0,iu=Qc($c),nu=iu.length;eu<nu;eu++)try{var ou=iu[eu];Gc($c[ou])&&Kc(ou)}catch(t){}Vc({target:"Symbol",stat:!0,forced:!0},{isWellKnown:function(t){if(Zc&&Zc(t))return!0;try{for(var e=Jc(t),i=0,n=Qc(tu),o=n.length;i<o;i++)if(tu[n[i]]==e)return!0}catch(t){}return!1}}),bl("matcher"),bl("metadataKey"),bl("observable"),bl("metadata"),bl("patternMatch"),bl("replaceAll");var ru=jc,su=i(ru),au=fl.f("iterator"),hu=au,lu=i(hu);function du(t){return du="function"==typeof su&&"symbol"==typeof lu?function(t){return typeof t}:function(t){return t&&"function"==typeof su&&t.constructor===su&&t!==su.prototype?"symbol":typeof t},du(t)}var cu=i(fl.f("toPrimitive"));function uu(t){var e=function(t,e){if("object"!==du(t)||null===t)return t;var i=t[cu];if(void 0!==i){var n=i.call(t,e||"default");if("object"!==du(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"===du(e)?e:String(e)}function fu(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),wh(t,uu(n.key),n)}}function pu(t,e,i){return e&&fu(t.prototype,e),i&&fu(t,i),wh(t,"prototype",{writable:!1}),t}Si({target:"Array",stat:!0},{isArray:_h});var vu=et.Array.isArray,gu=i(vu);var yu=Si,mu=_h,bu=la,wu=tt,ku=Fi,_u=Ri,xu=Z,Eu=fa,Ou=ce,Cu=bn,Su=Fh("slice"),Tu=Ou("species"),Mu=Array,Pu=Math.max;yu({target:"Array",proto:!0,forced:!Su},{slice:function(t,e){var i,n,o,r=xu(this),s=_u(r),a=ku(t,s),h=ku(void 0===e?s:e,s);if(mu(r)&&(i=r.constructor,(bu(i)&&(i===Mu||mu(i.prototype))||wu(i)&&null===(i=i[Tu]))&&(i=void 0),i===Mu||void 0===i))return Cu(r,a,h);for(n=new(void 0===i?Mu:i)(Pu(h-a,0)),o=0;a<h;a++,o++)a in r&&Eu(n,o,r[a]);return n.length=o,n}});var Du=Bn("Array").slice,Iu=at,Bu=Du,Nu=Array.prototype,Fu=function(t){var e=t.slice;return t===Nu||Iu(Nu,t)&&e===Nu.slice?Bu:e},zu=Fu,Au=zu,ju=i(Au),Ru=i(Va);function Lu(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}function Hu(t,e){var i;if(t){if("string"==typeof t)return Lu(t,e);var n=ju(i=Object.prototype.toString.call(t)).call(i,8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Ru(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Lu(t,e):void 0}}function Wu(t,e){return function(t){if(gu(t))return t}(t)||function(t,e){var i=null==t?null:void 0!==su&&dh(t)||t["@@iterator"];if(null!=i){var n,o,r,s,a=[],h=!0,l=!1;try{if(r=(i=i.call(t)).next,0===e){if(Object(i)!==i)return;h=!1}else for(;!(h=(n=r.call(i)).done)&&(a.push(n.value),a.length!==e);h=!0);}catch(t){l=!0,o=t}finally{try{if(!h&&null!=i.return&&(s=i.return(),Object(s)!==s))return}finally{if(l)throw o}}return a}}(t,e)||Hu(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function qu(t){return function(t){if(gu(t))return Lu(t)}(t)||function(t){if(void 0!==su&&null!=dh(t)||null!=t["@@iterator"])return Ru(t)}(t)||Hu(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var Vu=i(Ac),Uu=Bn("Array").concat,Yu=at,Xu=Uu,Gu=Array.prototype,Ku=function(t){var e=t.concat;return t===Gu||Yu(Gu,t)&&e===Gu.concat?Xu:e},$u=i(Ku),Zu=i(zu),Qu=st,Ju=$h,tf=nn,ef=ei,nf=g([].concat),of=Qu("Reflect","ownKeys")||function(t){var e=Ju.f(ef(t)),i=tf.f;return i?nf(e,i(t)):e};Si({target:"Reflect",stat:!0},{ownKeys:of});var rf=i(et.Reflect.ownKeys),sf=i(vu),af=Il.map;Si({target:"Array",proto:!0,forced:!Fh("map")},{map:function(t){return af(this,t,arguments.length>1?arguments[1]:void 0)}});var hf=Bn("Array").map,lf=at,df=hf,cf=Array.prototype,uf=function(t){var e=t.map;return t===cf||lf(cf,t)&&e===cf.map?df:e},ff=i(uf),pf=Gt,vf=en;Si({target:"Object",stat:!0,forced:r((function(){vf(1)}))},{keys:function(t){return vf(pf(t))}});var gf=i(et.Object.keys),yf=Si,mf=Date,bf=g(mf.prototype.getTime);yf({target:"Date",stat:!0},{now:function(){return bf(new mf)}});var wf=i(et.Date.now),kf=r,_f=function(t,e){var i=[][t];return!!i&&kf((function(){i.call(null,e||function(){return 1},1)}))},xf=Il.forEach,Ef=_f("forEach")?[].forEach:function(t){return xf(this,t,arguments.length>1?arguments[1]:void 0)};Si({target:"Array",proto:!0,forced:[].forEach!=Ef},{forEach:Ef});var Of=Bn("Array").forEach,Cf=so,Sf=Zt,Tf=at,Mf=Of,Pf=Array.prototype,Df={DOMTokenList:!0,NodeList:!0},If=function(t){var e=t.forEach;return t===Pf||Tf(Pf,t)&&e===Pf.forEach||Sf(Df,Cf(t))?Mf:e},Bf=i(If),Nf=Si,Ff=_h,zf=g([].reverse),Af=[1,2];Nf({target:"Array",proto:!0,forced:String(Af)===String(Af.reverse())},{reverse:function(){return Ff(this)&&(this.length=this.length),zf(this)}});var jf=Bn("Array").reverse,Rf=at,Lf=jf,Hf=Array.prototype,Wf=function(t){var e=t.reverse;return t===Hf||Rf(Hf,t)&&e===Hf.reverse?Lf:e},qf=Wf,Vf=i(qf),Uf=M,Yf=_h,Xf=TypeError,Gf=Object.getOwnPropertyDescriptor,Kf=Uf&&!function(){if(void 0!==this)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(t){return t instanceof TypeError}}(),$f=Ct,Zf=TypeError,Qf=function(t,e){if(!delete t[e])throw Zf("Cannot delete property "+$f(e)+" of "+$f(t))},Jf=Si,tp=Gt,ep=Fi,ip=Di,np=Ri,op=Kf?function(t,e){if(Yf(t)&&!Gf(t,"length").writable)throw Xf("Cannot set read only .length");return t.length=e}:function(t,e){return t.length=e},rp=Eh,sp=Dh,ap=fa,hp=Qf,lp=Fh("splice"),dp=Math.max,cp=Math.min;Jf({target:"Array",proto:!0,forced:!lp},{splice:function(t,e){var i,n,o,r,s,a,h=tp(this),l=np(h),d=ep(t,l),c=arguments.length;for(0===c?i=n=0:1===c?(i=0,n=l-d):(i=c-2,n=cp(dp(ip(e),0),l-d)),rp(l+i-n),o=sp(h,n),r=0;r<n;r++)(s=d+r)in h&&ap(o,r,h[s]);if(o.length=n,i<n){for(r=d;r<l-n;r++)a=r+i,(s=r+n)in h?h[a]=h[s]:hp(h,a);for(r=l;r>l-n+i;r--)hp(h,r-1)}else if(i>n)for(r=l-n;r>d;r--)a=r+i-1,(s=r+n-1)in h?h[a]=h[s]:hp(h,a);for(r=0;r<i;r++)h[r+d]=arguments[r+2];return op(h,l-n+i),o}});var up=Bn("Array").splice,fp=at,pp=up,vp=Array.prototype,gp=function(t){var e=t.splice;return t===vp||fp(vp,t)&&e===vp.splice?pp:e},yp=i(gp),mp=Vi.includes;Si({target:"Array",proto:!0,forced:r((function(){return!Array(1).includes()}))},{includes:function(t){return mp(this,t,arguments.length>1?arguments[1]:void 0)}});var bp=Bn("Array").includes,wp=tt,kp=w,_p=ce("match"),xp=function(t){var e;return wp(t)&&(void 0!==(e=t[_p])?!!e:"RegExp"==kp(t))},Ep=TypeError,Op=ce("match"),Cp=Si,Sp=function(t){if(xp(t))throw Ep("The method doesn't accept regular expressions");return t},Tp=G,Mp=lo,Pp=function(t){var e=/./;try{"/./"[t](e)}catch(i){try{return e[Op]=!1,"/./"[t](e)}catch(t){}}return!1},Dp=g("".indexOf);Cp({target:"String",proto:!0,forced:!Pp("includes")},{includes:function(t){return!!~Dp(Mp(Tp(this)),Mp(Sp(t)),arguments.length>1?arguments[1]:void 0)}});var Ip=Bn("String").includes,Bp=at,Np=bp,Fp=Ip,zp=Array.prototype,Ap=String.prototype,jp=function(t){var e=t.includes;return t===zp||Bp(zp,t)&&e===zp.includes?Np:"string"==typeof t||t===Ap||Bp(Ap,t)&&e===Ap.includes?Fp:e},Rp=i(jp),Lp=Gt,Hp=Cr,Wp=mr;Si({target:"Object",stat:!0,forced:r((function(){Hp(1)})),sham:!Wp},{getPrototypeOf:function(t){return Hp(Lp(t))}});var qp=et.Object.getPrototypeOf,Vp=i(qp),Up=Il.filter;Si({target:"Array",proto:!0,forced:!Fh("filter")},{filter:function(t){return Up(this,t,arguments.length>1?arguments[1]:void 0)}});var Yp=Bn("Array").filter,Xp=at,Gp=Yp,Kp=Array.prototype,$p=function(t){var e=t.filter;return t===Kp||Xp(Kp,t)&&e===Kp.filter?Gp:e},Zp=i($p),Qp=M,Jp=g,tv=en,ev=Z,iv=Jp(B.f),nv=Jp([].push),ov=function(t){return function(e){for(var i,n=ev(e),o=tv(n),r=o.length,s=0,a=[];r>s;)i=o[s++],Qp&&!iv(n,i)||nv(a,t?[i,n[i]]:n[i]);return a}},rv={entries:ov(!0),values:ov(!1)},sv=rv.values;Si({target:"Object",stat:!0},{values:function(t){return sv(t)}});var av=i(et.Object.values),hv="\t\n\v\f\r                \u2028\u2029\ufeff",lv=G,dv=lo,cv=hv,uv=g("".replace),fv=RegExp("^["+cv+"]+"),pv=RegExp("(^|[^"+cv+"])["+cv+"]+$"),vv=function(t){return function(e){var i=dv(lv(e));return 1&t&&(i=uv(i,fv,"")),2&t&&(i=uv(i,pv,"$1")),i}},gv={start:vv(1),end:vv(2),trim:vv(3)},yv=o,mv=r,bv=g,wv=lo,kv=gv.trim,_v=hv,xv=yv.parseInt,Ev=yv.Symbol,Ov=Ev&&Ev.iterator,Cv=/^[+-]?0x/i,Sv=bv(Cv.exec),Tv=8!==xv(_v+"08")||22!==xv(_v+"0x16")||Ov&&!mv((function(){xv(Object(Ov))}))?function(t,e){var i=kv(wv(t));return xv(i,e>>>0||(Sv(Cv,i)?16:10))}:xv;Si({global:!0,forced:parseInt!=Tv},{parseInt:Tv});var Mv=i(et.parseInt),Pv=Si,Dv=Vi.indexOf,Iv=_f,Bv=x([].indexOf),Nv=!!Bv&&1/Bv([1],1,-0)<0;Pv({target:"Array",proto:!0,forced:Nv||!Iv("indexOf")},{indexOf:function(t){var e=arguments.length>1?arguments[1]:void 0;return Nv?Bv(this,t,e)||0:Dv(this,t,e)}});var Fv=Bn("Array").indexOf,zv=at,Av=Fv,jv=Array.prototype,Rv=function(t){var e=t.indexOf;return t===jv||zv(jv,t)&&e===jv.indexOf?Av:e},Lv=i(Rv),Hv=rv.entries;Si({target:"Object",stat:!0},{entries:function(t){return Hv(t)}});var Wv=i(et.Object.entries);Si({target:"Object",stat:!0,sham:!M},{create:yr});var qv=et.Object,Vv=function(t,e){return qv.create(t,e)},Uv=i(Vv),Yv=et,Xv=c;Yv.JSON||(Yv.JSON={stringify:JSON.stringify});var Gv=function(t,e,i){return Xv(Yv.JSON.stringify,null,arguments)},Kv=i(Gv),$v="function"==typeof Bun&&Bun&&"string"==typeof Bun.version,Zv=TypeError,Qv=function(t,e){if(t<e)throw Zv("Not enough arguments");return t},Jv=o,tg=c,eg=S,ig=$v,ng=ht,og=bn,rg=Qv,sg=Jv.Function,ag=/MSIE .\./.test(ng)||ig&&function(){var t=Jv.Bun.version.split(".");return t.length<3||0==t[0]&&(t[1]<3||3==t[1]&&0==t[2])}(),hg=function(t,e){var i=e?2:1;return ag?function(n,o){var r=rg(arguments.length,1)>i,s=eg(n)?n:sg(n),a=r?og(arguments,i):[],h=r?function(){tg(s,this,a)}:s;return e?t(h,o):t(h)}:t},lg=Si,dg=o,cg=hg(dg.setInterval,!0);lg({global:!0,bind:!0,forced:dg.setInterval!==cg},{setInterval:cg});var ug=Si,fg=o,pg=hg(fg.setTimeout,!0);ug({global:!0,bind:!0,forced:fg.setTimeout!==pg},{setTimeout:pg});var vg=i(et.setTimeout),gg=Gt,yg=Fi,mg=Ri,bg=function(t){for(var e=gg(this),i=mg(e),n=arguments.length,o=yg(n>1?arguments[1]:void 0,i),r=n>2?arguments[2]:void 0,s=void 0===r?i:yg(r,i);s>o;)e[o++]=t;return e};Si({target:"Array",proto:!0},{fill:bg});var wg,kg=Bn("Array").fill,_g=at,xg=kg,Eg=Array.prototype,Og=function(t){var e=t.fill;return t===Eg||_g(Eg,t)&&e===Eg.fill?xg:e},Cg=i(Og);function Sg(){return Sg=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var i=arguments[e];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(t[n]=i[n])}return t},Sg.apply(this,arguments)}function Tg(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.__proto__=e}function Mg(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}wg="function"!=typeof Object.assign?function(t){if(null==t)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(t),i=1;i<arguments.length;i++){var n=arguments[i];if(null!=n)for(var o in n)n.hasOwnProperty(o)&&(e[o]=n[o])}return e}:Object.assign;var Pg,Dg=wg,Ig=["","webkit","Moz","MS","ms","o"],Bg="undefined"==typeof document?{style:{}}:document.createElement("div"),Ng=Math.round,Fg=Math.abs,zg=Date.now;function Ag(t,e){for(var i,n,o=e[0].toUpperCase()+e.slice(1),r=0;r<Ig.length;){if((n=(i=Ig[r])?i+o:e)in t)return n;r++}}Pg="undefined"==typeof window?{}:window;var jg=Ag(Bg.style,"touchAction"),Rg=void 0!==jg;var Lg="compute",Hg="auto",Wg="manipulation",qg="none",Vg="pan-x",Ug="pan-y",Yg=function(){if(!Rg)return!1;var t={},e=Pg.CSS&&Pg.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach((function(i){return t[i]=!e||Pg.CSS.supports("touch-action",i)})),t}(),Xg="ontouchstart"in Pg,Gg=void 0!==Ag(Pg,"PointerEvent"),Kg=Xg&&/mobile|tablet|ip(ad|hone|od)|android/i.test(navigator.userAgent),$g="touch",Zg="mouse",Qg=25,Jg=1,ty=4,ey=8,iy=1,ny=2,oy=4,ry=8,sy=16,ay=ny|oy,hy=ry|sy,ly=ay|hy,dy=["x","y"],cy=["clientX","clientY"];function uy(t,e,i){var n;if(t)if(t.forEach)t.forEach(e,i);else if(void 0!==t.length)for(n=0;n<t.length;)e.call(i,t[n],n,t),n++;else for(n in t)t.hasOwnProperty(n)&&e.call(i,t[n],n,t)}function fy(t,e){return"function"==typeof t?t.apply(e&&e[0]||void 0,e):t}function py(t,e){return t.indexOf(e)>-1}var vy=function(){function t(t,e){this.manager=t,this.set(e)}var e=t.prototype;return e.set=function(t){t===Lg&&(t=this.compute()),Rg&&this.manager.element.style&&Yg[t]&&(this.manager.element.style[jg]=t),this.actions=t.toLowerCase().trim()},e.update=function(){this.set(this.manager.options.touchAction)},e.compute=function(){var t=[];return uy(this.manager.recognizers,(function(e){fy(e.options.enable,[e])&&(t=t.concat(e.getTouchAction()))})),function(t){if(py(t,qg))return qg;var e=py(t,Vg),i=py(t,Ug);return e&&i?qg:e||i?e?Vg:Ug:py(t,Wg)?Wg:Hg}(t.join(" "))},e.preventDefaults=function(t){var e=t.srcEvent,i=t.offsetDirection;if(this.manager.session.prevented)e.preventDefault();else{var n=this.actions,o=py(n,qg)&&!Yg[qg],r=py(n,Ug)&&!Yg[Ug],s=py(n,Vg)&&!Yg[Vg];if(o){var a=1===t.pointers.length,h=t.distance<2,l=t.deltaTime<250;if(a&&h&&l)return}if(!s||!r)return o||r&&i&ay||s&&i&hy?this.preventSrc(e):void 0}},e.preventSrc=function(t){this.manager.session.prevented=!0,t.preventDefault()},t}();function gy(t,e){for(;t;){if(t===e)return!0;t=t.parentNode}return!1}function yy(t){var e=t.length;if(1===e)return{x:Ng(t[0].clientX),y:Ng(t[0].clientY)};for(var i=0,n=0,o=0;o<e;)i+=t[o].clientX,n+=t[o].clientY,o++;return{x:Ng(i/e),y:Ng(n/e)}}function my(t){for(var e=[],i=0;i<t.pointers.length;)e[i]={clientX:Ng(t.pointers[i].clientX),clientY:Ng(t.pointers[i].clientY)},i++;return{timeStamp:zg(),pointers:e,center:yy(e),deltaX:t.deltaX,deltaY:t.deltaY}}function by(t,e,i){i||(i=dy);var n=e[i[0]]-t[i[0]],o=e[i[1]]-t[i[1]];return Math.sqrt(n*n+o*o)}function wy(t,e,i){i||(i=dy);var n=e[i[0]]-t[i[0]],o=e[i[1]]-t[i[1]];return 180*Math.atan2(o,n)/Math.PI}function ky(t,e){return t===e?iy:Fg(t)>=Fg(e)?t<0?ny:oy:e<0?ry:sy}function _y(t,e,i){return{x:e/t||0,y:i/t||0}}function xy(t,e){var i=t.session,n=e.pointers,o=n.length;i.firstInput||(i.firstInput=my(e)),o>1&&!i.firstMultiple?i.firstMultiple=my(e):1===o&&(i.firstMultiple=!1);var r=i.firstInput,s=i.firstMultiple,a=s?s.center:r.center,h=e.center=yy(n);e.timeStamp=zg(),e.deltaTime=e.timeStamp-r.timeStamp,e.angle=wy(a,h),e.distance=by(a,h),function(t,e){var i=e.center,n=t.offsetDelta||{},o=t.prevDelta||{},r=t.prevInput||{};e.eventType!==Jg&&r.eventType!==ty||(o=t.prevDelta={x:r.deltaX||0,y:r.deltaY||0},n=t.offsetDelta={x:i.x,y:i.y}),e.deltaX=o.x+(i.x-n.x),e.deltaY=o.y+(i.y-n.y)}(i,e),e.offsetDirection=ky(e.deltaX,e.deltaY);var l,d,c=_y(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=c.x,e.overallVelocityY=c.y,e.overallVelocity=Fg(c.x)>Fg(c.y)?c.x:c.y,e.scale=s?(l=s.pointers,by((d=n)[0],d[1],cy)/by(l[0],l[1],cy)):1,e.rotation=s?function(t,e){return wy(e[1],e[0],cy)+wy(t[1],t[0],cy)}(s.pointers,n):0,e.maxPointers=i.prevInput?e.pointers.length>i.prevInput.maxPointers?e.pointers.length:i.prevInput.maxPointers:e.pointers.length,function(t,e){var i,n,o,r,s=t.lastInterval||e,a=e.timeStamp-s.timeStamp;if(e.eventType!==ey&&(a>Qg||void 0===s.velocity)){var h=e.deltaX-s.deltaX,l=e.deltaY-s.deltaY,d=_y(a,h,l);n=d.x,o=d.y,i=Fg(d.x)>Fg(d.y)?d.x:d.y,r=ky(h,l),t.lastInterval=e}else i=s.velocity,n=s.velocityX,o=s.velocityY,r=s.direction;e.velocity=i,e.velocityX=n,e.velocityY=o,e.direction=r}(i,e);var u,f=t.element,p=e.srcEvent;gy(u=p.composedPath?p.composedPath()[0]:p.path?p.path[0]:p.target,f)&&(f=u),e.target=f}function Ey(t,e,i){var n=i.pointers.length,o=i.changedPointers.length,r=e&Jg&&n-o==0,s=e&(ty|ey)&&n-o==0;i.isFirst=!!r,i.isFinal=!!s,r&&(t.session={}),i.eventType=e,xy(t,i),t.emit("hammer.input",i),t.recognize(i),t.session.prevInput=i}function Oy(t){return t.trim().split(/\s+/g)}function Cy(t,e,i){uy(Oy(e),(function(e){t.addEventListener(e,i,!1)}))}function Sy(t,e,i){uy(Oy(e),(function(e){t.removeEventListener(e,i,!1)}))}function Ty(t){var e=t.ownerDocument||t;return e.defaultView||e.parentWindow||window}var My=function(){function t(t,e){var i=this;this.manager=t,this.callback=e,this.element=t.element,this.target=t.options.inputTarget,this.domHandler=function(e){fy(t.options.enable,[t])&&i.handler(e)},this.init()}var e=t.prototype;return e.handler=function(){},e.init=function(){this.evEl&&Cy(this.element,this.evEl,this.domHandler),this.evTarget&&Cy(this.target,this.evTarget,this.domHandler),this.evWin&&Cy(Ty(this.element),this.evWin,this.domHandler)},e.destroy=function(){this.evEl&&Sy(this.element,this.evEl,this.domHandler),this.evTarget&&Sy(this.target,this.evTarget,this.domHandler),this.evWin&&Sy(Ty(this.element),this.evWin,this.domHandler)},t}();function Py(t,e,i){if(t.indexOf&&!i)return t.indexOf(e);for(var n=0;n<t.length;){if(i&&t[n][i]==e||!i&&t[n]===e)return n;n++}return-1}var Dy={pointerdown:Jg,pointermove:2,pointerup:ty,pointercancel:ey,pointerout:ey},Iy={2:$g,3:"pen",4:Zg,5:"kinect"},By="pointerdown",Ny="pointermove pointerup pointercancel";Pg.MSPointerEvent&&!Pg.PointerEvent&&(By="MSPointerDown",Ny="MSPointerMove MSPointerUp MSPointerCancel");var Fy=function(t){function e(){var i,n=e.prototype;return n.evEl=By,n.evWin=Ny,(i=t.apply(this,arguments)||this).store=i.manager.session.pointerEvents=[],i}return Tg(e,t),e.prototype.handler=function(t){var e=this.store,i=!1,n=t.type.toLowerCase().replace("ms",""),o=Dy[n],r=Iy[t.pointerType]||t.pointerType,s=r===$g,a=Py(e,t.pointerId,"pointerId");o&Jg&&(0===t.button||s)?a<0&&(e.push(t),a=e.length-1):o&(ty|ey)&&(i=!0),a<0||(e[a]=t,this.callback(this.manager,o,{pointers:e,changedPointers:[t],pointerType:r,srcEvent:t}),i&&e.splice(a,1))},e}(My);function zy(t){return Array.prototype.slice.call(t,0)}function Ay(t,e,i){for(var n=[],o=[],r=0;r<t.length;){var s=e?t[r][e]:t[r];Py(o,s)<0&&n.push(t[r]),o[r]=s,r++}return i&&(n=e?n.sort((function(t,i){return t[e]>i[e]})):n.sort()),n}var jy={touchstart:Jg,touchmove:2,touchend:ty,touchcancel:ey},Ry=function(t){function e(){var i;return e.prototype.evTarget="touchstart touchmove touchend touchcancel",(i=t.apply(this,arguments)||this).targetIds={},i}return Tg(e,t),e.prototype.handler=function(t){var e=jy[t.type],i=Ly.call(this,t,e);i&&this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:$g,srcEvent:t})},e}(My);function Ly(t,e){var i,n,o=zy(t.touches),r=this.targetIds;if(e&(2|Jg)&&1===o.length)return r[o[0].identifier]=!0,[o,o];var s=zy(t.changedTouches),a=[],h=this.target;if(n=o.filter((function(t){return gy(t.target,h)})),e===Jg)for(i=0;i<n.length;)r[n[i].identifier]=!0,i++;for(i=0;i<s.length;)r[s[i].identifier]&&a.push(s[i]),e&(ty|ey)&&delete r[s[i].identifier],i++;return a.length?[Ay(n.concat(a),"identifier",!0),a]:void 0}var Hy={mousedown:Jg,mousemove:2,mouseup:ty},Wy=function(t){function e(){var i,n=e.prototype;return n.evEl="mousedown",n.evWin="mousemove mouseup",(i=t.apply(this,arguments)||this).pressed=!1,i}return Tg(e,t),e.prototype.handler=function(t){var e=Hy[t.type];e&Jg&&0===t.button&&(this.pressed=!0),2&e&&1!==t.which&&(e=ty),this.pressed&&(e&ty&&(this.pressed=!1),this.callback(this.manager,e,{pointers:[t],changedPointers:[t],pointerType:Zg,srcEvent:t}))},e}(My),qy=2500;function Vy(t){var e=t.changedPointers[0];if(e.identifier===this.primaryTouch){var i={x:e.clientX,y:e.clientY},n=this.lastTouches;this.lastTouches.push(i);setTimeout((function(){var t=n.indexOf(i);t>-1&&n.splice(t,1)}),qy)}}function Uy(t,e){t&Jg?(this.primaryTouch=e.changedPointers[0].identifier,Vy.call(this,e)):t&(ty|ey)&&Vy.call(this,e)}function Yy(t){for(var e=t.srcEvent.clientX,i=t.srcEvent.clientY,n=0;n<this.lastTouches.length;n++){var o=this.lastTouches[n],r=Math.abs(e-o.x),s=Math.abs(i-o.y);if(r<=25&&s<=25)return!0}return!1}var Xy=function(){return function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this).handler=function(t,e,i){var o=i.pointerType===$g,r=i.pointerType===Zg;if(!(r&&i.sourceCapabilities&&i.sourceCapabilities.firesTouchEvents)){if(o)Uy.call(Mg(Mg(n)),e,i);else if(r&&Yy.call(Mg(Mg(n)),i))return;n.callback(t,e,i)}},n.touch=new Ry(n.manager,n.handler),n.mouse=new Wy(n.manager,n.handler),n.primaryTouch=null,n.lastTouches=[],n}return Tg(e,t),e.prototype.destroy=function(){this.touch.destroy(),this.mouse.destroy()},e}(My)}();function Gy(t,e,i){return!!Array.isArray(t)&&(uy(t,i[e],i),!0)}var Ky=32,$y=1;function Zy(t,e){var i=e.manager;return i?i.get(t):t}function Qy(t){return 16&t?"cancel":8&t?"end":4&t?"move":2&t?"start":""}var Jy=function(){function t(t){void 0===t&&(t={}),this.options=Sg({enable:!0},t),this.id=$y++,this.manager=null,this.state=1,this.simultaneous={},this.requireFail=[]}var e=t.prototype;return e.set=function(t){return Dg(this.options,t),this.manager&&this.manager.touchAction.update(),this},e.recognizeWith=function(t){if(Gy(t,"recognizeWith",this))return this;var e=this.simultaneous;return e[(t=Zy(t,this)).id]||(e[t.id]=t,t.recognizeWith(this)),this},e.dropRecognizeWith=function(t){return Gy(t,"dropRecognizeWith",this)||(t=Zy(t,this),delete this.simultaneous[t.id]),this},e.requireFailure=function(t){if(Gy(t,"requireFailure",this))return this;var e=this.requireFail;return-1===Py(e,t=Zy(t,this))&&(e.push(t),t.requireFailure(this)),this},e.dropRequireFailure=function(t){if(Gy(t,"dropRequireFailure",this))return this;t=Zy(t,this);var e=Py(this.requireFail,t);return e>-1&&this.requireFail.splice(e,1),this},e.hasRequireFailures=function(){return this.requireFail.length>0},e.canRecognizeWith=function(t){return!!this.simultaneous[t.id]},e.emit=function(t){var e=this,i=this.state;function n(i){e.manager.emit(i,t)}i<8&&n(e.options.event+Qy(i)),n(e.options.event),t.additionalEvent&&n(t.additionalEvent),i>=8&&n(e.options.event+Qy(i))},e.tryEmit=function(t){if(this.canEmit())return this.emit(t);this.state=Ky},e.canEmit=function(){for(var t=0;t<this.requireFail.length;){if(!(33&this.requireFail[t].state))return!1;t++}return!0},e.recognize=function(t){var e=Dg({},t);if(!fy(this.options.enable,[this,e]))return this.reset(),void(this.state=Ky);56&this.state&&(this.state=1),this.state=this.process(e),30&this.state&&this.tryEmit(e)},e.process=function(t){},e.getTouchAction=function(){},e.reset=function(){},t}(),tm=function(t){function e(e){var i;return void 0===e&&(e={}),(i=t.call(this,Sg({event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},e))||this).pTime=!1,i.pCenter=!1,i._timer=null,i._input=null,i.count=0,i}Tg(e,t);var i=e.prototype;return i.getTouchAction=function(){return[Wg]},i.process=function(t){var e=this,i=this.options,n=t.pointers.length===i.pointers,o=t.distance<i.threshold,r=t.deltaTime<i.time;if(this.reset(),t.eventType&Jg&&0===this.count)return this.failTimeout();if(o&&r&&n){if(t.eventType!==ty)return this.failTimeout();var s=!this.pTime||t.timeStamp-this.pTime<i.interval,a=!this.pCenter||by(this.pCenter,t.center)<i.posThreshold;if(this.pTime=t.timeStamp,this.pCenter=t.center,a&&s?this.count+=1:this.count=1,this._input=t,0===this.count%i.taps)return this.hasRequireFailures()?(this._timer=setTimeout((function(){e.state=8,e.tryEmit()}),i.interval),2):8}return Ky},i.failTimeout=function(){var t=this;return this._timer=setTimeout((function(){t.state=Ky}),this.options.interval),Ky},i.reset=function(){clearTimeout(this._timer)},i.emit=function(){8===this.state&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))},e}(Jy),em=function(t){function e(e){return void 0===e&&(e={}),t.call(this,Sg({pointers:1},e))||this}Tg(e,t);var i=e.prototype;return i.attrTest=function(t){var e=this.options.pointers;return 0===e||t.pointers.length===e},i.process=function(t){var e=this.state,i=t.eventType,n=6&e,o=this.attrTest(t);return n&&(i&ey||!o)?16|e:n||o?i&ty?8|e:2&e?4|e:2:Ky},e}(Jy);function im(t){return t===sy?"down":t===ry?"up":t===ny?"left":t===oy?"right":""}var nm=function(t){function e(e){var i;return void 0===e&&(e={}),(i=t.call(this,Sg({event:"pan",threshold:10,pointers:1,direction:ly},e))||this).pX=null,i.pY=null,i}Tg(e,t);var i=e.prototype;return i.getTouchAction=function(){var t=this.options.direction,e=[];return t&ay&&e.push(Ug),t&hy&&e.push(Vg),e},i.directionTest=function(t){var e=this.options,i=!0,n=t.distance,o=t.direction,r=t.deltaX,s=t.deltaY;return o&e.direction||(e.direction&ay?(o=0===r?iy:r<0?ny:oy,i=r!==this.pX,n=Math.abs(t.deltaX)):(o=0===s?iy:s<0?ry:sy,i=s!==this.pY,n=Math.abs(t.deltaY))),t.direction=o,i&&n>e.threshold&&o&e.direction},i.attrTest=function(t){return em.prototype.attrTest.call(this,t)&&(2&this.state||!(2&this.state)&&this.directionTest(t))},i.emit=function(e){this.pX=e.deltaX,this.pY=e.deltaY;var i=im(e.direction);i&&(e.additionalEvent=this.options.event+i),t.prototype.emit.call(this,e)},e}(em),om=function(t){function e(e){return void 0===e&&(e={}),t.call(this,Sg({event:"swipe",threshold:10,velocity:.3,direction:ay|hy,pointers:1},e))||this}Tg(e,t);var i=e.prototype;return i.getTouchAction=function(){return nm.prototype.getTouchAction.call(this)},i.attrTest=function(e){var i,n=this.options.direction;return n&(ay|hy)?i=e.overallVelocity:n&ay?i=e.overallVelocityX:n&hy&&(i=e.overallVelocityY),t.prototype.attrTest.call(this,e)&&n&e.offsetDirection&&e.distance>this.options.threshold&&e.maxPointers===this.options.pointers&&Fg(i)>this.options.velocity&&e.eventType&ty},i.emit=function(t){var e=im(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)},e}(em),rm=function(t){function e(e){return void 0===e&&(e={}),t.call(this,Sg({event:"pinch",threshold:0,pointers:2},e))||this}Tg(e,t);var i=e.prototype;return i.getTouchAction=function(){return[qg]},i.attrTest=function(e){return t.prototype.attrTest.call(this,e)&&(Math.abs(e.scale-1)>this.options.threshold||2&this.state)},i.emit=function(e){if(1!==e.scale){var i=e.scale<1?"in":"out";e.additionalEvent=this.options.event+i}t.prototype.emit.call(this,e)},e}(em),sm=function(t){function e(e){return void 0===e&&(e={}),t.call(this,Sg({event:"rotate",threshold:0,pointers:2},e))||this}Tg(e,t);var i=e.prototype;return i.getTouchAction=function(){return[qg]},i.attrTest=function(e){return t.prototype.attrTest.call(this,e)&&(Math.abs(e.rotation)>this.options.threshold||2&this.state)},e}(em),am=function(t){function e(e){var i;return void 0===e&&(e={}),(i=t.call(this,Sg({event:"press",pointers:1,time:251,threshold:9},e))||this)._timer=null,i._input=null,i}Tg(e,t);var i=e.prototype;return i.getTouchAction=function(){return[Hg]},i.process=function(t){var e=this,i=this.options,n=t.pointers.length===i.pointers,o=t.distance<i.threshold,r=t.deltaTime>i.time;if(this._input=t,!o||!n||t.eventType&(ty|ey)&&!r)this.reset();else if(t.eventType&Jg)this.reset(),this._timer=setTimeout((function(){e.state=8,e.tryEmit()}),i.time);else if(t.eventType&ty)return 8;return Ky},i.reset=function(){clearTimeout(this._timer)},i.emit=function(t){8===this.state&&(t&&t.eventType&ty?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=zg(),this.manager.emit(this.options.event,this._input)))},e}(Jy),hm={domEvents:!1,touchAction:Lg,enable:!0,inputTarget:null,inputClass:null,cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},lm=[[sm,{enable:!1}],[rm,{enable:!1},["rotate"]],[om,{direction:ay}],[nm,{direction:ay},["swipe"]],[tm],[tm,{event:"doubletap",taps:2},["tap"]],[am]];function dm(t,e){var i,n=t.element;n.style&&(uy(t.options.cssProps,(function(o,r){i=Ag(n.style,r),e?(t.oldCssProps[i]=n.style[i],n.style[i]=o):n.style[i]=t.oldCssProps[i]||""})),e||(t.oldCssProps={}))}var cm=function(){function t(t,e){var i,n=this;this.options=Dg({},hm,e||{}),this.options.inputTarget=this.options.inputTarget||t,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=t,this.input=new((i=this).options.inputClass||(Gg?Fy:Kg?Ry:Xg?Xy:Wy))(i,Ey),this.touchAction=new vy(this,this.options.touchAction),dm(this,!0),uy(this.options.recognizers,(function(t){var e=n.add(new t[0](t[1]));t[2]&&e.recognizeWith(t[2]),t[3]&&e.requireFailure(t[3])}),this)}var e=t.prototype;return e.set=function(t){return Dg(this.options,t),t.touchAction&&this.touchAction.update(),t.inputTarget&&(this.input.destroy(),this.input.target=t.inputTarget,this.input.init()),this},e.stop=function(t){this.session.stopped=t?2:1},e.recognize=function(t){var e=this.session;if(!e.stopped){var i;this.touchAction.preventDefaults(t);var n=this.recognizers,o=e.curRecognizer;(!o||o&&8&o.state)&&(e.curRecognizer=null,o=null);for(var r=0;r<n.length;)i=n[r],2===e.stopped||o&&i!==o&&!i.canRecognizeWith(o)?i.reset():i.recognize(t),!o&&14&i.state&&(e.curRecognizer=i,o=i),r++}},e.get=function(t){if(t instanceof Jy)return t;for(var e=this.recognizers,i=0;i<e.length;i++)if(e[i].options.event===t)return e[i];return null},e.add=function(t){if(Gy(t,"add",this))return this;var e=this.get(t.options.event);return e&&this.remove(e),this.recognizers.push(t),t.manager=this,this.touchAction.update(),t},e.remove=function(t){if(Gy(t,"remove",this))return this;var e=this.get(t);if(t){var i=this.recognizers,n=Py(i,e);-1!==n&&(i.splice(n,1),this.touchAction.update())}return this},e.on=function(t,e){if(void 0===t||void 0===e)return this;var i=this.handlers;return uy(Oy(t),(function(t){i[t]=i[t]||[],i[t].push(e)})),this},e.off=function(t,e){if(void 0===t)return this;var i=this.handlers;return uy(Oy(t),(function(t){e?i[t]&&i[t].splice(Py(i[t],e),1):delete i[t]})),this},e.emit=function(t,e){this.options.domEvents&&function(t,e){var i=document.createEvent("Event");i.initEvent(t,!0,!0),i.gesture=e,e.target.dispatchEvent(i)}(t,e);var i=this.handlers[t]&&this.handlers[t].slice();if(i&&i.length){e.type=t,e.preventDefault=function(){e.srcEvent.preventDefault()};for(var n=0;n<i.length;)i[n](e),n++}},e.destroy=function(){this.element&&dm(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null},t}(),um={touchstart:Jg,touchmove:2,touchend:ty,touchcancel:ey},fm=function(t){function e(){var i,n=e.prototype;return n.evTarget="touchstart",n.evWin="touchstart touchmove touchend touchcancel",(i=t.apply(this,arguments)||this).started=!1,i}return Tg(e,t),e.prototype.handler=function(t){var e=um[t.type];if(e===Jg&&(this.started=!0),this.started){var i=pm.call(this,t,e);e&(ty|ey)&&i[0].length-i[1].length==0&&(this.started=!1),this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:$g,srcEvent:t})}},e}(My);function pm(t,e){var i=zy(t.touches),n=zy(t.changedTouches);return e&(ty|ey)&&(i=Ay(i.concat(n),"identifier",!0)),[i,n]}function vm(t,e,i){var n="DEPRECATED METHOD: "+e+"\n"+i+" AT \n";return function(){var e=new Error("get-stack-trace"),i=e&&e.stack?e.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",o=window.console&&(window.console.warn||window.console.log);return o&&o.call(window.console,n,i),t.apply(this,arguments)}}var gm=vm((function(t,e,i){for(var n=Object.keys(e),o=0;o<n.length;)(!i||i&&void 0===t[n[o]])&&(t[n[o]]=e[n[o]]),o++;return t}),"extend","Use `assign`."),ym=vm((function(t,e){return gm(t,e,!0)}),"merge","Use `assign`.");function mm(t,e,i){var n,o=e.prototype;(n=t.prototype=Object.create(o)).constructor=t,n._super=o,i&&Dg(n,i)}function bm(t,e){return function(){return t.apply(e,arguments)}}var wm=function(){var t=function(t,e){return void 0===e&&(e={}),new cm(t,Sg({recognizers:lm.concat()},e))};return t.VERSION="2.0.17-rc",t.DIRECTION_ALL=ly,t.DIRECTION_DOWN=sy,t.DIRECTION_LEFT=ny,t.DIRECTION_RIGHT=oy,t.DIRECTION_UP=ry,t.DIRECTION_HORIZONTAL=ay,t.DIRECTION_VERTICAL=hy,t.DIRECTION_NONE=iy,t.DIRECTION_DOWN=sy,t.INPUT_START=Jg,t.INPUT_MOVE=2,t.INPUT_END=ty,t.INPUT_CANCEL=ey,t.STATE_POSSIBLE=1,t.STATE_BEGAN=2,t.STATE_CHANGED=4,t.STATE_ENDED=8,t.STATE_RECOGNIZED=8,t.STATE_CANCELLED=16,t.STATE_FAILED=Ky,t.Manager=cm,t.Input=My,t.TouchAction=vy,t.TouchInput=Ry,t.MouseInput=Wy,t.PointerEventInput=Fy,t.TouchMouseInput=Xy,t.SingleTouchInput=fm,t.Recognizer=Jy,t.AttrRecognizer=em,t.Tap=tm,t.Pan=nm,t.Swipe=om,t.Pinch=rm,t.Rotate=sm,t.Press=am,t.on=Cy,t.off=Sy,t.each=uy,t.merge=ym,t.extend=gm,t.bindFn=bm,t.assign=Dg,t.inherit=mm,t.bindFn=bm,t.prefixed=Ag,t.toArray=zy,t.inArray=Py,t.uniqueArray=Ay,t.splitStr=Oy,t.boolOrFn=fy,t.hasParent=gy,t.addEventListeners=Cy,t.removeEventListeners=Sy,t.defaults=Dg({},hm,{preset:lm}),t}();wm.defaults;var km=wm;function _m(t,e){var i=void 0!==Vu&&dh(t)||t["@@iterator"];if(!i){if(sf(t)||(i=function(t,e){var i;if(!t)return;if("string"==typeof t)return xm(t,e);var n=Zu(i=Object.prototype.toString.call(t)).call(i,8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Ua(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return xm(t,e)}(t))||e&&t&&"number"==typeof t.length){i&&(t=i);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}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 r,s=!0,a=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return s=t.done,t},e:function(t){a=!0,r=t},f:function(){try{s||null==i.return||i.return()}finally{if(a)throw r}}}}function xm(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}var Em=Vu("DELETE");function Om(t){for(var e,i=arguments.length,n=new Array(i>1?i-1:0),o=1;o<i;o++)n[o-1]=arguments[o];return Cm.apply(void 0,$u(e=[{},t]).call(e,n))}function Cm(){var t=Sm.apply(void 0,arguments);return Mm(t),t}function Sm(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];if(e.length<2)return e[0];var n;if(e.length>2)return Sm.apply(void 0,$u(n=[Cm(e[0],e[1])]).call(n,qu(Zu(e).call(e,2))));var o=e[0],r=e[1];if(o instanceof Date&&r instanceof Date)return o.setTime(r.getTime()),o;var s,a=_m(rf(r));try{for(a.s();!(s=a.n()).done;){var h=s.value;Object.prototype.propertyIsEnumerable.call(r,h)&&(r[h]===Em?delete o[h]:null===o[h]||null===r[h]||"object"!==du(o[h])||"object"!==du(r[h])||sf(o[h])||sf(r[h])?o[h]=Tm(r[h]):o[h]=Sm(o[h],r[h]))}}catch(t){a.e(t)}finally{a.f()}return o}function Tm(t){return sf(t)?ff(t).call(t,(function(t){return Tm(t)})):"object"===du(t)&&null!==t?t instanceof Date?new Date(t.getTime()):Sm({},t):t}function Mm(t){for(var e=0,i=gf(t);e<i.length;e++){var n=i[e];t[n]===Em?delete t[n]:"object"===du(t[n])&&null!==t[n]&&Mm(t[n])}}function Pm(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];return function(t){var e=function(){for(var t=function(){var t=4022871197;return function(e){for(var i=e.toString(),n=0;n<i.length;n++){var o=.02519603282416938*(t+=i.charCodeAt(n));o-=t=o>>>0,t=(o*=t)>>>0,t+=4294967296*(o-=t)}return 2.3283064365386963e-10*(t>>>0)}}(),e=t(" "),i=t(" "),n=t(" "),o=0;o<arguments.length;o++)(e-=t(o<0||arguments.length<=o?void 0:arguments[o]))<0&&(e+=1),(i-=t(o<0||arguments.length<=o?void 0:arguments[o]))<0&&(i+=1),(n-=t(o<0||arguments.length<=o?void 0:arguments[o]))<0&&(n+=1);return[e,i,n]}(t),i=Wu(e,3),n=i[0],o=i[1],r=i[2],s=1,a=function(){var t=2091639*n+2.3283064365386963e-10*s;return n=o,o=r,r=t-(s=0|t)};return a.uint32=function(){return 4294967296*a()},a.fract53=function(){return a()+11102230246251565e-32*(2097152*a()|0)},a.algorithm="Alea",a.seed=t,a.version="0.9",a}(e.length?e:[wf()])}var Dm="undefined"!=typeof window?window.Hammer||km:function(){return function(){var t=function(){};return{on:t,off:t,destroy:t,emit:t,get:function(){return{set:t}}}}()};function Im(t){var e,i=this;this._cleanupQueue=[],this.active=!1,this._dom={container:t,overlay:document.createElement("div")},this._dom.overlay.classList.add("vis-overlay"),this._dom.container.appendChild(this._dom.overlay),this._cleanupQueue.push((function(){i._dom.overlay.parentNode.removeChild(i._dom.overlay)}));var n=Dm(this._dom.overlay);n.on("tap",Ln(e=this._onTapOverlay).call(e,this)),this._cleanupQueue.push((function(){n.destroy()}));var o=["tap","doubletap","press","pinch","pan","panstart","panmove","panend"];Bf(o).call(o,(function(t){n.on(t,(function(t){t.srcEvent.stopPropagation()}))})),document&&document.body&&(this._onClick=function(e){(function(t,e){for(;t;){if(t===e)return!0;t=t.parentNode}return!1})(e.target,t)||i.deactivate()},document.body.addEventListener("click",this._onClick),this._cleanupQueue.push((function(){document.body.removeEventListener("click",i._onClick)}))),this._escListener=function(t){("key"in t?"Escape"===t.key:27===t.keyCode)&&i.deactivate()}}Gn(Im.prototype),Im.current=null,Im.prototype.destroy=function(){var t,e;this.deactivate();var i,n=_m(Vf(t=yp(e=this._cleanupQueue).call(e,0)).call(t));try{for(n.s();!(i=n.n()).done;){(0,i.value)()}}catch(t){n.e(t)}finally{n.f()}},Im.prototype.activate=function(){Im.current&&Im.current.deactivate(),Im.current=this,this.active=!0,this._dom.overlay.style.display="none",this._dom.container.classList.add("vis-active"),this.emit("change"),this.emit("activate"),document.body.addEventListener("keydown",this._escListener)},Im.prototype.deactivate=function(){this.active=!1,this._dom.overlay.style.display="block",this._dom.container.classList.remove("vis-active"),document.body.removeEventListener("keydown",this._escListener),this.emit("change"),this.emit("deactivate")},Im.prototype._onTapOverlay=function(t){this.activate(),t.srcEvent.stopPropagation()};var Bm=/^\/?Date\((-?\d+)/i,Nm=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,Fm=/^#?([a-f\d])([a-f\d])([a-f\d])$/i,zm=/^rgb\( *(1?\d{1,2}|2[0-4]\d|25[0-5]) *, *(1?\d{1,2}|2[0-4]\d|25[0-5]) *, *(1?\d{1,2}|2[0-4]\d|25[0-5]) *\)$/i,Am=/^rgba\( *(1?\d{1,2}|2[0-4]\d|25[0-5]) *, *(1?\d{1,2}|2[0-4]\d|25[0-5]) *, *(1?\d{1,2}|2[0-4]\d|25[0-5]) *, *([01]|0?\.\d+) *\)$/i;function jm(t){return t instanceof Number||"number"==typeof t}function Rm(t){if(t)for(;!0===t.hasChildNodes();){var e=t.firstChild;e&&(Rm(e),t.removeChild(e))}}function Lm(t){return t instanceof String||"string"==typeof t}function Hm(t){return"object"===du(t)&&null!==t}function Wm(t,e,i,n){var o=!1;!0===n&&(o=null===e[i]&&void 0!==t[i]),o?delete t[i]:t[i]=e[i]}function qm(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];for(var n in t)if(void 0!==e[n])if(null===e[n]||"object"!==du(e[n]))Wm(t,e,n,i);else{var o=t[n],r=e[n];Hm(o)&&Hm(r)&&qm(o,r,i)}}var Vm=mn;function Um(t,e,i){var n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(sf(i))throw new TypeError("Arrays are not supported by deepExtend");for(var o=0;o<t.length;o++){var r=t[o];if(Object.prototype.hasOwnProperty.call(i,r))if(i[r]&&i[r].constructor===Object)void 0===e[r]&&(e[r]={}),e[r].constructor===Object?Xm(e[r],i[r],!1,n):Wm(e,i,r,n);else{if(sf(i[r]))throw new TypeError("Arrays are not supported by deepExtend");Wm(e,i,r,n)}}return e}function Ym(t,e,i){var n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(sf(i))throw new TypeError("Arrays are not supported by deepExtend");for(var o in i)if(Object.prototype.hasOwnProperty.call(i,o)&&!Rp(t).call(t,o))if(i[o]&&i[o].constructor===Object)void 0===e[o]&&(e[o]={}),e[o].constructor===Object?Xm(e[o],i[o]):Wm(e,i,o,n);else if(sf(i[o])){e[o]=[];for(var r=0;r<i[o].length;r++)e[o].push(i[o][r])}else Wm(e,i,o,n);return e}function Xm(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)||!0===i)if("object"===du(e[o])&&null!==e[o]&&Vp(e[o])===Object.prototype)void 0===t[o]?t[o]=Xm({},e[o],i):"object"===du(t[o])&&null!==t[o]&&Vp(t[o])===Object.prototype?Xm(t[o],e[o],i):Wm(t,e,o,n);else if(sf(e[o])){var r;t[o]=Zu(r=e[o]).call(r)}else Wm(t,e,o,n);return t}function Gm(t,e){var i;return $u(i=[]).call(i,qu(t),[e])}function Km(t){return Zu(t).call(t)}function $m(t){return t.getBoundingClientRect().left}function Zm(t){return t.getBoundingClientRect().top}function Qm(t,e){if(sf(t))for(var i=t.length,n=0;n<i;n++)e(t[n],n,t);else for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e(t[o],o,t)}var Jm=av;function tb(t,e,i,n){var o;t.addEventListener?(void 0===n&&(n=!1),"mousewheel"===e&&Rp(o=navigator.userAgent).call(o,"Firefox")&&(e="DOMMouseScroll"),t.addEventListener(e,i,n)):t.attachEvent("on"+e,i)}function eb(t,e,i,n){var o;t.removeEventListener?(void 0===n&&(n=!1),"mousewheel"===e&&Rp(o=navigator.userAgent).call(o,"Firefox")&&(e="DOMMouseScroll"),t.removeEventListener(e,i,n)):t.detachEvent("on"+e,i)}var ib={asBoolean:function(t,e){return"function"==typeof t&&(t=t()),null!=t?0!=t:e||null},asNumber:function(t,e){return"function"==typeof t&&(t=t()),null!=t?Number(t)||e||null:e||null},asString:function(t,e){return"function"==typeof t&&(t=t()),null!=t?String(t):e||null},asSize:function(t,e){return"function"==typeof t&&(t=t()),Lm(t)?t:jm(t)?t+"px":e||null},asElement:function(t,e){return"function"==typeof t&&(t=t()),t||e||null}};function nb(t){var e;switch(t.length){case 3:case 4:return(e=Fm.exec(t))?{r:Mv(e[1]+e[1],16),g:Mv(e[2]+e[2],16),b:Mv(e[3]+e[3],16)}:null;case 6:case 7:return(e=Nm.exec(t))?{r:Mv(e[1],16),g:Mv(e[2],16),b:Mv(e[3],16)}:null;default:return null}}function ob(t,e){if(Rp(t).call(t,"rgba"))return t;if(Rp(t).call(t,"rgb")){var i=t.substr(Lv(t).call(t,"(")+1).replace(")","").split(",");return"rgba("+i[0]+","+i[1]+","+i[2]+","+e+")"}var n=nb(t);return null==n?t:"rgba("+n.r+","+n.g+","+n.b+","+e+")"}function rb(t,e,i){var n;return"#"+Zu(n=((1<<24)+(t<<16)+(e<<8)+i).toString(16)).call(n,1)}function sb(t,e){if(Lm(t)){var i=t;if(fb(i)){var n,o=ff(n=i.substr(4).substr(0,i.length-5).split(",")).call(n,(function(t){return Mv(t)}));i=rb(o[0],o[1],o[2])}if(!0===ub(i)){var r=cb(i),s={h:r.h,s:.8*r.s,v:Math.min(1,1.02*r.v)},a={h:r.h,s:Math.min(1,1.25*r.s),v:.8*r.v},h=db(a.h,a.s,a.v),l=db(s.h,s.s,s.v);return{background:i,border:h,highlight:{background:l,border:h},hover:{background:l,border:h}}}return{background:i,border:i,highlight:{background:i,border:i},hover:{background:i,border:i}}}return e?{background:t.background||e.background,border:t.border||e.border,highlight:Lm(t.highlight)?{border:t.highlight,background:t.highlight}:{background:t.highlight&&t.highlight.background||e.highlight.background,border:t.highlight&&t.highlight.border||e.highlight.border},hover:Lm(t.hover)?{border:t.hover,background:t.hover}:{border:t.hover&&t.hover.border||e.hover.border,background:t.hover&&t.hover.background||e.hover.background}}:{background:t.background||void 0,border:t.border||void 0,highlight:Lm(t.highlight)?{border:t.highlight,background:t.highlight}:{background:t.highlight&&t.highlight.background||void 0,border:t.highlight&&t.highlight.border||void 0},hover:Lm(t.hover)?{border:t.hover,background:t.hover}:{border:t.hover&&t.hover.border||void 0,background:t.hover&&t.hover.background||void 0}}}function ab(t,e,i){t/=255,e/=255,i/=255;var n=Math.min(t,Math.min(e,i)),o=Math.max(t,Math.max(e,i));return n===o?{h:0,s:0,v:n}:{h:60*((t===n?3:i===n?1:5)-(t===n?e-i:i===n?t-e:i-t)/(o-n))/360,s:(o-n)/o,v:o}}function hb(t){var e=document.createElement("div"),i={};e.style.cssText=t;for(var n=0;n<e.style.length;++n)i[e.style[n]]=e.style.getPropertyValue(e.style[n]);return i}function lb(t,e,i){var n,o,r,s=Math.floor(6*t),a=6*t-s,h=i*(1-e),l=i*(1-a*e),d=i*(1-(1-a)*e);switch(s%6){case 0:n=i,o=d,r=h;break;case 1:n=l,o=i,r=h;break;case 2:n=h,o=i,r=d;break;case 3:n=h,o=l,r=i;break;case 4:n=d,o=h,r=i;break;case 5:n=i,o=h,r=l}return{r:Math.floor(255*n),g:Math.floor(255*o),b:Math.floor(255*r)}}function db(t,e,i){var n=lb(t,e,i);return rb(n.r,n.g,n.b)}function cb(t){var e=nb(t);if(!e)throw new TypeError("'".concat(t,"' is not a valid color."));return ab(e.r,e.g,e.b)}function ub(t){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t)}function fb(t){return zm.test(t)}function pb(t){return Am.test(t)}function vb(t){if(null===t||"object"!==du(t))return null;if(t instanceof Element)return t;var e=Uv(t);for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&"object"==du(t[i])&&(e[i]=vb(t[i]));return e}function gb(t,e,i){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=function(t){return null!=t},r=function(t){return null!==t&&"object"===du(t)};if(!r(t))throw new Error("Parameter mergeTarget must be an object");if(!r(e))throw new Error("Parameter options must be an object");if(!o(i))throw new Error("Parameter option must have a value");if(!r(n))throw new Error("Parameter globalOptions must be an object");var s=e[i],a=r(n)&&!function(t){for(var e in t)if(Object.prototype.hasOwnProperty.call(t,e))return!1;return!0}(n)?n[i]:void 0,h=a?a.enabled:void 0;if(void 0!==s){if("boolean"==typeof s)return r(t[i])||(t[i]={}),void(t[i].enabled=s);if(null===s&&!r(t[i])){if(!o(a))return;t[i]=Uv(a)}if(r(s)){var l=!0;void 0!==s.enabled?l=s.enabled:void 0!==h&&(l=a.enabled),function(t,e,i){r(t[i])||(t[i]={});var n=e[i],o=t[i];for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(o[s]=n[s])}(t,e,i),t[i].enabled=l}}}var yb={linear:function(t){return t},easeInQuad:function(t){return t*t},easeOutQuad:function(t){return t*(2-t)},easeInOutQuad:function(t){return t<.5?2*t*t:(4-2*t)*t-1},easeInCubic:function(t){return t*t*t},easeOutCubic:function(t){return--t*t*t+1},easeInOutCubic:function(t){return t<.5?4*t*t*t:(t-1)*(2*t-2)*(2*t-2)+1},easeInQuart:function(t){return t*t*t*t},easeOutQuart:function(t){return 1- --t*t*t*t},easeInOutQuart:function(t){return t<.5?8*t*t*t*t:1-8*--t*t*t*t},easeInQuint:function(t){return t*t*t*t*t},easeOutQuint:function(t){return 1+--t*t*t*t*t},easeInOutQuint:function(t){return t<.5?16*t*t*t*t*t:1+16*--t*t*t*t*t}};function mb(t,e){var i;sf(e)||(e=[e]);var n,o=_m(t);try{for(o.s();!(n=o.n()).done;){var r=n.value;if(r){i=r[e[0]];for(var s=1;s<e.length;s++)i&&(i=i[e[s]]);if(void 0!==i)break}}}catch(t){o.e(t)}finally{o.f()}return i}var bb={black:"#000000",navy:"#000080",darkblue:"#00008B",mediumblue:"#0000CD",blue:"#0000FF",darkgreen:"#006400",green:"#008000",teal:"#008080",darkcyan:"#008B8B",deepskyblue:"#00BFFF",darkturquoise:"#00CED1",mediumspringgreen:"#00FA9A",lime:"#00FF00",springgreen:"#00FF7F",aqua:"#00FFFF",cyan:"#00FFFF",midnightblue:"#191970",dodgerblue:"#1E90FF",lightseagreen:"#20B2AA",forestgreen:"#228B22",seagreen:"#2E8B57",darkslategray:"#2F4F4F",limegreen:"#32CD32",mediumseagreen:"#3CB371",turquoise:"#40E0D0",royalblue:"#4169E1",steelblue:"#4682B4",darkslateblue:"#483D8B",mediumturquoise:"#48D1CC",indigo:"#4B0082",darkolivegreen:"#556B2F",cadetblue:"#5F9EA0",cornflowerblue:"#6495ED",mediumaquamarine:"#66CDAA",dimgray:"#696969",slateblue:"#6A5ACD",olivedrab:"#6B8E23",slategray:"#708090",lightslategray:"#778899",mediumslateblue:"#7B68EE",lawngreen:"#7CFC00",chartreuse:"#7FFF00",aquamarine:"#7FFFD4",maroon:"#800000",purple:"#800080",olive:"#808000",gray:"#808080",skyblue:"#87CEEB",lightskyblue:"#87CEFA",blueviolet:"#8A2BE2",darkred:"#8B0000",darkmagenta:"#8B008B",saddlebrown:"#8B4513",darkseagreen:"#8FBC8F",lightgreen:"#90EE90",mediumpurple:"#9370D8",darkviolet:"#9400D3",palegreen:"#98FB98",darkorchid:"#9932CC",yellowgreen:"#9ACD32",sienna:"#A0522D",brown:"#A52A2A",darkgray:"#A9A9A9",lightblue:"#ADD8E6",greenyellow:"#ADFF2F",paleturquoise:"#AFEEEE",lightsteelblue:"#B0C4DE",powderblue:"#B0E0E6",firebrick:"#B22222",darkgoldenrod:"#B8860B",mediumorchid:"#BA55D3",rosybrown:"#BC8F8F",darkkhaki:"#BDB76B",silver:"#C0C0C0",mediumvioletred:"#C71585",indianred:"#CD5C5C",peru:"#CD853F",chocolate:"#D2691E",tan:"#D2B48C",lightgrey:"#D3D3D3",palevioletred:"#D87093",thistle:"#D8BFD8",orchid:"#DA70D6",goldenrod:"#DAA520",crimson:"#DC143C",gainsboro:"#DCDCDC",plum:"#DDA0DD",burlywood:"#DEB887",lightcyan:"#E0FFFF",lavender:"#E6E6FA",darksalmon:"#E9967A",violet:"#EE82EE",palegoldenrod:"#EEE8AA",lightcoral:"#F08080",khaki:"#F0E68C",aliceblue:"#F0F8FF",honeydew:"#F0FFF0",azure:"#F0FFFF",sandybrown:"#F4A460",wheat:"#F5DEB3",beige:"#F5F5DC",whitesmoke:"#F5F5F5",mintcream:"#F5FFFA",ghostwhite:"#F8F8FF",salmon:"#FA8072",antiquewhite:"#FAEBD7",linen:"#FAF0E6",lightgoldenrodyellow:"#FAFAD2",oldlace:"#FDF5E6",red:"#FF0000",fuchsia:"#FF00FF",magenta:"#FF00FF",deeppink:"#FF1493",orangered:"#FF4500",tomato:"#FF6347",hotpink:"#FF69B4",coral:"#FF7F50",darkorange:"#FF8C00",lightsalmon:"#FFA07A",orange:"#FFA500",lightpink:"#FFB6C1",pink:"#FFC0CB",gold:"#FFD700",peachpuff:"#FFDAB9",navajowhite:"#FFDEAD",moccasin:"#FFE4B5",bisque:"#FFE4C4",mistyrose:"#FFE4E1",blanchedalmond:"#FFEBCD",papayawhip:"#FFEFD5",lavenderblush:"#FFF0F5",seashell:"#FFF5EE",cornsilk:"#FFF8DC",lemonchiffon:"#FFFACD",floralwhite:"#FFFAF0",snow:"#FFFAFA",yellow:"#FFFF00",lightyellow:"#FFFFE0",ivory:"#FFFFF0",white:"#FFFFFF"},wb=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;ch(this,t),this.pixelRatio=e,this.generated=!1,this.centerCoordinates={x:144.5,y:144.5},this.r=289*.49,this.color={r:255,g:255,b:255,a:1},this.hueCircle=void 0,this.initialColor={r:255,g:255,b:255,a:1},this.previousColor=void 0,this.applied=!1,this.updateCallback=function(){},this.closeCallback=function(){},this._create()}return pu(t,[{key:"insertTo",value:function(t){void 0!==this.hammer&&(this.hammer.destroy(),this.hammer=void 0),this.container=t,this.container.appendChild(this.frame),this._bindHammer(),this._setSize()}},{key:"setUpdateCallback",value:function(t){if("function"!=typeof t)throw new Error("Function attempted to set as colorPicker update callback is not a function.");this.updateCallback=t}},{key:"setCloseCallback",value:function(t){if("function"!=typeof t)throw new Error("Function attempted to set as colorPicker closing callback is not a function.");this.closeCallback=t}},{key:"_isColorString",value:function(t){if("string"==typeof t)return bb[t]}},{key:"setColor",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("none"!==t){var i,n=this._isColorString(t);if(void 0!==n&&(t=n),!0===Lm(t)){if(!0===fb(t)){var o=t.substr(4).substr(0,t.length-5).split(",");i={r:o[0],g:o[1],b:o[2],a:1}}else if(!0===pb(t)){var r=t.substr(5).substr(0,t.length-6).split(",");i={r:r[0],g:r[1],b:r[2],a:r[3]}}else if(!0===ub(t)){var s=nb(t);i={r:s.r,g:s.g,b:s.b,a:1}}}else if(t instanceof Object&&void 0!==t.r&&void 0!==t.g&&void 0!==t.b){var a=void 0!==t.a?t.a:"1.0";i={r:t.r,g:t.g,b:t.b,a:a}}if(void 0===i)throw new Error("Unknown color passed to the colorPicker. Supported are strings: rgb, hex, rgba. Object: rgb ({r:r,g:g,b:b,[a:a]}). Supplied: "+Kv(t));this._setColor(i,e)}}},{key:"show",value:function(){void 0!==this.closeCallback&&(this.closeCallback(),this.closeCallback=void 0),this.applied=!1,this.frame.style.display="block",this._generateHueCircle()}},{key:"_hide",value:function(){var t=this;!0===(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])&&(this.previousColor=mn({},this.color)),!0===this.applied&&this.updateCallback(this.initialColor),this.frame.style.display="none",vg((function(){void 0!==t.closeCallback&&(t.closeCallback(),t.closeCallback=void 0)}),0)}},{key:"_save",value:function(){this.updateCallback(this.color),this.applied=!1,this._hide()}},{key:"_apply",value:function(){this.applied=!0,this.updateCallback(this.color),this._updatePicker(this.color)}},{key:"_loadLast",value:function(){void 0!==this.previousColor?this.setColor(this.previousColor,!1):alert("There is no last color to load...")}},{key:"_setColor",value:function(t){!0===(!(arguments.length>1&&void 0!==arguments[1])||arguments[1])&&(this.initialColor=mn({},t)),this.color=t;var e=ab(t.r,t.g,t.b),i=2*Math.PI,n=this.r*e.s,o=this.centerCoordinates.x+n*Math.sin(i*e.h),r=this.centerCoordinates.y+n*Math.cos(i*e.h);this.colorPickerSelector.style.left=o-.5*this.colorPickerSelector.clientWidth+"px",this.colorPickerSelector.style.top=r-.5*this.colorPickerSelector.clientHeight+"px",this._updatePicker(t)}},{key:"_setOpacity",value:function(t){this.color.a=t/100,this._updatePicker(this.color)}},{key:"_setBrightness",value:function(t){var e=ab(this.color.r,this.color.g,this.color.b);e.v=t/100;var i=lb(e.h,e.s,e.v);i.a=this.color.a,this.color=i,this._updatePicker()}},{key:"_updatePicker",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.color,e=ab(t.r,t.g,t.b),i=this.colorPickerCanvas.getContext("2d");void 0===this.pixelRation&&(this.pixelRatio=(window.devicePixelRatio||1)/(i.webkitBackingStorePixelRatio||i.mozBackingStorePixelRatio||i.msBackingStorePixelRatio||i.oBackingStorePixelRatio||i.backingStorePixelRatio||1)),i.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var n=this.colorPickerCanvas.clientWidth,o=this.colorPickerCanvas.clientHeight;i.clearRect(0,0,n,o),i.putImageData(this.hueCircle,0,0),i.fillStyle="rgba(0,0,0,"+(1-e.v)+")",i.circle(this.centerCoordinates.x,this.centerCoordinates.y,this.r),Cg(i).call(i),this.brightnessRange.value=100*e.v,this.opacityRange.value=100*t.a,this.initialColorDiv.style.backgroundColor="rgba("+this.initialColor.r+","+this.initialColor.g+","+this.initialColor.b+","+this.initialColor.a+")",this.newColorDiv.style.backgroundColor="rgba("+this.color.r+","+this.color.g+","+this.color.b+","+this.color.a+")"}},{key:"_setSize",value:function(){this.colorPickerCanvas.style.width="100%",this.colorPickerCanvas.style.height="100%",this.colorPickerCanvas.width=289*this.pixelRatio,this.colorPickerCanvas.height=289*this.pixelRatio}},{key:"_create",value:function(){var t,e,i,n;if(this.frame=document.createElement("div"),this.frame.className="vis-color-picker",this.colorPickerDiv=document.createElement("div"),this.colorPickerSelector=document.createElement("div"),this.colorPickerSelector.className="vis-selector",this.colorPickerDiv.appendChild(this.colorPickerSelector),this.colorPickerCanvas=document.createElement("canvas"),this.colorPickerDiv.appendChild(this.colorPickerCanvas),this.colorPickerCanvas.getContext){var o=this.colorPickerCanvas.getContext("2d");this.pixelRatio=(window.devicePixelRatio||1)/(o.webkitBackingStorePixelRatio||o.mozBackingStorePixelRatio||o.msBackingStorePixelRatio||o.oBackingStorePixelRatio||o.backingStorePixelRatio||1),this.colorPickerCanvas.getContext("2d").setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}else{var r=document.createElement("DIV");r.style.color="red",r.style.fontWeight="bold",r.style.padding="10px",r.innerText="Error: your browser does not support HTML canvas",this.colorPickerCanvas.appendChild(r)}this.colorPickerDiv.className="vis-color",this.opacityDiv=document.createElement("div"),this.opacityDiv.className="vis-opacity",this.brightnessDiv=document.createElement("div"),this.brightnessDiv.className="vis-brightness",this.arrowDiv=document.createElement("div"),this.arrowDiv.className="vis-arrow",this.opacityRange=document.createElement("input");try{this.opacityRange.type="range",this.opacityRange.min="0",this.opacityRange.max="100"}catch(t){}this.opacityRange.value="100",this.opacityRange.className="vis-range",this.brightnessRange=document.createElement("input");try{this.brightnessRange.type="range",this.brightnessRange.min="0",this.brightnessRange.max="100"}catch(t){}this.brightnessRange.value="100",this.brightnessRange.className="vis-range",this.opacityDiv.appendChild(this.opacityRange),this.brightnessDiv.appendChild(this.brightnessRange);var s=this;this.opacityRange.onchange=function(){s._setOpacity(this.value)},this.opacityRange.oninput=function(){s._setOpacity(this.value)},this.brightnessRange.onchange=function(){s._setBrightness(this.value)},this.brightnessRange.oninput=function(){s._setBrightness(this.value)},this.brightnessLabel=document.createElement("div"),this.brightnessLabel.className="vis-label vis-brightness",this.brightnessLabel.innerText="brightness:",this.opacityLabel=document.createElement("div"),this.opacityLabel.className="vis-label vis-opacity",this.opacityLabel.innerText="opacity:",this.newColorDiv=document.createElement("div"),this.newColorDiv.className="vis-new-color",this.newColorDiv.innerText="new",this.initialColorDiv=document.createElement("div"),this.initialColorDiv.className="vis-initial-color",this.initialColorDiv.innerText="initial",this.cancelButton=document.createElement("div"),this.cancelButton.className="vis-button vis-cancel",this.cancelButton.innerText="cancel",this.cancelButton.onclick=Ln(t=this._hide).call(t,this,!1),this.applyButton=document.createElement("div"),this.applyButton.className="vis-button vis-apply",this.applyButton.innerText="apply",this.applyButton.onclick=Ln(e=this._apply).call(e,this),this.saveButton=document.createElement("div"),this.saveButton.className="vis-button vis-save",this.saveButton.innerText="save",this.saveButton.onclick=Ln(i=this._save).call(i,this),this.loadButton=document.createElement("div"),this.loadButton.className="vis-button vis-load",this.loadButton.innerText="load last",this.loadButton.onclick=Ln(n=this._loadLast).call(n,this),this.frame.appendChild(this.colorPickerDiv),this.frame.appendChild(this.arrowDiv),this.frame.appendChild(this.brightnessLabel),this.frame.appendChild(this.brightnessDiv),this.frame.appendChild(this.opacityLabel),this.frame.appendChild(this.opacityDiv),this.frame.appendChild(this.newColorDiv),this.frame.appendChild(this.initialColorDiv),this.frame.appendChild(this.cancelButton),this.frame.appendChild(this.applyButton),this.frame.appendChild(this.saveButton),this.frame.appendChild(this.loadButton)}},{key:"_bindHammer",value:function(){var t=this;this.drag={},this.pinch={},this.hammer=new Dm(this.colorPickerCanvas),this.hammer.get("pinch").set({enable:!0}),this.hammer.on("hammer.input",(function(e){e.isFirst&&t._moveSelector(e)})),this.hammer.on("tap",(function(e){t._moveSelector(e)})),this.hammer.on("panstart",(function(e){t._moveSelector(e)})),this.hammer.on("panmove",(function(e){t._moveSelector(e)})),this.hammer.on("panend",(function(e){t._moveSelector(e)}))}},{key:"_generateHueCircle",value:function(){if(!1===this.generated){var t=this.colorPickerCanvas.getContext("2d");void 0===this.pixelRation&&(this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)),t.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var e,i,n,o,r=this.colorPickerCanvas.clientWidth,s=this.colorPickerCanvas.clientHeight;t.clearRect(0,0,r,s),this.centerCoordinates={x:.5*r,y:.5*s},this.r=.49*r;var a,h=2*Math.PI/360,l=1/this.r;for(n=0;n<360;n++)for(o=0;o<this.r;o++)e=this.centerCoordinates.x+o*Math.sin(h*n),i=this.centerCoordinates.y+o*Math.cos(h*n),a=lb(.002777777777777778*n,o*l,1),t.fillStyle="rgb("+a.r+","+a.g+","+a.b+")",t.fillRect(e-.5,i-.5,2,2);t.strokeStyle="rgba(0,0,0,1)",t.circle(this.centerCoordinates.x,this.centerCoordinates.y,this.r),t.stroke(),this.hueCircle=t.getImageData(0,0,r,s)}this.generated=!0}},{key:"_moveSelector",value:function(t){var e=this.colorPickerDiv.getBoundingClientRect(),i=t.center.x-e.left,n=t.center.y-e.top,o=.5*this.colorPickerDiv.clientHeight,r=.5*this.colorPickerDiv.clientWidth,s=i-r,a=n-o,h=Math.atan2(s,a),l=.98*Math.min(Math.sqrt(s*s+a*a),r),d=Math.cos(h)*l+o,c=Math.sin(h)*l+r;this.colorPickerSelector.style.top=d-.5*this.colorPickerSelector.clientHeight+"px",this.colorPickerSelector.style.left=c-.5*this.colorPickerSelector.clientWidth+"px";var u=h/(2*Math.PI);u=u<0?u+1:u;var f=l/this.r,p=ab(this.color.r,this.color.g,this.color.b);p.h=u,p.s=f;var v=lb(p.h,p.s,p.v);v.a=this.color.a,this.color=v,this.initialColorDiv.style.backgroundColor="rgba("+this.initialColor.r+","+this.initialColor.g+","+this.initialColor.b+","+this.initialColor.a+")",this.newColorDiv.style.backgroundColor="rgba("+this.color.r+","+this.color.g+","+this.color.b+","+this.color.a+")"}}]),t}();function kb(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];if(e.length<1)throw new TypeError("Invalid arguments.");if(1===e.length)return document.createTextNode(e[0]);var n=document.createElement(e[0]);return n.appendChild(kb.apply(void 0,qu(Zu(e).call(e,1)))),n}var _b,xb=function(){function t(e,i,n){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:function(){return!1};ch(this,t),this.parent=e,this.changedOptions=[],this.container=i,this.allowCreation=!1,this.hideOption=r,this.options={},this.initialized=!1,this.popupCounter=0,this.defaultOptions={enabled:!1,filter:!0,container:void 0,showButton:!0},mn(this.options,this.defaultOptions),this.configureOptions=n,this.moduleOptions={},this.domElements=[],this.popupDiv={},this.popupLimit=5,this.popupHistory={},this.colorPicker=new wb(o),this.wrapper=void 0}return pu(t,[{key:"setOptions",value:function(t){if(void 0!==t){this.popupHistory={},this._removePopup();var e=!0;if("string"==typeof t)this.options.filter=t;else if(sf(t))this.options.filter=t.join();else if("object"===du(t)){if(null==t)throw new TypeError("options cannot be null");void 0!==t.container&&(this.options.container=t.container),void 0!==Zp(t)&&(this.options.filter=Zp(t)),void 0!==t.showButton&&(this.options.showButton=t.showButton),void 0!==t.enabled&&(e=t.enabled)}else"boolean"==typeof t?(this.options.filter=!0,e=t):"function"==typeof t&&(this.options.filter=t,e=!0);!1===Zp(this.options)&&(e=!1),this.options.enabled=e}this._clean()}},{key:"setModuleOptions",value:function(t){this.moduleOptions=t,!0===this.options.enabled&&(this._clean(),void 0!==this.options.container&&(this.container=this.options.container),this._create())}},{key:"_create",value:function(){this._clean(),this.changedOptions=[];var t=Zp(this.options),e=0,i=!1;for(var n in this.configureOptions)Object.prototype.hasOwnProperty.call(this.configureOptions,n)&&(this.allowCreation=!1,i=!1,"function"==typeof t?i=(i=t(n,[]))||this._handleObject(this.configureOptions[n],[n],!0):!0!==t&&-1===Lv(t).call(t,n)||(i=!0),!1!==i&&(this.allowCreation=!0,e>0&&this._makeItem([]),this._makeHeader(n),this._handleObject(this.configureOptions[n],[n])),e++);this._makeButton(),this._push()}},{key:"_push",value:function(){this.wrapper=document.createElement("div"),this.wrapper.className="vis-configuration-wrapper",this.container.appendChild(this.wrapper);for(var t=0;t<this.domElements.length;t++)this.wrapper.appendChild(this.domElements[t]);this._showPopupIfNeeded()}},{key:"_clean",value:function(){for(var t=0;t<this.domElements.length;t++)this.wrapper.removeChild(this.domElements[t]);void 0!==this.wrapper&&(this.container.removeChild(this.wrapper),this.wrapper=void 0),this.domElements=[],this._removePopup()}},{key:"_getValue",value:function(t){for(var e=this.moduleOptions,i=0;i<t.length;i++){if(void 0===e[t[i]]){e=void 0;break}e=e[t[i]]}return e}},{key:"_makeItem",value:function(t){if(!0===this.allowCreation){var e=document.createElement("div");e.className="vis-configuration vis-config-item vis-config-s"+t.length;for(var i=arguments.length,n=new Array(i>1?i-1:0),o=1;o<i;o++)n[o-1]=arguments[o];return Bf(n).call(n,(function(t){e.appendChild(t)})),this.domElements.push(e),this.domElements.length}return 0}},{key:"_makeHeader",value:function(t){var e=document.createElement("div");e.className="vis-configuration vis-config-header",e.innerText=t,this._makeItem([],e)}},{key:"_makeLabel",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=document.createElement("div");if(n.className="vis-configuration vis-config-label vis-config-s"+e.length,!0===i){for(;n.firstChild;)n.removeChild(n.firstChild);n.appendChild(kb("i","b",t))}else n.innerText=t+":";return n}},{key:"_makeDropdown",value:function(t,e,i){var n=document.createElement("select");n.className="vis-configuration vis-config-select";var o=0;void 0!==e&&-1!==Lv(t).call(t,e)&&(o=Lv(t).call(t,e));for(var r=0;r<t.length;r++){var s=document.createElement("option");s.value=t[r],r===o&&(s.selected="selected"),s.innerText=t[r],n.appendChild(s)}var a=this;n.onchange=function(){a._update(this.value,i)};var h=this._makeLabel(i[i.length-1],i);this._makeItem(i,h,n)}},{key:"_makeRange",value:function(t,e,i){var n=t[0],o=t[1],r=t[2],s=t[3],a=document.createElement("input");a.className="vis-configuration vis-config-range";try{a.type="range",a.min=o,a.max=r}catch(t){}a.step=s;var h="",l=0;if(void 0!==e){var d=1.2;e<0&&e*d<o?(a.min=Math.ceil(e*d),l=a.min,h="range increased"):e/d<o&&(a.min=Math.ceil(e/d),l=a.min,h="range increased"),e*d>r&&1!==r&&(a.max=Math.ceil(e*d),l=a.max,h="range increased"),a.value=e}else a.value=n;var c=document.createElement("input");c.className="vis-configuration vis-config-rangeinput",c.value=a.value;var u=this;a.onchange=function(){c.value=this.value,u._update(Number(this.value),i)},a.oninput=function(){c.value=this.value};var f=this._makeLabel(i[i.length-1],i),p=this._makeItem(i,f,a,c);""!==h&&this.popupHistory[p]!==l&&(this.popupHistory[p]=l,this._setupPopup(h,p))}},{key:"_makeButton",value:function(){var t=this;if(!0===this.options.showButton){var e=document.createElement("div");e.className="vis-configuration vis-config-button",e.innerText="generate options",e.onclick=function(){t._printOptions()},e.onmouseover=function(){e.className="vis-configuration vis-config-button hover"},e.onmouseout=function(){e.className="vis-configuration vis-config-button"},this.optionsContainer=document.createElement("div"),this.optionsContainer.className="vis-configuration vis-config-option-container",this.domElements.push(this.optionsContainer),this.domElements.push(e)}}},{key:"_setupPopup",value:function(t,e){var i=this;if(!0===this.initialized&&!0===this.allowCreation&&this.popupCounter<this.popupLimit){var n=document.createElement("div");n.id="vis-configuration-popup",n.className="vis-configuration-popup",n.innerText=t,n.onclick=function(){i._removePopup()},this.popupCounter+=1,this.popupDiv={html:n,index:e}}}},{key:"_removePopup",value:function(){void 0!==this.popupDiv.html&&(this.popupDiv.html.parentNode.removeChild(this.popupDiv.html),clearTimeout(this.popupDiv.hideTimeout),clearTimeout(this.popupDiv.deleteTimeout),this.popupDiv={})}},{key:"_showPopupIfNeeded",value:function(){var t=this;if(void 0!==this.popupDiv.html){var e=this.domElements[this.popupDiv.index].getBoundingClientRect();this.popupDiv.html.style.left=e.left+"px",this.popupDiv.html.style.top=e.top-30+"px",document.body.appendChild(this.popupDiv.html),this.popupDiv.hideTimeout=vg((function(){t.popupDiv.html.style.opacity=0}),1500),this.popupDiv.deleteTimeout=vg((function(){t._removePopup()}),1800)}}},{key:"_makeCheckbox",value:function(t,e,i){var n=document.createElement("input");n.type="checkbox",n.className="vis-configuration vis-config-checkbox",n.checked=t,void 0!==e&&(n.checked=e,e!==t&&("object"===du(t)?e!==t.enabled&&this.changedOptions.push({path:i,value:e}):this.changedOptions.push({path:i,value:e})));var o=this;n.onchange=function(){o._update(this.checked,i)};var r=this._makeLabel(i[i.length-1],i);this._makeItem(i,r,n)}},{key:"_makeTextInput",value:function(t,e,i){var n=document.createElement("input");n.type="text",n.className="vis-configuration vis-config-text",n.value=e,e!==t&&this.changedOptions.push({path:i,value:e});var o=this;n.onchange=function(){o._update(this.value,i)};var r=this._makeLabel(i[i.length-1],i);this._makeItem(i,r,n)}},{key:"_makeColorField",value:function(t,e,i){var n=this,o=t[1],r=document.createElement("div");"none"!==(e=void 0===e?o:e)?(r.className="vis-configuration vis-config-colorBlock",r.style.backgroundColor=e):r.className="vis-configuration vis-config-colorBlock none",e=void 0===e?o:e,r.onclick=function(){n._showColorPicker(e,r,i)};var s=this._makeLabel(i[i.length-1],i);this._makeItem(i,s,r)}},{key:"_showColorPicker",value:function(t,e,i){var n=this;e.onclick=function(){},this.colorPicker.insertTo(e),this.colorPicker.show(),this.colorPicker.setColor(t),this.colorPicker.setUpdateCallback((function(t){var o="rgba("+t.r+","+t.g+","+t.b+","+t.a+")";e.style.backgroundColor=o,n._update(o,i)})),this.colorPicker.setCloseCallback((function(){e.onclick=function(){n._showColorPicker(t,e,i)}}))}},{key:"_handleObject",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=!1,o=Zp(this.options),r=!1;for(var s in t)if(Object.prototype.hasOwnProperty.call(t,s)){n=!0;var a=t[s],h=Gm(e,s);if("function"==typeof o&&!1===(n=o(s,e))&&!sf(a)&&"string"!=typeof a&&"boolean"!=typeof a&&a instanceof Object&&(this.allowCreation=!1,n=this._handleObject(a,h,!0),this.allowCreation=!1===i),!1!==n){r=!0;var l=this._getValue(h);if(sf(a))this._handleArray(a,l,h);else if("string"==typeof a)this._makeTextInput(a,l,h);else if("boolean"==typeof a)this._makeCheckbox(a,l,h);else if(a instanceof Object){if(!this.hideOption(e,s,this.moduleOptions))if(void 0!==a.enabled){var d=Gm(h,"enabled"),c=this._getValue(d);if(!0===c){var u=this._makeLabel(s,h,!0);this._makeItem(h,u),r=this._handleObject(a,h)||r}else this._makeCheckbox(a,c,h)}else{var f=this._makeLabel(s,h,!0);this._makeItem(h,f),r=this._handleObject(a,h)||r}}else console.error("dont know how to handle",a,s,h)}}return r}},{key:"_handleArray",value:function(t,e,i){"string"==typeof t[0]&&"color"===t[0]?(this._makeColorField(t,e,i),t[1]!==e&&this.changedOptions.push({path:i,value:e})):"string"==typeof t[0]?(this._makeDropdown(t,e,i),t[0]!==e&&this.changedOptions.push({path:i,value:e})):"number"==typeof t[0]&&(this._makeRange(t,e,i),t[0]!==e&&this.changedOptions.push({path:i,value:Number(e)}))}},{key:"_update",value:function(t,e){var i=this._constructOptions(t,e);this.parent.body&&this.parent.body.emitter&&this.parent.body.emitter.emit&&this.parent.body.emitter.emit("configChange",i),this.initialized=!0,this.parent.setOptions(i)}},{key:"_constructOptions",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=i;t="false"!==(t="true"===t||t)&&t;for(var o=0;o<e.length;o++)"global"!==e[o]&&(void 0===n[e[o]]&&(n[e[o]]={}),o!==e.length-1?n=n[e[o]]:n[e[o]]=t);return i}},{key:"_printOptions",value:function(){for(var t=this.getOptions();this.optionsContainer.firstChild;)this.optionsContainer.removeChild(this.optionsContainer.firstChild);this.optionsContainer.appendChild(kb("pre","const options = "+Kv(t,null,2)))}},{key:"getOptions",value:function(){for(var t={},e=0;e<this.changedOptions.length;e++)this._constructOptions(this.changedOptions[e].value,this.changedOptions[e].path,t);return t}}]),t}(),Eb=function(){function t(e,i){ch(this,t),this.container=e,this.overflowMethod=i||"cap",this.x=0,this.y=0,this.padding=5,this.hidden=!1,this.frame=document.createElement("div"),this.frame.className="vis-tooltip",this.container.appendChild(this.frame)}return pu(t,[{key:"setPosition",value:function(t,e){this.x=Mv(t),this.y=Mv(e)}},{key:"setText",value:function(t){if(t instanceof Element){for(;this.frame.firstChild;)this.frame.removeChild(this.frame.firstChild);this.frame.appendChild(t)}else this.frame.innerText=t}},{key:"show",value:function(t){if(void 0===t&&(t=!0),!0===t){var e=this.frame.clientHeight,i=this.frame.clientWidth,n=this.frame.parentNode.clientHeight,o=this.frame.parentNode.clientWidth,r=0,s=0;if("flip"==this.overflowMethod){var a=!1,h=!0;this.y-e<this.padding&&(h=!1),this.x+i>o-this.padding&&(a=!0),r=a?this.x-i:this.x,s=h?this.y-e:this.y}else(s=this.y-e)+e+this.padding>n&&(s=n-e-this.padding),s<this.padding&&(s=this.padding),(r=this.x)+i+this.padding>o&&(r=o-i-this.padding),r<this.padding&&(r=this.padding);this.frame.style.left=r+"px",this.frame.style.top=s+"px",this.frame.style.visibility="visible",this.hidden=!1}else this.hide()}},{key:"hide",value:function(){this.hidden=!0,this.frame.style.left="0",this.frame.style.top="0",this.frame.style.visibility="hidden"}},{key:"destroy",value:function(){this.frame.parentNode.removeChild(this.frame)}}]),t}(),Ob=!1,Cb="background: #FFeeee; color: #dd0000",Sb=function(){function t(){ch(this,t)}return pu(t,null,[{key:"validate",value:function(e,i,n){Ob=!1,_b=i;var o=i;return void 0!==n&&(o=i[n]),t.parse(e,o,[]),Ob}},{key:"parse",value:function(e,i,n){for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.check(o,e,i,n)}},{key:"check",value:function(e,i,n,o){if(void 0!==n[e]||void 0!==n.__any__){var r=e,s=!0;void 0===n[e]&&void 0!==n.__any__&&(r="__any__",s="object"===t.getType(i[e]));var a=n[r];s&&void 0!==a.__type__&&(a=a.__type__),t.checkFields(e,i,n,r,a,o)}else t.getSuggestion(e,n,o)}},{key:"checkFields",value:function(e,i,n,o,r,s){var a=function(i){console.error("%c"+i+t.printLocation(s,e),Cb)},h=t.getType(i[e]),l=r[h];void 0!==l?"array"===t.getType(l)&&-1===Lv(l).call(l,i[e])?(a('Invalid option detected in "'+e+'". Allowed values are:'+t.print(l)+' not "'+i[e]+'". '),Ob=!0):"object"===h&&"__any__"!==o&&(s=Gm(s,e),t.parse(i[e],n[o],s)):void 0===r.any&&(a('Invalid type received for "'+e+'". Expected: '+t.print(gf(r))+". Received ["+h+'] "'+i[e]+'"'),Ob=!0)}},{key:"getType",value:function(t){var e=du(t);return"object"===e?null===t?"null":t instanceof Boolean?"boolean":t instanceof Number?"number":t instanceof String?"string":sf(t)?"array":t instanceof Date?"date":void 0!==t.nodeType?"dom":!0===t._isAMomentObject?"moment":"object":"number"===e?"number":"boolean"===e?"boolean":"string"===e?"string":void 0===e?"undefined":e}},{key:"getSuggestion",value:function(e,i,n){var o,r=t.findInOptions(e,i,n,!1),s=t.findInOptions(e,_b,[],!0);o=void 0!==r.indexMatch?" in "+t.printLocation(r.path,e,"")+'Perhaps it was incomplete? Did you mean: "'+r.indexMatch+'"?\n\n':s.distance<=4&&r.distance>s.distance?" in "+t.printLocation(r.path,e,"")+"Perhaps it was misplaced? Matching option found at: "+t.printLocation(s.path,s.closestMatch,""):r.distance<=8?'. Did you mean "'+r.closestMatch+'"?'+t.printLocation(r.path,e):". Did you mean one of these: "+t.print(gf(i))+t.printLocation(n,e),console.error('%cUnknown option detected: "'+e+'"'+o,Cb),Ob=!0}},{key:"findInOptions",value:function(e,i,n){var o=arguments.length>3&&void 0!==arguments[3]&&arguments[3],r=1e9,s="",a=[],h=e.toLowerCase(),l=void 0;for(var d in i){var c=void 0;if(void 0!==i[d].__type__&&!0===o){var u=t.findInOptions(e,i[d],Gm(n,d));r>u.distance&&(s=u.closestMatch,a=u.path,r=u.distance,l=u.indexMatch)}else{var f;-1!==Lv(f=d.toLowerCase()).call(f,h)&&(l=d),r>(c=t.levenshteinDistance(e,d))&&(s=d,a=Km(n),r=c)}}return{closestMatch:s,path:a,distance:r,indexMatch:l}}},{key:"printLocation",value:function(t,e){for(var i="\n\n"+(arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Problem value found at: \n")+"options = {\n",n=0;n<t.length;n++){for(var o=0;o<n+1;o++)i+=" ";i+=t[n]+": {\n"}for(var r=0;r<t.length+1;r++)i+=" ";i+=e+"\n";for(var s=0;s<t.length+1;s++){for(var a=0;a<t.length-s;a++)i+=" ";i+="}\n"}return i+"\n\n"}},{key:"print",value:function(t){return Kv(t).replace(/(")|(\[)|(\])|(,"__type__")/g,"").replace(/(,)/g,", ")}},{key:"levenshteinDistance",value:function(t,e){if(0===t.length)return e.length;if(0===e.length)return t.length;var i,n,o=[];for(i=0;i<=e.length;i++)o[i]=[i];for(n=0;n<=t.length;n++)o[0][n]=n;for(i=1;i<=e.length;i++)for(n=1;n<=t.length;n++)e.charAt(i-1)==t.charAt(n-1)?o[i][n]=o[i-1][n-1]:o[i][n]=Math.min(o[i-1][n-1]+1,Math.min(o[i][n-1]+1,o[i-1][n]+1));return o[e.length][t.length]}}]),t}(),Tb=Im,Mb=wb,Pb=xb,Db=Dm,Ib=Eb,Bb=Cb,Nb=Sb,Fb=Object.freeze({__proto__:null,Activator:Tb,Alea:Pm,ColorPicker:Mb,Configurator:Pb,DELETE:Em,HSVToHex:db,HSVToRGB:lb,Hammer:Db,Popup:Ib,RGBToHSV:ab,RGBToHex:rb,VALIDATOR_PRINT_STYLE:Bb,Validator:Nb,addClassName:function(t,e){var i=t.className.split(" "),n=e.split(" ");i=$u(i).call(i,Zp(n).call(n,(function(t){return!Rp(i).call(i,t)}))),t.className=i.join(" ")},addCssText:function(t,e){for(var i=hb(e),n=0,o=Wv(i);n<o.length;n++){var r=Wu(o[n],2),s=r[0],a=r[1];t.style.setProperty(s,a)}},addEventListener:tb,binarySearchCustom:function(t,e,i,n){for(var o=0,r=0,s=t.length-1;r<=s&&o<1e4;){var a=Math.floor((r+s)/2),h=t[a],l=e(void 0===n?h[i]:h[i][n]);if(0==l)return a;-1==l?r=a+1:s=a-1,o++}return-1},binarySearchValue:function(t,e,i,n,o){var r,s,a,h,l=0,d=0,c=t.length-1;for(o=null!=o?o:function(t,e){return t==e?0:t<e?-1:1};d<=c&&l<1e4;){if(h=Math.floor(.5*(c+d)),r=t[Math.max(0,h-1)][i],s=t[h][i],a=t[Math.min(t.length-1,h+1)][i],0==o(s,e))return h;if(o(r,e)<0&&o(s,e)>0)return"before"==n?Math.max(0,h-1):h;if(o(s,e)<0&&o(a,e)>0)return"before"==n?h:Math.min(t.length-1,h+1);o(s,e)<0?d=h+1:c=h-1,l++}return-1},bridgeObject:vb,copyAndExtendArray:Gm,copyArray:Km,deepExtend:Xm,deepObjectAssign:Cm,easingFunctions:yb,equalArray:function(t,e){if(t.length!==e.length)return!1;for(var i=0,n=t.length;i<n;i++)if(t[i]!=e[i])return!1;return!0},extend:Vm,fillIfDefined:qm,forEach:Qm,getAbsoluteLeft:$m,getAbsoluteRight:function(t){return t.getBoundingClientRect().right},getAbsoluteTop:Zm,getScrollBarWidth:function(){var t=document.createElement("p");t.style.width="100%",t.style.height="200px";var e=document.createElement("div");e.style.position="absolute",e.style.top="0px",e.style.left="0px",e.style.visibility="hidden",e.style.width="200px",e.style.height="150px",e.style.overflow="hidden",e.appendChild(t),document.body.appendChild(e);var i=t.offsetWidth;e.style.overflow="scroll";var n=t.offsetWidth;return i==n&&(n=e.clientWidth),document.body.removeChild(e),i-n},getTarget:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.event,e=null;return t&&(t.target?e=t.target:t.srcElement&&(e=t.srcElement)),e instanceof Element&&(null==e.nodeType||3!=e.nodeType||(e=e.parentNode)instanceof Element)?e:null},getType:function(t){var e=du(t);return"object"===e?null===t?"null":t instanceof Boolean?"Boolean":t instanceof Number?"Number":t instanceof String?"String":sf(t)?"Array":t instanceof Date?"Date":"Object":"number"===e?"Number":"boolean"===e?"Boolean":"string"===e?"String":void 0===e?"undefined":e},hasParent:function(t,e){for(var i=t;i;){if(i===e)return!0;if(!i.parentNode)return!1;i=i.parentNode}return!1},hexToHSV:cb,hexToRGB:nb,insertSort:function(t,e){for(var i=0;i<t.length;i++){var n=t[i],o=void 0;for(o=i;o>0&&e(n,t[o-1])<0;o--)t[o]=t[o-1];t[o]=n}return t},isDate:function(t){if(t instanceof Date)return!0;if(Lm(t)){if(Bm.exec(t))return!0;if(!isNaN(Date.parse(t)))return!0}return!1},isNumber:jm,isObject:Hm,isString:Lm,isValidHex:ub,isValidRGB:fb,isValidRGBA:pb,mergeOptions:gb,option:ib,overrideOpacity:ob,parseColor:sb,preventDefault:function(t){t||(t=window.event),t&&(t.preventDefault?t.preventDefault():t.returnValue=!1)},pureDeepObjectAssign:Om,recursiveDOMDelete:Rm,removeClassName:function(t,e){var i=t.className.split(" "),n=e.split(" ");i=Zp(i).call(i,(function(t){return!Rp(n).call(n,t)})),t.className=i.join(" ")},removeCssText:function(t,e){for(var i=hb(e),n=0,o=gf(i);n<o.length;n++){var r=o[n];t.style.removeProperty(r)}},removeEventListener:eb,selectiveBridgeObject:function(t,e){if(null!==e&&"object"===du(e)){for(var i=Uv(e),n=0;n<t.length;n++)Object.prototype.hasOwnProperty.call(e,t[n])&&"object"==du(e[t[n]])&&(i[t[n]]=vb(e[t[n]]));return i}return null},selectiveDeepExtend:Um,selectiveExtend:function(t,e){if(!sf(t))throw new Error("Array with property names expected as first argument");for(var i=arguments.length,n=new Array(i>2?i-2:0),o=2;o<i;o++)n[o-2]=arguments[o];for(var r=0,s=n;r<s.length;r++)for(var a=s[r],h=0;h<t.length;h++){var l=t[h];a&&Object.prototype.hasOwnProperty.call(a,l)&&(e[l]=a[l])}return e},selectiveNotDeepExtend:Ym,throttle:function(t){var e=!1;return function(){e||(e=!0,requestAnimationFrame((function(){e=!1,t()})))}},toArray:Jm,topMost:mb,updateProperty:function(t,e,i){return t[e]!==i&&(t[e]=i,!0)}});function zb(t){return Hb=t,function(){var t={};Wb=0,void(qb=Hb.charAt(0)),tw(),"strict"===Vb&&(t.strict=!0,tw());"graph"!==Vb&&"digraph"!==Vb||(t.type=Vb,tw());Ub===Rb.IDENTIFIER&&(t.id=Vb,tw());if("{"!=Vb)throw sw("Angle bracket { expected");if(tw(),ew(t),"}"!=Vb)throw sw("Angle bracket } expected");if(tw(),""!==Vb)throw sw("End of file expected");return tw(),delete t.node,delete t.edge,delete t.graph,t}()}var Ab={fontsize:"font.size",fontcolor:"font.color",labelfontcolor:"font.color",fontname:"font.face",color:["color.border","color.background"],fillcolor:"color.background",tooltip:"title",labeltooltip:"title"},jb=Uv(Ab);jb.color="color.color",jb.style="dashes";var Rb={NULL:0,DELIMITER:1,IDENTIFIER:2,UNKNOWN:3},Lb={"{":!0,"}":!0,"[":!0,"]":!0,";":!0,"=":!0,",":!0,"->":!0,"--":!0},Hb="",Wb=0,qb="",Vb="",Ub=Rb.NULL;function Yb(){Wb++,qb=Hb.charAt(Wb)}function Xb(){return Hb.charAt(Wb+1)}function Gb(t){var e=t.charCodeAt(0);return e<47?35===e||46===e:e<59?e>47:e<91?e>64:e<96?95===e:e<123&&e>96}function Kb(t,e){if(t||(t={}),e)for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);return t}function $b(t,e,i){for(var n=e.split("."),o=t;n.length;){var r=n.shift();n.length?(o[r]||(o[r]={}),o=o[r]):o[r]=i}}function Zb(t,e){for(var i,n,o=null,r=[t],s=t;s.parent;)r.push(s.parent),s=s.parent;if(s.nodes)for(i=0,n=s.nodes.length;i<n;i++)if(e.id===s.nodes[i].id){o=s.nodes[i];break}for(o||(o={id:e.id},t.node&&(o.attr=Kb(o.attr,t.node))),i=r.length-1;i>=0;i--){var a,h=r[i];h.nodes||(h.nodes=[]),-1===Lv(a=h.nodes).call(a,o)&&h.nodes.push(o)}e.attr&&(o.attr=Kb(o.attr,e.attr))}function Qb(t,e){if(t.edges||(t.edges=[]),t.edges.push(e),t.edge){var i=Kb({},t.edge);e.attr=Kb(i,e.attr)}}function Jb(t,e,i,n,o){var r={from:e,to:i,type:n};return t.edge&&(r.attr=Kb({},t.edge)),r.attr=Kb(r.attr||{},o),null!=o&&o.hasOwnProperty("arrows")&&null!=o.arrows&&(r.arrows={to:{enabled:!0,type:o.arrows.type}},o.arrows=null),r}function tw(){for(Ub=Rb.NULL,Vb="";" "===qb||"\t"===qb||"\n"===qb||"\r"===qb;)Yb();do{var t=!1;if("#"===qb){for(var e=Wb-1;" "===Hb.charAt(e)||"\t"===Hb.charAt(e);)e--;if("\n"===Hb.charAt(e)||""===Hb.charAt(e)){for(;""!=qb&&"\n"!=qb;)Yb();t=!0}}if("/"===qb&&"/"===Xb()){for(;""!=qb&&"\n"!=qb;)Yb();t=!0}if("/"===qb&&"*"===Xb()){for(;""!=qb;){if("*"===qb&&"/"===Xb()){Yb(),Yb();break}Yb()}t=!0}for(;" "===qb||"\t"===qb||"\n"===qb||"\r"===qb;)Yb()}while(t);if(""!==qb){var i=qb+Xb();if(Lb[i])return Ub=Rb.DELIMITER,Vb=i,Yb(),void Yb();if(Lb[qb])return Ub=Rb.DELIMITER,Vb=qb,void Yb();if(Gb(qb)||"-"===qb){for(Vb+=qb,Yb();Gb(qb);)Vb+=qb,Yb();return"false"===Vb?Vb=!1:"true"===Vb?Vb=!0:isNaN(Number(Vb))||(Vb=Number(Vb)),void(Ub=Rb.IDENTIFIER)}if('"'===qb){for(Yb();""!=qb&&('"'!=qb||'"'===qb&&'"'===Xb());)'"'===qb?(Vb+=qb,Yb()):"\\"===qb&&"n"===Xb()?(Vb+="\n",Yb()):Vb+=qb,Yb();if('"'!=qb)throw sw('End of string " expected');return Yb(),void(Ub=Rb.IDENTIFIER)}for(Ub=Rb.UNKNOWN;""!=qb;)Vb+=qb,Yb();throw new SyntaxError('Syntax error in part "'+aw(Vb,30)+'"')}Ub=Rb.DELIMITER}function ew(t){for(;""!==Vb&&"}"!=Vb;)iw(t),";"===Vb&&tw()}function iw(t){var e=nw(t);if(e)ow(t,e);else{var i=function(t){if("node"===Vb)return tw(),t.node=rw(),"node";if("edge"===Vb)return tw(),t.edge=rw(),"edge";if("graph"===Vb)return tw(),t.graph=rw(),"graph";return null}(t);if(!i){if(Ub!=Rb.IDENTIFIER)throw sw("Identifier expected");var n=Vb;if(tw(),"="===Vb){if(tw(),Ub!=Rb.IDENTIFIER)throw sw("Identifier expected");t[n]=Vb,tw()}else!function(t,e){var i={id:e},n=rw();n&&(i.attr=n);Zb(t,i),ow(t,e)}(t,n)}}}function nw(t){var e=null;if("subgraph"===Vb&&((e={}).type="subgraph",tw(),Ub===Rb.IDENTIFIER&&(e.id=Vb,tw())),"{"===Vb){if(tw(),e||(e={}),e.parent=t,e.node=t.node,e.edge=t.edge,e.graph=t.graph,ew(e),"}"!=Vb)throw sw("Angle bracket } expected");tw(),delete e.node,delete e.edge,delete e.graph,delete e.parent,t.subgraphs||(t.subgraphs=[]),t.subgraphs.push(e)}return e}function ow(t,e){for(;"->"===Vb||"--"===Vb;){var i,n=Vb;tw();var o=nw(t);if(o)i=o;else{if(Ub!=Rb.IDENTIFIER)throw sw("Identifier or subgraph expected");Zb(t,{id:i=Vb}),tw()}Qb(t,Jb(t,e,i,n,rw())),e=i}}function rw(){for(var t,e,i=null,n={dashed:!0,solid:!1,dotted:[1,5]},o={dot:"circle",box:"box",crow:"crow",curve:"curve",icurve:"inv_curve",normal:"triangle",inv:"inv_triangle",diamond:"diamond",tee:"bar",vee:"vee"},r=new Array,s=new Array;"["===Vb;){for(tw(),i={};""!==Vb&&"]"!=Vb;){if(Ub!=Rb.IDENTIFIER)throw sw("Attribute name expected");var a=Vb;if(tw(),"="!=Vb)throw sw("Equal sign = expected");if(tw(),Ub!=Rb.IDENTIFIER)throw sw("Attribute value expected");var h=Vb;"style"===a&&(h=n[h]),"arrowhead"===a&&(a="arrows",h={to:{enabled:!0,type:o[h]}}),"arrowtail"===a&&(a="arrows",h={from:{enabled:!0,type:o[h]}}),r.push({attr:i,name:a,value:h}),s.push(a),tw(),","==Vb&&tw()}if("]"!=Vb)throw sw("Bracket ] expected");tw()}if(Rp(s).call(s,"dir")){var l={arrows:{}};for(t=0;t<r.length;t++)if("arrows"===r[t].name)if(null!=r[t].value.to)l.arrows.to=t;else{if(null==r[t].value.from)throw sw("Invalid value of arrows");l.arrows.from=t}else"dir"===r[t].name&&(l.dir=t);var d,c,u=r[l.dir].value;if(!Rp(s).call(s,"arrows"))if("both"===u)r.push({attr:r[l.dir].attr,name:"arrows",value:{to:{enabled:!0}}}),l.arrows.to=r.length-1,r.push({attr:r[l.dir].attr,name:"arrows",value:{from:{enabled:!0}}}),l.arrows.from=r.length-1;else if("forward"===u)r.push({attr:r[l.dir].attr,name:"arrows",value:{to:{enabled:!0}}}),l.arrows.to=r.length-1;else if("back"===u)r.push({attr:r[l.dir].attr,name:"arrows",value:{from:{enabled:!0}}}),l.arrows.from=r.length-1;else{if("none"!==u)throw sw('Invalid dir type "'+u+'"');r.push({attr:r[l.dir].attr,name:"arrows",value:""}),l.arrows.to=r.length-1}if("both"===u)l.arrows.to&&l.arrows.from?(c=r[l.arrows.to].value.to.type,d=r[l.arrows.from].value.from.type,r[l.arrows.to]={attr:r[l.arrows.to].attr,name:r[l.arrows.to].name,value:{to:{enabled:!0,type:c},from:{enabled:!0,type:d}}},yp(r).call(r,l.arrows.from,1)):l.arrows.to?(c=r[l.arrows.to].value.to.type,d="arrow",r[l.arrows.to]={attr:r[l.arrows.to].attr,name:r[l.arrows.to].name,value:{to:{enabled:!0,type:c},from:{enabled:!0,type:d}}}):l.arrows.from&&(c="arrow",d=r[l.arrows.from].value.from.type,r[l.arrows.from]={attr:r[l.arrows.from].attr,name:r[l.arrows.from].name,value:{to:{enabled:!0,type:c},from:{enabled:!0,type:d}}});else if("back"===u)l.arrows.to&&l.arrows.from?(c="",d=r[l.arrows.from].value.from.type,r[l.arrows.from]={attr:r[l.arrows.from].attr,name:r[l.arrows.from].name,value:{to:{enabled:!0,type:c},from:{enabled:!0,type:d}}}):l.arrows.to?(c="",d="arrow",l.arrows.from=l.arrows.to,r[l.arrows.from]={attr:r[l.arrows.from].attr,name:r[l.arrows.from].name,value:{to:{enabled:!0,type:c},from:{enabled:!0,type:d}}}):l.arrows.from&&(c="",d=r[l.arrows.from].value.from.type,r[l.arrows.to]={attr:r[l.arrows.from].attr,name:r[l.arrows.from].name,value:{to:{enabled:!0,type:c},from:{enabled:!0,type:d}}}),r[l.arrows.from]={attr:r[l.arrows.from].attr,name:r[l.arrows.from].name,value:{from:{enabled:!0,type:r[l.arrows.from].value.from.type}}};else if("none"===u){var f;r[f=l.arrows.to?l.arrows.to:l.arrows.from]={attr:r[f].attr,name:r[f].name,value:""}}else{if("forward"!==u)throw sw('Invalid dir type "'+u+'"');l.arrows.to&&l.arrows.from||l.arrows.to?(c=r[l.arrows.to].value.to.type,d="",r[l.arrows.to]={attr:r[l.arrows.to].attr,name:r[l.arrows.to].name,value:{to:{enabled:!0,type:c},from:{enabled:!0,type:d}}}):l.arrows.from&&(c="arrow",d="",l.arrows.to=l.arrows.from,r[l.arrows.to]={attr:r[l.arrows.to].attr,name:r[l.arrows.to].name,value:{to:{enabled:!0,type:c},from:{enabled:!0,type:d}}}),r[l.arrows.to]={attr:r[l.arrows.to].attr,name:r[l.arrows.to].name,value:{to:{enabled:!0,type:r[l.arrows.to].value.to.type}}}}yp(r).call(r,l.dir,1)}if(Rp(s).call(s,"penwidth")){var p=[];for(e=r.length,t=0;t<e;t++)"width"!==r[t].name&&("penwidth"===r[t].name&&(r[t].name="width"),p.push(r[t]));r=p}for(e=r.length,t=0;t<e;t++)$b(r[t].attr,r[t].name,r[t].value);return i}function sw(t){return new SyntaxError(t+', got "'+aw(Vb,30)+'" (char '+Wb+")")}function aw(t,e){return t.length<=e?t:t.substr(0,27)+"..."}function hw(t,e,i){for(var n=e.split("."),o=n.pop(),r=t,s=0;s<n.length;s++){var a=n[s];a in r||(r[a]={}),r=r[a]}return r[o]=i,t}function lw(t,e){var i={};for(var n in t)if(t.hasOwnProperty(n)){var o=e[n];sf(o)?Bf(o).call(o,(function(e){hw(i,e,t[n])})):hw(i,"string"==typeof o?o:n,t[n])}return i}function dw(t){var e,i=zb(t),n={nodes:[],edges:[],options:{}};i.nodes&&Bf(e=i.nodes).call(e,(function(t){var e={id:t.id,label:String(t.label||t.id)};Kb(e,lw(t.attr,Ab)),e.image&&(e.shape="image"),n.nodes.push(e)}));if(i.edges){var o,r=function(t){var e={from:t.from,to:t.to};return Kb(e,lw(t.attr,jb)),null==e.arrows&&"->"===t.type&&(e.arrows="to"),e};Bf(o=i.edges).call(o,(function(t){var e,i,o,s,a,h,l;(e=t.from instanceof Object?t.from.nodes:{id:t.from},i=t.to instanceof Object?t.to.nodes:{id:t.to},t.from instanceof Object&&t.from.edges)&&Bf(o=t.from.edges).call(o,(function(t){var e=r(t);n.edges.push(e)}));(a=i,h=function(e,i){var o=Jb(n,e.id,i.id,t.type,t.attr),s=r(o);n.edges.push(s)},sf(s=e)?Bf(s).call(s,(function(t){sf(a)?Bf(a).call(a,(function(e){h(t,e)})):h(t,a)})):sf(a)?Bf(a).call(a,(function(t){h(s,t)})):h(s,a),t.to instanceof Object&&t.to.edges)&&Bf(l=t.to.edges).call(l,(function(t){var e=r(t);n.edges.push(e)}))}))}return i.attr&&(n.options=i.attr),n}var cw=Object.freeze({__proto__:null,DOTToGraph:dw,parseDOT:zb});function uw(t,e){var i,n={edges:{inheritColor:!1},nodes:{fixed:!1,parseColor:!1}};null!=e&&(null!=e.fixed&&(n.nodes.fixed=e.fixed),null!=e.parseColor&&(n.nodes.parseColor=e.parseColor),null!=e.inheritColor&&(n.edges.inheritColor=e.inheritColor));var o=t.edges,r=ff(o).call(o,(function(t){var e={from:t.source,id:t.id,to:t.target};return null!=t.attributes&&(e.attributes=t.attributes),null!=t.label&&(e.label=t.label),null!=t.attributes&&null!=t.attributes.title&&(e.title=t.attributes.title),"Directed"===t.type&&(e.arrows="to"),t.color&&!1===n.edges.inheritColor&&(e.color=t.color),e}));return{nodes:ff(i=t.nodes).call(i,(function(t){var e={id:t.id,fixed:n.nodes.fixed&&null!=t.x&&null!=t.y};return null!=t.attributes&&(e.attributes=t.attributes),null!=t.label&&(e.label=t.label),null!=t.size&&(e.size=t.size),null!=t.attributes&&null!=t.attributes.title&&(e.title=t.attributes.title),null!=t.title&&(e.title=t.title),null!=t.x&&(e.x=t.x),null!=t.y&&(e.y=t.y),null!=t.color&&(!0===n.nodes.parseColor?e.color=t.color:e.color={background:t.color,border:t.color,highlight:{background:t.color,border:t.color},hover:{background:t.color,border:t.color}}),e})),edges:r}}var fw=Object.freeze({__proto__:null,parseGephi:uw}),pw=Object.freeze({__proto__:null,cn:{addDescription:"单击空白处放置新节点。",addEdge:"添加连接线",addNode:"添加节点",back:"返回",close:"關閉",createEdgeError:"无法将连接线连接到群集。",del:"删除选定",deleteClusterError:"无法删除群集。",edgeDescription:"单击某个节点并将该连接线拖动到另一个节点以连接它们。",edit:"编辑",editClusterError:"无法编辑群集。",editEdge:"编辑连接线",editEdgeDescription:"单击控制节点并将它们拖到节点上连接。",editNode:"编辑节点"},cs:{addDescription:"Kluknutím do prázdného prostoru můžete přidat nový vrchol.",addEdge:"Přidat hranu",addNode:"Přidat vrchol",back:"Zpět",close:"Zavřít",createEdgeError:"Nelze připojit hranu ke shluku.",del:"Smazat výběr",deleteClusterError:"Nelze mazat shluky.",edgeDescription:"Přetažením z jednoho vrcholu do druhého můžete spojit tyto vrcholy novou hranou.",edit:"Upravit",editClusterError:"Nelze upravovat shluky.",editEdge:"Upravit hranu",editEdgeDescription:"Přetažením kontrolního vrcholu hrany ji můžete připojit k jinému vrcholu.",editNode:"Upravit vrchol"},de:{addDescription:"Klicke auf eine freie Stelle, um einen neuen Knoten zu plazieren.",addEdge:"Kante hinzufügen",addNode:"Knoten hinzufügen",back:"Zurück",close:"Schließen",createEdgeError:"Es ist nicht möglich, Kanten mit Clustern zu verbinden.",del:"Lösche Auswahl",deleteClusterError:"Cluster können nicht gelöscht werden.",edgeDescription:"Klicke auf einen Knoten und ziehe die Kante zu einem anderen Knoten, um diese zu verbinden.",edit:"Editieren",editClusterError:"Cluster können nicht editiert werden.",editEdge:"Kante editieren",editEdgeDescription:"Klicke auf die Verbindungspunkte und ziehe diese auf einen Knoten, um sie zu verbinden.",editNode:"Knoten editieren"},en:{addDescription:"Click in an empty space to place a new node.",addEdge:"Add Edge",addNode:"Add Node",back:"Back",close:"Close",createEdgeError:"Cannot link edges to a cluster.",del:"Delete selected",deleteClusterError:"Clusters cannot be deleted.",edgeDescription:"Click on a node and drag the edge to another node to connect them.",edit:"Edit",editClusterError:"Clusters cannot be edited.",editEdge:"Edit Edge",editEdgeDescription:"Click on the control points and drag them to a node to connect to it.",editNode:"Edit Node"},es:{addDescription:"Haga clic en un lugar vacío para colocar un nuevo nodo.",addEdge:"Añadir arista",addNode:"Añadir nodo",back:"Atrás",close:"Cerrar",createEdgeError:"No se puede conectar una arista a un grupo.",del:"Eliminar selección",deleteClusterError:"No es posible eliminar grupos.",edgeDescription:"Haga clic en un nodo y arrastre la arista hacia otro nodo para conectarlos.",edit:"Editar",editClusterError:"No es posible editar grupos.",editEdge:"Editar arista",editEdgeDescription:"Haga clic en un punto de control y arrastrelo a un nodo para conectarlo.",editNode:"Editar nodo"},fr:{addDescription:"Cliquez dans un endroit vide pour placer un nœud.",addEdge:"Ajouter un lien",addNode:"Ajouter un nœud",back:"Retour",close:"Fermer",createEdgeError:"Impossible de créer un lien vers un cluster.",del:"Effacer la sélection",deleteClusterError:"Les clusters ne peuvent pas être effacés.",edgeDescription:"Cliquez sur un nœud et glissez le lien vers un autre nœud pour les connecter.",edit:"Éditer",editClusterError:"Les clusters ne peuvent pas être édités.",editEdge:"Éditer le lien",editEdgeDescription:"Cliquez sur les points de contrôle et glissez-les pour connecter un nœud.",editNode:"Éditer le nœud"},it:{addDescription:"Clicca per aggiungere un nuovo nodo",addEdge:"Aggiungi un vertice",addNode:"Aggiungi un nodo",back:"Indietro",close:"Chiudere",createEdgeError:"Non si possono collegare vertici ad un cluster",del:"Cancella la selezione",deleteClusterError:"I cluster non possono essere cancellati",edgeDescription:"Clicca su un nodo e trascinalo ad un altro nodo per connetterli.",edit:"Modifica",editClusterError:"I clusters non possono essere modificati.",editEdge:"Modifica il vertice",editEdgeDescription:"Clicca sui Punti di controllo e trascinali ad un nodo per connetterli.",editNode:"Modifica il nodo"},nl:{addDescription:"Klik op een leeg gebied om een nieuwe node te maken.",addEdge:"Link toevoegen",addNode:"Node toevoegen",back:"Terug",close:"Sluiten",createEdgeError:"Kan geen link maken naar een cluster.",del:"Selectie verwijderen",deleteClusterError:"Clusters kunnen niet worden verwijderd.",edgeDescription:"Klik op een node en sleep de link naar een andere node om ze te verbinden.",edit:"Wijzigen",editClusterError:"Clusters kunnen niet worden aangepast.",editEdge:"Link wijzigen",editEdgeDescription:"Klik op de verbindingspunten en sleep ze naar een node om daarmee te verbinden.",editNode:"Node wijzigen"},pt:{addDescription:"Clique em um espaço em branco para adicionar um novo nó",addEdge:"Adicionar aresta",addNode:"Adicionar nó",back:"Voltar",close:"Fechar",createEdgeError:"Não foi possível linkar arestas a um cluster.",del:"Remover selecionado",deleteClusterError:"Clusters não puderam ser removidos.",edgeDescription:"Clique em um nó e arraste a aresta até outro nó para conectá-los",edit:"Editar",editClusterError:"Clusters não puderam ser editados.",editEdge:"Editar aresta",editEdgeDescription:"Clique nos pontos de controle e os arraste para um nó para conectá-los",editNode:"Editar nó"},ru:{addDescription:"Кликните в свободное место, чтобы добавить новый узел.",addEdge:"Добавить ребро",addNode:"Добавить узел",back:"Назад",close:"Закрывать",createEdgeError:"Невозможно соединить ребра в кластер.",del:"Удалить выбранное",deleteClusterError:"Кластеры не могут быть удалены",edgeDescription:"Кликните на узел и протяните ребро к другому узлу, чтобы соединить их.",edit:"Редактировать",editClusterError:"Кластеры недоступны для редактирования.",editEdge:"Редактировать ребро",editEdgeDescription:"Кликните на контрольные точки и перетащите их в узел, чтобы подключиться к нему.",editNode:"Редактировать узел"},uk:{addDescription:"Kлікніть на вільне місце, щоб додати новий вузол.",addEdge:"Додати край",addNode:"Додати вузол",back:"Назад",close:"Закрити",createEdgeError:"Не можливо об'єднати краї в групу.",del:"Видалити обране",deleteClusterError:"Групи не можуть бути видалені.",edgeDescription:"Клікніть на вузол і перетягніть край до іншого вузла, щоб їх з'єднати.",edit:"Редагувати",editClusterError:"Групи недоступні для редагування.",editEdge:"Редагувати край",editEdgeDescription:"Клікніть на контрольні точки і перетягніть їх у вузол, щоб підключитися до нього.",editNode:"Редагувати вузол"}});var vw=function(){function t(){ch(this,t),this.NUM_ITERATIONS=4,this.image=new Image,this.canvas=document.createElement("canvas")}return pu(t,[{key:"init",value:function(){if(!this.initialized()){this.src=this.image.src;var t=this.image.width,e=this.image.height;this.width=t,this.height=e;var i=Math.floor(e/2),n=Math.floor(e/4),o=Math.floor(e/8),r=Math.floor(e/16),s=Math.floor(t/2),a=Math.floor(t/4),h=Math.floor(t/8),l=Math.floor(t/16);this.canvas.width=3*a,this.canvas.height=i,this.coordinates=[[0,0,s,i],[s,0,a,n],[s,n,h,o],[5*h,n,l,r]],this._fillMipMap()}}},{key:"initialized",value:function(){return void 0!==this.coordinates}},{key:"_fillMipMap",value:function(){var t=this.canvas.getContext("2d"),e=this.coordinates[0];t.drawImage(this.image,e[0],e[1],e[2],e[3]);for(var i=1;i<this.NUM_ITERATIONS;i++){var n=this.coordinates[i-1],o=this.coordinates[i];t.drawImage(this.canvas,n[0],n[1],n[2],n[3],o[0],o[1],o[2],o[3])}}},{key:"drawImageAtPosition",value:function(t,e,i,n,o,r){if(this.initialized())if(e>2){e*=.5;for(var s=0;e>2&&s<this.NUM_ITERATIONS;)e*=.5,s+=1;s>=this.NUM_ITERATIONS&&(s=this.NUM_ITERATIONS-1);var a=this.coordinates[s];t.drawImage(this.canvas,a[0],a[1],a[2],a[3],i,n,o,r)}else t.drawImage(this.image,i,n,o,r)}}]),t}(),gw=function(){function t(e){ch(this,t),this.images={},this.imageBroken={},this.callback=e}return pu(t,[{key:"_tryloadBrokenUrl",value:function(t,e,i){void 0!==t&&void 0!==i&&(void 0!==e?(i.image.onerror=function(){console.error("Could not load brokenImage:",e)},i.image.src=e):console.warn("No broken url image defined"))}},{key:"_redrawWithImage",value:function(t){this.callback&&this.callback(t)}},{key:"load",value:function(t,e){var i=this,n=this.images[t];if(n)return n;var o=new vw;return this.images[t]=o,o.image.onload=function(){i._fixImageCoordinates(o.image),o.init(),i._redrawWithImage(o)},o.image.onerror=function(){console.error("Could not load image:",t),i._tryloadBrokenUrl(t,e,o)},o.image.src=t,o}},{key:"_fixImageCoordinates",value:function(t){0===t.width&&(document.body.appendChild(t),t.width=t.offsetWidth,t.height=t.offsetHeight,document.body.removeChild(t))}}]),t}(),yw={exports:{}},mw=r((function(){if("function"==typeof ArrayBuffer){var t=new ArrayBuffer(8);Object.isExtensible(t)&&Object.defineProperty(t,"a",{value:8})}})),bw=r,ww=tt,kw=w,_w=mw,xw=Object.isExtensible,Ew=bw((function(){xw(1)}))||_w?function(t){return!!ww(t)&&((!_w||"ArrayBuffer"!=kw(t))&&(!xw||xw(t)))}:xw,Ow=!r((function(){return Object.isExtensible(Object.preventExtensions({}))})),Cw=Si,Sw=g,Tw=Ui,Mw=tt,Pw=Zt,Dw=$e.f,Iw=$h,Bw=Jh,Nw=Ew,Fw=Ow,zw=!1,Aw=ie("meta"),jw=0,Rw=function(t){Dw(t,Aw,{value:{objectID:"O"+jw++,weakData:{}}})},Lw=yw.exports={enable:function(){Lw.enable=function(){},zw=!0;var t=Iw.f,e=Sw([].splice),i={};i[Aw]=1,t(i).length&&(Iw.f=function(i){for(var n=t(i),o=0,r=n.length;o<r;o++)if(n[o]===Aw){e(n,o,1);break}return n},Cw({target:"Object",stat:!0,forced:!0},{getOwnPropertyNames:Bw.f}))},fastKey:function(t,e){if(!Mw(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!Pw(t,Aw)){if(!Nw(t))return"F";if(!e)return"E";Rw(t)}return t[Aw].objectID},getWeakData:function(t,e){if(!Pw(t,Aw)){if(!Nw(t))return!0;if(!e)return!1;Rw(t)}return t[Aw].weakData},onFreeze:function(t){return Fw&&zw&&Nw(t)&&!Pw(t,Aw)&&Rw(t),t}};Tw[Aw]=!0;var Hw=yw.exports,Ww=Ke,qw=I,Vw=ei,Uw=Ct,Yw=Us,Xw=Ri,Gw=at,Kw=Ca,$w=ba,Zw=Rs,Qw=TypeError,Jw=function(t,e){this.stopped=t,this.result=e},tk=Jw.prototype,ek=function(t,e,i){var n,o,r,s,a,h,l,d=i&&i.that,c=!(!i||!i.AS_ENTRIES),u=!(!i||!i.IS_RECORD),f=!(!i||!i.IS_ITERATOR),p=!(!i||!i.INTERRUPTED),v=Ww(e,d),g=function(t){return n&&Zw(n,"normal",t),new Jw(!0,t)},y=function(t){return c?(Vw(t),p?v(t[0],t[1],g):v(t[0],t[1])):p?v(t,g):v(t)};if(u)n=t.iterator;else if(f)n=t;else{if(!(o=$w(t)))throw Qw(Uw(t)+" is not iterable");if(Yw(o)){for(r=0,s=Xw(t);s>r;r++)if((a=y(t[r]))&&Gw(tk,a))return a;return new Jw(!1)}n=Kw(t,o)}for(h=u?t.next:n.next;!(l=qw(h,n)).done;){try{a=y(l.value)}catch(t){Zw(n,"throw",t)}if("object"==typeof a&&a&&Gw(tk,a))return a}return new Jw(!1)},ik=at,nk=TypeError,ok=function(t,e){if(ik(e,t))return t;throw nk("Incorrect invocation")},rk=Si,sk=o,ak=Hw,hk=r,lk=vi,dk=ek,ck=ok,uk=S,fk=tt,pk=Xr,vk=$e.f,gk=Il.forEach,yk=M,mk=Ro.set,bk=Ro.getterFor,wk=function(t,e,i){var n,o=-1!==t.indexOf("Map"),r=-1!==t.indexOf("Weak"),s=o?"set":"add",a=sk[t],h=a&&a.prototype,l={};if(yk&&uk(a)&&(r||h.forEach&&!hk((function(){(new a).entries().next()})))){var d=(n=e((function(e,i){mk(ck(e,d),{type:t,collection:new a}),null!=i&&dk(i,e[s],{that:e,AS_ENTRIES:o})}))).prototype,c=bk(t);gk(["add","clear","delete","forEach","get","has","set","keys","values","entries"],(function(t){var e="add"==t||"set"==t;!(t in h)||r&&"clear"==t||lk(d,t,(function(i,n){var o=c(this).collection;if(!e&&r&&!fk(i))return"get"==t&&void 0;var s=o[t](0===i?0:i,n);return e?this:s}))})),r||vk(d,"size",{configurable:!0,get:function(){return c(this).collection.size}})}else n=i.getConstructor(e,t,o,s),ak.enable();return pk(n,t,!1,!0),l[t]=n,rk({global:!0,forced:!0},l),r||i.setStrong(n,t,o),n},kk=Tr,_k=function(t,e,i){for(var n in e)i&&i.unsafe&&t[n]?t[n]=e[n]:kk(t,n,e[n],i);return t},xk=st,Ek=ul,Ok=M,Ck=ce("species"),Sk=function(t){var e=xk(t);Ok&&e&&!e[Ck]&&Ek(e,Ck,{configurable:!0,get:function(){return this}})},Tk=yr,Mk=ul,Pk=_k,Dk=Ke,Ik=ok,Bk=U,Nk=ek,Fk=Cs,zk=Ss,Ak=Sk,jk=M,Rk=Hw.fastKey,Lk=Ro.set,Hk=Ro.getterFor,Wk={getConstructor:function(t,e,i,n){var o=t((function(t,o){Ik(t,r),Lk(t,{type:e,index:Tk(null),first:void 0,last:void 0,size:0}),jk||(t.size=0),Bk(o)||Nk(o,t[n],{that:t,AS_ENTRIES:i})})),r=o.prototype,s=Hk(e),a=function(t,e,i){var n,o,r=s(t),a=h(t,e);return a?a.value=i:(r.last=a={index:o=Rk(e,!0),key:e,value:i,previous:n=r.last,next:void 0,removed:!1},r.first||(r.first=a),n&&(n.next=a),jk?r.size++:t.size++,"F"!==o&&(r.index[o]=a)),t},h=function(t,e){var i,n=s(t),o=Rk(e);if("F"!==o)return n.index[o];for(i=n.first;i;i=i.next)if(i.key==e)return i};return Pk(r,{clear:function(){for(var t=s(this),e=t.index,i=t.first;i;)i.removed=!0,i.previous&&(i.previous=i.previous.next=void 0),delete e[i.index],i=i.next;t.first=t.last=void 0,jk?t.size=0:this.size=0},delete:function(t){var e=this,i=s(e),n=h(e,t);if(n){var o=n.next,r=n.previous;delete i.index[n.index],n.removed=!0,r&&(r.next=o),o&&(o.previous=r),i.first==n&&(i.first=o),i.last==n&&(i.last=r),jk?i.size--:e.size--}return!!n},forEach:function(t){for(var e,i=s(this),n=Dk(t,arguments.length>1?arguments[1]:void 0);e=e?e.next:i.first;)for(n(e.value,e.key,this);e&&e.removed;)e=e.previous},has:function(t){return!!h(this,t)}}),Pk(r,i?{get:function(t){var e=h(this,t);return e&&e.value},set:function(t,e){return a(this,0===t?0:t,e)}}:{add:function(t){return a(this,t=0===t?0:t,t)}}),jk&&Mk(r,"size",{configurable:!0,get:function(){return s(this).size}}),o},setStrong:function(t,e,i){var n=e+" Iterator",o=Hk(e),r=Hk(n);Fk(t,e,(function(t,e){Lk(this,{type:n,target:t,state:o(t),kind:e,last:void 0})}),(function(){for(var t=r(this),e=t.kind,i=t.last;i&&i.removed;)i=i.previous;return t.target&&(t.last=i=i?i.next:t.state.first)?zk("keys"==e?i.key:"values"==e?i.value:[i.key,i.value],!1):(t.target=void 0,zk(void 0,!0))}),i?"entries":"values",!i,!0),Ak(e)}};wk("Map",(function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}}),Wk);var qk=i(et.Map),Vk=function(){function t(){ch(this,t),this.clear(),this._defaultIndex=0,this._groupIndex=0,this._defaultGroups=[{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},{border:"#FFA500",background:"#FFFF00",highlight:{border:"#FFA500",background:"#FFFFA3"},hover:{border:"#FFA500",background:"#FFFFA3"}},{border:"#FA0A10",background:"#FB7E81",highlight:{border:"#FA0A10",background:"#FFAFB1"},hover:{border:"#FA0A10",background:"#FFAFB1"}},{border:"#41A906",background:"#7BE141",highlight:{border:"#41A906",background:"#A1EC76"},hover:{border:"#41A906",background:"#A1EC76"}},{border:"#E129F0",background:"#EB7DF4",highlight:{border:"#E129F0",background:"#F0B3F5"},hover:{border:"#E129F0",background:"#F0B3F5"}},{border:"#7C29F0",background:"#AD85E4",highlight:{border:"#7C29F0",background:"#D3BDF0"},hover:{border:"#7C29F0",background:"#D3BDF0"}},{border:"#C37F00",background:"#FFA807",highlight:{border:"#C37F00",background:"#FFCA66"},hover:{border:"#C37F00",background:"#FFCA66"}},{border:"#4220FB",background:"#6E6EFD",highlight:{border:"#4220FB",background:"#9B9BFD"},hover:{border:"#4220FB",background:"#9B9BFD"}},{border:"#FD5A77",background:"#FFC0CB",highlight:{border:"#FD5A77",background:"#FFD1D9"},hover:{border:"#FD5A77",background:"#FFD1D9"}},{border:"#4AD63A",background:"#C2FABC",highlight:{border:"#4AD63A",background:"#E6FFE3"},hover:{border:"#4AD63A",background:"#E6FFE3"}},{border:"#990000",background:"#EE0000",highlight:{border:"#BB0000",background:"#FF3333"},hover:{border:"#BB0000",background:"#FF3333"}},{border:"#FF6000",background:"#FF6000",highlight:{border:"#FF6000",background:"#FF6000"},hover:{border:"#FF6000",background:"#FF6000"}},{border:"#97C2FC",background:"#2B7CE9",highlight:{border:"#D2E5FF",background:"#2B7CE9"},hover:{border:"#D2E5FF",background:"#2B7CE9"}},{border:"#399605",background:"#255C03",highlight:{border:"#399605",background:"#255C03"},hover:{border:"#399605",background:"#255C03"}},{border:"#B70054",background:"#FF007E",highlight:{border:"#B70054",background:"#FF007E"},hover:{border:"#B70054",background:"#FF007E"}},{border:"#AD85E4",background:"#7C29F0",highlight:{border:"#D3BDF0",background:"#7C29F0"},hover:{border:"#D3BDF0",background:"#7C29F0"}},{border:"#4557FA",background:"#000EA1",highlight:{border:"#6E6EFD",background:"#000EA1"},hover:{border:"#6E6EFD",background:"#000EA1"}},{border:"#FFC0CB",background:"#FD5A77",highlight:{border:"#FFD1D9",background:"#FD5A77"},hover:{border:"#FFD1D9",background:"#FD5A77"}},{border:"#C2FABC",background:"#74D66A",highlight:{border:"#E6FFE3",background:"#74D66A"},hover:{border:"#E6FFE3",background:"#74D66A"}},{border:"#EE0000",background:"#990000",highlight:{border:"#FF3333",background:"#BB0000"},hover:{border:"#FF3333",background:"#BB0000"}}],this.options={},this.defaultOptions={useDefaultGroups:!0},mn(this.options,this.defaultOptions)}return pu(t,[{key:"setOptions",value:function(t){var e=["useDefaultGroups"];if(void 0!==t)for(var i in t)if(Object.prototype.hasOwnProperty.call(t,i)&&-1===Lv(e).call(e,i)){var n=t[i];this.add(i,n)}}},{key:"clear",value:function(){this._groups=new qk,this._groupNames=[]}},{key:"get",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this._groups.get(t);if(void 0===i&&e)if(!1===this.options.useDefaultGroups&&this._groupNames.length>0){var n=this._groupIndex%this._groupNames.length;++this._groupIndex,(i={}).color=this._groups.get(this._groupNames[n]),this._groups.set(t,i)}else{var o=this._defaultIndex%this._defaultGroups.length;this._defaultIndex++,(i={}).color=this._defaultGroups[o],this._groups.set(t,i)}return i}},{key:"add",value:function(t,e){return this._groups.has(t)||this._groupNames.push(t),this._groups.set(t,e),e}}]),t}();Si({target:"Number",stat:!0},{isNaN:function(t){return t!=t}});var Uk=i(et.Number.isNaN),Yk=o.isFinite,Xk=Number.isFinite||function(t){return"number"==typeof t&&Yk(t)};Si({target:"Number",stat:!0},{isFinite:Xk});var Gk=i(et.Number.isFinite),Kk=Il.some;Si({target:"Array",proto:!0,forced:!_f("some")},{some:function(t){return Kk(this,t,arguments.length>1?arguments[1]:void 0)}});var $k=Bn("Array").some,Zk=at,Qk=$k,Jk=Array.prototype,t_=function(t){var e=t.some;return t===Jk||Zk(Jk,t)&&e===Jk.some?Qk:e},e_=i(t_);function i_(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}var n_=Vv,o_=i(n_);Si({target:"Object",stat:!0},{setPrototypeOf:ls});var r_=et.Object.setPrototypeOf,s_=i(r_),a_=i(Rn);function h_(t,e){var i;return h_=s_?a_(i=s_).call(i):function(t,e){return t.__proto__=e,t},h_(t,e)}function l_(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=o_(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),wh(t,"prototype",{writable:!1}),e&&h_(t,e)}function d_(t,e){if(e&&("object"===du(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return i_(t)}var c_=qp,u_=i(c_);function f_(t){var e;return f_=s_?a_(e=u_).call(e):function(t){return t.__proto__||u_(t)},f_(t)}function p_(t,e,i){return(e=uu(e))in t?wh(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}var v_={exports:{}},g_={exports:{}};!function(t){var e=ru,i=hu;function n(o){return t.exports=n="function"==typeof e&&"symbol"==typeof i?function(t){return typeof t}:function(t){return t&&"function"==typeof e&&t.constructor===e&&t!==e.prototype?"symbol":typeof t},t.exports.__esModule=!0,t.exports.default=t.exports,n(o)}t.exports=n,t.exports.__esModule=!0,t.exports.default=t.exports}(g_);var y_=g_.exports,m_=If,b_=Zt,w_=of,k_=T,__=$e,x_=tt,E_=vi,O_=Error,C_=g("".replace),S_=String(O_("zxcasd").stack),T_=/\n\s*at [^:]*:[^\n]*/,M_=T_.test(S_),P_=R,D_=!r((function(){var t=Error("a");return!("stack"in t)||(Object.defineProperty(t,"stack",P_(1,7)),7!==t.stack)})),I_=vi,B_=function(t,e){if(M_&&"string"==typeof t&&!O_.prepareStackTrace)for(;e--;)t=C_(t,T_,"");return t},N_=D_,F_=Error.captureStackTrace,z_=lo,A_=Si,j_=at,R_=Cr,L_=ls,H_=function(t,e,i){for(var n=w_(e),o=__.f,r=k_.f,s=0;s<n.length;s++){var a=n[s];b_(t,a)||i&&b_(i,a)||o(t,a,r(e,a))}},W_=yr,q_=vi,V_=R,U_=function(t,e){x_(e)&&"cause"in e&&E_(t,"cause",e.cause)},Y_=function(t,e,i,n){N_&&(F_?F_(t,e):I_(t,"stack",B_(i,n)))},X_=ek,G_=function(t,e){return void 0===t?arguments.length<2?"":e:z_(t)},K_=ce("toStringTag"),$_=Error,Z_=[].push,Q_=function(t,e){var i,n=j_(J_,this);L_?i=L_($_(),n?R_(this):J_):(i=n?this:W_(J_),q_(i,K_,"Error")),void 0!==e&&q_(i,"message",G_(e)),Y_(i,Q_,i.stack,1),arguments.length>2&&U_(i,arguments[2]);var o=[];return X_(t,Z_,{that:o}),q_(i,"errors",o),i};L_?L_(Q_,$_):H_(Q_,$_,{name:!0});var J_=Q_.prototype=W_($_.prototype,{constructor:V_(1,Q_),message:V_(1,""),name:V_(1,"AggregateError")});A_({global:!0,constructor:!0,arity:2},{AggregateError:Q_});var tx,ex,ix,nx,ox="undefined"!=typeof process&&"process"==w(process),rx=la,sx=Ct,ax=TypeError,hx=function(t){if(rx(t))return t;throw ax(sx(t)+" is not a constructor")},lx=ei,dx=hx,cx=U,ux=ce("species"),fx=function(t,e){var i,n=lx(t).constructor;return void 0===n||cx(i=lx(n)[ux])?e:dx(i)},px=/(?:ipad|iphone|ipod).*applewebkit/i.test(ht),vx=o,gx=c,yx=Ke,mx=S,bx=Zt,wx=r,kx=tr,_x=bn,xx=Oe,Ex=Qv,Ox=px,Cx=ox,Sx=vx.setImmediate,Tx=vx.clearImmediate,Mx=vx.process,Px=vx.Dispatch,Dx=vx.Function,Ix=vx.MessageChannel,Bx=vx.String,Nx=0,Fx={},zx="onreadystatechange";wx((function(){tx=vx.location}));var Ax=function(t){if(bx(Fx,t)){var e=Fx[t];delete Fx[t],e()}},jx=function(t){return function(){Ax(t)}},Rx=function(t){Ax(t.data)},Lx=function(t){vx.postMessage(Bx(t),tx.protocol+"//"+tx.host)};Sx&&Tx||(Sx=function(t){Ex(arguments.length,1);var e=mx(t)?t:Dx(t),i=_x(arguments,1);return Fx[++Nx]=function(){gx(e,void 0,i)},ex(Nx),Nx},Tx=function(t){delete Fx[t]},Cx?ex=function(t){Mx.nextTick(jx(t))}:Px&&Px.now?ex=function(t){Px.now(jx(t))}:Ix&&!Ox?(nx=(ix=new Ix).port2,ix.port1.onmessage=Rx,ex=yx(nx.postMessage,nx)):vx.addEventListener&&mx(vx.postMessage)&&!vx.importScripts&&tx&&"file:"!==tx.protocol&&!wx(Lx)?(ex=Lx,vx.addEventListener("message",Rx,!1)):ex=zx in xx("script")?function(t){kx.appendChild(xx("script"))[zx]=function(){kx.removeChild(this),Ax(t)}}:function(t){setTimeout(jx(t),0)});var Hx={set:Sx,clear:Tx},Wx=function(){this.head=null,this.tail=null};Wx.prototype={add:function(t){var e={item:t,next:null},i=this.tail;i?i.next=e:this.head=e,this.tail=e},get:function(){var t=this.head;if(t)return null===(this.head=t.next)&&(this.tail=null),t.item}};var qx,Vx,Ux,Yx,Xx,Gx=Wx,Kx=/ipad|iphone|ipod/i.test(ht)&&"undefined"!=typeof Pebble,$x=/web0s(?!.*chrome)/i.test(ht),Zx=o,Qx=Ke,Jx=T.f,tE=Hx.set,eE=Gx,iE=px,nE=Kx,oE=$x,rE=ox,sE=Zx.MutationObserver||Zx.WebKitMutationObserver,aE=Zx.document,hE=Zx.process,lE=Zx.Promise,dE=Jx(Zx,"queueMicrotask"),cE=dE&&dE.value;if(!cE){var uE=new eE,fE=function(){var t,e;for(rE&&(t=hE.domain)&&t.exit();e=uE.get();)try{e()}catch(t){throw uE.head&&qx(),t}t&&t.enter()};iE||rE||oE||!sE||!aE?!nE&&lE&&lE.resolve?((Yx=lE.resolve(void 0)).constructor=lE,Xx=Qx(Yx.then,Yx),qx=function(){Xx(fE)}):rE?qx=function(){hE.nextTick(fE)}:(tE=Qx(tE,Zx),qx=function(){tE(fE)}):(Vx=!0,Ux=aE.createTextNode(""),new sE(fE).observe(Ux,{characterData:!0}),qx=function(){Ux.data=Vx=!Vx}),cE=function(t){uE.head||qx(),uE.add(t)}}var pE=cE,vE=function(t){try{return{error:!1,value:t()}}catch(t){return{error:!0,value:t}}},gE=o.Promise,yE="object"==typeof Deno&&Deno&&"object"==typeof Deno.version,mE=!yE&&!ox&&"object"==typeof window&&"object"==typeof document,bE=o,wE=gE,kE=S,_E=Ue,xE=Ks,EE=ce,OE=mE,CE=yE,SE=vt,TE=wE&&wE.prototype,ME=EE("species"),PE=!1,DE=kE(bE.PromiseRejectionEvent),IE=_E("Promise",(function(){var t=xE(wE),e=t!==String(wE);if(!e&&66===SE)return!0;if(!TE.catch||!TE.finally)return!0;if(!SE||SE<51||!/native code/.test(t)){var i=new wE((function(t){t(1)})),n=function(t){t((function(){}),(function(){}))};if((i.constructor={})[ME]=n,!(PE=i.then((function(){}))instanceof n))return!0}return!e&&(OE||CE)&&!DE})),BE={CONSTRUCTOR:IE,REJECTION_EVENT:DE,SUBCLASSING:PE},NE={},FE=Pt,zE=TypeError,AE=function(t){var e,i;this.promise=new t((function(t,n){if(void 0!==e||void 0!==i)throw zE("Bad Promise constructor");e=t,i=n})),this.resolve=FE(e),this.reject=FE(i)};NE.f=function(t){return new AE(t)};var jE,RE,LE=Si,HE=ox,WE=o,qE=I,VE=Tr,UE=Xr,YE=Sk,XE=Pt,GE=S,KE=tt,$E=ok,ZE=fx,QE=Hx.set,JE=pE,tO=function(t,e){try{1==arguments.length?console.error(t):console.error(t,e)}catch(t){}},eO=vE,iO=Gx,nO=Ro,oO=gE,rO=BE,sO=NE,aO="Promise",hO=rO.CONSTRUCTOR,lO=rO.REJECTION_EVENT,dO=nO.getterFor(aO),cO=nO.set,uO=oO&&oO.prototype,fO=oO,pO=uO,vO=WE.TypeError,gO=WE.document,yO=WE.process,mO=sO.f,bO=mO,wO=!!(gO&&gO.createEvent&&WE.dispatchEvent),kO="unhandledrejection",_O=function(t){var e;return!(!KE(t)||!GE(e=t.then))&&e},xO=function(t,e){var i,n,o,r=e.value,s=1==e.state,a=s?t.ok:t.fail,h=t.resolve,l=t.reject,d=t.domain;try{a?(s||(2===e.rejection&&TO(e),e.rejection=1),!0===a?i=r:(d&&d.enter(),i=a(r),d&&(d.exit(),o=!0)),i===t.promise?l(vO("Promise-chain cycle")):(n=_O(i))?qE(n,i,h,l):h(i)):l(r)}catch(t){d&&!o&&d.exit(),l(t)}},EO=function(t,e){t.notified||(t.notified=!0,JE((function(){for(var i,n=t.reactions;i=n.get();)xO(i,t);t.notified=!1,e&&!t.rejection&&CO(t)})))},OO=function(t,e,i){var n,o;wO?((n=gO.createEvent("Event")).promise=e,n.reason=i,n.initEvent(t,!1,!0),WE.dispatchEvent(n)):n={promise:e,reason:i},!lO&&(o=WE["on"+t])?o(n):t===kO&&tO("Unhandled promise rejection",i)},CO=function(t){qE(QE,WE,(function(){var e,i=t.facade,n=t.value;if(SO(t)&&(e=eO((function(){HE?yO.emit("unhandledRejection",n,i):OO(kO,i,n)})),t.rejection=HE||SO(t)?2:1,e.error))throw e.value}))},SO=function(t){return 1!==t.rejection&&!t.parent},TO=function(t){qE(QE,WE,(function(){var e=t.facade;HE?yO.emit("rejectionHandled",e):OO("rejectionhandled",e,t.value)}))},MO=function(t,e,i){return function(n){t(e,n,i)}},PO=function(t,e,i){t.done||(t.done=!0,i&&(t=i),t.value=e,t.state=2,EO(t,!0))},DO=function(t,e,i){if(!t.done){t.done=!0,i&&(t=i);try{if(t.facade===e)throw vO("Promise can't be resolved itself");var n=_O(e);n?JE((function(){var i={done:!1};try{qE(n,e,MO(DO,i,t),MO(PO,i,t))}catch(e){PO(i,e,t)}})):(t.value=e,t.state=1,EO(t,!1))}catch(e){PO({done:!1},e,t)}}};hO&&(pO=(fO=function(t){$E(this,pO),XE(t),qE(jE,this);var e=dO(this);try{t(MO(DO,e),MO(PO,e))}catch(t){PO(e,t)}}).prototype,(jE=function(t){cO(this,{type:aO,done:!1,notified:!1,parent:!1,reactions:new iO,rejection:!1,state:0,value:void 0})}).prototype=VE(pO,"then",(function(t,e){var i=dO(this),n=mO(ZE(this,fO));return i.parent=!0,n.ok=!GE(t)||t,n.fail=GE(e)&&e,n.domain=HE?yO.domain:void 0,0==i.state?i.reactions.add(n):JE((function(){xO(n,i)})),n.promise})),RE=function(){var t=new jE,e=dO(t);this.promise=t,this.resolve=MO(DO,e),this.reject=MO(PO,e)},sO.f=mO=function(t){return t===fO||undefined===t?new RE(t):bO(t)}),LE({global:!0,constructor:!0,wrap:!0,forced:hO},{Promise:fO}),UE(fO,aO,!1,!0),YE(aO);var IO=gE,BO=BE.CONSTRUCTOR||!Wa((function(t){IO.all(t).then(void 0,(function(){}))})),NO=I,FO=Pt,zO=NE,AO=vE,jO=ek;Si({target:"Promise",stat:!0,forced:BO},{all:function(t){var e=this,i=zO.f(e),n=i.resolve,o=i.reject,r=AO((function(){var i=FO(e.resolve),r=[],s=0,a=1;jO(t,(function(t){var h=s++,l=!1;a++,NO(i,e,t).then((function(t){l||(l=!0,r[h]=t,--a||n(r))}),o)})),--a||n(r)}));return r.error&&o(r.value),i.promise}});var RO=Si,LO=BE.CONSTRUCTOR;gE&&gE.prototype,RO({target:"Promise",proto:!0,forced:LO,real:!0},{catch:function(t){return this.then(void 0,t)}});var HO=I,WO=Pt,qO=NE,VO=vE,UO=ek;Si({target:"Promise",stat:!0,forced:BO},{race:function(t){var e=this,i=qO.f(e),n=i.reject,o=VO((function(){var o=WO(e.resolve);UO(t,(function(t){HO(o,e,t).then(i.resolve,n)}))}));return o.error&&n(o.value),i.promise}});var YO=I,XO=NE;Si({target:"Promise",stat:!0,forced:BE.CONSTRUCTOR},{reject:function(t){var e=XO.f(this);return YO(e.reject,void 0,t),e.promise}});var GO=ei,KO=tt,$O=NE,ZO=function(t,e){if(GO(t),KO(e)&&e.constructor===t)return e;var i=$O.f(t);return(0,i.resolve)(e),i.promise},QO=Si,JO=gE,tC=BE.CONSTRUCTOR,eC=ZO,iC=st("Promise"),nC=!tC;QO({target:"Promise",stat:!0,forced:true},{resolve:function(t){return eC(nC&&this===iC?JO:this,t)}});var oC=I,rC=Pt,sC=NE,aC=vE,hC=ek;Si({target:"Promise",stat:!0,forced:BO},{allSettled:function(t){var e=this,i=sC.f(e),n=i.resolve,o=i.reject,r=aC((function(){var i=rC(e.resolve),o=[],r=0,s=1;hC(t,(function(t){var a=r++,h=!1;s++,oC(i,e,t).then((function(t){h||(h=!0,o[a]={status:"fulfilled",value:t},--s||n(o))}),(function(t){h||(h=!0,o[a]={status:"rejected",reason:t},--s||n(o))}))})),--s||n(o)}));return r.error&&o(r.value),i.promise}});var lC=I,dC=Pt,cC=st,uC=NE,fC=vE,pC=ek,vC="No one promise resolved";Si({target:"Promise",stat:!0,forced:BO},{any:function(t){var e=this,i=cC("AggregateError"),n=uC.f(e),o=n.resolve,r=n.reject,s=fC((function(){var n=dC(e.resolve),s=[],a=0,h=1,l=!1;pC(t,(function(t){var d=a++,c=!1;h++,lC(n,e,t).then((function(t){c||l||(l=!0,o(t))}),(function(t){c||l||(c=!0,s[d]=t,--h||r(new i(s,vC)))}))})),--h||r(new i(s,vC))}));return s.error&&r(s.value),n.promise}});var gC=Si,yC=gE,mC=r,bC=st,wC=S,kC=fx,_C=ZO,xC=yC&&yC.prototype;gC({target:"Promise",proto:!0,real:!0,forced:!!yC&&mC((function(){xC.finally.call({then:function(){}},(function(){}))}))},{finally:function(t){var e=kC(this,bC("Promise")),i=wC(t);return this.then(i?function(i){return _C(e,t()).then((function(){return i}))}:t,i?function(i){return _C(e,t()).then((function(){throw i}))}:t)}});var EC=et.Promise,OC=NE,CC=vE;Si({target:"Promise",stat:!0,forced:!0},{try:function(t){var e=OC.f(this),i=CC(t);return(i.error?e.reject:e.resolve)(i.value),e.promise}});var SC=EC,TC=qf;!function(t){var e=y_.default,i=bh,n=ru,o=n_,r=c_,s=m_,a=r_,h=SC,l=TC,d=Au;function c(){t.exports=c=function(){return u},t.exports.__esModule=!0,t.exports.default=t.exports;var u={},f=Object.prototype,p=f.hasOwnProperty,v=i||function(t,e,i){t[e]=i.value},g="function"==typeof n?n:{},y=g.iterator||"@@iterator",m=g.asyncIterator||"@@asyncIterator",b=g.toStringTag||"@@toStringTag";function w(t,e,n){return i(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{w({},"")}catch(t){w=function(t,e,i){return t[e]=i}}function k(t,e,i,n){var r=e&&e.prototype instanceof E?e:E,s=o(r.prototype),a=new z(n||[]);return v(s,"_invoke",{value:I(t,i,a)}),s}function _(t,e,i){try{return{type:"normal",arg:t.call(e,i)}}catch(t){return{type:"throw",arg:t}}}u.wrap=k;var x={};function E(){}function O(){}function C(){}var S={};w(S,y,(function(){return this}));var T=r&&r(r(A([])));T&&T!==f&&p.call(T,y)&&(S=T);var M=C.prototype=E.prototype=o(S);function P(t){var e;s(e=["next","throw","return"]).call(e,(function(e){w(t,e,(function(t){return this._invoke(e,t)}))}))}function D(t,i){function n(o,r,s,a){var h=_(t[o],t,r);if("throw"!==h.type){var l=h.arg,d=l.value;return d&&"object"==e(d)&&p.call(d,"__await")?i.resolve(d.__await).then((function(t){n("next",t,s,a)}),(function(t){n("throw",t,s,a)})):i.resolve(d).then((function(t){l.value=t,s(l)}),(function(t){return n("throw",t,s,a)}))}a(h.arg)}var o;v(this,"_invoke",{value:function(t,e){function r(){return new i((function(i,o){n(t,e,i,o)}))}return o=o?o.then(r,r):r()}})}function I(t,e,i){var n="suspendedStart";return function(o,r){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw r;return j()}for(i.method=o,i.arg=r;;){var s=i.delegate;if(s){var a=B(s,i);if(a){if(a===x)continue;return a}}if("next"===i.method)i.sent=i._sent=i.arg;else if("throw"===i.method){if("suspendedStart"===n)throw n="completed",i.arg;i.dispatchException(i.arg)}else"return"===i.method&&i.abrupt("return",i.arg);n="executing";var h=_(t,e,i);if("normal"===h.type){if(n=i.done?"completed":"suspendedYield",h.arg===x)continue;return{value:h.arg,done:i.done}}"throw"===h.type&&(n="completed",i.method="throw",i.arg=h.arg)}}}function B(t,e){var i=e.method,n=t.iterator[i];if(void 0===n)return e.delegate=null,"throw"===i&&t.iterator.return&&(e.method="return",e.arg=void 0,B(t,e),"throw"===e.method)||"return"!==i&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+i+"' method")),x;var o=_(n,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,x;var r=o.arg;return r?r.done?(e[t.resultName]=r.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,x):r:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,x)}function N(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function F(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function z(t){this.tryEntries=[{tryLoc:"root"}],s(t).call(t,N,this),this.reset(!0)}function A(t){if(t){var e=t[y];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,n=function e(){for(;++i<t.length;)if(p.call(t,i))return e.value=t[i],e.done=!1,e;return e.value=void 0,e.done=!0,e};return n.next=n}}return{next:j}}function j(){return{value:void 0,done:!0}}return O.prototype=C,v(M,"constructor",{value:C,configurable:!0}),v(C,"constructor",{value:O,configurable:!0}),O.displayName=w(C,b,"GeneratorFunction"),u.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===O||"GeneratorFunction"===(e.displayName||e.name))},u.mark=function(t){return a?a(t,C):(t.__proto__=C,w(t,b,"GeneratorFunction")),t.prototype=o(M),t},u.awrap=function(t){return{__await:t}},P(D.prototype),w(D.prototype,m,(function(){return this})),u.AsyncIterator=D,u.async=function(t,e,i,n,o){void 0===o&&(o=h);var r=new D(k(t,e,i,n),o);return u.isGeneratorFunction(e)?r:r.next().then((function(t){return t.done?t.value:r.next()}))},P(M),w(M,b,"Generator"),w(M,y,(function(){return this})),w(M,"toString",(function(){return"[object Generator]"})),u.keys=function(t){var e=Object(t),i=[];for(var n in e)i.push(n);return l(i).call(i),function t(){for(;i.length;){var n=i.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},u.values=A,z.prototype={constructor:z,reset:function(t){var e;if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,s(e=this.tryEntries).call(e,F),!t)for(var i in this)"t"===i.charAt(0)&&p.call(this,i)&&!isNaN(+d(i).call(i,1))&&(this[i]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function i(i,n){return r.type="throw",r.arg=t,e.next=i,n&&(e.method="next",e.arg=void 0),!!n}for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n],r=o.completion;if("root"===o.tryLoc)return i("end");if(o.tryLoc<=this.prev){var s=p.call(o,"catchLoc"),a=p.call(o,"finallyLoc");if(s&&a){if(this.prev<o.catchLoc)return i(o.catchLoc,!0);if(this.prev<o.finallyLoc)return i(o.finallyLoc)}else if(s){if(this.prev<o.catchLoc)return i(o.catchLoc,!0)}else{if(!a)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return i(o.finallyLoc)}}}},abrupt:function(t,e){for(var i=this.tryEntries.length-1;i>=0;--i){var n=this.tryEntries[i];if(n.tryLoc<=this.prev&&p.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var o=n;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var r=o?o.completion:{};return r.type=t,r.arg=e,o?(this.method="next",this.next=o.finallyLoc,x):this.complete(r)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),x},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var i=this.tryEntries[e];if(i.finallyLoc===t)return this.complete(i.completion,i.afterLoc),F(i),x}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var i=this.tryEntries[e];if(i.tryLoc===t){var n=i.completion;if("throw"===n.type){var o=n.arg;F(i)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,i){return this.delegate={iterator:A(t),resultName:e,nextLoc:i},"next"===this.method&&(this.arg=void 0),x}},u}t.exports=c,t.exports.__esModule=!0,t.exports.default=t.exports}(v_);var MC=(0,v_.exports)(),PC=MC;try{regeneratorRuntime=MC}catch(t){"object"==typeof globalThis?globalThis.regeneratorRuntime=MC:Function("r","regeneratorRuntime = r")(MC)}var DC=i(PC),IC=Pt,BC=Gt,NC=V,FC=Ri,zC=TypeError,AC=function(t){return function(e,i,n,o){IC(i);var r=BC(e),s=NC(r),a=FC(r),h=t?a-1:0,l=t?-1:1;if(n<2)for(;;){if(h in s){o=s[h],h+=l;break}if(h+=l,t?h<0:a<=h)throw zC("Reduce of empty array with no initial value")}for(;t?h>=0:a>h;h+=l)h in s&&(o=i(o,s[h],h,r));return o}},jC={left:AC(!1),right:AC(!0)}.left;Si({target:"Array",proto:!0,forced:!ox&&vt>79&&vt<83||!_f("reduce")},{reduce:function(t){var e=arguments.length;return jC(this,t,e,e>1?arguments[1]:void 0)}});var RC=Bn("Array").reduce,LC=at,HC=RC,WC=Array.prototype,qC=function(t){var e=t.reduce;return t===WC||LC(WC,t)&&e===WC.reduce?HC:e},VC=i(qC),UC=_h,YC=Ri,XC=Eh,GC=Ke,KC=function(t,e,i,n,o,r,s,a){for(var h,l,d=o,c=0,u=!!s&&GC(s,a);c<n;)c in i&&(h=u?u(i[c],c,e):i[c],r>0&&UC(h)?(l=YC(h),d=KC(t,e,h,l,d,r-1)-1):(XC(d+1),t[d]=h),d++),c++;return d},$C=KC,ZC=Pt,QC=Gt,JC=Ri,tS=Dh;Si({target:"Array",proto:!0},{flatMap:function(t){var e,i=QC(this),n=JC(i);return ZC(t),(e=tS(i,0)).length=$C(e,i,i,n,0,1,t,arguments.length>1?arguments[1]:void 0),e}});var eS=Bn("Array").flatMap,iS=at,nS=eS,oS=Array.prototype,rS=function(t){var e=t.flatMap;return t===oS||iS(oS,t)&&e===oS.flatMap?nS:e},sS=i(rS);wk("Set",(function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}}),Wk);var aS=i(et.Set),hS=i(au),lS=i(Ca),dS=rl,cS=Math.floor,uS=function(t,e){var i=t.length,n=cS(i/2);return i<8?fS(t,e):pS(t,uS(dS(t,0,n),e),uS(dS(t,n),e),e)},fS=function(t,e){for(var i,n,o=t.length,r=1;r<o;){for(n=r,i=t[r];n&&e(t[n-1],i)>0;)t[n]=t[--n];n!==r++&&(t[n]=i)}return t},pS=function(t,e,i,n){for(var o=e.length,r=i.length,s=0,a=0;s<o||a<r;)t[s+a]=s<o&&a<r?n(e[s],i[a])<=0?e[s++]:i[a++]:s<o?e[s++]:i[a++];return t},vS=uS,gS=ht.match(/firefox\/(\d+)/i),yS=!!gS&&+gS[1],mS=/MSIE|Trident/.test(ht),bS=ht.match(/AppleWebKit\/(\d+)\./),wS=!!bS&&+bS[1],kS=Si,_S=g,xS=Pt,ES=Gt,OS=Ri,CS=Qf,SS=lo,TS=r,MS=vS,PS=_f,DS=yS,IS=mS,BS=vt,NS=wS,FS=[],zS=_S(FS.sort),AS=_S(FS.push),jS=TS((function(){FS.sort(void 0)})),RS=TS((function(){FS.sort(null)})),LS=PS("sort"),HS=!TS((function(){if(BS)return BS<70;if(!(DS&&DS>3)){if(IS)return!0;if(NS)return NS<603;var t,e,i,n,o="";for(t=65;t<76;t++){switch(e=String.fromCharCode(t),t){case 66:case 69:case 70:case 72:i=3;break;case 68:case 71:i=4;break;default:i=2}for(n=0;n<47;n++)FS.push({k:e+n,v:i})}for(FS.sort((function(t,e){return e.v-t.v})),n=0;n<FS.length;n++)e=FS[n].k.charAt(0),o.charAt(o.length-1)!==e&&(o+=e);return"DGBEFHACIJK"!==o}}));kS({target:"Array",proto:!0,forced:jS||!RS||!LS||!HS},{sort:function(t){void 0!==t&&xS(t);var e=ES(this);if(HS)return void 0===t?zS(e):zS(e,t);var i,n,o=[],r=OS(e);for(n=0;n<r;n++)n in e&&AS(o,e[n]);for(MS(o,function(t){return function(e,i){return void 0===i?-1:void 0===e?1:void 0!==t?+t(e,i)||0:SS(e)>SS(i)?1:-1}}(t)),i=OS(o),n=0;n<i;)e[n]=o[n++];for(;n<r;)CS(e,n++);return e}});var WS=Bn("Array").sort,qS=at,VS=WS,US=Array.prototype,YS=function(t){var e=t.sort;return t===US||qS(US,t)&&e===US.sort?VS:e},XS=i(YS),GS=Bn("Array").keys,KS=so,$S=Zt,ZS=at,QS=GS,JS=Array.prototype,tT={DOMTokenList:!0,NodeList:!0},eT=function(t){var e=t.keys;return t===JS||ZS(JS,t)&&e===JS.keys||$S(tT,KS(t))?QS:e},iT=i(eT),nT=Bn("Array").values,oT=so,rT=Zt,sT=at,aT=nT,hT=Array.prototype,lT={DOMTokenList:!0,NodeList:!0},dT=function(t){var e=t.values;return t===hT||sT(hT,t)&&e===hT.values||rT(lT,oT(t))?aT:e},cT=i(dT),uT=Bn("Array").entries,fT=so,pT=Zt,vT=at,gT=uT,yT=Array.prototype,mT={DOMTokenList:!0,NodeList:!0},bT=function(t){var e=t.entries;return t===yT||vT(yT,t)&&e===yT.entries||pT(mT,fT(t))?gT:e},wT=i(bT),kT=i(mh),_T=Si,xT=c,ET=Pn,OT=hx,CT=ei,ST=tt,TT=yr,MT=r,PT=st("Reflect","construct"),DT=Object.prototype,IT=[].push,BT=MT((function(){function t(){}return!(PT((function(){}),[],t)instanceof t)})),NT=!MT((function(){PT((function(){}))})),FT=BT||NT;_T({target:"Reflect",stat:!0,forced:FT,sham:FT},{construct:function(t,e){OT(t),CT(e);var i=arguments.length<3?t:OT(arguments[2]);if(NT&&!BT)return PT(t,e,i);if(t==i){switch(e.length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3])}var n=[null];return xT(IT,n,e),new(xT(ET,t,n))}var o=i.prototype,r=TT(ST(o)?o:DT),s=xT(t,r,e);return ST(s)?s:r}});var zT=i(et.Reflect.construct),AT=i(et.Object.getOwnPropertySymbols),jT={exports:{}},RT=Si,LT=r,HT=Z,WT=T.f,qT=M;RT({target:"Object",stat:!0,forced:!qT||LT((function(){WT(1)})),sham:!qT},{getOwnPropertyDescriptor:function(t,e){return WT(HT(t),e)}});var VT=et.Object,UT=jT.exports=function(t,e){return VT.getOwnPropertyDescriptor(t,e)};VT.getOwnPropertyDescriptor.sham&&(UT.sham=!0);var YT=jT.exports,XT=i(YT),GT=of,KT=Z,$T=T,ZT=fa;Si({target:"Object",stat:!0,sham:!M},{getOwnPropertyDescriptors:function(t){for(var e,i,n=KT(t),o=$T.f,r=GT(n),s={},a=0;r.length>a;)void 0!==(i=o(n,e=r[a++]))&&ZT(s,e,i);return s}});var QT=i(et.Object.getOwnPropertyDescriptors),JT={exports:{}},tM=Si,eM=M,iM=Yo.f;tM({target:"Object",stat:!0,forced:Object.defineProperties!==iM,sham:!eM},{defineProperties:iM});var nM=et.Object,oM=JT.exports=function(t,e){return nM.defineProperties(t,e)};nM.defineProperties.sham&&(oM.sham=!0);var rM=i(JT.exports);let sM;const aM=new Uint8Array(16);function hM(){if(!sM&&(sM="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!sM))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return sM(aM)}const lM=[];for(let t=0;t<256;++t)lM.push((t+256).toString(16).slice(1));var dM,cM={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function uM(t,e,i){if(cM.randomUUID&&!e&&!t)return cM.randomUUID();const n=(t=t||{}).random||(t.rng||hM)();if(n[6]=15&n[6]|64,n[8]=63&n[8]|128,e){i=i||0;for(let t=0;t<16;++t)e[i+t]=n[t];return e}return function(t,e=0){return lM[t[e+0]]+lM[t[e+1]]+lM[t[e+2]]+lM[t[e+3]]+"-"+lM[t[e+4]]+lM[t[e+5]]+"-"+lM[t[e+6]]+lM[t[e+7]]+"-"+lM[t[e+8]]+lM[t[e+9]]+"-"+lM[t[e+10]]+lM[t[e+11]]+lM[t[e+12]]+lM[t[e+13]]+lM[t[e+14]]+lM[t[e+15]]}(n)}function fM(t,e){var i=gf(t);if(AT){var n=AT(t);e&&(n=Zp(n).call(n,(function(e){return XT(t,e).enumerable}))),i.push.apply(i,n)}return i}function pM(t){for(var e=1;e<arguments.length;e++){var i,n,o=null!=arguments[e]?arguments[e]:{};e%2?Bf(i=fM(Object(o),!0)).call(i,(function(e){p_(t,e,o[e])})):QT?rM(t,QT(o)):Bf(n=fM(Object(o))).call(n,(function(e){kT(t,e,XT(o,e))}))}return t}function vM(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}function gM(t,e){var i=void 0!==Vu&&dh(t)||t["@@iterator"];if(!i){if(sf(t)||(i=function(t,e){var i;if(!t)return;if("string"==typeof t)return yM(t,e);var n=Zu(i=Object.prototype.toString.call(t)).call(i,8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Ua(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return yM(t,e)}(t))||e&&t&&"number"==typeof t.length){i&&(t=i);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}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 r,s=!0,a=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return s=t.done,t},e:function(t){a=!0,r=t},f:function(){try{s||null==i.return||i.return()}finally{if(a)throw r}}}}function yM(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}var mM=function(){function t(e,i,n){var o,r,s;ch(this,t),p_(this,"_source",void 0),p_(this,"_transformers",void 0),p_(this,"_target",void 0),p_(this,"_listeners",{add:Ln(o=this._add).call(o,this),remove:Ln(r=this._remove).call(r,this),update:Ln(s=this._update).call(s,this)}),this._source=e,this._transformers=i,this._target=n}return pu(t,[{key:"all",value:function(){return this._target.update(this._transformItems(this._source.get())),this}},{key:"start",value:function(){return this._source.on("add",this._listeners.add),this._source.on("remove",this._listeners.remove),this._source.on("update",this._listeners.update),this}},{key:"stop",value:function(){return this._source.off("add",this._listeners.add),this._source.off("remove",this._listeners.remove),this._source.off("update",this._listeners.update),this}},{key:"_transformItems",value:function(t){var e;return VC(e=this._transformers).call(e,(function(t,e){return e(t)}),t)}},{key:"_add",value:function(t,e){null!=e&&this._target.add(this._transformItems(this._source.get(e.items)))}},{key:"_update",value:function(t,e){null!=e&&this._target.update(this._transformItems(this._source.get(e.items)))}},{key:"_remove",value:function(t,e){null!=e&&this._target.remove(this._transformItems(e.oldData))}}]),t}(),bM=function(){function t(e){ch(this,t),p_(this,"_source",void 0),p_(this,"_transformers",[]),this._source=e}return pu(t,[{key:"filter",value:function(t){return this._transformers.push((function(e){return Zp(e).call(e,t)})),this}},{key:"map",value:function(t){return this._transformers.push((function(e){return ff(e).call(e,t)})),this}},{key:"flatMap",value:function(t){return this._transformers.push((function(e){return sS(e).call(e,t)})),this}},{key:"to",value:function(t){return new mM(this._source,this._transformers,t)}}]),t}();function wM(t){return"string"==typeof t||"number"==typeof t}var kM=function(){function t(e){ch(this,t),p_(this,"delay",void 0),p_(this,"max",void 0),p_(this,"_queue",[]),p_(this,"_timeout",null),p_(this,"_extended",null),this.delay=null,this.max=1/0,this.setOptions(e)}return pu(t,[{key:"setOptions",value:function(t){t&&void 0!==t.delay&&(this.delay=t.delay),t&&void 0!==t.max&&(this.max=t.max),this._flushIfNeeded()}},{key:"destroy",value:function(){if(this.flush(),this._extended){for(var t=this._extended.object,e=this._extended.methods,i=0;i<e.length;i++){var n=e[i];n.original?t[n.name]=n.original:delete t[n.name]}this._extended=null}}},{key:"replace",value:function(t,e){var i=this,n=t[e];if(!n)throw new Error("Method "+e+" undefined");t[e]=function(){for(var t=arguments.length,e=new Array(t),o=0;o<t;o++)e[o]=arguments[o];i.queue({args:e,fn:n,context:this})}}},{key:"queue",value:function(t){"function"==typeof t?this._queue.push({fn:t}):this._queue.push(t),this._flushIfNeeded()}},{key:"_flushIfNeeded",value:function(){var t=this;this._queue.length>this.max&&this.flush(),null!=this._timeout&&(clearTimeout(this._timeout),this._timeout=null),this.queue.length>0&&"number"==typeof this.delay&&(this._timeout=vg((function(){t.flush()}),this.delay))}},{key:"flush",value:function(){var t,e;Bf(t=yp(e=this._queue).call(e,0)).call(t,(function(t){t.fn.apply(t.context||t.fn,t.args||[])}))}}],[{key:"extend",value:function(e,i){var n=new t(i);if(void 0!==e.flush)throw new Error("Target object already has a property flush");e.flush=function(){n.flush()};var o=[{name:"flush",original:void 0}];if(i&&i.replace)for(var r=0;r<i.replace.length;r++){var s=i.replace[r];o.push({name:s,original:e[s]}),n.replace(e,s)}return n._extended={object:e,methods:o},n}}]),t}(),_M=function(){function t(){ch(this,t),p_(this,"_subscribers",{"*":[],add:[],remove:[],update:[]}),p_(this,"subscribe",t.prototype.on),p_(this,"unsubscribe",t.prototype.off)}return pu(t,[{key:"_trigger",value:function(t,e,i){var n,o;if("*"===t)throw new Error("Cannot trigger event *");Bf(n=$u(o=[]).call(o,qu(this._subscribers[t]),qu(this._subscribers["*"]))).call(n,(function(n){n(t,e,null!=i?i:null)}))}},{key:"on",value:function(t,e){"function"==typeof e&&this._subscribers[t].push(e)}},{key:"off",value:function(t,e){var i;this._subscribers[t]=Zp(i=this._subscribers[t]).call(i,(function(t){return t!==e}))}}]),t}();dM=hS;var xM=function(){function t(e){ch(this,t),p_(this,"_pairs",void 0),this._pairs=e}return pu(t,[{key:dM,value:DC.mark((function t(){var e,i,n,o,r;return DC.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:e=gM(this._pairs),t.prev=1,e.s();case 3:if((i=e.n()).done){t.next=9;break}return n=Wu(i.value,2),o=n[0],r=n[1],t.next=7,[o,r];case 7:t.next=3;break;case 9:t.next=14;break;case 11:t.prev=11,t.t0=t.catch(1),e.e(t.t0);case 14:return t.prev=14,e.f(),t.finish(14);case 17:case"end":return t.stop()}}),t,this,[[1,11,14,17]])}))},{key:"entries",value:DC.mark((function t(){var e,i,n,o,r;return DC.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:e=gM(this._pairs),t.prev=1,e.s();case 3:if((i=e.n()).done){t.next=9;break}return n=Wu(i.value,2),o=n[0],r=n[1],t.next=7,[o,r];case 7:t.next=3;break;case 9:t.next=14;break;case 11:t.prev=11,t.t0=t.catch(1),e.e(t.t0);case 14:return t.prev=14,e.f(),t.finish(14);case 17:case"end":return t.stop()}}),t,this,[[1,11,14,17]])}))},{key:"keys",value:DC.mark((function t(){var e,i,n,o;return DC.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:e=gM(this._pairs),t.prev=1,e.s();case 3:if((i=e.n()).done){t.next=9;break}return n=Wu(i.value,1),o=n[0],t.next=7,o;case 7:t.next=3;break;case 9:t.next=14;break;case 11:t.prev=11,t.t0=t.catch(1),e.e(t.t0);case 14:return t.prev=14,e.f(),t.finish(14);case 17:case"end":return t.stop()}}),t,this,[[1,11,14,17]])}))},{key:"values",value:DC.mark((function t(){var e,i,n,o;return DC.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:e=gM(this._pairs),t.prev=1,e.s();case 3:if((i=e.n()).done){t.next=9;break}return n=Wu(i.value,2),o=n[1],t.next=7,o;case 7:t.next=3;break;case 9:t.next=14;break;case 11:t.prev=11,t.t0=t.catch(1),e.e(t.t0);case 14:return t.prev=14,e.f(),t.finish(14);case 17:case"end":return t.stop()}}),t,this,[[1,11,14,17]])}))},{key:"toIdArray",value:function(){var t;return ff(t=qu(this._pairs)).call(t,(function(t){return t[0]}))}},{key:"toItemArray",value:function(){var t;return ff(t=qu(this._pairs)).call(t,(function(t){return t[1]}))}},{key:"toEntryArray",value:function(){return qu(this._pairs)}},{key:"toObjectMap",value:function(){var t,e=Uv(null),i=gM(this._pairs);try{for(i.s();!(t=i.n()).done;){var n=Wu(t.value,2),o=n[0],r=n[1];e[o]=r}}catch(t){i.e(t)}finally{i.f()}return e}},{key:"toMap",value:function(){return new qk(this._pairs)}},{key:"toIdSet",value:function(){return new aS(this.toIdArray())}},{key:"toItemSet",value:function(){return new aS(this.toItemArray())}},{key:"cache",value:function(){return new t(qu(this._pairs))}},{key:"distinct",value:function(t){var e,i=new aS,n=gM(this._pairs);try{for(n.s();!(e=n.n()).done;){var o=Wu(e.value,2),r=o[0],s=o[1];i.add(t(s,r))}}catch(t){n.e(t)}finally{n.f()}return i}},{key:"filter",value:function(e){var i=this._pairs;return new t(p_({},hS,DC.mark((function t(){var n,o,r,s,a;return DC.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n=gM(i),t.prev=1,n.s();case 3:if((o=n.n()).done){t.next=10;break}if(r=Wu(o.value,2),s=r[0],a=r[1],!e(a,s)){t.next=8;break}return t.next=8,[s,a];case 8:t.next=3;break;case 10:t.next=15;break;case 12:t.prev=12,t.t0=t.catch(1),n.e(t.t0);case 15:return t.prev=15,n.f(),t.finish(15);case 18:case"end":return t.stop()}}),t,null,[[1,12,15,18]])}))))}},{key:"forEach",value:function(t){var e,i=gM(this._pairs);try{for(i.s();!(e=i.n()).done;){var n=Wu(e.value,2),o=n[0];t(n[1],o)}}catch(t){i.e(t)}finally{i.f()}}},{key:"map",value:function(e){var i=this._pairs;return new t(p_({},hS,DC.mark((function t(){var n,o,r,s,a;return DC.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n=gM(i),t.prev=1,n.s();case 3:if((o=n.n()).done){t.next=9;break}return r=Wu(o.value,2),s=r[0],a=r[1],t.next=7,[s,e(a,s)];case 7:t.next=3;break;case 9:t.next=14;break;case 11:t.prev=11,t.t0=t.catch(1),n.e(t.t0);case 14:return t.prev=14,n.f(),t.finish(14);case 17:case"end":return t.stop()}}),t,null,[[1,11,14,17]])}))))}},{key:"max",value:function(t){var e=lS(this._pairs),i=e.next();if(i.done)return null;for(var n=i.value[1],o=t(i.value[1],i.value[0]);!(i=e.next()).done;){var r=Wu(i.value,2),s=r[0],a=r[1],h=t(a,s);h>o&&(o=h,n=a)}return n}},{key:"min",value:function(t){var e=lS(this._pairs),i=e.next();if(i.done)return null;for(var n=i.value[1],o=t(i.value[1],i.value[0]);!(i=e.next()).done;){var r=Wu(i.value,2),s=r[0],a=r[1],h=t(a,s);h<o&&(o=h,n=a)}return n}},{key:"reduce",value:function(t,e){var i,n=gM(this._pairs);try{for(n.s();!(i=n.n()).done;){var o=Wu(i.value,2),r=o[0];e=t(e,o[1],r)}}catch(t){n.e(t)}finally{n.f()}return e}},{key:"sort",value:function(e){var i=this;return new t(p_({},hS,(function(){var t;return lS(XS(t=qu(i._pairs)).call(t,(function(t,i){var n=Wu(t,2),o=n[0],r=n[1],s=Wu(i,2),a=s[0],h=s[1];return e(r,h,o,a)})))})))}}]),t}();var EM=function(t){l_(i,t);var e=vM(i);function i(t,n){var o;return ch(this,i),p_(i_(o=e.call(this)),"flush",void 0),p_(i_(o),"length",void 0),p_(i_(o),"_options",void 0),p_(i_(o),"_data",void 0),p_(i_(o),"_idProp",void 0),p_(i_(o),"_queue",null),t&&!sf(t)&&(n=t,t=[]),o._options=n||{},o._data=new qk,o.length=0,o._idProp=o._options.fieldId||"id",t&&t.length&&o.add(t),o.setOptions(n),o}return pu(i,[{key:"idProp",get:function(){return this._idProp}},{key:"setOptions",value:function(t){t&&void 0!==t.queue&&(!1===t.queue?this._queue&&(this._queue.destroy(),this._queue=null):(this._queue||(this._queue=kM.extend(this,{replace:["add","update","remove"]})),t.queue&&"object"===du(t.queue)&&this._queue.setOptions(t.queue)))}},{key:"add",value:function(t,e){var i,n=this,o=[];if(sf(t)){var r=ff(t).call(t,(function(t){return t[n._idProp]}));if(e_(r).call(r,(function(t){return n._data.has(t)})))throw new Error("A duplicate id was found in the parameter array.");for(var s=0,a=t.length;s<a;s++)i=this._addItem(t[s]),o.push(i)}else{if(!t||"object"!==du(t))throw new Error("Unknown dataType");i=this._addItem(t),o.push(i)}return o.length&&this._trigger("add",{items:o},e),o}},{key:"update",value:function(t,e){var i=this,n=[],o=[],r=[],s=[],a=this._idProp,h=function(t){var e=t[a];if(null!=e&&i._data.has(e)){var h=t,l=mn({},i._data.get(e)),d=i._updateItem(h);o.push(d),s.push(h),r.push(l)}else{var c=i._addItem(t);n.push(c)}};if(sf(t))for(var l=0,d=t.length;l<d;l++)t[l]&&"object"===du(t[l])?h(t[l]):console.warn("Ignoring input item, which is not an object at index "+l);else{if(!t||"object"!==du(t))throw new Error("Unknown dataType");h(t)}if(n.length&&this._trigger("add",{items:n},e),o.length){var c={items:o,oldData:r,data:s};this._trigger("update",c,e)}return $u(n).call(n,o)}},{key:"updateOnly",value:function(t,e){var i,n=this;sf(t)||(t=[t]);var o=ff(i=ff(t).call(t,(function(t){var e=n._data.get(t[n._idProp]);if(null==e)throw new Error("Updating non-existent items is not allowed.");return{oldData:e,update:t}}))).call(i,(function(t){var e=t.oldData,i=t.update,o=e[n._idProp],r=Om(e,i);return n._data.set(o,r),{id:o,oldData:e,updatedData:r}}));if(o.length){var r={items:ff(o).call(o,(function(t){return t.id})),oldData:ff(o).call(o,(function(t){return t.oldData})),data:ff(o).call(o,(function(t){return t.updatedData}))};return this._trigger("update",r,e),r.items}return[]}},{key:"get",value:function(t,e){var i=void 0,n=void 0,o=void 0;wM(t)?(i=t,o=e):sf(t)?(n=t,o=e):o=t;var r,s=o&&"Object"===o.returnType?"Object":"Array",a=o&&Zp(o),h=[],l=void 0,d=void 0,c=void 0;if(null!=i)(l=this._data.get(i))&&a&&!a(l)&&(l=void 0);else if(null!=n)for(var u=0,f=n.length;u<f;u++)null==(l=this._data.get(n[u]))||a&&!a(l)||h.push(l);else for(var p,v=0,g=(d=qu(iT(p=this._data).call(p))).length;v<g;v++)c=d[v],null==(l=this._data.get(c))||a&&!a(l)||h.push(l);if(o&&o.order&&null==i&&this._sort(h,o.order),o&&o.fields){var y=o.fields;if(null!=i&&null!=l)l=this._filterFields(l,y);else for(var m=0,b=h.length;m<b;m++)h[m]=this._filterFields(h[m],y)}if("Object"==s){for(var w={},k=0,_=h.length;k<_;k++){var x=h[k];w[x[this._idProp]]=x}return w}return null!=i?null!==(r=l)&&void 0!==r?r:null:h}},{key:"getIds",value:function(t){var e=this._data,i=t&&Zp(t),n=t&&t.order,o=qu(iT(e).call(e)),r=[];if(i)if(n){for(var s=[],a=0,h=o.length;a<h;a++){var l=o[a],d=this._data.get(l);null!=d&&i(d)&&s.push(d)}this._sort(s,n);for(var c=0,u=s.length;c<u;c++)r.push(s[c][this._idProp])}else for(var f=0,p=o.length;f<p;f++){var v=o[f],g=this._data.get(v);null!=g&&i(g)&&r.push(g[this._idProp])}else if(n){for(var y=[],m=0,b=o.length;m<b;m++){var w=o[m];y.push(e.get(w))}this._sort(y,n);for(var k=0,_=y.length;k<_;k++)r.push(y[k][this._idProp])}else for(var x=0,E=o.length;x<E;x++){var O=o[x],C=e.get(O);null!=C&&r.push(C[this._idProp])}return r}},{key:"getDataSet",value:function(){return this}},{key:"forEach",value:function(t,e){var i=e&&Zp(e),n=this._data,o=qu(iT(n).call(n));if(e&&e.order)for(var r=this.get(e),s=0,a=r.length;s<a;s++){var h=r[s];t(h,h[this._idProp])}else for(var l=0,d=o.length;l<d;l++){var c=o[l],u=this._data.get(c);null==u||i&&!i(u)||t(u,c)}}},{key:"map",value:function(t,e){for(var i=e&&Zp(e),n=[],o=this._data,r=qu(iT(o).call(o)),s=0,a=r.length;s<a;s++){var h=r[s],l=this._data.get(h);null==l||i&&!i(l)||n.push(t(l,h))}return e&&e.order&&this._sort(n,e.order),n}},{key:"_filterFields",value:function(t,e){var i;return t?VC(i=sf(e)?e:gf(e)).call(i,(function(e,i){return e[i]=t[i],e}),{}):t}},{key:"_sort",value:function(t,e){if("string"==typeof e){var i=e;XS(t).call(t,(function(t,e){var n=t[i],o=e[i];return n>o?1:n<o?-1:0}))}else{if("function"!=typeof e)throw new TypeError("Order must be a function or a string");XS(t).call(t,e)}}},{key:"remove",value:function(t,e){for(var i=[],n=[],o=sf(t)?t:[t],r=0,s=o.length;r<s;r++){var a=this._remove(o[r]);if(a){var h=a[this._idProp];null!=h&&(i.push(h),n.push(a))}}return i.length&&this._trigger("remove",{items:i,oldData:n},e),i}},{key:"_remove",value:function(t){var e;if(wM(t)?e=t:t&&"object"===du(t)&&(e=t[this._idProp]),null!=e&&this._data.has(e)){var i=this._data.get(e)||null;return this._data.delete(e),--this.length,i}return null}},{key:"clear",value:function(t){for(var e,i=qu(iT(e=this._data).call(e)),n=[],o=0,r=i.length;o<r;o++)n.push(this._data.get(i[o]));return this._data.clear(),this.length=0,this._trigger("remove",{items:i,oldData:n},t),i}},{key:"max",value:function(t){var e,i,n=null,o=null,r=gM(cT(e=this._data).call(e));try{for(r.s();!(i=r.n()).done;){var s=i.value,a=s[t];"number"==typeof a&&(null==o||a>o)&&(n=s,o=a)}}catch(t){r.e(t)}finally{r.f()}return n||null}},{key:"min",value:function(t){var e,i,n=null,o=null,r=gM(cT(e=this._data).call(e));try{for(r.s();!(i=r.n()).done;){var s=i.value,a=s[t];"number"==typeof a&&(null==o||a<o)&&(n=s,o=a)}}catch(t){r.e(t)}finally{r.f()}return n||null}},{key:"distinct",value:function(t){for(var e=this._data,i=qu(iT(e).call(e)),n=[],o=0,r=0,s=i.length;r<s;r++){for(var a=i[r],h=e.get(a)[t],l=!1,d=0;d<o;d++)if(n[d]==h){l=!0;break}l||void 0===h||(n[o]=h,o++)}return n}},{key:"_addItem",value:function(t){var e=function(t,e){return null==t[e]&&(t[e]=uM()),t}(t,this._idProp),i=e[this._idProp];if(this._data.has(i))throw new Error("Cannot add item: item with id "+i+" already exists");return this._data.set(i,e),++this.length,i}},{key:"_updateItem",value:function(t){var e=t[this._idProp];if(null==e)throw new Error("Cannot update item: item has no id (item: "+Kv(t)+")");var i=this._data.get(e);if(!i)throw new Error("Cannot update item: no item with id "+e+" found");return this._data.set(e,pM(pM({},i),t)),e}},{key:"stream",value:function(t){if(t){var e=this._data;return new xM(p_({},hS,DC.mark((function i(){var n,o,r,s;return DC.wrap((function(i){for(;;)switch(i.prev=i.next){case 0:n=gM(t),i.prev=1,n.s();case 3:if((o=n.n()).done){i.next=11;break}if(r=o.value,null==(s=e.get(r))){i.next=9;break}return i.next=9,[r,s];case 9:i.next=3;break;case 11:i.next=16;break;case 13:i.prev=13,i.t0=i.catch(1),n.e(i.t0);case 16:return i.prev=16,n.f(),i.finish(16);case 19:case"end":return i.stop()}}),i,null,[[1,13,16,19]])}))))}var i;return new xM(p_({},hS,Ln(i=wT(this._data)).call(i,this._data)))}}]),i}(_M),OM=function(t){l_(i,t);var e=vM(i);function i(t,n){var o,r;return ch(this,i),p_(i_(r=e.call(this)),"length",0),p_(i_(r),"_listener",void 0),p_(i_(r),"_data",void 0),p_(i_(r),"_ids",new aS),p_(i_(r),"_options",void 0),r._options=n||{},r._listener=Ln(o=r._onEvent).call(o,i_(r)),r.setData(t),r}return pu(i,[{key:"idProp",get:function(){return this.getDataSet().idProp}},{key:"setData",value:function(t){if(this._data){this._data.off&&this._data.off("*",this._listener);var e=this._data.getIds({filter:Zp(this._options)}),i=this._data.get(e);this._ids.clear(),this.length=0,this._trigger("remove",{items:e,oldData:i})}if(null!=t){this._data=t;for(var n=this._data.getIds({filter:Zp(this._options)}),o=0,r=n.length;o<r;o++){var s=n[o];this._ids.add(s)}this.length=n.length,this._trigger("add",{items:n})}else this._data=new EM;this._data.on&&this._data.on("*",this._listener)}},{key:"refresh",value:function(){for(var t=this._data.getIds({filter:Zp(this._options)}),e=qu(this._ids),i={},n=[],o=[],r=[],s=0,a=t.length;s<a;s++){var h=t[s];i[h]=!0,this._ids.has(h)||(n.push(h),this._ids.add(h))}for(var l=0,d=e.length;l<d;l++){var c=e[l],u=this._data.get(c);null==u?console.error("If you see this, report it please."):i[c]||(o.push(c),r.push(u),this._ids.delete(c))}this.length+=n.length-o.length,n.length&&this._trigger("add",{items:n}),o.length&&this._trigger("remove",{items:o,oldData:r})}},{key:"get",value:function(t,e){if(null==this._data)return null;var i,n=null;wM(t)||sf(t)?(n=t,i=e):i=t;var o=mn({},this._options,i),r=Zp(this._options),s=i&&Zp(i);return r&&s&&(o.filter=function(t){return r(t)&&s(t)}),null==n?this._data.get(o):this._data.get(n,o)}},{key:"getIds",value:function(t){if(this._data.length){var e,i=Zp(this._options),n=null!=t?Zp(t):null;return e=n?i?function(t){return i(t)&&n(t)}:n:i,this._data.getIds({filter:e,order:t&&t.order})}return[]}},{key:"forEach",value:function(t,e){if(this._data){var i,n,o=Zp(this._options),r=e&&Zp(e);n=r?o?function(t){return o(t)&&r(t)}:r:o,Bf(i=this._data).call(i,t,{filter:n,order:e&&e.order})}}},{key:"map",value:function(t,e){if(this._data){var i,n,o=Zp(this._options),r=e&&Zp(e);return n=r?o?function(t){return o(t)&&r(t)}:r:o,ff(i=this._data).call(i,t,{filter:n,order:e&&e.order})}return[]}},{key:"getDataSet",value:function(){return this._data.getDataSet()}},{key:"stream",value:function(t){var e;return this._data.stream(t||p_({},hS,Ln(e=iT(this._ids)).call(e,this._ids)))}},{key:"dispose",value:function(){var t;null!==(t=this._data)&&void 0!==t&&t.off&&this._data.off("*",this._listener);var e,n="This data view has already been disposed of.",o={get:function(){throw new Error(n)},set:function(){throw new Error(n)},configurable:!1},r=gM(rf(i.prototype));try{for(r.s();!(e=r.n()).done;){var s=e.value;kT(this,s,o)}}catch(t){r.e(t)}finally{r.f()}}},{key:"_onEvent",value:function(t,e,i){if(e&&e.items&&this._data){var n=e.items,o=[],r=[],s=[],a=[],h=[],l=[];switch(t){case"add":for(var d=0,c=n.length;d<c;d++){var u=n[d];this.get(u)&&(this._ids.add(u),o.push(u))}break;case"update":for(var f=0,p=n.length;f<p;f++){var v=n[f];this.get(v)?this._ids.has(v)?(r.push(v),h.push(e.data[f]),a.push(e.oldData[f])):(this._ids.add(v),o.push(v)):this._ids.has(v)&&(this._ids.delete(v),s.push(v),l.push(e.oldData[f]))}break;case"remove":for(var g=0,y=n.length;g<y;g++){var m=n[g];this._ids.has(m)&&(this._ids.delete(m),s.push(m),l.push(e.oldData[g]))}}this.length+=o.length-s.length,o.length&&this._trigger("add",{items:o},i),r.length&&this._trigger("update",{items:r,oldData:a,data:h},i),s.length&&this._trigger("remove",{items:s,oldData:l},i)}}}]),i}(_M);function CM(t,e){return"object"===du(e)&&null!==e&&t===e.idProp&&"function"==typeof e.add&&"function"==typeof e.clear&&"function"==typeof e.distinct&&"function"==typeof Bf(e)&&"function"==typeof e.get&&"function"==typeof e.getDataSet&&"function"==typeof e.getIds&&"number"==typeof e.length&&"function"==typeof ff(e)&&"function"==typeof e.max&&"function"==typeof e.min&&"function"==typeof e.off&&"function"==typeof e.on&&"function"==typeof e.remove&&"function"==typeof e.setOptions&&"function"==typeof e.stream&&"function"==typeof e.update&&"function"==typeof e.updateOnly}function SM(t,e){return"object"===du(e)&&null!==e&&t===e.idProp&&"function"==typeof Bf(e)&&"function"==typeof e.get&&"function"==typeof e.getDataSet&&"function"==typeof e.getIds&&"number"==typeof e.length&&"function"==typeof ff(e)&&"function"==typeof e.off&&"function"==typeof e.on&&"function"==typeof e.stream&&CM(t,e.getDataSet())}var TM=Object.freeze({__proto__:null,DELETE:Em,DataSet:EM,DataStream:xM,DataView:OM,Queue:kM,createNewDataPipeFrom:function(t){return new bM(t)},isDataSetLike:CM,isDataViewLike:SM}),MM=o,PM=r,DM=lo,IM=gv.trim,BM=hv,NM=g("".charAt),FM=MM.parseFloat,zM=MM.Symbol,AM=zM&&zM.iterator,jM=1/FM(BM+"-0")!=-1/0||AM&&!PM((function(){FM(Object(AM))}))?function(t){var e=IM(DM(t)),i=FM(e);return 0===i&&"-"==NM(e,0)?-0:i}:FM;Si({global:!0,forced:parseFloat!=jM},{parseFloat:jM});var RM=i(et.parseFloat),LM=Si,HM=r,WM=Jh.f;LM({target:"Object",stat:!0,forced:HM((function(){return!Object.getOwnPropertyNames(1)}))},{getOwnPropertyNames:WM});var qM=et.Object,VM=function(t){return qM.getOwnPropertyNames(t)},UM=i(VM);function YM(t,e){var i=["node","edge","label"],n=!0,o=mb(e,"chosen");if("boolean"==typeof o)n=o;else if("object"===du(o)){if(-1===Lv(i).call(i,t))throw new Error("choosify: subOption '"+t+"' should be one of '"+i.join("', '")+"'");var r=mb(e,["chosen",t]);"boolean"!=typeof r&&"function"!=typeof r||(n=r)}return n}function XM(t,e,i){if(t.width<=0||t.height<=0)return!1;if(void 0!==i){var n={x:e.x-i.x,y:e.y-i.y};if(0!==i.angle){var o=-i.angle;e={x:Math.cos(o)*n.x-Math.sin(o)*n.y,y:Math.sin(o)*n.x+Math.cos(o)*n.y}}else e=n}var r=t.x+t.width,s=t.y+t.width;return t.left<e.x&&r>e.x&&t.top<e.y&&s>e.y}function GM(t){return"string"==typeof t&&""!==t}function KM(t,e,i,n){var o=n.x,r=n.y;if("function"==typeof n.distanceToBorder){var s=n.distanceToBorder(t,e),a=Math.sin(e)*s,h=Math.cos(e)*s;h===s?(o+=s,r=n.y):a===s?(o=n.x,r-=s):(o+=h,r-=a)}else n.shape.width>n.shape.height?(o=n.x+.5*n.shape.width,r=n.y-i):(o=n.x+i,r=n.y-.5*n.shape.height);return{x:o,y:r}}var $M=function(){function t(e){ch(this,t),this.measureText=e,this.current=0,this.width=0,this.height=0,this.lines=[]}return pu(t,[{key:"_add",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"normal";void 0===this.lines[t]&&(this.lines[t]={width:0,height:0,blocks:[]});var n=e;void 0!==e&&""!==e||(n=" ");var o=this.measureText(n,i),r=mn({},cT(o));r.text=e,r.width=o.width,r.mod=i,void 0!==e&&""!==e||(r.width=0),this.lines[t].blocks.push(r),this.lines[t].width+=r.width}},{key:"curWidth",value:function(){var t=this.lines[this.current];return void 0===t?0:t.width}},{key:"append",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"normal";this._add(this.current,t,e)}},{key:"newLine",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"normal";this._add(this.current,t,e),this.current++}},{key:"determineLineHeights",value:function(){for(var t=0;t<this.lines.length;t++){var e=this.lines[t],i=0;if(void 0!==e.blocks)for(var n=0;n<e.blocks.length;n++){var o=e.blocks[n];i<o.height&&(i=o.height)}e.height=i}}},{key:"determineLabelSize",value:function(){for(var t=0,e=0,i=0;i<this.lines.length;i++){var n=this.lines[i];n.width>t&&(t=n.width),e+=n.height}this.width=t,this.height=e}},{key:"removeEmptyBlocks",value:function(){for(var t=[],e=0;e<this.lines.length;e++){var i=this.lines[e];if(0!==i.blocks.length&&(e!==this.lines.length-1||0!==i.width)){var n={};mn(n,i),n.blocks=[];for(var o=void 0,r=[],s=0;s<i.blocks.length;s++){var a=i.blocks[s];0!==a.width?r.push(a):void 0===o&&(o=a)}0===r.length&&void 0!==o&&r.push(o),n.blocks=r,t.push(n)}}return t}},{key:"finalize",value:function(){this.determineLineHeights(),this.determineLabelSize();var t=this.removeEmptyBlocks();return{width:this.width,height:this.height,lines:t}}}]),t}(),ZM={"<b>":/<b>/,"<i>":/<i>/,"<code>":/<code>/,"</b>":/<\/b>/,"</i>":/<\/i>/,"</code>":/<\/code>/,"*":/\*/,_:/_/,"`":/`/,afterBold:/[^*]/,afterItal:/[^_]/,afterMono:/[^`]/},QM=function(){function t(e){ch(this,t),this.text=e,this.bold=!1,this.ital=!1,this.mono=!1,this.spacing=!1,this.position=0,this.buffer="",this.modStack=[],this.blocks=[]}return pu(t,[{key:"mod",value:function(){return 0===this.modStack.length?"normal":this.modStack[0]}},{key:"modName",value:function(){return 0===this.modStack.length?"normal":"mono"===this.modStack[0]?"mono":this.bold&&this.ital?"boldital":this.bold?"bold":this.ital?"ital":void 0}},{key:"emitBlock",value:function(){this.spacing&&(this.add(" "),this.spacing=!1),this.buffer.length>0&&(this.blocks.push({text:this.buffer,mod:this.modName()}),this.buffer="")}},{key:"add",value:function(t){" "===t&&(this.spacing=!0),this.spacing&&(this.buffer+=" ",this.spacing=!1)," "!=t&&(this.buffer+=t)}},{key:"parseWS",value:function(t){return!!/[ \t]/.test(t)&&(this.mono?this.add(t):this.spacing=!0,!0)}},{key:"setTag",value:function(t){this.emitBlock(),this[t]=!0,this.modStack.unshift(t)}},{key:"unsetTag",value:function(t){this.emitBlock(),this[t]=!1,this.modStack.shift()}},{key:"parseStartTag",value:function(t,e){return!(this.mono||this[t]||!this.match(e))&&(this.setTag(t),!0)}},{key:"match",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=Wu(this.prepareRegExp(t),2),n=i[0],o=i[1],r=n.test(this.text.substr(this.position,o));return r&&e&&(this.position+=o-1),r}},{key:"parseEndTag",value:function(t,e,i){var n=this.mod()===t;return!(!(n="mono"===t?n&&this.mono:n&&!this.mono)||!this.match(e))&&(void 0!==i?(this.position===this.text.length-1||this.match(i,!1))&&this.unsetTag(t):this.unsetTag(t),!0)}},{key:"replace",value:function(t,e){return!!this.match(t)&&(this.add(e),this.position+=length-1,!0)}},{key:"prepareRegExp",value:function(t){var e,i;if(t instanceof RegExp)i=t,e=1;else{var n=ZM[t];i=void 0!==n?n:new RegExp(t),e=t.length}return[i,e]}}]),t}(),JM=function(){function t(e,i,n,o){var r=this;ch(this,t),this.ctx=e,this.parent=i,this.selected=n,this.hover=o;this.lines=new $M((function(t,i){if(void 0===t)return 0;var s=r.parent.getFormattingValues(e,n,o,i),a=0;""!==t&&(a=r.ctx.measureText(t).width);return{width:a,values:s}}))}return pu(t,[{key:"process",value:function(t){if(!GM(t))return this.lines.finalize();var e=this.parent.fontOptions;t=(t=t.replace(/\r\n/g,"\n")).replace(/\r/g,"\n");var i=String(t).split("\n"),n=i.length;if(e.multi)for(var o=0;o<n;o++){var r=this.splitBlocks(i[o],e.multi);if(void 0!==r)if(0!==r.length){if(e.maxWdt>0)for(var s=0;s<r.length;s++){var a=r[s].mod,h=r[s].text;this.splitStringIntoLines(h,a,!0)}else for(var l=0;l<r.length;l++){var d=r[l].mod,c=r[l].text;this.lines.append(c,d)}this.lines.newLine()}else this.lines.newLine("")}else if(e.maxWdt>0)for(var u=0;u<n;u++)this.splitStringIntoLines(i[u]);else for(var f=0;f<n;f++)this.lines.newLine(i[f]);return this.lines.finalize()}},{key:"decodeMarkupSystem",value:function(t){var e="none";return"markdown"===t||"md"===t?e="markdown":!0!==t&&"html"!==t||(e="html"),e}},{key:"splitHtmlBlocks",value:function(t){for(var e=new QM(t),i=function(t){return!!/&/.test(t)&&(e.replace(e.text,"&lt;","<")||e.replace(e.text,"&amp;","&")||e.add("&"),!0)};e.position<e.text.length;){var n=e.text.charAt(e.position);e.parseWS(n)||/</.test(n)&&(e.parseStartTag("bold","<b>")||e.parseStartTag("ital","<i>")||e.parseStartTag("mono","<code>")||e.parseEndTag("bold","</b>")||e.parseEndTag("ital","</i>")||e.parseEndTag("mono","</code>"))||i(n)||e.add(n),e.position++}return e.emitBlock(),e.blocks}},{key:"splitMarkdownBlocks",value:function(t){for(var e=this,i=new QM(t),n=!0,o=function(t){return!!/\\/.test(t)&&(i.position<e.text.length+1&&(i.position++,t=e.text.charAt(i.position),/ \t/.test(t)?i.spacing=!0:(i.add(t),n=!1)),!0)};i.position<i.text.length;){var r=i.text.charAt(i.position);i.parseWS(r)||o(r)||(n||i.spacing)&&(i.parseStartTag("bold","*")||i.parseStartTag("ital","_")||i.parseStartTag("mono","`"))||i.parseEndTag("bold","*","afterBold")||i.parseEndTag("ital","_","afterItal")||i.parseEndTag("mono","`","afterMono")||(i.add(r),n=!1),i.position++}return i.emitBlock(),i.blocks}},{key:"splitBlocks",value:function(t,e){var i=this.decodeMarkupSystem(e);return"none"===i?[{text:t,mod:"normal"}]:"markdown"===i?this.splitMarkdownBlocks(t):"html"===i?this.splitHtmlBlocks(t):void 0}},{key:"overMaxWidth",value:function(t){var e=this.ctx.measureText(t).width;return this.lines.curWidth()+e>this.parent.fontOptions.maxWdt}},{key:"getLongestFit",value:function(t){for(var e="",i=0;i<t.length;){var n=e+(""===e?"":" ")+t[i];if(this.overMaxWidth(n))break;e=n,i++}return i}},{key:"getLongestFitWord",value:function(t){for(var e=0;e<t.length&&!this.overMaxWidth(Zu(t).call(t,0,e));)e++;return e}},{key:"splitStringIntoLines",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"normal",i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];this.parent.getFormattingValues(this.ctx,this.selected,this.hover,e);for(var n=(t=(t=t.replace(/^( +)/g,"$1\r")).replace(/([^\r][^ ]*)( +)/g,"$1\r$2\r")).split("\r");n.length>0;){var o=this.getLongestFit(n);if(0===o){var r=n[0],s=this.getLongestFitWord(r);this.lines.newLine(Zu(r).call(r,0,s),e),n[0]=Zu(r).call(r,s)}else{var a=o;" "===n[o-1]?o--:" "===n[a]&&a++;var h=Zu(n).call(n,0,o).join("");o==n.length&&i?this.lines.append(h,e):this.lines.newLine(h,e),n=Zu(n).call(n,a)}}}}]),t}(),tP=["bold","ital","boldital","mono"],eP=function(){function t(e,i){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];ch(this,t),this.body=e,this.pointToSelf=!1,this.baseSize=void 0,this.fontOptions={},this.setOptions(i),this.size={top:0,left:0,width:0,height:0,yLine:0},this.isEdgeLabel=n}return pu(t,[{key:"setOptions",value:function(t){if(this.elementOptions=t,this.initFontOptions(t.font),GM(t.label)?this.labelDirty=!0:t.label=void 0,void 0!==t.font&&null!==t.font)if("string"==typeof t.font)this.baseSize=this.fontOptions.size;else if("object"===du(t.font)){var e=t.font.size;void 0!==e&&(this.baseSize=e)}}},{key:"initFontOptions",value:function(e){var i=this;Qm(tP,(function(t){i.fontOptions[t]={}})),t.parseFontString(this.fontOptions,e)?this.fontOptions.vadjust=0:Qm(e,(function(t,e){null!=t&&"object"!==du(t)&&(i.fontOptions[e]=t)}))}},{key:"constrain",value:function(t){var e={constrainWidth:!1,maxWdt:-1,minWdt:-1,constrainHeight:!1,minHgt:-1,valign:"middle"},i=mb(t,"widthConstraint");if("number"==typeof i)e.maxWdt=Number(i),e.minWdt=Number(i);else if("object"===du(i)){var n=mb(t,["widthConstraint","maximum"]);"number"==typeof n&&(e.maxWdt=Number(n));var o=mb(t,["widthConstraint","minimum"]);"number"==typeof o&&(e.minWdt=Number(o))}var r=mb(t,"heightConstraint");if("number"==typeof r)e.minHgt=Number(r);else if("object"===du(r)){var s=mb(t,["heightConstraint","minimum"]);"number"==typeof s&&(e.minHgt=Number(s));var a=mb(t,["heightConstraint","valign"]);"string"==typeof a&&("top"!==a&&"bottom"!==a||(e.valign=a))}return e}},{key:"update",value:function(t,e){this.setOptions(t,!0),this.propagateFonts(e),Xm(this.fontOptions,this.constrain(e)),this.fontOptions.chooser=YM("label",e)}},{key:"adjustSizes",value:function(t){var e=t?t.right+t.left:0;this.fontOptions.constrainWidth&&(this.fontOptions.maxWdt-=e,this.fontOptions.minWdt-=e);var i=t?t.top+t.bottom:0;this.fontOptions.constrainHeight&&(this.fontOptions.minHgt-=i)}},{key:"addFontOptionsToPile",value:function(t,e){for(var i=0;i<e.length;++i)this.addFontToPile(t,e[i])}},{key:"addFontToPile",value:function(t,e){if(void 0!==e&&void 0!==e.font&&null!==e.font){var i=e.font;t.push(i)}}},{key:"getBasicOptions",value:function(e){for(var i={},n=0;n<e.length;++n){var o=e[n],r={};t.parseFontString(r,o)&&(o=r),Qm(o,(function(t,e){void 0!==t&&(Object.prototype.hasOwnProperty.call(i,e)||(-1!==Lv(tP).call(tP,e)?i[e]={}:i[e]=t))}))}return i}},{key:"getFontOption",value:function(e,i,n){for(var o,r=0;r<e.length;++r){var s=e[r];if(Object.prototype.hasOwnProperty.call(s,i)){if(null==(o=s[i]))continue;var a={};if(t.parseFontString(a,o)&&(o=a),Object.prototype.hasOwnProperty.call(o,n))return o[n]}}if(Object.prototype.hasOwnProperty.call(this.fontOptions,n))return this.fontOptions[n];throw new Error("Did not find value for multi-font for property: '"+n+"'")}},{key:"getFontOptions",value:function(t,e){for(var i={},n=["color","size","face","mod","vadjust"],o=0;o<n.length;++o){var r=n[o];i[r]=this.getFontOption(t,e,r)}return i}},{key:"propagateFonts",value:function(t){var e=this,i=[];this.addFontOptionsToPile(i,t),this.fontOptions=this.getBasicOptions(i);for(var n=function(){var t=tP[o],n=e.fontOptions[t];Qm(e.getFontOptions(i,t),(function(t,e){n[e]=t})),n.size=Number(n.size),n.vadjust=Number(n.vadjust)},o=0;o<tP.length;++o)n()}},{key:"draw",value:function(t,e,i,n,o){var r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"middle";if(void 0!==this.elementOptions.label){var s=this.fontOptions.size*this.body.view.scale;this.elementOptions.label&&s<this.elementOptions.scaling.label.drawThreshold-1||(s>=this.elementOptions.scaling.label.maxVisible&&(s=Number(this.elementOptions.scaling.label.maxVisible)/this.body.view.scale),this.calculateLabelSize(t,n,o,e,i,r),this._drawBackground(t),this._drawText(t,e,this.size.yLine,r,s))}}},{key:"_drawBackground",value:function(t){if(void 0!==this.fontOptions.background&&"none"!==this.fontOptions.background){t.fillStyle=this.fontOptions.background;var e=this.getSize();t.fillRect(e.left,e.top,e.width,e.height)}}},{key:"_drawText",value:function(t,e,i){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"middle",o=arguments.length>4?arguments[4]:void 0,r=Wu(this._setAlignment(t,e,i,n),2);e=r[0],i=r[1],t.textAlign="left",e-=this.size.width/2,this.fontOptions.valign&&this.size.height>this.size.labelHeight&&("top"===this.fontOptions.valign&&(i-=(this.size.height-this.size.labelHeight)/2),"bottom"===this.fontOptions.valign&&(i+=(this.size.height-this.size.labelHeight)/2));for(var s=0;s<this.lineCount;s++){var a=this.lines[s];if(a&&a.blocks){var h=0;this.isEdgeLabel||"center"===this.fontOptions.align?h+=(this.size.width-a.width)/2:"right"===this.fontOptions.align&&(h+=this.size.width-a.width);for(var l=0;l<a.blocks.length;l++){var d=a.blocks[l];t.font=d.font;var c=Wu(this._getColor(d.color,o,d.strokeColor),2),u=c[0],f=c[1];d.strokeWidth>0&&(t.lineWidth=d.strokeWidth,t.strokeStyle=f,t.lineJoin="round"),t.fillStyle=u,d.strokeWidth>0&&t.strokeText(d.text,e+h,i+d.vadjust),t.fillText(d.text,e+h,i+d.vadjust),h+=d.width}i+=a.height}}}},{key:"_setAlignment",value:function(t,e,i,n){if(this.isEdgeLabel&&"horizontal"!==this.fontOptions.align&&!1===this.pointToSelf){e=0,i=0;"top"===this.fontOptions.align?(t.textBaseline="alphabetic",i-=4):"bottom"===this.fontOptions.align?(t.textBaseline="hanging",i+=4):t.textBaseline="middle"}else t.textBaseline=n;return[e,i]}},{key:"_getColor",value:function(t,e,i){var n=t||"#000000",o=i||"#ffffff";if(e<=this.elementOptions.scaling.label.drawThreshold){var r=Math.max(0,Math.min(1,1-(this.elementOptions.scaling.label.drawThreshold-e)));n=ob(n,r),o=ob(o,r)}return[n,o]}},{key:"getTextSize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return this._processLabel(t,e,i),{width:this.size.width,height:this.size.height,lineCount:this.lineCount}}},{key:"getSize",value:function(){var t=this.size.left,e=this.size.top-1;if(this.isEdgeLabel){var i=.5*-this.size.width;switch(this.fontOptions.align){case"middle":t=i,e=.5*-this.size.height;break;case"top":t=i,e=-(this.size.height+2);break;case"bottom":t=i,e=2}}return{left:t,top:e,width:this.size.width,height:this.size.height}}},{key:"calculateLabelSize",value:function(t,e,i){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"middle";this._processLabel(t,e,i),this.size.left=n-.5*this.size.width,this.size.top=o-.5*this.size.height,this.size.yLine=o+.5*(1-this.lineCount)*this.fontOptions.size,"hanging"===r&&(this.size.top+=.5*this.fontOptions.size,this.size.top+=4,this.size.yLine+=4)}},{key:"getFormattingValues",value:function(t,e,i,n){var o=function(t,e,i){return"normal"===e?"mod"===i?"":t[i]:void 0!==t[e][i]?t[e][i]:t[i]},r={color:o(this.fontOptions,n,"color"),size:o(this.fontOptions,n,"size"),face:o(this.fontOptions,n,"face"),mod:o(this.fontOptions,n,"mod"),vadjust:o(this.fontOptions,n,"vadjust"),strokeWidth:this.fontOptions.strokeWidth,strokeColor:this.fontOptions.strokeColor};(e||i)&&("normal"===n&&!0===this.fontOptions.chooser&&this.elementOptions.labelHighlightBold?r.mod="bold":"function"==typeof this.fontOptions.chooser&&this.fontOptions.chooser(r,this.elementOptions.id,e,i));var s="";return void 0!==r.mod&&""!==r.mod&&(s+=r.mod+" "),s+=r.size+"px "+r.face,t.font=s.replace(/"/g,""),r.font=t.font,r.height=r.size,r}},{key:"differentState",value:function(t,e){return t!==this.selectedState||e!==this.hoverState}},{key:"_processLabelText",value:function(t,e,i,n){return new JM(t,this,e,i).process(n)}},{key:"_processLabel",value:function(t,e,i){if(!1!==this.labelDirty||this.differentState(e,i)){var n=this._processLabelText(t,e,i,this.elementOptions.label);this.fontOptions.minWdt>0&&n.width<this.fontOptions.minWdt&&(n.width=this.fontOptions.minWdt),this.size.labelHeight=n.height,this.fontOptions.minHgt>0&&n.height<this.fontOptions.minHgt&&(n.height=this.fontOptions.minHgt),this.lines=n.lines,this.lineCount=n.lines.length,this.size.width=n.width,this.size.height=n.height,this.selectedState=e,this.hoverState=i,this.labelDirty=!1}}},{key:"visible",value:function(){return 0!==this.size.width&&0!==this.size.height&&void 0!==this.elementOptions.label&&!(this.fontOptions.size*this.body.view.scale<this.elementOptions.scaling.label.drawThreshold-1)}}],[{key:"parseFontString",value:function(t,e){if(!e||"string"!=typeof e)return!1;var i=e.split(" ");return t.size=+i[0].replace("px",""),t.face=i[1],t.color=i[2],!0}}]),t}(),iP=function(){function t(e,i,n){ch(this,t),this.body=i,this.labelModule=n,this.setOptions(e),this.top=void 0,this.left=void 0,this.height=void 0,this.width=void 0,this.radius=void 0,this.margin=void 0,this.refreshNeeded=!0,this.boundingBox={top:0,left:0,right:0,bottom:0}}return pu(t,[{key:"setOptions",value:function(t){this.options=t}},{key:"_setMargins",value:function(t){this.margin={},this.options.margin&&("object"==du(this.options.margin)?(this.margin.top=this.options.margin.top,this.margin.right=this.options.margin.right,this.margin.bottom=this.options.margin.bottom,this.margin.left=this.options.margin.left):(this.margin.top=this.options.margin,this.margin.right=this.options.margin,this.margin.bottom=this.options.margin,this.margin.left=this.options.margin)),t.adjustSizes(this.margin)}},{key:"_distanceToBorder",value:function(t,e){var i=this.options.borderWidth;return t&&this.resize(t),Math.min(Math.abs(this.width/2/Math.cos(e)),Math.abs(this.height/2/Math.sin(e)))+i}},{key:"enableShadow",value:function(t,e){e.shadow&&(t.shadowColor=e.shadowColor,t.shadowBlur=e.shadowSize,t.shadowOffsetX=e.shadowX,t.shadowOffsetY=e.shadowY)}},{key:"disableShadow",value:function(t,e){e.shadow&&(t.shadowColor="rgba(0,0,0,0)",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0)}},{key:"enableBorderDashes",value:function(t,e){if(!1!==e.borderDashes)if(void 0!==t.setLineDash){var i=e.borderDashes;!0===i&&(i=[5,15]),t.setLineDash(i)}else console.warn("setLineDash is not supported in this browser. The dashed borders cannot be used."),this.options.shapeProperties.borderDashes=!1,e.borderDashes=!1}},{key:"disableBorderDashes",value:function(t,e){!1!==e.borderDashes&&(void 0!==t.setLineDash?t.setLineDash([0]):(console.warn("setLineDash is not supported in this browser. The dashed borders cannot be used."),this.options.shapeProperties.borderDashes=!1,e.borderDashes=!1))}},{key:"needsRefresh",value:function(t,e){return!0===this.refreshNeeded?(this.refreshNeeded=!1,!0):void 0===this.width||this.labelModule.differentState(t,e)}},{key:"initContextForDraw",value:function(t,e){var i=e.borderWidth/this.body.view.scale;t.lineWidth=Math.min(this.width,i),t.strokeStyle=e.borderColor,t.fillStyle=e.color}},{key:"performStroke",value:function(t,e){var i=e.borderWidth/this.body.view.scale;t.save(),i>0&&(this.enableBorderDashes(t,e),t.stroke(),this.disableBorderDashes(t,e)),t.restore()}},{key:"performFill",value:function(t,e){t.save(),t.fillStyle=e.color,this.enableShadow(t,e),Cg(t).call(t),this.disableShadow(t,e),t.restore(),this.performStroke(t,e)}},{key:"_addBoundingBoxMargin",value:function(t){this.boundingBox.left-=t,this.boundingBox.top-=t,this.boundingBox.bottom+=t,this.boundingBox.right+=t}},{key:"_updateBoundingBox",value:function(t,e,i,n,o){void 0!==i&&this.resize(i,n,o),this.left=t-this.width/2,this.top=e-this.height/2,this.boundingBox.left=this.left,this.boundingBox.top=this.top,this.boundingBox.bottom=this.top+this.height,this.boundingBox.right=this.left+this.width}},{key:"updateBoundingBox",value:function(t,e,i,n,o){this._updateBoundingBox(t,e,i,n,o)}},{key:"getDimensionsFromLabel",value:function(t,e,i){this.textSize=this.labelModule.getTextSize(t,e,i);var n=this.textSize.width,o=this.textSize.height;return 0===n&&(n=14,o=14),{width:n,height:o}}}]),t}();function nP(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var oP=function(t){l_(i,t);var e=nP(i);function i(t,n,o){var r;return ch(this,i),(r=e.call(this,t,n,o))._setMargins(o),r}return pu(i,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(this.needsRefresh(e,i)){var n=this.getDimensionsFromLabel(t,e,i);this.width=n.width+this.margin.right+this.margin.left,this.height=n.height+this.margin.top+this.margin.bottom,this.radius=this.width/2}}},{key:"draw",value:function(t,e,i,n,o,r){this.resize(t,n,o),this.left=e-this.width/2,this.top=i-this.height/2,this.initContextForDraw(t,r),Wn(t,this.left,this.top,this.width,this.height,r.borderRadius),this.performFill(t,r),this.updateBoundingBox(e,i,t,n,o),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,n,o)}},{key:"updateBoundingBox",value:function(t,e,i,n,o){this._updateBoundingBox(t,e,i,n,o);var r=this.options.shapeProperties.borderRadius;this._addBoundingBoxMargin(r)}},{key:"distanceToBorder",value:function(t,e){t&&this.resize(t);var i=this.options.borderWidth;return Math.min(Math.abs(this.width/2/Math.cos(e)),Math.abs(this.height/2/Math.sin(e)))+i}}]),i}(iP);function rP(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var sP=function(t){l_(i,t);var e=rP(i);function i(t,n,o){var r;return ch(this,i),(r=e.call(this,t,n,o)).labelOffset=0,r.selected=!1,r}return pu(i,[{key:"setOptions",value:function(t,e,i){this.options=t,void 0===e&&void 0===i||this.setImages(e,i)}},{key:"setImages",value:function(t,e){e&&this.selected?(this.imageObj=e,this.imageObjAlt=t):(this.imageObj=t,this.imageObjAlt=e)}},{key:"switchImages",value:function(t){var e=t&&!this.selected||!t&&this.selected;if(this.selected=t,void 0!==this.imageObjAlt&&e){var i=this.imageObj;this.imageObj=this.imageObjAlt,this.imageObjAlt=i}}},{key:"_getImagePadding",value:function(){var t={top:0,right:0,bottom:0,left:0};if(this.options.imagePadding){var e=this.options.imagePadding;"object"==du(e)?(t.top=e.top,t.right=e.right,t.bottom=e.bottom,t.left=e.left):(t.top=e,t.right=e,t.bottom=e,t.left=e)}return t}},{key:"_resizeImage",value:function(){var t,e;if(!1===this.options.shapeProperties.useImageSize){var i=1,n=1;this.imageObj.width&&this.imageObj.height&&(this.imageObj.width>this.imageObj.height?i=this.imageObj.width/this.imageObj.height:n=this.imageObj.height/this.imageObj.width),t=2*this.options.size*i,e=2*this.options.size*n}else{var o=this._getImagePadding();t=this.imageObj.width+o.left+o.right,e=this.imageObj.height+o.top+o.bottom}this.width=t,this.height=e,this.radius=.5*this.width}},{key:"_drawRawCircle",value:function(t,e,i,n){this.initContextForDraw(t,n),Hn(t,e,i,n.size),this.performFill(t,n)}},{key:"_drawImageAtPosition",value:function(t,e){if(0!=this.imageObj.width){t.globalAlpha=void 0!==e.opacity?e.opacity:1,this.enableShadow(t,e);var i=1;!0===this.options.shapeProperties.interpolation&&(i=this.imageObj.width/this.width/this.body.view.scale);var n=this._getImagePadding(),o=this.left+n.left,r=this.top+n.top,s=this.width-n.left-n.right,a=this.height-n.top-n.bottom;this.imageObj.drawImageAtPosition(t,i,o,r,s,a),this.disableShadow(t,e)}}},{key:"_drawImageLabel",value:function(t,e,i,n,o){var r=0;if(void 0!==this.height){r=.5*this.height;var s=this.labelModule.getTextSize(t,n,o);s.lineCount>=1&&(r+=s.height/2)}var a=i+r;this.options.label&&(this.labelOffset=r),this.labelModule.draw(t,e,a,n,o,"hanging")}}]),i}(iP);function aP(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var hP=function(t){l_(i,t);var e=aP(i);function i(t,n,o){var r;return ch(this,i),(r=e.call(this,t,n,o))._setMargins(o),r}return pu(i,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(this.needsRefresh(e,i)){var n=this.getDimensionsFromLabel(t,e,i),o=Math.max(n.width+this.margin.right+this.margin.left,n.height+this.margin.top+this.margin.bottom);this.options.size=o/2,this.width=o,this.height=o,this.radius=this.width/2}}},{key:"draw",value:function(t,e,i,n,o,r){this.resize(t,n,o),this.left=e-this.width/2,this.top=i-this.height/2,this._drawRawCircle(t,e,i,r),this.updateBoundingBox(e,i),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,i,n,o)}},{key:"updateBoundingBox",value:function(t,e){this.boundingBox.top=e-this.options.size,this.boundingBox.left=t-this.options.size,this.boundingBox.right=t+this.options.size,this.boundingBox.bottom=e+this.options.size}},{key:"distanceToBorder",value:function(t){return t&&this.resize(t),.5*this.width}}]),i}(sP);function lP(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var dP=function(t){l_(i,t);var e=lP(i);function i(t,n,o,r,s){var a;return ch(this,i),(a=e.call(this,t,n,o)).setImages(r,s),a}return pu(i,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(void 0===this.imageObj.src||void 0===this.imageObj.width||void 0===this.imageObj.height){var n=2*this.options.size;return this.width=n,this.height=n,void(this.radius=.5*this.width)}this.needsRefresh(e,i)&&this._resizeImage()}},{key:"draw",value:function(t,e,i,n,o,r){this.switchImages(n),this.resize();var s=e,a=i;"top-left"===this.options.shapeProperties.coordinateOrigin?(this.left=e,this.top=i,s+=this.width/2,a+=this.height/2):(this.left=e-this.width/2,this.top=i-this.height/2),this._drawRawCircle(t,s,a,r),t.save(),t.clip(),this._drawImageAtPosition(t,r),t.restore(),this._drawImageLabel(t,s,a,n,o),this.updateBoundingBox(e,i)}},{key:"updateBoundingBox",value:function(t,e){"top-left"===this.options.shapeProperties.coordinateOrigin?(this.boundingBox.top=e,this.boundingBox.left=t,this.boundingBox.right=t+2*this.options.size,this.boundingBox.bottom=e+2*this.options.size):(this.boundingBox.top=e-this.options.size,this.boundingBox.left=t-this.options.size,this.boundingBox.right=t+this.options.size,this.boundingBox.bottom=e+this.options.size),this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelOffset)}},{key:"distanceToBorder",value:function(t){return t&&this.resize(t),.5*this.width}}]),i}(sP);function cP(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var uP=function(t){l_(i,t);var e=cP(i);function i(t,n,o){return ch(this,i),e.call(this,t,n,o)}return pu(i,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{size:this.options.size};if(this.needsRefresh(e,i)){var o,r;this.labelModule.getTextSize(t,e,i);var s=2*n.size;this.width=null!==(o=this.customSizeWidth)&&void 0!==o?o:s,this.height=null!==(r=this.customSizeHeight)&&void 0!==r?r:s,this.radius=.5*this.width}}},{key:"_drawShape",value:function(t,e,i,n,o,r,s,a){var h,l=this;return this.resize(t,r,s,a),this.left=n-this.width/2,this.top=o-this.height/2,this.initContextForDraw(t,a),(h=e,Object.prototype.hasOwnProperty.call(Yn,h)?Yn[h]:function(t){for(var e=arguments.length,i=new Array(e>1?e-1:0),n=1;n<e;n++)i[n-1]=arguments[n];CanvasRenderingContext2D.prototype[h].call(t,i)})(t,n,o,a.size),this.performFill(t,a),void 0!==this.options.icon&&void 0!==this.options.icon.code&&(t.font=(r?"bold ":"")+this.height/2+"px "+(this.options.icon.face||"FontAwesome"),t.fillStyle=this.options.icon.color||"black",t.textAlign="center",t.textBaseline="middle",t.fillText(this.options.icon.code,n,o)),{drawExternalLabel:function(){if(void 0!==l.options.label){l.labelModule.calculateLabelSize(t,r,s,n,o,"hanging");var e=o+.5*l.height+.5*l.labelModule.size.height;l.labelModule.draw(t,n,e,r,s,"hanging")}l.updateBoundingBox(n,o)}}}},{key:"updateBoundingBox",value:function(t,e){this.boundingBox.top=e-this.options.size,this.boundingBox.left=t-this.options.size,this.boundingBox.right=t+this.options.size,this.boundingBox.bottom=e+this.options.size,void 0!==this.options.label&&this.labelModule.size.width>0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelModule.size.height))}}]),i}(iP);function fP(t,e){var i=gf(t);if(AT){var n=AT(t);e&&(n=Zp(n).call(n,(function(e){return XT(t,e).enumerable}))),i.push.apply(i,n)}return i}function pP(t){for(var e=1;e<arguments.length;e++){var i,n,o=null!=arguments[e]?arguments[e]:{};e%2?Bf(i=fP(Object(o),!0)).call(i,(function(e){p_(t,e,o[e])})):QT?rM(t,QT(o)):Bf(n=fP(Object(o))).call(n,(function(e){kT(t,e,XT(o,e))}))}return t}function vP(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var gP=function(t){l_(i,t);var e=vP(i);function i(t,n,o,r){var s;return ch(this,i),(s=e.call(this,t,n,o,r)).ctxRenderer=r,s}return pu(i,[{key:"draw",value:function(t,e,i,n,o,r){this.resize(t,n,o,r),this.left=e-this.width/2,this.top=i-this.height/2,t.save();var s=this.ctxRenderer({ctx:t,id:this.options.id,x:e,y:i,state:{selected:n,hover:o},style:pP({},r),label:this.options.label});if(null!=s.drawNode&&s.drawNode(),t.restore(),s.drawExternalLabel){var a=s.drawExternalLabel;s.drawExternalLabel=function(){t.save(),a(),t.restore()}}return s.nodeDimensions&&(this.customSizeWidth=s.nodeDimensions.width,this.customSizeHeight=s.nodeDimensions.height),s}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),i}(uP);function yP(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var mP=function(t){l_(i,t);var e=yP(i);function i(t,n,o){var r;return ch(this,i),(r=e.call(this,t,n,o))._setMargins(o),r}return pu(i,[{key:"resize",value:function(t,e,i){if(this.needsRefresh(e,i)){var n=this.getDimensionsFromLabel(t,e,i).width+this.margin.right+this.margin.left;this.width=n,this.height=n,this.radius=this.width/2}}},{key:"draw",value:function(t,e,i,n,o,r){this.resize(t,n,o),this.left=e-this.width/2,this.top=i-this.height/2,this.initContextForDraw(t,r),Vn(t,e-this.width/2,i-this.height/2,this.width,this.height),this.performFill(t,r),this.updateBoundingBox(e,i,t,n,o),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,n,o)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),i}(iP);function bP(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var wP=function(t){l_(i,t);var e=bP(i);function i(t,n,o){return ch(this,i),e.call(this,t,n,o)}return pu(i,[{key:"draw",value:function(t,e,i,n,o,r){return this._drawShape(t,"diamond",4,e,i,n,o,r)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),i}(uP);function kP(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var _P=function(t){l_(i,t);var e=kP(i);function i(t,n,o){return ch(this,i),e.call(this,t,n,o)}return pu(i,[{key:"draw",value:function(t,e,i,n,o,r){return this._drawShape(t,"circle",2,e,i,n,o,r)}},{key:"distanceToBorder",value:function(t){return t&&this.resize(t),this.options.size}}]),i}(uP);function xP(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var EP=function(t){l_(i,t);var e=xP(i);function i(t,n,o){return ch(this,i),e.call(this,t,n,o)}return pu(i,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(this.needsRefresh(e,i)){var n=this.getDimensionsFromLabel(t,e,i);this.height=2*n.height,this.width=n.width+n.height,this.radius=.5*this.width}}},{key:"draw",value:function(t,e,i,n,o,r){this.resize(t,n,o),this.left=e-.5*this.width,this.top=i-.5*this.height,this.initContextForDraw(t,r),qn(t,this.left,this.top,this.width,this.height),this.performFill(t,r),this.updateBoundingBox(e,i,t,n,o),this.labelModule.draw(t,e,i,n,o)}},{key:"distanceToBorder",value:function(t,e){t&&this.resize(t);var i=.5*this.width,n=.5*this.height,o=Math.sin(e)*i,r=Math.cos(e)*n;return i*n/Math.sqrt(o*o+r*r)}}]),i}(iP);function OP(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var CP=function(t){l_(i,t);var e=OP(i);function i(t,n,o){var r;return ch(this,i),(r=e.call(this,t,n,o))._setMargins(o),r}return pu(i,[{key:"resize",value:function(t,e,i){this.needsRefresh(e,i)&&(this.iconSize={width:Number(this.options.icon.size),height:Number(this.options.icon.size)},this.width=this.iconSize.width+this.margin.right+this.margin.left,this.height=this.iconSize.height+this.margin.top+this.margin.bottom,this.radius=.5*this.width)}},{key:"draw",value:function(t,e,i,n,o,r){var s=this;return this.resize(t,n,o),this.options.icon.size=this.options.icon.size||50,this.left=e-this.width/2,this.top=i-this.height/2,this._icon(t,e,i,n,o,r),{drawExternalLabel:function(){if(void 0!==s.options.label){s.labelModule.draw(t,s.left+s.iconSize.width/2+s.margin.left,i+s.height/2+5,n)}s.updateBoundingBox(e,i)}}}},{key:"updateBoundingBox",value:function(t,e){if(this.boundingBox.top=e-.5*this.options.icon.size,this.boundingBox.left=t-.5*this.options.icon.size,this.boundingBox.right=t+.5*this.options.icon.size,this.boundingBox.bottom=e+.5*this.options.icon.size,void 0!==this.options.label&&this.labelModule.size.width>0){this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelModule.size.height+5)}}},{key:"_icon",value:function(t,e,i,n,o,r){var s=Number(this.options.icon.size);void 0!==this.options.icon.code?(t.font=[null!=this.options.icon.weight?this.options.icon.weight:n?"bold":"",(null!=this.options.icon.weight&&n?5:0)+s+"px",this.options.icon.face].join(" "),t.fillStyle=this.options.icon.color||"black",t.textAlign="center",t.textBaseline="middle",this.enableShadow(t,r),t.fillText(this.options.icon.code,e,i),this.disableShadow(t,r)):console.error("When using the icon shape, you need to define the code in the icon options object. This can be done per node or globally.")}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),i}(iP);function SP(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var TP=function(t){l_(i,t);var e=SP(i);function i(t,n,o,r,s){var a;return ch(this,i),(a=e.call(this,t,n,o)).setImages(r,s),a}return pu(i,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(void 0===this.imageObj.src||void 0===this.imageObj.width||void 0===this.imageObj.height){var n=2*this.options.size;return this.width=n,void(this.height=n)}this.needsRefresh(e,i)&&this._resizeImage()}},{key:"draw",value:function(t,e,i,n,o,r){t.save(),this.switchImages(n),this.resize();var s=e,a=i;if("top-left"===this.options.shapeProperties.coordinateOrigin?(this.left=e,this.top=i,s+=this.width/2,a+=this.height/2):(this.left=e-this.width/2,this.top=i-this.height/2),!0===this.options.shapeProperties.useBorderWithImage){var h=this.options.borderWidth,l=this.options.borderWidthSelected||2*this.options.borderWidth,d=(n?l:h)/this.body.view.scale;t.lineWidth=Math.min(this.width,d),t.beginPath();var c=n?this.options.color.highlight.border:o?this.options.color.hover.border:this.options.color.border,u=n?this.options.color.highlight.background:o?this.options.color.hover.background:this.options.color.background;void 0!==r.opacity&&(c=ob(c,r.opacity),u=ob(u,r.opacity)),t.strokeStyle=c,t.fillStyle=u,t.rect(this.left-.5*t.lineWidth,this.top-.5*t.lineWidth,this.width+t.lineWidth,this.height+t.lineWidth),Cg(t).call(t),this.performStroke(t,r),t.closePath()}this._drawImageAtPosition(t,r),this._drawImageLabel(t,s,a,n,o),this.updateBoundingBox(e,i),t.restore()}},{key:"updateBoundingBox",value:function(t,e){this.resize(),"top-left"===this.options.shapeProperties.coordinateOrigin?(this.left=t,this.top=e):(this.left=t-this.width/2,this.top=e-this.height/2),this.boundingBox.left=this.left,this.boundingBox.top=this.top,this.boundingBox.bottom=this.top+this.height,this.boundingBox.right=this.left+this.width,void 0!==this.options.label&&this.labelModule.size.width>0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelOffset))}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),i}(sP);function MP(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var PP=function(t){l_(i,t);var e=MP(i);function i(t,n,o){return ch(this,i),e.call(this,t,n,o)}return pu(i,[{key:"draw",value:function(t,e,i,n,o,r){return this._drawShape(t,"square",2,e,i,n,o,r)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),i}(uP);function DP(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var IP=function(t){l_(i,t);var e=DP(i);function i(t,n,o){return ch(this,i),e.call(this,t,n,o)}return pu(i,[{key:"draw",value:function(t,e,i,n,o,r){return this._drawShape(t,"hexagon",4,e,i,n,o,r)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),i}(uP);function BP(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var NP=function(t){l_(i,t);var e=BP(i);function i(t,n,o){return ch(this,i),e.call(this,t,n,o)}return pu(i,[{key:"draw",value:function(t,e,i,n,o,r){return this._drawShape(t,"star",4,e,i,n,o,r)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),i}(uP);function FP(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var zP=function(t){l_(i,t);var e=FP(i);function i(t,n,o){var r;return ch(this,i),(r=e.call(this,t,n,o))._setMargins(o),r}return pu(i,[{key:"resize",value:function(t,e,i){this.needsRefresh(e,i)&&(this.textSize=this.labelModule.getTextSize(t,e,i),this.width=this.textSize.width+this.margin.right+this.margin.left,this.height=this.textSize.height+this.margin.top+this.margin.bottom,this.radius=.5*this.width)}},{key:"draw",value:function(t,e,i,n,o,r){this.resize(t,n,o),this.left=e-this.width/2,this.top=i-this.height/2,this.enableShadow(t,r),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,n,o),this.disableShadow(t,r),this.updateBoundingBox(e,i,t,n,o)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),i}(iP);function AP(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var jP=function(t){l_(i,t);var e=AP(i);function i(t,n,o){return ch(this,i),e.call(this,t,n,o)}return pu(i,[{key:"draw",value:function(t,e,i,n,o,r){return this._drawShape(t,"triangle",3,e,i,n,o,r)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),i}(uP);function RP(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var LP=function(t){l_(i,t);var e=RP(i);function i(t,n,o){return ch(this,i),e.call(this,t,n,o)}return pu(i,[{key:"draw",value:function(t,e,i,n,o,r){return this._drawShape(t,"triangleDown",3,e,i,n,o,r)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),i}(uP);function HP(t,e){var i=gf(t);if(AT){var n=AT(t);e&&(n=Zp(n).call(n,(function(e){return XT(t,e).enumerable}))),i.push.apply(i,n)}return i}function WP(t){for(var e=1;e<arguments.length;e++){var i,n,o=null!=arguments[e]?arguments[e]:{};e%2?Bf(i=HP(Object(o),!0)).call(i,(function(e){p_(t,e,o[e])})):QT?rM(t,QT(o)):Bf(n=HP(Object(o))).call(n,(function(e){kT(t,e,XT(o,e))}))}return t}var qP=function(){function t(e,i,n,o,r,s){ch(this,t),this.options=vb(r),this.globalOptions=r,this.defaultOptions=s,this.body=i,this.edges=[],this.id=void 0,this.imagelist=n,this.grouplist=o,this.x=void 0,this.y=void 0,this.baseSize=this.options.size,this.baseFontSize=this.options.font.size,this.predefinedPosition=!1,this.selected=!1,this.hover=!1,this.labelModule=new eP(this.body,this.options,!1),this.setOptions(e)}return pu(t,[{key:"attachEdge",value:function(t){var e;-1===Lv(e=this.edges).call(e,t)&&this.edges.push(t)}},{key:"detachEdge",value:function(t){var e,i,n=Lv(e=this.edges).call(e,t);-1!=n&&yp(i=this.edges).call(i,n,1)}},{key:"setOptions",value:function(e){var i=this.options.shape;if(e){if(void 0!==e.color&&(this._localColor=e.color),void 0!==e.id&&(this.id=e.id),void 0===this.id)throw new Error("Node must have an id");t.checkMass(e,this.id),void 0!==e.x&&(null===e.x?(this.x=void 0,this.predefinedPosition=!1):(this.x=Mv(e.x),this.predefinedPosition=!0)),void 0!==e.y&&(null===e.y?(this.y=void 0,this.predefinedPosition=!1):(this.y=Mv(e.y),this.predefinedPosition=!0)),void 0!==e.size&&(this.baseSize=e.size),void 0!==e.value&&(e.value=RM(e.value)),t.parseOptions(this.options,e,!0,this.globalOptions,this.grouplist);var n=[e,this.options,this.defaultOptions];return this.chooser=YM("node",n),this._load_images(),this.updateLabelModule(e),void 0!==e.opacity&&t.checkOpacity(e.opacity)&&(this.options.opacity=e.opacity),this.updateShape(i),void 0!==e.hidden||void 0!==e.physics}}},{key:"_load_images",value:function(){if(("circularImage"===this.options.shape||"image"===this.options.shape)&&void 0===this.options.image)throw new Error("Option image must be defined for node type '"+this.options.shape+"'");if(void 0!==this.options.image){if(void 0===this.imagelist)throw new Error("Internal Error: No images provided");if("string"==typeof this.options.image)this.imageObj=this.imagelist.load(this.options.image,this.options.brokenImage,this.id);else{if(void 0===this.options.image.unselected)throw new Error("No unselected image provided");this.imageObj=this.imagelist.load(this.options.image.unselected,this.options.brokenImage,this.id),void 0!==this.options.image.selected?this.imageObjAlt=this.imagelist.load(this.options.image.selected,this.options.brokenImage,this.id):this.imageObjAlt=void 0}}}},{key:"getFormattingValues",value:function(){var t={color:this.options.color.background,opacity:this.options.opacity,borderWidth:this.options.borderWidth,borderColor:this.options.color.border,size:this.options.size,borderDashes:this.options.shapeProperties.borderDashes,borderRadius:this.options.shapeProperties.borderRadius,shadow:this.options.shadow.enabled,shadowColor:this.options.shadow.color,shadowSize:this.options.shadow.size,shadowX:this.options.shadow.x,shadowY:this.options.shadow.y};if(this.selected||this.hover?!0===this.chooser?this.selected?(null!=this.options.borderWidthSelected?t.borderWidth=this.options.borderWidthSelected:t.borderWidth*=2,t.color=this.options.color.highlight.background,t.borderColor=this.options.color.highlight.border,t.shadow=this.options.shadow.enabled):this.hover&&(t.color=this.options.color.hover.background,t.borderColor=this.options.color.hover.border,t.shadow=this.options.shadow.enabled):"function"==typeof this.chooser&&(this.chooser(t,this.options.id,this.selected,this.hover),!1===t.shadow&&(t.shadowColor===this.options.shadow.color&&t.shadowSize===this.options.shadow.size&&t.shadowX===this.options.shadow.x&&t.shadowY===this.options.shadow.y||(t.shadow=!0))):t.shadow=this.options.shadow.enabled,void 0!==this.options.opacity){var e=this.options.opacity;t.borderColor=ob(t.borderColor,e),t.color=ob(t.color,e),t.shadowColor=ob(t.shadowColor,e)}return t}},{key:"updateLabelModule",value:function(e){void 0!==this.options.label&&null!==this.options.label||(this.options.label=""),t.updateGroupOptions(this.options,WP(WP({},e),{},{color:e&&e.color||this._localColor||void 0}),this.grouplist);var i=this.grouplist.get(this.options.group,!1),n=[e,this.options,i,this.globalOptions,this.defaultOptions];this.labelModule.update(this.options,n),void 0!==this.labelModule.baseSize&&(this.baseFontSize=this.labelModule.baseSize)}},{key:"updateShape",value:function(t){if(t===this.options.shape&&this.shape)this.shape.setOptions(this.options,this.imageObj,this.imageObjAlt);else switch(this.options.shape){case"box":this.shape=new oP(this.options,this.body,this.labelModule);break;case"circle":this.shape=new hP(this.options,this.body,this.labelModule);break;case"circularImage":this.shape=new dP(this.options,this.body,this.labelModule,this.imageObj,this.imageObjAlt);break;case"custom":this.shape=new gP(this.options,this.body,this.labelModule,this.options.ctxRenderer);break;case"database":this.shape=new mP(this.options,this.body,this.labelModule);break;case"diamond":this.shape=new wP(this.options,this.body,this.labelModule);break;case"dot":this.shape=new _P(this.options,this.body,this.labelModule);break;case"ellipse":default:this.shape=new EP(this.options,this.body,this.labelModule);break;case"icon":this.shape=new CP(this.options,this.body,this.labelModule);break;case"image":this.shape=new TP(this.options,this.body,this.labelModule,this.imageObj,this.imageObjAlt);break;case"square":this.shape=new PP(this.options,this.body,this.labelModule);break;case"hexagon":this.shape=new IP(this.options,this.body,this.labelModule);break;case"star":this.shape=new NP(this.options,this.body,this.labelModule);break;case"text":this.shape=new zP(this.options,this.body,this.labelModule);break;case"triangle":this.shape=new jP(this.options,this.body,this.labelModule);break;case"triangleDown":this.shape=new LP(this.options,this.body,this.labelModule)}this.needsRefresh()}},{key:"select",value:function(){this.selected=!0,this.needsRefresh()}},{key:"unselect",value:function(){this.selected=!1,this.needsRefresh()}},{key:"needsRefresh",value:function(){this.shape.refreshNeeded=!0}},{key:"getTitle",value:function(){return this.options.title}},{key:"distanceToBorder",value:function(t,e){return this.shape.distanceToBorder(t,e)}},{key:"isFixed",value:function(){return this.options.fixed.x&&this.options.fixed.y}},{key:"isSelected",value:function(){return this.selected}},{key:"getValue",value:function(){return this.options.value}},{key:"getLabelSize",value:function(){return this.labelModule.size()}},{key:"setValueRange",value:function(t,e,i){if(void 0!==this.options.value){var n=this.options.scaling.customScalingFunction(t,e,i,this.options.value),o=this.options.scaling.max-this.options.scaling.min;if(!0===this.options.scaling.label.enabled){var r=this.options.scaling.label.max-this.options.scaling.label.min;this.options.font.size=this.options.scaling.label.min+n*r}this.options.size=this.options.scaling.min+n*o}else this.options.size=this.baseSize,this.options.font.size=this.baseFontSize;this.updateLabelModule()}},{key:"draw",value:function(t){var e=this.getFormattingValues();return this.shape.draw(t,this.x,this.y,this.selected,this.hover,e)||{}}},{key:"updateBoundingBox",value:function(t){this.shape.updateBoundingBox(this.x,this.y,t)}},{key:"resize",value:function(t){var e=this.getFormattingValues();this.shape.resize(t,this.selected,this.hover,e)}},{key:"getItemsOnPoint",value:function(t){var e=[];return this.labelModule.visible()&&XM(this.labelModule.getSize(),t)&&e.push({nodeId:this.id,labelId:0}),XM(this.shape.boundingBox,t)&&e.push({nodeId:this.id}),e}},{key:"isOverlappingWith",value:function(t){return this.shape.left<t.right&&this.shape.left+this.shape.width>t.left&&this.shape.top<t.bottom&&this.shape.top+this.shape.height>t.top}},{key:"isBoundingBoxOverlappingWith",value:function(t){return this.shape.boundingBox.left<t.right&&this.shape.boundingBox.right>t.left&&this.shape.boundingBox.top<t.bottom&&this.shape.boundingBox.bottom>t.top}}],[{key:"checkOpacity",value:function(t){return 0<=t&&t<=1}},{key:"checkCoordinateOrigin",value:function(t){return void 0===t||"center"===t||"top-left"===t}},{key:"updateGroupOptions",value:function(e,i,n){var o;if(void 0!==n){var r=e.group;if(void 0!==i&&void 0!==i.group&&r!==i.group)throw new Error("updateGroupOptions: group values in options don't match.");if("number"==typeof r||"string"==typeof r&&""!=r){var s=n.get(r);void 0!==s.opacity&&void 0===i.opacity&&(t.checkOpacity(s.opacity)||(console.error("Invalid option for node opacity. Value must be between 0 and 1, found: "+s.opacity),s.opacity=void 0));var a=Zp(o=UM(i)).call(o,(function(t){return null!=i[t]}));a.push("font"),Ym(a,e,s),e.color=sb(e.color)}}}},{key:"parseOptions",value:function(e,i){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r=arguments.length>4?arguments[4]:void 0;if(Ym(["color","fixed","shadow"],e,i,n),t.checkMass(i),void 0!==e.opacity&&(t.checkOpacity(e.opacity)||(console.error("Invalid option for node opacity. Value must be between 0 and 1, found: "+e.opacity),e.opacity=void 0)),void 0!==i.opacity&&(t.checkOpacity(i.opacity)||(console.error("Invalid option for node opacity. Value must be between 0 and 1, found: "+i.opacity),i.opacity=void 0)),i.shapeProperties&&!t.checkCoordinateOrigin(i.shapeProperties.coordinateOrigin)&&console.error("Invalid option for node coordinateOrigin, found: "+i.shapeProperties.coordinateOrigin),gb(e,i,"shadow",o),void 0!==i.color&&null!==i.color){var s=sb(i.color);qm(e.color,s)}else!0===n&&null===i.color&&(e.color=vb(o.color));void 0!==i.fixed&&null!==i.fixed&&("boolean"==typeof i.fixed?(e.fixed.x=i.fixed,e.fixed.y=i.fixed):(void 0!==i.fixed.x&&"boolean"==typeof i.fixed.x&&(e.fixed.x=i.fixed.x),void 0!==i.fixed.y&&"boolean"==typeof i.fixed.y&&(e.fixed.y=i.fixed.y))),!0===n&&null===i.font&&(e.font=vb(o.font)),t.updateGroupOptions(e,i,r),void 0!==i.scaling&&gb(e.scaling,i.scaling,"label",o.scaling)}},{key:"checkMass",value:function(t,e){if(void 0!==t.mass&&t.mass<=0){var i="";void 0!==e&&(i=" in node id: "+e),console.error("%cNegative or zero mass disallowed"+i+", setting mass to 1.",Bb),t.mass=1}}}]),t}();function VP(t,e){var i=void 0!==Vu&&dh(t)||t["@@iterator"];if(!i){if(sf(t)||(i=function(t,e){var i;if(!t)return;if("string"==typeof t)return UP(t,e);var n=Zu(i=Object.prototype.toString.call(t)).call(i,8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Ua(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return UP(t,e)}(t))||e&&t&&"number"==typeof t.length){i&&(t=i);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}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 r,s=!0,a=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return s=t.done,t},e:function(t){a=!0,r=t},f:function(){try{s||null==i.return||i.return()}finally{if(a)throw r}}}}function UP(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}var YP=function(){function t(e,i,n,o){var r,s=this;if(ch(this,t),this.body=e,this.images=i,this.groups=n,this.layoutEngine=o,this.body.functions.createNode=Ln(r=this.create).call(r,this),this.nodesListeners={add:function(t,e){s.add(e.items)},update:function(t,e){s.update(e.items,e.data,e.oldData)},remove:function(t,e){s.remove(e.items)}},this.defaultOptions={borderWidth:1,borderWidthSelected:void 0,brokenImage:void 0,color:{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},opacity:void 0,fixed:{x:!1,y:!1},font:{color:"#343434",size:14,face:"arial",background:"none",strokeWidth:0,strokeColor:"#ffffff",align:"center",vadjust:0,multi:!1,bold:{mod:"bold"},boldital:{mod:"bold italic"},ital:{mod:"italic"},mono:{mod:"",size:15,face:"monospace",vadjust:2}},group:void 0,hidden:!1,icon:{face:"FontAwesome",code:void 0,size:50,color:"#2B7CE9"},image:void 0,imagePadding:{top:0,right:0,bottom:0,left:0},label:void 0,labelHighlightBold:!0,level:void 0,margin:{top:5,right:5,bottom:5,left:5},mass:1,physics:!0,scaling:{min:10,max:30,label:{enabled:!1,min:14,max:30,maxVisible:30,drawThreshold:5},customScalingFunction:function(t,e,i,n){if(e===t)return.5;var o=1/(e-t);return Math.max(0,(n-t)*o)}},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:10,x:5,y:5},shape:"ellipse",shapeProperties:{borderDashes:!1,borderRadius:6,interpolation:!0,useImageSize:!1,useBorderWithImage:!1,coordinateOrigin:"center"},size:25,title:void 0,value:void 0,x:void 0,y:void 0},this.defaultOptions.mass<=0)throw"Internal error: mass in defaultOptions of NodesHandler may not be zero or negative";this.options=vb(this.defaultOptions),this.bindEventListeners()}return pu(t,[{key:"bindEventListeners",value:function(){var t,e,i=this;this.body.emitter.on("refreshNodes",Ln(t=this.refresh).call(t,this)),this.body.emitter.on("refresh",Ln(e=this.refresh).call(e,this)),this.body.emitter.on("destroy",(function(){Qm(i.nodesListeners,(function(t,e){i.body.data.nodes&&i.body.data.nodes.off(e,t)})),delete i.body.functions.createNode,delete i.nodesListeners.add,delete i.nodesListeners.update,delete i.nodesListeners.remove,delete i.nodesListeners}))}},{key:"setOptions",value:function(t){if(void 0!==t){if(qP.parseOptions(this.options,t),void 0!==t.opacity&&(Uk(t.opacity)||!Gk(t.opacity)||t.opacity<0||t.opacity>1?console.error("Invalid option for node opacity. Value must be between 0 and 1, found: "+t.opacity):this.options.opacity=t.opacity),void 0!==t.shape)for(var e in this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,e)&&this.body.nodes[e].updateShape();if(void 0!==t.font||void 0!==t.widthConstraint||void 0!==t.heightConstraint)for(var i=0,n=gf(this.body.nodes);i<n.length;i++){var o=n[i];this.body.nodes[o].updateLabelModule(),this.body.nodes[o].needsRefresh()}if(void 0!==t.size)for(var r in this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,r)&&this.body.nodes[r].needsRefresh();void 0===t.hidden&&void 0===t.physics||this.body.emitter.emit("_dataChanged")}}},{key:"setData",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.body.data.nodes;if(SM("id",t))this.body.data.nodes=t;else if(sf(t))this.body.data.nodes=new EM,this.body.data.nodes.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.body.data.nodes=new EM}if(i&&Qm(this.nodesListeners,(function(t,e){i.off(e,t)})),this.body.nodes={},this.body.data.nodes){var n=this;Qm(this.nodesListeners,(function(t,e){n.body.data.nodes.on(e,t)}));var o=this.body.data.nodes.getIds();this.add(o,!0)}!1===e&&this.body.emitter.emit("_dataChanged")}},{key:"add",value:function(t){for(var e,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=[],o=0;o<t.length;o++){e=t[o];var r=this.body.data.nodes.get(e),s=this.create(r);n.push(s),this.body.nodes[e]=s}this.layoutEngine.positionInitially(n),!1===i&&this.body.emitter.emit("_dataChanged")}},{key:"update",value:function(t,e,i){for(var n=this.body.nodes,o=!1,r=0;r<t.length;r++){var s=t[r],a=n[s],h=e[r];void 0!==a?a.setOptions(h)&&(o=!0):(o=!0,a=this.create(h),n[s]=a)}o||void 0===i||(o=e_(e).call(e,(function(t,e){var n=i[e];return n&&n.level!==t.level}))),!0===o?this.body.emitter.emit("_dataChanged"):this.body.emitter.emit("_dataUpdated")}},{key:"remove",value:function(t){for(var e=this.body.nodes,i=0;i<t.length;i++){delete e[t[i]]}this.body.emitter.emit("_dataChanged")}},{key:"create",value:function(t){return new(arguments.length>1&&void 0!==arguments[1]?arguments[1]:qP)(t,this.body,this.images,this.groups,this.options,this.defaultOptions)}},{key:"refresh",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];Qm(this.body.nodes,(function(i,n){var o=t.body.data.nodes.get(n);void 0!==o&&(!0===e&&i.setOptions({x:null,y:null}),i.setOptions({fixed:!1}),i.setOptions(o))}))}},{key:"getPositions",value:function(t){var e={};if(void 0!==t){if(!0===sf(t)){for(var i=0;i<t.length;i++)if(void 0!==this.body.nodes[t[i]]){var n=this.body.nodes[t[i]];e[t[i]]={x:Math.round(n.x),y:Math.round(n.y)}}}else if(void 0!==this.body.nodes[t]){var o=this.body.nodes[t];e[t]={x:Math.round(o.x),y:Math.round(o.y)}}}else for(var r=0;r<this.body.nodeIndices.length;r++){var s=this.body.nodes[this.body.nodeIndices[r]];e[this.body.nodeIndices[r]]={x:Math.round(s.x),y:Math.round(s.y)}}return e}},{key:"getPosition",value:function(t){if(null==t)throw new TypeError("No id was specified for getPosition method.");if(null==this.body.nodes[t])throw new ReferenceError("NodeId provided for getPosition does not exist. Provided: ".concat(t));return{x:Math.round(this.body.nodes[t].x),y:Math.round(this.body.nodes[t].y)}}},{key:"storePositions",value:function(){var t,e=[],i=this.body.data.nodes.getDataSet(),n=VP(i.get());try{for(n.s();!(t=n.n()).done;){var o=t.value,r=o.id,s=this.body.nodes[r],a=Math.round(s.x),h=Math.round(s.y);o.x===a&&o.y===h||e.push({id:r,x:a,y:h})}}catch(t){n.e(t)}finally{n.f()}i.update(e)}},{key:"getBoundingBox",value:function(t){if(void 0!==this.body.nodes[t])return this.body.nodes[t].shape.boundingBox}},{key:"getConnectedNodes",value:function(t,e){var i=[];if(void 0!==this.body.nodes[t])for(var n=this.body.nodes[t],o={},r=0;r<n.edges.length;r++){var s=n.edges[r];"to"!==e&&s.toId==n.id?void 0===o[s.fromId]&&(i.push(s.fromId),o[s.fromId]=!0):"from"!==e&&s.fromId==n.id&&void 0===o[s.toId]&&(i.push(s.toId),o[s.toId]=!0)}return i}},{key:"getConnectedEdges",value:function(t){var e=[];if(void 0!==this.body.nodes[t])for(var i=this.body.nodes[t],n=0;n<i.edges.length;n++)e.push(i.edges[n].id);else console.error("NodeId provided for getConnectedEdges does not exist. Provided: ",t);return e}},{key:"moveNode",value:function(t,e,i){var n=this;void 0!==this.body.nodes[t]?(this.body.nodes[t].x=Number(e),this.body.nodes[t].y=Number(i),vg((function(){n.body.emitter.emit("startSimulation")}),0)):console.error("Node id supplied to moveNode does not exist. Provided: ",t)}}]),t}(),XP=Zt,GP=I,KP=tt,$P=ei,ZP=function(t){return void 0!==t&&(XP(t,"value")||XP(t,"writable"))},QP=T,JP=Cr;Si({target:"Reflect",stat:!0},{get:function t(e,i){var n,o,r=arguments.length<3?e:arguments[2];return $P(e)===r?e[i]:(n=QP.f(e,i))?ZP(n)?n.value:void 0===n.get?void 0:GP(n.get,r):KP(o=JP(e))?t(o,i,r):void 0}});var tD=i(et.Reflect.get),eD=i(YT);function iD(){var t;"undefined"!=typeof Reflect&&tD?iD=a_(t=tD).call(t):iD=function(t,e,i){var n=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=f_(t)););return t}(t,e);if(n){var o=eD(n,e);return o.get?o.get.call(arguments.length<3?t:i):o.value}};return iD.apply(this,arguments)}var nD=Si,oD=Math.hypot,rD=Math.abs,sD=Math.sqrt;nD({target:"Math",stat:!0,arity:2,forced:!!oD&&oD(1/0,NaN)!==1/0},{hypot:function(t,e){for(var i,n,o=0,r=0,s=arguments.length,a=0;r<s;)a<(i=rD(arguments[r++]))?(o=o*(n=a/i)*n+1,a=i):o+=i>0?(n=i/a)*n:i;return a===1/0?1/0:a*sD(o)}});var aD=i(et.Math.hypot);function hD(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var lD=function(){function t(){ch(this,t)}return pu(t,null,[{key:"transform",value:function(t,e){sf(t)||(t=[t]);for(var i=e.point.x,n=e.point.y,o=e.angle,r=e.length,s=0;s<t.length;++s){var a=t[s],h=a.x*Math.cos(o)-a.y*Math.sin(o),l=a.x*Math.sin(o)+a.y*Math.cos(o);a.x=i+r*h,a.y=n+r*l}}},{key:"drawPath",value:function(t,e){t.beginPath(),t.moveTo(e[0].x,e[0].y);for(var i=1;i<e.length;++i)t.lineTo(e[i].x,e[i].y);t.closePath()}}]),t}(),dD=function(t){l_(i,t);var e=hD(i);function i(){return ch(this,i),e.apply(this,arguments)}return pu(i,null,[{key:"draw",value:function(t,e){if(e.image){t.save(),t.translate(e.point.x,e.point.y),t.rotate(Math.PI/2+e.angle);var i=null!=e.imageWidth?e.imageWidth:e.image.width,n=null!=e.imageHeight?e.imageHeight:e.image.height;e.image.drawImageAtPosition(t,1,-i/2,0,i,n),t.restore()}return!1}}]),i}(lD),cD=function(t){l_(i,t);var e=hD(i);function i(){return ch(this,i),e.apply(this,arguments)}return pu(i,null,[{key:"draw",value:function(t,e){var i=[{x:0,y:0},{x:-1,y:.3},{x:-.9,y:0},{x:-1,y:-.3}];return lD.transform(i,e),lD.drawPath(t,i),!0}}]),i}(lD),uD=function(){function t(){ch(this,t)}return pu(t,null,[{key:"draw",value:function(t,e){var i=[{x:-1,y:0},{x:0,y:.3},{x:-.4,y:0},{x:0,y:-.3}];return lD.transform(i,e),lD.drawPath(t,i),!0}}]),t}(),fD=function(){function t(){ch(this,t)}return pu(t,null,[{key:"draw",value:function(t,e){var i={x:-.4,y:0};lD.transform(i,e),t.strokeStyle=t.fillStyle,t.fillStyle="rgba(0, 0, 0, 0)";var n=Math.PI,o=e.angle-n/2,r=e.angle+n/2;return t.beginPath(),t.arc(i.x,i.y,.4*e.length,o,r,!1),t.stroke(),!0}}]),t}(),pD=function(){function t(){ch(this,t)}return pu(t,null,[{key:"draw",value:function(t,e){var i={x:-.3,y:0};lD.transform(i,e),t.strokeStyle=t.fillStyle,t.fillStyle="rgba(0, 0, 0, 0)";var n=Math.PI,o=e.angle+n/2,r=e.angle+3*n/2;return t.beginPath(),t.arc(i.x,i.y,.4*e.length,o,r,!1),t.stroke(),!0}}]),t}(),vD=function(){function t(){ch(this,t)}return pu(t,null,[{key:"draw",value:function(t,e){var i=[{x:.02,y:0},{x:-1,y:.3},{x:-1,y:-.3}];return lD.transform(i,e),lD.drawPath(t,i),!0}}]),t}(),gD=function(){function t(){ch(this,t)}return pu(t,null,[{key:"draw",value:function(t,e){var i=[{x:0,y:.3},{x:0,y:-.3},{x:-1,y:0}];return lD.transform(i,e),lD.drawPath(t,i),!0}}]),t}(),yD=function(){function t(){ch(this,t)}return pu(t,null,[{key:"draw",value:function(t,e){var i={x:-.4,y:0};return lD.transform(i,e),Hn(t,i.x,i.y,.4*e.length),!0}}]),t}(),mD=function(){function t(){ch(this,t)}return pu(t,null,[{key:"draw",value:function(t,e){var i=[{x:0,y:.5},{x:0,y:-.5},{x:-.15,y:-.5},{x:-.15,y:.5}];return lD.transform(i,e),lD.drawPath(t,i),!0}}]),t}(),bD=function(){function t(){ch(this,t)}return pu(t,null,[{key:"draw",value:function(t,e){var i=[{x:0,y:.3},{x:0,y:-.3},{x:-.6,y:-.3},{x:-.6,y:.3}];return lD.transform(i,e),lD.drawPath(t,i),!0}}]),t}(),wD=function(){function t(){ch(this,t)}return pu(t,null,[{key:"draw",value:function(t,e){var i=[{x:0,y:0},{x:-.5,y:-.3},{x:-1,y:0},{x:-.5,y:.3}];return lD.transform(i,e),lD.drawPath(t,i),!0}}]),t}(),kD=function(){function t(){ch(this,t)}return pu(t,null,[{key:"draw",value:function(t,e){var i=[{x:-1,y:.3},{x:-.5,y:0},{x:-1,y:-.3},{x:0,y:0}];return lD.transform(i,e),lD.drawPath(t,i),!0}}]),t}(),_D=function(){function t(){ch(this,t)}return pu(t,null,[{key:"draw",value:function(t,e){var i;switch(e.type&&(i=e.type.toLowerCase()),i){case"image":return dD.draw(t,e);case"circle":return yD.draw(t,e);case"box":return bD.draw(t,e);case"crow":return uD.draw(t,e);case"curve":return fD.draw(t,e);case"diamond":return wD.draw(t,e);case"inv_curve":return pD.draw(t,e);case"triangle":return vD.draw(t,e);case"inv_triangle":return gD.draw(t,e);case"bar":return mD.draw(t,e);case"vee":return kD.draw(t,e);default:return cD.draw(t,e)}}}]),t}();function xD(t,e){var i=gf(t);if(AT){var n=AT(t);e&&(n=Zp(n).call(n,(function(e){return XT(t,e).enumerable}))),i.push.apply(i,n)}return i}function ED(t){for(var e=1;e<arguments.length;e++){var i,n,o=null!=arguments[e]?arguments[e]:{};e%2?Bf(i=xD(Object(o),!0)).call(i,(function(e){p_(t,e,o[e])})):QT?rM(t,QT(o)):Bf(n=xD(Object(o))).call(n,(function(e){kT(t,e,XT(o,e))}))}return t}var OD=function(){function t(e,i,n){ch(this,t),this._body=i,this._labelModule=n,this.color={},this.colorDirty=!0,this.hoverWidth=1.5,this.selectionWidth=2,this.setOptions(e),this.fromPoint=this.from,this.toPoint=this.to}return pu(t,[{key:"connect",value:function(){this.from=this._body.nodes[this.options.from],this.to=this._body.nodes[this.options.to]}},{key:"cleanup",value:function(){return!1}},{key:"setOptions",value:function(t){this.options=t,this.from=this._body.nodes[this.options.from],this.to=this._body.nodes[this.options.to],this.id=this.options.id}},{key:"drawLine",value:function(t,e,i,n){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:this.getViaNode();t.strokeStyle=this.getColor(t,e),t.lineWidth=e.width,!1!==e.dashes?this._drawDashedLine(t,e,o):this._drawLine(t,e,o)}},{key:"_drawLine",value:function(t,e,i,n,o){if(this.from!=this.to)this._line(t,e,i,n,o);else{var r=Wu(this._getCircleData(t),3),s=r[0],a=r[1],h=r[2];this._circle(t,e,s,a,h)}}},{key:"_drawDashedLine",value:function(t,e,i,n,o){t.lineCap="round";var r=sf(e.dashes)?e.dashes:[5,5];if(void 0!==t.setLineDash){if(t.save(),t.setLineDash(r),t.lineDashOffset=0,this.from!=this.to)this._line(t,e,i);else{var s=Wu(this._getCircleData(t),3),a=s[0],h=s[1],l=s[2];this._circle(t,e,a,h,l)}t.setLineDash([0]),t.lineDashOffset=0,t.restore()}else{if(this.from!=this.to)Un(t,this.from.x,this.from.y,this.to.x,this.to.y,r);else{var d=Wu(this._getCircleData(t),3),c=d[0],u=d[1],f=d[2];this._circle(t,e,c,u,f)}this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}}},{key:"findBorderPosition",value:function(t,e,i){return this.from!=this.to?this._findBorderPosition(t,e,i):this._findBorderPositionCircle(t,e,i)}},{key:"findBorderPositions",value:function(t){if(this.from!=this.to)return{from:this._findBorderPosition(this.from,t),to:this._findBorderPosition(this.to,t)};var e,i=Wu(Zu(e=this._getCircleData(t)).call(e,0,2),2),n=i[0],o=i[1];return{from:this._findBorderPositionCircle(this.from,t,{x:n,y:o,low:.25,high:.6,direction:-1}),to:this._findBorderPositionCircle(this.from,t,{x:n,y:o,low:.6,high:.8,direction:1})}}},{key:"_getCircleData",value:function(t){var e=this.options.selfReference.size;void 0!==t&&void 0===this.from.shape.width&&this.from.shape.resize(t);var i=KM(t,this.options.selfReference.angle,e,this.from);return[i.x,i.y,e]}},{key:"_pointOnCircle",value:function(t,e,i,n){var o=2*n*Math.PI;return{x:t+i*Math.cos(o),y:e-i*Math.sin(o)}}},{key:"_findBorderPositionCircle",value:function(t,e,i){var n,o=i.x,r=i.y,s=i.low,a=i.high,h=i.direction,l=this.options.selfReference.size,d=.5*(s+a),c=0;!0===this.options.arrowStrikethrough&&(-1===h?c=this.options.endPointOffset.from:1===h&&(c=this.options.endPointOffset.to));var u=0;do{d=.5*(s+a),n=this._pointOnCircle(o,r,l,d);var f=Math.atan2(t.y-n.y,t.x-n.x),p=t.distanceToBorder(e,f)+c-Math.sqrt(Math.pow(n.x-t.x,2)+Math.pow(n.y-t.y,2));if(Math.abs(p)<.05)break;p>0?h>0?s=d:a=d:h>0?a=d:s=d,++u}while(s<=a&&u<10);return ED(ED({},n),{},{t:d})}},{key:"getLineWidth",value:function(t,e){return!0===t?Math.max(this.selectionWidth,.3/this._body.view.scale):!0===e?Math.max(this.hoverWidth,.3/this._body.view.scale):Math.max(this.options.width,.3/this._body.view.scale)}},{key:"getColor",value:function(t,e){if(!1!==e.inheritsColor){if("both"===e.inheritsColor&&this.from.id!==this.to.id){var i=t.createLinearGradient(this.from.x,this.from.y,this.to.x,this.to.y),n=this.from.options.color.highlight.border,o=this.to.options.color.highlight.border;return!1===this.from.selected&&!1===this.to.selected?(n=ob(this.from.options.color.border,e.opacity),o=ob(this.to.options.color.border,e.opacity)):!0===this.from.selected&&!1===this.to.selected?o=this.to.options.color.border:!1===this.from.selected&&!0===this.to.selected&&(n=this.from.options.color.border),i.addColorStop(0,n),i.addColorStop(1,o),i}return"to"===e.inheritsColor?ob(this.to.options.color.border,e.opacity):ob(this.from.options.color.border,e.opacity)}return ob(e.color,e.opacity)}},{key:"_circle",value:function(t,e,i,n,o){this.enableShadow(t,e);var r=0,s=2*Math.PI;if(!this.options.selfReference.renderBehindTheNode){var a=this.options.selfReference.angle,h=this.options.selfReference.angle+Math.PI,l=this._findBorderPositionCircle(this.from,t,{x:i,y:n,low:a,high:h,direction:-1}),d=this._findBorderPositionCircle(this.from,t,{x:i,y:n,low:a,high:h,direction:1});r=Math.atan2(l.y-n,l.x-i),s=Math.atan2(d.y-n,d.x-i)}t.beginPath(),t.arc(i,n,o,r,s,!1),t.stroke(),this.disableShadow(t,e)}},{key:"getDistanceToEdge",value:function(t,e,i,n,o,r){if(this.from!=this.to)return this._getDistanceToEdge(t,e,i,n,o,r);var s=Wu(this._getCircleData(void 0),3),a=s[0],h=s[1],l=s[2],d=a-o,c=h-r;return Math.abs(Math.sqrt(d*d+c*c)-l)}},{key:"_getDistanceToLine",value:function(t,e,i,n,o,r){var s=i-t,a=n-e,h=((o-t)*s+(r-e)*a)/(s*s+a*a);h>1?h=1:h<0&&(h=0);var l=t+h*s-o,d=e+h*a-r;return Math.sqrt(l*l+d*d)}},{key:"getArrowData",value:function(t,e,i,n,o,r){var s,a,h,l,d,c,u,f=r.width;"from"===e?(h=this.from,l=this.to,d=r.fromArrowScale<0,c=Math.abs(r.fromArrowScale),u=r.fromArrowType):"to"===e?(h=this.to,l=this.from,d=r.toArrowScale<0,c=Math.abs(r.toArrowScale),u=r.toArrowType):(h=this.to,l=this.from,d=r.middleArrowScale<0,c=Math.abs(r.middleArrowScale),u=r.middleArrowType);var p=15*c+3*f;if(h!=l){var v=p/aD(h.x-l.x,h.y-l.y);if("middle"!==e)if(!0===this.options.smooth.enabled){var g=this._findBorderPosition(h,t,{via:i}),y=this.getPoint(g.t+v*("from"===e?1:-1),i);s=Math.atan2(g.y-y.y,g.x-y.x),a=g}else s=Math.atan2(h.y-l.y,h.x-l.x),a=this._findBorderPosition(h,t);else{var m=(d?-v:v)/2,b=this.getPoint(.5+m,i),w=this.getPoint(.5-m,i);s=Math.atan2(b.y-w.y,b.x-w.x),a=this.getPoint(.5,i)}}else{var k=Wu(this._getCircleData(t),3),_=k[0],x=k[1],E=k[2];if("from"===e){var O=this.options.selfReference.angle,C=this.options.selfReference.angle+Math.PI,S=this._findBorderPositionCircle(this.from,t,{x:_,y:x,low:O,high:C,direction:-1});s=-2*S.t*Math.PI+1.5*Math.PI+.1*Math.PI,a=S}else if("to"===e){var T=this.options.selfReference.angle,M=this.options.selfReference.angle+Math.PI,P=this._findBorderPositionCircle(this.from,t,{x:_,y:x,low:T,high:M,direction:1});s=-2*P.t*Math.PI+1.5*Math.PI-1.1*Math.PI,a=P}else{var D=this.options.selfReference.angle/(2*Math.PI);a=this._pointOnCircle(_,x,E,D),s=-2*D*Math.PI+1.5*Math.PI+.1*Math.PI}}return{point:a,core:{x:a.x-.9*p*Math.cos(s),y:a.y-.9*p*Math.sin(s)},angle:s,length:p,type:u}}},{key:"drawArrowHead",value:function(t,e,i,n,o){t.strokeStyle=this.getColor(t,e),t.fillStyle=t.strokeStyle,t.lineWidth=e.width,_D.draw(t,o)&&(this.enableShadow(t,e),Cg(t).call(t),this.disableShadow(t,e))}},{key:"enableShadow",value:function(t,e){!0===e.shadow&&(t.shadowColor=e.shadowColor,t.shadowBlur=e.shadowSize,t.shadowOffsetX=e.shadowX,t.shadowOffsetY=e.shadowY)}},{key:"disableShadow",value:function(t,e){!0===e.shadow&&(t.shadowColor="rgba(0,0,0,0)",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0)}},{key:"drawBackground",value:function(t,e){if(!1!==e.background){var i={strokeStyle:t.strokeStyle,lineWidth:t.lineWidth,dashes:t.dashes};t.strokeStyle=e.backgroundColor,t.lineWidth=e.backgroundSize,this.setStrokeDashed(t,e.backgroundDashes),t.stroke(),t.strokeStyle=i.strokeStyle,t.lineWidth=i.lineWidth,t.dashes=i.dashes,this.setStrokeDashed(t,e.dashes)}}},{key:"setStrokeDashed",value:function(t,e){if(!1!==e)if(void 0!==t.setLineDash){var i=sf(e)?e:[5,5];t.setLineDash(i)}else console.warn("setLineDash is not supported in this browser. The dashed stroke cannot be used.");else void 0!==t.setLineDash?t.setLineDash([]):console.warn("setLineDash is not supported in this browser. The dashed stroke cannot be used.")}}]),t}();function CD(t,e){var i=gf(t);if(AT){var n=AT(t);e&&(n=Zp(n).call(n,(function(e){return XT(t,e).enumerable}))),i.push.apply(i,n)}return i}function SD(t){for(var e=1;e<arguments.length;e++){var i,n,o=null!=arguments[e]?arguments[e]:{};e%2?Bf(i=CD(Object(o),!0)).call(i,(function(e){p_(t,e,o[e])})):QT?rM(t,QT(o)):Bf(n=CD(Object(o))).call(n,(function(e){kT(t,e,XT(o,e))}))}return t}function TD(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var MD=function(t){l_(i,t);var e=TD(i);function i(t,n,o){return ch(this,i),e.call(this,t,n,o)}return pu(i,[{key:"_findBorderPositionBezier",value:function(t,e){var i,n,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this._getViaCoordinates(),r=!1,s=1,a=0,h=this.to,l=this.options.endPointOffset?this.options.endPointOffset.to:0;t.id===this.from.id&&(h=this.from,r=!0,l=this.options.endPointOffset?this.options.endPointOffset.from:0),!1===this.options.arrowStrikethrough&&(l=0);var d=0;do{n=.5*(a+s),i=this.getPoint(n,o);var c=Math.atan2(h.y-i.y,h.x-i.x),u=h.distanceToBorder(e,c)+l-Math.sqrt(Math.pow(i.x-h.x,2)+Math.pow(i.y-h.y,2));if(Math.abs(u)<.2)break;u<0?!1===r?a=n:s=n:!1===r?s=n:a=n,++d}while(a<=s&&d<10);return SD(SD({},i),{},{t:n})}},{key:"_getDistanceToBezierEdge",value:function(t,e,i,n,o,r,s){var a,h,l,d,c,u=1e9,f=t,p=e;for(h=1;h<10;h++)l=.1*h,d=Math.pow(1-l,2)*t+2*l*(1-l)*s.x+Math.pow(l,2)*i,c=Math.pow(1-l,2)*e+2*l*(1-l)*s.y+Math.pow(l,2)*n,h>0&&(u=(a=this._getDistanceToLine(f,p,d,c,o,r))<u?a:u),f=d,p=c;return u}},{key:"_bezierCurve",value:function(t,e,i,n){t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),null!=i&&null!=i.x?null!=n&&null!=n.x?t.bezierCurveTo(i.x,i.y,n.x,n.y,this.toPoint.x,this.toPoint.y):t.quadraticCurveTo(i.x,i.y,this.toPoint.x,this.toPoint.y):t.lineTo(this.toPoint.x,this.toPoint.y),this.drawBackground(t,e),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"getViaNode",value:function(){return this._getViaCoordinates()}}]),i}(OD);function PD(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var DD=function(t){l_(i,t);var e=PD(i);function i(t,n,o){var r;return ch(this,i),(r=e.call(this,t,n,o)).via=r.via,r._boundFunction=function(){r.positionBezierNode()},r._body.emitter.on("_repositionBezierNodes",r._boundFunction),r}return pu(i,[{key:"setOptions",value:function(t){iD(f_(i.prototype),"setOptions",this).call(this,t);var e=!1;this.options.physics!==t.physics&&(e=!0),this.options=t,this.id=this.options.id,this.from=this._body.nodes[this.options.from],this.to=this._body.nodes[this.options.to],this.setupSupportNode(),this.connect(),!0===e&&(this.via.setOptions({physics:this.options.physics}),this.positionBezierNode())}},{key:"connect",value:function(){this.from=this._body.nodes[this.options.from],this.to=this._body.nodes[this.options.to],void 0===this.from||void 0===this.to||!1===this.options.physics||this.from.id===this.to.id?this.via.setOptions({physics:!1}):this.via.setOptions({physics:!0})}},{key:"cleanup",value:function(){return this._body.emitter.off("_repositionBezierNodes",this._boundFunction),void 0!==this.via&&(delete this._body.nodes[this.via.id],this.via=void 0,!0)}},{key:"setupSupportNode",value:function(){if(void 0===this.via){var t="edgeId:"+this.id,e=this._body.functions.createNode({id:t,shape:"circle",physics:!0,hidden:!0});this._body.nodes[t]=e,this.via=e,this.via.parentEdgeId=this.id,this.positionBezierNode()}}},{key:"positionBezierNode",value:function(){void 0!==this.via&&void 0!==this.from&&void 0!==this.to?(this.via.x=.5*(this.from.x+this.to.x),this.via.y=.5*(this.from.y+this.to.y)):void 0!==this.via&&(this.via.x=0,this.via.y=0)}},{key:"_line",value:function(t,e,i){this._bezierCurve(t,e,i)}},{key:"_getViaCoordinates",value:function(){return this.via}},{key:"getViaNode",value:function(){return this.via}},{key:"getPoint",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.via;if(this.from===this.to){var i=Wu(this._getCircleData(),3),n=i[0],o=i[1],r=i[2],s=2*Math.PI*(1-t);return{x:n+r*Math.sin(s),y:o+r-r*(1-Math.cos(s))}}return{x:Math.pow(1-t,2)*this.fromPoint.x+2*t*(1-t)*e.x+Math.pow(t,2)*this.toPoint.x,y:Math.pow(1-t,2)*this.fromPoint.y+2*t*(1-t)*e.y+Math.pow(t,2)*this.toPoint.y}}},{key:"_findBorderPosition",value:function(t,e){return this._findBorderPositionBezier(t,e,this.via)}},{key:"_getDistanceToEdge",value:function(t,e,i,n,o,r){return this._getDistanceToBezierEdge(t,e,i,n,o,r,this.via)}}]),i}(MD);function ID(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var BD=function(t){l_(i,t);var e=ID(i);function i(t,n,o){return ch(this,i),e.call(this,t,n,o)}return pu(i,[{key:"_line",value:function(t,e,i){this._bezierCurve(t,e,i)}},{key:"getViaNode",value:function(){return this._getViaCoordinates()}},{key:"_getViaCoordinates",value:function(){var t,e,i=this.options.smooth.roundness,n=this.options.smooth.type,o=Math.abs(this.from.x-this.to.x),r=Math.abs(this.from.y-this.to.y);if("discrete"===n||"diagonalCross"===n){var s,a;s=a=o<=r?i*r:i*o,this.from.x>this.to.x&&(s=-s),this.from.y>=this.to.y&&(a=-a);var h=this.from.x+s,l=this.from.y+a;return"discrete"===n&&(o<=r?h=o<i*r?this.from.x:h:l=r<i*o?this.from.y:l),{x:h,y:l}}if("straightCross"===n){var d=(1-i)*o,c=(1-i)*r;return o<=r?(d=0,this.from.y<this.to.y&&(c=-c)):(this.from.x<this.to.x&&(d=-d),c=0),{x:this.to.x+d,y:this.to.y+c}}if("horizontal"===n){var u=(1-i)*o;return this.from.x<this.to.x&&(u=-u),{x:this.to.x+u,y:this.from.y}}if("vertical"===n){var f=(1-i)*r;return this.from.y<this.to.y&&(f=-f),{x:this.from.x,y:this.to.y+f}}if("curvedCW"===n){o=this.to.x-this.from.x,r=this.from.y-this.to.y;var p=Math.sqrt(o*o+r*r),v=Math.PI,g=(Math.atan2(r,o)+(.5*i+.5)*v)%(2*v);return{x:this.from.x+(.5*i+.5)*p*Math.sin(g),y:this.from.y+(.5*i+.5)*p*Math.cos(g)}}if("curvedCCW"===n){o=this.to.x-this.from.x,r=this.from.y-this.to.y;var y=Math.sqrt(o*o+r*r),m=Math.PI,b=(Math.atan2(r,o)+(.5*-i+.5)*m)%(2*m);return{x:this.from.x+(.5*i+.5)*y*Math.sin(b),y:this.from.y+(.5*i+.5)*y*Math.cos(b)}}t=e=o<=r?i*r:i*o,this.from.x>this.to.x&&(t=-t),this.from.y>=this.to.y&&(e=-e);var w=this.from.x+t,k=this.from.y+e;return o<=r?w=this.from.x<=this.to.x?this.to.x<w?this.to.x:w:this.to.x>w?this.to.x:w:k=this.from.y>=this.to.y?this.to.y>k?this.to.y:k:this.to.y<k?this.to.y:k,{x:w,y:k}}},{key:"_findBorderPosition",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this._findBorderPositionBezier(t,e,i.via)}},{key:"_getDistanceToEdge",value:function(t,e,i,n,o,r){var s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:this._getViaCoordinates();return this._getDistanceToBezierEdge(t,e,i,n,o,r,s)}},{key:"getPoint",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._getViaCoordinates(),i=t;return{x:Math.pow(1-i,2)*this.fromPoint.x+2*i*(1-i)*e.x+Math.pow(i,2)*this.toPoint.x,y:Math.pow(1-i,2)*this.fromPoint.y+2*i*(1-i)*e.y+Math.pow(i,2)*this.toPoint.y}}}]),i}(MD);function ND(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var FD=function(t){l_(i,t);var e=ND(i);function i(t,n,o){return ch(this,i),e.call(this,t,n,o)}return pu(i,[{key:"_getDistanceToBezierEdge2",value:function(t,e,i,n,o,r,s,a){for(var h=1e9,l=t,d=e,c=[0,0,0,0],u=1;u<10;u++){var f=.1*u;c[0]=Math.pow(1-f,3),c[1]=3*f*Math.pow(1-f,2),c[2]=3*Math.pow(f,2)*(1-f),c[3]=Math.pow(f,3);var p=c[0]*t+c[1]*s.x+c[2]*a.x+c[3]*i,v=c[0]*e+c[1]*s.y+c[2]*a.y+c[3]*n;if(u>0){var g=this._getDistanceToLine(l,d,p,v,o,r);h=g<h?g:h}l=p,d=v}return h}}]),i}(MD);function zD(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var AD=function(t){l_(i,t);var e=zD(i);function i(t,n,o){return ch(this,i),e.call(this,t,n,o)}return pu(i,[{key:"_line",value:function(t,e,i){var n=i[0],o=i[1];this._bezierCurve(t,e,n,o)}},{key:"_getViaCoordinates",value:function(){var t,e,i,n,o=this.from.x-this.to.x,r=this.from.y-this.to.y,s=this.options.smooth.roundness;return(Math.abs(o)>Math.abs(r)||!0===this.options.smooth.forceDirection||"horizontal"===this.options.smooth.forceDirection)&&"vertical"!==this.options.smooth.forceDirection?(e=this.from.y,n=this.to.y,t=this.from.x-s*o,i=this.to.x+s*o):(e=this.from.y-s*r,n=this.to.y+s*r,t=this.from.x,i=this.to.x),[{x:t,y:e},{x:i,y:n}]}},{key:"getViaNode",value:function(){return this._getViaCoordinates()}},{key:"_findBorderPosition",value:function(t,e){return this._findBorderPositionBezier(t,e)}},{key:"_getDistanceToEdge",value:function(t,e,i,n,o,r){var s=Wu(arguments.length>6&&void 0!==arguments[6]?arguments[6]:this._getViaCoordinates(),2),a=s[0],h=s[1];return this._getDistanceToBezierEdge2(t,e,i,n,o,r,a,h)}},{key:"getPoint",value:function(t){var e=Wu(arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._getViaCoordinates(),2),i=e[0],n=e[1],o=t,r=[Math.pow(1-o,3),3*o*Math.pow(1-o,2),3*Math.pow(o,2)*(1-o),Math.pow(o,3)];return{x:r[0]*this.fromPoint.x+r[1]*i.x+r[2]*n.x+r[3]*this.toPoint.x,y:r[0]*this.fromPoint.y+r[1]*i.y+r[2]*n.y+r[3]*this.toPoint.y}}}]),i}(FD);function jD(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var RD=function(t){l_(i,t);var e=jD(i);function i(t,n,o){return ch(this,i),e.call(this,t,n,o)}return pu(i,[{key:"_line",value:function(t,e){t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),t.lineTo(this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"getViaNode",value:function(){}},{key:"getPoint",value:function(t){return{x:(1-t)*this.fromPoint.x+t*this.toPoint.x,y:(1-t)*this.fromPoint.y+t*this.toPoint.y}}},{key:"_findBorderPosition",value:function(t,e){var i=this.to,n=this.from;t.id===this.from.id&&(i=this.from,n=this.to);var o=Math.atan2(i.y-n.y,i.x-n.x),r=i.x-n.x,s=i.y-n.y,a=Math.sqrt(r*r+s*s),h=(a-t.distanceToBorder(e,o))/a;return{x:(1-h)*n.x+h*i.x,y:(1-h)*n.y+h*i.y,t:0}}},{key:"_getDistanceToEdge",value:function(t,e,i,n,o,r){return this._getDistanceToLine(t,e,i,n,o,r)}}]),i}(OD),LD=function(){function t(e,i,n,o,r){if(ch(this,t),void 0===i)throw new Error("No body provided");this.options=vb(o),this.globalOptions=o,this.defaultOptions=r,this.body=i,this.imagelist=n,this.id=void 0,this.fromId=void 0,this.toId=void 0,this.selected=!1,this.hover=!1,this.labelDirty=!0,this.baseWidth=this.options.width,this.baseFontSize=this.options.font.size,this.from=void 0,this.to=void 0,this.edgeType=void 0,this.connected=!1,this.labelModule=new eP(this.body,this.options,!0),this.setOptions(e)}return pu(t,[{key:"setOptions",value:function(e){if(e){var i=void 0!==e.physics&&this.options.physics!==e.physics||void 0!==e.hidden&&(this.options.hidden||!1)!==(e.hidden||!1)||void 0!==e.from&&this.options.from!==e.from||void 0!==e.to&&this.options.to!==e.to;t.parseOptions(this.options,e,!0,this.globalOptions),void 0!==e.id&&(this.id=e.id),void 0!==e.from&&(this.fromId=e.from),void 0!==e.to&&(this.toId=e.to),void 0!==e.title&&(this.title=e.title),void 0!==e.value&&(e.value=RM(e.value));var n=[e,this.options,this.defaultOptions];return this.chooser=YM("edge",n),this.updateLabelModule(e),i=this.updateEdgeType()||i,this._setInteractionWidths(),this.connect(),i}}},{key:"getFormattingValues",value:function(){var t=!0===this.options.arrows.to||!0===this.options.arrows.to.enabled,e=!0===this.options.arrows.from||!0===this.options.arrows.from.enabled,i=!0===this.options.arrows.middle||!0===this.options.arrows.middle.enabled,n=this.options.color.inherit,o={toArrow:t,toArrowScale:this.options.arrows.to.scaleFactor,toArrowType:this.options.arrows.to.type,toArrowSrc:this.options.arrows.to.src,toArrowImageWidth:this.options.arrows.to.imageWidth,toArrowImageHeight:this.options.arrows.to.imageHeight,middleArrow:i,middleArrowScale:this.options.arrows.middle.scaleFactor,middleArrowType:this.options.arrows.middle.type,middleArrowSrc:this.options.arrows.middle.src,middleArrowImageWidth:this.options.arrows.middle.imageWidth,middleArrowImageHeight:this.options.arrows.middle.imageHeight,fromArrow:e,fromArrowScale:this.options.arrows.from.scaleFactor,fromArrowType:this.options.arrows.from.type,fromArrowSrc:this.options.arrows.from.src,fromArrowImageWidth:this.options.arrows.from.imageWidth,fromArrowImageHeight:this.options.arrows.from.imageHeight,arrowStrikethrough:this.options.arrowStrikethrough,color:n?void 0:this.options.color.color,inheritsColor:n,opacity:this.options.color.opacity,hidden:this.options.hidden,length:this.options.length,shadow:this.options.shadow.enabled,shadowColor:this.options.shadow.color,shadowSize:this.options.shadow.size,shadowX:this.options.shadow.x,shadowY:this.options.shadow.y,dashes:this.options.dashes,width:this.options.width,background:this.options.background.enabled,backgroundColor:this.options.background.color,backgroundSize:this.options.background.size,backgroundDashes:this.options.background.dashes};if(this.selected||this.hover)if(!0===this.chooser){if(this.selected){var r=this.options.selectionWidth;"function"==typeof r?o.width=r(o.width):"number"==typeof r&&(o.width+=r),o.width=Math.max(o.width,.3/this.body.view.scale),o.color=this.options.color.highlight,o.shadow=this.options.shadow.enabled}else if(this.hover){var s=this.options.hoverWidth;"function"==typeof s?o.width=s(o.width):"number"==typeof s&&(o.width+=s),o.width=Math.max(o.width,.3/this.body.view.scale),o.color=this.options.color.hover,o.shadow=this.options.shadow.enabled}}else"function"==typeof this.chooser&&(this.chooser(o,this.options.id,this.selected,this.hover),void 0!==o.color&&(o.inheritsColor=!1),!1===o.shadow&&(o.shadowColor===this.options.shadow.color&&o.shadowSize===this.options.shadow.size&&o.shadowX===this.options.shadow.x&&o.shadowY===this.options.shadow.y||(o.shadow=!0)));else o.shadow=this.options.shadow.enabled,o.width=Math.max(o.width,.3/this.body.view.scale);return o}},{key:"updateLabelModule",value:function(t){var e=[t,this.options,this.globalOptions,this.defaultOptions];this.labelModule.update(this.options,e),void 0!==this.labelModule.baseSize&&(this.baseFontSize=this.labelModule.baseSize)}},{key:"updateEdgeType",value:function(){var t=this.options.smooth,e=!1,i=!0;return void 0!==this.edgeType&&((this.edgeType instanceof DD&&!0===t.enabled&&"dynamic"===t.type||this.edgeType instanceof AD&&!0===t.enabled&&"cubicBezier"===t.type||this.edgeType instanceof BD&&!0===t.enabled&&"dynamic"!==t.type&&"cubicBezier"!==t.type||this.edgeType instanceof RD&&!1===t.type.enabled)&&(i=!1),!0===i&&(e=this.cleanup())),!0===i?!0===t.enabled?"dynamic"===t.type?(e=!0,this.edgeType=new DD(this.options,this.body,this.labelModule)):"cubicBezier"===t.type?this.edgeType=new AD(this.options,this.body,this.labelModule):this.edgeType=new BD(this.options,this.body,this.labelModule):this.edgeType=new RD(this.options,this.body,this.labelModule):this.edgeType.setOptions(this.options),e}},{key:"connect",value:function(){this.disconnect(),this.from=this.body.nodes[this.fromId]||void 0,this.to=this.body.nodes[this.toId]||void 0,this.connected=void 0!==this.from&&void 0!==this.to,!0===this.connected?(this.from.attachEdge(this),this.to.attachEdge(this)):(this.from&&this.from.detachEdge(this),this.to&&this.to.detachEdge(this)),this.edgeType.connect()}},{key:"disconnect",value:function(){this.from&&(this.from.detachEdge(this),this.from=void 0),this.to&&(this.to.detachEdge(this),this.to=void 0),this.connected=!1}},{key:"getTitle",value:function(){return this.title}},{key:"isSelected",value:function(){return this.selected}},{key:"getValue",value:function(){return this.options.value}},{key:"setValueRange",value:function(t,e,i){if(void 0!==this.options.value){var n=this.options.scaling.customScalingFunction(t,e,i,this.options.value),o=this.options.scaling.max-this.options.scaling.min;if(!0===this.options.scaling.label.enabled){var r=this.options.scaling.label.max-this.options.scaling.label.min;this.options.font.size=this.options.scaling.label.min+n*r}this.options.width=this.options.scaling.min+n*o}else this.options.width=this.baseWidth,this.options.font.size=this.baseFontSize;this._setInteractionWidths(),this.updateLabelModule()}},{key:"_setInteractionWidths",value:function(){"function"==typeof this.options.hoverWidth?this.edgeType.hoverWidth=this.options.hoverWidth(this.options.width):this.edgeType.hoverWidth=this.options.hoverWidth+this.options.width,"function"==typeof this.options.selectionWidth?this.edgeType.selectionWidth=this.options.selectionWidth(this.options.width):this.edgeType.selectionWidth=this.options.selectionWidth+this.options.width}},{key:"draw",value:function(t){var e=this.getFormattingValues();if(!e.hidden){var i=this.edgeType.getViaNode();this.edgeType.drawLine(t,e,this.selected,this.hover,i),this.drawLabel(t,i)}}},{key:"drawArrows",value:function(t){var e=this.getFormattingValues();if(!e.hidden){var i=this.edgeType.getViaNode(),n={};this.edgeType.fromPoint=this.edgeType.from,this.edgeType.toPoint=this.edgeType.to,e.fromArrow&&(n.from=this.edgeType.getArrowData(t,"from",i,this.selected,this.hover,e),!1===e.arrowStrikethrough&&(this.edgeType.fromPoint=n.from.core),e.fromArrowSrc&&(n.from.image=this.imagelist.load(e.fromArrowSrc)),e.fromArrowImageWidth&&(n.from.imageWidth=e.fromArrowImageWidth),e.fromArrowImageHeight&&(n.from.imageHeight=e.fromArrowImageHeight)),e.toArrow&&(n.to=this.edgeType.getArrowData(t,"to",i,this.selected,this.hover,e),!1===e.arrowStrikethrough&&(this.edgeType.toPoint=n.to.core),e.toArrowSrc&&(n.to.image=this.imagelist.load(e.toArrowSrc)),e.toArrowImageWidth&&(n.to.imageWidth=e.toArrowImageWidth),e.toArrowImageHeight&&(n.to.imageHeight=e.toArrowImageHeight)),e.middleArrow&&(n.middle=this.edgeType.getArrowData(t,"middle",i,this.selected,this.hover,e),e.middleArrowSrc&&(n.middle.image=this.imagelist.load(e.middleArrowSrc)),e.middleArrowImageWidth&&(n.middle.imageWidth=e.middleArrowImageWidth),e.middleArrowImageHeight&&(n.middle.imageHeight=e.middleArrowImageHeight)),e.fromArrow&&this.edgeType.drawArrowHead(t,e,this.selected,this.hover,n.from),e.middleArrow&&this.edgeType.drawArrowHead(t,e,this.selected,this.hover,n.middle),e.toArrow&&this.edgeType.drawArrowHead(t,e,this.selected,this.hover,n.to)}}},{key:"drawLabel",value:function(t,e){if(void 0!==this.options.label){var i,n=this.from,o=this.to;if(this.labelModule.differentState(this.selected,this.hover)&&this.labelModule.getTextSize(t,this.selected,this.hover),n.id!=o.id){this.labelModule.pointToSelf=!1,i=this.edgeType.getPoint(.5,e),t.save();var r=this._getRotation(t);0!=r.angle&&(t.translate(r.x,r.y),t.rotate(r.angle)),this.labelModule.draw(t,i.x,i.y,this.selected,this.hover),t.restore()}else{this.labelModule.pointToSelf=!0;var s=KM(t,this.options.selfReference.angle,this.options.selfReference.size,n);i=this._pointOnCircle(s.x,s.y,this.options.selfReference.size,this.options.selfReference.angle),this.labelModule.draw(t,i.x,i.y,this.selected,this.hover)}}}},{key:"getItemsOnPoint",value:function(t){var e=[];if(this.labelModule.visible()){var i=this._getRotation();XM(this.labelModule.getSize(),t,i)&&e.push({edgeId:this.id,labelId:0})}var n={left:t.x,top:t.y};return this.isOverlappingWith(n)&&e.push({edgeId:this.id}),e}},{key:"isOverlappingWith",value:function(t){if(this.connected){var e=this.from.x,i=this.from.y,n=this.to.x,o=this.to.y,r=t.left,s=t.top;return this.edgeType.getDistanceToEdge(e,i,n,o,r,s)<10}return!1}},{key:"_getRotation",value:function(t){var e=this.edgeType.getViaNode(),i=this.edgeType.getPoint(.5,e);void 0!==t&&this.labelModule.calculateLabelSize(t,this.selected,this.hover,i.x,i.y);var n={x:i.x,y:this.labelModule.size.yLine,angle:0};if(!this.labelModule.visible())return n;if("horizontal"===this.options.font.align)return n;var o=this.from.y-this.to.y,r=this.from.x-this.to.x,s=Math.atan2(o,r);return(s<-1&&r<0||s>0&&r<0)&&(s+=Math.PI),n.angle=s,n}},{key:"_pointOnCircle",value:function(t,e,i,n){return{x:t+i*Math.cos(n),y:e-i*Math.sin(n)}}},{key:"select",value:function(){this.selected=!0}},{key:"unselect",value:function(){this.selected=!1}},{key:"cleanup",value:function(){return this.edgeType.cleanup()}},{key:"remove",value:function(){this.cleanup(),this.disconnect(),delete this.body.edges[this.id]}},{key:"endPointsValid",value:function(){return void 0!==this.body.nodes[this.fromId]&&void 0!==this.body.nodes[this.toId]}}],[{key:"parseOptions",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=arguments.length>4&&void 0!==arguments[4]&&arguments[4];if(Um(["endPointOffset","arrowStrikethrough","id","from","hidden","hoverWidth","labelHighlightBold","length","line","opacity","physics","scaling","selectionWidth","selfReferenceSize","selfReference","to","title","value","width","font","chosen","widthConstraint"],t,e,i),void 0!==e.endPointOffset&&void 0!==e.endPointOffset.from&&(Gk(e.endPointOffset.from)?t.endPointOffset.from=e.endPointOffset.from:(t.endPointOffset.from=void 0!==n.endPointOffset.from?n.endPointOffset.from:0,console.error("endPointOffset.from is not a valid number"))),void 0!==e.endPointOffset&&void 0!==e.endPointOffset.to&&(Gk(e.endPointOffset.to)?t.endPointOffset.to=e.endPointOffset.to:(t.endPointOffset.to=void 0!==n.endPointOffset.to?n.endPointOffset.to:0,console.error("endPointOffset.to is not a valid number"))),GM(e.label)?t.label=e.label:GM(t.label)||(t.label=void 0),gb(t,e,"smooth",n),gb(t,e,"shadow",n),gb(t,e,"background",n),void 0!==e.dashes&&null!==e.dashes?t.dashes=e.dashes:!0===i&&null===e.dashes&&(t.dashes=Uv(n.dashes)),void 0!==e.scaling&&null!==e.scaling?(void 0!==e.scaling.min&&(t.scaling.min=e.scaling.min),void 0!==e.scaling.max&&(t.scaling.max=e.scaling.max),gb(t.scaling,e.scaling,"label",n.scaling)):!0===i&&null===e.scaling&&(t.scaling=Uv(n.scaling)),void 0!==e.arrows&&null!==e.arrows)if("string"==typeof e.arrows){var r=e.arrows.toLowerCase();t.arrows.to.enabled=-1!=Lv(r).call(r,"to"),t.arrows.middle.enabled=-1!=Lv(r).call(r,"middle"),t.arrows.from.enabled=-1!=Lv(r).call(r,"from")}else{if("object"!==du(e.arrows))throw new Error("The arrow newOptions can only be an object or a string. Refer to the documentation. You used:"+Kv(e.arrows));gb(t.arrows,e.arrows,"to",n.arrows),gb(t.arrows,e.arrows,"middle",n.arrows),gb(t.arrows,e.arrows,"from",n.arrows)}else!0===i&&null===e.arrows&&(t.arrows=Uv(n.arrows));if(void 0!==e.color&&null!==e.color){var s=Lm(e.color)?{color:e.color,highlight:e.color,hover:e.color,inherit:!1,opacity:1}:e.color,a=t.color;if(o)Xm(a,n.color,!1,i);else for(var h in a)Object.prototype.hasOwnProperty.call(a,h)&&delete a[h];if(Lm(a))a.color=a,a.highlight=a,a.hover=a,a.inherit=!1,void 0===s.opacity&&(a.opacity=1);else{var l=!1;void 0!==s.color&&(a.color=s.color,l=!0),void 0!==s.highlight&&(a.highlight=s.highlight,l=!0),void 0!==s.hover&&(a.hover=s.hover,l=!0),void 0!==s.inherit&&(a.inherit=s.inherit),void 0!==s.opacity&&(a.opacity=Math.min(1,Math.max(0,s.opacity))),!0===l?a.inherit=!1:void 0===a.inherit&&(a.inherit="from")}}else!0===i&&null===e.color&&(t.color=vb(n.color));!0===i&&null===e.font&&(t.font=vb(n.font)),Object.prototype.hasOwnProperty.call(e,"selfReferenceSize")&&(console.warn("The selfReferenceSize property has been deprecated. Please use selfReference property instead. The selfReference can be set like thise selfReference:{size:30, angle:Math.PI / 4}"),t.selfReference.size=e.selfReferenceSize)}}]),t}(),HD=function(){function t(e,i,n){var o,r=this;ch(this,t),this.body=e,this.images=i,this.groups=n,this.body.functions.createEdge=Ln(o=this.create).call(o,this),this.edgesListeners={add:function(t,e){r.add(e.items)},update:function(t,e){r.update(e.items)},remove:function(t,e){r.remove(e.items)}},this.options={},this.defaultOptions={arrows:{to:{enabled:!1,scaleFactor:1,type:"arrow"},middle:{enabled:!1,scaleFactor:1,type:"arrow"},from:{enabled:!1,scaleFactor:1,type:"arrow"}},endPointOffset:{from:0,to:0},arrowStrikethrough:!0,color:{color:"#848484",highlight:"#848484",hover:"#848484",inherit:"from",opacity:1},dashes:!1,font:{color:"#343434",size:14,face:"arial",background:"none",strokeWidth:2,strokeColor:"#ffffff",align:"horizontal",multi:!1,vadjust:0,bold:{mod:"bold"},boldital:{mod:"bold italic"},ital:{mod:"italic"},mono:{mod:"",size:15,face:"courier new",vadjust:2}},hidden:!1,hoverWidth:1.5,label:void 0,labelHighlightBold:!0,length:void 0,physics:!0,scaling:{min:1,max:15,label:{enabled:!0,min:14,max:30,maxVisible:30,drawThreshold:5},customScalingFunction:function(t,e,i,n){if(e===t)return.5;var o=1/(e-t);return Math.max(0,(n-t)*o)}},selectionWidth:1.5,selfReference:{size:20,angle:Math.PI/4,renderBehindTheNode:!0},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:10,x:5,y:5},background:{enabled:!1,color:"rgba(111,111,111,1)",size:10,dashes:!1},smooth:{enabled:!0,type:"dynamic",forceDirection:"none",roundness:.5},title:void 0,width:1,value:void 0},Xm(this.options,this.defaultOptions),this.bindEventListeners()}return pu(t,[{key:"bindEventListeners",value:function(){var t,e,i=this;this.body.emitter.on("_forceDisableDynamicCurves",(function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];"dynamic"===t&&(t="continuous");var n=!1;for(var o in i.body.edges)if(Object.prototype.hasOwnProperty.call(i.body.edges,o)){var r=i.body.edges[o],s=i.body.data.edges.get(o);if(null!=s){var a=s.smooth;void 0!==a&&!0===a.enabled&&"dynamic"===a.type&&(void 0===t?r.setOptions({smooth:!1}):r.setOptions({smooth:{type:t}}),n=!0)}}!0===e&&!0===n&&i.body.emitter.emit("_dataChanged")})),this.body.emitter.on("_dataUpdated",(function(){i.reconnectEdges()})),this.body.emitter.on("refreshEdges",Ln(t=this.refresh).call(t,this)),this.body.emitter.on("refresh",Ln(e=this.refresh).call(e,this)),this.body.emitter.on("destroy",(function(){Qm(i.edgesListeners,(function(t,e){i.body.data.edges&&i.body.data.edges.off(e,t)})),delete i.body.functions.createEdge,delete i.edgesListeners.add,delete i.edgesListeners.update,delete i.edgesListeners.remove,delete i.edgesListeners}))}},{key:"setOptions",value:function(t){if(void 0!==t){LD.parseOptions(this.options,t,!0,this.defaultOptions,!0);var e=!1;if(void 0!==t.smooth)for(var i in this.body.edges)Object.prototype.hasOwnProperty.call(this.body.edges,i)&&(e=this.body.edges[i].updateEdgeType()||e);if(void 0!==t.font)for(var n in this.body.edges)Object.prototype.hasOwnProperty.call(this.body.edges,n)&&this.body.edges[n].updateLabelModule();void 0===t.hidden&&void 0===t.physics&&!0!==e||this.body.emitter.emit("_dataChanged")}}},{key:"setData",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=this.body.data.edges;if(SM("id",t))this.body.data.edges=t;else if(sf(t))this.body.data.edges=new EM,this.body.data.edges.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.body.data.edges=new EM}if(n&&Qm(this.edgesListeners,(function(t,e){n.off(e,t)})),this.body.edges={},this.body.data.edges){Qm(this.edgesListeners,(function(t,i){e.body.data.edges.on(i,t)}));var o=this.body.data.edges.getIds();this.add(o,!0)}this.body.emitter.emit("_adjustEdgesForHierarchicalLayout"),!1===i&&this.body.emitter.emit("_dataChanged")}},{key:"add",value:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.body.edges,n=this.body.data.edges,o=0;o<t.length;o++){var r=t[o],s=i[r];s&&s.disconnect();var a=n.get(r,{showInternalIds:!0});i[r]=this.create(a)}this.body.emitter.emit("_adjustEdgesForHierarchicalLayout"),!1===e&&this.body.emitter.emit("_dataChanged")}},{key:"update",value:function(t){for(var e=this.body.edges,i=this.body.data.edges,n=!1,o=0;o<t.length;o++){var r=t[o],s=i.get(r),a=e[r];void 0!==a?(a.disconnect(),n=a.setOptions(s)||n,a.connect()):(this.body.edges[r]=this.create(s),n=!0)}!0===n?(this.body.emitter.emit("_adjustEdgesForHierarchicalLayout"),this.body.emitter.emit("_dataChanged")):this.body.emitter.emit("_dataUpdated")}},{key:"remove",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(0!==t.length){var i=this.body.edges;Qm(t,(function(t){var e=i[t];void 0!==e&&e.remove()})),e&&this.body.emitter.emit("_dataChanged")}}},{key:"refresh",value:function(){var t=this;Qm(this.body.edges,(function(e,i){var n=t.body.data.edges.get(i);void 0!==n&&e.setOptions(n)}))}},{key:"create",value:function(t){return new LD(t,this.body,this.images,this.options,this.defaultOptions)}},{key:"reconnectEdges",value:function(){var t,e=this.body.nodes,i=this.body.edges;for(t in e)Object.prototype.hasOwnProperty.call(e,t)&&(e[t].edges=[]);for(t in i)if(Object.prototype.hasOwnProperty.call(i,t)){var n=i[t];n.from=null,n.to=null,n.connect()}}},{key:"getConnectedNodes",value:function(t){var e=[];if(void 0!==this.body.edges[t]){var i=this.body.edges[t];void 0!==i.fromId&&e.push(i.fromId),void 0!==i.toId&&e.push(i.toId)}return e}},{key:"_updateState",value:function(){this._addMissingEdges(),this._removeInvalidEdges()}},{key:"_removeInvalidEdges",value:function(){var t=this,e=[];Qm(this.body.edges,(function(i,n){var o=t.body.nodes[i.toId],r=t.body.nodes[i.fromId];void 0!==o&&!0===o.isCluster||void 0!==r&&!0===r.isCluster||void 0!==o&&void 0!==r||e.push(n)})),this.remove(e,!1)}},{key:"_addMissingEdges",value:function(){var t=this.body.data.edges;if(null!=t){var e=this.body.edges,i=[];Bf(t).call(t,(function(t,n){void 0===e[n]&&i.push(n)})),this.add(i,!0)}}}]),t}(),WD=function(){function t(e,i,n){ch(this,t),this.body=e,this.physicsBody=i,this.barnesHutTree,this.setOptions(n),this._rng=Pm("BARNES HUT SOLVER")}return pu(t,[{key:"setOptions",value:function(t){this.options=t,this.thetaInversed=1/this.options.theta,this.overlapAvoidanceFactor=1-Math.max(0,Math.min(1,this.options.avoidOverlap))}},{key:"solve",value:function(){if(0!==this.options.gravitationalConstant&&this.physicsBody.physicsNodeIndices.length>0){var t,e=this.body.nodes,i=this.physicsBody.physicsNodeIndices,n=i.length,o=this._formBarnesHutTree(e,i);this.barnesHutTree=o;for(var r=0;r<n;r++)(t=e[i[r]]).options.mass>0&&this._getForceContributions(o.root,t)}}},{key:"_getForceContributions",value:function(t,e){this._getForceContribution(t.children.NW,e),this._getForceContribution(t.children.NE,e),this._getForceContribution(t.children.SW,e),this._getForceContribution(t.children.SE,e)}},{key:"_getForceContribution",value:function(t,e){if(t.childrenCount>0){var i=t.centerOfMass.x-e.x,n=t.centerOfMass.y-e.y,o=Math.sqrt(i*i+n*n);o*t.calcSize>this.thetaInversed?this._calculateForces(o,i,n,e,t):4===t.childrenCount?this._getForceContributions(t,e):t.children.data.id!=e.id&&this._calculateForces(o,i,n,e,t)}}},{key:"_calculateForces",value:function(t,e,i,n,o){0===t&&(e=t=.1),this.overlapAvoidanceFactor<1&&n.shape.radius&&(t=Math.max(.1+this.overlapAvoidanceFactor*n.shape.radius,t-n.shape.radius));var r=this.options.gravitationalConstant*o.mass*n.options.mass/Math.pow(t,3),s=e*r,a=i*r;this.physicsBody.forces[n.id].x+=s,this.physicsBody.forces[n.id].y+=a}},{key:"_formBarnesHutTree",value:function(t,e){for(var i,n=e.length,o=t[e[0]].x,r=t[e[0]].y,s=t[e[0]].x,a=t[e[0]].y,h=1;h<n;h++){var l=t[e[h]],d=l.x,c=l.y;l.options.mass>0&&(d<o&&(o=d),d>s&&(s=d),c<r&&(r=c),c>a&&(a=c))}var u=Math.abs(s-o)-Math.abs(a-r);u>0?(r-=.5*u,a+=.5*u):(o+=.5*u,s-=.5*u);var f=Math.max(1e-5,Math.abs(s-o)),p=.5*f,v=.5*(o+s),g=.5*(r+a),y={root:{centerOfMass:{x:0,y:0},mass:0,range:{minX:v-p,maxX:v+p,minY:g-p,maxY:g+p},size:f,calcSize:1/f,children:{data:null},maxWidth:0,level:0,childrenCount:4}};this._splitBranch(y.root);for(var m=0;m<n;m++)(i=t[e[m]]).options.mass>0&&this._placeInTree(y.root,i);return y}},{key:"_updateBranchMass",value:function(t,e){var i=t.centerOfMass,n=t.mass+e.options.mass,o=1/n;i.x=i.x*t.mass+e.x*e.options.mass,i.x*=o,i.y=i.y*t.mass+e.y*e.options.mass,i.y*=o,t.mass=n;var r=Math.max(Math.max(e.height,e.radius),e.width);t.maxWidth=t.maxWidth<r?r:t.maxWidth}},{key:"_placeInTree",value:function(t,e,i){1==i&&void 0!==i||this._updateBranchMass(t,e);var n,o=t.children.NW.range;n=o.maxX>e.x?o.maxY>e.y?"NW":"SW":o.maxY>e.y?"NE":"SE",this._placeInRegion(t,e,n)}},{key:"_placeInRegion",value:function(t,e,i){var n=t.children[i];switch(n.childrenCount){case 0:n.children.data=e,n.childrenCount=1,this._updateBranchMass(n,e);break;case 1:n.children.data.x===e.x&&n.children.data.y===e.y?(e.x+=this._rng(),e.y+=this._rng()):(this._splitBranch(n),this._placeInTree(n,e));break;case 4:this._placeInTree(n,e)}}},{key:"_splitBranch",value:function(t){var e=null;1===t.childrenCount&&(e=t.children.data,t.mass=0,t.centerOfMass.x=0,t.centerOfMass.y=0),t.childrenCount=4,t.children.data=null,this._insertRegion(t,"NW"),this._insertRegion(t,"NE"),this._insertRegion(t,"SW"),this._insertRegion(t,"SE"),null!=e&&this._placeInTree(t,e)}},{key:"_insertRegion",value:function(t,e){var i,n,o,r,s=.5*t.size;switch(e){case"NW":i=t.range.minX,n=t.range.minX+s,o=t.range.minY,r=t.range.minY+s;break;case"NE":i=t.range.minX+s,n=t.range.maxX,o=t.range.minY,r=t.range.minY+s;break;case"SW":i=t.range.minX,n=t.range.minX+s,o=t.range.minY+s,r=t.range.maxY;break;case"SE":i=t.range.minX+s,n=t.range.maxX,o=t.range.minY+s,r=t.range.maxY}t.children[e]={centerOfMass:{x:0,y:0},mass:0,range:{minX:i,maxX:n,minY:o,maxY:r},size:.5*t.size,calcSize:2*t.calcSize,children:{data:null},maxWidth:0,level:t.level+1,childrenCount:0}}},{key:"_debug",value:function(t,e){void 0!==this.barnesHutTree&&(t.lineWidth=1,this._drawBranch(this.barnesHutTree.root,t,e))}},{key:"_drawBranch",value:function(t,e,i){void 0===i&&(i="#FF0000"),4===t.childrenCount&&(this._drawBranch(t.children.NW,e),this._drawBranch(t.children.NE,e),this._drawBranch(t.children.SE,e),this._drawBranch(t.children.SW,e)),e.strokeStyle=i,e.beginPath(),e.moveTo(t.range.minX,t.range.minY),e.lineTo(t.range.maxX,t.range.minY),e.stroke(),e.beginPath(),e.moveTo(t.range.maxX,t.range.minY),e.lineTo(t.range.maxX,t.range.maxY),e.stroke(),e.beginPath(),e.moveTo(t.range.maxX,t.range.maxY),e.lineTo(t.range.minX,t.range.maxY),e.stroke(),e.beginPath(),e.moveTo(t.range.minX,t.range.maxY),e.lineTo(t.range.minX,t.range.minY),e.stroke()}}]),t}(),qD=function(){function t(e,i,n){ch(this,t),this._rng=Pm("REPULSION SOLVER"),this.body=e,this.physicsBody=i,this.setOptions(n)}return pu(t,[{key:"setOptions",value:function(t){this.options=t}},{key:"solve",value:function(){for(var t,e,i,n,o,r,s,a,h=this.body.nodes,l=this.physicsBody.physicsNodeIndices,d=this.physicsBody.forces,c=this.options.nodeDistance,u=-2/3/c,f=0;f<l.length-1;f++){s=h[l[f]];for(var p=f+1;p<l.length;p++)t=(a=h[l[p]]).x-s.x,e=a.y-s.y,0===(i=Math.sqrt(t*t+e*e))&&(t=i=.1*this._rng()),i<2*c&&(r=i<.5*c?1:u*i+1.3333333333333333,n=t*(r/=i),o=e*r,d[s.id].x-=n,d[s.id].y-=o,d[a.id].x+=n,d[a.id].y+=o)}}}]),t}(),VD=function(){function t(e,i,n){ch(this,t),this.body=e,this.physicsBody=i,this.setOptions(n)}return pu(t,[{key:"setOptions",value:function(t){this.options=t,this.overlapAvoidanceFactor=Math.max(0,Math.min(1,this.options.avoidOverlap||0))}},{key:"solve",value:function(){for(var t=this.body.nodes,e=this.physicsBody.physicsNodeIndices,i=this.physicsBody.forces,n=this.options.nodeDistance,o=0;o<e.length-1;o++)for(var r=t[e[o]],s=o+1;s<e.length;s++){var a=t[e[s]];if(r.level===a.level){var h=n+this.overlapAvoidanceFactor*((r.shape.radius||0)/2+(a.shape.radius||0)/2),l=a.x-r.x,d=a.y-r.y,c=Math.sqrt(l*l+d*d),u=void 0;u=c<h?-Math.pow(.05*c,2)+Math.pow(.05*h,2):0,0!==c&&(u/=c);var f=l*u,p=d*u;i[r.id].x-=f,i[r.id].y-=p,i[a.id].x+=f,i[a.id].y+=p}}}}]),t}(),UD=function(){function t(e,i,n){ch(this,t),this.body=e,this.physicsBody=i,this.setOptions(n)}return pu(t,[{key:"setOptions",value:function(t){this.options=t}},{key:"solve",value:function(){for(var t,e,i,n,o,r=this.physicsBody.physicsEdgeIndices,s=this.body.edges,a=0;a<r.length;a++)!0===(e=s[r[a]]).connected&&e.toId!==e.fromId&&void 0!==this.body.nodes[e.toId]&&void 0!==this.body.nodes[e.fromId]&&(void 0!==e.edgeType.via?(t=void 0===e.options.length?this.options.springLength:e.options.length,i=e.to,n=e.edgeType.via,o=e.from,this._calculateSpringForce(i,n,.5*t),this._calculateSpringForce(n,o,.5*t)):(t=void 0===e.options.length?1.5*this.options.springLength:e.options.length,this._calculateSpringForce(e.from,e.to,t)))}},{key:"_calculateSpringForce",value:function(t,e,i){var n=t.x-e.x,o=t.y-e.y,r=Math.max(Math.sqrt(n*n+o*o),.01),s=this.options.springConstant*(i-r)/r,a=n*s,h=o*s;void 0!==this.physicsBody.forces[t.id]&&(this.physicsBody.forces[t.id].x+=a,this.physicsBody.forces[t.id].y+=h),void 0!==this.physicsBody.forces[e.id]&&(this.physicsBody.forces[e.id].x-=a,this.physicsBody.forces[e.id].y-=h)}}]),t}(),YD=function(){function t(e,i,n){ch(this,t),this.body=e,this.physicsBody=i,this.setOptions(n)}return pu(t,[{key:"setOptions",value:function(t){this.options=t}},{key:"solve",value:function(){for(var t,e,i,n,o,r,s,a,h,l,d=this.body.edges,c=.5,u=this.physicsBody.physicsEdgeIndices,f=this.physicsBody.physicsNodeIndices,p=this.physicsBody.forces,v=0;v<f.length;v++){var g=f[v];p[g].springFx=0,p[g].springFy=0}for(var y=0;y<u.length;y++)!0===(e=d[u[y]]).connected&&(t=void 0===e.options.length?this.options.springLength:e.options.length,i=e.from.x-e.to.x,n=e.from.y-e.to.y,a=0===(a=Math.sqrt(i*i+n*n))?.01:a,o=i*(s=this.options.springConstant*(t-a)/a),r=n*s,e.to.level!=e.from.level?(void 0!==p[e.toId]&&(p[e.toId].springFx-=o,p[e.toId].springFy-=r),void 0!==p[e.fromId]&&(p[e.fromId].springFx+=o,p[e.fromId].springFy+=r)):(void 0!==p[e.toId]&&(p[e.toId].x-=c*o,p[e.toId].y-=c*r),void 0!==p[e.fromId]&&(p[e.fromId].x+=c*o,p[e.fromId].y+=c*r)));s=1;for(var m=0;m<f.length;m++){var b=f[m];h=Math.min(s,Math.max(-s,p[b].springFx)),l=Math.min(s,Math.max(-s,p[b].springFy)),p[b].x+=h,p[b].y+=l}for(var w=0,k=0,_=0;_<f.length;_++){var x=f[_];w+=p[x].x,k+=p[x].y}for(var E=w/f.length,O=k/f.length,C=0;C<f.length;C++){var S=f[C];p[S].x-=E,p[S].y-=O}}}]),t}(),XD=function(){function t(e,i,n){ch(this,t),this.body=e,this.physicsBody=i,this.setOptions(n)}return pu(t,[{key:"setOptions",value:function(t){this.options=t}},{key:"solve",value:function(){for(var t,e,i,n,o=this.body.nodes,r=this.physicsBody.physicsNodeIndices,s=this.physicsBody.forces,a=0;a<r.length;a++){t=-(n=o[r[a]]).x,e=-n.y,i=Math.sqrt(t*t+e*e),this._calculateForces(i,t,e,s,n)}}},{key:"_calculateForces",value:function(t,e,i,n,o){var r=0===t?0:this.options.centralGravity/t;n[o.id].x=e*r,n[o.id].y=i*r}}]),t}();function GD(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var KD=function(t){l_(i,t);var e=GD(i);function i(t,n,o){var r;return ch(this,i),(r=e.call(this,t,n,o))._rng=Pm("FORCE ATLAS 2 BASED REPULSION SOLVER"),r}return pu(i,[{key:"_calculateForces",value:function(t,e,i,n,o){0===t&&(e=t=.1*this._rng()),this.overlapAvoidanceFactor<1&&n.shape.radius&&(t=Math.max(.1+this.overlapAvoidanceFactor*n.shape.radius,t-n.shape.radius));var r=n.edges.length+1,s=this.options.gravitationalConstant*o.mass*n.options.mass*r/Math.pow(t,2),a=e*s,h=i*s;this.physicsBody.forces[n.id].x+=a,this.physicsBody.forces[n.id].y+=h}}]),i}(WD);function $D(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var ZD=function(t){l_(i,t);var e=$D(i);function i(t,n,o){return ch(this,i),e.call(this,t,n,o)}return pu(i,[{key:"_calculateForces",value:function(t,e,i,n,o){if(t>0){var r=o.edges.length+1,s=this.options.centralGravity*r*o.options.mass;n[o.id].x=e*s,n[o.id].y=i*s}}}]),i}(XD),QD=function(){function t(e){ch(this,t),this.body=e,this.physicsBody={physicsNodeIndices:[],physicsEdgeIndices:[],forces:{},velocities:{}},this.physicsEnabled=!0,this.simulationInterval=1e3/60,this.requiresTimeout=!0,this.previousStates={},this.referenceState={},this.freezeCache={},this.renderTimer=void 0,this.adaptiveTimestep=!1,this.adaptiveTimestepEnabled=!1,this.adaptiveCounter=0,this.adaptiveInterval=3,this.stabilized=!1,this.startedStabilization=!1,this.stabilizationIterations=0,this.ready=!1,this.options={},this.defaultOptions={enabled:!0,barnesHut:{theta:.5,gravitationalConstant:-2e3,centralGravity:.3,springLength:95,springConstant:.04,damping:.09,avoidOverlap:0},forceAtlas2Based:{theta:.5,gravitationalConstant:-50,centralGravity:.01,springConstant:.08,springLength:100,damping:.4,avoidOverlap:0},repulsion:{centralGravity:.2,springLength:200,springConstant:.05,nodeDistance:100,damping:.09,avoidOverlap:0},hierarchicalRepulsion:{centralGravity:0,springLength:100,springConstant:.01,nodeDistance:120,damping:.09},maxVelocity:50,minVelocity:.75,solver:"barnesHut",stabilization:{enabled:!0,iterations:1e3,updateInterval:50,onlyDynamicEdges:!1,fit:!0},timestep:.5,adaptiveTimestep:!0,wind:{x:0,y:0}},mn(this.options,this.defaultOptions),this.timestep=.5,this.layoutFailed=!1,this.bindEventListeners()}return pu(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("initPhysics",(function(){t.initPhysics()})),this.body.emitter.on("_layoutFailed",(function(){t.layoutFailed=!0})),this.body.emitter.on("resetPhysics",(function(){t.stopSimulation(),t.ready=!1})),this.body.emitter.on("disablePhysics",(function(){t.physicsEnabled=!1,t.stopSimulation()})),this.body.emitter.on("restorePhysics",(function(){t.setOptions(t.options),!0===t.ready&&t.startSimulation()})),this.body.emitter.on("startSimulation",(function(){!0===t.ready&&t.startSimulation()})),this.body.emitter.on("stopSimulation",(function(){t.stopSimulation()})),this.body.emitter.on("destroy",(function(){t.stopSimulation(!1),t.body.emitter.off()})),this.body.emitter.on("_dataChanged",(function(){t.updatePhysicsData()}))}},{key:"setOptions",value:function(t){if(void 0!==t)if(!1===t)this.options.enabled=!1,this.physicsEnabled=!1,this.stopSimulation();else if(!0===t)this.options.enabled=!0,this.physicsEnabled=!0,this.startSimulation();else{this.physicsEnabled=!0,Ym(["stabilization"],this.options,t),gb(this.options,t,"stabilization"),void 0===t.enabled&&(this.options.enabled=!0),!1===this.options.enabled&&(this.physicsEnabled=!1,this.stopSimulation());var e=this.options.wind;e&&(("number"!=typeof e.x||Uk(e.x))&&(e.x=0),("number"!=typeof e.y||Uk(e.y))&&(e.y=0)),this.timestep=this.options.timestep}this.init()}},{key:"init",value:function(){var t;"forceAtlas2Based"===this.options.solver?(t=this.options.forceAtlas2Based,this.nodesSolver=new KD(this.body,this.physicsBody,t),this.edgesSolver=new UD(this.body,this.physicsBody,t),this.gravitySolver=new ZD(this.body,this.physicsBody,t)):"repulsion"===this.options.solver?(t=this.options.repulsion,this.nodesSolver=new qD(this.body,this.physicsBody,t),this.edgesSolver=new UD(this.body,this.physicsBody,t),this.gravitySolver=new XD(this.body,this.physicsBody,t)):"hierarchicalRepulsion"===this.options.solver?(t=this.options.hierarchicalRepulsion,this.nodesSolver=new VD(this.body,this.physicsBody,t),this.edgesSolver=new YD(this.body,this.physicsBody,t),this.gravitySolver=new XD(this.body,this.physicsBody,t)):(t=this.options.barnesHut,this.nodesSolver=new WD(this.body,this.physicsBody,t),this.edgesSolver=new UD(this.body,this.physicsBody,t),this.gravitySolver=new XD(this.body,this.physicsBody,t)),this.modelOptions=t}},{key:"initPhysics",value:function(){!0===this.physicsEnabled&&!0===this.options.enabled?!0===this.options.stabilization.enabled?this.stabilize():(this.stabilized=!1,this.ready=!0,this.body.emitter.emit("fit",{},this.layoutFailed),this.startSimulation()):(this.ready=!0,this.body.emitter.emit("fit"))}},{key:"startSimulation",value:function(){var t;!0===this.physicsEnabled&&!0===this.options.enabled?(this.stabilized=!1,this.adaptiveTimestep=!1,this.body.emitter.emit("_resizeNodes"),void 0===this.viewFunction&&(this.viewFunction=Ln(t=this.simulationStep).call(t,this),this.body.emitter.on("initRedraw",this.viewFunction),this.body.emitter.emit("_startRendering"))):this.body.emitter.emit("_redraw")}},{key:"stopSimulation",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.stabilized=!0,!0===t&&this._emitStabilized(),void 0!==this.viewFunction&&(this.body.emitter.off("initRedraw",this.viewFunction),this.viewFunction=void 0,!0===t&&this.body.emitter.emit("_stopRendering"))}},{key:"simulationStep",value:function(){var t=wf();this.physicsTick(),(wf()-t<.4*this.simulationInterval||!0===this.runDoubleSpeed)&&!1===this.stabilized&&(this.physicsTick(),this.runDoubleSpeed=!0),!0===this.stabilized&&this.stopSimulation()}},{key:"_emitStabilized",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.stabilizationIterations;(this.stabilizationIterations>1||!0===this.startedStabilization)&&vg((function(){t.body.emitter.emit("stabilized",{iterations:e}),t.startedStabilization=!1,t.stabilizationIterations=0}),0)}},{key:"physicsStep",value:function(){this.gravitySolver.solve(),this.nodesSolver.solve(),this.edgesSolver.solve(),this.moveNodes()}},{key:"adjustTimeStep",value:function(){!0===this._evaluateStepQuality()?this.timestep=1.2*this.timestep:this.timestep/1.2<this.options.timestep?this.timestep=this.options.timestep:(this.adaptiveCounter=-1,this.timestep=Math.max(this.options.timestep,this.timestep/1.2))}},{key:"physicsTick",value:function(){if(this._startStabilizing(),!0!==this.stabilized){if(!0===this.adaptiveTimestep&&!0===this.adaptiveTimestepEnabled)this.adaptiveCounter%this.adaptiveInterval==0?(this.timestep=2*this.timestep,this.physicsStep(),this.revert(),this.timestep=.5*this.timestep,this.physicsStep(),this.physicsStep(),this.adjustTimeStep()):this.physicsStep(),this.adaptiveCounter+=1;else this.timestep=this.options.timestep,this.physicsStep();!0===this.stabilized&&this.revert(),this.stabilizationIterations++}}},{key:"updatePhysicsData",value:function(){this.physicsBody.forces={},this.physicsBody.physicsNodeIndices=[],this.physicsBody.physicsEdgeIndices=[];var t=this.body.nodes,e=this.body.edges;for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&!0===t[i].options.physics&&this.physicsBody.physicsNodeIndices.push(t[i].id);for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&!0===e[n].options.physics&&this.physicsBody.physicsEdgeIndices.push(e[n].id);for(var o=0;o<this.physicsBody.physicsNodeIndices.length;o++){var r=this.physicsBody.physicsNodeIndices[o];this.physicsBody.forces[r]={x:0,y:0},void 0===this.physicsBody.velocities[r]&&(this.physicsBody.velocities[r]={x:0,y:0})}for(var s in this.physicsBody.velocities)void 0===t[s]&&delete this.physicsBody.velocities[s]}},{key:"revert",value:function(){var t=gf(this.previousStates),e=this.body.nodes,i=this.physicsBody.velocities;this.referenceState={};for(var n=0;n<t.length;n++){var o=t[n];void 0!==e[o]?!0===e[o].options.physics&&(this.referenceState[o]={positions:{x:e[o].x,y:e[o].y}},i[o].x=this.previousStates[o].vx,i[o].y=this.previousStates[o].vy,e[o].x=this.previousStates[o].x,e[o].y=this.previousStates[o].y):delete this.previousStates[o]}}},{key:"_evaluateStepQuality",value:function(){var t,e,i=this.body.nodes,n=this.referenceState;for(var o in this.referenceState)if(Object.prototype.hasOwnProperty.call(this.referenceState,o)&&void 0!==i[o]&&(t=i[o].x-n[o].positions.x,e=i[o].y-n[o].positions.y,Math.sqrt(Math.pow(t,2)+Math.pow(e,2))>.3))return!1;return!0}},{key:"moveNodes",value:function(){for(var t=this.physicsBody.physicsNodeIndices,e=0,i=0,n=0;n<t.length;n++){var o=t[n],r=this._performStep(o);e=Math.max(e,r),i+=r}this.adaptiveTimestepEnabled=i/t.length<5,this.stabilized=e<this.options.minVelocity}},{key:"calculateComponentVelocity",value:function(t,e,i){t+=(e-this.modelOptions.damping*t)/i*this.timestep;var n=this.options.maxVelocity||1e9;return Math.abs(t)>n&&(t=t>0?n:-n),t}},{key:"_performStep",value:function(t){var e=this.body.nodes[t],i=this.physicsBody.forces[t];this.options.wind&&(i.x+=this.options.wind.x,i.y+=this.options.wind.y);var n=this.physicsBody.velocities[t];return this.previousStates[t]={x:e.x,y:e.y,vx:n.x,vy:n.y},!1===e.options.fixed.x?(n.x=this.calculateComponentVelocity(n.x,i.x,e.options.mass),e.x+=n.x*this.timestep):(i.x=0,n.x=0),!1===e.options.fixed.y?(n.y=this.calculateComponentVelocity(n.y,i.y,e.options.mass),e.y+=n.y*this.timestep):(i.y=0,n.y=0),Math.sqrt(Math.pow(n.x,2)+Math.pow(n.y,2))}},{key:"_freezeNodes",value:function(){var t=this.body.nodes;for(var e in t)if(Object.prototype.hasOwnProperty.call(t,e)&&t[e].x&&t[e].y){var i=t[e].options.fixed;this.freezeCache[e]={x:i.x,y:i.y},i.x=!0,i.y=!0}}},{key:"_restoreFrozenNodes",value:function(){var t=this.body.nodes;for(var e in t)Object.prototype.hasOwnProperty.call(t,e)&&void 0!==this.freezeCache[e]&&(t[e].options.fixed.x=this.freezeCache[e].x,t[e].options.fixed.y=this.freezeCache[e].y);this.freezeCache={}}},{key:"stabilize",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.options.stabilization.iterations;"number"!=typeof e&&(e=this.options.stabilization.iterations,console.error("The stabilize method needs a numeric amount of iterations. Switching to default: ",e)),0!==this.physicsBody.physicsNodeIndices.length?(this.adaptiveTimestep=this.options.adaptiveTimestep,this.body.emitter.emit("_resizeNodes"),this.stopSimulation(),this.stabilized=!1,this.body.emitter.emit("_blockRedraw"),this.targetIterations=e,!0===this.options.stabilization.onlyDynamicEdges&&this._freezeNodes(),this.stabilizationIterations=0,vg((function(){return t._stabilizationBatch()}),0)):this.ready=!0}},{key:"_startStabilizing",value:function(){return!0!==this.startedStabilization&&(this.body.emitter.emit("startStabilizing"),this.startedStabilization=!0,!0)}},{key:"_stabilizationBatch",value:function(){var t=this,e=function(){return!1===t.stabilized&&t.stabilizationIterations<t.targetIterations},i=function(){t.body.emitter.emit("stabilizationProgress",{iterations:t.stabilizationIterations,total:t.targetIterations})};this._startStabilizing()&&i();for(var n,o=0;e()&&o<this.options.stabilization.updateInterval;)this.physicsTick(),o++;(i(),e())?vg(Ln(n=this._stabilizationBatch).call(n,this),0):this._finalizeStabilization()}},{key:"_finalizeStabilization",value:function(){this.body.emitter.emit("_allowRedraw"),!0===this.options.stabilization.fit&&this.body.emitter.emit("fit"),!0===this.options.stabilization.onlyDynamicEdges&&this._restoreFrozenNodes(),this.body.emitter.emit("stabilizationIterationsDone"),this.body.emitter.emit("_requestRedraw"),!0===this.stabilized?this._emitStabilized():this.startSimulation(),this.ready=!0}},{key:"_drawForces",value:function(t){for(var e=0;e<this.physicsBody.physicsNodeIndices.length;e++){var i=this.physicsBody.physicsNodeIndices[e],n=this.body.nodes[i],o=this.physicsBody.forces[i],r=Math.sqrt(Math.pow(o.x,2)+Math.pow(o.x,2)),s=Math.min(Math.max(5,r),15),a=3*s,h=db((180-180*Math.min(1,Math.max(0,.03*r)))/360,1,1),l={x:n.x+20*o.x,y:n.y+20*o.y};t.lineWidth=s,t.strokeStyle=h,t.beginPath(),t.moveTo(n.x,n.y),t.lineTo(l.x,l.y),t.stroke();var d=Math.atan2(o.y,o.x);t.fillStyle=h,_D.draw(t,{type:"arrow",point:l,angle:d,length:a}),Cg(t).call(t)}}}]),t}(),JD=function(){function t(){ch(this,t)}return pu(t,null,[{key:"getRange",value:function(t){var e,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=1e9,o=-1e9,r=1e9,s=-1e9;if(i.length>0)for(var a=0;a<i.length;a++)r>(e=t[i[a]]).shape.boundingBox.left&&(r=e.shape.boundingBox.left),s<e.shape.boundingBox.right&&(s=e.shape.boundingBox.right),n>e.shape.boundingBox.top&&(n=e.shape.boundingBox.top),o<e.shape.boundingBox.bottom&&(o=e.shape.boundingBox.bottom);return 1e9===r&&-1e9===s&&1e9===n&&-1e9===o&&(n=0,o=0,r=0,s=0),{minX:r,maxX:s,minY:n,maxY:o}}},{key:"getRangeCore",value:function(t){var e,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=1e9,o=-1e9,r=1e9,s=-1e9;if(i.length>0)for(var a=0;a<i.length;a++)r>(e=t[i[a]]).x&&(r=e.x),s<e.x&&(s=e.x),n>e.y&&(n=e.y),o<e.y&&(o=e.y);return 1e9===r&&-1e9===s&&1e9===n&&-1e9===o&&(n=0,o=0,r=0,s=0),{minX:r,maxX:s,minY:n,maxY:o}}},{key:"findCenter",value:function(t){return{x:.5*(t.maxX+t.minX),y:.5*(t.maxY+t.minY)}}},{key:"cloneOptions",value:function(t,e){var i={};return void 0===e||"node"===e?(Xm(i,t.options,!0),i.x=t.x,i.y=t.y,i.amountOfConnections=t.edges.length):Xm(i,t.options,!0),i}}]),t}();function tI(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var eI=function(t){l_(i,t);var e=tI(i);function i(t,n,o,r,s,a){var h;return ch(this,i),(h=e.call(this,t,n,o,r,s,a)).isCluster=!0,h.containedNodes={},h.containedEdges={},h}return pu(i,[{key:"_openChildCluster",value:function(t){var e=this,i=this.body.nodes[t];if(void 0===this.containedNodes[t])throw new Error("node with id: "+t+" not in current cluster");if(!i.isCluster)throw new Error("node with id: "+t+" is not a cluster");delete this.containedNodes[t],Qm(i.edges,(function(t){delete e.containedEdges[t.id]})),Qm(i.containedNodes,(function(t,i){e.containedNodes[i]=t})),i.containedNodes={},Qm(i.containedEdges,(function(t,i){e.containedEdges[i]=t})),i.containedEdges={},Qm(i.edges,(function(t){Qm(e.edges,(function(i){var n,o,r=Lv(n=i.clusteringEdgeReplacingIds).call(n,t.id);-1!==r&&(Qm(t.clusteringEdgeReplacingIds,(function(t){i.clusteringEdgeReplacingIds.push(t),e.body.edges[t].edgeReplacedById=i.id})),yp(o=i.clusteringEdgeReplacingIds).call(o,r,1))}))})),i.edges=[]}}]),i}(qP),iI=function(){function t(e){var i=this;ch(this,t),this.body=e,this.clusteredNodes={},this.clusteredEdges={},this.options={},this.defaultOptions={},mn(this.options,this.defaultOptions),this.body.emitter.on("_resetData",(function(){i.clusteredNodes={},i.clusteredEdges={}}))}return pu(t,[{key:"clusterByHubsize",value:function(t,e){void 0===t?t=this._getHubSize():"object"===du(t)&&(e=this._checkOptions(t),t=this._getHubSize());for(var i=[],n=0;n<this.body.nodeIndices.length;n++){var o=this.body.nodes[this.body.nodeIndices[n]];o.edges.length>=t&&i.push(o.id)}for(var r=0;r<i.length;r++)this.clusterByConnection(i[r],e,!0);this.body.emitter.emit("_dataChanged")}},{key:"cluster",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(void 0===e.joinCondition)throw new Error("Cannot call clusterByNodeData without a joinCondition function in the options.");e=this._checkOptions(e);var n={},o={};Qm(this.body.nodes,(function(i,r){i.options&&!0===e.joinCondition(i.options)&&(n[r]=i,Qm(i.edges,(function(e){void 0===t.clusteredEdges[e.id]&&(o[e.id]=e)})))})),this._cluster(n,o,e,i)}},{key:"clusterByEdgeCount",value:function(t,e){var i=this,n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];e=this._checkOptions(e);for(var o,r,s,a=[],h={},l=function(){var n={},l={},c=i.body.nodeIndices[d],u=i.body.nodes[c];if(void 0===h[c]){s=0,r=[];for(var f=0;f<u.edges.length;f++)o=u.edges[f],void 0===i.clusteredEdges[o.id]&&(o.toId!==o.fromId&&s++,r.push(o));if(s===t){for(var p=function(t){if(void 0===e.joinCondition||null===e.joinCondition)return!0;var i=JD.cloneOptions(t);return e.joinCondition(i)},v=!0,g=0;g<r.length;g++){o=r[g];var y=i._getConnectedId(o,c);if(!p(u)){v=!1;break}l[o.id]=o,n[c]=u,n[y]=i.body.nodes[y],h[c]=!0}if(gf(n).length>0&&gf(l).length>0&&!0===v){var m=function(){for(var t=0;t<a.length;++t)for(var e in n)if(void 0!==a[t].nodes[e])return a[t]}();if(void 0!==m){for(var b in n)void 0===m.nodes[b]&&(m.nodes[b]=n[b]);for(var w in l)void 0===m.edges[w]&&(m.edges[w]=l[w])}else a.push({nodes:n,edges:l})}}}},d=0;d<this.body.nodeIndices.length;d++)l();for(var c=0;c<a.length;c++)this._cluster(a[c].nodes,a[c].edges,e,!1);!0===n&&this.body.emitter.emit("_dataChanged")}},{key:"clusterOutliers",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.clusterByEdgeCount(1,t,e)}},{key:"clusterBridges",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.clusterByEdgeCount(2,t,e)}},{key:"clusterByConnection",value:function(t,e){var i,n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(void 0===t)throw new Error("No nodeId supplied to clusterByConnection!");if(void 0===this.body.nodes[t])throw new Error("The nodeId given to clusterByConnection does not exist!");var o=this.body.nodes[t];void 0===(e=this._checkOptions(e,o)).clusterNodeProperties.x&&(e.clusterNodeProperties.x=o.x),void 0===e.clusterNodeProperties.y&&(e.clusterNodeProperties.y=o.y),void 0===e.clusterNodeProperties.fixed&&(e.clusterNodeProperties.fixed={},e.clusterNodeProperties.fixed.x=o.options.fixed.x,e.clusterNodeProperties.fixed.y=o.options.fixed.y);var r={},s={},a=o.id,h=JD.cloneOptions(o);r[a]=o;for(var l=0;l<o.edges.length;l++){var d=o.edges[l];if(void 0===this.clusteredEdges[d.id]){var c=this._getConnectedId(d,a);if(void 0===this.clusteredNodes[c])if(c!==a)if(void 0===e.joinCondition)s[d.id]=d,r[c]=this.body.nodes[c];else{var u=JD.cloneOptions(this.body.nodes[c]);!0===e.joinCondition(h,u)&&(s[d.id]=d,r[c]=this.body.nodes[c])}else s[d.id]=d}}var f=ff(i=gf(r)).call(i,(function(t){return r[t].id}));for(var p in r)if(Object.prototype.hasOwnProperty.call(r,p))for(var v=r[p],g=0;g<v.edges.length;g++){var y=v.edges[g];Lv(f).call(f,this._getConnectedId(y,v.id))>-1&&(s[y.id]=y)}this._cluster(r,s,e,n)}},{key:"_createClusterEdges",value:function(t,e,i,n){for(var o,r,s,a,h,l,d=gf(t),c=[],u=0;u<d.length;u++){s=t[r=d[u]];for(var f=0;f<s.edges.length;f++)o=s.edges[f],void 0===this.clusteredEdges[o.id]&&(o.toId==o.fromId?e[o.id]=o:o.toId==r?(a=i.id,l=h=o.fromId):(a=o.toId,h=i.id,l=a),void 0===t[l]&&c.push({edge:o,fromId:h,toId:a}))}for(var p=[],v=function(t){for(var e=0;e<p.length;e++){var i=p[e],n=t.fromId===i.fromId&&t.toId===i.toId,o=t.fromId===i.toId&&t.toId===i.fromId;if(n||o)return i}return null},g=0;g<c.length;g++){var y=c[g],m=y.edge,b=v(y);null===b?(b=this._createClusteredEdge(y.fromId,y.toId,m,n),p.push(b)):b.clusteringEdgeReplacingIds.push(m.id),this.body.edges[m.id].edgeReplacedById=b.id,this._backupEdgeOptions(m),m.setOptions({physics:!1})}}},{key:"_checkOptions",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return void 0===t.clusterEdgeProperties&&(t.clusterEdgeProperties={}),void 0===t.clusterNodeProperties&&(t.clusterNodeProperties={}),t}},{key:"_cluster",value:function(t,e,i){var n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],o=[];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&void 0!==this.clusteredNodes[r]&&o.push(r);for(var s=0;s<o.length;++s)delete t[o[s]];if(0!=gf(t).length&&(1!=gf(t).length||1==i.clusterNodeProperties.allowSingleNodeCluster)){var a=Xm({},i.clusterNodeProperties);if(void 0!==i.processProperties){var h=[];for(var l in t)if(Object.prototype.hasOwnProperty.call(t,l)){var d=JD.cloneOptions(t[l]);h.push(d)}var c=[];for(var u in e)if(Object.prototype.hasOwnProperty.call(e,u)&&"clusterEdge:"!==u.substr(0,12)){var f=JD.cloneOptions(e[u],"edge");c.push(f)}if(!(a=i.processProperties(a,h,c)))throw new Error("The processProperties function does not return properties!")}void 0===a.id&&(a.id="cluster:"+uM());var p=a.id;void 0===a.label&&(a.label="cluster");var v=void 0;void 0===a.x&&(v=this._getClusterPosition(t),a.x=v.x),void 0===a.y&&(void 0===v&&(v=this._getClusterPosition(t)),a.y=v.y),a.id=p;var g=this.body.functions.createNode(a,eI);g.containedNodes=t,g.containedEdges=e,g.clusterEdgeProperties=i.clusterEdgeProperties,this.body.nodes[a.id]=g,this._clusterEdges(t,e,a,i.clusterEdgeProperties),a.id=void 0,!0===n&&this.body.emitter.emit("_dataChanged")}}},{key:"_backupEdgeOptions",value:function(t){void 0===this.clusteredEdges[t.id]&&(this.clusteredEdges[t.id]={physics:t.options.physics})}},{key:"_restoreEdge",value:function(t){var e=this.clusteredEdges[t.id];void 0!==e&&(t.setOptions({physics:e.physics}),delete this.clusteredEdges[t.id])}},{key:"isCluster",value:function(t){return void 0!==this.body.nodes[t]?!0===this.body.nodes[t].isCluster:(console.error("Node does not exist."),!1)}},{key:"_getClusterPosition",value:function(t){for(var e,i=gf(t),n=t[i[0]].x,o=t[i[0]].x,r=t[i[0]].y,s=t[i[0]].y,a=1;a<i.length;a++)n=(e=t[i[a]]).x<n?e.x:n,o=e.x>o?e.x:o,r=e.y<r?e.y:r,s=e.y>s?e.y:s;return{x:.5*(n+o),y:.5*(r+s)}}},{key:"openCluster",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(void 0===t)throw new Error("No clusterNodeId supplied to openCluster.");var n=this.body.nodes[t];if(void 0===n)throw new Error("The clusterNodeId supplied to openCluster does not exist.");if(!0!==n.isCluster||void 0===n.containedNodes||void 0===n.containedEdges)throw new Error("The node:"+t+" is not a valid cluster.");var o=this.findNode(t),r=Lv(o).call(o,t)-1;if(r>=0){var s=o[r];return this.body.nodes[s]._openChildCluster(t),delete this.body.nodes[t],void(!0===i&&this.body.emitter.emit("_dataChanged"))}var a=n.containedNodes,h=n.containedEdges;if(void 0!==e&&void 0!==e.releaseFunction&&"function"==typeof e.releaseFunction){var l={},d={x:n.x,y:n.y};for(var c in a)if(Object.prototype.hasOwnProperty.call(a,c)){var u=this.body.nodes[c];l[c]={x:u.x,y:u.y}}var f=e.releaseFunction(d,l);for(var p in a)if(Object.prototype.hasOwnProperty.call(a,p)){var v=this.body.nodes[p];void 0!==f[p]&&(v.x=void 0===f[p].x?n.x:f[p].x,v.y=void 0===f[p].y?n.y:f[p].y)}}else Qm(a,(function(t){!1===t.options.fixed.x&&(t.x=n.x),!1===t.options.fixed.y&&(t.y=n.y)}));for(var g in a)if(Object.prototype.hasOwnProperty.call(a,g)){var y=this.body.nodes[g];y.vx=n.vx,y.vy=n.vy,y.setOptions({physics:!0}),delete this.clusteredNodes[g]}for(var m=[],b=0;b<n.edges.length;b++)m.push(n.edges[b]);for(var w=0;w<m.length;w++){for(var k=m[w],_=this._getConnectedId(k,t),x=this.clusteredNodes[_],E=0;E<k.clusteringEdgeReplacingIds.length;E++){var O=k.clusteringEdgeReplacingIds[E],C=this.body.edges[O];if(void 0!==C)if(void 0!==x){var S=this.body.nodes[x.clusterId];S.containedEdges[C.id]=C,delete h[C.id];var T=C.fromId,M=C.toId;C.toId==_?M=x.clusterId:T=x.clusterId,this._createClusteredEdge(T,M,C,S.clusterEdgeProperties,{hidden:!1,physics:!0})}else this._restoreEdge(C)}k.remove()}for(var P in h)Object.prototype.hasOwnProperty.call(h,P)&&this._restoreEdge(h[P]);delete this.body.nodes[t],!0===i&&this.body.emitter.emit("_dataChanged")}},{key:"getNodesInCluster",value:function(t){var e=[];if(!0===this.isCluster(t)){var i=this.body.nodes[t].containedNodes;for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&e.push(this.body.nodes[n].id)}return e}},{key:"findNode",value:function(t){for(var e,i=[],n=0;void 0!==this.clusteredNodes[t]&&n<100;){if(void 0===(e=this.body.nodes[t]))return[];i.push(e.id),t=this.clusteredNodes[t].clusterId,n++}return void 0===(e=this.body.nodes[t])?[]:(i.push(e.id),Vf(i).call(i),i)}},{key:"updateClusteredNode",value:function(t,e){if(void 0===t)throw new Error("No clusteredNodeId supplied to updateClusteredNode.");if(void 0===e)throw new Error("No newOptions supplied to updateClusteredNode.");if(void 0===this.body.nodes[t])throw new Error("The clusteredNodeId supplied to updateClusteredNode does not exist.");this.body.nodes[t].setOptions(e),this.body.emitter.emit("_dataChanged")}},{key:"updateEdge",value:function(t,e){if(void 0===t)throw new Error("No startEdgeId supplied to updateEdge.");if(void 0===e)throw new Error("No newOptions supplied to updateEdge.");if(void 0===this.body.edges[t])throw new Error("The startEdgeId supplied to updateEdge does not exist.");for(var i=this.getClusteredEdges(t),n=0;n<i.length;n++){this.body.edges[i[n]].setOptions(e)}this.body.emitter.emit("_dataChanged")}},{key:"getClusteredEdges",value:function(t){for(var e=[],i=0;void 0!==t&&void 0!==this.body.edges[t]&&i<100;)e.push(this.body.edges[t].id),t=this.body.edges[t].edgeReplacedById,i++;return Vf(e).call(e),e}},{key:"getBaseEdge",value:function(t){return this.getBaseEdges(t)[0]}},{key:"getBaseEdges",value:function(t){for(var e=[t],i=[],n=[],o=0;e.length>0&&o<100;){var r=e.pop();if(void 0!==r){var s=this.body.edges[r];if(void 0!==s){o++;var a=s.clusteringEdgeReplacingIds;if(void 0===a)n.push(r);else for(var h=0;h<a.length;++h){var l=a[h];-1===Lv(e).call(e,a)&&-1===Lv(i).call(i,a)&&e.push(l)}i.push(r)}}}return n}},{key:"_getConnectedId",value:function(t,e){return t.toId!=e?t.toId:(t.fromId,t.fromId)}},{key:"_getHubSize",value:function(){for(var t=0,e=0,i=0,n=0,o=0;o<this.body.nodeIndices.length;o++){var r=this.body.nodes[this.body.nodeIndices[o]];r.edges.length>n&&(n=r.edges.length),t+=r.edges.length,e+=Math.pow(r.edges.length,2),i+=1}t/=i;var s=(e/=i)-Math.pow(t,2),a=Math.sqrt(s),h=Math.floor(t+2*a);return h>n&&(h=n),h}},{key:"_createClusteredEdge",value:function(t,e,i,n,o){var r=JD.cloneOptions(i,"edge");Xm(r,n),r.from=t,r.to=e,r.id="clusterEdge:"+uM(),void 0!==o&&Xm(r,o);var s=this.body.functions.createEdge(r);return s.clusteringEdgeReplacingIds=[i.id],s.connect(),this.body.edges[s.id]=s,s}},{key:"_clusterEdges",value:function(t,e,i,n){if(e instanceof LD){var o=e,r={};r[o.id]=o,e=r}if(t instanceof qP){var s=t,a={};a[s.id]=s,t=a}if(null==i)throw new Error("_clusterEdges: parameter clusterNode required");for(var h in void 0===n&&(n=i.clusterEdgeProperties),this._createClusterEdges(t,e,i,n),e)if(Object.prototype.hasOwnProperty.call(e,h)&&void 0!==this.body.edges[h]){var l=this.body.edges[h];this._backupEdgeOptions(l),l.setOptions({physics:!1})}for(var d in t)Object.prototype.hasOwnProperty.call(t,d)&&(this.clusteredNodes[d]={clusterId:i.id,node:this.body.nodes[d]},this.body.nodes[d].setOptions({physics:!1}))}},{key:"_getClusterNodeForNode",value:function(t){if(void 0!==t){var e=this.clusteredNodes[t];if(void 0!==e){var i=e.clusterId;if(void 0!==i)return this.body.nodes[i]}}}},{key:"_filter",value:function(t,e){var i=[];return Qm(t,(function(t){e(t)&&i.push(t)})),i}},{key:"_updateState",value:function(){var t,e=this,i=[],n={},o=function(t){Qm(e.body.nodes,(function(e){!0===e.isCluster&&t(e)}))};for(t in this.clusteredNodes){if(Object.prototype.hasOwnProperty.call(this.clusteredNodes,t))void 0===this.body.nodes[t]&&i.push(t)}o((function(t){for(var e=0;e<i.length;e++)delete t.containedNodes[i[e]]}));for(var r=0;r<i.length;r++)delete this.clusteredNodes[i[r]];Qm(this.clusteredEdges,(function(t){var i=e.body.edges[t];void 0!==i&&i.endPointsValid()||(n[t]=t)})),o((function(t){Qm(t.containedEdges,(function(t,e){t.endPointsValid()||n[e]||(n[e]=e)}))})),Qm(this.body.edges,(function(t,i){var o=!0,r=t.clusteringEdgeReplacingIds;if(void 0!==r){var s=0;Qm(r,(function(t){var i=e.body.edges[t];void 0!==i&&i.endPointsValid()&&(s+=1)})),o=s>0}t.endPointsValid()&&o||(n[i]=i)})),o((function(t){Qm(n,(function(i){delete t.containedEdges[i],Qm(t.edges,(function(o,r){o.id!==i?o.clusteringEdgeReplacingIds=e._filter(o.clusteringEdgeReplacingIds,(function(t){return!n[t]})):t.edges[r]=null})),t.edges=e._filter(t.edges,(function(t){return null!==t}))}))})),Qm(n,(function(t){delete e.clusteredEdges[t]})),Qm(n,(function(t){delete e.body.edges[t]})),Qm(gf(this.body.edges),(function(t){var i=e.body.edges[t],n=e._isClusteredNode(i.fromId)||e._isClusteredNode(i.toId);if(n!==e._isClusteredEdge(i.id))if(n){var o=e._getClusterNodeForNode(i.fromId);void 0!==o&&e._clusterEdges(e.body.nodes[i.fromId],i,o);var r=e._getClusterNodeForNode(i.toId);void 0!==r&&e._clusterEdges(e.body.nodes[i.toId],i,r)}else delete e._clusterEdges[t],e._restoreEdge(i)}));for(var s=!1,a=!0,h=function(){var t=[];o((function(e){var i=gf(e.containedNodes).length,n=!0===e.options.allowSingleNodeCluster;(n&&i<1||!n&&i<2)&&t.push(e.id)}));for(var i=0;i<t.length;++i)e.openCluster(t[i],{},!1);a=t.length>0,s=s||a};a;)h();s&&this._updateState()}},{key:"_isClusteredNode",value:function(t){return void 0!==this.clusteredNodes[t]}},{key:"_isClusteredEdge",value:function(t){return void 0!==this.clusteredEdges[t]}}]),t}();var nI=function(){function t(e,i){var n;ch(this,t),void 0!==window&&(n=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame),window.requestAnimationFrame=void 0===n?function(t){t()}:n,this.body=e,this.canvas=i,this.redrawRequested=!1,this.renderTimer=void 0,this.requiresTimeout=!0,this.renderingActive=!1,this.renderRequests=0,this.allowRedraw=!0,this.dragging=!1,this.zooming=!1,this.options={},this.defaultOptions={hideEdgesOnDrag:!1,hideEdgesOnZoom:!1,hideNodesOnDrag:!1},mn(this.options,this.defaultOptions),this._determineBrowserMethod(),this.bindEventListeners()}return pu(t,[{key:"bindEventListeners",value:function(){var t,e=this;this.body.emitter.on("dragStart",(function(){e.dragging=!0})),this.body.emitter.on("dragEnd",(function(){e.dragging=!1})),this.body.emitter.on("zoom",(function(){e.zooming=!0,window.clearTimeout(e.zoomTimeoutId),e.zoomTimeoutId=vg((function(){var t;e.zooming=!1,Ln(t=e._requestRedraw).call(t,e)()}),250)})),this.body.emitter.on("_resizeNodes",(function(){e._resizeNodes()})),this.body.emitter.on("_redraw",(function(){!1===e.renderingActive&&e._redraw()})),this.body.emitter.on("_blockRedraw",(function(){e.allowRedraw=!1})),this.body.emitter.on("_allowRedraw",(function(){e.allowRedraw=!0,e.redrawRequested=!1})),this.body.emitter.on("_requestRedraw",Ln(t=this._requestRedraw).call(t,this)),this.body.emitter.on("_startRendering",(function(){e.renderRequests+=1,e.renderingActive=!0,e._startRendering()})),this.body.emitter.on("_stopRendering",(function(){e.renderRequests-=1,e.renderingActive=e.renderRequests>0,e.renderTimer=void 0})),this.body.emitter.on("destroy",(function(){e.renderRequests=0,e.allowRedraw=!1,e.renderingActive=!1,!0===e.requiresTimeout?clearTimeout(e.renderTimer):window.cancelAnimationFrame(e.renderTimer),e.body.emitter.off()}))}},{key:"setOptions",value:function(t){if(void 0!==t){Um(["hideEdgesOnDrag","hideEdgesOnZoom","hideNodesOnDrag"],this.options,t)}}},{key:"_requestNextFrame",value:function(t,e){if("undefined"!=typeof window){var i,n=window;return!0===this.requiresTimeout?i=vg(t,e):n.requestAnimationFrame&&(i=n.requestAnimationFrame(t)),i}}},{key:"_startRendering",value:function(){var t;!0===this.renderingActive&&(void 0===this.renderTimer&&(this.renderTimer=this._requestNextFrame(Ln(t=this._renderStep).call(t,this),this.simulationInterval)))}},{key:"_renderStep",value:function(){!0===this.renderingActive&&(this.renderTimer=void 0,!0===this.requiresTimeout&&this._startRendering(),this._redraw(),!1===this.requiresTimeout&&this._startRendering())}},{key:"redraw",value:function(){this.body.emitter.emit("setSize"),this._redraw()}},{key:"_requestRedraw",value:function(){var t=this;!0!==this.redrawRequested&&!1===this.renderingActive&&!0===this.allowRedraw&&(this.redrawRequested=!0,this._requestNextFrame((function(){t._redraw(!1)}),0))}},{key:"_redraw",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!0===this.allowRedraw){this.body.emitter.emit("initRedraw"),this.redrawRequested=!1;var e={drawExternalLabels:null};0!==this.canvas.frame.canvas.width&&0!==this.canvas.frame.canvas.height||this.canvas.setSize(),this.canvas.setTransform();var i=this.canvas.getContext(),n=this.canvas.frame.canvas.clientWidth,o=this.canvas.frame.canvas.clientHeight;if(i.clearRect(0,0,n,o),0===this.canvas.frame.clientWidth)return;if(i.save(),i.translate(this.body.view.translation.x,this.body.view.translation.y),i.scale(this.body.view.scale,this.body.view.scale),i.beginPath(),this.body.emitter.emit("beforeDrawing",i),i.closePath(),!1===t&&(!1===this.dragging||!0===this.dragging&&!1===this.options.hideEdgesOnDrag)&&(!1===this.zooming||!0===this.zooming&&!1===this.options.hideEdgesOnZoom)&&this._drawEdges(i),!1===this.dragging||!0===this.dragging&&!1===this.options.hideNodesOnDrag){var r=this._drawNodes(i,t).drawExternalLabels;e.drawExternalLabels=r}!1===t&&(!1===this.dragging||!0===this.dragging&&!1===this.options.hideEdgesOnDrag)&&(!1===this.zooming||!0===this.zooming&&!1===this.options.hideEdgesOnZoom)&&this._drawArrows(i),null!=e.drawExternalLabels&&e.drawExternalLabels(),!1===t&&this._drawSelectionBox(i),i.beginPath(),this.body.emitter.emit("afterDrawing",i),i.closePath(),i.restore(),!0===t&&i.clearRect(0,0,n,o)}}},{key:"_resizeNodes",value:function(){this.canvas.setTransform();var t=this.canvas.getContext();t.save(),t.translate(this.body.view.translation.x,this.body.view.translation.y),t.scale(this.body.view.scale,this.body.view.scale);var e,i=this.body.nodes;for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&((e=i[n]).resize(t),e.updateBoundingBox(t,e.selected));t.restore()}},{key:"_drawNodes",value:function(t){for(var e,i,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],o=this.body.nodes,r=this.body.nodeIndices,s=[],a=[],h=this.canvas.DOMtoCanvas({x:-20,y:-20}),l=this.canvas.DOMtoCanvas({x:this.canvas.frame.canvas.clientWidth+20,y:this.canvas.frame.canvas.clientHeight+20}),d={top:h.y,left:h.x,bottom:l.y,right:l.x},c=[],u=0;u<r.length;u++)if((e=o[r[u]]).hover)a.push(r[u]);else if(e.isSelected())s.push(r[u]);else if(!0===n){var f=e.draw(t);null!=f.drawExternalLabel&&c.push(f.drawExternalLabel)}else if(!0===e.isBoundingBoxOverlappingWith(d)){var p=e.draw(t);null!=p.drawExternalLabel&&c.push(p.drawExternalLabel)}else e.updateBoundingBox(t,e.selected);var v=s.length,g=a.length;for(i=0;i<v;i++){var y=(e=o[s[i]]).draw(t);null!=y.drawExternalLabel&&c.push(y.drawExternalLabel)}for(i=0;i<g;i++){var m=(e=o[a[i]]).draw(t);null!=m.drawExternalLabel&&c.push(m.drawExternalLabel)}return{drawExternalLabels:function(){for(var t=0,e=c;t<e.length;t++){(0,e[t])()}}}}},{key:"_drawEdges",value:function(t){for(var e=this.body.edges,i=this.body.edgeIndices,n=0;n<i.length;n++){var o=e[i[n]];!0===o.connected&&o.draw(t)}}},{key:"_drawArrows",value:function(t){for(var e=this.body.edges,i=this.body.edgeIndices,n=0;n<i.length;n++){var o=e[i[n]];!0===o.connected&&o.drawArrows(t)}}},{key:"_determineBrowserMethod",value:function(){if("undefined"!=typeof window){var t=navigator.userAgent.toLowerCase();this.requiresTimeout=!1,(-1!=Lv(t).call(t,"msie 9.0")||-1!=Lv(t).call(t,"safari")&&Lv(t).call(t,"chrome")<=-1)&&(this.requiresTimeout=!0)}else this.requiresTimeout=!0}},{key:"_drawSelectionBox",value:function(t){if(this.body.selectionBox.show){t.beginPath();var e=this.body.selectionBox.position.end.x-this.body.selectionBox.position.start.x,i=this.body.selectionBox.position.end.y-this.body.selectionBox.position.start.y;t.rect(this.body.selectionBox.position.start.x,this.body.selectionBox.position.start.y,e,i),t.fillStyle="rgba(151, 194, 252, 0.2)",t.fillRect(this.body.selectionBox.position.start.x,this.body.selectionBox.position.start.y,e,i),t.strokeStyle="rgba(151, 194, 252, 1)",t.stroke()}else t.closePath()}}]),t}(),oI=i(et.setInterval);function rI(t,e){e.inputHandler=function(t){t.isFirst&&e(t)},t.on("hammer.input",e.inputHandler)}function sI(t,e){return e.inputHandler=function(t){t.isFinal&&e(t)},t.on("hammer.input",e.inputHandler)}var aI=function(){function t(e){ch(this,t),this.body=e,this.pixelRatio=1,this.cameraState={},this.initialized=!1,this.canvasViewCenter={},this._cleanupCallbacks=[],this.options={},this.defaultOptions={autoResize:!0,height:"100%",width:"100%"},mn(this.options,this.defaultOptions),this.bindEventListeners()}return pu(t,[{key:"bindEventListeners",value:function(){var t,e=this;this.body.emitter.once("resize",(function(t){0!==t.width&&(e.body.view.translation.x=.5*t.width),0!==t.height&&(e.body.view.translation.y=.5*t.height)})),this.body.emitter.on("setSize",Ln(t=this.setSize).call(t,this)),this.body.emitter.on("destroy",(function(){e.hammerFrame.destroy(),e.hammer.destroy(),e._cleanUp()}))}},{key:"setOptions",value:function(t){var e=this;if(void 0!==t){Um(["width","height","autoResize"],this.options,t)}if(this._cleanUp(),!0===this.options.autoResize){var i;if(window.ResizeObserver){var n=new ResizeObserver((function(){!0===e.setSize()&&e.body.emitter.emit("_requestRedraw")})),o=this.frame;n.observe(o),this._cleanupCallbacks.push((function(){n.unobserve(o)}))}else{var r=oI((function(){!0===e.setSize()&&e.body.emitter.emit("_requestRedraw")}),1e3);this._cleanupCallbacks.push((function(){clearInterval(r)}))}var s=Ln(i=this._onResize).call(i,this);tb(window,"resize",s),this._cleanupCallbacks.push((function(){eb(window,"resize",s)}))}}},{key:"_cleanUp",value:function(){var t,e,i;Bf(t=Vf(e=yp(i=this._cleanupCallbacks).call(i,0)).call(e)).call(t,(function(t){try{t()}catch(t){console.error(t)}}))}},{key:"_onResize",value:function(){this.setSize(),this.body.emitter.emit("_redraw")}},{key:"_getCameraState",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.pixelRatio;!0===this.initialized&&(this.cameraState.previousWidth=this.frame.canvas.width/t,this.cameraState.previousHeight=this.frame.canvas.height/t,this.cameraState.scale=this.body.view.scale,this.cameraState.position=this.DOMtoCanvas({x:.5*this.frame.canvas.width/t,y:.5*this.frame.canvas.height/t}))}},{key:"_setCameraState",value:function(){if(void 0!==this.cameraState.scale&&0!==this.frame.canvas.clientWidth&&0!==this.frame.canvas.clientHeight&&0!==this.pixelRatio&&this.cameraState.previousWidth>0&&this.cameraState.previousHeight>0){var t=this.frame.canvas.width/this.pixelRatio/this.cameraState.previousWidth,e=this.frame.canvas.height/this.pixelRatio/this.cameraState.previousHeight,i=this.cameraState.scale;1!=t&&1!=e?i=.5*this.cameraState.scale*(t+e):1!=t?i=this.cameraState.scale*t:1!=e&&(i=this.cameraState.scale*e),this.body.view.scale=i;var n=this.DOMtoCanvas({x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight}),o={x:n.x-this.cameraState.position.x,y:n.y-this.cameraState.position.y};this.body.view.translation.x+=o.x*this.body.view.scale,this.body.view.translation.y+=o.y*this.body.view.scale}}},{key:"_prepareValue",value:function(t){if("number"==typeof t)return t+"px";if("string"==typeof t){if(-1!==Lv(t).call(t,"%")||-1!==Lv(t).call(t,"px"))return t;if(-1===Lv(t).call(t,"%"))return t+"px"}throw new Error("Could not use the value supplied for width or height:"+t)}},{key:"_create",value:function(){for(;this.body.container.hasChildNodes();)this.body.container.removeChild(this.body.container.firstChild);if(this.frame=document.createElement("div"),this.frame.className="vis-network",this.frame.style.position="relative",this.frame.style.overflow="hidden",this.frame.tabIndex=0,this.frame.canvas=document.createElement("canvas"),this.frame.canvas.style.position="relative",this.frame.appendChild(this.frame.canvas),this.frame.canvas.getContext)this._setPixelRatio(),this.setTransform();else{var t=document.createElement("DIV");t.style.color="red",t.style.fontWeight="bold",t.style.padding="10px",t.innerText="Error: your browser does not support HTML canvas",this.frame.canvas.appendChild(t)}this.body.container.appendChild(this.frame),this.body.view.scale=1,this.body.view.translation={x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight},this._bindHammer()}},{key:"_bindHammer",value:function(){var t=this;void 0!==this.hammer&&this.hammer.destroy(),this.drag={},this.pinch={},this.hammer=new Db(this.frame.canvas),this.hammer.get("pinch").set({enable:!0}),this.hammer.get("pan").set({threshold:5,direction:Db.DIRECTION_ALL}),rI(this.hammer,(function(e){t.body.eventListeners.onTouch(e)})),this.hammer.on("tap",(function(e){t.body.eventListeners.onTap(e)})),this.hammer.on("doubletap",(function(e){t.body.eventListeners.onDoubleTap(e)})),this.hammer.on("press",(function(e){t.body.eventListeners.onHold(e)})),this.hammer.on("panstart",(function(e){t.body.eventListeners.onDragStart(e)})),this.hammer.on("panmove",(function(e){t.body.eventListeners.onDrag(e)})),this.hammer.on("panend",(function(e){t.body.eventListeners.onDragEnd(e)})),this.hammer.on("pinch",(function(e){t.body.eventListeners.onPinch(e)})),this.frame.canvas.addEventListener("wheel",(function(e){t.body.eventListeners.onMouseWheel(e)})),this.frame.canvas.addEventListener("mousemove",(function(e){t.body.eventListeners.onMouseMove(e)})),this.frame.canvas.addEventListener("contextmenu",(function(e){t.body.eventListeners.onContext(e)})),this.hammerFrame=new Db(this.frame),sI(this.hammerFrame,(function(e){t.body.eventListeners.onRelease(e)}))}},{key:"setSize",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.options.width,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.options.height;t=this._prepareValue(t),e=this._prepareValue(e);var i=!1,n=this.frame.canvas.width,o=this.frame.canvas.height,r=this.pixelRatio;if(this._setPixelRatio(),t!=this.options.width||e!=this.options.height||this.frame.style.width!=t||this.frame.style.height!=e)this._getCameraState(r),this.frame.style.width=t,this.frame.style.height=e,this.frame.canvas.style.width="100%",this.frame.canvas.style.height="100%",this.frame.canvas.width=Math.round(this.frame.canvas.clientWidth*this.pixelRatio),this.frame.canvas.height=Math.round(this.frame.canvas.clientHeight*this.pixelRatio),this.options.width=t,this.options.height=e,this.canvasViewCenter={x:.5*this.frame.clientWidth,y:.5*this.frame.clientHeight},i=!0;else{var s=Math.round(this.frame.canvas.clientWidth*this.pixelRatio),a=Math.round(this.frame.canvas.clientHeight*this.pixelRatio);this.frame.canvas.width===s&&this.frame.canvas.height===a||this._getCameraState(r),this.frame.canvas.width!==s&&(this.frame.canvas.width=s,i=!0),this.frame.canvas.height!==a&&(this.frame.canvas.height=a,i=!0)}return!0===i&&(this.body.emitter.emit("resize",{width:Math.round(this.frame.canvas.width/this.pixelRatio),height:Math.round(this.frame.canvas.height/this.pixelRatio),oldWidth:Math.round(n/this.pixelRatio),oldHeight:Math.round(o/this.pixelRatio)}),this._setCameraState()),this.initialized=!0,i}},{key:"getContext",value:function(){return this.frame.canvas.getContext("2d")}},{key:"_determinePixelRatio",value:function(){var t=this.getContext();if(void 0===t)throw new Error("Could not get canvax context");var e=1;return"undefined"!=typeof window&&(e=window.devicePixelRatio||1),e/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)}},{key:"_setPixelRatio",value:function(){this.pixelRatio=this._determinePixelRatio()}},{key:"setTransform",value:function(){var t=this.getContext();if(void 0===t)throw new Error("Could not get canvax context");t.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}},{key:"_XconvertDOMtoCanvas",value:function(t){return(t-this.body.view.translation.x)/this.body.view.scale}},{key:"_XconvertCanvasToDOM",value:function(t){return t*this.body.view.scale+this.body.view.translation.x}},{key:"_YconvertDOMtoCanvas",value:function(t){return(t-this.body.view.translation.y)/this.body.view.scale}},{key:"_YconvertCanvasToDOM",value:function(t){return t*this.body.view.scale+this.body.view.translation.y}},{key:"canvasToDOM",value:function(t){return{x:this._XconvertCanvasToDOM(t.x),y:this._YconvertCanvasToDOM(t.y)}}},{key:"DOMtoCanvas",value:function(t){return{x:this._XconvertDOMtoCanvas(t.x),y:this._YconvertDOMtoCanvas(t.y)}}}]),t}();var hI=function(){function t(e,i){var n,o,r=this;ch(this,t),this.body=e,this.canvas=i,this.animationSpeed=1/this.renderRefreshRate,this.animationEasingFunction="easeInOutQuint",this.easingTime=0,this.sourceScale=0,this.targetScale=0,this.sourceTranslation=0,this.targetTranslation=0,this.lockedOnNodeId=void 0,this.lockedOnNodeOffset=void 0,this.touchTime=0,this.viewFunction=void 0,this.body.emitter.on("fit",Ln(n=this.fit).call(n,this)),this.body.emitter.on("animationFinished",(function(){r.body.emitter.emit("_stopRendering")})),this.body.emitter.on("unlockNode",Ln(o=this.releaseNode).call(o,this))}return pu(t,[{key:"setOptions",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.options=t}},{key:"fit",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];t=function(t,e){var i=mn({nodes:e,minZoomLevel:Number.MIN_VALUE,maxZoomLevel:1},null!=t?t:{});if(!sf(i.nodes))throw new TypeError("Nodes has to be an array of ids.");if(0===i.nodes.length&&(i.nodes=e),!("number"==typeof i.minZoomLevel&&i.minZoomLevel>0))throw new TypeError("Min zoom level has to be a number higher than zero.");if(!("number"==typeof i.maxZoomLevel&&i.minZoomLevel<=i.maxZoomLevel))throw new TypeError("Max zoom level has to be a number higher than min zoom level.");return i}(t,this.body.nodeIndices);var i,n,o=this.canvas.frame.canvas.clientWidth,r=this.canvas.frame.canvas.clientHeight;if(0===o||0===r)n=1,i=JD.getRange(this.body.nodes,t.nodes);else if(!0===e){var s=0;for(var a in this.body.nodes){if(Object.prototype.hasOwnProperty.call(this.body.nodes,a))!0===this.body.nodes[a].predefinedPosition&&(s+=1)}if(s>.5*this.body.nodeIndices.length)return void this.fit(t,!1);i=JD.getRange(this.body.nodes,t.nodes),n=12.662/(this.body.nodeIndices.length+7.4147)+.0964822,n*=Math.min(o/600,r/600)}else{this.body.emitter.emit("_resizeNodes"),i=JD.getRange(this.body.nodes,t.nodes);var h=o/(1.1*Math.abs(i.maxX-i.minX)),l=r/(1.1*Math.abs(i.maxY-i.minY));n=h<=l?h:l}n>t.maxZoomLevel?n=t.maxZoomLevel:n<t.minZoomLevel&&(n=t.minZoomLevel);var d={position:JD.findCenter(i),scale:n,animation:t.animation};this.moveTo(d)}},{key:"focus",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(void 0!==this.body.nodes[t]){var i={x:this.body.nodes[t].x,y:this.body.nodes[t].y};e.position=i,e.lockedOnNode=t,this.moveTo(e)}else console.error("Node: "+t+" cannot be found.")}},{key:"moveTo",value:function(t){if(void 0!==t){if(null!=t.offset){if(null!=t.offset.x){if(t.offset.x=+t.offset.x,!Gk(t.offset.x))throw new TypeError('The option "offset.x" has to be a finite number.')}else t.offset.x=0;if(null!=t.offset.y){if(t.offset.y=+t.offset.y,!Gk(t.offset.y))throw new TypeError('The option "offset.y" has to be a finite number.')}else t.offset.x=0}else t.offset={x:0,y:0};if(null!=t.position){if(null!=t.position.x){if(t.position.x=+t.position.x,!Gk(t.position.x))throw new TypeError('The option "position.x" has to be a finite number.')}else t.position.x=0;if(null!=t.position.y){if(t.position.y=+t.position.y,!Gk(t.position.y))throw new TypeError('The option "position.y" has to be a finite number.')}else t.position.x=0}else t.position=this.getViewPosition();if(null!=t.scale){if(t.scale=+t.scale,!(t.scale>0))throw new TypeError('The option "scale" has to be a number greater than zero.')}else t.scale=this.body.view.scale;void 0===t.animation&&(t.animation={duration:0}),!1===t.animation&&(t.animation={duration:0}),!0===t.animation&&(t.animation={}),void 0===t.animation.duration&&(t.animation.duration=1e3),void 0===t.animation.easingFunction&&(t.animation.easingFunction="easeInOutQuad"),this.animateView(t)}else t={}}},{key:"animateView",value:function(t){if(void 0!==t){this.animationEasingFunction=t.animation.easingFunction,this.releaseNode(),!0===t.locked&&(this.lockedOnNodeId=t.lockedOnNode,this.lockedOnNodeOffset=t.offset),0!=this.easingTime&&this._transitionRedraw(!0),this.sourceScale=this.body.view.scale,this.sourceTranslation=this.body.view.translation,this.targetScale=t.scale,this.body.view.scale=this.targetScale;var e,i,n=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight}),o=n.x-t.position.x,r=n.y-t.position.y;if(this.targetTranslation={x:this.sourceTranslation.x+o*this.targetScale+t.offset.x,y:this.sourceTranslation.y+r*this.targetScale+t.offset.y},0===t.animation.duration)if(null!=this.lockedOnNodeId)this.viewFunction=Ln(e=this._lockedRedraw).call(e,this),this.body.emitter.on("initRedraw",this.viewFunction);else this.body.view.scale=this.targetScale,this.body.view.translation=this.targetTranslation,this.body.emitter.emit("_requestRedraw");else this.animationSpeed=1/(60*t.animation.duration*.001)||1/60,this.animationEasingFunction=t.animation.easingFunction,this.viewFunction=Ln(i=this._transitionRedraw).call(i,this),this.body.emitter.on("initRedraw",this.viewFunction),this.body.emitter.emit("_startRendering")}}},{key:"_lockedRedraw",value:function(){var t=this.body.nodes[this.lockedOnNodeId].x,e=this.body.nodes[this.lockedOnNodeId].y,i=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight}),n=i.x-t,o=i.y-e,r=this.body.view.translation,s={x:r.x+n*this.body.view.scale+this.lockedOnNodeOffset.x,y:r.y+o*this.body.view.scale+this.lockedOnNodeOffset.y};this.body.view.translation=s}},{key:"releaseNode",value:function(){void 0!==this.lockedOnNodeId&&void 0!==this.viewFunction&&(this.body.emitter.off("initRedraw",this.viewFunction),this.lockedOnNodeId=void 0,this.lockedOnNodeOffset=void 0)}},{key:"_transitionRedraw",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.easingTime+=this.animationSpeed,this.easingTime=!0===t?1:this.easingTime;var e=yb[this.animationEasingFunction](this.easingTime);if(this.body.view.scale=this.sourceScale+(this.targetScale-this.sourceScale)*e,this.body.view.translation={x:this.sourceTranslation.x+(this.targetTranslation.x-this.sourceTranslation.x)*e,y:this.sourceTranslation.y+(this.targetTranslation.y-this.sourceTranslation.y)*e},this.easingTime>=1){var i;if(this.body.emitter.off("initRedraw",this.viewFunction),this.easingTime=0,null!=this.lockedOnNodeId)this.viewFunction=Ln(i=this._lockedRedraw).call(i,this),this.body.emitter.on("initRedraw",this.viewFunction);this.body.emitter.emit("animationFinished")}}},{key:"getScale",value:function(){return this.body.view.scale}},{key:"getViewPosition",value:function(){return this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight})}}]),t}();function lI(t){var e,i=t&&t.preventDefault||!1,n=t&&t.container||window,o={},r={keydown:{},keyup:{}},s={};for(e=97;e<=122;e++)s[String.fromCharCode(e)]={code:e-97+65,shift:!1};for(e=65;e<=90;e++)s[String.fromCharCode(e)]={code:e,shift:!0};for(e=0;e<=9;e++)s[""+e]={code:48+e,shift:!1};for(e=1;e<=12;e++)s["F"+e]={code:111+e,shift:!1};for(e=0;e<=9;e++)s["num"+e]={code:96+e,shift:!1};s["num*"]={code:106,shift:!1},s["num+"]={code:107,shift:!1},s["num-"]={code:109,shift:!1},s["num/"]={code:111,shift:!1},s["num."]={code:110,shift:!1},s.left={code:37,shift:!1},s.up={code:38,shift:!1},s.right={code:39,shift:!1},s.down={code:40,shift:!1},s.space={code:32,shift:!1},s.enter={code:13,shift:!1},s.shift={code:16,shift:void 0},s.esc={code:27,shift:!1},s.backspace={code:8,shift:!1},s.tab={code:9,shift:!1},s.ctrl={code:17,shift:!1},s.alt={code:18,shift:!1},s.delete={code:46,shift:!1},s.pageup={code:33,shift:!1},s.pagedown={code:34,shift:!1},s["="]={code:187,shift:!1},s["-"]={code:189,shift:!1},s["]"]={code:221,shift:!1},s["["]={code:219,shift:!1};var a=function(t){l(t,"keydown")},h=function(t){l(t,"keyup")},l=function(t,e){if(void 0!==r[e][t.keyCode]){for(var n=r[e][t.keyCode],o=0;o<n.length;o++)(void 0===n[o].shift||1==n[o].shift&&1==t.shiftKey||0==n[o].shift&&0==t.shiftKey)&&n[o].fn(t);1==i&&t.preventDefault()}};return o.bind=function(t,e,i){if(void 0===i&&(i="keydown"),void 0===s[t])throw new Error("unsupported key: "+t);void 0===r[i][s[t].code]&&(r[i][s[t].code]=[]),r[i][s[t].code].push({fn:e,shift:s[t].shift})},o.bindAll=function(t,e){for(var i in void 0===e&&(e="keydown"),s)s.hasOwnProperty(i)&&o.bind(i,t,e)},o.getKey=function(t){for(var e in s)if(s.hasOwnProperty(e)){if(1==t.shiftKey&&1==s[e].shift&&t.keyCode==s[e].code)return e;if(0==t.shiftKey&&0==s[e].shift&&t.keyCode==s[e].code)return e;if(t.keyCode==s[e].code&&"shift"==e)return e}return"unknown key, currently not supported"},o.unbind=function(t,e,i){if(void 0===i&&(i="keydown"),void 0===s[t])throw new Error("unsupported key: "+t);if(void 0!==e){var n=[],o=r[i][s[t].code];if(void 0!==o)for(var a=0;a<o.length;a++)o[a].fn==e&&o[a].shift==s[t].shift||n.push(r[i][s[t].code][a]);r[i][s[t].code]=n}else r[i][s[t].code]=[]},o.reset=function(){r={keydown:{},keyup:{}}},o.destroy=function(){r={keydown:{},keyup:{}},n.removeEventListener("keydown",a,!0),n.removeEventListener("keyup",h,!0)},n.addEventListener("keydown",a,!0),n.addEventListener("keyup",h,!0),o}var dI=Object.freeze({__proto__:null,default:lI}),cI=function(){function t(e,i){var n=this;ch(this,t),this.body=e,this.canvas=i,this.iconsCreated=!1,this.navigationHammers=[],this.boundFunctions={},this.touchTime=0,this.activated=!1,this.body.emitter.on("activate",(function(){n.activated=!0,n.configureKeyboardBindings()})),this.body.emitter.on("deactivate",(function(){n.activated=!1,n.configureKeyboardBindings()})),this.body.emitter.on("destroy",(function(){void 0!==n.keycharm&&n.keycharm.destroy()})),this.options={}}return pu(t,[{key:"setOptions",value:function(t){void 0!==t&&(this.options=t,this.create())}},{key:"create",value:function(){!0===this.options.navigationButtons?!1===this.iconsCreated&&this.loadNavigationElements():!0===this.iconsCreated&&this.cleanNavigation(),this.configureKeyboardBindings()}},{key:"cleanNavigation",value:function(){if(0!=this.navigationHammers.length){for(var t=0;t<this.navigationHammers.length;t++)this.navigationHammers[t].destroy();this.navigationHammers=[]}this.navigationDOM&&this.navigationDOM.wrapper&&this.navigationDOM.wrapper.parentNode&&this.navigationDOM.wrapper.parentNode.removeChild(this.navigationDOM.wrapper),this.iconsCreated=!1}},{key:"loadNavigationElements",value:function(){var t=this;this.cleanNavigation(),this.navigationDOM={};var e=["up","down","left","right","zoomIn","zoomOut","zoomExtends"],i=["_moveUp","_moveDown","_moveLeft","_moveRight","_zoomIn","_zoomOut","_fit"];this.navigationDOM.wrapper=document.createElement("div"),this.navigationDOM.wrapper.className="vis-navigation",this.canvas.frame.appendChild(this.navigationDOM.wrapper);for(var n=0;n<e.length;n++){this.navigationDOM[e[n]]=document.createElement("div"),this.navigationDOM[e[n]].className="vis-button vis-"+e[n],this.navigationDOM.wrapper.appendChild(this.navigationDOM[e[n]]);var o,r,s=new Db(this.navigationDOM[e[n]]);if("_fit"===i[n])rI(s,Ln(o=this._fit).call(o,this));else rI(s,Ln(r=this.bindToRedraw).call(r,this,i[n]));this.navigationHammers.push(s)}var a=new Db(this.canvas.frame);sI(a,(function(){t._stopMovement()})),this.navigationHammers.push(a),this.iconsCreated=!0}},{key:"bindToRedraw",value:function(t){var e;void 0===this.boundFunctions[t]&&(this.boundFunctions[t]=Ln(e=this[t]).call(e,this),this.body.emitter.on("initRedraw",this.boundFunctions[t]),this.body.emitter.emit("_startRendering"))}},{key:"unbindFromRedraw",value:function(t){void 0!==this.boundFunctions[t]&&(this.body.emitter.off("initRedraw",this.boundFunctions[t]),this.body.emitter.emit("_stopRendering"),delete this.boundFunctions[t])}},{key:"_fit",value:function(){(new Date).valueOf()-this.touchTime>700&&(this.body.emitter.emit("fit",{duration:700}),this.touchTime=(new Date).valueOf())}},{key:"_stopMovement",value:function(){for(var t in this.boundFunctions)Object.prototype.hasOwnProperty.call(this.boundFunctions,t)&&(this.body.emitter.off("initRedraw",this.boundFunctions[t]),this.body.emitter.emit("_stopRendering"));this.boundFunctions={}}},{key:"_moveUp",value:function(){this.body.view.translation.y+=this.options.keyboard.speed.y}},{key:"_moveDown",value:function(){this.body.view.translation.y-=this.options.keyboard.speed.y}},{key:"_moveLeft",value:function(){this.body.view.translation.x+=this.options.keyboard.speed.x}},{key:"_moveRight",value:function(){this.body.view.translation.x-=this.options.keyboard.speed.x}},{key:"_zoomIn",value:function(){var t=this.body.view.scale,e=this.body.view.scale*(1+this.options.keyboard.speed.zoom),i=this.body.view.translation,n=e/t,o=(1-n)*this.canvas.canvasViewCenter.x+i.x*n,r=(1-n)*this.canvas.canvasViewCenter.y+i.y*n;this.body.view.scale=e,this.body.view.translation={x:o,y:r},this.body.emitter.emit("zoom",{direction:"+",scale:this.body.view.scale,pointer:null})}},{key:"_zoomOut",value:function(){var t=this.body.view.scale,e=this.body.view.scale/(1+this.options.keyboard.speed.zoom),i=this.body.view.translation,n=e/t,o=(1-n)*this.canvas.canvasViewCenter.x+i.x*n,r=(1-n)*this.canvas.canvasViewCenter.y+i.y*n;this.body.view.scale=e,this.body.view.translation={x:o,y:r},this.body.emitter.emit("zoom",{direction:"-",scale:this.body.view.scale,pointer:null})}},{key:"configureKeyboardBindings",value:function(){var t,e,i,n,o,r,s,a,h,l,d,c,u,f,p,v,g,y,m,b,w,k,_,x,E=this;(void 0!==this.keycharm&&this.keycharm.destroy(),!0===this.options.keyboard.enabled)&&(!0===this.options.keyboard.bindToWindow?this.keycharm=lI({container:window,preventDefault:!0}):this.keycharm=lI({container:this.canvas.frame,preventDefault:!0}),this.keycharm.reset(),!0===this.activated&&(Ln(t=this.keycharm).call(t,"up",(function(){E.bindToRedraw("_moveUp")}),"keydown"),Ln(e=this.keycharm).call(e,"down",(function(){E.bindToRedraw("_moveDown")}),"keydown"),Ln(i=this.keycharm).call(i,"left",(function(){E.bindToRedraw("_moveLeft")}),"keydown"),Ln(n=this.keycharm).call(n,"right",(function(){E.bindToRedraw("_moveRight")}),"keydown"),Ln(o=this.keycharm).call(o,"=",(function(){E.bindToRedraw("_zoomIn")}),"keydown"),Ln(r=this.keycharm).call(r,"num+",(function(){E.bindToRedraw("_zoomIn")}),"keydown"),Ln(s=this.keycharm).call(s,"num-",(function(){E.bindToRedraw("_zoomOut")}),"keydown"),Ln(a=this.keycharm).call(a,"-",(function(){E.bindToRedraw("_zoomOut")}),"keydown"),Ln(h=this.keycharm).call(h,"[",(function(){E.bindToRedraw("_zoomOut")}),"keydown"),Ln(l=this.keycharm).call(l,"]",(function(){E.bindToRedraw("_zoomIn")}),"keydown"),Ln(d=this.keycharm).call(d,"pageup",(function(){E.bindToRedraw("_zoomIn")}),"keydown"),Ln(c=this.keycharm).call(c,"pagedown",(function(){E.bindToRedraw("_zoomOut")}),"keydown"),Ln(u=this.keycharm).call(u,"up",(function(){E.unbindFromRedraw("_moveUp")}),"keyup"),Ln(f=this.keycharm).call(f,"down",(function(){E.unbindFromRedraw("_moveDown")}),"keyup"),Ln(p=this.keycharm).call(p,"left",(function(){E.unbindFromRedraw("_moveLeft")}),"keyup"),Ln(v=this.keycharm).call(v,"right",(function(){E.unbindFromRedraw("_moveRight")}),"keyup"),Ln(g=this.keycharm).call(g,"=",(function(){E.unbindFromRedraw("_zoomIn")}),"keyup"),Ln(y=this.keycharm).call(y,"num+",(function(){E.unbindFromRedraw("_zoomIn")}),"keyup"),Ln(m=this.keycharm).call(m,"num-",(function(){E.unbindFromRedraw("_zoomOut")}),"keyup"),Ln(b=this.keycharm).call(b,"-",(function(){E.unbindFromRedraw("_zoomOut")}),"keyup"),Ln(w=this.keycharm).call(w,"[",(function(){E.unbindFromRedraw("_zoomOut")}),"keyup"),Ln(k=this.keycharm).call(k,"]",(function(){E.unbindFromRedraw("_zoomIn")}),"keyup"),Ln(_=this.keycharm).call(_,"pageup",(function(){E.unbindFromRedraw("_zoomIn")}),"keyup"),Ln(x=this.keycharm).call(x,"pagedown",(function(){E.unbindFromRedraw("_zoomOut")}),"keyup")))}}]),t}();function uI(t,e){var i=void 0!==Vu&&dh(t)||t["@@iterator"];if(!i){if(sf(t)||(i=function(t,e){var i;if(!t)return;if("string"==typeof t)return fI(t,e);var n=Zu(i=Object.prototype.toString.call(t)).call(i,8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Ua(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return fI(t,e)}(t))||e&&t&&"number"==typeof t.length){i&&(t=i);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}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 r,s=!0,a=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return s=t.done,t},e:function(t){a=!0,r=t},f:function(){try{s||null==i.return||i.return()}finally{if(a)throw r}}}}function fI(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}var pI=function(){function t(e,i,n){var o,r,s,a,h,l,d,c,u,f,p,v,g;ch(this,t),this.body=e,this.canvas=i,this.selectionHandler=n,this.navigationHandler=new cI(e,i),this.body.eventListeners.onTap=Ln(o=this.onTap).call(o,this),this.body.eventListeners.onTouch=Ln(r=this.onTouch).call(r,this),this.body.eventListeners.onDoubleTap=Ln(s=this.onDoubleTap).call(s,this),this.body.eventListeners.onHold=Ln(a=this.onHold).call(a,this),this.body.eventListeners.onDragStart=Ln(h=this.onDragStart).call(h,this),this.body.eventListeners.onDrag=Ln(l=this.onDrag).call(l,this),this.body.eventListeners.onDragEnd=Ln(d=this.onDragEnd).call(d,this),this.body.eventListeners.onMouseWheel=Ln(c=this.onMouseWheel).call(c,this),this.body.eventListeners.onPinch=Ln(u=this.onPinch).call(u,this),this.body.eventListeners.onMouseMove=Ln(f=this.onMouseMove).call(f,this),this.body.eventListeners.onRelease=Ln(p=this.onRelease).call(p,this),this.body.eventListeners.onContext=Ln(v=this.onContext).call(v,this),this.touchTime=0,this.drag={},this.pinch={},this.popup=void 0,this.popupObj=void 0,this.popupTimer=void 0,this.body.functions.getPointer=Ln(g=this.getPointer).call(g,this),this.options={},this.defaultOptions={dragNodes:!0,dragView:!0,hover:!1,keyboard:{enabled:!1,speed:{x:10,y:10,zoom:.02},bindToWindow:!0,autoFocus:!0},navigationButtons:!1,tooltipDelay:300,zoomView:!0,zoomSpeed:1},mn(this.options,this.defaultOptions),this.bindEventListeners()}return pu(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("destroy",(function(){clearTimeout(t.popupTimer),delete t.body.functions.getPointer}))}},{key:"setOptions",value:function(t){if(void 0!==t){Ym(["hideEdgesOnDrag","hideEdgesOnZoom","hideNodesOnDrag","keyboard","multiselect","selectable","selectConnectedEdges"],this.options,t),gb(this.options,t,"keyboard"),t.tooltip&&(mn(this.options.tooltip,t.tooltip),t.tooltip.color&&(this.options.tooltip.color=sb(t.tooltip.color)))}this.navigationHandler.setOptions(this.options)}},{key:"getPointer",value:function(t){return{x:t.x-$m(this.canvas.frame.canvas),y:t.y-Zm(this.canvas.frame.canvas)}}},{key:"onTouch",value:function(t){(new Date).valueOf()-this.touchTime>50&&(this.drag.pointer=this.getPointer(t.center),this.drag.pinched=!1,this.pinch.scale=this.body.view.scale,this.touchTime=(new Date).valueOf())}},{key:"onTap",value:function(t){var e=this.getPointer(t.center),i=this.selectionHandler.options.multiselect&&(t.changedPointers[0].ctrlKey||t.changedPointers[0].metaKey);this.checkSelectionChanges(e,i),this.selectionHandler.commitAndEmit(e,t),this.selectionHandler.generateClickEvent("click",t,e)}},{key:"onDoubleTap",value:function(t){var e=this.getPointer(t.center);this.selectionHandler.generateClickEvent("doubleClick",t,e)}},{key:"onHold",value:function(t){var e=this.getPointer(t.center),i=this.selectionHandler.options.multiselect;this.checkSelectionChanges(e,i),this.selectionHandler.commitAndEmit(e,t),this.selectionHandler.generateClickEvent("click",t,e),this.selectionHandler.generateClickEvent("hold",t,e)}},{key:"onRelease",value:function(t){if((new Date).valueOf()-this.touchTime>10){var e=this.getPointer(t.center);this.selectionHandler.generateClickEvent("release",t,e),this.touchTime=(new Date).valueOf()}}},{key:"onContext",value:function(t){var e=this.getPointer({x:t.clientX,y:t.clientY});this.selectionHandler.generateClickEvent("oncontext",t,e)}},{key:"checkSelectionChanges",value:function(t){!0===(arguments.length>1&&void 0!==arguments[1]&&arguments[1])?this.selectionHandler.selectAdditionalOnPoint(t):this.selectionHandler.selectOnPoint(t)}},{key:"_determineDifference",value:function(t,e){var i=function(t,e){for(var i=[],n=0;n<t.length;n++){var o=t[n];-1===Lv(e).call(e,o)&&i.push(o)}return i};return{nodes:i(t.nodes,e.nodes),edges:i(t.edges,e.edges)}}},{key:"onDragStart",value:function(t){if(!this.drag.dragging){void 0===this.drag.pointer&&this.onTouch(t);var e=this.selectionHandler.getNodeAt(this.drag.pointer);if(this.drag.dragging=!0,this.drag.selection=[],this.drag.translation=mn({},this.body.view.translation),this.drag.nodeId=void 0,t.srcEvent.shiftKey){this.body.selectionBox.show=!0;var i=this.getPointer(t.center);this.body.selectionBox.position.start={x:this.canvas._XconvertDOMtoCanvas(i.x),y:this.canvas._YconvertDOMtoCanvas(i.y)},this.body.selectionBox.position.end={x:this.canvas._XconvertDOMtoCanvas(i.x),y:this.canvas._YconvertDOMtoCanvas(i.y)}}else if(void 0!==e&&!0===this.options.dragNodes){this.drag.nodeId=e.id,!1===e.isSelected()&&this.selectionHandler.setSelection({nodes:[e.id]}),this.selectionHandler.generateClickEvent("dragStart",t,this.drag.pointer);var n,o=uI(this.selectionHandler.getSelectedNodes());try{for(o.s();!(n=o.n()).done;){var r=n.value,s={id:r.id,node:r,x:r.x,y:r.y,xFixed:r.options.fixed.x,yFixed:r.options.fixed.y};r.options.fixed.x=!0,r.options.fixed.y=!0,this.drag.selection.push(s)}}catch(t){o.e(t)}finally{o.f()}}else this.selectionHandler.generateClickEvent("dragStart",t,this.drag.pointer,void 0,!0)}}},{key:"onDrag",value:function(t){var e=this;if(!0!==this.drag.pinched){this.body.emitter.emit("unlockNode");var i=this.getPointer(t.center),n=this.drag.selection;if(n&&n.length&&!0===this.options.dragNodes){this.selectionHandler.generateClickEvent("dragging",t,i);var o=i.x-this.drag.pointer.x,r=i.y-this.drag.pointer.y;Bf(n).call(n,(function(t){var i=t.node;!1===t.xFixed&&(i.x=e.canvas._XconvertDOMtoCanvas(e.canvas._XconvertCanvasToDOM(t.x)+o)),!1===t.yFixed&&(i.y=e.canvas._YconvertDOMtoCanvas(e.canvas._YconvertCanvasToDOM(t.y)+r))})),this.body.emitter.emit("startSimulation")}else{if(t.srcEvent.shiftKey){if(this.selectionHandler.generateClickEvent("dragging",t,i,void 0,!0),void 0===this.drag.pointer)return void this.onDragStart(t);this.body.selectionBox.position.end={x:this.canvas._XconvertDOMtoCanvas(i.x),y:this.canvas._YconvertDOMtoCanvas(i.y)},this.body.emitter.emit("_requestRedraw")}if(!0===this.options.dragView&&!t.srcEvent.shiftKey){if(this.selectionHandler.generateClickEvent("dragging",t,i,void 0,!0),void 0===this.drag.pointer)return void this.onDragStart(t);var s=i.x-this.drag.pointer.x,a=i.y-this.drag.pointer.y;this.body.view.translation={x:this.drag.translation.x+s,y:this.drag.translation.y+a},this.body.emitter.emit("_requestRedraw")}}}}},{key:"onDragEnd",value:function(t){var e=this;if(this.drag.dragging=!1,this.body.selectionBox.show){var i;this.body.selectionBox.show=!1;var n=this.body.selectionBox.position,o={minX:Math.min(n.start.x,n.end.x),minY:Math.min(n.start.y,n.end.y),maxX:Math.max(n.start.x,n.end.x),maxY:Math.max(n.start.y,n.end.y)},r=Zp(i=this.body.nodeIndices).call(i,(function(t){var i=e.body.nodes[t];return i.x>=o.minX&&i.x<=o.maxX&&i.y>=o.minY&&i.y<=o.maxY}));Bf(r).call(r,(function(t){return e.selectionHandler.selectObject(e.body.nodes[t])}));var s=this.getPointer(t.center);this.selectionHandler.commitAndEmit(s,t),this.selectionHandler.generateClickEvent("dragEnd",t,this.getPointer(t.center),void 0,!0),this.body.emitter.emit("_requestRedraw")}else{var a=this.drag.selection;a&&a.length?(Bf(a).call(a,(function(t){t.node.options.fixed.x=t.xFixed,t.node.options.fixed.y=t.yFixed})),this.selectionHandler.generateClickEvent("dragEnd",t,this.getPointer(t.center)),this.body.emitter.emit("startSimulation")):(this.selectionHandler.generateClickEvent("dragEnd",t,this.getPointer(t.center),void 0,!0),this.body.emitter.emit("_requestRedraw"))}}},{key:"onPinch",value:function(t){var e=this.getPointer(t.center);this.drag.pinched=!0,void 0===this.pinch.scale&&(this.pinch.scale=1);var i=this.pinch.scale*t.scale;this.zoom(i,e)}},{key:"zoom",value:function(t,e){if(!0===this.options.zoomView){var i=this.body.view.scale;t<1e-5&&(t=1e-5),t>10&&(t=10);var n=void 0;void 0!==this.drag&&!0===this.drag.dragging&&(n=this.canvas.DOMtoCanvas(this.drag.pointer));var o=this.body.view.translation,r=t/i,s=(1-r)*e.x+o.x*r,a=(1-r)*e.y+o.y*r;if(this.body.view.scale=t,this.body.view.translation={x:s,y:a},null!=n){var h=this.canvas.canvasToDOM(n);this.drag.pointer.x=h.x,this.drag.pointer.y=h.y}this.body.emitter.emit("_requestRedraw"),i<t?this.body.emitter.emit("zoom",{direction:"+",scale:this.body.view.scale,pointer:e}):this.body.emitter.emit("zoom",{direction:"-",scale:this.body.view.scale,pointer:e})}}},{key:"onMouseWheel",value:function(t){if(!0===this.options.zoomView){if(0!==t.deltaY){var e=this.body.view.scale;e*=1+(t.deltaY<0?1:-1)*(.1*this.options.zoomSpeed);var i=this.getPointer({x:t.clientX,y:t.clientY});this.zoom(e,i)}t.preventDefault()}}},{key:"onMouseMove",value:function(t){var e=this,i=this.getPointer({x:t.clientX,y:t.clientY}),n=!1;void 0!==this.popup&&(!1===this.popup.hidden&&this._checkHidePopup(i),!1===this.popup.hidden&&(n=!0,this.popup.setPosition(i.x+3,i.y-5),this.popup.show())),this.options.keyboard.autoFocus&&!1===this.options.keyboard.bindToWindow&&!0===this.options.keyboard.enabled&&this.canvas.frame.focus(),!1===n&&(void 0!==this.popupTimer&&(clearInterval(this.popupTimer),this.popupTimer=void 0),this.drag.dragging||(this.popupTimer=vg((function(){return e._checkShowPopup(i)}),this.options.tooltipDelay))),!0===this.options.hover&&this.selectionHandler.hoverObject(t,i)}},{key:"_checkShowPopup",value:function(t){var e=this.canvas._XconvertDOMtoCanvas(t.x),i=this.canvas._YconvertDOMtoCanvas(t.y),n={left:e,top:i,right:e,bottom:i},o=void 0===this.popupObj?void 0:this.popupObj.id,r=!1,s="node";if(void 0===this.popupObj){for(var a,h=this.body.nodeIndices,l=this.body.nodes,d=[],c=0;c<h.length;c++)!0===(a=l[h[c]]).isOverlappingWith(n)&&(r=!0,void 0!==a.getTitle()&&d.push(h[c]));d.length>0&&(this.popupObj=l[d[d.length-1]],r=!0)}if(void 0===this.popupObj&&!1===r){for(var u,f=this.body.edgeIndices,p=this.body.edges,v=[],g=0;g<f.length;g++)!0===(u=p[f[g]]).isOverlappingWith(n)&&!0===u.connected&&void 0!==u.getTitle()&&v.push(f[g]);v.length>0&&(this.popupObj=p[v[v.length-1]],s="edge")}void 0!==this.popupObj?this.popupObj.id!==o&&(void 0===this.popup&&(this.popup=new Ib(this.canvas.frame)),this.popup.popupTargetType=s,this.popup.popupTargetId=this.popupObj.id,this.popup.setPosition(t.x+3,t.y-5),this.popup.setText(this.popupObj.getTitle()),this.popup.show(),this.body.emitter.emit("showPopup",this.popupObj.id)):void 0!==this.popup&&(this.popup.hide(),this.body.emitter.emit("hidePopup"))}},{key:"_checkHidePopup",value:function(t){var e=this.selectionHandler._pointerToPositionObject(t),i=!1;if("node"===this.popup.popupTargetType){if(void 0!==this.body.nodes[this.popup.popupTargetId]&&!0===(i=this.body.nodes[this.popup.popupTargetId].isOverlappingWith(e))){var n=this.selectionHandler.getNodeAt(t);i=void 0!==n&&n.id===this.popup.popupTargetId}}else void 0===this.selectionHandler.getNodeAt(t)&&void 0!==this.body.edges[this.popup.popupTargetId]&&(i=this.body.edges[this.popup.popupTargetId].isOverlappingWith(e));!1===i&&(this.popupObj=void 0,this.popup.hide(),this.body.emitter.emit("hidePopup"))}}]),t}(),vI=g,gI=_k,yI=Hw.getWeakData,mI=ok,bI=ei,wI=U,kI=tt,_I=ek,xI=Zt,EI=Ro.set,OI=Ro.getterFor,CI=Il.find,SI=Il.findIndex,TI=vI([].splice),MI=0,PI=function(t){return t.frozen||(t.frozen=new DI)},DI=function(){this.entries=[]},II=function(t,e){return CI(t.entries,(function(t){return t[0]===e}))};DI.prototype={get:function(t){var e=II(this,t);if(e)return e[1]},has:function(t){return!!II(this,t)},set:function(t,e){var i=II(this,t);i?i[1]=e:this.entries.push([t,e])},delete:function(t){var e=SI(this.entries,(function(e){return e[0]===t}));return~e&&TI(this.entries,e,1),!!~e}};var BI,NI={getConstructor:function(t,e,i,n){var o=t((function(t,o){mI(t,r),EI(t,{type:e,id:MI++,frozen:void 0}),wI(o)||_I(o,t[n],{that:t,AS_ENTRIES:i})})),r=o.prototype,s=OI(e),a=function(t,e,i){var n=s(t),o=yI(bI(e),!0);return!0===o?PI(n).set(e,i):o[n.id]=i,t};return gI(r,{delete:function(t){var e=s(this);if(!kI(t))return!1;var i=yI(t);return!0===i?PI(e).delete(t):i&&xI(i,e.id)&&delete i[e.id]},has:function(t){var e=s(this);if(!kI(t))return!1;var i=yI(t);return!0===i?PI(e).has(t):i&&xI(i,e.id)}}),gI(r,i?{get:function(t){var e=s(this);if(kI(t)){var i=yI(t);return!0===i?PI(e).get(t):i?i[e.id]:void 0}},set:function(t,e){return a(this,t,e)}}:{add:function(t){return a(this,t,!0)}}),o}},FI=Ow,zI=o,AI=g,jI=_k,RI=Hw,LI=wk,HI=NI,WI=tt,qI=Ro.enforce,VI=r,UI=_o,YI=Object,XI=Array.isArray,GI=YI.isExtensible,KI=YI.isFrozen,$I=YI.isSealed,ZI=YI.freeze,QI=YI.seal,JI={},tB={},eB=!zI.ActiveXObject&&"ActiveXObject"in zI,iB=function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},nB=LI("WeakMap",iB,HI),oB=nB.prototype,rB=AI(oB.set);if(UI)if(eB){BI=HI.getConstructor(iB,"WeakMap",!0),RI.enable();var sB=AI(oB.delete),aB=AI(oB.has),hB=AI(oB.get);jI(oB,{delete:function(t){if(WI(t)&&!GI(t)){var e=qI(this);return e.frozen||(e.frozen=new BI),sB(this,t)||e.frozen.delete(t)}return sB(this,t)},has:function(t){if(WI(t)&&!GI(t)){var e=qI(this);return e.frozen||(e.frozen=new BI),aB(this,t)||e.frozen.has(t)}return aB(this,t)},get:function(t){if(WI(t)&&!GI(t)){var e=qI(this);return e.frozen||(e.frozen=new BI),aB(this,t)?hB(this,t):e.frozen.get(t)}return hB(this,t)},set:function(t,e){if(WI(t)&&!GI(t)){var i=qI(this);i.frozen||(i.frozen=new BI),aB(this,t)?rB(this,t,e):i.frozen.set(t,e)}else rB(this,t,e);return this}})}else FI&&VI((function(){var t=ZI([]);return rB(new nB,t,1),!KI(t)}))&&jI(oB,{set:function(t,e){var i;return XI(t)&&(KI(t)?i=JI:$I(t)&&(i=tB)),rB(this,t,e),i==JI&&ZI(t),i==tB&&QI(t),this}});var lB,dB,cB,uB,fB,pB=i(et.WeakMap);function vB(t,e,i,n){if("a"===i&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?n:"a"===i?n.call(t):n?n.value:e.get(t)}function gB(t,e,i,n,o){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?o.call(t,i):o?o.value=i:e.set(t,i),i}function yB(t,e){var i=void 0!==Vu&&dh(t)||t["@@iterator"];if(!i){if(sf(t)||(i=function(t,e){var i;if(!t)return;if("string"==typeof t)return mB(t,e);var n=Zu(i=Object.prototype.toString.call(t)).call(i,8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Ua(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return mB(t,e)}(t))||e&&t&&"number"==typeof t.length){i&&(t=i);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}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 r,s=!0,a=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return s=t.done,t},e:function(t){a=!0,r=t},f:function(){try{s||null==i.return||i.return()}finally{if(a)throw r}}}}function mB(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}function bB(t,e){var i,n=new aS,o=yB(e);try{for(o.s();!(i=o.n()).done;){var r=i.value;t.has(r)||n.add(r)}}catch(t){o.e(t)}finally{o.f()}return n}var wB=function(){function t(){ch(this,t),lB.set(this,new aS),dB.set(this,new aS)}return pu(t,[{key:"size",get:function(){return vB(this,dB,"f").size}},{key:"add",value:function(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];for(var n=0,o=e;n<o.length;n++){var r=o[n];vB(this,dB,"f").add(r)}}},{key:"delete",value:function(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];for(var n=0,o=e;n<o.length;n++){var r=o[n];vB(this,dB,"f").delete(r)}}},{key:"clear",value:function(){vB(this,dB,"f").clear()}},{key:"getSelection",value:function(){return qu(vB(this,dB,"f"))}},{key:"getChanges",value:function(){return{added:qu(bB(vB(this,lB,"f"),vB(this,dB,"f"))),deleted:qu(bB(vB(this,dB,"f"),vB(this,lB,"f"))),previous:qu(new aS(vB(this,lB,"f"))),current:qu(new aS(vB(this,dB,"f")))}}},{key:"commit",value:function(){var t=this.getChanges();gB(this,lB,vB(this,dB,"f"),"f"),gB(this,dB,new aS(vB(this,lB,"f")),"f");var e,i=yB(t.added);try{for(i.s();!(e=i.n()).done;){e.value.select()}}catch(t){i.e(t)}finally{i.f()}var n,o=yB(t.deleted);try{for(o.s();!(n=o.n()).done;){n.value.unselect()}}catch(t){o.e(t)}finally{o.f()}return t}}]),t}();lB=new pB,dB=new pB;var kB=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){};ch(this,t),cB.set(this,new wB),uB.set(this,new wB),fB.set(this,void 0),gB(this,fB,e,"f")}return pu(t,[{key:"sizeNodes",get:function(){return vB(this,cB,"f").size}},{key:"sizeEdges",get:function(){return vB(this,uB,"f").size}},{key:"getNodes",value:function(){return vB(this,cB,"f").getSelection()}},{key:"getEdges",value:function(){return vB(this,uB,"f").getSelection()}},{key:"addNodes",value:function(){var t;(t=vB(this,cB,"f")).add.apply(t,arguments)}},{key:"addEdges",value:function(){var t;(t=vB(this,uB,"f")).add.apply(t,arguments)}},{key:"deleteNodes",value:function(t){vB(this,cB,"f").delete(t)}},{key:"deleteEdges",value:function(t){vB(this,uB,"f").delete(t)}},{key:"clear",value:function(){vB(this,cB,"f").clear(),vB(this,uB,"f").clear()}},{key:"commit",value:function(){for(var t,e,i={nodes:vB(this,cB,"f").commit(),edges:vB(this,uB,"f").commit()},n=arguments.length,o=new Array(n),r=0;r<n;r++)o[r]=arguments[r];return(t=vB(this,fB,"f")).call.apply(t,$u(e=[this,i]).call(e,o)),i}}]),t}();function _B(t,e){var i=void 0!==Vu&&dh(t)||t["@@iterator"];if(!i){if(sf(t)||(i=function(t,e){var i;if(!t)return;if("string"==typeof t)return xB(t,e);var n=Zu(i=Object.prototype.toString.call(t)).call(i,8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Ua(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return xB(t,e)}(t))||e&&t&&"number"==typeof t.length){i&&(t=i);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}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 r,s=!0,a=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return s=t.done,t},e:function(t){a=!0,r=t},f:function(){try{s||null==i.return||i.return()}finally{if(a)throw r}}}}function xB(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}cB=new pB,uB=new pB,fB=new pB;var EB=function(){function t(e,i){var n=this;ch(this,t),this.body=e,this.canvas=i,this._selectionAccumulator=new kB,this.hoverObj={nodes:{},edges:{}},this.options={},this.defaultOptions={multiselect:!1,selectable:!0,selectConnectedEdges:!0,hoverConnectedEdges:!0},mn(this.options,this.defaultOptions),this.body.emitter.on("_dataChanged",(function(){n.updateSelection()}))}return pu(t,[{key:"setOptions",value:function(t){if(void 0!==t){Um(["multiselect","hoverConnectedEdges","selectable","selectConnectedEdges"],this.options,t)}}},{key:"selectOnPoint",value:function(t){var e=!1;if(!0===this.options.selectable){var i=this.getNodeAt(t)||this.getEdgeAt(t);this.unselectAll(),void 0!==i&&(e=this.selectObject(i)),this.body.emitter.emit("_requestRedraw")}return e}},{key:"selectAdditionalOnPoint",value:function(t){var e=!1;if(!0===this.options.selectable){var i=this.getNodeAt(t)||this.getEdgeAt(t);void 0!==i&&(e=!0,!0===i.isSelected()?this.deselectObject(i):this.selectObject(i),this.body.emitter.emit("_requestRedraw"))}return e}},{key:"_initBaseEvent",value:function(t,e){var i={};return i.pointer={DOM:{x:e.x,y:e.y},canvas:this.canvas.DOMtoCanvas(e)},i.event=t,i}},{key:"generateClickEvent",value:function(t,e,i,n){var o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],r=this._initBaseEvent(e,i);if(!0===o)r.nodes=[],r.edges=[];else{var s=this.getSelection();r.nodes=s.nodes,r.edges=s.edges}void 0!==n&&(r.previousSelection=n),"click"==t&&(r.items=this.getClickedItems(i)),void 0!==e.controlEdge&&(r.controlEdge=e.controlEdge),this.body.emitter.emit(t,r)}},{key:"selectObject",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.options.selectConnectedEdges;if(void 0!==t){if(t instanceof qP){var i;if(!0===e)(i=this._selectionAccumulator).addEdges.apply(i,qu(t.edges));this._selectionAccumulator.addNodes(t)}else this._selectionAccumulator.addEdges(t);return!0}return!1}},{key:"deselectObject",value:function(t){!0===t.isSelected()&&(t.selected=!1,this._removeFromSelection(t))}},{key:"_getAllNodesOverlappingWith",value:function(t){for(var e=[],i=this.body.nodes,n=0;n<this.body.nodeIndices.length;n++){var o=this.body.nodeIndices[n];i[o].isOverlappingWith(t)&&e.push(o)}return e}},{key:"_pointerToPositionObject",value:function(t){var e=this.canvas.DOMtoCanvas(t);return{left:e.x-1,top:e.y+1,right:e.x+1,bottom:e.y-1}}},{key:"getNodeAt",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this._pointerToPositionObject(t),n=this._getAllNodesOverlappingWith(i);return n.length>0?!0===e?this.body.nodes[n[n.length-1]]:n[n.length-1]:void 0}},{key:"_getEdgesOverlappingWith",value:function(t,e){for(var i=this.body.edges,n=0;n<this.body.edgeIndices.length;n++){var o=this.body.edgeIndices[n];i[o].isOverlappingWith(t)&&e.push(o)}}},{key:"_getAllEdgesOverlappingWith",value:function(t){var e=[];return this._getEdgesOverlappingWith(t,e),e}},{key:"getEdgeAt",value:function(t){for(var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this.canvas.DOMtoCanvas(t),n=10,o=null,r=this.body.edges,s=0;s<this.body.edgeIndices.length;s++){var a=this.body.edgeIndices[s],h=r[a];if(h.connected){var l=h.from.x,d=h.from.y,c=h.to.x,u=h.to.y,f=h.edgeType.getDistanceToEdge(l,d,c,u,i.x,i.y);f<n&&(o=a,n=f)}}return null!==o?!0===e?this.body.edges[o]:o:void 0}},{key:"_addToHover",value:function(t){t instanceof qP?this.hoverObj.nodes[t.id]=t:this.hoverObj.edges[t.id]=t}},{key:"_removeFromSelection",value:function(t){var e;t instanceof qP?(this._selectionAccumulator.deleteNodes(t),(e=this._selectionAccumulator).deleteEdges.apply(e,qu(t.edges))):this._selectionAccumulator.deleteEdges(t)}},{key:"unselectAll",value:function(){this._selectionAccumulator.clear()}},{key:"getSelectedNodeCount",value:function(){return this._selectionAccumulator.sizeNodes}},{key:"getSelectedEdgeCount",value:function(){return this._selectionAccumulator.sizeEdges}},{key:"_hoverConnectedEdges",value:function(t){for(var e=0;e<t.edges.length;e++){var i=t.edges[e];i.hover=!0,this._addToHover(i)}}},{key:"emitBlurEvent",value:function(t,e,i){var n=this._initBaseEvent(t,e);!0===i.hover&&(i.hover=!1,i instanceof qP?(n.node=i.id,this.body.emitter.emit("blurNode",n)):(n.edge=i.id,this.body.emitter.emit("blurEdge",n)))}},{key:"emitHoverEvent",value:function(t,e,i){var n=this._initBaseEvent(t,e),o=!1;return!1===i.hover&&(i.hover=!0,this._addToHover(i),o=!0,i instanceof qP?(n.node=i.id,this.body.emitter.emit("hoverNode",n)):(n.edge=i.id,this.body.emitter.emit("hoverEdge",n))),o}},{key:"hoverObject",value:function(t,e){var i=this.getNodeAt(e);void 0===i&&(i=this.getEdgeAt(e));var n=!1;for(var o in this.hoverObj.nodes)Object.prototype.hasOwnProperty.call(this.hoverObj.nodes,o)&&(void 0===i||i instanceof qP&&i.id!=o||i instanceof LD)&&(this.emitBlurEvent(t,e,this.hoverObj.nodes[o]),delete this.hoverObj.nodes[o],n=!0);for(var r in this.hoverObj.edges)Object.prototype.hasOwnProperty.call(this.hoverObj.edges,r)&&(!0===n?(this.hoverObj.edges[r].hover=!1,delete this.hoverObj.edges[r]):(void 0===i||i instanceof LD&&i.id!=r||i instanceof qP&&!i.hover)&&(this.emitBlurEvent(t,e,this.hoverObj.edges[r]),delete this.hoverObj.edges[r],n=!0));if(void 0!==i){var s=gf(this.hoverObj.edges).length,a=gf(this.hoverObj.nodes).length;(n||i instanceof LD&&0===s&&0===a||i instanceof qP&&0===s&&0===a)&&(n=this.emitHoverEvent(t,e,i)),i instanceof qP&&!0===this.options.hoverConnectedEdges&&this._hoverConnectedEdges(i)}!0===n&&this.body.emitter.emit("_requestRedraw")}},{key:"commitWithoutEmitting",value:function(){this._selectionAccumulator.commit()}},{key:"commitAndEmit",value:function(t,e){var i=!1,n=this._selectionAccumulator.commit(),o={nodes:n.nodes.previous,edges:n.edges.previous};n.edges.deleted.length>0&&(this.generateClickEvent("deselectEdge",e,t,o),i=!0),n.nodes.deleted.length>0&&(this.generateClickEvent("deselectNode",e,t,o),i=!0),n.nodes.added.length>0&&(this.generateClickEvent("selectNode",e,t),i=!0),n.edges.added.length>0&&(this.generateClickEvent("selectEdge",e,t),i=!0),!0===i&&this.generateClickEvent("select",e,t)}},{key:"getSelection",value:function(){return{nodes:this.getSelectedNodeIds(),edges:this.getSelectedEdgeIds()}}},{key:"getSelectedNodes",value:function(){return this._selectionAccumulator.getNodes()}},{key:"getSelectedEdges",value:function(){return this._selectionAccumulator.getEdges()}},{key:"getSelectedNodeIds",value:function(){var t;return ff(t=this._selectionAccumulator.getNodes()).call(t,(function(t){return t.id}))}},{key:"getSelectedEdgeIds",value:function(){var t;return ff(t=this._selectionAccumulator.getEdges()).call(t,(function(t){return t.id}))}},{key:"setSelection",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!t||!t.nodes&&!t.edges)throw new TypeError("Selection must be an object with nodes and/or edges properties");if((e.unselectAll||void 0===e.unselectAll)&&this.unselectAll(),t.nodes){var i,n=_B(t.nodes);try{for(n.s();!(i=n.n()).done;){var o=i.value,r=this.body.nodes[o];if(!r)throw new RangeError('Node with id "'+o+'" not found');this.selectObject(r,e.highlightEdges)}}catch(t){n.e(t)}finally{n.f()}}if(t.edges){var s,a=_B(t.edges);try{for(a.s();!(s=a.n()).done;){var h=s.value,l=this.body.edges[h];if(!l)throw new RangeError('Edge with id "'+h+'" not found');this.selectObject(l)}}catch(t){a.e(t)}finally{a.f()}}this.body.emitter.emit("_requestRedraw"),this._selectionAccumulator.commit()}},{key:"selectNodes",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(!t||void 0===t.length)throw"Selection must be an array with ids";this.setSelection({nodes:t},{highlightEdges:e})}},{key:"selectEdges",value:function(t){if(!t||void 0===t.length)throw"Selection must be an array with ids";this.setSelection({edges:t})}},{key:"updateSelection",value:function(){for(var t in this._selectionAccumulator.getNodes())Object.prototype.hasOwnProperty.call(this.body.nodes,t.id)||this._selectionAccumulator.deleteNodes(t);for(var e in this._selectionAccumulator.getEdges())Object.prototype.hasOwnProperty.call(this.body.edges,e.id)||this._selectionAccumulator.deleteEdges(e)}},{key:"getClickedItems",value:function(t){for(var e=this.canvas.DOMtoCanvas(t),i=[],n=this.body.nodeIndices,o=this.body.nodes,r=n.length-1;r>=0;r--){var s=o[n[r]].getItemsOnPoint(e);i.push.apply(i,s)}for(var a=this.body.edgeIndices,h=this.body.edges,l=a.length-1;l>=0;l--){var d=h[a[l]].getItemsOnPoint(e);i.push.apply(i,d)}return i}}]),t}();function OB(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var CB=function(){function t(){ch(this,t)}return pu(t,[{key:"abstract",value:function(){throw new Error("Can't instantiate abstract class!")}},{key:"fake_use",value:function(){}},{key:"curveType",value:function(){return this.abstract()}},{key:"getPosition",value:function(t){return this.fake_use(t),this.abstract()}},{key:"setPosition",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;this.fake_use(t,e,i),this.abstract()}},{key:"getTreeSize",value:function(t){return this.fake_use(t),this.abstract()}},{key:"sort",value:function(t){this.fake_use(t),this.abstract()}},{key:"fix",value:function(t,e){this.fake_use(t,e),this.abstract()}},{key:"shift",value:function(t,e){this.fake_use(t,e),this.abstract()}}]),t}(),SB=function(t){l_(i,t);var e=OB(i);function i(t){var n;return ch(this,i),(n=e.call(this)).layout=t,n}return pu(i,[{key:"curveType",value:function(){return"horizontal"}},{key:"getPosition",value:function(t){return t.x}},{key:"setPosition",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;void 0!==i&&this.layout.hierarchical.addToOrdering(t,i),t.x=e}},{key:"getTreeSize",value:function(t){var e=this.layout.hierarchical.getTreeSize(this.layout.body.nodes,t);return{min:e.min_x,max:e.max_x}}},{key:"sort",value:function(t){XS(t).call(t,(function(t,e){return t.x-e.x}))}},{key:"fix",value:function(t,e){t.y=this.layout.options.hierarchical.levelSeparation*e,t.options.fixed.y=!0}},{key:"shift",value:function(t,e){this.layout.body.nodes[t].x+=e}}]),i}(CB),TB=function(t){l_(i,t);var e=OB(i);function i(t){var n;return ch(this,i),(n=e.call(this)).layout=t,n}return pu(i,[{key:"curveType",value:function(){return"vertical"}},{key:"getPosition",value:function(t){return t.y}},{key:"setPosition",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;void 0!==i&&this.layout.hierarchical.addToOrdering(t,i),t.y=e}},{key:"getTreeSize",value:function(t){var e=this.layout.hierarchical.getTreeSize(this.layout.body.nodes,t);return{min:e.min_y,max:e.max_y}}},{key:"sort",value:function(t){t((function(t,e){return t.y-e.y}))}},{key:"fix",value:function(t,e){t.x=this.layout.options.hierarchical.levelSeparation*e,t.options.fixed.x=!0}},{key:"shift",value:function(t,e){this.layout.body.nodes[t].y+=e}}]),i}(CB),MB=Il.every;Si({target:"Array",proto:!0,forced:!_f("every")},{every:function(t){return MB(this,t,arguments.length>1?arguments[1]:void 0)}});var PB=Bn("Array").every,DB=at,IB=PB,BB=Array.prototype,NB=function(t){var e=t.every;return t===BB||DB(BB,t)&&e===BB.every?IB:e},FB=i(NB);function zB(t,e){var i=void 0!==Vu&&dh(t)||t["@@iterator"];if(!i){if(sf(t)||(i=function(t,e){var i;if(!t)return;if("string"==typeof t)return AB(t,e);var n=Zu(i=Object.prototype.toString.call(t)).call(i,8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Ua(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return AB(t,e)}(t))||e&&t&&"number"==typeof t.length){i&&(t=i);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}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 r,s=!0,a=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return s=t.done,t},e:function(t){a=!0,r=t},f:function(){try{s||null==i.return||i.return()}finally{if(a)throw r}}}}function AB(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}function jB(t,e){var i=new aS;return Bf(t).call(t,(function(t){var e;Bf(e=t.edges).call(e,(function(t){t.connected&&i.add(t)}))})),Bf(i).call(i,(function(t){var i=t.from.id,n=t.to.id;null==e[i]&&(e[i]=0),(null==e[n]||e[i]>=e[n])&&(e[n]=e[i]+1)})),e}function RB(t,e,i,n){var o,r,s=Uv(null),a=VC(o=qu(cT(n).call(n))).call(o,(function(t,e){return t+1+e.edges.length}),0),h=i+"Id",l="to"===i?1:-1,d=zB(n);try{var c=function(){var o=Wu(r.value,2),d=o[0],c=o[1];if(!n.has(d)||!t(c))return"continue";s[d]=0;for(var u,f=[c],p=0,v=function(){var t,o;if(!n.has(d))return"continue";var r=s[u.id]+l;if(Bf(t=Zp(o=u.edges).call(o,(function(t){return t.connected&&t.to!==t.from&&t[i]!==u&&n.has(t.toId)&&n.has(t.fromId)}))).call(t,(function(t){var n=t[h],o=s[n];(null==o||e(r,o))&&(s[n]=r,f.push(t[i]))})),p>a)return{v:{v:jB(n,s)}};++p};u=f.pop();){var g=v();if("continue"!==g&&"object"===du(g))return g.v}};for(d.s();!(r=d.n()).done;){var u=c();if("continue"!==u&&"object"===du(u))return u.v}}catch(t){d.e(t)}finally{d.f()}return s}var LB=function(){function t(){ch(this,t),this.childrenReference={},this.parentReference={},this.trees={},this.distributionOrdering={},this.levels={},this.distributionIndex={},this.isTree=!1,this.treeIndex=-1}return pu(t,[{key:"addRelation",value:function(t,e){void 0===this.childrenReference[t]&&(this.childrenReference[t]=[]),this.childrenReference[t].push(e),void 0===this.parentReference[e]&&(this.parentReference[e]=[]),this.parentReference[e].push(t)}},{key:"checkIfTree",value:function(){for(var t in this.parentReference)if(this.parentReference[t].length>1)return void(this.isTree=!1);this.isTree=!0}},{key:"numTrees",value:function(){return this.treeIndex+1}},{key:"setTreeIndex",value:function(t,e){void 0!==e&&void 0===this.trees[t.id]&&(this.trees[t.id]=e,this.treeIndex=Math.max(e,this.treeIndex))}},{key:"ensureLevel",value:function(t){void 0===this.levels[t]&&(this.levels[t]=0)}},{key:"getMaxLevel",value:function(t){var e=this,i={};return function t(n){if(void 0!==i[n])return i[n];var o=e.levels[n];if(e.childrenReference[n]){var r=e.childrenReference[n];if(r.length>0)for(var s=0;s<r.length;s++)o=Math.max(o,t(r[s]))}return i[n]=o,o}(t)}},{key:"levelDownstream",value:function(t,e){void 0===this.levels[e.id]&&(void 0===this.levels[t.id]&&(this.levels[t.id]=0),this.levels[e.id]=this.levels[t.id]+1)}},{key:"setMinLevelToZero",value:function(t){var e=1e9;for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&void 0!==this.levels[i]&&(e=Math.min(this.levels[i],e));for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&void 0!==this.levels[n]&&(this.levels[n]-=e)}},{key:"getTreeSize",value:function(t,e){var i=1e9,n=-1e9,o=1e9,r=-1e9;for(var s in this.trees)if(Object.prototype.hasOwnProperty.call(this.trees,s)&&this.trees[s]===e){var a=t[s];i=Math.min(a.x,i),n=Math.max(a.x,n),o=Math.min(a.y,o),r=Math.max(a.y,r)}return{min_x:i,max_x:n,min_y:o,max_y:r}}},{key:"hasSameParent",value:function(t,e){var i=this.parentReference[t.id],n=this.parentReference[e.id];if(void 0===i||void 0===n)return!1;for(var o=0;o<i.length;o++)for(var r=0;r<n.length;r++)if(i[o]==n[r])return!0;return!1}},{key:"inSameSubNetwork",value:function(t,e){return this.trees[t.id]===this.trees[e.id]}},{key:"getLevels",value:function(){return gf(this.distributionOrdering)}},{key:"addToOrdering",value:function(t,e){void 0===this.distributionOrdering[e]&&(this.distributionOrdering[e]=[]);var i=!1,n=this.distributionOrdering[e];for(var o in n)if(n[o]===t){i=!0;break}i||(this.distributionOrdering[e].push(t),this.distributionIndex[t.id]=this.distributionOrdering[e].length-1)}}]),t}(),HB=function(){function t(e){ch(this,t),this.body=e,this._resetRNG(Math.random()+":"+wf()),this.setPhysics=!1,this.options={},this.optionsBackup={physics:{}},this.defaultOptions={randomSeed:void 0,improvedLayout:!0,clusterThreshold:150,hierarchical:{enabled:!1,levelSeparation:150,nodeSpacing:100,treeSpacing:200,blockShifting:!0,edgeMinimization:!0,parentCentralization:!0,direction:"UD",sortMethod:"hubsize"}},mn(this.options,this.defaultOptions),this.bindEventListeners()}return pu(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("_dataChanged",(function(){t.setupHierarchicalLayout()})),this.body.emitter.on("_dataLoaded",(function(){t.layoutNetwork()})),this.body.emitter.on("_resetHierarchicalLayout",(function(){t.setupHierarchicalLayout()})),this.body.emitter.on("_adjustEdgesForHierarchicalLayout",(function(){if(!0===t.options.hierarchical.enabled){var e=t.direction.curveType();t.body.emitter.emit("_forceDisableDynamicCurves",e,!1)}}))}},{key:"setOptions",value:function(t,e){if(void 0!==t){var i=this.options.hierarchical,n=i.enabled;if(Um(["randomSeed","improvedLayout","clusterThreshold"],this.options,t),gb(this.options,t,"hierarchical"),void 0!==t.randomSeed&&this._resetRNG(t.randomSeed),!0===i.enabled)return!0===n&&this.body.emitter.emit("refresh",!0),"RL"===i.direction||"DU"===i.direction?i.levelSeparation>0&&(i.levelSeparation*=-1):i.levelSeparation<0&&(i.levelSeparation*=-1),this.setDirectionStrategy(),this.body.emitter.emit("_resetHierarchicalLayout"),this.adaptAllOptionsForHierarchicalLayout(e);if(!0===n)return this.body.emitter.emit("refresh"),Xm(e,this.optionsBackup)}return e}},{key:"_resetRNG",value:function(t){this.initialRandomSeed=t,this._rng=Pm(this.initialRandomSeed)}},{key:"adaptAllOptionsForHierarchicalLayout",value:function(t){if(!0===this.options.hierarchical.enabled){var e=this.optionsBackup.physics;void 0===t.physics||!0===t.physics?(t.physics={enabled:void 0===e.enabled||e.enabled,solver:"hierarchicalRepulsion"},e.enabled=void 0===e.enabled||e.enabled,e.solver=e.solver||"barnesHut"):"object"===du(t.physics)?(e.enabled=void 0===t.physics.enabled||t.physics.enabled,e.solver=t.physics.solver||"barnesHut",t.physics.solver="hierarchicalRepulsion"):!1!==t.physics&&(e.solver="barnesHut",t.physics={solver:"hierarchicalRepulsion"});var i=this.direction.curveType();if(void 0===t.edges)this.optionsBackup.edges={smooth:{enabled:!0,type:"dynamic"}},t.edges={smooth:!1};else if(void 0===t.edges.smooth)this.optionsBackup.edges={smooth:{enabled:!0,type:"dynamic"}},t.edges.smooth=!1;else if("boolean"==typeof t.edges.smooth)this.optionsBackup.edges={smooth:t.edges.smooth},t.edges.smooth={enabled:t.edges.smooth,type:i};else{var n=t.edges.smooth;void 0!==n.type&&"dynamic"!==n.type&&(i=n.type),this.optionsBackup.edges={smooth:{enabled:void 0===n.enabled||n.enabled,type:void 0===n.type?"dynamic":n.type,roundness:void 0===n.roundness?.5:n.roundness,forceDirection:void 0!==n.forceDirection&&n.forceDirection}},t.edges.smooth={enabled:void 0===n.enabled||n.enabled,type:i,roundness:void 0===n.roundness?.5:n.roundness,forceDirection:void 0!==n.forceDirection&&n.forceDirection}}this.body.emitter.emit("_forceDisableDynamicCurves",i)}return t}},{key:"positionInitially",value:function(t){if(!0!==this.options.hierarchical.enabled){this._resetRNG(this.initialRandomSeed);for(var e=t.length+50,i=0;i<t.length;i++){var n=t[i],o=2*Math.PI*this._rng();void 0===n.x&&(n.x=e*Math.cos(o)),void 0===n.y&&(n.y=e*Math.sin(o))}}}},{key:"layoutNetwork",value:function(){if(!0!==this.options.hierarchical.enabled&&!0===this.options.improvedLayout){for(var t=this.body.nodeIndices,e=0,i=0;i<t.length;i++){!0===this.body.nodes[t[i]].predefinedPosition&&(e+=1)}if(e<.5*t.length){var n=0,o=this.options.clusterThreshold,r={clusterNodeProperties:{shape:"ellipse",label:"",group:"",font:{multi:!1}},clusterEdgeProperties:{label:"",font:{multi:!1},smooth:{enabled:!1}}};if(t.length>o){for(var s=t.length;t.length>o&&n<=10;){n+=1;var a=t.length;if(n%3==0?this.body.modules.clustering.clusterBridges(r):this.body.modules.clustering.clusterOutliers(r),a==t.length&&n%3!=0)return this._declusterAll(),this.body.emitter.emit("_layoutFailed"),void console.info("This network could not be positioned by this version of the improved layout algorithm. Please disable improvedLayout for better performance.")}this.body.modules.kamadaKawai.setOptions({springLength:Math.max(150,2*s)})}n>10&&console.info("The clustering didn't succeed within the amount of interations allowed, progressing with partial result."),this.body.modules.kamadaKawai.solve(t,this.body.edgeIndices,!0),this._shiftToCenter();for(var h=0;h<t.length;h++){var l=this.body.nodes[t[h]];!1===l.predefinedPosition&&(l.x+=70*(.5-this._rng()),l.y+=70*(.5-this._rng()))}this._declusterAll(),this.body.emitter.emit("_repositionBezierNodes")}}}},{key:"_shiftToCenter",value:function(){for(var t=JD.getRangeCore(this.body.nodes,this.body.nodeIndices),e=JD.findCenter(t),i=0;i<this.body.nodeIndices.length;i++){var n=this.body.nodes[this.body.nodeIndices[i]];n.x-=e.x,n.y-=e.y}}},{key:"_declusterAll",value:function(){for(var t=!0;!0===t;){t=!1;for(var e=0;e<this.body.nodeIndices.length;e++)!0===this.body.nodes[this.body.nodeIndices[e]].isCluster&&(t=!0,this.body.modules.clustering.openCluster(this.body.nodeIndices[e],{},!1));!0===t&&this.body.emitter.emit("_dataChanged")}}},{key:"getSeed",value:function(){return this.initialRandomSeed}},{key:"setupHierarchicalLayout",value:function(){if(!0===this.options.hierarchical.enabled&&this.body.nodeIndices.length>0){var t,e,i=!1,n=!1;for(e in this.lastNodeOnLevel={},this.hierarchical=new LB,this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,e)&&(void 0!==(t=this.body.nodes[e]).options.level?(i=!0,this.hierarchical.levels[e]=t.options.level):n=!0);if(!0===n&&!0===i)throw new Error("To use the hierarchical layout, nodes require either no predefined levels or levels have to be defined for all nodes.");if(!0===n){var o=this.options.hierarchical.sortMethod;"hubsize"===o?this._determineLevelsByHubsize():"directed"===o?this._determineLevelsDirected():"custom"===o&&this._determineLevelsCustomCallback()}for(var r in this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,r)&&this.hierarchical.ensureLevel(r);var s=this._getDistribution();this._generateMap(),this._placeNodesByHierarchy(s),this._condenseHierarchy(),this._shiftToCenter()}}},{key:"_condenseHierarchy",value:function(){var t=this,e=!1,i={},n=function(e,i){var n=t.hierarchical.trees;for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&n[o]===e&&t.direction.shift(o,i)},o=function(){for(var e=[],i=0;i<t.hierarchical.numTrees();i++)e.push(t.direction.getTreeSize(i));return e},r=function e(i,n){if(!n[i.id]&&(n[i.id]=!0,t.hierarchical.childrenReference[i.id])){var o=t.hierarchical.childrenReference[i.id];if(o.length>0)for(var r=0;r<o.length;r++)e(t.body.nodes[o[r]],n)}},s=function(e){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e9,n=1e9,o=1e9,r=1e9,s=-1e9;for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){var h=t.body.nodes[a],l=t.hierarchical.levels[h.id],d=t.direction.getPosition(h),c=Wu(t._getSpaceAroundNode(h,e),2),u=c[0],f=c[1];n=Math.min(u,n),o=Math.min(f,o),l<=i&&(r=Math.min(d,r),s=Math.max(d,s))}return[r,s,n,o]},a=function(e,i,n){for(var o=t.hierarchical,r=0;r<i.length;r++){var s=i[r],a=o.distributionOrdering[s];if(a.length>1)for(var h=0;h<a.length-1;h++){var l=a[h],d=a[h+1];o.hasSameParent(l,d)&&o.inSameSubNetwork(l,d)&&e(l,d,n)}}},h=function(i,n){var o=arguments.length>2&&void 0!==arguments[2]&&arguments[2],a=t.direction.getPosition(i),h=t.direction.getPosition(n),l=Math.abs(h-a),d=t.options.hierarchical.nodeSpacing;if(l>d){var c={},u={};r(i,c),r(n,u);var f=function(e,i){var n=t.hierarchical.getMaxLevel(e.id),o=t.hierarchical.getMaxLevel(i.id);return Math.min(n,o)}(i,n),p=s(c,f),v=s(u,f),g=p[1],y=v[0],m=v[2];if(Math.abs(g-y)>d){var b=g-y+d;b<-m+d&&(b=-m+d),b<0&&(t._shiftBlock(n.id,b),e=!0,!0===o&&t._centerParent(n))}}},l=function(n,o){for(var a=o.id,h=o.edges,l=t.hierarchical.levels[o.id],d=t.options.hierarchical.levelSeparation*t.options.hierarchical.levelSeparation,c={},u=[],f=0;f<h.length;f++){var p=h[f];if(p.toId!=p.fromId){var v=p.toId==a?p.from:p.to;c[h[f].id]=v,t.hierarchical.levels[v.id]<l&&u.push(p)}}var g=function(e,i){for(var n=0,o=0;o<i.length;o++)if(void 0!==c[i[o].id]){var r=t.direction.getPosition(c[i[o].id])-e;n+=r/Math.sqrt(r*r+d)}return n},y=function(e,i){for(var n=0,o=0;o<i.length;o++)if(void 0!==c[i[o].id]){var r=t.direction.getPosition(c[i[o].id])-e;n-=d*Math.pow(r*r+d,-1.5)}return n},m=function(e,i){for(var n=t.direction.getPosition(o),r={},s=0;s<e;s++){var a=g(n,i),h=y(n,i);if(void 0!==r[n-=Math.max(-40,Math.min(40,Math.round(a/h)))])break;r[n]=s}return n},b=m(n,u);!function(n){var a=t.direction.getPosition(o);if(void 0===i[o.id]){var h={};r(o,h),i[o.id]=h}var l=s(i[o.id]),d=l[2],c=l[3],u=n-a,f=0;u>0?f=Math.min(u,c-t.options.hierarchical.nodeSpacing):u<0&&(f=-Math.min(-u,d-t.options.hierarchical.nodeSpacing)),0!=f&&(t._shiftBlock(o.id,f),e=!0)}(b),function(i){var n=t.direction.getPosition(o),r=Wu(t._getSpaceAroundNode(o),2),s=r[0],a=r[1],h=i-n,l=n;h>0?l=Math.min(n+(a-t.options.hierarchical.nodeSpacing),i):h<0&&(l=Math.max(n-(s-t.options.hierarchical.nodeSpacing),i)),l!==n&&(t.direction.setPosition(o,l),e=!0)}(b=m(n,h))};!0===this.options.hierarchical.blockShifting&&(function(i){var n=t.hierarchical.getLevels();n=Vf(n).call(n);for(var o=0;o<i&&(e=!1,a(h,n,!0),!0===e);o++);}(5),function(){for(var e in t.body.nodes)Object.prototype.hasOwnProperty.call(t.body.nodes,e)&&t._centerParent(t.body.nodes[e])}()),!0===this.options.hierarchical.edgeMinimization&&function(i){var n=t.hierarchical.getLevels();n=Vf(n).call(n);for(var o=0;o<i;o++){e=!1;for(var r=0;r<n.length;r++)for(var s=n[r],a=t.hierarchical.distributionOrdering[s],h=0;h<a.length;h++)l(1e3,a[h]);if(!0!==e)break}}(20),!0===this.options.hierarchical.parentCentralization&&function(){var e=t.hierarchical.getLevels();e=Vf(e).call(e);for(var i=0;i<e.length;i++)for(var n=e[i],o=t.hierarchical.distributionOrdering[n],r=0;r<o.length;r++)t._centerParent(o[r])}(),function(){for(var e=o(),i=0,r=0;r<e.length-1;r++){i+=e[r].max-e[r+1].min+t.options.hierarchical.treeSpacing,n(r+1,i)}}()}},{key:"_getSpaceAroundNode",value:function(t,e){var i=!0;void 0===e&&(i=!1);var n=this.hierarchical.levels[t.id];if(void 0!==n){var o=this.hierarchical.distributionIndex[t.id],r=this.direction.getPosition(t),s=this.hierarchical.distributionOrdering[n],a=1e9,h=1e9;if(0!==o){var l=s[o-1];if(!0===i&&void 0===e[l.id]||!1===i)a=r-this.direction.getPosition(l)}if(o!=s.length-1){var d=s[o+1];if(!0===i&&void 0===e[d.id]||!1===i){var c=this.direction.getPosition(d);h=Math.min(h,c-r)}}return[a,h]}return[0,0]}},{key:"_centerParent",value:function(t){if(this.hierarchical.parentReference[t.id])for(var e=this.hierarchical.parentReference[t.id],i=0;i<e.length;i++){var n=e[i],o=this.body.nodes[n],r=this.hierarchical.childrenReference[n];if(void 0!==r){var s=this._getCenterPosition(r),a=this.direction.getPosition(o),h=Wu(this._getSpaceAroundNode(o),2),l=h[0],d=h[1],c=a-s;(c<0&&Math.abs(c)<d-this.options.hierarchical.nodeSpacing||c>0&&Math.abs(c)<l-this.options.hierarchical.nodeSpacing)&&this.direction.setPosition(o,s)}}}},{key:"_placeNodesByHierarchy",value:function(t){for(var e in this.positionedNodes={},t)if(Object.prototype.hasOwnProperty.call(t,e)){var i,n=gf(t[e]);n=this._indexArrayToNodes(n),XS(i=this.direction).call(i,n);for(var o=0,r=0;r<n.length;r++){var s=n[r];if(void 0===this.positionedNodes[s.id]){var a=this.options.hierarchical.nodeSpacing,h=a*o;o>0&&(h=this.direction.getPosition(n[r-1])+a),this.direction.setPosition(s,h,e),this._validatePositionAndContinue(s,e,h),o++}}}}},{key:"_placeBranchNodes",value:function(t,e){var i,n=this.hierarchical.childrenReference[t];if(void 0!==n){for(var o=[],r=0;r<n.length;r++)o.push(this.body.nodes[n[r]]);XS(i=this.direction).call(i,o);for(var s=0;s<o.length;s++){var a=o[s],h=this.hierarchical.levels[a.id];if(!(h>e&&void 0===this.positionedNodes[a.id]))return;var l=this.options.hierarchical.nodeSpacing,d=void 0;d=0===s?this.direction.getPosition(this.body.nodes[t]):this.direction.getPosition(o[s-1])+l,this.direction.setPosition(a,d,h),this._validatePositionAndContinue(a,h,d)}var c=this._getCenterPosition(o);this.direction.setPosition(this.body.nodes[t],c,e)}}},{key:"_validatePositionAndContinue",value:function(t,e,i){if(this.hierarchical.isTree){if(void 0!==this.lastNodeOnLevel[e]){var n=this.direction.getPosition(this.body.nodes[this.lastNodeOnLevel[e]]);if(i-n<this.options.hierarchical.nodeSpacing){var o=n+this.options.hierarchical.nodeSpacing-i,r=this._findCommonParent(this.lastNodeOnLevel[e],t.id);this._shiftBlock(r.withChild,o)}}this.lastNodeOnLevel[e]=t.id,this.positionedNodes[t.id]=!0,this._placeBranchNodes(t.id,e)}}},{key:"_indexArrayToNodes",value:function(t){for(var e=[],i=0;i<t.length;i++)e.push(this.body.nodes[t[i]]);return e}},{key:"_getDistribution",value:function(){var t,e,i={};for(t in this.body.nodes)if(Object.prototype.hasOwnProperty.call(this.body.nodes,t)){e=this.body.nodes[t];var n=void 0===this.hierarchical.levels[t]?0:this.hierarchical.levels[t];this.direction.fix(e,n),void 0===i[n]&&(i[n]={}),i[n][t]=e}return i}},{key:"_getActiveEdges",value:function(t){var e=this,i=[];return Qm(t.edges,(function(t){var n;-1!==Lv(n=e.body.edgeIndices).call(n,t.id)&&i.push(t)})),i}},{key:"_getHubSizes",value:function(){var t=this,e={};Qm(this.body.nodeIndices,(function(i){var n=t.body.nodes[i],o=t._getActiveEdges(n).length;e[o]=!0}));var i=[];return Qm(e,(function(t){i.push(Number(t))})),XS(i).call(i,(function(t,e){return e-t})),i}},{key:"_determineLevelsByHubsize",value:function(){for(var t=this,e=function(e,i){t.hierarchical.levelDownstream(e,i)},i=this._getHubSizes(),n=function(){var n=i[o];if(0===n)return"break";Qm(t.body.nodeIndices,(function(i){var o=t.body.nodes[i];n===t._getActiveEdges(o).length&&t._crawlNetwork(e,i)}))},o=0;o<i.length;++o){if("break"===n())break}}},{key:"_determineLevelsCustomCallback",value:function(){var t=this;this._crawlNetwork((function(e,i,n){var o=t.hierarchical.levels[e.id];void 0===o&&(o=t.hierarchical.levels[e.id]=1e5);var r=(JD.cloneOptions(e,"node"),JD.cloneOptions(i,"node"),void JD.cloneOptions(n,"edge"));t.hierarchical.levels[i.id]=o+r})),this.hierarchical.setMinLevelToZero(this.body.nodes)}},{key:"_determineLevelsDirected",value:function(){var t,e=this,i=VC(t=this.body.nodeIndices).call(t,(function(t,i){return t.set(i,e.body.nodes[i]),t}),new qk);"roots"===this.options.hierarchical.shakeTowards?this.hierarchical.levels=function(t){return RB((function(e){var i,n;return FB(i=Zp(n=e.edges).call(n,(function(e){return t.has(e.toId)}))).call(i,(function(t){return t.from===e}))}),(function(t,e){return e<t}),"to",t)}(i):this.hierarchical.levels=function(t){return RB((function(e){var i,n;return FB(i=Zp(n=e.edges).call(n,(function(e){return t.has(e.toId)}))).call(i,(function(t){return t.to===e}))}),(function(t,e){return e>t}),"from",t)}(i),this.hierarchical.setMinLevelToZero(this.body.nodes)}},{key:"_generateMap",value:function(){var t=this;this._crawlNetwork((function(e,i){t.hierarchical.levels[i.id]>t.hierarchical.levels[e.id]&&t.hierarchical.addRelation(e.id,i.id)})),this.hierarchical.checkIfTree()}},{key:"_crawlNetwork",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){},i=arguments.length>1?arguments[1]:void 0,n={},o=function i(o,r){if(void 0===n[o.id]){var s;t.hierarchical.setTreeIndex(o,r),n[o.id]=!0;for(var a=t._getActiveEdges(o),h=0;h<a.length;h++){var l=a[h];!0===l.connected&&(s=l.toId==o.id?l.from:l.to,o.id!=s.id&&(e(o,s,l),i(s,r)))}}};if(void 0===i)for(var r=0,s=0;s<this.body.nodeIndices.length;s++){var a=this.body.nodeIndices[s];if(void 0===n[a])o(this.body.nodes[a],r),r+=1}else{var h=this.body.nodes[i];if(void 0===h)return void console.error("Node not found:",i);o(h)}}},{key:"_shiftBlock",value:function(t,e){var i=this,n={};!function t(o){if(!n[o]){n[o]=!0,i.direction.shift(o,e);var r=i.hierarchical.childrenReference[o];if(void 0!==r)for(var s=0;s<r.length;s++)t(r[s])}}(t)}},{key:"_findCommonParent",value:function(t,e){var i=this,n={};return function t(e,n){var o=i.hierarchical.parentReference[n];if(void 0!==o)for(var r=0;r<o.length;r++){var s=o[r];e[s]=!0,t(e,s)}}(n,t),function t(e,n){var o=i.hierarchical.parentReference[n];if(void 0!==o)for(var r=0;r<o.length;r++){var s=o[r];if(void 0!==e[s])return{foundParent:s,withChild:n};var a=t(e,s);if(null!==a.foundParent)return a}return{foundParent:null,withChild:n}}(n,e)}},{key:"setDirectionStrategy",value:function(){var t="UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction;this.direction=t?new SB(this):new TB(this)}},{key:"_getCenterPosition",value:function(t){for(var e=1e9,i=-1e9,n=0;n<t.length;n++){var o=void 0;if(void 0!==t[n].id)o=t[n];else{var r=t[n];o=this.body.nodes[r]}var s=this.direction.getPosition(o);e=Math.min(e,s),i=Math.max(i,s)}return.5*(e+i)}}]),t}();function WB(t,e){var i=void 0!==Vu&&dh(t)||t["@@iterator"];if(!i){if(sf(t)||(i=function(t,e){var i;if(!t)return;if("string"==typeof t)return qB(t,e);var n=Zu(i=Object.prototype.toString.call(t)).call(i,8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Ua(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return qB(t,e)}(t))||e&&t&&"number"==typeof t.length){i&&(t=i);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}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 r,s=!0,a=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return s=t.done,t},e:function(t){a=!0,r=t},f:function(){try{s||null==i.return||i.return()}finally{if(a)throw r}}}}function qB(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}var VB=function(){function t(e,i,n,o){var r,s,a=this;ch(this,t),this.body=e,this.canvas=i,this.selectionHandler=n,this.interactionHandler=o,this.editMode=!1,this.manipulationDiv=void 0,this.editModeDiv=void 0,this.closeDiv=void 0,this._domEventListenerCleanupQueue=[],this.temporaryUIFunctions={},this.temporaryEventFunctions=[],this.touchTime=0,this.temporaryIds={nodes:[],edges:[]},this.guiEnabled=!1,this.inMode=!1,this.selectedControlNode=void 0,this.options={},this.defaultOptions={enabled:!1,initiallyActive:!1,addNode:!0,addEdge:!0,editNode:void 0,editEdge:!0,deleteNode:!0,deleteEdge:!0,controlNodeStyle:{shape:"dot",size:6,color:{background:"#ff0000",border:"#3c3c3c",highlight:{background:"#07f968",border:"#3c3c3c"}},borderWidth:2,borderWidthSelected:2}},mn(this.options,this.defaultOptions),this.body.emitter.on("destroy",(function(){a._clean()})),this.body.emitter.on("_dataChanged",Ln(r=this._restore).call(r,this)),this.body.emitter.on("_resetData",Ln(s=this._restore).call(s,this))}return pu(t,[{key:"_restore",value:function(){!1!==this.inMode&&(!0===this.options.initiallyActive?this.enableEditMode():this.disableEditMode())}},{key:"setOptions",value:function(t,e,i){void 0!==e&&(void 0!==e.locale?this.options.locale=e.locale:this.options.locale=i.locale,void 0!==e.locales?this.options.locales=e.locales:this.options.locales=i.locales),void 0!==t&&("boolean"==typeof t?this.options.enabled=t:(this.options.enabled=!0,Xm(this.options,t)),!0===this.options.initiallyActive&&(this.editMode=!0),this._setup())}},{key:"toggleEditMode",value:function(){!0===this.editMode?this.disableEditMode():this.enableEditMode()}},{key:"enableEditMode",value:function(){this.editMode=!0,this._clean(),!0===this.guiEnabled&&(this.manipulationDiv.style.display="block",this.closeDiv.style.display="block",this.editModeDiv.style.display="none",this.showManipulatorToolbar())}},{key:"disableEditMode",value:function(){this.editMode=!1,this._clean(),!0===this.guiEnabled&&(this.manipulationDiv.style.display="none",this.closeDiv.style.display="none",this.editModeDiv.style.display="block",this._createEditButton())}},{key:"showManipulatorToolbar",value:function(){if(this._clean(),this.manipulationDOM={},!0===this.guiEnabled){var t,e;this.editMode=!0,this.manipulationDiv.style.display="block",this.closeDiv.style.display="block";var i=this.selectionHandler.getSelectedNodeCount(),n=this.selectionHandler.getSelectedEdgeCount(),o=i+n,r=this.options.locales[this.options.locale],s=!1;!1!==this.options.addNode&&(this._createAddNodeButton(r),s=!0),!1!==this.options.addEdge&&(!0===s?this._createSeperator(1):s=!0,this._createAddEdgeButton(r)),1===i&&"function"==typeof this.options.editNode?(!0===s?this._createSeperator(2):s=!0,this._createEditNodeButton(r)):1===n&&0===i&&!1!==this.options.editEdge&&(!0===s?this._createSeperator(3):s=!0,this._createEditEdgeButton(r)),0!==o&&(i>0&&!1!==this.options.deleteNode||0===i&&!1!==this.options.deleteEdge)&&(!0===s&&this._createSeperator(4),this._createDeleteButton(r)),this._bindElementEvents(this.closeDiv,Ln(t=this.toggleEditMode).call(t,this)),this._temporaryBindEvent("select",Ln(e=this.showManipulatorToolbar).call(e,this))}this.body.emitter.emit("_redraw")}},{key:"addNodeMode",value:function(){var t;if(!0!==this.editMode&&this.enableEditMode(),this._clean(),this.inMode="addNode",!0===this.guiEnabled){var e,i=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(i),this._createSeperator(),this._createDescription(i.addDescription||this.options.locales.en.addDescription),this._bindElementEvents(this.closeDiv,Ln(e=this.toggleEditMode).call(e,this))}this._temporaryBindEvent("click",Ln(t=this._performAddNode).call(t,this))}},{key:"editNode",value:function(){var t=this;!0!==this.editMode&&this.enableEditMode(),this._clean();var e=this.selectionHandler.getSelectedNodes()[0];if(void 0!==e){if(this.inMode="editNode","function"!=typeof this.options.editNode)throw new Error("No function has been configured to handle the editing of nodes.");if(!0!==e.isCluster){var i=Xm({},e.options,!1);if(i.x=e.x,i.y=e.y,2!==this.options.editNode.length)throw new Error("The function for edit does not support two arguments (data, callback)");this.options.editNode(i,(function(e){null!=e&&"editNode"===t.inMode&&t.body.data.nodes.getDataSet().update(e),t.showManipulatorToolbar()}))}else alert(this.options.locales[this.options.locale].editClusterError||this.options.locales.en.editClusterError)}else this.showManipulatorToolbar()}},{key:"addEdgeMode",value:function(){var t,e,i,n,o;if(!0!==this.editMode&&this.enableEditMode(),this._clean(),this.inMode="addEdge",!0===this.guiEnabled){var r,s=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(s),this._createSeperator(),this._createDescription(s.edgeDescription||this.options.locales.en.edgeDescription),this._bindElementEvents(this.closeDiv,Ln(r=this.toggleEditMode).call(r,this))}this._temporaryBindUI("onTouch",Ln(t=this._handleConnect).call(t,this)),this._temporaryBindUI("onDragEnd",Ln(e=this._finishConnect).call(e,this)),this._temporaryBindUI("onDrag",Ln(i=this._dragControlNode).call(i,this)),this._temporaryBindUI("onRelease",Ln(n=this._finishConnect).call(n,this)),this._temporaryBindUI("onDragStart",Ln(o=this._dragStartEdge).call(o,this)),this._temporaryBindUI("onHold",(function(){}))}},{key:"editEdgeMode",value:function(){if(!0!==this.editMode&&this.enableEditMode(),this._clean(),this.inMode="editEdge","object"!==du(this.options.editEdge)||"function"!=typeof this.options.editEdge.editWithoutDrag||(this.edgeBeingEditedId=this.selectionHandler.getSelectedEdgeIds()[0],void 0===this.edgeBeingEditedId)){if(!0===this.guiEnabled){var t,e=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(e),this._createSeperator(),this._createDescription(e.editEdgeDescription||this.options.locales.en.editEdgeDescription),this._bindElementEvents(this.closeDiv,Ln(t=this.toggleEditMode).call(t,this))}if(this.edgeBeingEditedId=this.selectionHandler.getSelectedEdgeIds()[0],void 0!==this.edgeBeingEditedId){var i,n,o,r,s=this.body.edges[this.edgeBeingEditedId],a=this._getNewTargetNode(s.from.x,s.from.y),h=this._getNewTargetNode(s.to.x,s.to.y);this.temporaryIds.nodes.push(a.id),this.temporaryIds.nodes.push(h.id),this.body.nodes[a.id]=a,this.body.nodeIndices.push(a.id),this.body.nodes[h.id]=h,this.body.nodeIndices.push(h.id),this._temporaryBindUI("onTouch",Ln(i=this._controlNodeTouch).call(i,this)),this._temporaryBindUI("onTap",(function(){})),this._temporaryBindUI("onHold",(function(){})),this._temporaryBindUI("onDragStart",Ln(n=this._controlNodeDragStart).call(n,this)),this._temporaryBindUI("onDrag",Ln(o=this._controlNodeDrag).call(o,this)),this._temporaryBindUI("onDragEnd",Ln(r=this._controlNodeDragEnd).call(r,this)),this._temporaryBindUI("onMouseMove",(function(){})),this._temporaryBindEvent("beforeDrawing",(function(t){var e=s.edgeType.findBorderPositions(t);!1===a.selected&&(a.x=e.from.x,a.y=e.from.y),!1===h.selected&&(h.x=e.to.x,h.y=e.to.y)})),this.body.emitter.emit("_redraw")}else this.showManipulatorToolbar()}else{var l=this.body.edges[this.edgeBeingEditedId];this._performEditEdge(l.from.id,l.to.id)}}},{key:"deleteSelected",value:function(){var t=this;!0!==this.editMode&&this.enableEditMode(),this._clean(),this.inMode="delete";var e=this.selectionHandler.getSelectedNodeIds(),i=this.selectionHandler.getSelectedEdgeIds(),n=void 0;if(e.length>0){for(var o=0;o<e.length;o++)if(!0===this.body.nodes[e[o]].isCluster)return void alert(this.options.locales[this.options.locale].deleteClusterError||this.options.locales.en.deleteClusterError);"function"==typeof this.options.deleteNode&&(n=this.options.deleteNode)}else i.length>0&&"function"==typeof this.options.deleteEdge&&(n=this.options.deleteEdge);if("function"==typeof n){var r={nodes:e,edges:i};if(2!==n.length)throw new Error("The function for delete does not support two arguments (data, callback)");n(r,(function(e){null!=e&&"delete"===t.inMode?(t.body.data.edges.getDataSet().remove(e.edges),t.body.data.nodes.getDataSet().remove(e.nodes),t.body.emitter.emit("startSimulation"),t.showManipulatorToolbar()):(t.body.emitter.emit("startSimulation"),t.showManipulatorToolbar())}))}else this.body.data.edges.getDataSet().remove(i),this.body.data.nodes.getDataSet().remove(e),this.body.emitter.emit("startSimulation"),this.showManipulatorToolbar()}},{key:"_setup",value:function(){!0===this.options.enabled?(this.guiEnabled=!0,this._createWrappers(),!1===this.editMode?this._createEditButton():this.showManipulatorToolbar()):(this._removeManipulationDOM(),this.guiEnabled=!1)}},{key:"_createWrappers",value:function(){var t,e;(void 0===this.manipulationDiv&&(this.manipulationDiv=document.createElement("div"),this.manipulationDiv.className="vis-manipulation",!0===this.editMode?this.manipulationDiv.style.display="block":this.manipulationDiv.style.display="none",this.canvas.frame.appendChild(this.manipulationDiv)),void 0===this.editModeDiv&&(this.editModeDiv=document.createElement("div"),this.editModeDiv.className="vis-edit-mode",!0===this.editMode?this.editModeDiv.style.display="none":this.editModeDiv.style.display="block",this.canvas.frame.appendChild(this.editModeDiv)),void 0===this.closeDiv)&&(this.closeDiv=document.createElement("button"),this.closeDiv.className="vis-close",this.closeDiv.setAttribute("aria-label",null!==(t=null===(e=this.options.locales[this.options.locale])||void 0===e?void 0:e.close)&&void 0!==t?t:this.options.locales.en.close),this.closeDiv.style.display=this.manipulationDiv.style.display,this.canvas.frame.appendChild(this.closeDiv))}},{key:"_getNewTargetNode",value:function(t,e){var i=Xm({},this.options.controlNodeStyle);i.id="targetNode"+uM(),i.hidden=!1,i.physics=!1,i.x=t,i.y=e;var n=this.body.functions.createNode(i);return n.shape.boundingBox={left:t,right:t,top:e,bottom:e},n}},{key:"_createEditButton",value:function(){var t;this._clean(),this.manipulationDOM={},Rm(this.editModeDiv);var e=this.options.locales[this.options.locale],i=this._createButton("editMode","vis-edit vis-edit-mode",e.edit||this.options.locales.en.edit);this.editModeDiv.appendChild(i),this._bindElementEvents(i,Ln(t=this.toggleEditMode).call(t,this))}},{key:"_clean",value:function(){this.inMode=!1,!0===this.guiEnabled&&(Rm(this.editModeDiv),Rm(this.manipulationDiv),this._cleanupDOMEventListeners()),this._cleanupTemporaryNodesAndEdges(),this._unbindTemporaryUIs(),this._unbindTemporaryEvents(),this.body.emitter.emit("restorePhysics")}},{key:"_cleanupDOMEventListeners",value:function(){var t,e,i=WB(yp(t=this._domEventListenerCleanupQueue).call(t,0));try{for(i.s();!(e=i.n()).done;){(0,e.value)()}}catch(t){i.e(t)}finally{i.f()}}},{key:"_removeManipulationDOM",value:function(){this._clean(),Rm(this.manipulationDiv),Rm(this.editModeDiv),Rm(this.closeDiv),this.manipulationDiv&&this.canvas.frame.removeChild(this.manipulationDiv),this.editModeDiv&&this.canvas.frame.removeChild(this.editModeDiv),this.closeDiv&&this.canvas.frame.removeChild(this.closeDiv),this.manipulationDiv=void 0,this.editModeDiv=void 0,this.closeDiv=void 0}},{key:"_createSeperator",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;this.manipulationDOM["seperatorLineDiv"+t]=document.createElement("div"),this.manipulationDOM["seperatorLineDiv"+t].className="vis-separator-line",this.manipulationDiv.appendChild(this.manipulationDOM["seperatorLineDiv"+t])}},{key:"_createAddNodeButton",value:function(t){var e,i=this._createButton("addNode","vis-add",t.addNode||this.options.locales.en.addNode);this.manipulationDiv.appendChild(i),this._bindElementEvents(i,Ln(e=this.addNodeMode).call(e,this))}},{key:"_createAddEdgeButton",value:function(t){var e,i=this._createButton("addEdge","vis-connect",t.addEdge||this.options.locales.en.addEdge);this.manipulationDiv.appendChild(i),this._bindElementEvents(i,Ln(e=this.addEdgeMode).call(e,this))}},{key:"_createEditNodeButton",value:function(t){var e,i=this._createButton("editNode","vis-edit",t.editNode||this.options.locales.en.editNode);this.manipulationDiv.appendChild(i),this._bindElementEvents(i,Ln(e=this.editNode).call(e,this))}},{key:"_createEditEdgeButton",value:function(t){var e,i=this._createButton("editEdge","vis-edit",t.editEdge||this.options.locales.en.editEdge);this.manipulationDiv.appendChild(i),this._bindElementEvents(i,Ln(e=this.editEdgeMode).call(e,this))}},{key:"_createDeleteButton",value:function(t){var e,i;i=this.options.rtl?"vis-delete-rtl":"vis-delete";var n=this._createButton("delete",i,t.del||this.options.locales.en.del);this.manipulationDiv.appendChild(n),this._bindElementEvents(n,Ln(e=this.deleteSelected).call(e,this))}},{key:"_createBackButton",value:function(t){var e,i=this._createButton("back","vis-back",t.back||this.options.locales.en.back);this.manipulationDiv.appendChild(i),this._bindElementEvents(i,Ln(e=this.showManipulatorToolbar).call(e,this))}},{key:"_createButton",value:function(t,e,i){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"vis-label";return this.manipulationDOM[t+"Div"]=document.createElement("button"),this.manipulationDOM[t+"Div"].className="vis-button "+e,this.manipulationDOM[t+"Label"]=document.createElement("div"),this.manipulationDOM[t+"Label"].className=n,this.manipulationDOM[t+"Label"].innerText=i,this.manipulationDOM[t+"Div"].appendChild(this.manipulationDOM[t+"Label"]),this.manipulationDOM[t+"Div"]}},{key:"_createDescription",value:function(t){this.manipulationDOM.descriptionLabel=document.createElement("div"),this.manipulationDOM.descriptionLabel.className="vis-none",this.manipulationDOM.descriptionLabel.innerText=t,this.manipulationDiv.appendChild(this.manipulationDOM.descriptionLabel)}},{key:"_temporaryBindEvent",value:function(t,e){this.temporaryEventFunctions.push({event:t,boundFunction:e}),this.body.emitter.on(t,e)}},{key:"_temporaryBindUI",value:function(t,e){if(void 0===this.body.eventListeners[t])throw new Error("This UI function does not exist. Typo? You tried: "+t+" possible are: "+Kv(gf(this.body.eventListeners)));this.temporaryUIFunctions[t]=this.body.eventListeners[t],this.body.eventListeners[t]=e}},{key:"_unbindTemporaryUIs",value:function(){for(var t in this.temporaryUIFunctions)Object.prototype.hasOwnProperty.call(this.temporaryUIFunctions,t)&&(this.body.eventListeners[t]=this.temporaryUIFunctions[t],delete this.temporaryUIFunctions[t]);this.temporaryUIFunctions={}}},{key:"_unbindTemporaryEvents",value:function(){for(var t=0;t<this.temporaryEventFunctions.length;t++){var e=this.temporaryEventFunctions[t].event,i=this.temporaryEventFunctions[t].boundFunction;this.body.emitter.off(e,i)}this.temporaryEventFunctions=[]}},{key:"_bindElementEvents",value:function(t,e){var i=new Db(t,{});rI(i,e),this._domEventListenerCleanupQueue.push((function(){i.destroy()}));var n=function(t){var i=t.keyCode,n=t.key;"Enter"!==n&&" "!==n&&13!==i&&32!==i||e()};t.addEventListener("keyup",n,!1),this._domEventListenerCleanupQueue.push((function(){t.removeEventListener("keyup",n,!1)}))}},{key:"_cleanupTemporaryNodesAndEdges",value:function(){for(var t=0;t<this.temporaryIds.edges.length;t++){var e;this.body.edges[this.temporaryIds.edges[t]].disconnect(),delete this.body.edges[this.temporaryIds.edges[t]];var i,n=Lv(e=this.body.edgeIndices).call(e,this.temporaryIds.edges[t]);if(-1!==n)yp(i=this.body.edgeIndices).call(i,n,1)}for(var o=0;o<this.temporaryIds.nodes.length;o++){var r;delete this.body.nodes[this.temporaryIds.nodes[o]];var s,a=Lv(r=this.body.nodeIndices).call(r,this.temporaryIds.nodes[o]);if(-1!==a)yp(s=this.body.nodeIndices).call(s,a,1)}this.temporaryIds={nodes:[],edges:[]}}},{key:"_controlNodeTouch",value:function(t){this.selectionHandler.unselectAll(),this.lastTouch=this.body.functions.getPointer(t.center),this.lastTouch.translation=mn({},this.body.view.translation)}},{key:"_controlNodeDragStart",value:function(){var t=this.lastTouch,e=this.selectionHandler._pointerToPositionObject(t),i=this.body.nodes[this.temporaryIds.nodes[0]],n=this.body.nodes[this.temporaryIds.nodes[1]],o=this.body.edges[this.edgeBeingEditedId];this.selectedControlNode=void 0;var r=i.isOverlappingWith(e),s=n.isOverlappingWith(e);!0===r?(this.selectedControlNode=i,o.edgeType.from=i):!0===s&&(this.selectedControlNode=n,o.edgeType.to=n),void 0!==this.selectedControlNode&&this.selectionHandler.selectObject(this.selectedControlNode),this.body.emitter.emit("_redraw")}},{key:"_controlNodeDrag",value:function(t){this.body.emitter.emit("disablePhysics");var e=this.body.functions.getPointer(t.center),i=this.canvas.DOMtoCanvas(e);void 0!==this.selectedControlNode?(this.selectedControlNode.x=i.x,this.selectedControlNode.y=i.y):this.interactionHandler.onDrag(t),this.body.emitter.emit("_redraw")}},{key:"_controlNodeDragEnd",value:function(t){var e=this.body.functions.getPointer(t.center),i=this.selectionHandler._pointerToPositionObject(e),n=this.body.edges[this.edgeBeingEditedId];if(void 0!==this.selectedControlNode){this.selectionHandler.unselectAll();for(var o=this.selectionHandler._getAllNodesOverlappingWith(i),r=void 0,s=o.length-1;s>=0;s--)if(o[s]!==this.selectedControlNode.id){r=this.body.nodes[o[s]];break}if(void 0!==r&&void 0!==this.selectedControlNode)if(!0===r.isCluster)alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError);else{var a=this.body.nodes[this.temporaryIds.nodes[0]];this.selectedControlNode.id===a.id?this._performEditEdge(r.id,n.to.id):this._performEditEdge(n.from.id,r.id)}else n.updateEdgeType(),this.body.emitter.emit("restorePhysics");this.body.emitter.emit("_redraw")}}},{key:"_handleConnect",value:function(t){if((new Date).valueOf()-this.touchTime>100){this.lastTouch=this.body.functions.getPointer(t.center),this.lastTouch.translation=mn({},this.body.view.translation),this.interactionHandler.drag.pointer=this.lastTouch,this.interactionHandler.drag.translation=this.lastTouch.translation;var e=this.lastTouch,i=this.selectionHandler.getNodeAt(e);if(void 0!==i)if(!0===i.isCluster)alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError);else{var n=this._getNewTargetNode(i.x,i.y);this.body.nodes[n.id]=n,this.body.nodeIndices.push(n.id);var o=this.body.functions.createEdge({id:"connectionEdge"+uM(),from:i.id,to:n.id,physics:!1,smooth:{enabled:!0,type:"continuous",roundness:.5}});this.body.edges[o.id]=o,this.body.edgeIndices.push(o.id),this.temporaryIds.nodes.push(n.id),this.temporaryIds.edges.push(o.id)}this.touchTime=(new Date).valueOf()}}},{key:"_dragControlNode",value:function(t){var e=this.body.functions.getPointer(t.center),i=this.selectionHandler._pointerToPositionObject(e),n=void 0;void 0!==this.temporaryIds.edges[0]&&(n=this.body.edges[this.temporaryIds.edges[0]].fromId);for(var o=this.selectionHandler._getAllNodesOverlappingWith(i),r=void 0,s=o.length-1;s>=0;s--){var a;if(-1===Lv(a=this.temporaryIds.nodes).call(a,o[s])){r=this.body.nodes[o[s]];break}}if(t.controlEdge={from:n,to:r?r.id:void 0},this.selectionHandler.generateClickEvent("controlNodeDragging",t,e),void 0!==this.temporaryIds.nodes[0]){var h=this.body.nodes[this.temporaryIds.nodes[0]];h.x=this.canvas._XconvertDOMtoCanvas(e.x),h.y=this.canvas._YconvertDOMtoCanvas(e.y),this.body.emitter.emit("_redraw")}else this.interactionHandler.onDrag(t)}},{key:"_finishConnect",value:function(t){var e=this.body.functions.getPointer(t.center),i=this.selectionHandler._pointerToPositionObject(e),n=void 0;void 0!==this.temporaryIds.edges[0]&&(n=this.body.edges[this.temporaryIds.edges[0]].fromId);for(var o=this.selectionHandler._getAllNodesOverlappingWith(i),r=void 0,s=o.length-1;s>=0;s--){var a;if(-1===Lv(a=this.temporaryIds.nodes).call(a,o[s])){r=this.body.nodes[o[s]];break}}this._cleanupTemporaryNodesAndEdges(),void 0!==r&&(!0===r.isCluster?alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError):void 0!==this.body.nodes[n]&&void 0!==this.body.nodes[r.id]&&this._performAddEdge(n,r.id)),t.controlEdge={from:n,to:r?r.id:void 0},this.selectionHandler.generateClickEvent("controlNodeDragEnd",t,e),this.body.emitter.emit("_redraw")}},{key:"_dragStartEdge",value:function(t){var e=this.lastTouch;this.selectionHandler.generateClickEvent("dragStart",t,e,void 0,!0)}},{key:"_performAddNode",value:function(t){var e=this,i={id:uM(),x:t.pointer.canvas.x,y:t.pointer.canvas.y,label:"new"};if("function"==typeof this.options.addNode){if(2!==this.options.addNode.length)throw this.showManipulatorToolbar(),new Error("The function for add does not support two arguments (data,callback)");this.options.addNode(i,(function(t){null!=t&&"addNode"===e.inMode&&e.body.data.nodes.getDataSet().add(t),e.showManipulatorToolbar()}))}else this.body.data.nodes.getDataSet().add(i),this.showManipulatorToolbar()}},{key:"_performAddEdge",value:function(t,e){var i=this,n={from:t,to:e};if("function"==typeof this.options.addEdge){if(2!==this.options.addEdge.length)throw new Error("The function for connect does not support two arguments (data,callback)");this.options.addEdge(n,(function(t){null!=t&&"addEdge"===i.inMode&&(i.body.data.edges.getDataSet().add(t),i.selectionHandler.unselectAll(),i.showManipulatorToolbar())}))}else this.body.data.edges.getDataSet().add(n),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}},{key:"_performEditEdge",value:function(t,e){var i=this,n={id:this.edgeBeingEditedId,from:t,to:e,label:this.body.data.edges.get(this.edgeBeingEditedId).label},o=this.options.editEdge;if("object"===du(o)&&(o=o.editWithoutDrag),"function"==typeof o){if(2!==o.length)throw new Error("The function for edit does not support two arguments (data, callback)");o(n,(function(t){null==t||"editEdge"!==i.inMode?(i.body.edges[n.id].updateEdgeType(),i.body.emitter.emit("_redraw"),i.showManipulatorToolbar()):(i.body.data.edges.getDataSet().update(t),i.selectionHandler.unselectAll(),i.showManipulatorToolbar())}))}else this.body.data.edges.getDataSet().update(n),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}}]),t}(),UB="string",YB="boolean",XB="number",GB="array",KB="object",$B=["arrow","bar","box","circle","crow","curve","diamond","image","inv_curve","inv_triangle","triangle","vee"],ZB={borderWidth:{number:XB},borderWidthSelected:{number:XB,undefined:"undefined"},brokenImage:{string:UB,undefined:"undefined"},chosen:{label:{boolean:YB,function:"function"},node:{boolean:YB,function:"function"},__type__:{object:KB,boolean:YB}},color:{border:{string:UB},background:{string:UB},highlight:{border:{string:UB},background:{string:UB},__type__:{object:KB,string:UB}},hover:{border:{string:UB},background:{string:UB},__type__:{object:KB,string:UB}},__type__:{object:KB,string:UB}},opacity:{number:XB,undefined:"undefined"},fixed:{x:{boolean:YB},y:{boolean:YB},__type__:{object:KB,boolean:YB}},font:{align:{string:UB},color:{string:UB},size:{number:XB},face:{string:UB},background:{string:UB},strokeWidth:{number:XB},strokeColor:{string:UB},vadjust:{number:XB},multi:{boolean:YB,string:UB},bold:{color:{string:UB},size:{number:XB},face:{string:UB},mod:{string:UB},vadjust:{number:XB},__type__:{object:KB,string:UB}},boldital:{color:{string:UB},size:{number:XB},face:{string:UB},mod:{string:UB},vadjust:{number:XB},__type__:{object:KB,string:UB}},ital:{color:{string:UB},size:{number:XB},face:{string:UB},mod:{string:UB},vadjust:{number:XB},__type__:{object:KB,string:UB}},mono:{color:{string:UB},size:{number:XB},face:{string:UB},mod:{string:UB},vadjust:{number:XB},__type__:{object:KB,string:UB}},__type__:{object:KB,string:UB}},group:{string:UB,number:XB,undefined:"undefined"},heightConstraint:{minimum:{number:XB},valign:{string:UB},__type__:{object:KB,boolean:YB,number:XB}},hidden:{boolean:YB},icon:{face:{string:UB},code:{string:UB},size:{number:XB},color:{string:UB},weight:{string:UB,number:XB},__type__:{object:KB}},id:{string:UB,number:XB},image:{selected:{string:UB,undefined:"undefined"},unselected:{string:UB,undefined:"undefined"},__type__:{object:KB,string:UB}},imagePadding:{top:{number:XB},right:{number:XB},bottom:{number:XB},left:{number:XB},__type__:{object:KB,number:XB}},label:{string:UB,undefined:"undefined"},labelHighlightBold:{boolean:YB},level:{number:XB,undefined:"undefined"},margin:{top:{number:XB},right:{number:XB},bottom:{number:XB},left:{number:XB},__type__:{object:KB,number:XB}},mass:{number:XB},physics:{boolean:YB},scaling:{min:{number:XB},max:{number:XB},label:{enabled:{boolean:YB},min:{number:XB},max:{number:XB},maxVisible:{number:XB},drawThreshold:{number:XB},__type__:{object:KB,boolean:YB}},customScalingFunction:{function:"function"},__type__:{object:KB}},shadow:{enabled:{boolean:YB},color:{string:UB},size:{number:XB},x:{number:XB},y:{number:XB},__type__:{object:KB,boolean:YB}},shape:{string:["custom","ellipse","circle","database","box","text","image","circularImage","diamond","dot","star","triangle","triangleDown","square","icon","hexagon"]},ctxRenderer:{function:"function"},shapeProperties:{borderDashes:{boolean:YB,array:GB},borderRadius:{number:XB},interpolation:{boolean:YB},useImageSize:{boolean:YB},useBorderWithImage:{boolean:YB},coordinateOrigin:{string:["center","top-left"]},__type__:{object:KB}},size:{number:XB},title:{string:UB,dom:"dom",undefined:"undefined"},value:{number:XB,undefined:"undefined"},widthConstraint:{minimum:{number:XB},maximum:{number:XB},__type__:{object:KB,boolean:YB,number:XB}},x:{number:XB},y:{number:XB},__type__:{object:KB}},QB={configure:{enabled:{boolean:YB},filter:{boolean:YB,string:UB,array:GB,function:"function"},container:{dom:"dom"},showButton:{boolean:YB},__type__:{object:KB,boolean:YB,string:UB,array:GB,function:"function"}},edges:{arrows:{to:{enabled:{boolean:YB},scaleFactor:{number:XB},type:{string:$B},imageHeight:{number:XB},imageWidth:{number:XB},src:{string:UB},__type__:{object:KB,boolean:YB}},middle:{enabled:{boolean:YB},scaleFactor:{number:XB},type:{string:$B},imageWidth:{number:XB},imageHeight:{number:XB},src:{string:UB},__type__:{object:KB,boolean:YB}},from:{enabled:{boolean:YB},scaleFactor:{number:XB},type:{string:$B},imageWidth:{number:XB},imageHeight:{number:XB},src:{string:UB},__type__:{object:KB,boolean:YB}},__type__:{string:["from","to","middle"],object:KB}},endPointOffset:{from:{number:XB},to:{number:XB},__type__:{object:KB,number:XB}},arrowStrikethrough:{boolean:YB},background:{enabled:{boolean:YB},color:{string:UB},size:{number:XB},dashes:{boolean:YB,array:GB},__type__:{object:KB,boolean:YB}},chosen:{label:{boolean:YB,function:"function"},edge:{boolean:YB,function:"function"},__type__:{object:KB,boolean:YB}},color:{color:{string:UB},highlight:{string:UB},hover:{string:UB},inherit:{string:["from","to","both"],boolean:YB},opacity:{number:XB},__type__:{object:KB,string:UB}},dashes:{boolean:YB,array:GB},font:{color:{string:UB},size:{number:XB},face:{string:UB},background:{string:UB},strokeWidth:{number:XB},strokeColor:{string:UB},align:{string:["horizontal","top","middle","bottom"]},vadjust:{number:XB},multi:{boolean:YB,string:UB},bold:{color:{string:UB},size:{number:XB},face:{string:UB},mod:{string:UB},vadjust:{number:XB},__type__:{object:KB,string:UB}},boldital:{color:{string:UB},size:{number:XB},face:{string:UB},mod:{string:UB},vadjust:{number:XB},__type__:{object:KB,string:UB}},ital:{color:{string:UB},size:{number:XB},face:{string:UB},mod:{string:UB},vadjust:{number:XB},__type__:{object:KB,string:UB}},mono:{color:{string:UB},size:{number:XB},face:{string:UB},mod:{string:UB},vadjust:{number:XB},__type__:{object:KB,string:UB}},__type__:{object:KB,string:UB}},hidden:{boolean:YB},hoverWidth:{function:"function",number:XB},label:{string:UB,undefined:"undefined"},labelHighlightBold:{boolean:YB},length:{number:XB,undefined:"undefined"},physics:{boolean:YB},scaling:{min:{number:XB},max:{number:XB},label:{enabled:{boolean:YB},min:{number:XB},max:{number:XB},maxVisible:{number:XB},drawThreshold:{number:XB},__type__:{object:KB,boolean:YB}},customScalingFunction:{function:"function"},__type__:{object:KB}},selectionWidth:{function:"function",number:XB},selfReferenceSize:{number:XB},selfReference:{size:{number:XB},angle:{number:XB},renderBehindTheNode:{boolean:YB},__type__:{object:KB}},shadow:{enabled:{boolean:YB},color:{string:UB},size:{number:XB},x:{number:XB},y:{number:XB},__type__:{object:KB,boolean:YB}},smooth:{enabled:{boolean:YB},type:{string:["dynamic","continuous","discrete","diagonalCross","straightCross","horizontal","vertical","curvedCW","curvedCCW","cubicBezier"]},roundness:{number:XB},forceDirection:{string:["horizontal","vertical","none"],boolean:YB},__type__:{object:KB,boolean:YB}},title:{string:UB,undefined:"undefined"},width:{number:XB},widthConstraint:{maximum:{number:XB},__type__:{object:KB,boolean:YB,number:XB}},value:{number:XB,undefined:"undefined"},__type__:{object:KB}},groups:{useDefaultGroups:{boolean:YB},__any__:ZB,__type__:{object:KB}},interaction:{dragNodes:{boolean:YB},dragView:{boolean:YB},hideEdgesOnDrag:{boolean:YB},hideEdgesOnZoom:{boolean:YB},hideNodesOnDrag:{boolean:YB},hover:{boolean:YB},keyboard:{enabled:{boolean:YB},speed:{x:{number:XB},y:{number:XB},zoom:{number:XB},__type__:{object:KB}},bindToWindow:{boolean:YB},autoFocus:{boolean:YB},__type__:{object:KB,boolean:YB}},multiselect:{boolean:YB},navigationButtons:{boolean:YB},selectable:{boolean:YB},selectConnectedEdges:{boolean:YB},hoverConnectedEdges:{boolean:YB},tooltipDelay:{number:XB},zoomView:{boolean:YB},zoomSpeed:{number:XB},__type__:{object:KB}},layout:{randomSeed:{undefined:"undefined",number:XB,string:UB},improvedLayout:{boolean:YB},clusterThreshold:{number:XB},hierarchical:{enabled:{boolean:YB},levelSeparation:{number:XB},nodeSpacing:{number:XB},treeSpacing:{number:XB},blockShifting:{boolean:YB},edgeMinimization:{boolean:YB},parentCentralization:{boolean:YB},direction:{string:["UD","DU","LR","RL"]},sortMethod:{string:["hubsize","directed"]},shakeTowards:{string:["leaves","roots"]},__type__:{object:KB,boolean:YB}},__type__:{object:KB}},manipulation:{enabled:{boolean:YB},initiallyActive:{boolean:YB},addNode:{boolean:YB,function:"function"},addEdge:{boolean:YB,function:"function"},editNode:{function:"function"},editEdge:{editWithoutDrag:{function:"function"},__type__:{object:KB,boolean:YB,function:"function"}},deleteNode:{boolean:YB,function:"function"},deleteEdge:{boolean:YB,function:"function"},controlNodeStyle:ZB,__type__:{object:KB,boolean:YB}},nodes:ZB,physics:{enabled:{boolean:YB},barnesHut:{theta:{number:XB},gravitationalConstant:{number:XB},centralGravity:{number:XB},springLength:{number:XB},springConstant:{number:XB},damping:{number:XB},avoidOverlap:{number:XB},__type__:{object:KB}},forceAtlas2Based:{theta:{number:XB},gravitationalConstant:{number:XB},centralGravity:{number:XB},springLength:{number:XB},springConstant:{number:XB},damping:{number:XB},avoidOverlap:{number:XB},__type__:{object:KB}},repulsion:{centralGravity:{number:XB},springLength:{number:XB},springConstant:{number:XB},nodeDistance:{number:XB},damping:{number:XB},__type__:{object:KB}},hierarchicalRepulsion:{centralGravity:{number:XB},springLength:{number:XB},springConstant:{number:XB},nodeDistance:{number:XB},damping:{number:XB},avoidOverlap:{number:XB},__type__:{object:KB}},maxVelocity:{number:XB},minVelocity:{number:XB},solver:{string:["barnesHut","repulsion","hierarchicalRepulsion","forceAtlas2Based"]},stabilization:{enabled:{boolean:YB},iterations:{number:XB},updateInterval:{number:XB},onlyDynamicEdges:{boolean:YB},fit:{boolean:YB},__type__:{object:KB,boolean:YB}},timestep:{number:XB},adaptiveTimestep:{boolean:YB},wind:{x:{number:XB},y:{number:XB},__type__:{object:KB}},__type__:{object:KB,boolean:YB}},autoResize:{boolean:YB},clickToUse:{boolean:YB},locale:{string:UB},locales:{__any__:{any:"any"},__type__:{object:KB}},height:{string:UB},width:{string:UB},__type__:{object:KB}},JB={nodes:{borderWidth:[1,0,10,1],borderWidthSelected:[2,0,10,1],color:{border:["color","#2B7CE9"],background:["color","#97C2FC"],highlight:{border:["color","#2B7CE9"],background:["color","#D2E5FF"]},hover:{border:["color","#2B7CE9"],background:["color","#D2E5FF"]}},opacity:[0,0,1,.1],fixed:{x:!1,y:!1},font:{color:["color","#343434"],size:[14,0,100,1],face:["arial","verdana","tahoma"],background:["color","none"],strokeWidth:[0,0,50,1],strokeColor:["color","#ffffff"]},hidden:!1,labelHighlightBold:!0,physics:!0,scaling:{min:[10,0,200,1],max:[30,0,200,1],label:{enabled:!1,min:[14,0,200,1],max:[30,0,200,1],maxVisible:[30,0,200,1],drawThreshold:[5,0,20,1]}},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:[10,0,20,1],x:[5,-30,30,1],y:[5,-30,30,1]},shape:["ellipse","box","circle","database","diamond","dot","square","star","text","triangle","triangleDown","hexagon"],shapeProperties:{borderDashes:!1,borderRadius:[6,0,20,1],interpolation:!0,useImageSize:!1},size:[25,0,200,1]},edges:{arrows:{to:{enabled:!1,scaleFactor:[1,0,3,.05],type:"arrow"},middle:{enabled:!1,scaleFactor:[1,0,3,.05],type:"arrow"},from:{enabled:!1,scaleFactor:[1,0,3,.05],type:"arrow"}},endPointOffset:{from:[0,-10,10,1],to:[0,-10,10,1]},arrowStrikethrough:!0,color:{color:["color","#848484"],highlight:["color","#848484"],hover:["color","#848484"],inherit:["from","to","both",!0,!1],opacity:[1,0,1,.05]},dashes:!1,font:{color:["color","#343434"],size:[14,0,100,1],face:["arial","verdana","tahoma"],background:["color","none"],strokeWidth:[2,0,50,1],strokeColor:["color","#ffffff"],align:["horizontal","top","middle","bottom"]},hidden:!1,hoverWidth:[1.5,0,5,.1],labelHighlightBold:!0,physics:!0,scaling:{min:[1,0,100,1],max:[15,0,100,1],label:{enabled:!0,min:[14,0,200,1],max:[30,0,200,1],maxVisible:[30,0,200,1],drawThreshold:[5,0,20,1]}},selectionWidth:[1.5,0,5,.1],selfReferenceSize:[20,0,200,1],selfReference:{size:[20,0,200,1],angle:[Math.PI/2,-6*Math.PI,6*Math.PI,Math.PI/8],renderBehindTheNode:!0},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:[10,0,20,1],x:[5,-30,30,1],y:[5,-30,30,1]},smooth:{enabled:!0,type:["dynamic","continuous","discrete","diagonalCross","straightCross","horizontal","vertical","curvedCW","curvedCCW","cubicBezier"],forceDirection:["horizontal","vertical","none"],roundness:[.5,0,1,.05]},width:[1,0,30,1]},layout:{hierarchical:{enabled:!1,levelSeparation:[150,20,500,5],nodeSpacing:[100,20,500,5],treeSpacing:[200,20,500,5],blockShifting:!0,edgeMinimization:!0,parentCentralization:!0,direction:["UD","DU","LR","RL"],sortMethod:["hubsize","directed"],shakeTowards:["leaves","roots"]}},interaction:{dragNodes:!0,dragView:!0,hideEdgesOnDrag:!1,hideEdgesOnZoom:!1,hideNodesOnDrag:!1,hover:!1,keyboard:{enabled:!1,speed:{x:[10,0,40,1],y:[10,0,40,1],zoom:[.02,0,.1,.005]},bindToWindow:!0,autoFocus:!0},multiselect:!1,navigationButtons:!1,selectable:!0,selectConnectedEdges:!0,hoverConnectedEdges:!0,tooltipDelay:[300,0,1e3,25],zoomView:!0,zoomSpeed:[1,.1,2,.1]},manipulation:{enabled:!1,initiallyActive:!1},physics:{enabled:!0,barnesHut:{theta:[.5,.1,1,.05],gravitationalConstant:[-2e3,-3e4,0,50],centralGravity:[.3,0,10,.05],springLength:[95,0,500,5],springConstant:[.04,0,1.2,.005],damping:[.09,0,1,.01],avoidOverlap:[0,0,1,.01]},forceAtlas2Based:{theta:[.5,.1,1,.05],gravitationalConstant:[-50,-500,0,1],centralGravity:[.01,0,1,.005],springLength:[95,0,500,5],springConstant:[.08,0,1.2,.005],damping:[.4,0,1,.01],avoidOverlap:[0,0,1,.01]},repulsion:{centralGravity:[.2,0,10,.05],springLength:[200,0,500,5],springConstant:[.05,0,1.2,.005],nodeDistance:[100,0,500,5],damping:[.09,0,1,.01]},hierarchicalRepulsion:{centralGravity:[.2,0,10,.05],springLength:[100,0,500,5],springConstant:[.01,0,1.2,.005],nodeDistance:[120,0,500,5],damping:[.09,0,1,.01],avoidOverlap:[0,0,1,.01]},maxVelocity:[50,0,150,1],minVelocity:[.1,.01,.5,.01],solver:["barnesHut","forceAtlas2Based","repulsion","hierarchicalRepulsion"],timestep:[.5,.01,1,.01],wind:{x:[0,-10,10,.1],y:[0,-10,10,.1]}}},tN=function(t,e,i){var n;return!(!Rp(t).call(t,"physics")||!Rp(n=JB.physics.solver).call(n,e)||i.physics.solver===e||"wind"===e)},eN=Object.freeze({__proto__:null,allOptions:QB,configuratorHideOption:tN,configureOptions:JB}),iN=function(){function t(){ch(this,t)}return pu(t,[{key:"getDistances",value:function(t,e,i){for(var n={},o=t.edges,r=0;r<e.length;r++){var s={};n[e[r]]=s;for(var a=0;a<e.length;a++)s[e[a]]=r==a?0:1e9}for(var h=0;h<i.length;h++){var l=o[i[h]];!0===l.connected&&void 0!==n[l.fromId]&&void 0!==n[l.toId]&&(n[l.fromId][l.toId]=1,n[l.toId][l.fromId]=1)}for(var d=e.length,c=0;c<d;c++)for(var u=e[c],f=n[u],p=0;p<d-1;p++)for(var v=e[p],g=n[v],y=p+1;y<d;y++){var m=e[y],b=n[m],w=Math.min(g[m],g[u]+f[m]);g[m]=w,b[v]=w}return n}}]),t}(),nN=function(){function t(e,i,n){ch(this,t),this.body=e,this.springLength=i,this.springConstant=n,this.distanceSolver=new iN}return pu(t,[{key:"setOptions",value:function(t){t&&(t.springLength&&(this.springLength=t.springLength),t.springConstant&&(this.springConstant=t.springConstant))}},{key:"solve",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=this.distanceSolver.getDistances(this.body,t,e);this._createL_matrix(n),this._createK_matrix(n),this._createE_matrix();for(var o=0,r=Math.max(1e3,Math.min(10*this.body.nodeIndices.length,6e3)),s=1e9,a=0,h=0,l=0,d=0,c=0;s>.01&&o<r;){o+=1;var u=Wu(this._getHighestEnergyNode(i),4);for(a=u[0],s=u[1],h=u[2],l=u[3],d=s,c=0;d>1&&c<5;){c+=1,this._moveNode(a,h,l);var f=Wu(this._getEnergy(a),3);d=f[0],h=f[1],l=f[2]}}}},{key:"_getHighestEnergyNode",value:function(t){for(var e=this.body.nodeIndices,i=this.body.nodes,n=0,o=e[0],r=0,s=0,a=0;a<e.length;a++){var h=e[a];if(!0!==i[h].predefinedPosition||!0===i[h].isCluster&&!0===t||!0!==i[h].options.fixed.x||!0!==i[h].options.fixed.y){var l=Wu(this._getEnergy(h),3),d=l[0],c=l[1],u=l[2];n<d&&(n=d,o=h,r=c,s=u)}}return[o,n,r,s]}},{key:"_getEnergy",value:function(t){var e=Wu(this.E_sums[t],2),i=e[0],n=e[1];return[Math.sqrt(Math.pow(i,2)+Math.pow(n,2)),i,n]}},{key:"_moveNode",value:function(t,e,i){for(var n=this.body.nodeIndices,o=this.body.nodes,r=0,s=0,a=0,h=o[t].x,l=o[t].y,d=this.K_matrix[t],c=this.L_matrix[t],u=0;u<n.length;u++){var f=n[u];if(f!==t){var p=o[f].x,v=o[f].y,g=d[f],y=c[f],m=1/Math.pow(Math.pow(h-p,2)+Math.pow(l-v,2),1.5);r+=g*(1-y*Math.pow(l-v,2)*m),s+=g*(y*(h-p)*(l-v)*m),a+=g*(1-y*Math.pow(h-p,2)*m)}}var b=(e/r+i/s)/(s/r-a/s),w=-(s*b+e)/r;o[t].x+=w,o[t].y+=b,this._updateE_matrix(t)}},{key:"_createL_matrix",value:function(t){var e=this.body.nodeIndices,i=this.springLength;this.L_matrix=[];for(var n=0;n<e.length;n++){this.L_matrix[e[n]]={};for(var o=0;o<e.length;o++)this.L_matrix[e[n]][e[o]]=i*t[e[n]][e[o]]}}},{key:"_createK_matrix",value:function(t){var e=this.body.nodeIndices,i=this.springConstant;this.K_matrix=[];for(var n=0;n<e.length;n++){this.K_matrix[e[n]]={};for(var o=0;o<e.length;o++)this.K_matrix[e[n]][e[o]]=i*Math.pow(t[e[n]][e[o]],-2)}}},{key:"_createE_matrix",value:function(){var t=this.body.nodeIndices,e=this.body.nodes;this.E_matrix={},this.E_sums={};for(var i=0;i<t.length;i++)this.E_matrix[t[i]]=[];for(var n=0;n<t.length;n++){for(var o=t[n],r=e[o].x,s=e[o].y,a=0,h=0,l=n;l<t.length;l++){var d=t[l];if(d!==o){var c=e[d].x,u=e[d].y,f=1/Math.sqrt(Math.pow(r-c,2)+Math.pow(s-u,2));this.E_matrix[o][l]=[this.K_matrix[o][d]*(r-c-this.L_matrix[o][d]*(r-c)*f),this.K_matrix[o][d]*(s-u-this.L_matrix[o][d]*(s-u)*f)],this.E_matrix[d][n]=this.E_matrix[o][l],a+=this.E_matrix[o][l][0],h+=this.E_matrix[o][l][1]}}this.E_sums[o]=[a,h]}}},{key:"_updateE_matrix",value:function(t){for(var e=this.body.nodeIndices,i=this.body.nodes,n=this.E_matrix[t],o=this.K_matrix[t],r=this.L_matrix[t],s=i[t].x,a=i[t].y,h=0,l=0,d=0;d<e.length;d++){var c=e[d];if(c!==t){var u=n[d],f=u[0],p=u[1],v=i[c].x,g=i[c].y,y=1/Math.sqrt(Math.pow(s-v,2)+Math.pow(a-g,2)),m=o[c]*(s-v-r[c]*(s-v)*y),b=o[c]*(a-g-r[c]*(a-g)*y);n[d]=[m,b],h+=m,l+=b;var w=this.E_sums[c];w[0]+=m-f,w[1]+=b-p}}this.E_sums[t]=[h,l]}}]),t}();function oN(t,e,i){var n,o,r,s,a=this;if(!(this instanceof oN))throw new SyntaxError("Constructor must be called with the new operator");this.options={},this.defaultOptions={locale:"en",locales:pw,clickToUse:!1},mn(this.options,this.defaultOptions),this.body={container:t,nodes:{},nodeIndices:[],edges:{},edgeIndices:[],emitter:{on:Ln(n=this.on).call(n,this),off:Ln(o=this.off).call(o,this),emit:Ln(r=this.emit).call(r,this),once:Ln(s=this.once).call(s,this)},eventListeners:{onTap:function(){},onTouch:function(){},onDoubleTap:function(){},onHold:function(){},onDragStart:function(){},onDrag:function(){},onDragEnd:function(){},onMouseWheel:function(){},onPinch:function(){},onMouseMove:function(){},onRelease:function(){},onContext:function(){}},data:{nodes:null,edges:null},functions:{createNode:function(){},createEdge:function(){},getPointer:function(){}},modules:{},view:{scale:1,translation:{x:0,y:0}},selectionBox:{show:!1,position:{start:{x:0,y:0},end:{x:0,y:0}}}},this.bindEventListeners(),this.images=new gw((function(){return a.body.emitter.emit("_requestRedraw")})),this.groups=new Vk,this.canvas=new aI(this.body),this.selectionHandler=new EB(this.body,this.canvas),this.interactionHandler=new pI(this.body,this.canvas,this.selectionHandler),this.view=new hI(this.body,this.canvas),this.renderer=new nI(this.body,this.canvas),this.physics=new QD(this.body),this.layoutEngine=new HB(this.body),this.clustering=new iI(this.body),this.manipulation=new VB(this.body,this.canvas,this.selectionHandler,this.interactionHandler),this.nodesHandler=new YP(this.body,this.images,this.groups,this.layoutEngine),this.edgesHandler=new HD(this.body,this.images,this.groups),this.body.modules.kamadaKawai=new nN(this.body,150,.05),this.body.modules.clustering=this.clustering,this.canvas._create(),this.setOptions(i),this.setData(e)}function rN(t){for(var e in t)Object.prototype.hasOwnProperty.call(t,e)&&(t[e].redundant=t[e].used,t[e].used=[])}function sN(t){for(var e in t)if(Object.prototype.hasOwnProperty.call(t,e)&&t[e].redundant){for(var i=0;i<t[e].redundant.length;i++)t[e].redundant[i].parentNode.removeChild(t[e].redundant[i]);t[e].redundant=[]}}function aN(t,e,i){var n;return Object.prototype.hasOwnProperty.call(e,t)?e[t].redundant.length>0?(n=e[t].redundant[0],e[t].redundant.shift()):(n=document.createElementNS("http://www.w3.org/2000/svg",t),i.appendChild(n)):(n=document.createElementNS("http://www.w3.org/2000/svg",t),e[t]={used:[],redundant:[]},i.appendChild(n)),e[t].used.push(n),n}Gn(oN.prototype),oN.prototype.setOptions=function(t){var e=this;if(null===t&&(t=void 0),void 0!==t){!0===Nb.validate(t,QB)&&console.error("%cErrors have been found in the supplied options object.",Bb);if(Um(["locale","locales","clickToUse"],this.options,t),void 0!==t.locale&&(t.locale=function(t,e){try{var i=Wu(e.split(/[-_ /]/,2),2),n=i[0],o=i[1],r=null!=n?n.toLowerCase():null,s=null!=o?o.toUpperCase():null;if(r&&s){var a,h=r+"-"+s;if(Object.prototype.hasOwnProperty.call(t,h))return h;console.warn($u(a="Unknown variant ".concat(s," of language ")).call(a,r,"."))}if(r){var l=r;if(Object.prototype.hasOwnProperty.call(t,l))return l;console.warn("Unknown language ".concat(r))}return console.warn("Unknown locale ".concat(e,", falling back to English.")),"en"}catch(t){return console.error(t),console.warn("Unexpected error while normalizing locale ".concat(e,", falling back to English.")),"en"}}(t.locales||this.options.locales,t.locale)),t=this.layoutEngine.setOptions(t.layout,t),this.canvas.setOptions(t),this.groups.setOptions(t.groups),this.nodesHandler.setOptions(t.nodes),this.edgesHandler.setOptions(t.edges),this.physics.setOptions(t.physics),this.manipulation.setOptions(t.manipulation,t,this.options),this.interactionHandler.setOptions(t.interaction),this.renderer.setOptions(t.interaction),this.selectionHandler.setOptions(t.interaction),void 0!==t.groups&&this.body.emitter.emit("refreshNodes"),"configure"in t&&(this.configurator||(this.configurator=new Pb(this,this.body.container,JB,this.canvas.pixelRatio,tN)),this.configurator.setOptions(t.configure)),this.configurator&&!0===this.configurator.options.enabled){var i={nodes:{},edges:{},layout:{},interaction:{},manipulation:{},physics:{},global:{}};Xm(i.nodes,this.nodesHandler.options),Xm(i.edges,this.edgesHandler.options),Xm(i.layout,this.layoutEngine.options),Xm(i.interaction,this.selectionHandler.options),Xm(i.interaction,this.renderer.options),Xm(i.interaction,this.interactionHandler.options),Xm(i.manipulation,this.manipulation.options),Xm(i.physics,this.physics.options),Xm(i.global,this.canvas.options),Xm(i.global,this.options),this.configurator.setModuleOptions(i)}void 0!==t.clickToUse?!0===t.clickToUse?void 0===this.activator&&(this.activator=new Tb(this.canvas.frame),this.activator.on("change",(function(){e.body.emitter.emit("activate")}))):(void 0!==this.activator&&(this.activator.destroy(),delete this.activator),this.body.emitter.emit("activate")):this.body.emitter.emit("activate"),this.canvas.setSize(),this.body.emitter.emit("startSimulation")}},oN.prototype._updateVisibleIndices=function(){var t=this.body.nodes,e=this.body.edges;for(var i in this.body.nodeIndices=[],this.body.edgeIndices=[],t)Object.prototype.hasOwnProperty.call(t,i)&&(this.clustering._isClusteredNode(i)||!1!==t[i].options.hidden||this.body.nodeIndices.push(t[i].id));for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var o=e[n],r=t[o.fromId],s=t[o.toId],a=void 0!==r&&void 0!==s;!this.clustering._isClusteredEdge(n)&&!1===o.options.hidden&&a&&!1===r.options.hidden&&!1===s.options.hidden&&this.body.edgeIndices.push(o.id)}},oN.prototype.bindEventListeners=function(){var t=this;this.body.emitter.on("_dataChanged",(function(){t.edgesHandler._updateState(),t.body.emitter.emit("_dataUpdated")})),this.body.emitter.on("_dataUpdated",(function(){t.clustering._updateState(),t._updateVisibleIndices(),t._updateValueRange(t.body.nodes),t._updateValueRange(t.body.edges),t.body.emitter.emit("startSimulation"),t.body.emitter.emit("_requestRedraw")}))},oN.prototype.setData=function(t){if(this.body.emitter.emit("resetPhysics"),this.body.emitter.emit("_resetData"),this.selectionHandler.unselectAll(),t&&t.dot&&(t.nodes||t.edges))throw new SyntaxError('Data must contain either parameter "dot" or parameter pair "nodes" and "edges", but not both.');if(this.setOptions(t&&t.options),t&&t.dot){console.warn("The dot property has been deprecated. Please use the static convertDot method to convert DOT into vis.network format and use the normal data format with nodes and edges. This converter is used like this: var data = vis.network.convertDot(dotString);");var e=dw(t.dot);this.setData(e)}else if(t&&t.gephi){console.warn("The gephi property has been deprecated. Please use the static convertGephi method to convert gephi into vis.network format and use the normal data format with nodes and edges. This converter is used like this: var data = vis.network.convertGephi(gephiJson);");var i=uw(t.gephi);this.setData(i)}else this.nodesHandler.setData(t&&t.nodes,!0),this.edgesHandler.setData(t&&t.edges,!0),this.body.emitter.emit("_dataChanged"),this.body.emitter.emit("_dataLoaded"),this.body.emitter.emit("initPhysics")},oN.prototype.destroy=function(){for(var t in this.body.emitter.emit("destroy"),this.body.emitter.off(),this.off(),delete this.groups,delete this.canvas,delete this.selectionHandler,delete this.interactionHandler,delete this.view,delete this.renderer,delete this.physics,delete this.layoutEngine,delete this.clustering,delete this.manipulation,delete this.nodesHandler,delete this.edgesHandler,delete this.configurator,delete this.images,this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,t)&&delete this.body.nodes[t];for(var e in this.body.edges)Object.prototype.hasOwnProperty.call(this.body.edges,e)&&delete this.body.edges[e];Rm(this.body.container)},oN.prototype._updateValueRange=function(t){var e,i=void 0,n=void 0,o=0;for(e in t)if(Object.prototype.hasOwnProperty.call(t,e)){var r=t[e].getValue();void 0!==r&&(i=void 0===i?r:Math.min(r,i),n=void 0===n?r:Math.max(r,n),o+=r)}if(void 0!==i&&void 0!==n)for(e in t)Object.prototype.hasOwnProperty.call(t,e)&&t[e].setValueRange(i,n,o)},oN.prototype.isActive=function(){return!this.activator||this.activator.active},oN.prototype.setSize=function(){return this.canvas.setSize.apply(this.canvas,arguments)},oN.prototype.canvasToDOM=function(){return this.canvas.canvasToDOM.apply(this.canvas,arguments)},oN.prototype.DOMtoCanvas=function(){return this.canvas.DOMtoCanvas.apply(this.canvas,arguments)},oN.prototype.findNode=function(){return this.clustering.findNode.apply(this.clustering,arguments)},oN.prototype.isCluster=function(){return this.clustering.isCluster.apply(this.clustering,arguments)},oN.prototype.openCluster=function(){return this.clustering.openCluster.apply(this.clustering,arguments)},oN.prototype.cluster=function(){return this.clustering.cluster.apply(this.clustering,arguments)},oN.prototype.getNodesInCluster=function(){return this.clustering.getNodesInCluster.apply(this.clustering,arguments)},oN.prototype.clusterByConnection=function(){return this.clustering.clusterByConnection.apply(this.clustering,arguments)},oN.prototype.clusterByHubsize=function(){return this.clustering.clusterByHubsize.apply(this.clustering,arguments)},oN.prototype.updateClusteredNode=function(){return this.clustering.updateClusteredNode.apply(this.clustering,arguments)},oN.prototype.getClusteredEdges=function(){return this.clustering.getClusteredEdges.apply(this.clustering,arguments)},oN.prototype.getBaseEdge=function(){return this.clustering.getBaseEdge.apply(this.clustering,arguments)},oN.prototype.getBaseEdges=function(){return this.clustering.getBaseEdges.apply(this.clustering,arguments)},oN.prototype.updateEdge=function(){return this.clustering.updateEdge.apply(this.clustering,arguments)},oN.prototype.clusterOutliers=function(){return this.clustering.clusterOutliers.apply(this.clustering,arguments)},oN.prototype.getSeed=function(){return this.layoutEngine.getSeed.apply(this.layoutEngine,arguments)},oN.prototype.enableEditMode=function(){return this.manipulation.enableEditMode.apply(this.manipulation,arguments)},oN.prototype.disableEditMode=function(){return this.manipulation.disableEditMode.apply(this.manipulation,arguments)},oN.prototype.addNodeMode=function(){return this.manipulation.addNodeMode.apply(this.manipulation,arguments)},oN.prototype.editNode=function(){return this.manipulation.editNode.apply(this.manipulation,arguments)},oN.prototype.editNodeMode=function(){return console.warn("Deprecated: Please use editNode instead of editNodeMode."),this.manipulation.editNode.apply(this.manipulation,arguments)},oN.prototype.addEdgeMode=function(){return this.manipulation.addEdgeMode.apply(this.manipulation,arguments)},oN.prototype.editEdgeMode=function(){return this.manipulation.editEdgeMode.apply(this.manipulation,arguments)},oN.prototype.deleteSelected=function(){return this.manipulation.deleteSelected.apply(this.manipulation,arguments)},oN.prototype.getPositions=function(){return this.nodesHandler.getPositions.apply(this.nodesHandler,arguments)},oN.prototype.getPosition=function(){return this.nodesHandler.getPosition.apply(this.nodesHandler,arguments)},oN.prototype.storePositions=function(){return this.nodesHandler.storePositions.apply(this.nodesHandler,arguments)},oN.prototype.moveNode=function(){return this.nodesHandler.moveNode.apply(this.nodesHandler,arguments)},oN.prototype.getBoundingBox=function(){return this.nodesHandler.getBoundingBox.apply(this.nodesHandler,arguments)},oN.prototype.getConnectedNodes=function(t){return void 0!==this.body.nodes[t]?this.nodesHandler.getConnectedNodes.apply(this.nodesHandler,arguments):this.edgesHandler.getConnectedNodes.apply(this.edgesHandler,arguments)},oN.prototype.getConnectedEdges=function(){return this.nodesHandler.getConnectedEdges.apply(this.nodesHandler,arguments)},oN.prototype.startSimulation=function(){return this.physics.startSimulation.apply(this.physics,arguments)},oN.prototype.stopSimulation=function(){return this.physics.stopSimulation.apply(this.physics,arguments)},oN.prototype.stabilize=function(){return this.physics.stabilize.apply(this.physics,arguments)},oN.prototype.getSelection=function(){return this.selectionHandler.getSelection.apply(this.selectionHandler,arguments)},oN.prototype.setSelection=function(){return this.selectionHandler.setSelection.apply(this.selectionHandler,arguments)},oN.prototype.getSelectedNodes=function(){return this.selectionHandler.getSelectedNodeIds.apply(this.selectionHandler,arguments)},oN.prototype.getSelectedEdges=function(){return this.selectionHandler.getSelectedEdgeIds.apply(this.selectionHandler,arguments)},oN.prototype.getNodeAt=function(){var t=this.selectionHandler.getNodeAt.apply(this.selectionHandler,arguments);return void 0!==t&&void 0!==t.id?t.id:t},oN.prototype.getEdgeAt=function(){var t=this.selectionHandler.getEdgeAt.apply(this.selectionHandler,arguments);return void 0!==t&&void 0!==t.id?t.id:t},oN.prototype.selectNodes=function(){return this.selectionHandler.selectNodes.apply(this.selectionHandler,arguments)},oN.prototype.selectEdges=function(){return this.selectionHandler.selectEdges.apply(this.selectionHandler,arguments)},oN.prototype.unselectAll=function(){this.selectionHandler.unselectAll.apply(this.selectionHandler,arguments),this.selectionHandler.commitWithoutEmitting.apply(this.selectionHandler),this.redraw()},oN.prototype.redraw=function(){return this.renderer.redraw.apply(this.renderer,arguments)},oN.prototype.getScale=function(){return this.view.getScale.apply(this.view,arguments)},oN.prototype.getViewPosition=function(){return this.view.getViewPosition.apply(this.view,arguments)},oN.prototype.fit=function(){return this.view.fit.apply(this.view,arguments)},oN.prototype.moveTo=function(){return this.view.moveTo.apply(this.view,arguments)},oN.prototype.focus=function(){return this.view.focus.apply(this.view,arguments)},oN.prototype.releaseNode=function(){return this.view.releaseNode.apply(this.view,arguments)},oN.prototype.getOptionsFromConfigurator=function(){var t={};return this.configurator&&(t=this.configurator.getOptions.apply(this.configurator)),t};var hN=Object.freeze({__proto__:null,cleanupElements:sN,drawBar:function(t,e,i,n,o,r,s,a){if(0!=n){n<0&&(e-=n*=-1);var h=aN("rect",r,s);h.setAttributeNS(null,"x",t-.5*i),h.setAttributeNS(null,"y",e),h.setAttributeNS(null,"width",i),h.setAttributeNS(null,"height",n),h.setAttributeNS(null,"class",o),a&&h.setAttributeNS(null,"style",a)}},drawPoint:function(t,e,i,n,o,r){var s;if("circle"==i.style?((s=aN("circle",n,o)).setAttributeNS(null,"cx",t),s.setAttributeNS(null,"cy",e),s.setAttributeNS(null,"r",.5*i.size)):((s=aN("rect",n,o)).setAttributeNS(null,"x",t-.5*i.size),s.setAttributeNS(null,"y",e-.5*i.size),s.setAttributeNS(null,"width",i.size),s.setAttributeNS(null,"height",i.size)),void 0!==i.styles&&s.setAttributeNS(null,"style",i.styles),s.setAttributeNS(null,"class",i.className+" vis-point"),r){var a=aN("text",n,o);r.xOffset&&(t+=r.xOffset),r.yOffset&&(e+=r.yOffset),r.content&&(a.textContent=r.content),r.className&&a.setAttributeNS(null,"class",r.className+" vis-label"),a.setAttributeNS(null,"x",t),a.setAttributeNS(null,"y",e)}return s},getDOMElement:function(t,e,i,n){var o;return Object.prototype.hasOwnProperty.call(e,t)?e[t].redundant.length>0?(o=e[t].redundant[0],e[t].redundant.shift()):(o=document.createElement(t),void 0!==n?i.insertBefore(o,n):i.appendChild(o)):(o=document.createElement(t),e[t]={used:[],redundant:[]},void 0!==n?i.insertBefore(o,n):i.appendChild(o)),e[t].used.push(o),o},getSVGElement:aN,prepareElements:rN,resetElements:function(t){rN(t),sN(t),rN(t)}}),lN={Images:gw,dotparser:cw,gephiParser:fw,allOptions:eN,convertDot:dw,convertGephi:uw},dN=Object.freeze({__proto__:null,DOMutil:hN,DataSet:EM,DataView:OM,Hammer:Db,Network:oN,Queue:kM,data:TM,keycharm:dI,network:lN,util:Fb});t.DOMutil=hN,t.DataSet=EM,t.DataView=OM,t.Hammer=Db,t.Network=oN,t.Queue=kM,t.data=TM,t.default=dN,t.keycharm=dI,t.network=lN,t.util=Fb,Object.defineProperty(t,"__esModule",{value:!0})}));
1
+ /**
2
+ * vis-network
3
+ * https://visjs.github.io/vis-network/
4
+ *
5
+ * A dynamic, browser-based visualization library.
6
+ *
7
+ * @version 9.1.7
8
+ * @date 2023-10-06T13:09:30.772Z
9
+ *
10
+ * @copyright (c) 2011-2017 Almende B.V, http://almende.com
11
+ * @copyright (c) 2017-2019 visjs contributors, https://github.com/visjs
12
+ *
13
+ * @license
14
+ * vis.js is dual licensed under both
15
+ *
16
+ * 1. The Apache 2.0 License
17
+ * http://www.apache.org/licenses/LICENSE-2.0
18
+ *
19
+ * and
20
+ *
21
+ * 2. The MIT License
22
+ * http://opensource.org/licenses/MIT
23
+ *
24
+ * vis.js may be distributed under either license.
25
+ */
26
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).vis=t.vis||{})}(this,(function(t){"use strict";var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function i(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var n=function(t){return t&&t.Math==Math&&t},o=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof e&&e)||function(){return this}()||Function("return this")(),r=function(t){try{return!!t()}catch(t){return!0}},s=!r((function(){var t=function(){}.bind();return"function"!=typeof t||t.hasOwnProperty("prototype")})),a=s,h=Function.prototype,l=h.apply,d=h.call,c="object"==typeof Reflect&&Reflect.apply||(a?d.bind(l):function(){return d.apply(l,arguments)}),u=s,f=Function.prototype,p=f.call,v=u&&f.bind.bind(p,p),g=u?v:function(t){return function(){return p.apply(t,arguments)}},y=g,m=y({}.toString),b=y("".slice),w=function(t){return b(m(t),8,-1)},k=w,_=g,x=function(t){if("Function"===k(t))return _(t)},E="object"==typeof document&&document.all,O={all:E,IS_HTMLDDA:void 0===E&&void 0!==E},C=O.all,S=O.IS_HTMLDDA?function(t){return"function"==typeof t||t===C}:function(t){return"function"==typeof t},T={},M=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),P=s,D=Function.prototype.call,I=P?D.bind(D):function(){return D.apply(D,arguments)},B={},N={}.propertyIsEnumerable,F=Object.getOwnPropertyDescriptor,z=F&&!N.call({1:2},1);B.f=z?function(t){var e=F(this,t);return!!e&&e.enumerable}:N;var A,j,R=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},L=r,H=w,W=Object,q=g("".split),V=L((function(){return!W("z").propertyIsEnumerable(0)}))?function(t){return"String"==H(t)?q(t,""):W(t)}:W,U=function(t){return null==t},Y=U,X=TypeError,G=function(t){if(Y(t))throw X("Can't call method on "+t);return t},K=V,$=G,Z=function(t){return K($(t))},Q=S,J=O.all,tt=O.IS_HTMLDDA?function(t){return"object"==typeof t?null!==t:Q(t)||t===J}:function(t){return"object"==typeof t?null!==t:Q(t)},et={},it=et,nt=o,ot=S,rt=function(t){return ot(t)?t:void 0},st=function(t,e){return arguments.length<2?rt(it[t])||rt(nt[t]):it[t]&&it[t][e]||nt[t]&&nt[t][e]},at=g({}.isPrototypeOf),ht="undefined"!=typeof navigator&&String(navigator.userAgent)||"",lt=o,dt=ht,ct=lt.process,ut=lt.Deno,ft=ct&&ct.versions||ut&&ut.version,pt=ft&&ft.v8;pt&&(j=(A=pt.split("."))[0]>0&&A[0]<4?1:+(A[0]+A[1])),!j&&dt&&(!(A=dt.match(/Edge\/(\d+)/))||A[1]>=74)&&(A=dt.match(/Chrome\/(\d+)/))&&(j=+A[1]);var vt=j,gt=vt,yt=r,mt=!!Object.getOwnPropertySymbols&&!yt((function(){var t=Symbol();return!String(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&gt&&gt<41})),bt=mt&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,wt=st,kt=S,_t=at,xt=Object,Et=bt?function(t){return"symbol"==typeof t}:function(t){var e=wt("Symbol");return kt(e)&&_t(e.prototype,xt(t))},Ot=String,Ct=function(t){try{return Ot(t)}catch(t){return"Object"}},St=S,Tt=Ct,Mt=TypeError,Pt=function(t){if(St(t))return t;throw Mt(Tt(t)+" is not a function")},Dt=Pt,It=U,Bt=function(t,e){var i=t[e];return It(i)?void 0:Dt(i)},Nt=I,Ft=S,zt=tt,At=TypeError,jt={exports:{}},Rt=o,Lt=Object.defineProperty,Ht=function(t,e){try{Lt(Rt,t,{value:e,configurable:!0,writable:!0})}catch(i){Rt[t]=e}return e},Wt="__core-js_shared__",qt=o[Wt]||Ht(Wt,{}),Vt=qt;(jt.exports=function(t,e){return Vt[t]||(Vt[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.29.0",mode:"pure",copyright:"© 2014-2023 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.29.0/LICENSE",source:"https://github.com/zloirock/core-js"});var Ut=jt.exports,Yt=G,Xt=Object,Gt=function(t){return Xt(Yt(t))},Kt=Gt,$t=g({}.hasOwnProperty),Zt=Object.hasOwn||function(t,e){return $t(Kt(t),e)},Qt=g,Jt=0,te=Math.random(),ee=Qt(1..toString),ie=function(t){return"Symbol("+(void 0===t?"":t)+")_"+ee(++Jt+te,36)},ne=Ut,oe=Zt,re=ie,se=mt,ae=bt,he=o.Symbol,le=ne("wks"),de=ae?he.for||he:he&&he.withoutSetter||re,ce=function(t){return oe(le,t)||(le[t]=se&&oe(he,t)?he[t]:de("Symbol."+t)),le[t]},ue=I,fe=tt,pe=Et,ve=Bt,ge=function(t,e){var i,n;if("string"===e&&Ft(i=t.toString)&&!zt(n=Nt(i,t)))return n;if(Ft(i=t.valueOf)&&!zt(n=Nt(i,t)))return n;if("string"!==e&&Ft(i=t.toString)&&!zt(n=Nt(i,t)))return n;throw At("Can't convert object to primitive value")},ye=TypeError,me=ce("toPrimitive"),be=function(t,e){if(!fe(t)||pe(t))return t;var i,n=ve(t,me);if(n){if(void 0===e&&(e="default"),i=ue(n,t,e),!fe(i)||pe(i))return i;throw ye("Can't convert object to primitive value")}return void 0===e&&(e="number"),ge(t,e)},we=Et,ke=function(t){var e=be(t,"string");return we(e)?e:e+""},_e=tt,xe=o.document,Ee=_e(xe)&&_e(xe.createElement),Oe=function(t){return Ee?xe.createElement(t):{}},Ce=Oe,Se=!M&&!r((function(){return 7!=Object.defineProperty(Ce("div"),"a",{get:function(){return 7}}).a})),Te=M,Me=I,Pe=B,De=R,Ie=Z,Be=ke,Ne=Zt,Fe=Se,ze=Object.getOwnPropertyDescriptor;T.f=Te?ze:function(t,e){if(t=Ie(t),e=Be(e),Fe)try{return ze(t,e)}catch(t){}if(Ne(t,e))return De(!Me(Pe.f,t,e),t[e])};var Ae=r,je=S,Re=/#|\.prototype\./,Le=function(t,e){var i=We[He(t)];return i==Ve||i!=qe&&(je(e)?Ae(e):!!e)},He=Le.normalize=function(t){return String(t).replace(Re,".").toLowerCase()},We=Le.data={},qe=Le.NATIVE="N",Ve=Le.POLYFILL="P",Ue=Le,Ye=Pt,Xe=s,Ge=x(x.bind),Ke=function(t,e){return Ye(t),void 0===e?t:Xe?Ge(t,e):function(){return t.apply(e,arguments)}},$e={},Ze=M&&r((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype})),Qe=tt,Je=String,ti=TypeError,ei=function(t){if(Qe(t))return t;throw ti(Je(t)+" is not an object")},ii=M,ni=Se,oi=Ze,ri=ei,si=ke,ai=TypeError,hi=Object.defineProperty,li=Object.getOwnPropertyDescriptor,di="enumerable",ci="configurable",ui="writable";$e.f=ii?oi?function(t,e,i){if(ri(t),e=si(e),ri(i),"function"==typeof t&&"prototype"===e&&"value"in i&&ui in i&&!i[ui]){var n=li(t,e);n&&n[ui]&&(t[e]=i.value,i={configurable:ci in i?i[ci]:n[ci],enumerable:di in i?i[di]:n[di],writable:!1})}return hi(t,e,i)}:hi:function(t,e,i){if(ri(t),e=si(e),ri(i),ni)try{return hi(t,e,i)}catch(t){}if("get"in i||"set"in i)throw ai("Accessors not supported");return"value"in i&&(t[e]=i.value),t};var fi=$e,pi=R,vi=M?function(t,e,i){return fi.f(t,e,pi(1,i))}:function(t,e,i){return t[e]=i,t},gi=o,yi=c,mi=x,bi=S,wi=T.f,ki=Ue,_i=et,xi=Ke,Ei=vi,Oi=Zt,Ci=function(t){var e=function(i,n,o){if(this instanceof e){switch(arguments.length){case 0:return new t;case 1:return new t(i);case 2:return new t(i,n)}return new t(i,n,o)}return yi(t,this,arguments)};return e.prototype=t.prototype,e},Si=function(t,e){var i,n,o,r,s,a,h,l,d,c=t.target,u=t.global,f=t.stat,p=t.proto,v=u?gi:f?gi[c]:(gi[c]||{}).prototype,g=u?_i:_i[c]||Ei(_i,c,{})[c],y=g.prototype;for(r in e)n=!(i=ki(u?r:c+(f?".":"#")+r,t.forced))&&v&&Oi(v,r),a=g[r],n&&(h=t.dontCallGetSet?(d=wi(v,r))&&d.value:v[r]),s=n&&h?h:e[r],n&&typeof a==typeof s||(l=t.bind&&n?xi(s,gi):t.wrap&&n?Ci(s):p&&bi(s)?mi(s):s,(t.sham||s&&s.sham||a&&a.sham)&&Ei(l,"sham",!0),Ei(g,r,l),p&&(Oi(_i,o=c+"Prototype")||Ei(_i,o,{}),Ei(_i[o],r,s),t.real&&y&&(i||!y[r])&&Ei(y,r,s)))},Ti=Math.ceil,Mi=Math.floor,Pi=Math.trunc||function(t){var e=+t;return(e>0?Mi:Ti)(e)},Di=function(t){var e=+t;return e!=e||0===e?0:Pi(e)},Ii=Di,Bi=Math.max,Ni=Math.min,Fi=function(t,e){var i=Ii(t);return i<0?Bi(i+e,0):Ni(i,e)},zi=Di,Ai=Math.min,ji=function(t){return t>0?Ai(zi(t),9007199254740991):0},Ri=function(t){return ji(t.length)},Li=Z,Hi=Fi,Wi=Ri,qi=function(t){return function(e,i,n){var o,r=Li(e),s=Wi(r),a=Hi(n,s);if(t&&i!=i){for(;s>a;)if((o=r[a++])!=o)return!0}else for(;s>a;a++)if((t||a in r)&&r[a]===i)return t||a||0;return!t&&-1}},Vi={includes:qi(!0),indexOf:qi(!1)},Ui={},Yi=Zt,Xi=Z,Gi=Vi.indexOf,Ki=Ui,$i=g([].push),Zi=function(t,e){var i,n=Xi(t),o=0,r=[];for(i in n)!Yi(Ki,i)&&Yi(n,i)&&$i(r,i);for(;e.length>o;)Yi(n,i=e[o++])&&(~Gi(r,i)||$i(r,i));return r},Qi=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],Ji=Zi,tn=Qi,en=Object.keys||function(t){return Ji(t,tn)},nn={};nn.f=Object.getOwnPropertySymbols;var on=M,rn=g,sn=I,an=r,hn=en,ln=nn,dn=B,cn=Gt,un=V,fn=Object.assign,pn=Object.defineProperty,vn=rn([].concat),gn=!fn||an((function(){if(on&&1!==fn({b:1},fn(pn({},"a",{enumerable:!0,get:function(){pn(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},e={},i=Symbol(),n="abcdefghijklmnopqrst";return t[i]=7,n.split("").forEach((function(t){e[t]=t})),7!=fn({},t)[i]||hn(fn({},e)).join("")!=n}))?function(t,e){for(var i=cn(t),n=arguments.length,o=1,r=ln.f,s=dn.f;n>o;)for(var a,h=un(arguments[o++]),l=r?vn(hn(h),r(h)):hn(h),d=l.length,c=0;d>c;)a=l[c++],on&&!sn(s,h,a)||(i[a]=h[a]);return i}:fn,yn=gn;Si({target:"Object",stat:!0,arity:2,forced:Object.assign!==yn},{assign:yn});var mn=i(et.Object.assign),bn=g([].slice),wn=g,kn=Pt,_n=tt,xn=Zt,En=bn,On=s,Cn=Function,Sn=wn([].concat),Tn=wn([].join),Mn={},Pn=On?Cn.bind:function(t){var e=kn(this),i=e.prototype,n=En(arguments,1),o=function(){var i=Sn(n,En(arguments));return this instanceof o?function(t,e,i){if(!xn(Mn,e)){for(var n=[],o=0;o<e;o++)n[o]="a["+o+"]";Mn[e]=Cn("C,a","return new C("+Tn(n,",")+")")}return Mn[e](t,i)}(e,i.length,i):e.apply(t,i)};return _n(i)&&(o.prototype=i),o},Dn=Pn;Si({target:"Function",proto:!0,forced:Function.bind!==Dn},{bind:Dn});var In=et,Bn=function(t){return In[t+"Prototype"]},Nn=Bn("Function").bind,Fn=at,zn=Nn,An=Function.prototype,jn=function(t){var e=t.bind;return t===An||Fn(An,t)&&e===An.bind?zn:e},Rn=jn,Ln=i(Rn);function Hn(t,e,i,n){t.beginPath(),t.arc(e,i,n,0,2*Math.PI,!1),t.closePath()}function Wn(t,e,i,n,o,r){var s=Math.PI/180;n-2*r<0&&(r=n/2),o-2*r<0&&(r=o/2),t.beginPath(),t.moveTo(e+r,i),t.lineTo(e+n-r,i),t.arc(e+n-r,i+r,r,270*s,360*s,!1),t.lineTo(e+n,i+o-r),t.arc(e+n-r,i+o-r,r,0,90*s,!1),t.lineTo(e+r,i+o),t.arc(e+r,i+o-r,r,90*s,180*s,!1),t.lineTo(e,i+r),t.arc(e+r,i+r,r,180*s,270*s,!1),t.closePath()}function qn(t,e,i,n,o){var r=.5522848,s=n/2*r,a=o/2*r,h=e+n,l=i+o,d=e+n/2,c=i+o/2;t.beginPath(),t.moveTo(e,c),t.bezierCurveTo(e,c-a,d-s,i,d,i),t.bezierCurveTo(d+s,i,h,c-a,h,c),t.bezierCurveTo(h,c+a,d+s,l,d,l),t.bezierCurveTo(d-s,l,e,c+a,e,c),t.closePath()}function Vn(t,e,i,n,o){var r=o*(1/3),s=.5522848,a=n/2*s,h=r/2*s,l=e+n,d=i+r,c=e+n/2,u=i+r/2,f=i+(o-r/2),p=i+o;t.beginPath(),t.moveTo(l,u),t.bezierCurveTo(l,u+h,c+a,d,c,d),t.bezierCurveTo(c-a,d,e,u+h,e,u),t.bezierCurveTo(e,u-h,c-a,i,c,i),t.bezierCurveTo(c+a,i,l,u-h,l,u),t.lineTo(l,f),t.bezierCurveTo(l,f+h,c+a,p,c,p),t.bezierCurveTo(c-a,p,e,f+h,e,f),t.lineTo(e,u)}function Un(t,e,i,n,o,r){t.beginPath(),t.moveTo(e,i);for(var s=r.length,a=n-e,h=o-i,l=h/a,d=Math.sqrt(a*a+h*h),c=0,u=!0,f=0,p=+r[0];d>=.1;)(p=+r[c++%s])>d&&(p=d),f=Math.sqrt(p*p/(1+l*l)),e+=f=a<0?-f:f,i+=l*f,!0===u?t.lineTo(e,i):t.moveTo(e,i),d-=p,u=!u}var Yn={circle:Hn,dashedLine:Un,database:Vn,diamond:function(t,e,i,n){t.beginPath(),t.lineTo(e,i+n),t.lineTo(e+n,i),t.lineTo(e,i-n),t.lineTo(e-n,i),t.closePath()},ellipse:qn,ellipse_vis:qn,hexagon:function(t,e,i,n){t.beginPath();var o=2*Math.PI/6;t.moveTo(e+n,i);for(var r=1;r<6;r++)t.lineTo(e+n*Math.cos(o*r),i+n*Math.sin(o*r));t.closePath()},roundRect:Wn,square:function(t,e,i,n){t.beginPath(),t.rect(e-n,i-n,2*n,2*n),t.closePath()},star:function(t,e,i,n){t.beginPath(),i+=.1*(n*=.82);for(var o=0;o<10;o++){var r=o%2==0?1.3*n:.5*n;t.lineTo(e+r*Math.sin(2*o*Math.PI/10),i-r*Math.cos(2*o*Math.PI/10))}t.closePath()},triangle:function(t,e,i,n){t.beginPath(),i+=.275*(n*=1.15);var o=2*n,r=o/2,s=Math.sqrt(3)/6*o,a=Math.sqrt(o*o-r*r);t.moveTo(e,i-(a-s)),t.lineTo(e+r,i+s),t.lineTo(e-r,i+s),t.lineTo(e,i-(a-s)),t.closePath()},triangleDown:function(t,e,i,n){t.beginPath(),i-=.275*(n*=1.15);var o=2*n,r=o/2,s=Math.sqrt(3)/6*o,a=Math.sqrt(o*o-r*r);t.moveTo(e,i+(a-s)),t.lineTo(e+r,i-s),t.lineTo(e-r,i-s),t.lineTo(e,i+(a-s)),t.closePath()}};var Xn={exports:{}};!function(t){function e(t){if(t)return function(t){for(var i in e.prototype)t[i]=e.prototype[i];return t}(t)}t.exports=e,e.prototype.on=e.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+t]=this._callbacks["$"+t]||[]).push(e),this},e.prototype.once=function(t,e){function i(){this.off(t,i),e.apply(this,arguments)}return i.fn=e,this.on(t,i),this},e.prototype.off=e.prototype.removeListener=e.prototype.removeAllListeners=e.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var i,n=this._callbacks["$"+t];if(!n)return this;if(1==arguments.length)return delete this._callbacks["$"+t],this;for(var o=0;o<n.length;o++)if((i=n[o])===e||i.fn===e){n.splice(o,1);break}return 0===n.length&&delete this._callbacks["$"+t],this},e.prototype.emit=function(t){this._callbacks=this._callbacks||{};for(var e=new Array(arguments.length-1),i=this._callbacks["$"+t],n=1;n<arguments.length;n++)e[n-1]=arguments[n];if(i){n=0;for(var o=(i=i.slice(0)).length;n<o;++n)i[n].apply(this,e)}return this},e.prototype.listeners=function(t){return this._callbacks=this._callbacks||{},this._callbacks["$"+t]||[]},e.prototype.hasListeners=function(t){return!!this.listeners(t).length}}(Xn);var Gn=i(Xn.exports),Kn={};Kn[ce("toStringTag")]="z";var $n,Zn,Qn,Jn="[object z]"===String(Kn),to=Jn,eo=S,io=w,no=ce("toStringTag"),oo=Object,ro="Arguments"==io(function(){return arguments}()),so=to?io:function(t){var e,i,n;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(i=function(t,e){try{return t[e]}catch(t){}}(e=oo(t),no))?i:ro?io(e):"Object"==(n=io(e))&&eo(e.callee)?"Arguments":n},ao=so,ho=String,lo=function(t){if("Symbol"===ao(t))throw TypeError("Cannot convert a Symbol value to a string");return ho(t)},co=g,uo=Di,fo=lo,po=G,vo=co("".charAt),go=co("".charCodeAt),yo=co("".slice),mo=function(t){return function(e,i){var n,o,r=fo(po(e)),s=uo(i),a=r.length;return s<0||s>=a?t?"":void 0:(n=go(r,s))<55296||n>56319||s+1===a||(o=go(r,s+1))<56320||o>57343?t?vo(r,s):n:t?yo(r,s,s+2):o-56320+(n-55296<<10)+65536}},bo={codeAt:mo(!1),charAt:mo(!0)},wo=S,ko=o.WeakMap,_o=wo(ko)&&/native code/.test(String(ko)),xo=ie,Eo=Ut("keys"),Oo=function(t){return Eo[t]||(Eo[t]=xo(t))},Co=_o,So=o,To=tt,Mo=vi,Po=Zt,Do=qt,Io=Oo,Bo=Ui,No="Object already initialized",Fo=So.TypeError,zo=So.WeakMap;if(Co||Do.state){var Ao=Do.state||(Do.state=new zo);Ao.get=Ao.get,Ao.has=Ao.has,Ao.set=Ao.set,$n=function(t,e){if(Ao.has(t))throw Fo(No);return e.facade=t,Ao.set(t,e),e},Zn=function(t){return Ao.get(t)||{}},Qn=function(t){return Ao.has(t)}}else{var jo=Io("state");Bo[jo]=!0,$n=function(t,e){if(Po(t,jo))throw Fo(No);return e.facade=t,Mo(t,jo,e),e},Zn=function(t){return Po(t,jo)?t[jo]:{}},Qn=function(t){return Po(t,jo)}}var Ro={set:$n,get:Zn,has:Qn,enforce:function(t){return Qn(t)?Zn(t):$n(t,{})},getterFor:function(t){return function(e){var i;if(!To(e)||(i=Zn(e)).type!==t)throw Fo("Incompatible receiver, "+t+" required");return i}}},Lo=M,Ho=Zt,Wo=Function.prototype,qo=Lo&&Object.getOwnPropertyDescriptor,Vo=Ho(Wo,"name"),Uo={EXISTS:Vo,PROPER:Vo&&"something"===function(){}.name,CONFIGURABLE:Vo&&(!Lo||Lo&&qo(Wo,"name").configurable)},Yo={},Xo=M,Go=Ze,Ko=$e,$o=ei,Zo=Z,Qo=en;Yo.f=Xo&&!Go?Object.defineProperties:function(t,e){$o(t);for(var i,n=Zo(e),o=Qo(e),r=o.length,s=0;r>s;)Ko.f(t,i=o[s++],n[i]);return t};var Jo,tr=st("document","documentElement"),er=ei,ir=Yo,nr=Qi,or=Ui,rr=tr,sr=Oe,ar="prototype",hr="script",lr=Oo("IE_PROTO"),dr=function(){},cr=function(t){return"<"+hr+">"+t+"</"+hr+">"},ur=function(t){t.write(cr("")),t.close();var e=t.parentWindow.Object;return t=null,e},fr=function(){try{Jo=new ActiveXObject("htmlfile")}catch(t){}var t,e,i;fr="undefined"!=typeof document?document.domain&&Jo?ur(Jo):(e=sr("iframe"),i="java"+hr+":",e.style.display="none",rr.appendChild(e),e.src=String(i),(t=e.contentWindow.document).open(),t.write(cr("document.F=Object")),t.close(),t.F):ur(Jo);for(var n=nr.length;n--;)delete fr[ar][nr[n]];return fr()};or[lr]=!0;var pr,vr,gr,yr=Object.create||function(t,e){var i;return null!==t?(dr[ar]=er(t),i=new dr,dr[ar]=null,i[lr]=t):i=fr(),void 0===e?i:ir.f(i,e)},mr=!r((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype})),br=Zt,wr=S,kr=Gt,_r=mr,xr=Oo("IE_PROTO"),Er=Object,Or=Er.prototype,Cr=_r?Er.getPrototypeOf:function(t){var e=kr(t);if(br(e,xr))return e[xr];var i=e.constructor;return wr(i)&&e instanceof i?i.prototype:e instanceof Er?Or:null},Sr=vi,Tr=function(t,e,i,n){return n&&n.enumerable?t[e]=i:Sr(t,e,i),t},Mr=r,Pr=S,Dr=tt,Ir=yr,Br=Cr,Nr=Tr,Fr=ce("iterator"),zr=!1;[].keys&&("next"in(gr=[].keys())?(vr=Br(Br(gr)))!==Object.prototype&&(pr=vr):zr=!0);var Ar=!Dr(pr)||Mr((function(){var t={};return pr[Fr].call(t)!==t}));Pr((pr=Ar?{}:Ir(pr))[Fr])||Nr(pr,Fr,(function(){return this}));var jr={IteratorPrototype:pr,BUGGY_SAFARI_ITERATORS:zr},Rr=so,Lr=Jn?{}.toString:function(){return"[object "+Rr(this)+"]"},Hr=Jn,Wr=$e.f,qr=vi,Vr=Zt,Ur=Lr,Yr=ce("toStringTag"),Xr=function(t,e,i,n){if(t){var o=i?t:t.prototype;Vr(o,Yr)||Wr(o,Yr,{configurable:!0,value:e}),n&&!Hr&&qr(o,"toString",Ur)}},Gr={},Kr=jr.IteratorPrototype,$r=yr,Zr=R,Qr=Xr,Jr=Gr,ts=function(){return this},es=g,is=Pt,ns=S,os=String,rs=TypeError,ss=function(t,e,i){try{return es(is(Object.getOwnPropertyDescriptor(t,e)[i]))}catch(t){}},as=ei,hs=function(t){if("object"==typeof t||ns(t))return t;throw rs("Can't set "+os(t)+" as a prototype")},ls=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,i={};try{(t=ss(Object.prototype,"__proto__","set"))(i,[]),e=i instanceof Array}catch(t){}return function(i,n){return as(i),hs(n),e?t(i,n):i.__proto__=n,i}}():void 0),ds=Si,cs=I,us=Uo,fs=function(t,e,i,n){var o=e+" Iterator";return t.prototype=$r(Kr,{next:Zr(+!n,i)}),Qr(t,o,!1,!0),Jr[o]=ts,t},ps=Cr,vs=Xr,gs=Tr,ys=Gr,ms=jr,bs=us.PROPER,ws=ms.BUGGY_SAFARI_ITERATORS,ks=ce("iterator"),_s="keys",xs="values",Es="entries",Os=function(){return this},Cs=function(t,e,i,n,o,r,s){fs(i,e,n);var a,h,l,d=function(t){if(t===o&&v)return v;if(!ws&&t in f)return f[t];switch(t){case _s:case xs:case Es:return function(){return new i(this,t)}}return function(){return new i(this)}},c=e+" Iterator",u=!1,f=t.prototype,p=f[ks]||f["@@iterator"]||o&&f[o],v=!ws&&p||d(o),g="Array"==e&&f.entries||p;if(g&&(a=ps(g.call(new t)))!==Object.prototype&&a.next&&(vs(a,c,!0,!0),ys[c]=Os),bs&&o==xs&&p&&p.name!==xs&&(u=!0,v=function(){return cs(p,this)}),o)if(h={values:d(xs),keys:r?v:d(_s),entries:d(Es)},s)for(l in h)(ws||u||!(l in f))&&gs(f,l,h[l]);else ds({target:e,proto:!0,forced:ws||u},h);return s&&f[ks]!==v&&gs(f,ks,v,{name:o}),ys[e]=v,h},Ss=function(t,e){return{value:t,done:e}},Ts=bo.charAt,Ms=lo,Ps=Ro,Ds=Cs,Is=Ss,Bs="String Iterator",Ns=Ps.set,Fs=Ps.getterFor(Bs);Ds(String,"String",(function(t){Ns(this,{type:Bs,string:Ms(t),index:0})}),(function(){var t,e=Fs(this),i=e.string,n=e.index;return n>=i.length?Is(void 0,!0):(t=Ts(i,n),e.index+=t.length,Is(t,!1))}));var zs=I,As=ei,js=Bt,Rs=function(t,e,i){var n,o;As(t);try{if(!(n=js(t,"return"))){if("throw"===e)throw i;return i}n=zs(n,t)}catch(t){o=!0,n=t}if("throw"===e)throw i;if(o)throw n;return As(n),i},Ls=ei,Hs=Rs,Ws=Gr,qs=ce("iterator"),Vs=Array.prototype,Us=function(t){return void 0!==t&&(Ws.Array===t||Vs[qs]===t)},Ys=S,Xs=qt,Gs=g(Function.toString);Ys(Xs.inspectSource)||(Xs.inspectSource=function(t){return Gs(t)});var Ks=Xs.inspectSource,$s=g,Zs=r,Qs=S,Js=so,ta=Ks,ea=function(){},ia=[],na=st("Reflect","construct"),oa=/^\s*(?:class|function)\b/,ra=$s(oa.exec),sa=!oa.exec(ea),aa=function(t){if(!Qs(t))return!1;try{return na(ea,ia,t),!0}catch(t){return!1}},ha=function(t){if(!Qs(t))return!1;switch(Js(t)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return sa||!!ra(oa,ta(t))}catch(t){return!0}};ha.sham=!0;var la=!na||Zs((function(){var t;return aa(aa.call)||!aa(Object)||!aa((function(){t=!0}))||t}))?ha:aa,da=ke,ca=$e,ua=R,fa=function(t,e,i){var n=da(e);n in t?ca.f(t,n,ua(0,i)):t[n]=i},pa=so,va=Bt,ga=U,ya=Gr,ma=ce("iterator"),ba=function(t){if(!ga(t))return va(t,ma)||va(t,"@@iterator")||ya[pa(t)]},wa=I,ka=Pt,_a=ei,xa=Ct,Ea=ba,Oa=TypeError,Ca=function(t,e){var i=arguments.length<2?Ea(t):e;if(ka(i))return _a(wa(i,t));throw Oa(xa(t)+" is not iterable")},Sa=Ke,Ta=I,Ma=Gt,Pa=function(t,e,i,n){try{return n?e(Ls(i)[0],i[1]):e(i)}catch(e){Hs(t,"throw",e)}},Da=Us,Ia=la,Ba=Ri,Na=fa,Fa=Ca,za=ba,Aa=Array,ja=ce("iterator"),Ra=!1;try{var La=0,Ha={next:function(){return{done:!!La++}},return:function(){Ra=!0}};Ha[ja]=function(){return this},Array.from(Ha,(function(){throw 2}))}catch(t){}var Wa=function(t,e){if(!e&&!Ra)return!1;var i=!1;try{var n={};n[ja]=function(){return{next:function(){return{done:i=!0}}}},t(n)}catch(t){}return i},qa=function(t){var e=Ma(t),i=Ia(this),n=arguments.length,o=n>1?arguments[1]:void 0,r=void 0!==o;r&&(o=Sa(o,n>2?arguments[2]:void 0));var s,a,h,l,d,c,u=za(e),f=0;if(!u||this===Aa&&Da(u))for(s=Ba(e),a=i?new this(s):Aa(s);s>f;f++)c=r?o(e[f],f):e[f],Na(a,f,c);else for(d=(l=Fa(e,u)).next,a=i?new this:[];!(h=Ta(d,l)).done;f++)c=r?Pa(l,o,[h.value,f],!0):h.value,Na(a,f,c);return a.length=f,a};Si({target:"Array",stat:!0,forced:!Wa((function(t){Array.from(t)}))},{from:qa});var Va=et.Array.from,Ua=i(Va),Ya=Z,Xa=Gr,Ga=Ro;$e.f;var Ka=Cs,$a=Ss,Za="Array Iterator",Qa=Ga.set,Ja=Ga.getterFor(Za);Ka(Array,"Array",(function(t,e){Qa(this,{type:Za,target:Ya(t),index:0,kind:e})}),(function(){var t=Ja(this),e=t.target,i=t.kind,n=t.index++;return!e||n>=e.length?(t.target=void 0,$a(void 0,!0)):$a("keys"==i?n:"values"==i?e[n]:[n,e[n]],!1)}),"values"),Xa.Arguments=Xa.Array;var th=ba,eh={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0},ih=o,nh=so,oh=vi,rh=Gr,sh=ce("toStringTag");for(var ah in eh){var hh=ih[ah],lh=hh&&hh.prototype;lh&&nh(lh)!==sh&&oh(lh,sh,ah),rh[ah]=rh.Array}var dh=i(th);function ch(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var uh={exports:{}},fh=Si,ph=M,vh=$e.f;fh({target:"Object",stat:!0,forced:Object.defineProperty!==vh,sham:!ph},{defineProperty:vh});var gh=et.Object,yh=uh.exports=function(t,e,i){return gh.defineProperty(t,e,i)};gh.defineProperty.sham&&(yh.sham=!0);var mh=uh.exports,bh=mh,wh=i(bh),kh=w,_h=Array.isArray||function(t){return"Array"==kh(t)},xh=TypeError,Eh=function(t){if(t>9007199254740991)throw xh("Maximum allowed index exceeded");return t},Oh=_h,Ch=la,Sh=tt,Th=ce("species"),Mh=Array,Ph=function(t){var e;return Oh(t)&&(e=t.constructor,(Ch(e)&&(e===Mh||Oh(e.prototype))||Sh(e)&&null===(e=e[Th]))&&(e=void 0)),void 0===e?Mh:e},Dh=function(t,e){return new(Ph(t))(0===e?0:e)},Ih=r,Bh=vt,Nh=ce("species"),Fh=function(t){return Bh>=51||!Ih((function(){var e=[];return(e.constructor={})[Nh]=function(){return{foo:1}},1!==e[t](Boolean).foo}))},zh=Si,Ah=r,jh=_h,Rh=tt,Lh=Gt,Hh=Ri,Wh=Eh,qh=fa,Vh=Dh,Uh=Fh,Yh=vt,Xh=ce("isConcatSpreadable"),Gh=Yh>=51||!Ah((function(){var t=[];return t[Xh]=!1,t.concat()[0]!==t})),Kh=function(t){if(!Rh(t))return!1;var e=t[Xh];return void 0!==e?!!e:jh(t)};zh({target:"Array",proto:!0,arity:1,forced:!Gh||!Uh("concat")},{concat:function(t){var e,i,n,o,r,s=Lh(this),a=Vh(s,0),h=0;for(e=-1,n=arguments.length;e<n;e++)if(Kh(r=-1===e?s:arguments[e]))for(o=Hh(r),Wh(h+o),i=0;i<o;i++,h++)i in r&&qh(a,h,r[i]);else Wh(h+1),qh(a,h++,r);return a.length=h,a}});var $h={},Zh=Zi,Qh=Qi.concat("length","prototype");$h.f=Object.getOwnPropertyNames||function(t){return Zh(t,Qh)};var Jh={},tl=Fi,el=Ri,il=fa,nl=Array,ol=Math.max,rl=function(t,e,i){for(var n=el(t),o=tl(e,n),r=tl(void 0===i?n:i,n),s=nl(ol(r-o,0)),a=0;o<r;o++,a++)il(s,a,t[o]);return s.length=a,s},sl=w,al=Z,hl=$h.f,ll=rl,dl="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];Jh.f=function(t){return dl&&"Window"==sl(t)?function(t){try{return hl(t)}catch(t){return ll(dl)}}(t):hl(al(t))};var cl=$e,ul=function(t,e,i){return cl.f(t,e,i)},fl={},pl=ce;fl.f=pl;var vl=et,gl=Zt,yl=fl,ml=$e.f,bl=function(t){var e=vl.Symbol||(vl.Symbol={});gl(e,t)||ml(e,t,{value:yl.f(t)})},wl=I,kl=st,_l=ce,xl=Tr,El=function(){var t=kl("Symbol"),e=t&&t.prototype,i=e&&e.valueOf,n=_l("toPrimitive");e&&!e[n]&&xl(e,n,(function(t){return wl(i,this)}),{arity:1})},Ol=Ke,Cl=V,Sl=Gt,Tl=Ri,Ml=Dh,Pl=g([].push),Dl=function(t){var e=1==t,i=2==t,n=3==t,o=4==t,r=6==t,s=7==t,a=5==t||r;return function(h,l,d,c){for(var u,f,p=Sl(h),v=Cl(p),g=Ol(l,d),y=Tl(v),m=0,b=c||Ml,w=e?b(h,y):i||s?b(h,0):void 0;y>m;m++)if((a||m in v)&&(f=g(u=v[m],m,p),t))if(e)w[m]=f;else if(f)switch(t){case 3:return!0;case 5:return u;case 6:return m;case 2:Pl(w,u)}else switch(t){case 4:return!1;case 7:Pl(w,u)}return r?-1:n||o?o:w}},Il={forEach:Dl(0),map:Dl(1),filter:Dl(2),some:Dl(3),every:Dl(4),find:Dl(5),findIndex:Dl(6),filterReject:Dl(7)},Bl=Si,Nl=o,Fl=I,zl=g,Al=M,jl=mt,Rl=r,Ll=Zt,Hl=at,Wl=ei,ql=Z,Vl=ke,Ul=lo,Yl=R,Xl=yr,Gl=en,Kl=$h,$l=Jh,Zl=nn,Ql=T,Jl=$e,td=Yo,ed=B,id=Tr,nd=ul,od=Ut,rd=Ui,sd=ie,ad=ce,hd=fl,ld=bl,dd=El,cd=Xr,ud=Ro,fd=Il.forEach,pd=Oo("hidden"),vd="Symbol",gd="prototype",yd=ud.set,md=ud.getterFor(vd),bd=Object[gd],wd=Nl.Symbol,kd=wd&&wd[gd],_d=Nl.TypeError,xd=Nl.QObject,Ed=Ql.f,Od=Jl.f,Cd=$l.f,Sd=ed.f,Td=zl([].push),Md=od("symbols"),Pd=od("op-symbols"),Dd=od("wks"),Id=!xd||!xd[gd]||!xd[gd].findChild,Bd=Al&&Rl((function(){return 7!=Xl(Od({},"a",{get:function(){return Od(this,"a",{value:7}).a}})).a}))?function(t,e,i){var n=Ed(bd,e);n&&delete bd[e],Od(t,e,i),n&&t!==bd&&Od(bd,e,n)}:Od,Nd=function(t,e){var i=Md[t]=Xl(kd);return yd(i,{type:vd,tag:t,description:e}),Al||(i.description=e),i},Fd=function(t,e,i){t===bd&&Fd(Pd,e,i),Wl(t);var n=Vl(e);return Wl(i),Ll(Md,n)?(i.enumerable?(Ll(t,pd)&&t[pd][n]&&(t[pd][n]=!1),i=Xl(i,{enumerable:Yl(0,!1)})):(Ll(t,pd)||Od(t,pd,Yl(1,{})),t[pd][n]=!0),Bd(t,n,i)):Od(t,n,i)},zd=function(t,e){Wl(t);var i=ql(e),n=Gl(i).concat(Ld(i));return fd(n,(function(e){Al&&!Fl(Ad,i,e)||Fd(t,e,i[e])})),t},Ad=function(t){var e=Vl(t),i=Fl(Sd,this,e);return!(this===bd&&Ll(Md,e)&&!Ll(Pd,e))&&(!(i||!Ll(this,e)||!Ll(Md,e)||Ll(this,pd)&&this[pd][e])||i)},jd=function(t,e){var i=ql(t),n=Vl(e);if(i!==bd||!Ll(Md,n)||Ll(Pd,n)){var o=Ed(i,n);return!o||!Ll(Md,n)||Ll(i,pd)&&i[pd][n]||(o.enumerable=!0),o}},Rd=function(t){var e=Cd(ql(t)),i=[];return fd(e,(function(t){Ll(Md,t)||Ll(rd,t)||Td(i,t)})),i},Ld=function(t){var e=t===bd,i=Cd(e?Pd:ql(t)),n=[];return fd(i,(function(t){!Ll(Md,t)||e&&!Ll(bd,t)||Td(n,Md[t])})),n};jl||(wd=function(){if(Hl(kd,this))throw _d("Symbol is not a constructor");var t=arguments.length&&void 0!==arguments[0]?Ul(arguments[0]):void 0,e=sd(t),i=function(t){this===bd&&Fl(i,Pd,t),Ll(this,pd)&&Ll(this[pd],e)&&(this[pd][e]=!1),Bd(this,e,Yl(1,t))};return Al&&Id&&Bd(bd,e,{configurable:!0,set:i}),Nd(e,t)},id(kd=wd[gd],"toString",(function(){return md(this).tag})),id(wd,"withoutSetter",(function(t){return Nd(sd(t),t)})),ed.f=Ad,Jl.f=Fd,td.f=zd,Ql.f=jd,Kl.f=$l.f=Rd,Zl.f=Ld,hd.f=function(t){return Nd(ad(t),t)},Al&&nd(kd,"description",{configurable:!0,get:function(){return md(this).description}})),Bl({global:!0,constructor:!0,wrap:!0,forced:!jl,sham:!jl},{Symbol:wd}),fd(Gl(Dd),(function(t){ld(t)})),Bl({target:vd,stat:!0,forced:!jl},{useSetter:function(){Id=!0},useSimple:function(){Id=!1}}),Bl({target:"Object",stat:!0,forced:!jl,sham:!Al},{create:function(t,e){return void 0===e?Xl(t):zd(Xl(t),e)},defineProperty:Fd,defineProperties:zd,getOwnPropertyDescriptor:jd}),Bl({target:"Object",stat:!0,forced:!jl},{getOwnPropertyNames:Rd}),dd(),cd(wd,vd),rd[pd]=!0;var Hd=mt&&!!Symbol.for&&!!Symbol.keyFor,Wd=Si,qd=st,Vd=Zt,Ud=lo,Yd=Ut,Xd=Hd,Gd=Yd("string-to-symbol-registry"),Kd=Yd("symbol-to-string-registry");Wd({target:"Symbol",stat:!0,forced:!Xd},{for:function(t){var e=Ud(t);if(Vd(Gd,e))return Gd[e];var i=qd("Symbol")(e);return Gd[e]=i,Kd[i]=e,i}});var $d=Si,Zd=Zt,Qd=Et,Jd=Ct,tc=Hd,ec=Ut("symbol-to-string-registry");$d({target:"Symbol",stat:!0,forced:!tc},{keyFor:function(t){if(!Qd(t))throw TypeError(Jd(t)+" is not a symbol");if(Zd(ec,t))return ec[t]}});var ic=_h,nc=S,oc=w,rc=lo,sc=g([].push),ac=Si,hc=st,lc=c,dc=I,cc=g,uc=r,fc=S,pc=Et,vc=bn,gc=function(t){if(nc(t))return t;if(ic(t)){for(var e=t.length,i=[],n=0;n<e;n++){var o=t[n];"string"==typeof o?sc(i,o):"number"!=typeof o&&"Number"!=oc(o)&&"String"!=oc(o)||sc(i,rc(o))}var r=i.length,s=!0;return function(t,e){if(s)return s=!1,e;if(ic(this))return e;for(var n=0;n<r;n++)if(i[n]===t)return e}}},yc=mt,mc=String,bc=hc("JSON","stringify"),wc=cc(/./.exec),kc=cc("".charAt),_c=cc("".charCodeAt),xc=cc("".replace),Ec=cc(1..toString),Oc=/[\uD800-\uDFFF]/g,Cc=/^[\uD800-\uDBFF]$/,Sc=/^[\uDC00-\uDFFF]$/,Tc=!yc||uc((function(){var t=hc("Symbol")();return"[null]"!=bc([t])||"{}"!=bc({a:t})||"{}"!=bc(Object(t))})),Mc=uc((function(){return'"\\udf06\\ud834"'!==bc("\udf06\ud834")||'"\\udead"'!==bc("\udead")})),Pc=function(t,e){var i=vc(arguments),n=gc(e);if(fc(n)||void 0!==t&&!pc(t))return i[1]=function(t,e){if(fc(n)&&(e=dc(n,this,mc(t),e)),!pc(e))return e},lc(bc,null,i)},Dc=function(t,e,i){var n=kc(i,e-1),o=kc(i,e+1);return wc(Cc,t)&&!wc(Sc,o)||wc(Sc,t)&&!wc(Cc,n)?"\\u"+Ec(_c(t,0),16):t};bc&&ac({target:"JSON",stat:!0,arity:3,forced:Tc||Mc},{stringify:function(t,e,i){var n=vc(arguments),o=lc(Tc?Pc:bc,null,n);return Mc&&"string"==typeof o?xc(o,Oc,Dc):o}});var Ic=nn,Bc=Gt;Si({target:"Object",stat:!0,forced:!mt||r((function(){Ic.f(1)}))},{getOwnPropertySymbols:function(t){var e=Ic.f;return e?e(Bc(t)):[]}}),bl("asyncIterator"),bl("hasInstance"),bl("isConcatSpreadable"),bl("iterator"),bl("match"),bl("matchAll"),bl("replace"),bl("search"),bl("species"),bl("split");var Nc=El;bl("toPrimitive"),Nc();var Fc=st,zc=Xr;bl("toStringTag"),zc(Fc("Symbol"),"Symbol"),bl("unscopables"),Xr(o.JSON,"JSON",!0);var Ac=et.Symbol;bl("dispose");var jc=Ac;bl("asyncDispose");var Rc=Si,Lc=g,Hc=st("Symbol"),Wc=Hc.keyFor,qc=Lc(Hc.prototype.valueOf);Rc({target:"Symbol",stat:!0},{isRegistered:function(t){try{return void 0!==Wc(qc(t))}catch(t){return!1}}});for(var Vc=Si,Uc=Ut,Yc=st,Xc=g,Gc=Et,Kc=ce,$c=Yc("Symbol"),Zc=$c.isWellKnown,Qc=Yc("Object","getOwnPropertyNames"),Jc=Xc($c.prototype.valueOf),tu=Uc("wks"),eu=0,iu=Qc($c),nu=iu.length;eu<nu;eu++)try{var ou=iu[eu];Gc($c[ou])&&Kc(ou)}catch(t){}Vc({target:"Symbol",stat:!0,forced:!0},{isWellKnown:function(t){if(Zc&&Zc(t))return!0;try{for(var e=Jc(t),i=0,n=Qc(tu),o=n.length;i<o;i++)if(tu[n[i]]==e)return!0}catch(t){}return!1}}),bl("matcher"),bl("metadataKey"),bl("observable"),bl("metadata"),bl("patternMatch"),bl("replaceAll");var ru=jc,su=i(ru),au=fl.f("iterator"),hu=au,lu=i(hu);function du(t){return du="function"==typeof su&&"symbol"==typeof lu?function(t){return typeof t}:function(t){return t&&"function"==typeof su&&t.constructor===su&&t!==su.prototype?"symbol":typeof t},du(t)}var cu=i(fl.f("toPrimitive"));function uu(t){var e=function(t,e){if("object"!==du(t)||null===t)return t;var i=t[cu];if(void 0!==i){var n=i.call(t,e||"default");if("object"!==du(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"===du(e)?e:String(e)}function fu(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),wh(t,uu(n.key),n)}}function pu(t,e,i){return e&&fu(t.prototype,e),i&&fu(t,i),wh(t,"prototype",{writable:!1}),t}Si({target:"Array",stat:!0},{isArray:_h});var vu=et.Array.isArray,gu=i(vu);var yu=Si,mu=_h,bu=la,wu=tt,ku=Fi,_u=Ri,xu=Z,Eu=fa,Ou=ce,Cu=bn,Su=Fh("slice"),Tu=Ou("species"),Mu=Array,Pu=Math.max;yu({target:"Array",proto:!0,forced:!Su},{slice:function(t,e){var i,n,o,r=xu(this),s=_u(r),a=ku(t,s),h=ku(void 0===e?s:e,s);if(mu(r)&&(i=r.constructor,(bu(i)&&(i===Mu||mu(i.prototype))||wu(i)&&null===(i=i[Tu]))&&(i=void 0),i===Mu||void 0===i))return Cu(r,a,h);for(n=new(void 0===i?Mu:i)(Pu(h-a,0)),o=0;a<h;a++,o++)a in r&&Eu(n,o,r[a]);return n.length=o,n}});var Du=Bn("Array").slice,Iu=at,Bu=Du,Nu=Array.prototype,Fu=function(t){var e=t.slice;return t===Nu||Iu(Nu,t)&&e===Nu.slice?Bu:e},zu=Fu,Au=zu,ju=i(Au),Ru=i(Va);function Lu(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}function Hu(t,e){var i;if(t){if("string"==typeof t)return Lu(t,e);var n=ju(i=Object.prototype.toString.call(t)).call(i,8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Ru(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Lu(t,e):void 0}}function Wu(t,e){return function(t){if(gu(t))return t}(t)||function(t,e){var i=null==t?null:void 0!==su&&dh(t)||t["@@iterator"];if(null!=i){var n,o,r,s,a=[],h=!0,l=!1;try{if(r=(i=i.call(t)).next,0===e){if(Object(i)!==i)return;h=!1}else for(;!(h=(n=r.call(i)).done)&&(a.push(n.value),a.length!==e);h=!0);}catch(t){l=!0,o=t}finally{try{if(!h&&null!=i.return&&(s=i.return(),Object(s)!==s))return}finally{if(l)throw o}}return a}}(t,e)||Hu(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function qu(t){return function(t){if(gu(t))return Lu(t)}(t)||function(t){if(void 0!==su&&null!=dh(t)||null!=t["@@iterator"])return Ru(t)}(t)||Hu(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var Vu=i(Ac),Uu=Bn("Array").concat,Yu=at,Xu=Uu,Gu=Array.prototype,Ku=function(t){var e=t.concat;return t===Gu||Yu(Gu,t)&&e===Gu.concat?Xu:e},$u=i(Ku),Zu=i(zu),Qu=st,Ju=$h,tf=nn,ef=ei,nf=g([].concat),of=Qu("Reflect","ownKeys")||function(t){var e=Ju.f(ef(t)),i=tf.f;return i?nf(e,i(t)):e};Si({target:"Reflect",stat:!0},{ownKeys:of});var rf=i(et.Reflect.ownKeys),sf=i(vu),af=Il.map;Si({target:"Array",proto:!0,forced:!Fh("map")},{map:function(t){return af(this,t,arguments.length>1?arguments[1]:void 0)}});var hf=Bn("Array").map,lf=at,df=hf,cf=Array.prototype,uf=function(t){var e=t.map;return t===cf||lf(cf,t)&&e===cf.map?df:e},ff=i(uf),pf=Gt,vf=en;Si({target:"Object",stat:!0,forced:r((function(){vf(1)}))},{keys:function(t){return vf(pf(t))}});var gf=i(et.Object.keys),yf=Si,mf=Date,bf=g(mf.prototype.getTime);yf({target:"Date",stat:!0},{now:function(){return bf(new mf)}});var wf=i(et.Date.now),kf=r,_f=function(t,e){var i=[][t];return!!i&&kf((function(){i.call(null,e||function(){return 1},1)}))},xf=Il.forEach,Ef=_f("forEach")?[].forEach:function(t){return xf(this,t,arguments.length>1?arguments[1]:void 0)};Si({target:"Array",proto:!0,forced:[].forEach!=Ef},{forEach:Ef});var Of=Bn("Array").forEach,Cf=so,Sf=Zt,Tf=at,Mf=Of,Pf=Array.prototype,Df={DOMTokenList:!0,NodeList:!0},If=function(t){var e=t.forEach;return t===Pf||Tf(Pf,t)&&e===Pf.forEach||Sf(Df,Cf(t))?Mf:e},Bf=i(If),Nf=Si,Ff=_h,zf=g([].reverse),Af=[1,2];Nf({target:"Array",proto:!0,forced:String(Af)===String(Af.reverse())},{reverse:function(){return Ff(this)&&(this.length=this.length),zf(this)}});var jf=Bn("Array").reverse,Rf=at,Lf=jf,Hf=Array.prototype,Wf=function(t){var e=t.reverse;return t===Hf||Rf(Hf,t)&&e===Hf.reverse?Lf:e},qf=Wf,Vf=i(qf),Uf=M,Yf=_h,Xf=TypeError,Gf=Object.getOwnPropertyDescriptor,Kf=Uf&&!function(){if(void 0!==this)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(t){return t instanceof TypeError}}(),$f=Ct,Zf=TypeError,Qf=function(t,e){if(!delete t[e])throw Zf("Cannot delete property "+$f(e)+" of "+$f(t))},Jf=Si,tp=Gt,ep=Fi,ip=Di,np=Ri,op=Kf?function(t,e){if(Yf(t)&&!Gf(t,"length").writable)throw Xf("Cannot set read only .length");return t.length=e}:function(t,e){return t.length=e},rp=Eh,sp=Dh,ap=fa,hp=Qf,lp=Fh("splice"),dp=Math.max,cp=Math.min;Jf({target:"Array",proto:!0,forced:!lp},{splice:function(t,e){var i,n,o,r,s,a,h=tp(this),l=np(h),d=ep(t,l),c=arguments.length;for(0===c?i=n=0:1===c?(i=0,n=l-d):(i=c-2,n=cp(dp(ip(e),0),l-d)),rp(l+i-n),o=sp(h,n),r=0;r<n;r++)(s=d+r)in h&&ap(o,r,h[s]);if(o.length=n,i<n){for(r=d;r<l-n;r++)a=r+i,(s=r+n)in h?h[a]=h[s]:hp(h,a);for(r=l;r>l-n+i;r--)hp(h,r-1)}else if(i>n)for(r=l-n;r>d;r--)a=r+i-1,(s=r+n-1)in h?h[a]=h[s]:hp(h,a);for(r=0;r<i;r++)h[r+d]=arguments[r+2];return op(h,l-n+i),o}});var up=Bn("Array").splice,fp=at,pp=up,vp=Array.prototype,gp=function(t){var e=t.splice;return t===vp||fp(vp,t)&&e===vp.splice?pp:e},yp=i(gp),mp=Vi.includes;Si({target:"Array",proto:!0,forced:r((function(){return!Array(1).includes()}))},{includes:function(t){return mp(this,t,arguments.length>1?arguments[1]:void 0)}});var bp=Bn("Array").includes,wp=tt,kp=w,_p=ce("match"),xp=function(t){var e;return wp(t)&&(void 0!==(e=t[_p])?!!e:"RegExp"==kp(t))},Ep=TypeError,Op=ce("match"),Cp=Si,Sp=function(t){if(xp(t))throw Ep("The method doesn't accept regular expressions");return t},Tp=G,Mp=lo,Pp=function(t){var e=/./;try{"/./"[t](e)}catch(i){try{return e[Op]=!1,"/./"[t](e)}catch(t){}}return!1},Dp=g("".indexOf);Cp({target:"String",proto:!0,forced:!Pp("includes")},{includes:function(t){return!!~Dp(Mp(Tp(this)),Mp(Sp(t)),arguments.length>1?arguments[1]:void 0)}});var Ip=Bn("String").includes,Bp=at,Np=bp,Fp=Ip,zp=Array.prototype,Ap=String.prototype,jp=function(t){var e=t.includes;return t===zp||Bp(zp,t)&&e===zp.includes?Np:"string"==typeof t||t===Ap||Bp(Ap,t)&&e===Ap.includes?Fp:e},Rp=i(jp),Lp=Gt,Hp=Cr,Wp=mr;Si({target:"Object",stat:!0,forced:r((function(){Hp(1)})),sham:!Wp},{getPrototypeOf:function(t){return Hp(Lp(t))}});var qp=et.Object.getPrototypeOf,Vp=i(qp),Up=Il.filter;Si({target:"Array",proto:!0,forced:!Fh("filter")},{filter:function(t){return Up(this,t,arguments.length>1?arguments[1]:void 0)}});var Yp=Bn("Array").filter,Xp=at,Gp=Yp,Kp=Array.prototype,$p=function(t){var e=t.filter;return t===Kp||Xp(Kp,t)&&e===Kp.filter?Gp:e},Zp=i($p),Qp=M,Jp=g,tv=en,ev=Z,iv=Jp(B.f),nv=Jp([].push),ov=function(t){return function(e){for(var i,n=ev(e),o=tv(n),r=o.length,s=0,a=[];r>s;)i=o[s++],Qp&&!iv(n,i)||nv(a,t?[i,n[i]]:n[i]);return a}},rv={entries:ov(!0),values:ov(!1)},sv=rv.values;Si({target:"Object",stat:!0},{values:function(t){return sv(t)}});var av=i(et.Object.values),hv="\t\n\v\f\r                \u2028\u2029\ufeff",lv=G,dv=lo,cv=hv,uv=g("".replace),fv=RegExp("^["+cv+"]+"),pv=RegExp("(^|[^"+cv+"])["+cv+"]+$"),vv=function(t){return function(e){var i=dv(lv(e));return 1&t&&(i=uv(i,fv,"")),2&t&&(i=uv(i,pv,"$1")),i}},gv={start:vv(1),end:vv(2),trim:vv(3)},yv=o,mv=r,bv=g,wv=lo,kv=gv.trim,_v=hv,xv=yv.parseInt,Ev=yv.Symbol,Ov=Ev&&Ev.iterator,Cv=/^[+-]?0x/i,Sv=bv(Cv.exec),Tv=8!==xv(_v+"08")||22!==xv(_v+"0x16")||Ov&&!mv((function(){xv(Object(Ov))}))?function(t,e){var i=kv(wv(t));return xv(i,e>>>0||(Sv(Cv,i)?16:10))}:xv;Si({global:!0,forced:parseInt!=Tv},{parseInt:Tv});var Mv=i(et.parseInt),Pv=Si,Dv=Vi.indexOf,Iv=_f,Bv=x([].indexOf),Nv=!!Bv&&1/Bv([1],1,-0)<0;Pv({target:"Array",proto:!0,forced:Nv||!Iv("indexOf")},{indexOf:function(t){var e=arguments.length>1?arguments[1]:void 0;return Nv?Bv(this,t,e)||0:Dv(this,t,e)}});var Fv=Bn("Array").indexOf,zv=at,Av=Fv,jv=Array.prototype,Rv=function(t){var e=t.indexOf;return t===jv||zv(jv,t)&&e===jv.indexOf?Av:e},Lv=i(Rv),Hv=rv.entries;Si({target:"Object",stat:!0},{entries:function(t){return Hv(t)}});var Wv=i(et.Object.entries);Si({target:"Object",stat:!0,sham:!M},{create:yr});var qv=et.Object,Vv=function(t,e){return qv.create(t,e)},Uv=i(Vv),Yv=et,Xv=c;Yv.JSON||(Yv.JSON={stringify:JSON.stringify});var Gv=function(t,e,i){return Xv(Yv.JSON.stringify,null,arguments)},Kv=i(Gv),$v="function"==typeof Bun&&Bun&&"string"==typeof Bun.version,Zv=TypeError,Qv=function(t,e){if(t<e)throw Zv("Not enough arguments");return t},Jv=o,tg=c,eg=S,ig=$v,ng=ht,og=bn,rg=Qv,sg=Jv.Function,ag=/MSIE .\./.test(ng)||ig&&function(){var t=Jv.Bun.version.split(".");return t.length<3||0==t[0]&&(t[1]<3||3==t[1]&&0==t[2])}(),hg=function(t,e){var i=e?2:1;return ag?function(n,o){var r=rg(arguments.length,1)>i,s=eg(n)?n:sg(n),a=r?og(arguments,i):[],h=r?function(){tg(s,this,a)}:s;return e?t(h,o):t(h)}:t},lg=Si,dg=o,cg=hg(dg.setInterval,!0);lg({global:!0,bind:!0,forced:dg.setInterval!==cg},{setInterval:cg});var ug=Si,fg=o,pg=hg(fg.setTimeout,!0);ug({global:!0,bind:!0,forced:fg.setTimeout!==pg},{setTimeout:pg});var vg=i(et.setTimeout),gg=Gt,yg=Fi,mg=Ri,bg=function(t){for(var e=gg(this),i=mg(e),n=arguments.length,o=yg(n>1?arguments[1]:void 0,i),r=n>2?arguments[2]:void 0,s=void 0===r?i:yg(r,i);s>o;)e[o++]=t;return e};Si({target:"Array",proto:!0},{fill:bg});var wg,kg=Bn("Array").fill,_g=at,xg=kg,Eg=Array.prototype,Og=function(t){var e=t.fill;return t===Eg||_g(Eg,t)&&e===Eg.fill?xg:e},Cg=i(Og);function Sg(){return Sg=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var i=arguments[e];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(t[n]=i[n])}return t},Sg.apply(this,arguments)}function Tg(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.__proto__=e}function Mg(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}wg="function"!=typeof Object.assign?function(t){if(null==t)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(t),i=1;i<arguments.length;i++){var n=arguments[i];if(null!=n)for(var o in n)n.hasOwnProperty(o)&&(e[o]=n[o])}return e}:Object.assign;var Pg,Dg=wg,Ig=["","webkit","Moz","MS","ms","o"],Bg="undefined"==typeof document?{style:{}}:document.createElement("div"),Ng=Math.round,Fg=Math.abs,zg=Date.now;function Ag(t,e){for(var i,n,o=e[0].toUpperCase()+e.slice(1),r=0;r<Ig.length;){if((n=(i=Ig[r])?i+o:e)in t)return n;r++}}Pg="undefined"==typeof window?{}:window;var jg=Ag(Bg.style,"touchAction"),Rg=void 0!==jg;var Lg="compute",Hg="auto",Wg="manipulation",qg="none",Vg="pan-x",Ug="pan-y",Yg=function(){if(!Rg)return!1;var t={},e=Pg.CSS&&Pg.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach((function(i){return t[i]=!e||Pg.CSS.supports("touch-action",i)})),t}(),Xg="ontouchstart"in Pg,Gg=void 0!==Ag(Pg,"PointerEvent"),Kg=Xg&&/mobile|tablet|ip(ad|hone|od)|android/i.test(navigator.userAgent),$g="touch",Zg="mouse",Qg=25,Jg=1,ty=4,ey=8,iy=1,ny=2,oy=4,ry=8,sy=16,ay=ny|oy,hy=ry|sy,ly=ay|hy,dy=["x","y"],cy=["clientX","clientY"];function uy(t,e,i){var n;if(t)if(t.forEach)t.forEach(e,i);else if(void 0!==t.length)for(n=0;n<t.length;)e.call(i,t[n],n,t),n++;else for(n in t)t.hasOwnProperty(n)&&e.call(i,t[n],n,t)}function fy(t,e){return"function"==typeof t?t.apply(e&&e[0]||void 0,e):t}function py(t,e){return t.indexOf(e)>-1}var vy=function(){function t(t,e){this.manager=t,this.set(e)}var e=t.prototype;return e.set=function(t){t===Lg&&(t=this.compute()),Rg&&this.manager.element.style&&Yg[t]&&(this.manager.element.style[jg]=t),this.actions=t.toLowerCase().trim()},e.update=function(){this.set(this.manager.options.touchAction)},e.compute=function(){var t=[];return uy(this.manager.recognizers,(function(e){fy(e.options.enable,[e])&&(t=t.concat(e.getTouchAction()))})),function(t){if(py(t,qg))return qg;var e=py(t,Vg),i=py(t,Ug);return e&&i?qg:e||i?e?Vg:Ug:py(t,Wg)?Wg:Hg}(t.join(" "))},e.preventDefaults=function(t){var e=t.srcEvent,i=t.offsetDirection;if(this.manager.session.prevented)e.preventDefault();else{var n=this.actions,o=py(n,qg)&&!Yg[qg],r=py(n,Ug)&&!Yg[Ug],s=py(n,Vg)&&!Yg[Vg];if(o){var a=1===t.pointers.length,h=t.distance<2,l=t.deltaTime<250;if(a&&h&&l)return}if(!s||!r)return o||r&&i&ay||s&&i&hy?this.preventSrc(e):void 0}},e.preventSrc=function(t){this.manager.session.prevented=!0,t.preventDefault()},t}();function gy(t,e){for(;t;){if(t===e)return!0;t=t.parentNode}return!1}function yy(t){var e=t.length;if(1===e)return{x:Ng(t[0].clientX),y:Ng(t[0].clientY)};for(var i=0,n=0,o=0;o<e;)i+=t[o].clientX,n+=t[o].clientY,o++;return{x:Ng(i/e),y:Ng(n/e)}}function my(t){for(var e=[],i=0;i<t.pointers.length;)e[i]={clientX:Ng(t.pointers[i].clientX),clientY:Ng(t.pointers[i].clientY)},i++;return{timeStamp:zg(),pointers:e,center:yy(e),deltaX:t.deltaX,deltaY:t.deltaY}}function by(t,e,i){i||(i=dy);var n=e[i[0]]-t[i[0]],o=e[i[1]]-t[i[1]];return Math.sqrt(n*n+o*o)}function wy(t,e,i){i||(i=dy);var n=e[i[0]]-t[i[0]],o=e[i[1]]-t[i[1]];return 180*Math.atan2(o,n)/Math.PI}function ky(t,e){return t===e?iy:Fg(t)>=Fg(e)?t<0?ny:oy:e<0?ry:sy}function _y(t,e,i){return{x:e/t||0,y:i/t||0}}function xy(t,e){var i=t.session,n=e.pointers,o=n.length;i.firstInput||(i.firstInput=my(e)),o>1&&!i.firstMultiple?i.firstMultiple=my(e):1===o&&(i.firstMultiple=!1);var r=i.firstInput,s=i.firstMultiple,a=s?s.center:r.center,h=e.center=yy(n);e.timeStamp=zg(),e.deltaTime=e.timeStamp-r.timeStamp,e.angle=wy(a,h),e.distance=by(a,h),function(t,e){var i=e.center,n=t.offsetDelta||{},o=t.prevDelta||{},r=t.prevInput||{};e.eventType!==Jg&&r.eventType!==ty||(o=t.prevDelta={x:r.deltaX||0,y:r.deltaY||0},n=t.offsetDelta={x:i.x,y:i.y}),e.deltaX=o.x+(i.x-n.x),e.deltaY=o.y+(i.y-n.y)}(i,e),e.offsetDirection=ky(e.deltaX,e.deltaY);var l,d,c=_y(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=c.x,e.overallVelocityY=c.y,e.overallVelocity=Fg(c.x)>Fg(c.y)?c.x:c.y,e.scale=s?(l=s.pointers,by((d=n)[0],d[1],cy)/by(l[0],l[1],cy)):1,e.rotation=s?function(t,e){return wy(e[1],e[0],cy)+wy(t[1],t[0],cy)}(s.pointers,n):0,e.maxPointers=i.prevInput?e.pointers.length>i.prevInput.maxPointers?e.pointers.length:i.prevInput.maxPointers:e.pointers.length,function(t,e){var i,n,o,r,s=t.lastInterval||e,a=e.timeStamp-s.timeStamp;if(e.eventType!==ey&&(a>Qg||void 0===s.velocity)){var h=e.deltaX-s.deltaX,l=e.deltaY-s.deltaY,d=_y(a,h,l);n=d.x,o=d.y,i=Fg(d.x)>Fg(d.y)?d.x:d.y,r=ky(h,l),t.lastInterval=e}else i=s.velocity,n=s.velocityX,o=s.velocityY,r=s.direction;e.velocity=i,e.velocityX=n,e.velocityY=o,e.direction=r}(i,e);var u,f=t.element,p=e.srcEvent;gy(u=p.composedPath?p.composedPath()[0]:p.path?p.path[0]:p.target,f)&&(f=u),e.target=f}function Ey(t,e,i){var n=i.pointers.length,o=i.changedPointers.length,r=e&Jg&&n-o==0,s=e&(ty|ey)&&n-o==0;i.isFirst=!!r,i.isFinal=!!s,r&&(t.session={}),i.eventType=e,xy(t,i),t.emit("hammer.input",i),t.recognize(i),t.session.prevInput=i}function Oy(t){return t.trim().split(/\s+/g)}function Cy(t,e,i){uy(Oy(e),(function(e){t.addEventListener(e,i,!1)}))}function Sy(t,e,i){uy(Oy(e),(function(e){t.removeEventListener(e,i,!1)}))}function Ty(t){var e=t.ownerDocument||t;return e.defaultView||e.parentWindow||window}var My=function(){function t(t,e){var i=this;this.manager=t,this.callback=e,this.element=t.element,this.target=t.options.inputTarget,this.domHandler=function(e){fy(t.options.enable,[t])&&i.handler(e)},this.init()}var e=t.prototype;return e.handler=function(){},e.init=function(){this.evEl&&Cy(this.element,this.evEl,this.domHandler),this.evTarget&&Cy(this.target,this.evTarget,this.domHandler),this.evWin&&Cy(Ty(this.element),this.evWin,this.domHandler)},e.destroy=function(){this.evEl&&Sy(this.element,this.evEl,this.domHandler),this.evTarget&&Sy(this.target,this.evTarget,this.domHandler),this.evWin&&Sy(Ty(this.element),this.evWin,this.domHandler)},t}();function Py(t,e,i){if(t.indexOf&&!i)return t.indexOf(e);for(var n=0;n<t.length;){if(i&&t[n][i]==e||!i&&t[n]===e)return n;n++}return-1}var Dy={pointerdown:Jg,pointermove:2,pointerup:ty,pointercancel:ey,pointerout:ey},Iy={2:$g,3:"pen",4:Zg,5:"kinect"},By="pointerdown",Ny="pointermove pointerup pointercancel";Pg.MSPointerEvent&&!Pg.PointerEvent&&(By="MSPointerDown",Ny="MSPointerMove MSPointerUp MSPointerCancel");var Fy=function(t){function e(){var i,n=e.prototype;return n.evEl=By,n.evWin=Ny,(i=t.apply(this,arguments)||this).store=i.manager.session.pointerEvents=[],i}return Tg(e,t),e.prototype.handler=function(t){var e=this.store,i=!1,n=t.type.toLowerCase().replace("ms",""),o=Dy[n],r=Iy[t.pointerType]||t.pointerType,s=r===$g,a=Py(e,t.pointerId,"pointerId");o&Jg&&(0===t.button||s)?a<0&&(e.push(t),a=e.length-1):o&(ty|ey)&&(i=!0),a<0||(e[a]=t,this.callback(this.manager,o,{pointers:e,changedPointers:[t],pointerType:r,srcEvent:t}),i&&e.splice(a,1))},e}(My);function zy(t){return Array.prototype.slice.call(t,0)}function Ay(t,e,i){for(var n=[],o=[],r=0;r<t.length;){var s=e?t[r][e]:t[r];Py(o,s)<0&&n.push(t[r]),o[r]=s,r++}return i&&(n=e?n.sort((function(t,i){return t[e]>i[e]})):n.sort()),n}var jy={touchstart:Jg,touchmove:2,touchend:ty,touchcancel:ey},Ry=function(t){function e(){var i;return e.prototype.evTarget="touchstart touchmove touchend touchcancel",(i=t.apply(this,arguments)||this).targetIds={},i}return Tg(e,t),e.prototype.handler=function(t){var e=jy[t.type],i=Ly.call(this,t,e);i&&this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:$g,srcEvent:t})},e}(My);function Ly(t,e){var i,n,o=zy(t.touches),r=this.targetIds;if(e&(2|Jg)&&1===o.length)return r[o[0].identifier]=!0,[o,o];var s=zy(t.changedTouches),a=[],h=this.target;if(n=o.filter((function(t){return gy(t.target,h)})),e===Jg)for(i=0;i<n.length;)r[n[i].identifier]=!0,i++;for(i=0;i<s.length;)r[s[i].identifier]&&a.push(s[i]),e&(ty|ey)&&delete r[s[i].identifier],i++;return a.length?[Ay(n.concat(a),"identifier",!0),a]:void 0}var Hy={mousedown:Jg,mousemove:2,mouseup:ty},Wy=function(t){function e(){var i,n=e.prototype;return n.evEl="mousedown",n.evWin="mousemove mouseup",(i=t.apply(this,arguments)||this).pressed=!1,i}return Tg(e,t),e.prototype.handler=function(t){var e=Hy[t.type];e&Jg&&0===t.button&&(this.pressed=!0),2&e&&1!==t.which&&(e=ty),this.pressed&&(e&ty&&(this.pressed=!1),this.callback(this.manager,e,{pointers:[t],changedPointers:[t],pointerType:Zg,srcEvent:t}))},e}(My),qy=2500;function Vy(t){var e=t.changedPointers[0];if(e.identifier===this.primaryTouch){var i={x:e.clientX,y:e.clientY},n=this.lastTouches;this.lastTouches.push(i);setTimeout((function(){var t=n.indexOf(i);t>-1&&n.splice(t,1)}),qy)}}function Uy(t,e){t&Jg?(this.primaryTouch=e.changedPointers[0].identifier,Vy.call(this,e)):t&(ty|ey)&&Vy.call(this,e)}function Yy(t){for(var e=t.srcEvent.clientX,i=t.srcEvent.clientY,n=0;n<this.lastTouches.length;n++){var o=this.lastTouches[n],r=Math.abs(e-o.x),s=Math.abs(i-o.y);if(r<=25&&s<=25)return!0}return!1}var Xy=function(){return function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this).handler=function(t,e,i){var o=i.pointerType===$g,r=i.pointerType===Zg;if(!(r&&i.sourceCapabilities&&i.sourceCapabilities.firesTouchEvents)){if(o)Uy.call(Mg(Mg(n)),e,i);else if(r&&Yy.call(Mg(Mg(n)),i))return;n.callback(t,e,i)}},n.touch=new Ry(n.manager,n.handler),n.mouse=new Wy(n.manager,n.handler),n.primaryTouch=null,n.lastTouches=[],n}return Tg(e,t),e.prototype.destroy=function(){this.touch.destroy(),this.mouse.destroy()},e}(My)}();function Gy(t,e,i){return!!Array.isArray(t)&&(uy(t,i[e],i),!0)}var Ky=32,$y=1;function Zy(t,e){var i=e.manager;return i?i.get(t):t}function Qy(t){return 16&t?"cancel":8&t?"end":4&t?"move":2&t?"start":""}var Jy=function(){function t(t){void 0===t&&(t={}),this.options=Sg({enable:!0},t),this.id=$y++,this.manager=null,this.state=1,this.simultaneous={},this.requireFail=[]}var e=t.prototype;return e.set=function(t){return Dg(this.options,t),this.manager&&this.manager.touchAction.update(),this},e.recognizeWith=function(t){if(Gy(t,"recognizeWith",this))return this;var e=this.simultaneous;return e[(t=Zy(t,this)).id]||(e[t.id]=t,t.recognizeWith(this)),this},e.dropRecognizeWith=function(t){return Gy(t,"dropRecognizeWith",this)||(t=Zy(t,this),delete this.simultaneous[t.id]),this},e.requireFailure=function(t){if(Gy(t,"requireFailure",this))return this;var e=this.requireFail;return-1===Py(e,t=Zy(t,this))&&(e.push(t),t.requireFailure(this)),this},e.dropRequireFailure=function(t){if(Gy(t,"dropRequireFailure",this))return this;t=Zy(t,this);var e=Py(this.requireFail,t);return e>-1&&this.requireFail.splice(e,1),this},e.hasRequireFailures=function(){return this.requireFail.length>0},e.canRecognizeWith=function(t){return!!this.simultaneous[t.id]},e.emit=function(t){var e=this,i=this.state;function n(i){e.manager.emit(i,t)}i<8&&n(e.options.event+Qy(i)),n(e.options.event),t.additionalEvent&&n(t.additionalEvent),i>=8&&n(e.options.event+Qy(i))},e.tryEmit=function(t){if(this.canEmit())return this.emit(t);this.state=Ky},e.canEmit=function(){for(var t=0;t<this.requireFail.length;){if(!(33&this.requireFail[t].state))return!1;t++}return!0},e.recognize=function(t){var e=Dg({},t);if(!fy(this.options.enable,[this,e]))return this.reset(),void(this.state=Ky);56&this.state&&(this.state=1),this.state=this.process(e),30&this.state&&this.tryEmit(e)},e.process=function(t){},e.getTouchAction=function(){},e.reset=function(){},t}(),tm=function(t){function e(e){var i;return void 0===e&&(e={}),(i=t.call(this,Sg({event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},e))||this).pTime=!1,i.pCenter=!1,i._timer=null,i._input=null,i.count=0,i}Tg(e,t);var i=e.prototype;return i.getTouchAction=function(){return[Wg]},i.process=function(t){var e=this,i=this.options,n=t.pointers.length===i.pointers,o=t.distance<i.threshold,r=t.deltaTime<i.time;if(this.reset(),t.eventType&Jg&&0===this.count)return this.failTimeout();if(o&&r&&n){if(t.eventType!==ty)return this.failTimeout();var s=!this.pTime||t.timeStamp-this.pTime<i.interval,a=!this.pCenter||by(this.pCenter,t.center)<i.posThreshold;if(this.pTime=t.timeStamp,this.pCenter=t.center,a&&s?this.count+=1:this.count=1,this._input=t,0===this.count%i.taps)return this.hasRequireFailures()?(this._timer=setTimeout((function(){e.state=8,e.tryEmit()}),i.interval),2):8}return Ky},i.failTimeout=function(){var t=this;return this._timer=setTimeout((function(){t.state=Ky}),this.options.interval),Ky},i.reset=function(){clearTimeout(this._timer)},i.emit=function(){8===this.state&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))},e}(Jy),em=function(t){function e(e){return void 0===e&&(e={}),t.call(this,Sg({pointers:1},e))||this}Tg(e,t);var i=e.prototype;return i.attrTest=function(t){var e=this.options.pointers;return 0===e||t.pointers.length===e},i.process=function(t){var e=this.state,i=t.eventType,n=6&e,o=this.attrTest(t);return n&&(i&ey||!o)?16|e:n||o?i&ty?8|e:2&e?4|e:2:Ky},e}(Jy);function im(t){return t===sy?"down":t===ry?"up":t===ny?"left":t===oy?"right":""}var nm=function(t){function e(e){var i;return void 0===e&&(e={}),(i=t.call(this,Sg({event:"pan",threshold:10,pointers:1,direction:ly},e))||this).pX=null,i.pY=null,i}Tg(e,t);var i=e.prototype;return i.getTouchAction=function(){var t=this.options.direction,e=[];return t&ay&&e.push(Ug),t&hy&&e.push(Vg),e},i.directionTest=function(t){var e=this.options,i=!0,n=t.distance,o=t.direction,r=t.deltaX,s=t.deltaY;return o&e.direction||(e.direction&ay?(o=0===r?iy:r<0?ny:oy,i=r!==this.pX,n=Math.abs(t.deltaX)):(o=0===s?iy:s<0?ry:sy,i=s!==this.pY,n=Math.abs(t.deltaY))),t.direction=o,i&&n>e.threshold&&o&e.direction},i.attrTest=function(t){return em.prototype.attrTest.call(this,t)&&(2&this.state||!(2&this.state)&&this.directionTest(t))},i.emit=function(e){this.pX=e.deltaX,this.pY=e.deltaY;var i=im(e.direction);i&&(e.additionalEvent=this.options.event+i),t.prototype.emit.call(this,e)},e}(em),om=function(t){function e(e){return void 0===e&&(e={}),t.call(this,Sg({event:"swipe",threshold:10,velocity:.3,direction:ay|hy,pointers:1},e))||this}Tg(e,t);var i=e.prototype;return i.getTouchAction=function(){return nm.prototype.getTouchAction.call(this)},i.attrTest=function(e){var i,n=this.options.direction;return n&(ay|hy)?i=e.overallVelocity:n&ay?i=e.overallVelocityX:n&hy&&(i=e.overallVelocityY),t.prototype.attrTest.call(this,e)&&n&e.offsetDirection&&e.distance>this.options.threshold&&e.maxPointers===this.options.pointers&&Fg(i)>this.options.velocity&&e.eventType&ty},i.emit=function(t){var e=im(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)},e}(em),rm=function(t){function e(e){return void 0===e&&(e={}),t.call(this,Sg({event:"pinch",threshold:0,pointers:2},e))||this}Tg(e,t);var i=e.prototype;return i.getTouchAction=function(){return[qg]},i.attrTest=function(e){return t.prototype.attrTest.call(this,e)&&(Math.abs(e.scale-1)>this.options.threshold||2&this.state)},i.emit=function(e){if(1!==e.scale){var i=e.scale<1?"in":"out";e.additionalEvent=this.options.event+i}t.prototype.emit.call(this,e)},e}(em),sm=function(t){function e(e){return void 0===e&&(e={}),t.call(this,Sg({event:"rotate",threshold:0,pointers:2},e))||this}Tg(e,t);var i=e.prototype;return i.getTouchAction=function(){return[qg]},i.attrTest=function(e){return t.prototype.attrTest.call(this,e)&&(Math.abs(e.rotation)>this.options.threshold||2&this.state)},e}(em),am=function(t){function e(e){var i;return void 0===e&&(e={}),(i=t.call(this,Sg({event:"press",pointers:1,time:251,threshold:9},e))||this)._timer=null,i._input=null,i}Tg(e,t);var i=e.prototype;return i.getTouchAction=function(){return[Hg]},i.process=function(t){var e=this,i=this.options,n=t.pointers.length===i.pointers,o=t.distance<i.threshold,r=t.deltaTime>i.time;if(this._input=t,!o||!n||t.eventType&(ty|ey)&&!r)this.reset();else if(t.eventType&Jg)this.reset(),this._timer=setTimeout((function(){e.state=8,e.tryEmit()}),i.time);else if(t.eventType&ty)return 8;return Ky},i.reset=function(){clearTimeout(this._timer)},i.emit=function(t){8===this.state&&(t&&t.eventType&ty?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=zg(),this.manager.emit(this.options.event,this._input)))},e}(Jy),hm={domEvents:!1,touchAction:Lg,enable:!0,inputTarget:null,inputClass:null,cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},lm=[[sm,{enable:!1}],[rm,{enable:!1},["rotate"]],[om,{direction:ay}],[nm,{direction:ay},["swipe"]],[tm],[tm,{event:"doubletap",taps:2},["tap"]],[am]];function dm(t,e){var i,n=t.element;n.style&&(uy(t.options.cssProps,(function(o,r){i=Ag(n.style,r),e?(t.oldCssProps[i]=n.style[i],n.style[i]=o):n.style[i]=t.oldCssProps[i]||""})),e||(t.oldCssProps={}))}var cm=function(){function t(t,e){var i,n=this;this.options=Dg({},hm,e||{}),this.options.inputTarget=this.options.inputTarget||t,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=t,this.input=new((i=this).options.inputClass||(Gg?Fy:Kg?Ry:Xg?Xy:Wy))(i,Ey),this.touchAction=new vy(this,this.options.touchAction),dm(this,!0),uy(this.options.recognizers,(function(t){var e=n.add(new t[0](t[1]));t[2]&&e.recognizeWith(t[2]),t[3]&&e.requireFailure(t[3])}),this)}var e=t.prototype;return e.set=function(t){return Dg(this.options,t),t.touchAction&&this.touchAction.update(),t.inputTarget&&(this.input.destroy(),this.input.target=t.inputTarget,this.input.init()),this},e.stop=function(t){this.session.stopped=t?2:1},e.recognize=function(t){var e=this.session;if(!e.stopped){var i;this.touchAction.preventDefaults(t);var n=this.recognizers,o=e.curRecognizer;(!o||o&&8&o.state)&&(e.curRecognizer=null,o=null);for(var r=0;r<n.length;)i=n[r],2===e.stopped||o&&i!==o&&!i.canRecognizeWith(o)?i.reset():i.recognize(t),!o&&14&i.state&&(e.curRecognizer=i,o=i),r++}},e.get=function(t){if(t instanceof Jy)return t;for(var e=this.recognizers,i=0;i<e.length;i++)if(e[i].options.event===t)return e[i];return null},e.add=function(t){if(Gy(t,"add",this))return this;var e=this.get(t.options.event);return e&&this.remove(e),this.recognizers.push(t),t.manager=this,this.touchAction.update(),t},e.remove=function(t){if(Gy(t,"remove",this))return this;var e=this.get(t);if(t){var i=this.recognizers,n=Py(i,e);-1!==n&&(i.splice(n,1),this.touchAction.update())}return this},e.on=function(t,e){if(void 0===t||void 0===e)return this;var i=this.handlers;return uy(Oy(t),(function(t){i[t]=i[t]||[],i[t].push(e)})),this},e.off=function(t,e){if(void 0===t)return this;var i=this.handlers;return uy(Oy(t),(function(t){e?i[t]&&i[t].splice(Py(i[t],e),1):delete i[t]})),this},e.emit=function(t,e){this.options.domEvents&&function(t,e){var i=document.createEvent("Event");i.initEvent(t,!0,!0),i.gesture=e,e.target.dispatchEvent(i)}(t,e);var i=this.handlers[t]&&this.handlers[t].slice();if(i&&i.length){e.type=t,e.preventDefault=function(){e.srcEvent.preventDefault()};for(var n=0;n<i.length;)i[n](e),n++}},e.destroy=function(){this.element&&dm(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null},t}(),um={touchstart:Jg,touchmove:2,touchend:ty,touchcancel:ey},fm=function(t){function e(){var i,n=e.prototype;return n.evTarget="touchstart",n.evWin="touchstart touchmove touchend touchcancel",(i=t.apply(this,arguments)||this).started=!1,i}return Tg(e,t),e.prototype.handler=function(t){var e=um[t.type];if(e===Jg&&(this.started=!0),this.started){var i=pm.call(this,t,e);e&(ty|ey)&&i[0].length-i[1].length==0&&(this.started=!1),this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:$g,srcEvent:t})}},e}(My);function pm(t,e){var i=zy(t.touches),n=zy(t.changedTouches);return e&(ty|ey)&&(i=Ay(i.concat(n),"identifier",!0)),[i,n]}function vm(t,e,i){var n="DEPRECATED METHOD: "+e+"\n"+i+" AT \n";return function(){var e=new Error("get-stack-trace"),i=e&&e.stack?e.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",o=window.console&&(window.console.warn||window.console.log);return o&&o.call(window.console,n,i),t.apply(this,arguments)}}var gm=vm((function(t,e,i){for(var n=Object.keys(e),o=0;o<n.length;)(!i||i&&void 0===t[n[o]])&&(t[n[o]]=e[n[o]]),o++;return t}),"extend","Use `assign`."),ym=vm((function(t,e){return gm(t,e,!0)}),"merge","Use `assign`.");function mm(t,e,i){var n,o=e.prototype;(n=t.prototype=Object.create(o)).constructor=t,n._super=o,i&&Dg(n,i)}function bm(t,e){return function(){return t.apply(e,arguments)}}var wm=function(){var t=function(t,e){return void 0===e&&(e={}),new cm(t,Sg({recognizers:lm.concat()},e))};return t.VERSION="2.0.17-rc",t.DIRECTION_ALL=ly,t.DIRECTION_DOWN=sy,t.DIRECTION_LEFT=ny,t.DIRECTION_RIGHT=oy,t.DIRECTION_UP=ry,t.DIRECTION_HORIZONTAL=ay,t.DIRECTION_VERTICAL=hy,t.DIRECTION_NONE=iy,t.DIRECTION_DOWN=sy,t.INPUT_START=Jg,t.INPUT_MOVE=2,t.INPUT_END=ty,t.INPUT_CANCEL=ey,t.STATE_POSSIBLE=1,t.STATE_BEGAN=2,t.STATE_CHANGED=4,t.STATE_ENDED=8,t.STATE_RECOGNIZED=8,t.STATE_CANCELLED=16,t.STATE_FAILED=Ky,t.Manager=cm,t.Input=My,t.TouchAction=vy,t.TouchInput=Ry,t.MouseInput=Wy,t.PointerEventInput=Fy,t.TouchMouseInput=Xy,t.SingleTouchInput=fm,t.Recognizer=Jy,t.AttrRecognizer=em,t.Tap=tm,t.Pan=nm,t.Swipe=om,t.Pinch=rm,t.Rotate=sm,t.Press=am,t.on=Cy,t.off=Sy,t.each=uy,t.merge=ym,t.extend=gm,t.bindFn=bm,t.assign=Dg,t.inherit=mm,t.bindFn=bm,t.prefixed=Ag,t.toArray=zy,t.inArray=Py,t.uniqueArray=Ay,t.splitStr=Oy,t.boolOrFn=fy,t.hasParent=gy,t.addEventListeners=Cy,t.removeEventListeners=Sy,t.defaults=Dg({},hm,{preset:lm}),t}();wm.defaults;var km=wm;function _m(t,e){var i=void 0!==Vu&&dh(t)||t["@@iterator"];if(!i){if(sf(t)||(i=function(t,e){var i;if(!t)return;if("string"==typeof t)return xm(t,e);var n=Zu(i=Object.prototype.toString.call(t)).call(i,8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Ua(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return xm(t,e)}(t))||e&&t&&"number"==typeof t.length){i&&(t=i);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}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 r,s=!0,a=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return s=t.done,t},e:function(t){a=!0,r=t},f:function(){try{s||null==i.return||i.return()}finally{if(a)throw r}}}}function xm(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}var Em=Vu("DELETE");function Om(t){for(var e,i=arguments.length,n=new Array(i>1?i-1:0),o=1;o<i;o++)n[o-1]=arguments[o];return Cm.apply(void 0,$u(e=[{},t]).call(e,n))}function Cm(){var t=Sm.apply(void 0,arguments);return Mm(t),t}function Sm(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];if(e.length<2)return e[0];var n;if(e.length>2)return Sm.apply(void 0,$u(n=[Cm(e[0],e[1])]).call(n,qu(Zu(e).call(e,2))));var o=e[0],r=e[1];if(o instanceof Date&&r instanceof Date)return o.setTime(r.getTime()),o;var s,a=_m(rf(r));try{for(a.s();!(s=a.n()).done;){var h=s.value;Object.prototype.propertyIsEnumerable.call(r,h)&&(r[h]===Em?delete o[h]:null===o[h]||null===r[h]||"object"!==du(o[h])||"object"!==du(r[h])||sf(o[h])||sf(r[h])?o[h]=Tm(r[h]):o[h]=Sm(o[h],r[h]))}}catch(t){a.e(t)}finally{a.f()}return o}function Tm(t){return sf(t)?ff(t).call(t,(function(t){return Tm(t)})):"object"===du(t)&&null!==t?t instanceof Date?new Date(t.getTime()):Sm({},t):t}function Mm(t){for(var e=0,i=gf(t);e<i.length;e++){var n=i[e];t[n]===Em?delete t[n]:"object"===du(t[n])&&null!==t[n]&&Mm(t[n])}}function Pm(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];return function(t){var e=function(){for(var t=function(){var t=4022871197;return function(e){for(var i=e.toString(),n=0;n<i.length;n++){var o=.02519603282416938*(t+=i.charCodeAt(n));o-=t=o>>>0,t=(o*=t)>>>0,t+=4294967296*(o-=t)}return 2.3283064365386963e-10*(t>>>0)}}(),e=t(" "),i=t(" "),n=t(" "),o=0;o<arguments.length;o++)(e-=t(o<0||arguments.length<=o?void 0:arguments[o]))<0&&(e+=1),(i-=t(o<0||arguments.length<=o?void 0:arguments[o]))<0&&(i+=1),(n-=t(o<0||arguments.length<=o?void 0:arguments[o]))<0&&(n+=1);return[e,i,n]}(t),i=Wu(e,3),n=i[0],o=i[1],r=i[2],s=1,a=function(){var t=2091639*n+2.3283064365386963e-10*s;return n=o,o=r,r=t-(s=0|t)};return a.uint32=function(){return 4294967296*a()},a.fract53=function(){return a()+11102230246251565e-32*(2097152*a()|0)},a.algorithm="Alea",a.seed=t,a.version="0.9",a}(e.length?e:[wf()])}var Dm="undefined"!=typeof window?window.Hammer||km:function(){return function(){var t=function(){};return{on:t,off:t,destroy:t,emit:t,get:function(){return{set:t}}}}()};function Im(t){var e,i=this;this._cleanupQueue=[],this.active=!1,this._dom={container:t,overlay:document.createElement("div")},this._dom.overlay.classList.add("vis-overlay"),this._dom.container.appendChild(this._dom.overlay),this._cleanupQueue.push((function(){i._dom.overlay.parentNode.removeChild(i._dom.overlay)}));var n=Dm(this._dom.overlay);n.on("tap",Ln(e=this._onTapOverlay).call(e,this)),this._cleanupQueue.push((function(){n.destroy()}));var o=["tap","doubletap","press","pinch","pan","panstart","panmove","panend"];Bf(o).call(o,(function(t){n.on(t,(function(t){t.srcEvent.stopPropagation()}))})),document&&document.body&&(this._onClick=function(e){(function(t,e){for(;t;){if(t===e)return!0;t=t.parentNode}return!1})(e.target,t)||i.deactivate()},document.body.addEventListener("click",this._onClick),this._cleanupQueue.push((function(){document.body.removeEventListener("click",i._onClick)}))),this._escListener=function(t){("key"in t?"Escape"===t.key:27===t.keyCode)&&i.deactivate()}}Gn(Im.prototype),Im.current=null,Im.prototype.destroy=function(){var t,e;this.deactivate();var i,n=_m(Vf(t=yp(e=this._cleanupQueue).call(e,0)).call(t));try{for(n.s();!(i=n.n()).done;){(0,i.value)()}}catch(t){n.e(t)}finally{n.f()}},Im.prototype.activate=function(){Im.current&&Im.current.deactivate(),Im.current=this,this.active=!0,this._dom.overlay.style.display="none",this._dom.container.classList.add("vis-active"),this.emit("change"),this.emit("activate"),document.body.addEventListener("keydown",this._escListener)},Im.prototype.deactivate=function(){this.active=!1,this._dom.overlay.style.display="block",this._dom.container.classList.remove("vis-active"),document.body.removeEventListener("keydown",this._escListener),this.emit("change"),this.emit("deactivate")},Im.prototype._onTapOverlay=function(t){this.activate(),t.srcEvent.stopPropagation()};var Bm=/^\/?Date\((-?\d+)/i,Nm=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,Fm=/^#?([a-f\d])([a-f\d])([a-f\d])$/i,zm=/^rgb\( *(1?\d{1,2}|2[0-4]\d|25[0-5]) *, *(1?\d{1,2}|2[0-4]\d|25[0-5]) *, *(1?\d{1,2}|2[0-4]\d|25[0-5]) *\)$/i,Am=/^rgba\( *(1?\d{1,2}|2[0-4]\d|25[0-5]) *, *(1?\d{1,2}|2[0-4]\d|25[0-5]) *, *(1?\d{1,2}|2[0-4]\d|25[0-5]) *, *([01]|0?\.\d+) *\)$/i;function jm(t){return t instanceof Number||"number"==typeof t}function Rm(t){if(t)for(;!0===t.hasChildNodes();){var e=t.firstChild;e&&(Rm(e),t.removeChild(e))}}function Lm(t){return t instanceof String||"string"==typeof t}function Hm(t){return"object"===du(t)&&null!==t}function Wm(t,e,i,n){var o=!1;!0===n&&(o=null===e[i]&&void 0!==t[i]),o?delete t[i]:t[i]=e[i]}function qm(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];for(var n in t)if(void 0!==e[n])if(null===e[n]||"object"!==du(e[n]))Wm(t,e,n,i);else{var o=t[n],r=e[n];Hm(o)&&Hm(r)&&qm(o,r,i)}}var Vm=mn;function Um(t,e,i){var n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(sf(i))throw new TypeError("Arrays are not supported by deepExtend");for(var o=0;o<t.length;o++){var r=t[o];if(Object.prototype.hasOwnProperty.call(i,r))if(i[r]&&i[r].constructor===Object)void 0===e[r]&&(e[r]={}),e[r].constructor===Object?Xm(e[r],i[r],!1,n):Wm(e,i,r,n);else{if(sf(i[r]))throw new TypeError("Arrays are not supported by deepExtend");Wm(e,i,r,n)}}return e}function Ym(t,e,i){var n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(sf(i))throw new TypeError("Arrays are not supported by deepExtend");for(var o in i)if(Object.prototype.hasOwnProperty.call(i,o)&&!Rp(t).call(t,o))if(i[o]&&i[o].constructor===Object)void 0===e[o]&&(e[o]={}),e[o].constructor===Object?Xm(e[o],i[o]):Wm(e,i,o,n);else if(sf(i[o])){e[o]=[];for(var r=0;r<i[o].length;r++)e[o].push(i[o][r])}else Wm(e,i,o,n);return e}function Xm(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)||!0===i)if("object"===du(e[o])&&null!==e[o]&&Vp(e[o])===Object.prototype)void 0===t[o]?t[o]=Xm({},e[o],i):"object"===du(t[o])&&null!==t[o]&&Vp(t[o])===Object.prototype?Xm(t[o],e[o],i):Wm(t,e,o,n);else if(sf(e[o])){var r;t[o]=Zu(r=e[o]).call(r)}else Wm(t,e,o,n);return t}function Gm(t,e){var i;return $u(i=[]).call(i,qu(t),[e])}function Km(t){return Zu(t).call(t)}function $m(t){return t.getBoundingClientRect().left}function Zm(t){return t.getBoundingClientRect().top}function Qm(t,e){if(sf(t))for(var i=t.length,n=0;n<i;n++)e(t[n],n,t);else for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e(t[o],o,t)}var Jm=av;function tb(t,e,i,n){var o;t.addEventListener?(void 0===n&&(n=!1),"mousewheel"===e&&Rp(o=navigator.userAgent).call(o,"Firefox")&&(e="DOMMouseScroll"),t.addEventListener(e,i,n)):t.attachEvent("on"+e,i)}function eb(t,e,i,n){var o;t.removeEventListener?(void 0===n&&(n=!1),"mousewheel"===e&&Rp(o=navigator.userAgent).call(o,"Firefox")&&(e="DOMMouseScroll"),t.removeEventListener(e,i,n)):t.detachEvent("on"+e,i)}var ib={asBoolean:function(t,e){return"function"==typeof t&&(t=t()),null!=t?0!=t:e||null},asNumber:function(t,e){return"function"==typeof t&&(t=t()),null!=t?Number(t)||e||null:e||null},asString:function(t,e){return"function"==typeof t&&(t=t()),null!=t?String(t):e||null},asSize:function(t,e){return"function"==typeof t&&(t=t()),Lm(t)?t:jm(t)?t+"px":e||null},asElement:function(t,e){return"function"==typeof t&&(t=t()),t||e||null}};function nb(t){var e;switch(t.length){case 3:case 4:return(e=Fm.exec(t))?{r:Mv(e[1]+e[1],16),g:Mv(e[2]+e[2],16),b:Mv(e[3]+e[3],16)}:null;case 6:case 7:return(e=Nm.exec(t))?{r:Mv(e[1],16),g:Mv(e[2],16),b:Mv(e[3],16)}:null;default:return null}}function ob(t,e){if(Rp(t).call(t,"rgba"))return t;if(Rp(t).call(t,"rgb")){var i=t.substr(Lv(t).call(t,"(")+1).replace(")","").split(",");return"rgba("+i[0]+","+i[1]+","+i[2]+","+e+")"}var n=nb(t);return null==n?t:"rgba("+n.r+","+n.g+","+n.b+","+e+")"}function rb(t,e,i){var n;return"#"+Zu(n=((1<<24)+(t<<16)+(e<<8)+i).toString(16)).call(n,1)}function sb(t,e){if(Lm(t)){var i=t;if(fb(i)){var n,o=ff(n=i.substr(4).substr(0,i.length-5).split(",")).call(n,(function(t){return Mv(t)}));i=rb(o[0],o[1],o[2])}if(!0===ub(i)){var r=cb(i),s={h:r.h,s:.8*r.s,v:Math.min(1,1.02*r.v)},a={h:r.h,s:Math.min(1,1.25*r.s),v:.8*r.v},h=db(a.h,a.s,a.v),l=db(s.h,s.s,s.v);return{background:i,border:h,highlight:{background:l,border:h},hover:{background:l,border:h}}}return{background:i,border:i,highlight:{background:i,border:i},hover:{background:i,border:i}}}return e?{background:t.background||e.background,border:t.border||e.border,highlight:Lm(t.highlight)?{border:t.highlight,background:t.highlight}:{background:t.highlight&&t.highlight.background||e.highlight.background,border:t.highlight&&t.highlight.border||e.highlight.border},hover:Lm(t.hover)?{border:t.hover,background:t.hover}:{border:t.hover&&t.hover.border||e.hover.border,background:t.hover&&t.hover.background||e.hover.background}}:{background:t.background||void 0,border:t.border||void 0,highlight:Lm(t.highlight)?{border:t.highlight,background:t.highlight}:{background:t.highlight&&t.highlight.background||void 0,border:t.highlight&&t.highlight.border||void 0},hover:Lm(t.hover)?{border:t.hover,background:t.hover}:{border:t.hover&&t.hover.border||void 0,background:t.hover&&t.hover.background||void 0}}}function ab(t,e,i){t/=255,e/=255,i/=255;var n=Math.min(t,Math.min(e,i)),o=Math.max(t,Math.max(e,i));return n===o?{h:0,s:0,v:n}:{h:60*((t===n?3:i===n?1:5)-(t===n?e-i:i===n?t-e:i-t)/(o-n))/360,s:(o-n)/o,v:o}}function hb(t){var e=document.createElement("div"),i={};e.style.cssText=t;for(var n=0;n<e.style.length;++n)i[e.style[n]]=e.style.getPropertyValue(e.style[n]);return i}function lb(t,e,i){var n,o,r,s=Math.floor(6*t),a=6*t-s,h=i*(1-e),l=i*(1-a*e),d=i*(1-(1-a)*e);switch(s%6){case 0:n=i,o=d,r=h;break;case 1:n=l,o=i,r=h;break;case 2:n=h,o=i,r=d;break;case 3:n=h,o=l,r=i;break;case 4:n=d,o=h,r=i;break;case 5:n=i,o=h,r=l}return{r:Math.floor(255*n),g:Math.floor(255*o),b:Math.floor(255*r)}}function db(t,e,i){var n=lb(t,e,i);return rb(n.r,n.g,n.b)}function cb(t){var e=nb(t);if(!e)throw new TypeError("'".concat(t,"' is not a valid color."));return ab(e.r,e.g,e.b)}function ub(t){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t)}function fb(t){return zm.test(t)}function pb(t){return Am.test(t)}function vb(t){if(null===t||"object"!==du(t))return null;if(t instanceof Element)return t;var e=Uv(t);for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&"object"==du(t[i])&&(e[i]=vb(t[i]));return e}function gb(t,e,i){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=function(t){return null!=t},r=function(t){return null!==t&&"object"===du(t)};if(!r(t))throw new Error("Parameter mergeTarget must be an object");if(!r(e))throw new Error("Parameter options must be an object");if(!o(i))throw new Error("Parameter option must have a value");if(!r(n))throw new Error("Parameter globalOptions must be an object");var s=e[i],a=r(n)&&!function(t){for(var e in t)if(Object.prototype.hasOwnProperty.call(t,e))return!1;return!0}(n)?n[i]:void 0,h=a?a.enabled:void 0;if(void 0!==s){if("boolean"==typeof s)return r(t[i])||(t[i]={}),void(t[i].enabled=s);if(null===s&&!r(t[i])){if(!o(a))return;t[i]=Uv(a)}if(r(s)){var l=!0;void 0!==s.enabled?l=s.enabled:void 0!==h&&(l=a.enabled),function(t,e,i){r(t[i])||(t[i]={});var n=e[i],o=t[i];for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(o[s]=n[s])}(t,e,i),t[i].enabled=l}}}var yb={linear:function(t){return t},easeInQuad:function(t){return t*t},easeOutQuad:function(t){return t*(2-t)},easeInOutQuad:function(t){return t<.5?2*t*t:(4-2*t)*t-1},easeInCubic:function(t){return t*t*t},easeOutCubic:function(t){return--t*t*t+1},easeInOutCubic:function(t){return t<.5?4*t*t*t:(t-1)*(2*t-2)*(2*t-2)+1},easeInQuart:function(t){return t*t*t*t},easeOutQuart:function(t){return 1- --t*t*t*t},easeInOutQuart:function(t){return t<.5?8*t*t*t*t:1-8*--t*t*t*t},easeInQuint:function(t){return t*t*t*t*t},easeOutQuint:function(t){return 1+--t*t*t*t*t},easeInOutQuint:function(t){return t<.5?16*t*t*t*t*t:1+16*--t*t*t*t*t}};function mb(t,e){var i;sf(e)||(e=[e]);var n,o=_m(t);try{for(o.s();!(n=o.n()).done;){var r=n.value;if(r){i=r[e[0]];for(var s=1;s<e.length;s++)i&&(i=i[e[s]]);if(void 0!==i)break}}}catch(t){o.e(t)}finally{o.f()}return i}var bb={black:"#000000",navy:"#000080",darkblue:"#00008B",mediumblue:"#0000CD",blue:"#0000FF",darkgreen:"#006400",green:"#008000",teal:"#008080",darkcyan:"#008B8B",deepskyblue:"#00BFFF",darkturquoise:"#00CED1",mediumspringgreen:"#00FA9A",lime:"#00FF00",springgreen:"#00FF7F",aqua:"#00FFFF",cyan:"#00FFFF",midnightblue:"#191970",dodgerblue:"#1E90FF",lightseagreen:"#20B2AA",forestgreen:"#228B22",seagreen:"#2E8B57",darkslategray:"#2F4F4F",limegreen:"#32CD32",mediumseagreen:"#3CB371",turquoise:"#40E0D0",royalblue:"#4169E1",steelblue:"#4682B4",darkslateblue:"#483D8B",mediumturquoise:"#48D1CC",indigo:"#4B0082",darkolivegreen:"#556B2F",cadetblue:"#5F9EA0",cornflowerblue:"#6495ED",mediumaquamarine:"#66CDAA",dimgray:"#696969",slateblue:"#6A5ACD",olivedrab:"#6B8E23",slategray:"#708090",lightslategray:"#778899",mediumslateblue:"#7B68EE",lawngreen:"#7CFC00",chartreuse:"#7FFF00",aquamarine:"#7FFFD4",maroon:"#800000",purple:"#800080",olive:"#808000",gray:"#808080",skyblue:"#87CEEB",lightskyblue:"#87CEFA",blueviolet:"#8A2BE2",darkred:"#8B0000",darkmagenta:"#8B008B",saddlebrown:"#8B4513",darkseagreen:"#8FBC8F",lightgreen:"#90EE90",mediumpurple:"#9370D8",darkviolet:"#9400D3",palegreen:"#98FB98",darkorchid:"#9932CC",yellowgreen:"#9ACD32",sienna:"#A0522D",brown:"#A52A2A",darkgray:"#A9A9A9",lightblue:"#ADD8E6",greenyellow:"#ADFF2F",paleturquoise:"#AFEEEE",lightsteelblue:"#B0C4DE",powderblue:"#B0E0E6",firebrick:"#B22222",darkgoldenrod:"#B8860B",mediumorchid:"#BA55D3",rosybrown:"#BC8F8F",darkkhaki:"#BDB76B",silver:"#C0C0C0",mediumvioletred:"#C71585",indianred:"#CD5C5C",peru:"#CD853F",chocolate:"#D2691E",tan:"#D2B48C",lightgrey:"#D3D3D3",palevioletred:"#D87093",thistle:"#D8BFD8",orchid:"#DA70D6",goldenrod:"#DAA520",crimson:"#DC143C",gainsboro:"#DCDCDC",plum:"#DDA0DD",burlywood:"#DEB887",lightcyan:"#E0FFFF",lavender:"#E6E6FA",darksalmon:"#E9967A",violet:"#EE82EE",palegoldenrod:"#EEE8AA",lightcoral:"#F08080",khaki:"#F0E68C",aliceblue:"#F0F8FF",honeydew:"#F0FFF0",azure:"#F0FFFF",sandybrown:"#F4A460",wheat:"#F5DEB3",beige:"#F5F5DC",whitesmoke:"#F5F5F5",mintcream:"#F5FFFA",ghostwhite:"#F8F8FF",salmon:"#FA8072",antiquewhite:"#FAEBD7",linen:"#FAF0E6",lightgoldenrodyellow:"#FAFAD2",oldlace:"#FDF5E6",red:"#FF0000",fuchsia:"#FF00FF",magenta:"#FF00FF",deeppink:"#FF1493",orangered:"#FF4500",tomato:"#FF6347",hotpink:"#FF69B4",coral:"#FF7F50",darkorange:"#FF8C00",lightsalmon:"#FFA07A",orange:"#FFA500",lightpink:"#FFB6C1",pink:"#FFC0CB",gold:"#FFD700",peachpuff:"#FFDAB9",navajowhite:"#FFDEAD",moccasin:"#FFE4B5",bisque:"#FFE4C4",mistyrose:"#FFE4E1",blanchedalmond:"#FFEBCD",papayawhip:"#FFEFD5",lavenderblush:"#FFF0F5",seashell:"#FFF5EE",cornsilk:"#FFF8DC",lemonchiffon:"#FFFACD",floralwhite:"#FFFAF0",snow:"#FFFAFA",yellow:"#FFFF00",lightyellow:"#FFFFE0",ivory:"#FFFFF0",white:"#FFFFFF"},wb=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;ch(this,t),this.pixelRatio=e,this.generated=!1,this.centerCoordinates={x:144.5,y:144.5},this.r=289*.49,this.color={r:255,g:255,b:255,a:1},this.hueCircle=void 0,this.initialColor={r:255,g:255,b:255,a:1},this.previousColor=void 0,this.applied=!1,this.updateCallback=function(){},this.closeCallback=function(){},this._create()}return pu(t,[{key:"insertTo",value:function(t){void 0!==this.hammer&&(this.hammer.destroy(),this.hammer=void 0),this.container=t,this.container.appendChild(this.frame),this._bindHammer(),this._setSize()}},{key:"setUpdateCallback",value:function(t){if("function"!=typeof t)throw new Error("Function attempted to set as colorPicker update callback is not a function.");this.updateCallback=t}},{key:"setCloseCallback",value:function(t){if("function"!=typeof t)throw new Error("Function attempted to set as colorPicker closing callback is not a function.");this.closeCallback=t}},{key:"_isColorString",value:function(t){if("string"==typeof t)return bb[t]}},{key:"setColor",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("none"!==t){var i,n=this._isColorString(t);if(void 0!==n&&(t=n),!0===Lm(t)){if(!0===fb(t)){var o=t.substr(4).substr(0,t.length-5).split(",");i={r:o[0],g:o[1],b:o[2],a:1}}else if(!0===pb(t)){var r=t.substr(5).substr(0,t.length-6).split(",");i={r:r[0],g:r[1],b:r[2],a:r[3]}}else if(!0===ub(t)){var s=nb(t);i={r:s.r,g:s.g,b:s.b,a:1}}}else if(t instanceof Object&&void 0!==t.r&&void 0!==t.g&&void 0!==t.b){var a=void 0!==t.a?t.a:"1.0";i={r:t.r,g:t.g,b:t.b,a:a}}if(void 0===i)throw new Error("Unknown color passed to the colorPicker. Supported are strings: rgb, hex, rgba. Object: rgb ({r:r,g:g,b:b,[a:a]}). Supplied: "+Kv(t));this._setColor(i,e)}}},{key:"show",value:function(){void 0!==this.closeCallback&&(this.closeCallback(),this.closeCallback=void 0),this.applied=!1,this.frame.style.display="block",this._generateHueCircle()}},{key:"_hide",value:function(){var t=this;!0===(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])&&(this.previousColor=mn({},this.color)),!0===this.applied&&this.updateCallback(this.initialColor),this.frame.style.display="none",vg((function(){void 0!==t.closeCallback&&(t.closeCallback(),t.closeCallback=void 0)}),0)}},{key:"_save",value:function(){this.updateCallback(this.color),this.applied=!1,this._hide()}},{key:"_apply",value:function(){this.applied=!0,this.updateCallback(this.color),this._updatePicker(this.color)}},{key:"_loadLast",value:function(){void 0!==this.previousColor?this.setColor(this.previousColor,!1):alert("There is no last color to load...")}},{key:"_setColor",value:function(t){!0===(!(arguments.length>1&&void 0!==arguments[1])||arguments[1])&&(this.initialColor=mn({},t)),this.color=t;var e=ab(t.r,t.g,t.b),i=2*Math.PI,n=this.r*e.s,o=this.centerCoordinates.x+n*Math.sin(i*e.h),r=this.centerCoordinates.y+n*Math.cos(i*e.h);this.colorPickerSelector.style.left=o-.5*this.colorPickerSelector.clientWidth+"px",this.colorPickerSelector.style.top=r-.5*this.colorPickerSelector.clientHeight+"px",this._updatePicker(t)}},{key:"_setOpacity",value:function(t){this.color.a=t/100,this._updatePicker(this.color)}},{key:"_setBrightness",value:function(t){var e=ab(this.color.r,this.color.g,this.color.b);e.v=t/100;var i=lb(e.h,e.s,e.v);i.a=this.color.a,this.color=i,this._updatePicker()}},{key:"_updatePicker",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.color,e=ab(t.r,t.g,t.b),i=this.colorPickerCanvas.getContext("2d");void 0===this.pixelRation&&(this.pixelRatio=(window.devicePixelRatio||1)/(i.webkitBackingStorePixelRatio||i.mozBackingStorePixelRatio||i.msBackingStorePixelRatio||i.oBackingStorePixelRatio||i.backingStorePixelRatio||1)),i.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var n=this.colorPickerCanvas.clientWidth,o=this.colorPickerCanvas.clientHeight;i.clearRect(0,0,n,o),i.putImageData(this.hueCircle,0,0),i.fillStyle="rgba(0,0,0,"+(1-e.v)+")",i.circle(this.centerCoordinates.x,this.centerCoordinates.y,this.r),Cg(i).call(i),this.brightnessRange.value=100*e.v,this.opacityRange.value=100*t.a,this.initialColorDiv.style.backgroundColor="rgba("+this.initialColor.r+","+this.initialColor.g+","+this.initialColor.b+","+this.initialColor.a+")",this.newColorDiv.style.backgroundColor="rgba("+this.color.r+","+this.color.g+","+this.color.b+","+this.color.a+")"}},{key:"_setSize",value:function(){this.colorPickerCanvas.style.width="100%",this.colorPickerCanvas.style.height="100%",this.colorPickerCanvas.width=289*this.pixelRatio,this.colorPickerCanvas.height=289*this.pixelRatio}},{key:"_create",value:function(){var t,e,i,n;if(this.frame=document.createElement("div"),this.frame.className="vis-color-picker",this.colorPickerDiv=document.createElement("div"),this.colorPickerSelector=document.createElement("div"),this.colorPickerSelector.className="vis-selector",this.colorPickerDiv.appendChild(this.colorPickerSelector),this.colorPickerCanvas=document.createElement("canvas"),this.colorPickerDiv.appendChild(this.colorPickerCanvas),this.colorPickerCanvas.getContext){var o=this.colorPickerCanvas.getContext("2d");this.pixelRatio=(window.devicePixelRatio||1)/(o.webkitBackingStorePixelRatio||o.mozBackingStorePixelRatio||o.msBackingStorePixelRatio||o.oBackingStorePixelRatio||o.backingStorePixelRatio||1),this.colorPickerCanvas.getContext("2d").setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}else{var r=document.createElement("DIV");r.style.color="red",r.style.fontWeight="bold",r.style.padding="10px",r.innerText="Error: your browser does not support HTML canvas",this.colorPickerCanvas.appendChild(r)}this.colorPickerDiv.className="vis-color",this.opacityDiv=document.createElement("div"),this.opacityDiv.className="vis-opacity",this.brightnessDiv=document.createElement("div"),this.brightnessDiv.className="vis-brightness",this.arrowDiv=document.createElement("div"),this.arrowDiv.className="vis-arrow",this.opacityRange=document.createElement("input");try{this.opacityRange.type="range",this.opacityRange.min="0",this.opacityRange.max="100"}catch(t){}this.opacityRange.value="100",this.opacityRange.className="vis-range",this.brightnessRange=document.createElement("input");try{this.brightnessRange.type="range",this.brightnessRange.min="0",this.brightnessRange.max="100"}catch(t){}this.brightnessRange.value="100",this.brightnessRange.className="vis-range",this.opacityDiv.appendChild(this.opacityRange),this.brightnessDiv.appendChild(this.brightnessRange);var s=this;this.opacityRange.onchange=function(){s._setOpacity(this.value)},this.opacityRange.oninput=function(){s._setOpacity(this.value)},this.brightnessRange.onchange=function(){s._setBrightness(this.value)},this.brightnessRange.oninput=function(){s._setBrightness(this.value)},this.brightnessLabel=document.createElement("div"),this.brightnessLabel.className="vis-label vis-brightness",this.brightnessLabel.innerText="brightness:",this.opacityLabel=document.createElement("div"),this.opacityLabel.className="vis-label vis-opacity",this.opacityLabel.innerText="opacity:",this.newColorDiv=document.createElement("div"),this.newColorDiv.className="vis-new-color",this.newColorDiv.innerText="new",this.initialColorDiv=document.createElement("div"),this.initialColorDiv.className="vis-initial-color",this.initialColorDiv.innerText="initial",this.cancelButton=document.createElement("div"),this.cancelButton.className="vis-button vis-cancel",this.cancelButton.innerText="cancel",this.cancelButton.onclick=Ln(t=this._hide).call(t,this,!1),this.applyButton=document.createElement("div"),this.applyButton.className="vis-button vis-apply",this.applyButton.innerText="apply",this.applyButton.onclick=Ln(e=this._apply).call(e,this),this.saveButton=document.createElement("div"),this.saveButton.className="vis-button vis-save",this.saveButton.innerText="save",this.saveButton.onclick=Ln(i=this._save).call(i,this),this.loadButton=document.createElement("div"),this.loadButton.className="vis-button vis-load",this.loadButton.innerText="load last",this.loadButton.onclick=Ln(n=this._loadLast).call(n,this),this.frame.appendChild(this.colorPickerDiv),this.frame.appendChild(this.arrowDiv),this.frame.appendChild(this.brightnessLabel),this.frame.appendChild(this.brightnessDiv),this.frame.appendChild(this.opacityLabel),this.frame.appendChild(this.opacityDiv),this.frame.appendChild(this.newColorDiv),this.frame.appendChild(this.initialColorDiv),this.frame.appendChild(this.cancelButton),this.frame.appendChild(this.applyButton),this.frame.appendChild(this.saveButton),this.frame.appendChild(this.loadButton)}},{key:"_bindHammer",value:function(){var t=this;this.drag={},this.pinch={},this.hammer=new Dm(this.colorPickerCanvas),this.hammer.get("pinch").set({enable:!0}),this.hammer.on("hammer.input",(function(e){e.isFirst&&t._moveSelector(e)})),this.hammer.on("tap",(function(e){t._moveSelector(e)})),this.hammer.on("panstart",(function(e){t._moveSelector(e)})),this.hammer.on("panmove",(function(e){t._moveSelector(e)})),this.hammer.on("panend",(function(e){t._moveSelector(e)}))}},{key:"_generateHueCircle",value:function(){if(!1===this.generated){var t=this.colorPickerCanvas.getContext("2d");void 0===this.pixelRation&&(this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)),t.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var e,i,n,o,r=this.colorPickerCanvas.clientWidth,s=this.colorPickerCanvas.clientHeight;t.clearRect(0,0,r,s),this.centerCoordinates={x:.5*r,y:.5*s},this.r=.49*r;var a,h=2*Math.PI/360,l=1/this.r;for(n=0;n<360;n++)for(o=0;o<this.r;o++)e=this.centerCoordinates.x+o*Math.sin(h*n),i=this.centerCoordinates.y+o*Math.cos(h*n),a=lb(.002777777777777778*n,o*l,1),t.fillStyle="rgb("+a.r+","+a.g+","+a.b+")",t.fillRect(e-.5,i-.5,2,2);t.strokeStyle="rgba(0,0,0,1)",t.circle(this.centerCoordinates.x,this.centerCoordinates.y,this.r),t.stroke(),this.hueCircle=t.getImageData(0,0,r,s)}this.generated=!0}},{key:"_moveSelector",value:function(t){var e=this.colorPickerDiv.getBoundingClientRect(),i=t.center.x-e.left,n=t.center.y-e.top,o=.5*this.colorPickerDiv.clientHeight,r=.5*this.colorPickerDiv.clientWidth,s=i-r,a=n-o,h=Math.atan2(s,a),l=.98*Math.min(Math.sqrt(s*s+a*a),r),d=Math.cos(h)*l+o,c=Math.sin(h)*l+r;this.colorPickerSelector.style.top=d-.5*this.colorPickerSelector.clientHeight+"px",this.colorPickerSelector.style.left=c-.5*this.colorPickerSelector.clientWidth+"px";var u=h/(2*Math.PI);u=u<0?u+1:u;var f=l/this.r,p=ab(this.color.r,this.color.g,this.color.b);p.h=u,p.s=f;var v=lb(p.h,p.s,p.v);v.a=this.color.a,this.color=v,this.initialColorDiv.style.backgroundColor="rgba("+this.initialColor.r+","+this.initialColor.g+","+this.initialColor.b+","+this.initialColor.a+")",this.newColorDiv.style.backgroundColor="rgba("+this.color.r+","+this.color.g+","+this.color.b+","+this.color.a+")"}}]),t}();function kb(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];if(e.length<1)throw new TypeError("Invalid arguments.");if(1===e.length)return document.createTextNode(e[0]);var n=document.createElement(e[0]);return n.appendChild(kb.apply(void 0,qu(Zu(e).call(e,1)))),n}var _b,xb=function(){function t(e,i,n){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:function(){return!1};ch(this,t),this.parent=e,this.changedOptions=[],this.container=i,this.allowCreation=!1,this.hideOption=r,this.options={},this.initialized=!1,this.popupCounter=0,this.defaultOptions={enabled:!1,filter:!0,container:void 0,showButton:!0},mn(this.options,this.defaultOptions),this.configureOptions=n,this.moduleOptions={},this.domElements=[],this.popupDiv={},this.popupLimit=5,this.popupHistory={},this.colorPicker=new wb(o),this.wrapper=void 0}return pu(t,[{key:"setOptions",value:function(t){if(void 0!==t){this.popupHistory={},this._removePopup();var e=!0;if("string"==typeof t)this.options.filter=t;else if(sf(t))this.options.filter=t.join();else if("object"===du(t)){if(null==t)throw new TypeError("options cannot be null");void 0!==t.container&&(this.options.container=t.container),void 0!==Zp(t)&&(this.options.filter=Zp(t)),void 0!==t.showButton&&(this.options.showButton=t.showButton),void 0!==t.enabled&&(e=t.enabled)}else"boolean"==typeof t?(this.options.filter=!0,e=t):"function"==typeof t&&(this.options.filter=t,e=!0);!1===Zp(this.options)&&(e=!1),this.options.enabled=e}this._clean()}},{key:"setModuleOptions",value:function(t){this.moduleOptions=t,!0===this.options.enabled&&(this._clean(),void 0!==this.options.container&&(this.container=this.options.container),this._create())}},{key:"_create",value:function(){this._clean(),this.changedOptions=[];var t=Zp(this.options),e=0,i=!1;for(var n in this.configureOptions)Object.prototype.hasOwnProperty.call(this.configureOptions,n)&&(this.allowCreation=!1,i=!1,"function"==typeof t?i=(i=t(n,[]))||this._handleObject(this.configureOptions[n],[n],!0):!0!==t&&-1===Lv(t).call(t,n)||(i=!0),!1!==i&&(this.allowCreation=!0,e>0&&this._makeItem([]),this._makeHeader(n),this._handleObject(this.configureOptions[n],[n])),e++);this._makeButton(),this._push()}},{key:"_push",value:function(){this.wrapper=document.createElement("div"),this.wrapper.className="vis-configuration-wrapper",this.container.appendChild(this.wrapper);for(var t=0;t<this.domElements.length;t++)this.wrapper.appendChild(this.domElements[t]);this._showPopupIfNeeded()}},{key:"_clean",value:function(){for(var t=0;t<this.domElements.length;t++)this.wrapper.removeChild(this.domElements[t]);void 0!==this.wrapper&&(this.container.removeChild(this.wrapper),this.wrapper=void 0),this.domElements=[],this._removePopup()}},{key:"_getValue",value:function(t){for(var e=this.moduleOptions,i=0;i<t.length;i++){if(void 0===e[t[i]]){e=void 0;break}e=e[t[i]]}return e}},{key:"_makeItem",value:function(t){if(!0===this.allowCreation){var e=document.createElement("div");e.className="vis-configuration vis-config-item vis-config-s"+t.length;for(var i=arguments.length,n=new Array(i>1?i-1:0),o=1;o<i;o++)n[o-1]=arguments[o];return Bf(n).call(n,(function(t){e.appendChild(t)})),this.domElements.push(e),this.domElements.length}return 0}},{key:"_makeHeader",value:function(t){var e=document.createElement("div");e.className="vis-configuration vis-config-header",e.innerText=t,this._makeItem([],e)}},{key:"_makeLabel",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=document.createElement("div");if(n.className="vis-configuration vis-config-label vis-config-s"+e.length,!0===i){for(;n.firstChild;)n.removeChild(n.firstChild);n.appendChild(kb("i","b",t))}else n.innerText=t+":";return n}},{key:"_makeDropdown",value:function(t,e,i){var n=document.createElement("select");n.className="vis-configuration vis-config-select";var o=0;void 0!==e&&-1!==Lv(t).call(t,e)&&(o=Lv(t).call(t,e));for(var r=0;r<t.length;r++){var s=document.createElement("option");s.value=t[r],r===o&&(s.selected="selected"),s.innerText=t[r],n.appendChild(s)}var a=this;n.onchange=function(){a._update(this.value,i)};var h=this._makeLabel(i[i.length-1],i);this._makeItem(i,h,n)}},{key:"_makeRange",value:function(t,e,i){var n=t[0],o=t[1],r=t[2],s=t[3],a=document.createElement("input");a.className="vis-configuration vis-config-range";try{a.type="range",a.min=o,a.max=r}catch(t){}a.step=s;var h="",l=0;if(void 0!==e){var d=1.2;e<0&&e*d<o?(a.min=Math.ceil(e*d),l=a.min,h="range increased"):e/d<o&&(a.min=Math.ceil(e/d),l=a.min,h="range increased"),e*d>r&&1!==r&&(a.max=Math.ceil(e*d),l=a.max,h="range increased"),a.value=e}else a.value=n;var c=document.createElement("input");c.className="vis-configuration vis-config-rangeinput",c.value=a.value;var u=this;a.onchange=function(){c.value=this.value,u._update(Number(this.value),i)},a.oninput=function(){c.value=this.value};var f=this._makeLabel(i[i.length-1],i),p=this._makeItem(i,f,a,c);""!==h&&this.popupHistory[p]!==l&&(this.popupHistory[p]=l,this._setupPopup(h,p))}},{key:"_makeButton",value:function(){var t=this;if(!0===this.options.showButton){var e=document.createElement("div");e.className="vis-configuration vis-config-button",e.innerText="generate options",e.onclick=function(){t._printOptions()},e.onmouseover=function(){e.className="vis-configuration vis-config-button hover"},e.onmouseout=function(){e.className="vis-configuration vis-config-button"},this.optionsContainer=document.createElement("div"),this.optionsContainer.className="vis-configuration vis-config-option-container",this.domElements.push(this.optionsContainer),this.domElements.push(e)}}},{key:"_setupPopup",value:function(t,e){var i=this;if(!0===this.initialized&&!0===this.allowCreation&&this.popupCounter<this.popupLimit){var n=document.createElement("div");n.id="vis-configuration-popup",n.className="vis-configuration-popup",n.innerText=t,n.onclick=function(){i._removePopup()},this.popupCounter+=1,this.popupDiv={html:n,index:e}}}},{key:"_removePopup",value:function(){void 0!==this.popupDiv.html&&(this.popupDiv.html.parentNode.removeChild(this.popupDiv.html),clearTimeout(this.popupDiv.hideTimeout),clearTimeout(this.popupDiv.deleteTimeout),this.popupDiv={})}},{key:"_showPopupIfNeeded",value:function(){var t=this;if(void 0!==this.popupDiv.html){var e=this.domElements[this.popupDiv.index].getBoundingClientRect();this.popupDiv.html.style.left=e.left+"px",this.popupDiv.html.style.top=e.top-30+"px",document.body.appendChild(this.popupDiv.html),this.popupDiv.hideTimeout=vg((function(){t.popupDiv.html.style.opacity=0}),1500),this.popupDiv.deleteTimeout=vg((function(){t._removePopup()}),1800)}}},{key:"_makeCheckbox",value:function(t,e,i){var n=document.createElement("input");n.type="checkbox",n.className="vis-configuration vis-config-checkbox",n.checked=t,void 0!==e&&(n.checked=e,e!==t&&("object"===du(t)?e!==t.enabled&&this.changedOptions.push({path:i,value:e}):this.changedOptions.push({path:i,value:e})));var o=this;n.onchange=function(){o._update(this.checked,i)};var r=this._makeLabel(i[i.length-1],i);this._makeItem(i,r,n)}},{key:"_makeTextInput",value:function(t,e,i){var n=document.createElement("input");n.type="text",n.className="vis-configuration vis-config-text",n.value=e,e!==t&&this.changedOptions.push({path:i,value:e});var o=this;n.onchange=function(){o._update(this.value,i)};var r=this._makeLabel(i[i.length-1],i);this._makeItem(i,r,n)}},{key:"_makeColorField",value:function(t,e,i){var n=this,o=t[1],r=document.createElement("div");"none"!==(e=void 0===e?o:e)?(r.className="vis-configuration vis-config-colorBlock",r.style.backgroundColor=e):r.className="vis-configuration vis-config-colorBlock none",e=void 0===e?o:e,r.onclick=function(){n._showColorPicker(e,r,i)};var s=this._makeLabel(i[i.length-1],i);this._makeItem(i,s,r)}},{key:"_showColorPicker",value:function(t,e,i){var n=this;e.onclick=function(){},this.colorPicker.insertTo(e),this.colorPicker.show(),this.colorPicker.setColor(t),this.colorPicker.setUpdateCallback((function(t){var o="rgba("+t.r+","+t.g+","+t.b+","+t.a+")";e.style.backgroundColor=o,n._update(o,i)})),this.colorPicker.setCloseCallback((function(){e.onclick=function(){n._showColorPicker(t,e,i)}}))}},{key:"_handleObject",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=!1,o=Zp(this.options),r=!1;for(var s in t)if(Object.prototype.hasOwnProperty.call(t,s)){n=!0;var a=t[s],h=Gm(e,s);if("function"==typeof o&&!1===(n=o(s,e))&&!sf(a)&&"string"!=typeof a&&"boolean"!=typeof a&&a instanceof Object&&(this.allowCreation=!1,n=this._handleObject(a,h,!0),this.allowCreation=!1===i),!1!==n){r=!0;var l=this._getValue(h);if(sf(a))this._handleArray(a,l,h);else if("string"==typeof a)this._makeTextInput(a,l,h);else if("boolean"==typeof a)this._makeCheckbox(a,l,h);else if(a instanceof Object){if(!this.hideOption(e,s,this.moduleOptions))if(void 0!==a.enabled){var d=Gm(h,"enabled"),c=this._getValue(d);if(!0===c){var u=this._makeLabel(s,h,!0);this._makeItem(h,u),r=this._handleObject(a,h)||r}else this._makeCheckbox(a,c,h)}else{var f=this._makeLabel(s,h,!0);this._makeItem(h,f),r=this._handleObject(a,h)||r}}else console.error("dont know how to handle",a,s,h)}}return r}},{key:"_handleArray",value:function(t,e,i){"string"==typeof t[0]&&"color"===t[0]?(this._makeColorField(t,e,i),t[1]!==e&&this.changedOptions.push({path:i,value:e})):"string"==typeof t[0]?(this._makeDropdown(t,e,i),t[0]!==e&&this.changedOptions.push({path:i,value:e})):"number"==typeof t[0]&&(this._makeRange(t,e,i),t[0]!==e&&this.changedOptions.push({path:i,value:Number(e)}))}},{key:"_update",value:function(t,e){var i=this._constructOptions(t,e);this.parent.body&&this.parent.body.emitter&&this.parent.body.emitter.emit&&this.parent.body.emitter.emit("configChange",i),this.initialized=!0,this.parent.setOptions(i)}},{key:"_constructOptions",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=i;t="false"!==(t="true"===t||t)&&t;for(var o=0;o<e.length;o++)"global"!==e[o]&&(void 0===n[e[o]]&&(n[e[o]]={}),o!==e.length-1?n=n[e[o]]:n[e[o]]=t);return i}},{key:"_printOptions",value:function(){for(var t=this.getOptions();this.optionsContainer.firstChild;)this.optionsContainer.removeChild(this.optionsContainer.firstChild);this.optionsContainer.appendChild(kb("pre","const options = "+Kv(t,null,2)))}},{key:"getOptions",value:function(){for(var t={},e=0;e<this.changedOptions.length;e++)this._constructOptions(this.changedOptions[e].value,this.changedOptions[e].path,t);return t}}]),t}(),Eb=function(){function t(e,i){ch(this,t),this.container=e,this.overflowMethod=i||"cap",this.x=0,this.y=0,this.padding=5,this.hidden=!1,this.frame=document.createElement("div"),this.frame.className="vis-tooltip",this.container.appendChild(this.frame)}return pu(t,[{key:"setPosition",value:function(t,e){this.x=Mv(t),this.y=Mv(e)}},{key:"setText",value:function(t){if(t instanceof Element){for(;this.frame.firstChild;)this.frame.removeChild(this.frame.firstChild);this.frame.appendChild(t)}else this.frame.innerText=t}},{key:"show",value:function(t){if(void 0===t&&(t=!0),!0===t){var e=this.frame.clientHeight,i=this.frame.clientWidth,n=this.frame.parentNode.clientHeight,o=this.frame.parentNode.clientWidth,r=0,s=0;if("flip"==this.overflowMethod){var a=!1,h=!0;this.y-e<this.padding&&(h=!1),this.x+i>o-this.padding&&(a=!0),r=a?this.x-i:this.x,s=h?this.y-e:this.y}else(s=this.y-e)+e+this.padding>n&&(s=n-e-this.padding),s<this.padding&&(s=this.padding),(r=this.x)+i+this.padding>o&&(r=o-i-this.padding),r<this.padding&&(r=this.padding);this.frame.style.left=r+"px",this.frame.style.top=s+"px",this.frame.style.visibility="visible",this.hidden=!1}else this.hide()}},{key:"hide",value:function(){this.hidden=!0,this.frame.style.left="0",this.frame.style.top="0",this.frame.style.visibility="hidden"}},{key:"destroy",value:function(){this.frame.parentNode.removeChild(this.frame)}}]),t}(),Ob=!1,Cb="background: #FFeeee; color: #dd0000",Sb=function(){function t(){ch(this,t)}return pu(t,null,[{key:"validate",value:function(e,i,n){Ob=!1,_b=i;var o=i;return void 0!==n&&(o=i[n]),t.parse(e,o,[]),Ob}},{key:"parse",value:function(e,i,n){for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.check(o,e,i,n)}},{key:"check",value:function(e,i,n,o){if(void 0!==n[e]||void 0!==n.__any__){var r=e,s=!0;void 0===n[e]&&void 0!==n.__any__&&(r="__any__",s="object"===t.getType(i[e]));var a=n[r];s&&void 0!==a.__type__&&(a=a.__type__),t.checkFields(e,i,n,r,a,o)}else t.getSuggestion(e,n,o)}},{key:"checkFields",value:function(e,i,n,o,r,s){var a=function(i){console.error("%c"+i+t.printLocation(s,e),Cb)},h=t.getType(i[e]),l=r[h];void 0!==l?"array"===t.getType(l)&&-1===Lv(l).call(l,i[e])?(a('Invalid option detected in "'+e+'". Allowed values are:'+t.print(l)+' not "'+i[e]+'". '),Ob=!0):"object"===h&&"__any__"!==o&&(s=Gm(s,e),t.parse(i[e],n[o],s)):void 0===r.any&&(a('Invalid type received for "'+e+'". Expected: '+t.print(gf(r))+". Received ["+h+'] "'+i[e]+'"'),Ob=!0)}},{key:"getType",value:function(t){var e=du(t);return"object"===e?null===t?"null":t instanceof Boolean?"boolean":t instanceof Number?"number":t instanceof String?"string":sf(t)?"array":t instanceof Date?"date":void 0!==t.nodeType?"dom":!0===t._isAMomentObject?"moment":"object":"number"===e?"number":"boolean"===e?"boolean":"string"===e?"string":void 0===e?"undefined":e}},{key:"getSuggestion",value:function(e,i,n){var o,r=t.findInOptions(e,i,n,!1),s=t.findInOptions(e,_b,[],!0);o=void 0!==r.indexMatch?" in "+t.printLocation(r.path,e,"")+'Perhaps it was incomplete? Did you mean: "'+r.indexMatch+'"?\n\n':s.distance<=4&&r.distance>s.distance?" in "+t.printLocation(r.path,e,"")+"Perhaps it was misplaced? Matching option found at: "+t.printLocation(s.path,s.closestMatch,""):r.distance<=8?'. Did you mean "'+r.closestMatch+'"?'+t.printLocation(r.path,e):". Did you mean one of these: "+t.print(gf(i))+t.printLocation(n,e),console.error('%cUnknown option detected: "'+e+'"'+o,Cb),Ob=!0}},{key:"findInOptions",value:function(e,i,n){var o=arguments.length>3&&void 0!==arguments[3]&&arguments[3],r=1e9,s="",a=[],h=e.toLowerCase(),l=void 0;for(var d in i){var c=void 0;if(void 0!==i[d].__type__&&!0===o){var u=t.findInOptions(e,i[d],Gm(n,d));r>u.distance&&(s=u.closestMatch,a=u.path,r=u.distance,l=u.indexMatch)}else{var f;-1!==Lv(f=d.toLowerCase()).call(f,h)&&(l=d),r>(c=t.levenshteinDistance(e,d))&&(s=d,a=Km(n),r=c)}}return{closestMatch:s,path:a,distance:r,indexMatch:l}}},{key:"printLocation",value:function(t,e){for(var i="\n\n"+(arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Problem value found at: \n")+"options = {\n",n=0;n<t.length;n++){for(var o=0;o<n+1;o++)i+=" ";i+=t[n]+": {\n"}for(var r=0;r<t.length+1;r++)i+=" ";i+=e+"\n";for(var s=0;s<t.length+1;s++){for(var a=0;a<t.length-s;a++)i+=" ";i+="}\n"}return i+"\n\n"}},{key:"print",value:function(t){return Kv(t).replace(/(")|(\[)|(\])|(,"__type__")/g,"").replace(/(,)/g,", ")}},{key:"levenshteinDistance",value:function(t,e){if(0===t.length)return e.length;if(0===e.length)return t.length;var i,n,o=[];for(i=0;i<=e.length;i++)o[i]=[i];for(n=0;n<=t.length;n++)o[0][n]=n;for(i=1;i<=e.length;i++)for(n=1;n<=t.length;n++)e.charAt(i-1)==t.charAt(n-1)?o[i][n]=o[i-1][n-1]:o[i][n]=Math.min(o[i-1][n-1]+1,Math.min(o[i][n-1]+1,o[i-1][n]+1));return o[e.length][t.length]}}]),t}(),Tb=Im,Mb=wb,Pb=xb,Db=Dm,Ib=Eb,Bb=Cb,Nb=Sb,Fb=Object.freeze({__proto__:null,Activator:Tb,Alea:Pm,ColorPicker:Mb,Configurator:Pb,DELETE:Em,HSVToHex:db,HSVToRGB:lb,Hammer:Db,Popup:Ib,RGBToHSV:ab,RGBToHex:rb,VALIDATOR_PRINT_STYLE:Bb,Validator:Nb,addClassName:function(t,e){var i=t.className.split(" "),n=e.split(" ");i=$u(i).call(i,Zp(n).call(n,(function(t){return!Rp(i).call(i,t)}))),t.className=i.join(" ")},addCssText:function(t,e){for(var i=hb(e),n=0,o=Wv(i);n<o.length;n++){var r=Wu(o[n],2),s=r[0],a=r[1];t.style.setProperty(s,a)}},addEventListener:tb,binarySearchCustom:function(t,e,i,n){for(var o=0,r=0,s=t.length-1;r<=s&&o<1e4;){var a=Math.floor((r+s)/2),h=t[a],l=e(void 0===n?h[i]:h[i][n]);if(0==l)return a;-1==l?r=a+1:s=a-1,o++}return-1},binarySearchValue:function(t,e,i,n,o){var r,s,a,h,l=0,d=0,c=t.length-1;for(o=null!=o?o:function(t,e){return t==e?0:t<e?-1:1};d<=c&&l<1e4;){if(h=Math.floor(.5*(c+d)),r=t[Math.max(0,h-1)][i],s=t[h][i],a=t[Math.min(t.length-1,h+1)][i],0==o(s,e))return h;if(o(r,e)<0&&o(s,e)>0)return"before"==n?Math.max(0,h-1):h;if(o(s,e)<0&&o(a,e)>0)return"before"==n?h:Math.min(t.length-1,h+1);o(s,e)<0?d=h+1:c=h-1,l++}return-1},bridgeObject:vb,copyAndExtendArray:Gm,copyArray:Km,deepExtend:Xm,deepObjectAssign:Cm,easingFunctions:yb,equalArray:function(t,e){if(t.length!==e.length)return!1;for(var i=0,n=t.length;i<n;i++)if(t[i]!=e[i])return!1;return!0},extend:Vm,fillIfDefined:qm,forEach:Qm,getAbsoluteLeft:$m,getAbsoluteRight:function(t){return t.getBoundingClientRect().right},getAbsoluteTop:Zm,getScrollBarWidth:function(){var t=document.createElement("p");t.style.width="100%",t.style.height="200px";var e=document.createElement("div");e.style.position="absolute",e.style.top="0px",e.style.left="0px",e.style.visibility="hidden",e.style.width="200px",e.style.height="150px",e.style.overflow="hidden",e.appendChild(t),document.body.appendChild(e);var i=t.offsetWidth;e.style.overflow="scroll";var n=t.offsetWidth;return i==n&&(n=e.clientWidth),document.body.removeChild(e),i-n},getTarget:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.event,e=null;return t&&(t.target?e=t.target:t.srcElement&&(e=t.srcElement)),e instanceof Element&&(null==e.nodeType||3!=e.nodeType||(e=e.parentNode)instanceof Element)?e:null},getType:function(t){var e=du(t);return"object"===e?null===t?"null":t instanceof Boolean?"Boolean":t instanceof Number?"Number":t instanceof String?"String":sf(t)?"Array":t instanceof Date?"Date":"Object":"number"===e?"Number":"boolean"===e?"Boolean":"string"===e?"String":void 0===e?"undefined":e},hasParent:function(t,e){for(var i=t;i;){if(i===e)return!0;if(!i.parentNode)return!1;i=i.parentNode}return!1},hexToHSV:cb,hexToRGB:nb,insertSort:function(t,e){for(var i=0;i<t.length;i++){var n=t[i],o=void 0;for(o=i;o>0&&e(n,t[o-1])<0;o--)t[o]=t[o-1];t[o]=n}return t},isDate:function(t){if(t instanceof Date)return!0;if(Lm(t)){if(Bm.exec(t))return!0;if(!isNaN(Date.parse(t)))return!0}return!1},isNumber:jm,isObject:Hm,isString:Lm,isValidHex:ub,isValidRGB:fb,isValidRGBA:pb,mergeOptions:gb,option:ib,overrideOpacity:ob,parseColor:sb,preventDefault:function(t){t||(t=window.event),t&&(t.preventDefault?t.preventDefault():t.returnValue=!1)},pureDeepObjectAssign:Om,recursiveDOMDelete:Rm,removeClassName:function(t,e){var i=t.className.split(" "),n=e.split(" ");i=Zp(i).call(i,(function(t){return!Rp(n).call(n,t)})),t.className=i.join(" ")},removeCssText:function(t,e){for(var i=hb(e),n=0,o=gf(i);n<o.length;n++){var r=o[n];t.style.removeProperty(r)}},removeEventListener:eb,selectiveBridgeObject:function(t,e){if(null!==e&&"object"===du(e)){for(var i=Uv(e),n=0;n<t.length;n++)Object.prototype.hasOwnProperty.call(e,t[n])&&"object"==du(e[t[n]])&&(i[t[n]]=vb(e[t[n]]));return i}return null},selectiveDeepExtend:Um,selectiveExtend:function(t,e){if(!sf(t))throw new Error("Array with property names expected as first argument");for(var i=arguments.length,n=new Array(i>2?i-2:0),o=2;o<i;o++)n[o-2]=arguments[o];for(var r=0,s=n;r<s.length;r++)for(var a=s[r],h=0;h<t.length;h++){var l=t[h];a&&Object.prototype.hasOwnProperty.call(a,l)&&(e[l]=a[l])}return e},selectiveNotDeepExtend:Ym,throttle:function(t){var e=!1;return function(){e||(e=!0,requestAnimationFrame((function(){e=!1,t()})))}},toArray:Jm,topMost:mb,updateProperty:function(t,e,i){return t[e]!==i&&(t[e]=i,!0)}});function zb(t){return Hb=t,function(){var t={};Wb=0,void(qb=Hb.charAt(0)),tw(),"strict"===Vb&&(t.strict=!0,tw());"graph"!==Vb&&"digraph"!==Vb||(t.type=Vb,tw());Ub===Rb.IDENTIFIER&&(t.id=Vb,tw());if("{"!=Vb)throw sw("Angle bracket { expected");if(tw(),ew(t),"}"!=Vb)throw sw("Angle bracket } expected");if(tw(),""!==Vb)throw sw("End of file expected");return tw(),delete t.node,delete t.edge,delete t.graph,t}()}var Ab={fontsize:"font.size",fontcolor:"font.color",labelfontcolor:"font.color",fontname:"font.face",color:["color.border","color.background"],fillcolor:"color.background",tooltip:"title",labeltooltip:"title"},jb=Uv(Ab);jb.color="color.color",jb.style="dashes";var Rb={NULL:0,DELIMITER:1,IDENTIFIER:2,UNKNOWN:3},Lb={"{":!0,"}":!0,"[":!0,"]":!0,";":!0,"=":!0,",":!0,"->":!0,"--":!0},Hb="",Wb=0,qb="",Vb="",Ub=Rb.NULL;function Yb(){Wb++,qb=Hb.charAt(Wb)}function Xb(){return Hb.charAt(Wb+1)}function Gb(t){var e=t.charCodeAt(0);return e<47?35===e||46===e:e<59?e>47:e<91?e>64:e<96?95===e:e<123&&e>96}function Kb(t,e){if(t||(t={}),e)for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);return t}function $b(t,e,i){for(var n=e.split("."),o=t;n.length;){var r=n.shift();n.length?(o[r]||(o[r]={}),o=o[r]):o[r]=i}}function Zb(t,e){for(var i,n,o=null,r=[t],s=t;s.parent;)r.push(s.parent),s=s.parent;if(s.nodes)for(i=0,n=s.nodes.length;i<n;i++)if(e.id===s.nodes[i].id){o=s.nodes[i];break}for(o||(o={id:e.id},t.node&&(o.attr=Kb(o.attr,t.node))),i=r.length-1;i>=0;i--){var a,h=r[i];h.nodes||(h.nodes=[]),-1===Lv(a=h.nodes).call(a,o)&&h.nodes.push(o)}e.attr&&(o.attr=Kb(o.attr,e.attr))}function Qb(t,e){if(t.edges||(t.edges=[]),t.edges.push(e),t.edge){var i=Kb({},t.edge);e.attr=Kb(i,e.attr)}}function Jb(t,e,i,n,o){var r={from:e,to:i,type:n};return t.edge&&(r.attr=Kb({},t.edge)),r.attr=Kb(r.attr||{},o),null!=o&&o.hasOwnProperty("arrows")&&null!=o.arrows&&(r.arrows={to:{enabled:!0,type:o.arrows.type}},o.arrows=null),r}function tw(){for(Ub=Rb.NULL,Vb="";" "===qb||"\t"===qb||"\n"===qb||"\r"===qb;)Yb();do{var t=!1;if("#"===qb){for(var e=Wb-1;" "===Hb.charAt(e)||"\t"===Hb.charAt(e);)e--;if("\n"===Hb.charAt(e)||""===Hb.charAt(e)){for(;""!=qb&&"\n"!=qb;)Yb();t=!0}}if("/"===qb&&"/"===Xb()){for(;""!=qb&&"\n"!=qb;)Yb();t=!0}if("/"===qb&&"*"===Xb()){for(;""!=qb;){if("*"===qb&&"/"===Xb()){Yb(),Yb();break}Yb()}t=!0}for(;" "===qb||"\t"===qb||"\n"===qb||"\r"===qb;)Yb()}while(t);if(""!==qb){var i=qb+Xb();if(Lb[i])return Ub=Rb.DELIMITER,Vb=i,Yb(),void Yb();if(Lb[qb])return Ub=Rb.DELIMITER,Vb=qb,void Yb();if(Gb(qb)||"-"===qb){for(Vb+=qb,Yb();Gb(qb);)Vb+=qb,Yb();return"false"===Vb?Vb=!1:"true"===Vb?Vb=!0:isNaN(Number(Vb))||(Vb=Number(Vb)),void(Ub=Rb.IDENTIFIER)}if('"'===qb){for(Yb();""!=qb&&('"'!=qb||'"'===qb&&'"'===Xb());)'"'===qb?(Vb+=qb,Yb()):"\\"===qb&&"n"===Xb()?(Vb+="\n",Yb()):Vb+=qb,Yb();if('"'!=qb)throw sw('End of string " expected');return Yb(),void(Ub=Rb.IDENTIFIER)}for(Ub=Rb.UNKNOWN;""!=qb;)Vb+=qb,Yb();throw new SyntaxError('Syntax error in part "'+aw(Vb,30)+'"')}Ub=Rb.DELIMITER}function ew(t){for(;""!==Vb&&"}"!=Vb;)iw(t),";"===Vb&&tw()}function iw(t){var e=nw(t);if(e)ow(t,e);else{var i=function(t){if("node"===Vb)return tw(),t.node=rw(),"node";if("edge"===Vb)return tw(),t.edge=rw(),"edge";if("graph"===Vb)return tw(),t.graph=rw(),"graph";return null}(t);if(!i){if(Ub!=Rb.IDENTIFIER)throw sw("Identifier expected");var n=Vb;if(tw(),"="===Vb){if(tw(),Ub!=Rb.IDENTIFIER)throw sw("Identifier expected");t[n]=Vb,tw()}else!function(t,e){var i={id:e},n=rw();n&&(i.attr=n);Zb(t,i),ow(t,e)}(t,n)}}}function nw(t){var e=null;if("subgraph"===Vb&&((e={}).type="subgraph",tw(),Ub===Rb.IDENTIFIER&&(e.id=Vb,tw())),"{"===Vb){if(tw(),e||(e={}),e.parent=t,e.node=t.node,e.edge=t.edge,e.graph=t.graph,ew(e),"}"!=Vb)throw sw("Angle bracket } expected");tw(),delete e.node,delete e.edge,delete e.graph,delete e.parent,t.subgraphs||(t.subgraphs=[]),t.subgraphs.push(e)}return e}function ow(t,e){for(;"->"===Vb||"--"===Vb;){var i,n=Vb;tw();var o=nw(t);if(o)i=o;else{if(Ub!=Rb.IDENTIFIER)throw sw("Identifier or subgraph expected");Zb(t,{id:i=Vb}),tw()}Qb(t,Jb(t,e,i,n,rw())),e=i}}function rw(){for(var t,e,i=null,n={dashed:!0,solid:!1,dotted:[1,5]},o={dot:"circle",box:"box",crow:"crow",curve:"curve",icurve:"inv_curve",normal:"triangle",inv:"inv_triangle",diamond:"diamond",tee:"bar",vee:"vee"},r=new Array,s=new Array;"["===Vb;){for(tw(),i={};""!==Vb&&"]"!=Vb;){if(Ub!=Rb.IDENTIFIER)throw sw("Attribute name expected");var a=Vb;if(tw(),"="!=Vb)throw sw("Equal sign = expected");if(tw(),Ub!=Rb.IDENTIFIER)throw sw("Attribute value expected");var h=Vb;"style"===a&&(h=n[h]),"arrowhead"===a&&(a="arrows",h={to:{enabled:!0,type:o[h]}}),"arrowtail"===a&&(a="arrows",h={from:{enabled:!0,type:o[h]}}),r.push({attr:i,name:a,value:h}),s.push(a),tw(),","==Vb&&tw()}if("]"!=Vb)throw sw("Bracket ] expected");tw()}if(Rp(s).call(s,"dir")){var l={arrows:{}};for(t=0;t<r.length;t++)if("arrows"===r[t].name)if(null!=r[t].value.to)l.arrows.to=t;else{if(null==r[t].value.from)throw sw("Invalid value of arrows");l.arrows.from=t}else"dir"===r[t].name&&(l.dir=t);var d,c,u=r[l.dir].value;if(!Rp(s).call(s,"arrows"))if("both"===u)r.push({attr:r[l.dir].attr,name:"arrows",value:{to:{enabled:!0}}}),l.arrows.to=r.length-1,r.push({attr:r[l.dir].attr,name:"arrows",value:{from:{enabled:!0}}}),l.arrows.from=r.length-1;else if("forward"===u)r.push({attr:r[l.dir].attr,name:"arrows",value:{to:{enabled:!0}}}),l.arrows.to=r.length-1;else if("back"===u)r.push({attr:r[l.dir].attr,name:"arrows",value:{from:{enabled:!0}}}),l.arrows.from=r.length-1;else{if("none"!==u)throw sw('Invalid dir type "'+u+'"');r.push({attr:r[l.dir].attr,name:"arrows",value:""}),l.arrows.to=r.length-1}if("both"===u)l.arrows.to&&l.arrows.from?(c=r[l.arrows.to].value.to.type,d=r[l.arrows.from].value.from.type,r[l.arrows.to]={attr:r[l.arrows.to].attr,name:r[l.arrows.to].name,value:{to:{enabled:!0,type:c},from:{enabled:!0,type:d}}},yp(r).call(r,l.arrows.from,1)):l.arrows.to?(c=r[l.arrows.to].value.to.type,d="arrow",r[l.arrows.to]={attr:r[l.arrows.to].attr,name:r[l.arrows.to].name,value:{to:{enabled:!0,type:c},from:{enabled:!0,type:d}}}):l.arrows.from&&(c="arrow",d=r[l.arrows.from].value.from.type,r[l.arrows.from]={attr:r[l.arrows.from].attr,name:r[l.arrows.from].name,value:{to:{enabled:!0,type:c},from:{enabled:!0,type:d}}});else if("back"===u)l.arrows.to&&l.arrows.from?(c="",d=r[l.arrows.from].value.from.type,r[l.arrows.from]={attr:r[l.arrows.from].attr,name:r[l.arrows.from].name,value:{to:{enabled:!0,type:c},from:{enabled:!0,type:d}}}):l.arrows.to?(c="",d="arrow",l.arrows.from=l.arrows.to,r[l.arrows.from]={attr:r[l.arrows.from].attr,name:r[l.arrows.from].name,value:{to:{enabled:!0,type:c},from:{enabled:!0,type:d}}}):l.arrows.from&&(c="",d=r[l.arrows.from].value.from.type,r[l.arrows.to]={attr:r[l.arrows.from].attr,name:r[l.arrows.from].name,value:{to:{enabled:!0,type:c},from:{enabled:!0,type:d}}}),r[l.arrows.from]={attr:r[l.arrows.from].attr,name:r[l.arrows.from].name,value:{from:{enabled:!0,type:r[l.arrows.from].value.from.type}}};else if("none"===u){var f;r[f=l.arrows.to?l.arrows.to:l.arrows.from]={attr:r[f].attr,name:r[f].name,value:""}}else{if("forward"!==u)throw sw('Invalid dir type "'+u+'"');l.arrows.to&&l.arrows.from||l.arrows.to?(c=r[l.arrows.to].value.to.type,d="",r[l.arrows.to]={attr:r[l.arrows.to].attr,name:r[l.arrows.to].name,value:{to:{enabled:!0,type:c},from:{enabled:!0,type:d}}}):l.arrows.from&&(c="arrow",d="",l.arrows.to=l.arrows.from,r[l.arrows.to]={attr:r[l.arrows.to].attr,name:r[l.arrows.to].name,value:{to:{enabled:!0,type:c},from:{enabled:!0,type:d}}}),r[l.arrows.to]={attr:r[l.arrows.to].attr,name:r[l.arrows.to].name,value:{to:{enabled:!0,type:r[l.arrows.to].value.to.type}}}}yp(r).call(r,l.dir,1)}if(Rp(s).call(s,"penwidth")){var p=[];for(e=r.length,t=0;t<e;t++)"width"!==r[t].name&&("penwidth"===r[t].name&&(r[t].name="width"),p.push(r[t]));r=p}for(e=r.length,t=0;t<e;t++)$b(r[t].attr,r[t].name,r[t].value);return i}function sw(t){return new SyntaxError(t+', got "'+aw(Vb,30)+'" (char '+Wb+")")}function aw(t,e){return t.length<=e?t:t.substr(0,27)+"..."}function hw(t,e,i){for(var n=e.split("."),o=n.pop(),r=t,s=0;s<n.length;s++){var a=n[s];a in r||(r[a]={}),r=r[a]}return r[o]=i,t}function lw(t,e){var i={};for(var n in t)if(t.hasOwnProperty(n)){var o=e[n];sf(o)?Bf(o).call(o,(function(e){hw(i,e,t[n])})):hw(i,"string"==typeof o?o:n,t[n])}return i}function dw(t){var e,i=zb(t),n={nodes:[],edges:[],options:{}};i.nodes&&Bf(e=i.nodes).call(e,(function(t){var e={id:t.id,label:String(t.label||t.id)};Kb(e,lw(t.attr,Ab)),e.image&&(e.shape="image"),n.nodes.push(e)}));if(i.edges){var o,r=function(t){var e={from:t.from,to:t.to};return Kb(e,lw(t.attr,jb)),null==e.arrows&&"->"===t.type&&(e.arrows="to"),e};Bf(o=i.edges).call(o,(function(t){var e,i,o,s,a,h,l;(e=t.from instanceof Object?t.from.nodes:{id:t.from},i=t.to instanceof Object?t.to.nodes:{id:t.to},t.from instanceof Object&&t.from.edges)&&Bf(o=t.from.edges).call(o,(function(t){var e=r(t);n.edges.push(e)}));(a=i,h=function(e,i){var o=Jb(n,e.id,i.id,t.type,t.attr),s=r(o);n.edges.push(s)},sf(s=e)?Bf(s).call(s,(function(t){sf(a)?Bf(a).call(a,(function(e){h(t,e)})):h(t,a)})):sf(a)?Bf(a).call(a,(function(t){h(s,t)})):h(s,a),t.to instanceof Object&&t.to.edges)&&Bf(l=t.to.edges).call(l,(function(t){var e=r(t);n.edges.push(e)}))}))}return i.attr&&(n.options=i.attr),n}var cw=Object.freeze({__proto__:null,DOTToGraph:dw,parseDOT:zb});function uw(t,e){var i,n={edges:{inheritColor:!1},nodes:{fixed:!1,parseColor:!1}};null!=e&&(null!=e.fixed&&(n.nodes.fixed=e.fixed),null!=e.parseColor&&(n.nodes.parseColor=e.parseColor),null!=e.inheritColor&&(n.edges.inheritColor=e.inheritColor));var o=t.edges,r=ff(o).call(o,(function(t){var e={from:t.source,id:t.id,to:t.target};return null!=t.attributes&&(e.attributes=t.attributes),null!=t.label&&(e.label=t.label),null!=t.attributes&&null!=t.attributes.title&&(e.title=t.attributes.title),"Directed"===t.type&&(e.arrows="to"),t.color&&!1===n.edges.inheritColor&&(e.color=t.color),e}));return{nodes:ff(i=t.nodes).call(i,(function(t){var e={id:t.id,fixed:n.nodes.fixed&&null!=t.x&&null!=t.y};return null!=t.attributes&&(e.attributes=t.attributes),null!=t.label&&(e.label=t.label),null!=t.size&&(e.size=t.size),null!=t.attributes&&null!=t.attributes.title&&(e.title=t.attributes.title),null!=t.title&&(e.title=t.title),null!=t.x&&(e.x=t.x),null!=t.y&&(e.y=t.y),null!=t.color&&(!0===n.nodes.parseColor?e.color=t.color:e.color={background:t.color,border:t.color,highlight:{background:t.color,border:t.color},hover:{background:t.color,border:t.color}}),e})),edges:r}}var fw=Object.freeze({__proto__:null,parseGephi:uw}),pw=Object.freeze({__proto__:null,cn:{addDescription:"单击空白处放置新节点。",addEdge:"添加连接线",addNode:"添加节点",back:"返回",close:"關閉",createEdgeError:"无法将连接线连接到群集。",del:"删除选定",deleteClusterError:"无法删除群集。",edgeDescription:"单击某个节点并将该连接线拖动到另一个节点以连接它们。",edit:"编辑",editClusterError:"无法编辑群集。",editEdge:"编辑连接线",editEdgeDescription:"单击控制节点并将它们拖到节点上连接。",editNode:"编辑节点"},cs:{addDescription:"Kluknutím do prázdného prostoru můžete přidat nový vrchol.",addEdge:"Přidat hranu",addNode:"Přidat vrchol",back:"Zpět",close:"Zavřít",createEdgeError:"Nelze připojit hranu ke shluku.",del:"Smazat výběr",deleteClusterError:"Nelze mazat shluky.",edgeDescription:"Přetažením z jednoho vrcholu do druhého můžete spojit tyto vrcholy novou hranou.",edit:"Upravit",editClusterError:"Nelze upravovat shluky.",editEdge:"Upravit hranu",editEdgeDescription:"Přetažením kontrolního vrcholu hrany ji můžete připojit k jinému vrcholu.",editNode:"Upravit vrchol"},de:{addDescription:"Klicke auf eine freie Stelle, um einen neuen Knoten zu plazieren.",addEdge:"Kante hinzufügen",addNode:"Knoten hinzufügen",back:"Zurück",close:"Schließen",createEdgeError:"Es ist nicht möglich, Kanten mit Clustern zu verbinden.",del:"Lösche Auswahl",deleteClusterError:"Cluster können nicht gelöscht werden.",edgeDescription:"Klicke auf einen Knoten und ziehe die Kante zu einem anderen Knoten, um diese zu verbinden.",edit:"Editieren",editClusterError:"Cluster können nicht editiert werden.",editEdge:"Kante editieren",editEdgeDescription:"Klicke auf die Verbindungspunkte und ziehe diese auf einen Knoten, um sie zu verbinden.",editNode:"Knoten editieren"},en:{addDescription:"Click in an empty space to place a new node.",addEdge:"Add Edge",addNode:"Add Node",back:"Back",close:"Close",createEdgeError:"Cannot link edges to a cluster.",del:"Delete selected",deleteClusterError:"Clusters cannot be deleted.",edgeDescription:"Click on a node and drag the edge to another node to connect them.",edit:"Edit",editClusterError:"Clusters cannot be edited.",editEdge:"Edit Edge",editEdgeDescription:"Click on the control points and drag them to a node to connect to it.",editNode:"Edit Node"},es:{addDescription:"Haga clic en un lugar vacío para colocar un nuevo nodo.",addEdge:"Añadir arista",addNode:"Añadir nodo",back:"Atrás",close:"Cerrar",createEdgeError:"No se puede conectar una arista a un grupo.",del:"Eliminar selección",deleteClusterError:"No es posible eliminar grupos.",edgeDescription:"Haga clic en un nodo y arrastre la arista hacia otro nodo para conectarlos.",edit:"Editar",editClusterError:"No es posible editar grupos.",editEdge:"Editar arista",editEdgeDescription:"Haga clic en un punto de control y arrastrelo a un nodo para conectarlo.",editNode:"Editar nodo"},fr:{addDescription:"Cliquez dans un endroit vide pour placer un nœud.",addEdge:"Ajouter un lien",addNode:"Ajouter un nœud",back:"Retour",close:"Fermer",createEdgeError:"Impossible de créer un lien vers un cluster.",del:"Effacer la sélection",deleteClusterError:"Les clusters ne peuvent pas être effacés.",edgeDescription:"Cliquez sur un nœud et glissez le lien vers un autre nœud pour les connecter.",edit:"Éditer",editClusterError:"Les clusters ne peuvent pas être édités.",editEdge:"Éditer le lien",editEdgeDescription:"Cliquez sur les points de contrôle et glissez-les pour connecter un nœud.",editNode:"Éditer le nœud"},it:{addDescription:"Clicca per aggiungere un nuovo nodo",addEdge:"Aggiungi un vertice",addNode:"Aggiungi un nodo",back:"Indietro",close:"Chiudere",createEdgeError:"Non si possono collegare vertici ad un cluster",del:"Cancella la selezione",deleteClusterError:"I cluster non possono essere cancellati",edgeDescription:"Clicca su un nodo e trascinalo ad un altro nodo per connetterli.",edit:"Modifica",editClusterError:"I clusters non possono essere modificati.",editEdge:"Modifica il vertice",editEdgeDescription:"Clicca sui Punti di controllo e trascinali ad un nodo per connetterli.",editNode:"Modifica il nodo"},nl:{addDescription:"Klik op een leeg gebied om een nieuwe node te maken.",addEdge:"Link toevoegen",addNode:"Node toevoegen",back:"Terug",close:"Sluiten",createEdgeError:"Kan geen link maken naar een cluster.",del:"Selectie verwijderen",deleteClusterError:"Clusters kunnen niet worden verwijderd.",edgeDescription:"Klik op een node en sleep de link naar een andere node om ze te verbinden.",edit:"Wijzigen",editClusterError:"Clusters kunnen niet worden aangepast.",editEdge:"Link wijzigen",editEdgeDescription:"Klik op de verbindingspunten en sleep ze naar een node om daarmee te verbinden.",editNode:"Node wijzigen"},pt:{addDescription:"Clique em um espaço em branco para adicionar um novo nó",addEdge:"Adicionar aresta",addNode:"Adicionar nó",back:"Voltar",close:"Fechar",createEdgeError:"Não foi possível linkar arestas a um cluster.",del:"Remover selecionado",deleteClusterError:"Clusters não puderam ser removidos.",edgeDescription:"Clique em um nó e arraste a aresta até outro nó para conectá-los",edit:"Editar",editClusterError:"Clusters não puderam ser editados.",editEdge:"Editar aresta",editEdgeDescription:"Clique nos pontos de controle e os arraste para um nó para conectá-los",editNode:"Editar nó"},ru:{addDescription:"Кликните в свободное место, чтобы добавить новый узел.",addEdge:"Добавить ребро",addNode:"Добавить узел",back:"Назад",close:"Закрывать",createEdgeError:"Невозможно соединить ребра в кластер.",del:"Удалить выбранное",deleteClusterError:"Кластеры не могут быть удалены",edgeDescription:"Кликните на узел и протяните ребро к другому узлу, чтобы соединить их.",edit:"Редактировать",editClusterError:"Кластеры недоступны для редактирования.",editEdge:"Редактировать ребро",editEdgeDescription:"Кликните на контрольные точки и перетащите их в узел, чтобы подключиться к нему.",editNode:"Редактировать узел"},uk:{addDescription:"Kлікніть на вільне місце, щоб додати новий вузол.",addEdge:"Додати край",addNode:"Додати вузол",back:"Назад",close:"Закрити",createEdgeError:"Не можливо об'єднати краї в групу.",del:"Видалити обране",deleteClusterError:"Групи не можуть бути видалені.",edgeDescription:"Клікніть на вузол і перетягніть край до іншого вузла, щоб їх з'єднати.",edit:"Редагувати",editClusterError:"Групи недоступні для редагування.",editEdge:"Редагувати край",editEdgeDescription:"Клікніть на контрольні точки і перетягніть їх у вузол, щоб підключитися до нього.",editNode:"Редагувати вузол"}});var vw=function(){function t(){ch(this,t),this.NUM_ITERATIONS=4,this.image=new Image,this.canvas=document.createElement("canvas")}return pu(t,[{key:"init",value:function(){if(!this.initialized()){this.src=this.image.src;var t=this.image.width,e=this.image.height;this.width=t,this.height=e;var i=Math.floor(e/2),n=Math.floor(e/4),o=Math.floor(e/8),r=Math.floor(e/16),s=Math.floor(t/2),a=Math.floor(t/4),h=Math.floor(t/8),l=Math.floor(t/16);this.canvas.width=3*a,this.canvas.height=i,this.coordinates=[[0,0,s,i],[s,0,a,n],[s,n,h,o],[5*h,n,l,r]],this._fillMipMap()}}},{key:"initialized",value:function(){return void 0!==this.coordinates}},{key:"_fillMipMap",value:function(){var t=this.canvas.getContext("2d"),e=this.coordinates[0];t.drawImage(this.image,e[0],e[1],e[2],e[3]);for(var i=1;i<this.NUM_ITERATIONS;i++){var n=this.coordinates[i-1],o=this.coordinates[i];t.drawImage(this.canvas,n[0],n[1],n[2],n[3],o[0],o[1],o[2],o[3])}}},{key:"drawImageAtPosition",value:function(t,e,i,n,o,r){if(this.initialized())if(e>2){e*=.5;for(var s=0;e>2&&s<this.NUM_ITERATIONS;)e*=.5,s+=1;s>=this.NUM_ITERATIONS&&(s=this.NUM_ITERATIONS-1);var a=this.coordinates[s];t.drawImage(this.canvas,a[0],a[1],a[2],a[3],i,n,o,r)}else t.drawImage(this.image,i,n,o,r)}}]),t}(),gw=function(){function t(e){ch(this,t),this.images={},this.imageBroken={},this.callback=e}return pu(t,[{key:"_tryloadBrokenUrl",value:function(t,e,i){void 0!==t&&void 0!==i&&(void 0!==e?(i.image.onerror=function(){console.error("Could not load brokenImage:",e)},i.image.src=e):console.warn("No broken url image defined"))}},{key:"_redrawWithImage",value:function(t){this.callback&&this.callback(t)}},{key:"load",value:function(t,e){var i=this,n=this.images[t];if(n)return n;var o=new vw;return this.images[t]=o,o.image.onload=function(){i._fixImageCoordinates(o.image),o.init(),i._redrawWithImage(o)},o.image.onerror=function(){console.error("Could not load image:",t),i._tryloadBrokenUrl(t,e,o)},o.image.src=t,o}},{key:"_fixImageCoordinates",value:function(t){0===t.width&&(document.body.appendChild(t),t.width=t.offsetWidth,t.height=t.offsetHeight,document.body.removeChild(t))}}]),t}(),yw={exports:{}},mw=r((function(){if("function"==typeof ArrayBuffer){var t=new ArrayBuffer(8);Object.isExtensible(t)&&Object.defineProperty(t,"a",{value:8})}})),bw=r,ww=tt,kw=w,_w=mw,xw=Object.isExtensible,Ew=bw((function(){xw(1)}))||_w?function(t){return!!ww(t)&&((!_w||"ArrayBuffer"!=kw(t))&&(!xw||xw(t)))}:xw,Ow=!r((function(){return Object.isExtensible(Object.preventExtensions({}))})),Cw=Si,Sw=g,Tw=Ui,Mw=tt,Pw=Zt,Dw=$e.f,Iw=$h,Bw=Jh,Nw=Ew,Fw=Ow,zw=!1,Aw=ie("meta"),jw=0,Rw=function(t){Dw(t,Aw,{value:{objectID:"O"+jw++,weakData:{}}})},Lw=yw.exports={enable:function(){Lw.enable=function(){},zw=!0;var t=Iw.f,e=Sw([].splice),i={};i[Aw]=1,t(i).length&&(Iw.f=function(i){for(var n=t(i),o=0,r=n.length;o<r;o++)if(n[o]===Aw){e(n,o,1);break}return n},Cw({target:"Object",stat:!0,forced:!0},{getOwnPropertyNames:Bw.f}))},fastKey:function(t,e){if(!Mw(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!Pw(t,Aw)){if(!Nw(t))return"F";if(!e)return"E";Rw(t)}return t[Aw].objectID},getWeakData:function(t,e){if(!Pw(t,Aw)){if(!Nw(t))return!0;if(!e)return!1;Rw(t)}return t[Aw].weakData},onFreeze:function(t){return Fw&&zw&&Nw(t)&&!Pw(t,Aw)&&Rw(t),t}};Tw[Aw]=!0;var Hw=yw.exports,Ww=Ke,qw=I,Vw=ei,Uw=Ct,Yw=Us,Xw=Ri,Gw=at,Kw=Ca,$w=ba,Zw=Rs,Qw=TypeError,Jw=function(t,e){this.stopped=t,this.result=e},tk=Jw.prototype,ek=function(t,e,i){var n,o,r,s,a,h,l,d=i&&i.that,c=!(!i||!i.AS_ENTRIES),u=!(!i||!i.IS_RECORD),f=!(!i||!i.IS_ITERATOR),p=!(!i||!i.INTERRUPTED),v=Ww(e,d),g=function(t){return n&&Zw(n,"normal",t),new Jw(!0,t)},y=function(t){return c?(Vw(t),p?v(t[0],t[1],g):v(t[0],t[1])):p?v(t,g):v(t)};if(u)n=t.iterator;else if(f)n=t;else{if(!(o=$w(t)))throw Qw(Uw(t)+" is not iterable");if(Yw(o)){for(r=0,s=Xw(t);s>r;r++)if((a=y(t[r]))&&Gw(tk,a))return a;return new Jw(!1)}n=Kw(t,o)}for(h=u?t.next:n.next;!(l=qw(h,n)).done;){try{a=y(l.value)}catch(t){Zw(n,"throw",t)}if("object"==typeof a&&a&&Gw(tk,a))return a}return new Jw(!1)},ik=at,nk=TypeError,ok=function(t,e){if(ik(e,t))return t;throw nk("Incorrect invocation")},rk=Si,sk=o,ak=Hw,hk=r,lk=vi,dk=ek,ck=ok,uk=S,fk=tt,pk=Xr,vk=$e.f,gk=Il.forEach,yk=M,mk=Ro.set,bk=Ro.getterFor,wk=function(t,e,i){var n,o=-1!==t.indexOf("Map"),r=-1!==t.indexOf("Weak"),s=o?"set":"add",a=sk[t],h=a&&a.prototype,l={};if(yk&&uk(a)&&(r||h.forEach&&!hk((function(){(new a).entries().next()})))){var d=(n=e((function(e,i){mk(ck(e,d),{type:t,collection:new a}),null!=i&&dk(i,e[s],{that:e,AS_ENTRIES:o})}))).prototype,c=bk(t);gk(["add","clear","delete","forEach","get","has","set","keys","values","entries"],(function(t){var e="add"==t||"set"==t;!(t in h)||r&&"clear"==t||lk(d,t,(function(i,n){var o=c(this).collection;if(!e&&r&&!fk(i))return"get"==t&&void 0;var s=o[t](0===i?0:i,n);return e?this:s}))})),r||vk(d,"size",{configurable:!0,get:function(){return c(this).collection.size}})}else n=i.getConstructor(e,t,o,s),ak.enable();return pk(n,t,!1,!0),l[t]=n,rk({global:!0,forced:!0},l),r||i.setStrong(n,t,o),n},kk=Tr,_k=function(t,e,i){for(var n in e)i&&i.unsafe&&t[n]?t[n]=e[n]:kk(t,n,e[n],i);return t},xk=st,Ek=ul,Ok=M,Ck=ce("species"),Sk=function(t){var e=xk(t);Ok&&e&&!e[Ck]&&Ek(e,Ck,{configurable:!0,get:function(){return this}})},Tk=yr,Mk=ul,Pk=_k,Dk=Ke,Ik=ok,Bk=U,Nk=ek,Fk=Cs,zk=Ss,Ak=Sk,jk=M,Rk=Hw.fastKey,Lk=Ro.set,Hk=Ro.getterFor,Wk={getConstructor:function(t,e,i,n){var o=t((function(t,o){Ik(t,r),Lk(t,{type:e,index:Tk(null),first:void 0,last:void 0,size:0}),jk||(t.size=0),Bk(o)||Nk(o,t[n],{that:t,AS_ENTRIES:i})})),r=o.prototype,s=Hk(e),a=function(t,e,i){var n,o,r=s(t),a=h(t,e);return a?a.value=i:(r.last=a={index:o=Rk(e,!0),key:e,value:i,previous:n=r.last,next:void 0,removed:!1},r.first||(r.first=a),n&&(n.next=a),jk?r.size++:t.size++,"F"!==o&&(r.index[o]=a)),t},h=function(t,e){var i,n=s(t),o=Rk(e);if("F"!==o)return n.index[o];for(i=n.first;i;i=i.next)if(i.key==e)return i};return Pk(r,{clear:function(){for(var t=s(this),e=t.index,i=t.first;i;)i.removed=!0,i.previous&&(i.previous=i.previous.next=void 0),delete e[i.index],i=i.next;t.first=t.last=void 0,jk?t.size=0:this.size=0},delete:function(t){var e=this,i=s(e),n=h(e,t);if(n){var o=n.next,r=n.previous;delete i.index[n.index],n.removed=!0,r&&(r.next=o),o&&(o.previous=r),i.first==n&&(i.first=o),i.last==n&&(i.last=r),jk?i.size--:e.size--}return!!n},forEach:function(t){for(var e,i=s(this),n=Dk(t,arguments.length>1?arguments[1]:void 0);e=e?e.next:i.first;)for(n(e.value,e.key,this);e&&e.removed;)e=e.previous},has:function(t){return!!h(this,t)}}),Pk(r,i?{get:function(t){var e=h(this,t);return e&&e.value},set:function(t,e){return a(this,0===t?0:t,e)}}:{add:function(t){return a(this,t=0===t?0:t,t)}}),jk&&Mk(r,"size",{configurable:!0,get:function(){return s(this).size}}),o},setStrong:function(t,e,i){var n=e+" Iterator",o=Hk(e),r=Hk(n);Fk(t,e,(function(t,e){Lk(this,{type:n,target:t,state:o(t),kind:e,last:void 0})}),(function(){for(var t=r(this),e=t.kind,i=t.last;i&&i.removed;)i=i.previous;return t.target&&(t.last=i=i?i.next:t.state.first)?zk("keys"==e?i.key:"values"==e?i.value:[i.key,i.value],!1):(t.target=void 0,zk(void 0,!0))}),i?"entries":"values",!i,!0),Ak(e)}};wk("Map",(function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}}),Wk);var qk=i(et.Map),Vk=function(){function t(){ch(this,t),this.clear(),this._defaultIndex=0,this._groupIndex=0,this._defaultGroups=[{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},{border:"#FFA500",background:"#FFFF00",highlight:{border:"#FFA500",background:"#FFFFA3"},hover:{border:"#FFA500",background:"#FFFFA3"}},{border:"#FA0A10",background:"#FB7E81",highlight:{border:"#FA0A10",background:"#FFAFB1"},hover:{border:"#FA0A10",background:"#FFAFB1"}},{border:"#41A906",background:"#7BE141",highlight:{border:"#41A906",background:"#A1EC76"},hover:{border:"#41A906",background:"#A1EC76"}},{border:"#E129F0",background:"#EB7DF4",highlight:{border:"#E129F0",background:"#F0B3F5"},hover:{border:"#E129F0",background:"#F0B3F5"}},{border:"#7C29F0",background:"#AD85E4",highlight:{border:"#7C29F0",background:"#D3BDF0"},hover:{border:"#7C29F0",background:"#D3BDF0"}},{border:"#C37F00",background:"#FFA807",highlight:{border:"#C37F00",background:"#FFCA66"},hover:{border:"#C37F00",background:"#FFCA66"}},{border:"#4220FB",background:"#6E6EFD",highlight:{border:"#4220FB",background:"#9B9BFD"},hover:{border:"#4220FB",background:"#9B9BFD"}},{border:"#FD5A77",background:"#FFC0CB",highlight:{border:"#FD5A77",background:"#FFD1D9"},hover:{border:"#FD5A77",background:"#FFD1D9"}},{border:"#4AD63A",background:"#C2FABC",highlight:{border:"#4AD63A",background:"#E6FFE3"},hover:{border:"#4AD63A",background:"#E6FFE3"}},{border:"#990000",background:"#EE0000",highlight:{border:"#BB0000",background:"#FF3333"},hover:{border:"#BB0000",background:"#FF3333"}},{border:"#FF6000",background:"#FF6000",highlight:{border:"#FF6000",background:"#FF6000"},hover:{border:"#FF6000",background:"#FF6000"}},{border:"#97C2FC",background:"#2B7CE9",highlight:{border:"#D2E5FF",background:"#2B7CE9"},hover:{border:"#D2E5FF",background:"#2B7CE9"}},{border:"#399605",background:"#255C03",highlight:{border:"#399605",background:"#255C03"},hover:{border:"#399605",background:"#255C03"}},{border:"#B70054",background:"#FF007E",highlight:{border:"#B70054",background:"#FF007E"},hover:{border:"#B70054",background:"#FF007E"}},{border:"#AD85E4",background:"#7C29F0",highlight:{border:"#D3BDF0",background:"#7C29F0"},hover:{border:"#D3BDF0",background:"#7C29F0"}},{border:"#4557FA",background:"#000EA1",highlight:{border:"#6E6EFD",background:"#000EA1"},hover:{border:"#6E6EFD",background:"#000EA1"}},{border:"#FFC0CB",background:"#FD5A77",highlight:{border:"#FFD1D9",background:"#FD5A77"},hover:{border:"#FFD1D9",background:"#FD5A77"}},{border:"#C2FABC",background:"#74D66A",highlight:{border:"#E6FFE3",background:"#74D66A"},hover:{border:"#E6FFE3",background:"#74D66A"}},{border:"#EE0000",background:"#990000",highlight:{border:"#FF3333",background:"#BB0000"},hover:{border:"#FF3333",background:"#BB0000"}}],this.options={},this.defaultOptions={useDefaultGroups:!0},mn(this.options,this.defaultOptions)}return pu(t,[{key:"setOptions",value:function(t){var e=["useDefaultGroups"];if(void 0!==t)for(var i in t)if(Object.prototype.hasOwnProperty.call(t,i)&&-1===Lv(e).call(e,i)){var n=t[i];this.add(i,n)}}},{key:"clear",value:function(){this._groups=new qk,this._groupNames=[]}},{key:"get",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this._groups.get(t);if(void 0===i&&e)if(!1===this.options.useDefaultGroups&&this._groupNames.length>0){var n=this._groupIndex%this._groupNames.length;++this._groupIndex,(i={}).color=this._groups.get(this._groupNames[n]),this._groups.set(t,i)}else{var o=this._defaultIndex%this._defaultGroups.length;this._defaultIndex++,(i={}).color=this._defaultGroups[o],this._groups.set(t,i)}return i}},{key:"add",value:function(t,e){return this._groups.has(t)||this._groupNames.push(t),this._groups.set(t,e),e}}]),t}();Si({target:"Number",stat:!0},{isNaN:function(t){return t!=t}});var Uk=i(et.Number.isNaN),Yk=o.isFinite,Xk=Number.isFinite||function(t){return"number"==typeof t&&Yk(t)};Si({target:"Number",stat:!0},{isFinite:Xk});var Gk=i(et.Number.isFinite),Kk=Il.some;Si({target:"Array",proto:!0,forced:!_f("some")},{some:function(t){return Kk(this,t,arguments.length>1?arguments[1]:void 0)}});var $k=Bn("Array").some,Zk=at,Qk=$k,Jk=Array.prototype,t_=function(t){var e=t.some;return t===Jk||Zk(Jk,t)&&e===Jk.some?Qk:e},e_=i(t_);function i_(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}var n_=Vv,o_=i(n_);Si({target:"Object",stat:!0},{setPrototypeOf:ls});var r_=et.Object.setPrototypeOf,s_=i(r_),a_=i(Rn);function h_(t,e){var i;return h_=s_?a_(i=s_).call(i):function(t,e){return t.__proto__=e,t},h_(t,e)}function l_(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=o_(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),wh(t,"prototype",{writable:!1}),e&&h_(t,e)}function d_(t,e){if(e&&("object"===du(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return i_(t)}var c_=qp,u_=i(c_);function f_(t){var e;return f_=s_?a_(e=u_).call(e):function(t){return t.__proto__||u_(t)},f_(t)}function p_(t,e,i){return(e=uu(e))in t?wh(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}var v_={exports:{}},g_={exports:{}};!function(t){var e=ru,i=hu;function n(o){return t.exports=n="function"==typeof e&&"symbol"==typeof i?function(t){return typeof t}:function(t){return t&&"function"==typeof e&&t.constructor===e&&t!==e.prototype?"symbol":typeof t},t.exports.__esModule=!0,t.exports.default=t.exports,n(o)}t.exports=n,t.exports.__esModule=!0,t.exports.default=t.exports}(g_);var y_=g_.exports,m_=If,b_=Zt,w_=of,k_=T,__=$e,x_=tt,E_=vi,O_=Error,C_=g("".replace),S_=String(O_("zxcasd").stack),T_=/\n\s*at [^:]*:[^\n]*/,M_=T_.test(S_),P_=R,D_=!r((function(){var t=Error("a");return!("stack"in t)||(Object.defineProperty(t,"stack",P_(1,7)),7!==t.stack)})),I_=vi,B_=function(t,e){if(M_&&"string"==typeof t&&!O_.prepareStackTrace)for(;e--;)t=C_(t,T_,"");return t},N_=D_,F_=Error.captureStackTrace,z_=lo,A_=Si,j_=at,R_=Cr,L_=ls,H_=function(t,e,i){for(var n=w_(e),o=__.f,r=k_.f,s=0;s<n.length;s++){var a=n[s];b_(t,a)||i&&b_(i,a)||o(t,a,r(e,a))}},W_=yr,q_=vi,V_=R,U_=function(t,e){x_(e)&&"cause"in e&&E_(t,"cause",e.cause)},Y_=function(t,e,i,n){N_&&(F_?F_(t,e):I_(t,"stack",B_(i,n)))},X_=ek,G_=function(t,e){return void 0===t?arguments.length<2?"":e:z_(t)},K_=ce("toStringTag"),$_=Error,Z_=[].push,Q_=function(t,e){var i,n=j_(J_,this);L_?i=L_($_(),n?R_(this):J_):(i=n?this:W_(J_),q_(i,K_,"Error")),void 0!==e&&q_(i,"message",G_(e)),Y_(i,Q_,i.stack,1),arguments.length>2&&U_(i,arguments[2]);var o=[];return X_(t,Z_,{that:o}),q_(i,"errors",o),i};L_?L_(Q_,$_):H_(Q_,$_,{name:!0});var J_=Q_.prototype=W_($_.prototype,{constructor:V_(1,Q_),message:V_(1,""),name:V_(1,"AggregateError")});A_({global:!0,constructor:!0,arity:2},{AggregateError:Q_});var tx,ex,ix,nx,ox="undefined"!=typeof process&&"process"==w(process),rx=la,sx=Ct,ax=TypeError,hx=function(t){if(rx(t))return t;throw ax(sx(t)+" is not a constructor")},lx=ei,dx=hx,cx=U,ux=ce("species"),fx=function(t,e){var i,n=lx(t).constructor;return void 0===n||cx(i=lx(n)[ux])?e:dx(i)},px=/(?:ipad|iphone|ipod).*applewebkit/i.test(ht),vx=o,gx=c,yx=Ke,mx=S,bx=Zt,wx=r,kx=tr,_x=bn,xx=Oe,Ex=Qv,Ox=px,Cx=ox,Sx=vx.setImmediate,Tx=vx.clearImmediate,Mx=vx.process,Px=vx.Dispatch,Dx=vx.Function,Ix=vx.MessageChannel,Bx=vx.String,Nx=0,Fx={},zx="onreadystatechange";wx((function(){tx=vx.location}));var Ax=function(t){if(bx(Fx,t)){var e=Fx[t];delete Fx[t],e()}},jx=function(t){return function(){Ax(t)}},Rx=function(t){Ax(t.data)},Lx=function(t){vx.postMessage(Bx(t),tx.protocol+"//"+tx.host)};Sx&&Tx||(Sx=function(t){Ex(arguments.length,1);var e=mx(t)?t:Dx(t),i=_x(arguments,1);return Fx[++Nx]=function(){gx(e,void 0,i)},ex(Nx),Nx},Tx=function(t){delete Fx[t]},Cx?ex=function(t){Mx.nextTick(jx(t))}:Px&&Px.now?ex=function(t){Px.now(jx(t))}:Ix&&!Ox?(nx=(ix=new Ix).port2,ix.port1.onmessage=Rx,ex=yx(nx.postMessage,nx)):vx.addEventListener&&mx(vx.postMessage)&&!vx.importScripts&&tx&&"file:"!==tx.protocol&&!wx(Lx)?(ex=Lx,vx.addEventListener("message",Rx,!1)):ex=zx in xx("script")?function(t){kx.appendChild(xx("script"))[zx]=function(){kx.removeChild(this),Ax(t)}}:function(t){setTimeout(jx(t),0)});var Hx={set:Sx,clear:Tx},Wx=function(){this.head=null,this.tail=null};Wx.prototype={add:function(t){var e={item:t,next:null},i=this.tail;i?i.next=e:this.head=e,this.tail=e},get:function(){var t=this.head;if(t)return null===(this.head=t.next)&&(this.tail=null),t.item}};var qx,Vx,Ux,Yx,Xx,Gx=Wx,Kx=/ipad|iphone|ipod/i.test(ht)&&"undefined"!=typeof Pebble,$x=/web0s(?!.*chrome)/i.test(ht),Zx=o,Qx=Ke,Jx=T.f,tE=Hx.set,eE=Gx,iE=px,nE=Kx,oE=$x,rE=ox,sE=Zx.MutationObserver||Zx.WebKitMutationObserver,aE=Zx.document,hE=Zx.process,lE=Zx.Promise,dE=Jx(Zx,"queueMicrotask"),cE=dE&&dE.value;if(!cE){var uE=new eE,fE=function(){var t,e;for(rE&&(t=hE.domain)&&t.exit();e=uE.get();)try{e()}catch(t){throw uE.head&&qx(),t}t&&t.enter()};iE||rE||oE||!sE||!aE?!nE&&lE&&lE.resolve?((Yx=lE.resolve(void 0)).constructor=lE,Xx=Qx(Yx.then,Yx),qx=function(){Xx(fE)}):rE?qx=function(){hE.nextTick(fE)}:(tE=Qx(tE,Zx),qx=function(){tE(fE)}):(Vx=!0,Ux=aE.createTextNode(""),new sE(fE).observe(Ux,{characterData:!0}),qx=function(){Ux.data=Vx=!Vx}),cE=function(t){uE.head||qx(),uE.add(t)}}var pE=cE,vE=function(t){try{return{error:!1,value:t()}}catch(t){return{error:!0,value:t}}},gE=o.Promise,yE="object"==typeof Deno&&Deno&&"object"==typeof Deno.version,mE=!yE&&!ox&&"object"==typeof window&&"object"==typeof document,bE=o,wE=gE,kE=S,_E=Ue,xE=Ks,EE=ce,OE=mE,CE=yE,SE=vt,TE=wE&&wE.prototype,ME=EE("species"),PE=!1,DE=kE(bE.PromiseRejectionEvent),IE=_E("Promise",(function(){var t=xE(wE),e=t!==String(wE);if(!e&&66===SE)return!0;if(!TE.catch||!TE.finally)return!0;if(!SE||SE<51||!/native code/.test(t)){var i=new wE((function(t){t(1)})),n=function(t){t((function(){}),(function(){}))};if((i.constructor={})[ME]=n,!(PE=i.then((function(){}))instanceof n))return!0}return!e&&(OE||CE)&&!DE})),BE={CONSTRUCTOR:IE,REJECTION_EVENT:DE,SUBCLASSING:PE},NE={},FE=Pt,zE=TypeError,AE=function(t){var e,i;this.promise=new t((function(t,n){if(void 0!==e||void 0!==i)throw zE("Bad Promise constructor");e=t,i=n})),this.resolve=FE(e),this.reject=FE(i)};NE.f=function(t){return new AE(t)};var jE,RE,LE=Si,HE=ox,WE=o,qE=I,VE=Tr,UE=Xr,YE=Sk,XE=Pt,GE=S,KE=tt,$E=ok,ZE=fx,QE=Hx.set,JE=pE,tO=function(t,e){try{1==arguments.length?console.error(t):console.error(t,e)}catch(t){}},eO=vE,iO=Gx,nO=Ro,oO=gE,rO=BE,sO=NE,aO="Promise",hO=rO.CONSTRUCTOR,lO=rO.REJECTION_EVENT,dO=nO.getterFor(aO),cO=nO.set,uO=oO&&oO.prototype,fO=oO,pO=uO,vO=WE.TypeError,gO=WE.document,yO=WE.process,mO=sO.f,bO=mO,wO=!!(gO&&gO.createEvent&&WE.dispatchEvent),kO="unhandledrejection",_O=function(t){var e;return!(!KE(t)||!GE(e=t.then))&&e},xO=function(t,e){var i,n,o,r=e.value,s=1==e.state,a=s?t.ok:t.fail,h=t.resolve,l=t.reject,d=t.domain;try{a?(s||(2===e.rejection&&TO(e),e.rejection=1),!0===a?i=r:(d&&d.enter(),i=a(r),d&&(d.exit(),o=!0)),i===t.promise?l(vO("Promise-chain cycle")):(n=_O(i))?qE(n,i,h,l):h(i)):l(r)}catch(t){d&&!o&&d.exit(),l(t)}},EO=function(t,e){t.notified||(t.notified=!0,JE((function(){for(var i,n=t.reactions;i=n.get();)xO(i,t);t.notified=!1,e&&!t.rejection&&CO(t)})))},OO=function(t,e,i){var n,o;wO?((n=gO.createEvent("Event")).promise=e,n.reason=i,n.initEvent(t,!1,!0),WE.dispatchEvent(n)):n={promise:e,reason:i},!lO&&(o=WE["on"+t])?o(n):t===kO&&tO("Unhandled promise rejection",i)},CO=function(t){qE(QE,WE,(function(){var e,i=t.facade,n=t.value;if(SO(t)&&(e=eO((function(){HE?yO.emit("unhandledRejection",n,i):OO(kO,i,n)})),t.rejection=HE||SO(t)?2:1,e.error))throw e.value}))},SO=function(t){return 1!==t.rejection&&!t.parent},TO=function(t){qE(QE,WE,(function(){var e=t.facade;HE?yO.emit("rejectionHandled",e):OO("rejectionhandled",e,t.value)}))},MO=function(t,e,i){return function(n){t(e,n,i)}},PO=function(t,e,i){t.done||(t.done=!0,i&&(t=i),t.value=e,t.state=2,EO(t,!0))},DO=function(t,e,i){if(!t.done){t.done=!0,i&&(t=i);try{if(t.facade===e)throw vO("Promise can't be resolved itself");var n=_O(e);n?JE((function(){var i={done:!1};try{qE(n,e,MO(DO,i,t),MO(PO,i,t))}catch(e){PO(i,e,t)}})):(t.value=e,t.state=1,EO(t,!1))}catch(e){PO({done:!1},e,t)}}};hO&&(pO=(fO=function(t){$E(this,pO),XE(t),qE(jE,this);var e=dO(this);try{t(MO(DO,e),MO(PO,e))}catch(t){PO(e,t)}}).prototype,(jE=function(t){cO(this,{type:aO,done:!1,notified:!1,parent:!1,reactions:new iO,rejection:!1,state:0,value:void 0})}).prototype=VE(pO,"then",(function(t,e){var i=dO(this),n=mO(ZE(this,fO));return i.parent=!0,n.ok=!GE(t)||t,n.fail=GE(e)&&e,n.domain=HE?yO.domain:void 0,0==i.state?i.reactions.add(n):JE((function(){xO(n,i)})),n.promise})),RE=function(){var t=new jE,e=dO(t);this.promise=t,this.resolve=MO(DO,e),this.reject=MO(PO,e)},sO.f=mO=function(t){return t===fO||undefined===t?new RE(t):bO(t)}),LE({global:!0,constructor:!0,wrap:!0,forced:hO},{Promise:fO}),UE(fO,aO,!1,!0),YE(aO);var IO=gE,BO=BE.CONSTRUCTOR||!Wa((function(t){IO.all(t).then(void 0,(function(){}))})),NO=I,FO=Pt,zO=NE,AO=vE,jO=ek;Si({target:"Promise",stat:!0,forced:BO},{all:function(t){var e=this,i=zO.f(e),n=i.resolve,o=i.reject,r=AO((function(){var i=FO(e.resolve),r=[],s=0,a=1;jO(t,(function(t){var h=s++,l=!1;a++,NO(i,e,t).then((function(t){l||(l=!0,r[h]=t,--a||n(r))}),o)})),--a||n(r)}));return r.error&&o(r.value),i.promise}});var RO=Si,LO=BE.CONSTRUCTOR;gE&&gE.prototype,RO({target:"Promise",proto:!0,forced:LO,real:!0},{catch:function(t){return this.then(void 0,t)}});var HO=I,WO=Pt,qO=NE,VO=vE,UO=ek;Si({target:"Promise",stat:!0,forced:BO},{race:function(t){var e=this,i=qO.f(e),n=i.reject,o=VO((function(){var o=WO(e.resolve);UO(t,(function(t){HO(o,e,t).then(i.resolve,n)}))}));return o.error&&n(o.value),i.promise}});var YO=I,XO=NE;Si({target:"Promise",stat:!0,forced:BE.CONSTRUCTOR},{reject:function(t){var e=XO.f(this);return YO(e.reject,void 0,t),e.promise}});var GO=ei,KO=tt,$O=NE,ZO=function(t,e){if(GO(t),KO(e)&&e.constructor===t)return e;var i=$O.f(t);return(0,i.resolve)(e),i.promise},QO=Si,JO=gE,tC=BE.CONSTRUCTOR,eC=ZO,iC=st("Promise"),nC=!tC;QO({target:"Promise",stat:!0,forced:true},{resolve:function(t){return eC(nC&&this===iC?JO:this,t)}});var oC=I,rC=Pt,sC=NE,aC=vE,hC=ek;Si({target:"Promise",stat:!0,forced:BO},{allSettled:function(t){var e=this,i=sC.f(e),n=i.resolve,o=i.reject,r=aC((function(){var i=rC(e.resolve),o=[],r=0,s=1;hC(t,(function(t){var a=r++,h=!1;s++,oC(i,e,t).then((function(t){h||(h=!0,o[a]={status:"fulfilled",value:t},--s||n(o))}),(function(t){h||(h=!0,o[a]={status:"rejected",reason:t},--s||n(o))}))})),--s||n(o)}));return r.error&&o(r.value),i.promise}});var lC=I,dC=Pt,cC=st,uC=NE,fC=vE,pC=ek,vC="No one promise resolved";Si({target:"Promise",stat:!0,forced:BO},{any:function(t){var e=this,i=cC("AggregateError"),n=uC.f(e),o=n.resolve,r=n.reject,s=fC((function(){var n=dC(e.resolve),s=[],a=0,h=1,l=!1;pC(t,(function(t){var d=a++,c=!1;h++,lC(n,e,t).then((function(t){c||l||(l=!0,o(t))}),(function(t){c||l||(c=!0,s[d]=t,--h||r(new i(s,vC)))}))})),--h||r(new i(s,vC))}));return s.error&&r(s.value),n.promise}});var gC=Si,yC=gE,mC=r,bC=st,wC=S,kC=fx,_C=ZO,xC=yC&&yC.prototype;gC({target:"Promise",proto:!0,real:!0,forced:!!yC&&mC((function(){xC.finally.call({then:function(){}},(function(){}))}))},{finally:function(t){var e=kC(this,bC("Promise")),i=wC(t);return this.then(i?function(i){return _C(e,t()).then((function(){return i}))}:t,i?function(i){return _C(e,t()).then((function(){throw i}))}:t)}});var EC=et.Promise,OC=NE,CC=vE;Si({target:"Promise",stat:!0,forced:!0},{try:function(t){var e=OC.f(this),i=CC(t);return(i.error?e.reject:e.resolve)(i.value),e.promise}});var SC=EC,TC=qf;!function(t){var e=y_.default,i=bh,n=ru,o=n_,r=c_,s=m_,a=r_,h=SC,l=TC,d=Au;function c(){t.exports=c=function(){return u},t.exports.__esModule=!0,t.exports.default=t.exports;var u={},f=Object.prototype,p=f.hasOwnProperty,v=i||function(t,e,i){t[e]=i.value},g="function"==typeof n?n:{},y=g.iterator||"@@iterator",m=g.asyncIterator||"@@asyncIterator",b=g.toStringTag||"@@toStringTag";function w(t,e,n){return i(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{w({},"")}catch(t){w=function(t,e,i){return t[e]=i}}function k(t,e,i,n){var r=e&&e.prototype instanceof E?e:E,s=o(r.prototype),a=new z(n||[]);return v(s,"_invoke",{value:I(t,i,a)}),s}function _(t,e,i){try{return{type:"normal",arg:t.call(e,i)}}catch(t){return{type:"throw",arg:t}}}u.wrap=k;var x={};function E(){}function O(){}function C(){}var S={};w(S,y,(function(){return this}));var T=r&&r(r(A([])));T&&T!==f&&p.call(T,y)&&(S=T);var M=C.prototype=E.prototype=o(S);function P(t){var e;s(e=["next","throw","return"]).call(e,(function(e){w(t,e,(function(t){return this._invoke(e,t)}))}))}function D(t,i){function n(o,r,s,a){var h=_(t[o],t,r);if("throw"!==h.type){var l=h.arg,d=l.value;return d&&"object"==e(d)&&p.call(d,"__await")?i.resolve(d.__await).then((function(t){n("next",t,s,a)}),(function(t){n("throw",t,s,a)})):i.resolve(d).then((function(t){l.value=t,s(l)}),(function(t){return n("throw",t,s,a)}))}a(h.arg)}var o;v(this,"_invoke",{value:function(t,e){function r(){return new i((function(i,o){n(t,e,i,o)}))}return o=o?o.then(r,r):r()}})}function I(t,e,i){var n="suspendedStart";return function(o,r){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw r;return j()}for(i.method=o,i.arg=r;;){var s=i.delegate;if(s){var a=B(s,i);if(a){if(a===x)continue;return a}}if("next"===i.method)i.sent=i._sent=i.arg;else if("throw"===i.method){if("suspendedStart"===n)throw n="completed",i.arg;i.dispatchException(i.arg)}else"return"===i.method&&i.abrupt("return",i.arg);n="executing";var h=_(t,e,i);if("normal"===h.type){if(n=i.done?"completed":"suspendedYield",h.arg===x)continue;return{value:h.arg,done:i.done}}"throw"===h.type&&(n="completed",i.method="throw",i.arg=h.arg)}}}function B(t,e){var i=e.method,n=t.iterator[i];if(void 0===n)return e.delegate=null,"throw"===i&&t.iterator.return&&(e.method="return",e.arg=void 0,B(t,e),"throw"===e.method)||"return"!==i&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+i+"' method")),x;var o=_(n,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,x;var r=o.arg;return r?r.done?(e[t.resultName]=r.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,x):r:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,x)}function N(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function F(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function z(t){this.tryEntries=[{tryLoc:"root"}],s(t).call(t,N,this),this.reset(!0)}function A(t){if(t){var e=t[y];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,n=function e(){for(;++i<t.length;)if(p.call(t,i))return e.value=t[i],e.done=!1,e;return e.value=void 0,e.done=!0,e};return n.next=n}}return{next:j}}function j(){return{value:void 0,done:!0}}return O.prototype=C,v(M,"constructor",{value:C,configurable:!0}),v(C,"constructor",{value:O,configurable:!0}),O.displayName=w(C,b,"GeneratorFunction"),u.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===O||"GeneratorFunction"===(e.displayName||e.name))},u.mark=function(t){return a?a(t,C):(t.__proto__=C,w(t,b,"GeneratorFunction")),t.prototype=o(M),t},u.awrap=function(t){return{__await:t}},P(D.prototype),w(D.prototype,m,(function(){return this})),u.AsyncIterator=D,u.async=function(t,e,i,n,o){void 0===o&&(o=h);var r=new D(k(t,e,i,n),o);return u.isGeneratorFunction(e)?r:r.next().then((function(t){return t.done?t.value:r.next()}))},P(M),w(M,b,"Generator"),w(M,y,(function(){return this})),w(M,"toString",(function(){return"[object Generator]"})),u.keys=function(t){var e=Object(t),i=[];for(var n in e)i.push(n);return l(i).call(i),function t(){for(;i.length;){var n=i.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},u.values=A,z.prototype={constructor:z,reset:function(t){var e;if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,s(e=this.tryEntries).call(e,F),!t)for(var i in this)"t"===i.charAt(0)&&p.call(this,i)&&!isNaN(+d(i).call(i,1))&&(this[i]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function i(i,n){return r.type="throw",r.arg=t,e.next=i,n&&(e.method="next",e.arg=void 0),!!n}for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n],r=o.completion;if("root"===o.tryLoc)return i("end");if(o.tryLoc<=this.prev){var s=p.call(o,"catchLoc"),a=p.call(o,"finallyLoc");if(s&&a){if(this.prev<o.catchLoc)return i(o.catchLoc,!0);if(this.prev<o.finallyLoc)return i(o.finallyLoc)}else if(s){if(this.prev<o.catchLoc)return i(o.catchLoc,!0)}else{if(!a)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return i(o.finallyLoc)}}}},abrupt:function(t,e){for(var i=this.tryEntries.length-1;i>=0;--i){var n=this.tryEntries[i];if(n.tryLoc<=this.prev&&p.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var o=n;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var r=o?o.completion:{};return r.type=t,r.arg=e,o?(this.method="next",this.next=o.finallyLoc,x):this.complete(r)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),x},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var i=this.tryEntries[e];if(i.finallyLoc===t)return this.complete(i.completion,i.afterLoc),F(i),x}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var i=this.tryEntries[e];if(i.tryLoc===t){var n=i.completion;if("throw"===n.type){var o=n.arg;F(i)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,i){return this.delegate={iterator:A(t),resultName:e,nextLoc:i},"next"===this.method&&(this.arg=void 0),x}},u}t.exports=c,t.exports.__esModule=!0,t.exports.default=t.exports}(v_);var MC=(0,v_.exports)(),PC=MC;try{regeneratorRuntime=MC}catch(t){"object"==typeof globalThis?globalThis.regeneratorRuntime=MC:Function("r","regeneratorRuntime = r")(MC)}var DC=i(PC),IC=Pt,BC=Gt,NC=V,FC=Ri,zC=TypeError,AC=function(t){return function(e,i,n,o){IC(i);var r=BC(e),s=NC(r),a=FC(r),h=t?a-1:0,l=t?-1:1;if(n<2)for(;;){if(h in s){o=s[h],h+=l;break}if(h+=l,t?h<0:a<=h)throw zC("Reduce of empty array with no initial value")}for(;t?h>=0:a>h;h+=l)h in s&&(o=i(o,s[h],h,r));return o}},jC={left:AC(!1),right:AC(!0)}.left;Si({target:"Array",proto:!0,forced:!ox&&vt>79&&vt<83||!_f("reduce")},{reduce:function(t){var e=arguments.length;return jC(this,t,e,e>1?arguments[1]:void 0)}});var RC=Bn("Array").reduce,LC=at,HC=RC,WC=Array.prototype,qC=function(t){var e=t.reduce;return t===WC||LC(WC,t)&&e===WC.reduce?HC:e},VC=i(qC),UC=_h,YC=Ri,XC=Eh,GC=Ke,KC=function(t,e,i,n,o,r,s,a){for(var h,l,d=o,c=0,u=!!s&&GC(s,a);c<n;)c in i&&(h=u?u(i[c],c,e):i[c],r>0&&UC(h)?(l=YC(h),d=KC(t,e,h,l,d,r-1)-1):(XC(d+1),t[d]=h),d++),c++;return d},$C=KC,ZC=Pt,QC=Gt,JC=Ri,tS=Dh;Si({target:"Array",proto:!0},{flatMap:function(t){var e,i=QC(this),n=JC(i);return ZC(t),(e=tS(i,0)).length=$C(e,i,i,n,0,1,t,arguments.length>1?arguments[1]:void 0),e}});var eS=Bn("Array").flatMap,iS=at,nS=eS,oS=Array.prototype,rS=function(t){var e=t.flatMap;return t===oS||iS(oS,t)&&e===oS.flatMap?nS:e},sS=i(rS);wk("Set",(function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}}),Wk);var aS=i(et.Set),hS=i(au),lS=i(Ca),dS=rl,cS=Math.floor,uS=function(t,e){var i=t.length,n=cS(i/2);return i<8?fS(t,e):pS(t,uS(dS(t,0,n),e),uS(dS(t,n),e),e)},fS=function(t,e){for(var i,n,o=t.length,r=1;r<o;){for(n=r,i=t[r];n&&e(t[n-1],i)>0;)t[n]=t[--n];n!==r++&&(t[n]=i)}return t},pS=function(t,e,i,n){for(var o=e.length,r=i.length,s=0,a=0;s<o||a<r;)t[s+a]=s<o&&a<r?n(e[s],i[a])<=0?e[s++]:i[a++]:s<o?e[s++]:i[a++];return t},vS=uS,gS=ht.match(/firefox\/(\d+)/i),yS=!!gS&&+gS[1],mS=/MSIE|Trident/.test(ht),bS=ht.match(/AppleWebKit\/(\d+)\./),wS=!!bS&&+bS[1],kS=Si,_S=g,xS=Pt,ES=Gt,OS=Ri,CS=Qf,SS=lo,TS=r,MS=vS,PS=_f,DS=yS,IS=mS,BS=vt,NS=wS,FS=[],zS=_S(FS.sort),AS=_S(FS.push),jS=TS((function(){FS.sort(void 0)})),RS=TS((function(){FS.sort(null)})),LS=PS("sort"),HS=!TS((function(){if(BS)return BS<70;if(!(DS&&DS>3)){if(IS)return!0;if(NS)return NS<603;var t,e,i,n,o="";for(t=65;t<76;t++){switch(e=String.fromCharCode(t),t){case 66:case 69:case 70:case 72:i=3;break;case 68:case 71:i=4;break;default:i=2}for(n=0;n<47;n++)FS.push({k:e+n,v:i})}for(FS.sort((function(t,e){return e.v-t.v})),n=0;n<FS.length;n++)e=FS[n].k.charAt(0),o.charAt(o.length-1)!==e&&(o+=e);return"DGBEFHACIJK"!==o}}));kS({target:"Array",proto:!0,forced:jS||!RS||!LS||!HS},{sort:function(t){void 0!==t&&xS(t);var e=ES(this);if(HS)return void 0===t?zS(e):zS(e,t);var i,n,o=[],r=OS(e);for(n=0;n<r;n++)n in e&&AS(o,e[n]);for(MS(o,function(t){return function(e,i){return void 0===i?-1:void 0===e?1:void 0!==t?+t(e,i)||0:SS(e)>SS(i)?1:-1}}(t)),i=OS(o),n=0;n<i;)e[n]=o[n++];for(;n<r;)CS(e,n++);return e}});var WS=Bn("Array").sort,qS=at,VS=WS,US=Array.prototype,YS=function(t){var e=t.sort;return t===US||qS(US,t)&&e===US.sort?VS:e},XS=i(YS),GS=Bn("Array").keys,KS=so,$S=Zt,ZS=at,QS=GS,JS=Array.prototype,tT={DOMTokenList:!0,NodeList:!0},eT=function(t){var e=t.keys;return t===JS||ZS(JS,t)&&e===JS.keys||$S(tT,KS(t))?QS:e},iT=i(eT),nT=Bn("Array").values,oT=so,rT=Zt,sT=at,aT=nT,hT=Array.prototype,lT={DOMTokenList:!0,NodeList:!0},dT=function(t){var e=t.values;return t===hT||sT(hT,t)&&e===hT.values||rT(lT,oT(t))?aT:e},cT=i(dT),uT=Bn("Array").entries,fT=so,pT=Zt,vT=at,gT=uT,yT=Array.prototype,mT={DOMTokenList:!0,NodeList:!0},bT=function(t){var e=t.entries;return t===yT||vT(yT,t)&&e===yT.entries||pT(mT,fT(t))?gT:e},wT=i(bT),kT=i(mh),_T=Si,xT=c,ET=Pn,OT=hx,CT=ei,ST=tt,TT=yr,MT=r,PT=st("Reflect","construct"),DT=Object.prototype,IT=[].push,BT=MT((function(){function t(){}return!(PT((function(){}),[],t)instanceof t)})),NT=!MT((function(){PT((function(){}))})),FT=BT||NT;_T({target:"Reflect",stat:!0,forced:FT,sham:FT},{construct:function(t,e){OT(t),CT(e);var i=arguments.length<3?t:OT(arguments[2]);if(NT&&!BT)return PT(t,e,i);if(t==i){switch(e.length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3])}var n=[null];return xT(IT,n,e),new(xT(ET,t,n))}var o=i.prototype,r=TT(ST(o)?o:DT),s=xT(t,r,e);return ST(s)?s:r}});var zT=i(et.Reflect.construct),AT=i(et.Object.getOwnPropertySymbols),jT={exports:{}},RT=Si,LT=r,HT=Z,WT=T.f,qT=M;RT({target:"Object",stat:!0,forced:!qT||LT((function(){WT(1)})),sham:!qT},{getOwnPropertyDescriptor:function(t,e){return WT(HT(t),e)}});var VT=et.Object,UT=jT.exports=function(t,e){return VT.getOwnPropertyDescriptor(t,e)};VT.getOwnPropertyDescriptor.sham&&(UT.sham=!0);var YT=jT.exports,XT=i(YT),GT=of,KT=Z,$T=T,ZT=fa;Si({target:"Object",stat:!0,sham:!M},{getOwnPropertyDescriptors:function(t){for(var e,i,n=KT(t),o=$T.f,r=GT(n),s={},a=0;r.length>a;)void 0!==(i=o(n,e=r[a++]))&&ZT(s,e,i);return s}});var QT=i(et.Object.getOwnPropertyDescriptors),JT={exports:{}},tM=Si,eM=M,iM=Yo.f;tM({target:"Object",stat:!0,forced:Object.defineProperties!==iM,sham:!eM},{defineProperties:iM});var nM=et.Object,oM=JT.exports=function(t,e){return nM.defineProperties(t,e)};nM.defineProperties.sham&&(oM.sham=!0);var rM=i(JT.exports);let sM;const aM=new Uint8Array(16);function hM(){if(!sM&&(sM="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!sM))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return sM(aM)}const lM=[];for(let t=0;t<256;++t)lM.push((t+256).toString(16).slice(1));var dM,cM={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function uM(t,e,i){if(cM.randomUUID&&!e&&!t)return cM.randomUUID();const n=(t=t||{}).random||(t.rng||hM)();if(n[6]=15&n[6]|64,n[8]=63&n[8]|128,e){i=i||0;for(let t=0;t<16;++t)e[i+t]=n[t];return e}return function(t,e=0){return lM[t[e+0]]+lM[t[e+1]]+lM[t[e+2]]+lM[t[e+3]]+"-"+lM[t[e+4]]+lM[t[e+5]]+"-"+lM[t[e+6]]+lM[t[e+7]]+"-"+lM[t[e+8]]+lM[t[e+9]]+"-"+lM[t[e+10]]+lM[t[e+11]]+lM[t[e+12]]+lM[t[e+13]]+lM[t[e+14]]+lM[t[e+15]]}(n)}function fM(t,e){var i=gf(t);if(AT){var n=AT(t);e&&(n=Zp(n).call(n,(function(e){return XT(t,e).enumerable}))),i.push.apply(i,n)}return i}function pM(t){for(var e=1;e<arguments.length;e++){var i,n,o=null!=arguments[e]?arguments[e]:{};e%2?Bf(i=fM(Object(o),!0)).call(i,(function(e){p_(t,e,o[e])})):QT?rM(t,QT(o)):Bf(n=fM(Object(o))).call(n,(function(e){kT(t,e,XT(o,e))}))}return t}function vM(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}function gM(t,e){var i=void 0!==Vu&&dh(t)||t["@@iterator"];if(!i){if(sf(t)||(i=function(t,e){var i;if(!t)return;if("string"==typeof t)return yM(t,e);var n=Zu(i=Object.prototype.toString.call(t)).call(i,8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Ua(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return yM(t,e)}(t))||e&&t&&"number"==typeof t.length){i&&(t=i);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}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 r,s=!0,a=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return s=t.done,t},e:function(t){a=!0,r=t},f:function(){try{s||null==i.return||i.return()}finally{if(a)throw r}}}}function yM(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}var mM=function(){function t(e,i,n){var o,r,s;ch(this,t),p_(this,"_source",void 0),p_(this,"_transformers",void 0),p_(this,"_target",void 0),p_(this,"_listeners",{add:Ln(o=this._add).call(o,this),remove:Ln(r=this._remove).call(r,this),update:Ln(s=this._update).call(s,this)}),this._source=e,this._transformers=i,this._target=n}return pu(t,[{key:"all",value:function(){return this._target.update(this._transformItems(this._source.get())),this}},{key:"start",value:function(){return this._source.on("add",this._listeners.add),this._source.on("remove",this._listeners.remove),this._source.on("update",this._listeners.update),this}},{key:"stop",value:function(){return this._source.off("add",this._listeners.add),this._source.off("remove",this._listeners.remove),this._source.off("update",this._listeners.update),this}},{key:"_transformItems",value:function(t){var e;return VC(e=this._transformers).call(e,(function(t,e){return e(t)}),t)}},{key:"_add",value:function(t,e){null!=e&&this._target.add(this._transformItems(this._source.get(e.items)))}},{key:"_update",value:function(t,e){null!=e&&this._target.update(this._transformItems(this._source.get(e.items)))}},{key:"_remove",value:function(t,e){null!=e&&this._target.remove(this._transformItems(e.oldData))}}]),t}(),bM=function(){function t(e){ch(this,t),p_(this,"_source",void 0),p_(this,"_transformers",[]),this._source=e}return pu(t,[{key:"filter",value:function(t){return this._transformers.push((function(e){return Zp(e).call(e,t)})),this}},{key:"map",value:function(t){return this._transformers.push((function(e){return ff(e).call(e,t)})),this}},{key:"flatMap",value:function(t){return this._transformers.push((function(e){return sS(e).call(e,t)})),this}},{key:"to",value:function(t){return new mM(this._source,this._transformers,t)}}]),t}();function wM(t){return"string"==typeof t||"number"==typeof t}var kM=function(){function t(e){ch(this,t),p_(this,"delay",void 0),p_(this,"max",void 0),p_(this,"_queue",[]),p_(this,"_timeout",null),p_(this,"_extended",null),this.delay=null,this.max=1/0,this.setOptions(e)}return pu(t,[{key:"setOptions",value:function(t){t&&void 0!==t.delay&&(this.delay=t.delay),t&&void 0!==t.max&&(this.max=t.max),this._flushIfNeeded()}},{key:"destroy",value:function(){if(this.flush(),this._extended){for(var t=this._extended.object,e=this._extended.methods,i=0;i<e.length;i++){var n=e[i];n.original?t[n.name]=n.original:delete t[n.name]}this._extended=null}}},{key:"replace",value:function(t,e){var i=this,n=t[e];if(!n)throw new Error("Method "+e+" undefined");t[e]=function(){for(var t=arguments.length,e=new Array(t),o=0;o<t;o++)e[o]=arguments[o];i.queue({args:e,fn:n,context:this})}}},{key:"queue",value:function(t){"function"==typeof t?this._queue.push({fn:t}):this._queue.push(t),this._flushIfNeeded()}},{key:"_flushIfNeeded",value:function(){var t=this;this._queue.length>this.max&&this.flush(),null!=this._timeout&&(clearTimeout(this._timeout),this._timeout=null),this.queue.length>0&&"number"==typeof this.delay&&(this._timeout=vg((function(){t.flush()}),this.delay))}},{key:"flush",value:function(){var t,e;Bf(t=yp(e=this._queue).call(e,0)).call(t,(function(t){t.fn.apply(t.context||t.fn,t.args||[])}))}}],[{key:"extend",value:function(e,i){var n=new t(i);if(void 0!==e.flush)throw new Error("Target object already has a property flush");e.flush=function(){n.flush()};var o=[{name:"flush",original:void 0}];if(i&&i.replace)for(var r=0;r<i.replace.length;r++){var s=i.replace[r];o.push({name:s,original:e[s]}),n.replace(e,s)}return n._extended={object:e,methods:o},n}}]),t}(),_M=function(){function t(){ch(this,t),p_(this,"_subscribers",{"*":[],add:[],remove:[],update:[]}),p_(this,"subscribe",t.prototype.on),p_(this,"unsubscribe",t.prototype.off)}return pu(t,[{key:"_trigger",value:function(t,e,i){var n,o;if("*"===t)throw new Error("Cannot trigger event *");Bf(n=$u(o=[]).call(o,qu(this._subscribers[t]),qu(this._subscribers["*"]))).call(n,(function(n){n(t,e,null!=i?i:null)}))}},{key:"on",value:function(t,e){"function"==typeof e&&this._subscribers[t].push(e)}},{key:"off",value:function(t,e){var i;this._subscribers[t]=Zp(i=this._subscribers[t]).call(i,(function(t){return t!==e}))}}]),t}();dM=hS;var xM=function(){function t(e){ch(this,t),p_(this,"_pairs",void 0),this._pairs=e}return pu(t,[{key:dM,value:DC.mark((function t(){var e,i,n,o,r;return DC.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:e=gM(this._pairs),t.prev=1,e.s();case 3:if((i=e.n()).done){t.next=9;break}return n=Wu(i.value,2),o=n[0],r=n[1],t.next=7,[o,r];case 7:t.next=3;break;case 9:t.next=14;break;case 11:t.prev=11,t.t0=t.catch(1),e.e(t.t0);case 14:return t.prev=14,e.f(),t.finish(14);case 17:case"end":return t.stop()}}),t,this,[[1,11,14,17]])}))},{key:"entries",value:DC.mark((function t(){var e,i,n,o,r;return DC.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:e=gM(this._pairs),t.prev=1,e.s();case 3:if((i=e.n()).done){t.next=9;break}return n=Wu(i.value,2),o=n[0],r=n[1],t.next=7,[o,r];case 7:t.next=3;break;case 9:t.next=14;break;case 11:t.prev=11,t.t0=t.catch(1),e.e(t.t0);case 14:return t.prev=14,e.f(),t.finish(14);case 17:case"end":return t.stop()}}),t,this,[[1,11,14,17]])}))},{key:"keys",value:DC.mark((function t(){var e,i,n,o;return DC.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:e=gM(this._pairs),t.prev=1,e.s();case 3:if((i=e.n()).done){t.next=9;break}return n=Wu(i.value,1),o=n[0],t.next=7,o;case 7:t.next=3;break;case 9:t.next=14;break;case 11:t.prev=11,t.t0=t.catch(1),e.e(t.t0);case 14:return t.prev=14,e.f(),t.finish(14);case 17:case"end":return t.stop()}}),t,this,[[1,11,14,17]])}))},{key:"values",value:DC.mark((function t(){var e,i,n,o;return DC.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:e=gM(this._pairs),t.prev=1,e.s();case 3:if((i=e.n()).done){t.next=9;break}return n=Wu(i.value,2),o=n[1],t.next=7,o;case 7:t.next=3;break;case 9:t.next=14;break;case 11:t.prev=11,t.t0=t.catch(1),e.e(t.t0);case 14:return t.prev=14,e.f(),t.finish(14);case 17:case"end":return t.stop()}}),t,this,[[1,11,14,17]])}))},{key:"toIdArray",value:function(){var t;return ff(t=qu(this._pairs)).call(t,(function(t){return t[0]}))}},{key:"toItemArray",value:function(){var t;return ff(t=qu(this._pairs)).call(t,(function(t){return t[1]}))}},{key:"toEntryArray",value:function(){return qu(this._pairs)}},{key:"toObjectMap",value:function(){var t,e=Uv(null),i=gM(this._pairs);try{for(i.s();!(t=i.n()).done;){var n=Wu(t.value,2),o=n[0],r=n[1];e[o]=r}}catch(t){i.e(t)}finally{i.f()}return e}},{key:"toMap",value:function(){return new qk(this._pairs)}},{key:"toIdSet",value:function(){return new aS(this.toIdArray())}},{key:"toItemSet",value:function(){return new aS(this.toItemArray())}},{key:"cache",value:function(){return new t(qu(this._pairs))}},{key:"distinct",value:function(t){var e,i=new aS,n=gM(this._pairs);try{for(n.s();!(e=n.n()).done;){var o=Wu(e.value,2),r=o[0],s=o[1];i.add(t(s,r))}}catch(t){n.e(t)}finally{n.f()}return i}},{key:"filter",value:function(e){var i=this._pairs;return new t(p_({},hS,DC.mark((function t(){var n,o,r,s,a;return DC.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n=gM(i),t.prev=1,n.s();case 3:if((o=n.n()).done){t.next=10;break}if(r=Wu(o.value,2),s=r[0],a=r[1],!e(a,s)){t.next=8;break}return t.next=8,[s,a];case 8:t.next=3;break;case 10:t.next=15;break;case 12:t.prev=12,t.t0=t.catch(1),n.e(t.t0);case 15:return t.prev=15,n.f(),t.finish(15);case 18:case"end":return t.stop()}}),t,null,[[1,12,15,18]])}))))}},{key:"forEach",value:function(t){var e,i=gM(this._pairs);try{for(i.s();!(e=i.n()).done;){var n=Wu(e.value,2),o=n[0];t(n[1],o)}}catch(t){i.e(t)}finally{i.f()}}},{key:"map",value:function(e){var i=this._pairs;return new t(p_({},hS,DC.mark((function t(){var n,o,r,s,a;return DC.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n=gM(i),t.prev=1,n.s();case 3:if((o=n.n()).done){t.next=9;break}return r=Wu(o.value,2),s=r[0],a=r[1],t.next=7,[s,e(a,s)];case 7:t.next=3;break;case 9:t.next=14;break;case 11:t.prev=11,t.t0=t.catch(1),n.e(t.t0);case 14:return t.prev=14,n.f(),t.finish(14);case 17:case"end":return t.stop()}}),t,null,[[1,11,14,17]])}))))}},{key:"max",value:function(t){var e=lS(this._pairs),i=e.next();if(i.done)return null;for(var n=i.value[1],o=t(i.value[1],i.value[0]);!(i=e.next()).done;){var r=Wu(i.value,2),s=r[0],a=r[1],h=t(a,s);h>o&&(o=h,n=a)}return n}},{key:"min",value:function(t){var e=lS(this._pairs),i=e.next();if(i.done)return null;for(var n=i.value[1],o=t(i.value[1],i.value[0]);!(i=e.next()).done;){var r=Wu(i.value,2),s=r[0],a=r[1],h=t(a,s);h<o&&(o=h,n=a)}return n}},{key:"reduce",value:function(t,e){var i,n=gM(this._pairs);try{for(n.s();!(i=n.n()).done;){var o=Wu(i.value,2),r=o[0];e=t(e,o[1],r)}}catch(t){n.e(t)}finally{n.f()}return e}},{key:"sort",value:function(e){var i=this;return new t(p_({},hS,(function(){var t;return lS(XS(t=qu(i._pairs)).call(t,(function(t,i){var n=Wu(t,2),o=n[0],r=n[1],s=Wu(i,2),a=s[0],h=s[1];return e(r,h,o,a)})))})))}}]),t}();var EM=function(t){l_(i,t);var e=vM(i);function i(t,n){var o;return ch(this,i),p_(i_(o=e.call(this)),"flush",void 0),p_(i_(o),"length",void 0),p_(i_(o),"_options",void 0),p_(i_(o),"_data",void 0),p_(i_(o),"_idProp",void 0),p_(i_(o),"_queue",null),t&&!sf(t)&&(n=t,t=[]),o._options=n||{},o._data=new qk,o.length=0,o._idProp=o._options.fieldId||"id",t&&t.length&&o.add(t),o.setOptions(n),o}return pu(i,[{key:"idProp",get:function(){return this._idProp}},{key:"setOptions",value:function(t){t&&void 0!==t.queue&&(!1===t.queue?this._queue&&(this._queue.destroy(),this._queue=null):(this._queue||(this._queue=kM.extend(this,{replace:["add","update","remove"]})),t.queue&&"object"===du(t.queue)&&this._queue.setOptions(t.queue)))}},{key:"add",value:function(t,e){var i,n=this,o=[];if(sf(t)){var r=ff(t).call(t,(function(t){return t[n._idProp]}));if(e_(r).call(r,(function(t){return n._data.has(t)})))throw new Error("A duplicate id was found in the parameter array.");for(var s=0,a=t.length;s<a;s++)i=this._addItem(t[s]),o.push(i)}else{if(!t||"object"!==du(t))throw new Error("Unknown dataType");i=this._addItem(t),o.push(i)}return o.length&&this._trigger("add",{items:o},e),o}},{key:"update",value:function(t,e){var i=this,n=[],o=[],r=[],s=[],a=this._idProp,h=function(t){var e=t[a];if(null!=e&&i._data.has(e)){var h=t,l=mn({},i._data.get(e)),d=i._updateItem(h);o.push(d),s.push(h),r.push(l)}else{var c=i._addItem(t);n.push(c)}};if(sf(t))for(var l=0,d=t.length;l<d;l++)t[l]&&"object"===du(t[l])?h(t[l]):console.warn("Ignoring input item, which is not an object at index "+l);else{if(!t||"object"!==du(t))throw new Error("Unknown dataType");h(t)}if(n.length&&this._trigger("add",{items:n},e),o.length){var c={items:o,oldData:r,data:s};this._trigger("update",c,e)}return $u(n).call(n,o)}},{key:"updateOnly",value:function(t,e){var i,n=this;sf(t)||(t=[t]);var o=ff(i=ff(t).call(t,(function(t){var e=n._data.get(t[n._idProp]);if(null==e)throw new Error("Updating non-existent items is not allowed.");return{oldData:e,update:t}}))).call(i,(function(t){var e=t.oldData,i=t.update,o=e[n._idProp],r=Om(e,i);return n._data.set(o,r),{id:o,oldData:e,updatedData:r}}));if(o.length){var r={items:ff(o).call(o,(function(t){return t.id})),oldData:ff(o).call(o,(function(t){return t.oldData})),data:ff(o).call(o,(function(t){return t.updatedData}))};return this._trigger("update",r,e),r.items}return[]}},{key:"get",value:function(t,e){var i=void 0,n=void 0,o=void 0;wM(t)?(i=t,o=e):sf(t)?(n=t,o=e):o=t;var r,s=o&&"Object"===o.returnType?"Object":"Array",a=o&&Zp(o),h=[],l=void 0,d=void 0,c=void 0;if(null!=i)(l=this._data.get(i))&&a&&!a(l)&&(l=void 0);else if(null!=n)for(var u=0,f=n.length;u<f;u++)null==(l=this._data.get(n[u]))||a&&!a(l)||h.push(l);else for(var p,v=0,g=(d=qu(iT(p=this._data).call(p))).length;v<g;v++)c=d[v],null==(l=this._data.get(c))||a&&!a(l)||h.push(l);if(o&&o.order&&null==i&&this._sort(h,o.order),o&&o.fields){var y=o.fields;if(null!=i&&null!=l)l=this._filterFields(l,y);else for(var m=0,b=h.length;m<b;m++)h[m]=this._filterFields(h[m],y)}if("Object"==s){for(var w={},k=0,_=h.length;k<_;k++){var x=h[k];w[x[this._idProp]]=x}return w}return null!=i?null!==(r=l)&&void 0!==r?r:null:h}},{key:"getIds",value:function(t){var e=this._data,i=t&&Zp(t),n=t&&t.order,o=qu(iT(e).call(e)),r=[];if(i)if(n){for(var s=[],a=0,h=o.length;a<h;a++){var l=o[a],d=this._data.get(l);null!=d&&i(d)&&s.push(d)}this._sort(s,n);for(var c=0,u=s.length;c<u;c++)r.push(s[c][this._idProp])}else for(var f=0,p=o.length;f<p;f++){var v=o[f],g=this._data.get(v);null!=g&&i(g)&&r.push(g[this._idProp])}else if(n){for(var y=[],m=0,b=o.length;m<b;m++){var w=o[m];y.push(e.get(w))}this._sort(y,n);for(var k=0,_=y.length;k<_;k++)r.push(y[k][this._idProp])}else for(var x=0,E=o.length;x<E;x++){var O=o[x],C=e.get(O);null!=C&&r.push(C[this._idProp])}return r}},{key:"getDataSet",value:function(){return this}},{key:"forEach",value:function(t,e){var i=e&&Zp(e),n=this._data,o=qu(iT(n).call(n));if(e&&e.order)for(var r=this.get(e),s=0,a=r.length;s<a;s++){var h=r[s];t(h,h[this._idProp])}else for(var l=0,d=o.length;l<d;l++){var c=o[l],u=this._data.get(c);null==u||i&&!i(u)||t(u,c)}}},{key:"map",value:function(t,e){for(var i=e&&Zp(e),n=[],o=this._data,r=qu(iT(o).call(o)),s=0,a=r.length;s<a;s++){var h=r[s],l=this._data.get(h);null==l||i&&!i(l)||n.push(t(l,h))}return e&&e.order&&this._sort(n,e.order),n}},{key:"_filterFields",value:function(t,e){var i;return t?VC(i=sf(e)?e:gf(e)).call(i,(function(e,i){return e[i]=t[i],e}),{}):t}},{key:"_sort",value:function(t,e){if("string"==typeof e){var i=e;XS(t).call(t,(function(t,e){var n=t[i],o=e[i];return n>o?1:n<o?-1:0}))}else{if("function"!=typeof e)throw new TypeError("Order must be a function or a string");XS(t).call(t,e)}}},{key:"remove",value:function(t,e){for(var i=[],n=[],o=sf(t)?t:[t],r=0,s=o.length;r<s;r++){var a=this._remove(o[r]);if(a){var h=a[this._idProp];null!=h&&(i.push(h),n.push(a))}}return i.length&&this._trigger("remove",{items:i,oldData:n},e),i}},{key:"_remove",value:function(t){var e;if(wM(t)?e=t:t&&"object"===du(t)&&(e=t[this._idProp]),null!=e&&this._data.has(e)){var i=this._data.get(e)||null;return this._data.delete(e),--this.length,i}return null}},{key:"clear",value:function(t){for(var e,i=qu(iT(e=this._data).call(e)),n=[],o=0,r=i.length;o<r;o++)n.push(this._data.get(i[o]));return this._data.clear(),this.length=0,this._trigger("remove",{items:i,oldData:n},t),i}},{key:"max",value:function(t){var e,i,n=null,o=null,r=gM(cT(e=this._data).call(e));try{for(r.s();!(i=r.n()).done;){var s=i.value,a=s[t];"number"==typeof a&&(null==o||a>o)&&(n=s,o=a)}}catch(t){r.e(t)}finally{r.f()}return n||null}},{key:"min",value:function(t){var e,i,n=null,o=null,r=gM(cT(e=this._data).call(e));try{for(r.s();!(i=r.n()).done;){var s=i.value,a=s[t];"number"==typeof a&&(null==o||a<o)&&(n=s,o=a)}}catch(t){r.e(t)}finally{r.f()}return n||null}},{key:"distinct",value:function(t){for(var e=this._data,i=qu(iT(e).call(e)),n=[],o=0,r=0,s=i.length;r<s;r++){for(var a=i[r],h=e.get(a)[t],l=!1,d=0;d<o;d++)if(n[d]==h){l=!0;break}l||void 0===h||(n[o]=h,o++)}return n}},{key:"_addItem",value:function(t){var e=function(t,e){return null==t[e]&&(t[e]=uM()),t}(t,this._idProp),i=e[this._idProp];if(this._data.has(i))throw new Error("Cannot add item: item with id "+i+" already exists");return this._data.set(i,e),++this.length,i}},{key:"_updateItem",value:function(t){var e=t[this._idProp];if(null==e)throw new Error("Cannot update item: item has no id (item: "+Kv(t)+")");var i=this._data.get(e);if(!i)throw new Error("Cannot update item: no item with id "+e+" found");return this._data.set(e,pM(pM({},i),t)),e}},{key:"stream",value:function(t){if(t){var e=this._data;return new xM(p_({},hS,DC.mark((function i(){var n,o,r,s;return DC.wrap((function(i){for(;;)switch(i.prev=i.next){case 0:n=gM(t),i.prev=1,n.s();case 3:if((o=n.n()).done){i.next=11;break}if(r=o.value,null==(s=e.get(r))){i.next=9;break}return i.next=9,[r,s];case 9:i.next=3;break;case 11:i.next=16;break;case 13:i.prev=13,i.t0=i.catch(1),n.e(i.t0);case 16:return i.prev=16,n.f(),i.finish(16);case 19:case"end":return i.stop()}}),i,null,[[1,13,16,19]])}))))}var i;return new xM(p_({},hS,Ln(i=wT(this._data)).call(i,this._data)))}}]),i}(_M),OM=function(t){l_(i,t);var e=vM(i);function i(t,n){var o,r;return ch(this,i),p_(i_(r=e.call(this)),"length",0),p_(i_(r),"_listener",void 0),p_(i_(r),"_data",void 0),p_(i_(r),"_ids",new aS),p_(i_(r),"_options",void 0),r._options=n||{},r._listener=Ln(o=r._onEvent).call(o,i_(r)),r.setData(t),r}return pu(i,[{key:"idProp",get:function(){return this.getDataSet().idProp}},{key:"setData",value:function(t){if(this._data){this._data.off&&this._data.off("*",this._listener);var e=this._data.getIds({filter:Zp(this._options)}),i=this._data.get(e);this._ids.clear(),this.length=0,this._trigger("remove",{items:e,oldData:i})}if(null!=t){this._data=t;for(var n=this._data.getIds({filter:Zp(this._options)}),o=0,r=n.length;o<r;o++){var s=n[o];this._ids.add(s)}this.length=n.length,this._trigger("add",{items:n})}else this._data=new EM;this._data.on&&this._data.on("*",this._listener)}},{key:"refresh",value:function(){for(var t=this._data.getIds({filter:Zp(this._options)}),e=qu(this._ids),i={},n=[],o=[],r=[],s=0,a=t.length;s<a;s++){var h=t[s];i[h]=!0,this._ids.has(h)||(n.push(h),this._ids.add(h))}for(var l=0,d=e.length;l<d;l++){var c=e[l],u=this._data.get(c);null==u?console.error("If you see this, report it please."):i[c]||(o.push(c),r.push(u),this._ids.delete(c))}this.length+=n.length-o.length,n.length&&this._trigger("add",{items:n}),o.length&&this._trigger("remove",{items:o,oldData:r})}},{key:"get",value:function(t,e){if(null==this._data)return null;var i,n=null;wM(t)||sf(t)?(n=t,i=e):i=t;var o=mn({},this._options,i),r=Zp(this._options),s=i&&Zp(i);return r&&s&&(o.filter=function(t){return r(t)&&s(t)}),null==n?this._data.get(o):this._data.get(n,o)}},{key:"getIds",value:function(t){if(this._data.length){var e,i=Zp(this._options),n=null!=t?Zp(t):null;return e=n?i?function(t){return i(t)&&n(t)}:n:i,this._data.getIds({filter:e,order:t&&t.order})}return[]}},{key:"forEach",value:function(t,e){if(this._data){var i,n,o=Zp(this._options),r=e&&Zp(e);n=r?o?function(t){return o(t)&&r(t)}:r:o,Bf(i=this._data).call(i,t,{filter:n,order:e&&e.order})}}},{key:"map",value:function(t,e){if(this._data){var i,n,o=Zp(this._options),r=e&&Zp(e);return n=r?o?function(t){return o(t)&&r(t)}:r:o,ff(i=this._data).call(i,t,{filter:n,order:e&&e.order})}return[]}},{key:"getDataSet",value:function(){return this._data.getDataSet()}},{key:"stream",value:function(t){var e;return this._data.stream(t||p_({},hS,Ln(e=iT(this._ids)).call(e,this._ids)))}},{key:"dispose",value:function(){var t;null!==(t=this._data)&&void 0!==t&&t.off&&this._data.off("*",this._listener);var e,n="This data view has already been disposed of.",o={get:function(){throw new Error(n)},set:function(){throw new Error(n)},configurable:!1},r=gM(rf(i.prototype));try{for(r.s();!(e=r.n()).done;){var s=e.value;kT(this,s,o)}}catch(t){r.e(t)}finally{r.f()}}},{key:"_onEvent",value:function(t,e,i){if(e&&e.items&&this._data){var n=e.items,o=[],r=[],s=[],a=[],h=[],l=[];switch(t){case"add":for(var d=0,c=n.length;d<c;d++){var u=n[d];this.get(u)&&(this._ids.add(u),o.push(u))}break;case"update":for(var f=0,p=n.length;f<p;f++){var v=n[f];this.get(v)?this._ids.has(v)?(r.push(v),h.push(e.data[f]),a.push(e.oldData[f])):(this._ids.add(v),o.push(v)):this._ids.has(v)&&(this._ids.delete(v),s.push(v),l.push(e.oldData[f]))}break;case"remove":for(var g=0,y=n.length;g<y;g++){var m=n[g];this._ids.has(m)&&(this._ids.delete(m),s.push(m),l.push(e.oldData[g]))}}this.length+=o.length-s.length,o.length&&this._trigger("add",{items:o},i),r.length&&this._trigger("update",{items:r,oldData:a,data:h},i),s.length&&this._trigger("remove",{items:s,oldData:l},i)}}}]),i}(_M);function CM(t,e){return"object"===du(e)&&null!==e&&t===e.idProp&&"function"==typeof e.add&&"function"==typeof e.clear&&"function"==typeof e.distinct&&"function"==typeof Bf(e)&&"function"==typeof e.get&&"function"==typeof e.getDataSet&&"function"==typeof e.getIds&&"number"==typeof e.length&&"function"==typeof ff(e)&&"function"==typeof e.max&&"function"==typeof e.min&&"function"==typeof e.off&&"function"==typeof e.on&&"function"==typeof e.remove&&"function"==typeof e.setOptions&&"function"==typeof e.stream&&"function"==typeof e.update&&"function"==typeof e.updateOnly}function SM(t,e){return"object"===du(e)&&null!==e&&t===e.idProp&&"function"==typeof Bf(e)&&"function"==typeof e.get&&"function"==typeof e.getDataSet&&"function"==typeof e.getIds&&"number"==typeof e.length&&"function"==typeof ff(e)&&"function"==typeof e.off&&"function"==typeof e.on&&"function"==typeof e.stream&&CM(t,e.getDataSet())}var TM=Object.freeze({__proto__:null,DELETE:Em,DataSet:EM,DataStream:xM,DataView:OM,Queue:kM,createNewDataPipeFrom:function(t){return new bM(t)},isDataSetLike:CM,isDataViewLike:SM}),MM=o,PM=r,DM=lo,IM=gv.trim,BM=hv,NM=g("".charAt),FM=MM.parseFloat,zM=MM.Symbol,AM=zM&&zM.iterator,jM=1/FM(BM+"-0")!=-1/0||AM&&!PM((function(){FM(Object(AM))}))?function(t){var e=IM(DM(t)),i=FM(e);return 0===i&&"-"==NM(e,0)?-0:i}:FM;Si({global:!0,forced:parseFloat!=jM},{parseFloat:jM});var RM=i(et.parseFloat),LM=Si,HM=r,WM=Jh.f;LM({target:"Object",stat:!0,forced:HM((function(){return!Object.getOwnPropertyNames(1)}))},{getOwnPropertyNames:WM});var qM=et.Object,VM=function(t){return qM.getOwnPropertyNames(t)},UM=i(VM);function YM(t,e){var i=["node","edge","label"],n=!0,o=mb(e,"chosen");if("boolean"==typeof o)n=o;else if("object"===du(o)){if(-1===Lv(i).call(i,t))throw new Error("choosify: subOption '"+t+"' should be one of '"+i.join("', '")+"'");var r=mb(e,["chosen",t]);"boolean"!=typeof r&&"function"!=typeof r||(n=r)}return n}function XM(t,e,i){if(t.width<=0||t.height<=0)return!1;if(void 0!==i){var n={x:e.x-i.x,y:e.y-i.y};if(0!==i.angle){var o=-i.angle;e={x:Math.cos(o)*n.x-Math.sin(o)*n.y,y:Math.sin(o)*n.x+Math.cos(o)*n.y}}else e=n}var r=t.x+t.width,s=t.y+t.width;return t.left<e.x&&r>e.x&&t.top<e.y&&s>e.y}function GM(t){return"string"==typeof t&&""!==t}function KM(t,e,i,n){var o=n.x,r=n.y;if("function"==typeof n.distanceToBorder){var s=n.distanceToBorder(t,e),a=Math.sin(e)*s,h=Math.cos(e)*s;h===s?(o+=s,r=n.y):a===s?(o=n.x,r-=s):(o+=h,r-=a)}else n.shape.width>n.shape.height?(o=n.x+.5*n.shape.width,r=n.y-i):(o=n.x+i,r=n.y-.5*n.shape.height);return{x:o,y:r}}var $M=function(){function t(e){ch(this,t),this.measureText=e,this.current=0,this.width=0,this.height=0,this.lines=[]}return pu(t,[{key:"_add",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"normal";void 0===this.lines[t]&&(this.lines[t]={width:0,height:0,blocks:[]});var n=e;void 0!==e&&""!==e||(n=" ");var o=this.measureText(n,i),r=mn({},cT(o));r.text=e,r.width=o.width,r.mod=i,void 0!==e&&""!==e||(r.width=0),this.lines[t].blocks.push(r),this.lines[t].width+=r.width}},{key:"curWidth",value:function(){var t=this.lines[this.current];return void 0===t?0:t.width}},{key:"append",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"normal";this._add(this.current,t,e)}},{key:"newLine",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"normal";this._add(this.current,t,e),this.current++}},{key:"determineLineHeights",value:function(){for(var t=0;t<this.lines.length;t++){var e=this.lines[t],i=0;if(void 0!==e.blocks)for(var n=0;n<e.blocks.length;n++){var o=e.blocks[n];i<o.height&&(i=o.height)}e.height=i}}},{key:"determineLabelSize",value:function(){for(var t=0,e=0,i=0;i<this.lines.length;i++){var n=this.lines[i];n.width>t&&(t=n.width),e+=n.height}this.width=t,this.height=e}},{key:"removeEmptyBlocks",value:function(){for(var t=[],e=0;e<this.lines.length;e++){var i=this.lines[e];if(0!==i.blocks.length&&(e!==this.lines.length-1||0!==i.width)){var n={};mn(n,i),n.blocks=[];for(var o=void 0,r=[],s=0;s<i.blocks.length;s++){var a=i.blocks[s];0!==a.width?r.push(a):void 0===o&&(o=a)}0===r.length&&void 0!==o&&r.push(o),n.blocks=r,t.push(n)}}return t}},{key:"finalize",value:function(){this.determineLineHeights(),this.determineLabelSize();var t=this.removeEmptyBlocks();return{width:this.width,height:this.height,lines:t}}}]),t}(),ZM={"<b>":/<b>/,"<i>":/<i>/,"<code>":/<code>/,"</b>":/<\/b>/,"</i>":/<\/i>/,"</code>":/<\/code>/,"*":/\*/,_:/_/,"`":/`/,afterBold:/[^*]/,afterItal:/[^_]/,afterMono:/[^`]/},QM=function(){function t(e){ch(this,t),this.text=e,this.bold=!1,this.ital=!1,this.mono=!1,this.spacing=!1,this.position=0,this.buffer="",this.modStack=[],this.blocks=[]}return pu(t,[{key:"mod",value:function(){return 0===this.modStack.length?"normal":this.modStack[0]}},{key:"modName",value:function(){return 0===this.modStack.length?"normal":"mono"===this.modStack[0]?"mono":this.bold&&this.ital?"boldital":this.bold?"bold":this.ital?"ital":void 0}},{key:"emitBlock",value:function(){this.spacing&&(this.add(" "),this.spacing=!1),this.buffer.length>0&&(this.blocks.push({text:this.buffer,mod:this.modName()}),this.buffer="")}},{key:"add",value:function(t){" "===t&&(this.spacing=!0),this.spacing&&(this.buffer+=" ",this.spacing=!1)," "!=t&&(this.buffer+=t)}},{key:"parseWS",value:function(t){return!!/[ \t]/.test(t)&&(this.mono?this.add(t):this.spacing=!0,!0)}},{key:"setTag",value:function(t){this.emitBlock(),this[t]=!0,this.modStack.unshift(t)}},{key:"unsetTag",value:function(t){this.emitBlock(),this[t]=!1,this.modStack.shift()}},{key:"parseStartTag",value:function(t,e){return!(this.mono||this[t]||!this.match(e))&&(this.setTag(t),!0)}},{key:"match",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=Wu(this.prepareRegExp(t),2),n=i[0],o=i[1],r=n.test(this.text.substr(this.position,o));return r&&e&&(this.position+=o-1),r}},{key:"parseEndTag",value:function(t,e,i){var n=this.mod()===t;return!(!(n="mono"===t?n&&this.mono:n&&!this.mono)||!this.match(e))&&(void 0!==i?(this.position===this.text.length-1||this.match(i,!1))&&this.unsetTag(t):this.unsetTag(t),!0)}},{key:"replace",value:function(t,e){return!!this.match(t)&&(this.add(e),this.position+=length-1,!0)}},{key:"prepareRegExp",value:function(t){var e,i;if(t instanceof RegExp)i=t,e=1;else{var n=ZM[t];i=void 0!==n?n:new RegExp(t),e=t.length}return[i,e]}}]),t}(),JM=function(){function t(e,i,n,o){var r=this;ch(this,t),this.ctx=e,this.parent=i,this.selected=n,this.hover=o;this.lines=new $M((function(t,i){if(void 0===t)return 0;var s=r.parent.getFormattingValues(e,n,o,i),a=0;""!==t&&(a=r.ctx.measureText(t).width);return{width:a,values:s}}))}return pu(t,[{key:"process",value:function(t){if(!GM(t))return this.lines.finalize();var e=this.parent.fontOptions;t=(t=t.replace(/\r\n/g,"\n")).replace(/\r/g,"\n");var i=String(t).split("\n"),n=i.length;if(e.multi)for(var o=0;o<n;o++){var r=this.splitBlocks(i[o],e.multi);if(void 0!==r)if(0!==r.length){if(e.maxWdt>0)for(var s=0;s<r.length;s++){var a=r[s].mod,h=r[s].text;this.splitStringIntoLines(h,a,!0)}else for(var l=0;l<r.length;l++){var d=r[l].mod,c=r[l].text;this.lines.append(c,d)}this.lines.newLine()}else this.lines.newLine("")}else if(e.maxWdt>0)for(var u=0;u<n;u++)this.splitStringIntoLines(i[u]);else for(var f=0;f<n;f++)this.lines.newLine(i[f]);return this.lines.finalize()}},{key:"decodeMarkupSystem",value:function(t){var e="none";return"markdown"===t||"md"===t?e="markdown":!0!==t&&"html"!==t||(e="html"),e}},{key:"splitHtmlBlocks",value:function(t){for(var e=new QM(t),i=function(t){return!!/&/.test(t)&&(e.replace(e.text,"&lt;","<")||e.replace(e.text,"&amp;","&")||e.add("&"),!0)};e.position<e.text.length;){var n=e.text.charAt(e.position);e.parseWS(n)||/</.test(n)&&(e.parseStartTag("bold","<b>")||e.parseStartTag("ital","<i>")||e.parseStartTag("mono","<code>")||e.parseEndTag("bold","</b>")||e.parseEndTag("ital","</i>")||e.parseEndTag("mono","</code>"))||i(n)||e.add(n),e.position++}return e.emitBlock(),e.blocks}},{key:"splitMarkdownBlocks",value:function(t){for(var e=this,i=new QM(t),n=!0,o=function(t){return!!/\\/.test(t)&&(i.position<e.text.length+1&&(i.position++,t=e.text.charAt(i.position),/ \t/.test(t)?i.spacing=!0:(i.add(t),n=!1)),!0)};i.position<i.text.length;){var r=i.text.charAt(i.position);i.parseWS(r)||o(r)||(n||i.spacing)&&(i.parseStartTag("bold","*")||i.parseStartTag("ital","_")||i.parseStartTag("mono","`"))||i.parseEndTag("bold","*","afterBold")||i.parseEndTag("ital","_","afterItal")||i.parseEndTag("mono","`","afterMono")||(i.add(r),n=!1),i.position++}return i.emitBlock(),i.blocks}},{key:"splitBlocks",value:function(t,e){var i=this.decodeMarkupSystem(e);return"none"===i?[{text:t,mod:"normal"}]:"markdown"===i?this.splitMarkdownBlocks(t):"html"===i?this.splitHtmlBlocks(t):void 0}},{key:"overMaxWidth",value:function(t){var e=this.ctx.measureText(t).width;return this.lines.curWidth()+e>this.parent.fontOptions.maxWdt}},{key:"getLongestFit",value:function(t){for(var e="",i=0;i<t.length;){var n=e+(""===e?"":" ")+t[i];if(this.overMaxWidth(n))break;e=n,i++}return i}},{key:"getLongestFitWord",value:function(t){for(var e=0;e<t.length&&!this.overMaxWidth(Zu(t).call(t,0,e));)e++;return e}},{key:"splitStringIntoLines",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"normal",i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];this.parent.getFormattingValues(this.ctx,this.selected,this.hover,e);for(var n=(t=(t=t.replace(/^( +)/g,"$1\r")).replace(/([^\r][^ ]*)( +)/g,"$1\r$2\r")).split("\r");n.length>0;){var o=this.getLongestFit(n);if(0===o){var r=n[0],s=this.getLongestFitWord(r);this.lines.newLine(Zu(r).call(r,0,s),e),n[0]=Zu(r).call(r,s)}else{var a=o;" "===n[o-1]?o--:" "===n[a]&&a++;var h=Zu(n).call(n,0,o).join("");o==n.length&&i?this.lines.append(h,e):this.lines.newLine(h,e),n=Zu(n).call(n,a)}}}}]),t}(),tP=["bold","ital","boldital","mono"],eP=function(){function t(e,i){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];ch(this,t),this.body=e,this.pointToSelf=!1,this.baseSize=void 0,this.fontOptions={},this.setOptions(i),this.size={top:0,left:0,width:0,height:0,yLine:0},this.isEdgeLabel=n}return pu(t,[{key:"setOptions",value:function(t){if(this.elementOptions=t,this.initFontOptions(t.font),GM(t.label)?this.labelDirty=!0:t.label=void 0,void 0!==t.font&&null!==t.font)if("string"==typeof t.font)this.baseSize=this.fontOptions.size;else if("object"===du(t.font)){var e=t.font.size;void 0!==e&&(this.baseSize=e)}}},{key:"initFontOptions",value:function(e){var i=this;Qm(tP,(function(t){i.fontOptions[t]={}})),t.parseFontString(this.fontOptions,e)?this.fontOptions.vadjust=0:Qm(e,(function(t,e){null!=t&&"object"!==du(t)&&(i.fontOptions[e]=t)}))}},{key:"constrain",value:function(t){var e={constrainWidth:!1,maxWdt:-1,minWdt:-1,constrainHeight:!1,minHgt:-1,valign:"middle"},i=mb(t,"widthConstraint");if("number"==typeof i)e.maxWdt=Number(i),e.minWdt=Number(i);else if("object"===du(i)){var n=mb(t,["widthConstraint","maximum"]);"number"==typeof n&&(e.maxWdt=Number(n));var o=mb(t,["widthConstraint","minimum"]);"number"==typeof o&&(e.minWdt=Number(o))}var r=mb(t,"heightConstraint");if("number"==typeof r)e.minHgt=Number(r);else if("object"===du(r)){var s=mb(t,["heightConstraint","minimum"]);"number"==typeof s&&(e.minHgt=Number(s));var a=mb(t,["heightConstraint","valign"]);"string"==typeof a&&("top"!==a&&"bottom"!==a||(e.valign=a))}return e}},{key:"update",value:function(t,e){this.setOptions(t,!0),this.propagateFonts(e),Xm(this.fontOptions,this.constrain(e)),this.fontOptions.chooser=YM("label",e)}},{key:"adjustSizes",value:function(t){var e=t?t.right+t.left:0;this.fontOptions.constrainWidth&&(this.fontOptions.maxWdt-=e,this.fontOptions.minWdt-=e);var i=t?t.top+t.bottom:0;this.fontOptions.constrainHeight&&(this.fontOptions.minHgt-=i)}},{key:"addFontOptionsToPile",value:function(t,e){for(var i=0;i<e.length;++i)this.addFontToPile(t,e[i])}},{key:"addFontToPile",value:function(t,e){if(void 0!==e&&void 0!==e.font&&null!==e.font){var i=e.font;t.push(i)}}},{key:"getBasicOptions",value:function(e){for(var i={},n=0;n<e.length;++n){var o=e[n],r={};t.parseFontString(r,o)&&(o=r),Qm(o,(function(t,e){void 0!==t&&(Object.prototype.hasOwnProperty.call(i,e)||(-1!==Lv(tP).call(tP,e)?i[e]={}:i[e]=t))}))}return i}},{key:"getFontOption",value:function(e,i,n){for(var o,r=0;r<e.length;++r){var s=e[r];if(Object.prototype.hasOwnProperty.call(s,i)){if(null==(o=s[i]))continue;var a={};if(t.parseFontString(a,o)&&(o=a),Object.prototype.hasOwnProperty.call(o,n))return o[n]}}if(Object.prototype.hasOwnProperty.call(this.fontOptions,n))return this.fontOptions[n];throw new Error("Did not find value for multi-font for property: '"+n+"'")}},{key:"getFontOptions",value:function(t,e){for(var i={},n=["color","size","face","mod","vadjust"],o=0;o<n.length;++o){var r=n[o];i[r]=this.getFontOption(t,e,r)}return i}},{key:"propagateFonts",value:function(t){var e=this,i=[];this.addFontOptionsToPile(i,t),this.fontOptions=this.getBasicOptions(i);for(var n=function(){var t=tP[o],n=e.fontOptions[t];Qm(e.getFontOptions(i,t),(function(t,e){n[e]=t})),n.size=Number(n.size),n.vadjust=Number(n.vadjust)},o=0;o<tP.length;++o)n()}},{key:"draw",value:function(t,e,i,n,o){var r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"middle";if(void 0!==this.elementOptions.label){var s=this.fontOptions.size*this.body.view.scale;this.elementOptions.label&&s<this.elementOptions.scaling.label.drawThreshold-1||(s>=this.elementOptions.scaling.label.maxVisible&&(s=Number(this.elementOptions.scaling.label.maxVisible)/this.body.view.scale),this.calculateLabelSize(t,n,o,e,i,r),this._drawBackground(t),this._drawText(t,e,this.size.yLine,r,s))}}},{key:"_drawBackground",value:function(t){if(void 0!==this.fontOptions.background&&"none"!==this.fontOptions.background){t.fillStyle=this.fontOptions.background;var e=this.getSize();t.fillRect(e.left,e.top,e.width,e.height)}}},{key:"_drawText",value:function(t,e,i){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"middle",o=arguments.length>4?arguments[4]:void 0,r=Wu(this._setAlignment(t,e,i,n),2);e=r[0],i=r[1],t.textAlign="left",e-=this.size.width/2,this.fontOptions.valign&&this.size.height>this.size.labelHeight&&("top"===this.fontOptions.valign&&(i-=(this.size.height-this.size.labelHeight)/2),"bottom"===this.fontOptions.valign&&(i+=(this.size.height-this.size.labelHeight)/2));for(var s=0;s<this.lineCount;s++){var a=this.lines[s];if(a&&a.blocks){var h=0;this.isEdgeLabel||"center"===this.fontOptions.align?h+=(this.size.width-a.width)/2:"right"===this.fontOptions.align&&(h+=this.size.width-a.width);for(var l=0;l<a.blocks.length;l++){var d=a.blocks[l];t.font=d.font;var c=Wu(this._getColor(d.color,o,d.strokeColor),2),u=c[0],f=c[1];d.strokeWidth>0&&(t.lineWidth=d.strokeWidth,t.strokeStyle=f,t.lineJoin="round"),t.fillStyle=u,d.strokeWidth>0&&t.strokeText(d.text,e+h,i+d.vadjust),t.fillText(d.text,e+h,i+d.vadjust),h+=d.width}i+=a.height}}}},{key:"_setAlignment",value:function(t,e,i,n){if(this.isEdgeLabel&&"horizontal"!==this.fontOptions.align&&!1===this.pointToSelf){e=0,i=0;"top"===this.fontOptions.align?(t.textBaseline="alphabetic",i-=4):"bottom"===this.fontOptions.align?(t.textBaseline="hanging",i+=4):t.textBaseline="middle"}else t.textBaseline=n;return[e,i]}},{key:"_getColor",value:function(t,e,i){var n=t||"#000000",o=i||"#ffffff";if(e<=this.elementOptions.scaling.label.drawThreshold){var r=Math.max(0,Math.min(1,1-(this.elementOptions.scaling.label.drawThreshold-e)));n=ob(n,r),o=ob(o,r)}return[n,o]}},{key:"getTextSize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return this._processLabel(t,e,i),{width:this.size.width,height:this.size.height,lineCount:this.lineCount}}},{key:"getSize",value:function(){var t=this.size.left,e=this.size.top-1;if(this.isEdgeLabel){var i=.5*-this.size.width;switch(this.fontOptions.align){case"middle":t=i,e=.5*-this.size.height;break;case"top":t=i,e=-(this.size.height+2);break;case"bottom":t=i,e=2}}return{left:t,top:e,width:this.size.width,height:this.size.height}}},{key:"calculateLabelSize",value:function(t,e,i){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"middle";this._processLabel(t,e,i),this.size.left=n-.5*this.size.width,this.size.top=o-.5*this.size.height,this.size.yLine=o+.5*(1-this.lineCount)*this.fontOptions.size,"hanging"===r&&(this.size.top+=.5*this.fontOptions.size,this.size.top+=4,this.size.yLine+=4)}},{key:"getFormattingValues",value:function(t,e,i,n){var o=function(t,e,i){return"normal"===e?"mod"===i?"":t[i]:void 0!==t[e][i]?t[e][i]:t[i]},r={color:o(this.fontOptions,n,"color"),size:o(this.fontOptions,n,"size"),face:o(this.fontOptions,n,"face"),mod:o(this.fontOptions,n,"mod"),vadjust:o(this.fontOptions,n,"vadjust"),strokeWidth:this.fontOptions.strokeWidth,strokeColor:this.fontOptions.strokeColor};(e||i)&&("normal"===n&&!0===this.fontOptions.chooser&&this.elementOptions.labelHighlightBold?r.mod="bold":"function"==typeof this.fontOptions.chooser&&this.fontOptions.chooser(r,this.elementOptions.id,e,i));var s="";return void 0!==r.mod&&""!==r.mod&&(s+=r.mod+" "),s+=r.size+"px "+r.face,t.font=s.replace(/"/g,""),r.font=t.font,r.height=r.size,r}},{key:"differentState",value:function(t,e){return t!==this.selectedState||e!==this.hoverState}},{key:"_processLabelText",value:function(t,e,i,n){return new JM(t,this,e,i).process(n)}},{key:"_processLabel",value:function(t,e,i){if(!1!==this.labelDirty||this.differentState(e,i)){var n=this._processLabelText(t,e,i,this.elementOptions.label);this.fontOptions.minWdt>0&&n.width<this.fontOptions.minWdt&&(n.width=this.fontOptions.minWdt),this.size.labelHeight=n.height,this.fontOptions.minHgt>0&&n.height<this.fontOptions.minHgt&&(n.height=this.fontOptions.minHgt),this.lines=n.lines,this.lineCount=n.lines.length,this.size.width=n.width,this.size.height=n.height,this.selectedState=e,this.hoverState=i,this.labelDirty=!1}}},{key:"visible",value:function(){return 0!==this.size.width&&0!==this.size.height&&void 0!==this.elementOptions.label&&!(this.fontOptions.size*this.body.view.scale<this.elementOptions.scaling.label.drawThreshold-1)}}],[{key:"parseFontString",value:function(t,e){if(!e||"string"!=typeof e)return!1;var i=e.split(" ");return t.size=+i[0].replace("px",""),t.face=i[1],t.color=i[2],!0}}]),t}(),iP=function(){function t(e,i,n){ch(this,t),this.body=i,this.labelModule=n,this.setOptions(e),this.top=void 0,this.left=void 0,this.height=void 0,this.width=void 0,this.radius=void 0,this.margin=void 0,this.refreshNeeded=!0,this.boundingBox={top:0,left:0,right:0,bottom:0}}return pu(t,[{key:"setOptions",value:function(t){this.options=t}},{key:"_setMargins",value:function(t){this.margin={},this.options.margin&&("object"==du(this.options.margin)?(this.margin.top=this.options.margin.top,this.margin.right=this.options.margin.right,this.margin.bottom=this.options.margin.bottom,this.margin.left=this.options.margin.left):(this.margin.top=this.options.margin,this.margin.right=this.options.margin,this.margin.bottom=this.options.margin,this.margin.left=this.options.margin)),t.adjustSizes(this.margin)}},{key:"_distanceToBorder",value:function(t,e){var i=this.options.borderWidth;return t&&this.resize(t),Math.min(Math.abs(this.width/2/Math.cos(e)),Math.abs(this.height/2/Math.sin(e)))+i}},{key:"enableShadow",value:function(t,e){e.shadow&&(t.shadowColor=e.shadowColor,t.shadowBlur=e.shadowSize,t.shadowOffsetX=e.shadowX,t.shadowOffsetY=e.shadowY)}},{key:"disableShadow",value:function(t,e){e.shadow&&(t.shadowColor="rgba(0,0,0,0)",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0)}},{key:"enableBorderDashes",value:function(t,e){if(!1!==e.borderDashes)if(void 0!==t.setLineDash){var i=e.borderDashes;!0===i&&(i=[5,15]),t.setLineDash(i)}else console.warn("setLineDash is not supported in this browser. The dashed borders cannot be used."),this.options.shapeProperties.borderDashes=!1,e.borderDashes=!1}},{key:"disableBorderDashes",value:function(t,e){!1!==e.borderDashes&&(void 0!==t.setLineDash?t.setLineDash([0]):(console.warn("setLineDash is not supported in this browser. The dashed borders cannot be used."),this.options.shapeProperties.borderDashes=!1,e.borderDashes=!1))}},{key:"needsRefresh",value:function(t,e){return!0===this.refreshNeeded?(this.refreshNeeded=!1,!0):void 0===this.width||this.labelModule.differentState(t,e)}},{key:"initContextForDraw",value:function(t,e){var i=e.borderWidth/this.body.view.scale;t.lineWidth=Math.min(this.width,i),t.strokeStyle=e.borderColor,t.fillStyle=e.color}},{key:"performStroke",value:function(t,e){var i=e.borderWidth/this.body.view.scale;t.save(),i>0&&(this.enableBorderDashes(t,e),t.stroke(),this.disableBorderDashes(t,e)),t.restore()}},{key:"performFill",value:function(t,e){t.save(),t.fillStyle=e.color,this.enableShadow(t,e),Cg(t).call(t),this.disableShadow(t,e),t.restore(),this.performStroke(t,e)}},{key:"_addBoundingBoxMargin",value:function(t){this.boundingBox.left-=t,this.boundingBox.top-=t,this.boundingBox.bottom+=t,this.boundingBox.right+=t}},{key:"_updateBoundingBox",value:function(t,e,i,n,o){void 0!==i&&this.resize(i,n,o),this.left=t-this.width/2,this.top=e-this.height/2,this.boundingBox.left=this.left,this.boundingBox.top=this.top,this.boundingBox.bottom=this.top+this.height,this.boundingBox.right=this.left+this.width}},{key:"updateBoundingBox",value:function(t,e,i,n,o){this._updateBoundingBox(t,e,i,n,o)}},{key:"getDimensionsFromLabel",value:function(t,e,i){this.textSize=this.labelModule.getTextSize(t,e,i);var n=this.textSize.width,o=this.textSize.height;return 0===n&&(n=14,o=14),{width:n,height:o}}}]),t}();function nP(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var oP=function(t){l_(i,t);var e=nP(i);function i(t,n,o){var r;return ch(this,i),(r=e.call(this,t,n,o))._setMargins(o),r}return pu(i,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(this.needsRefresh(e,i)){var n=this.getDimensionsFromLabel(t,e,i);this.width=n.width+this.margin.right+this.margin.left,this.height=n.height+this.margin.top+this.margin.bottom,this.radius=this.width/2}}},{key:"draw",value:function(t,e,i,n,o,r){this.resize(t,n,o),this.left=e-this.width/2,this.top=i-this.height/2,this.initContextForDraw(t,r),Wn(t,this.left,this.top,this.width,this.height,r.borderRadius),this.performFill(t,r),this.updateBoundingBox(e,i,t,n,o),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,n,o)}},{key:"updateBoundingBox",value:function(t,e,i,n,o){this._updateBoundingBox(t,e,i,n,o);var r=this.options.shapeProperties.borderRadius;this._addBoundingBoxMargin(r)}},{key:"distanceToBorder",value:function(t,e){t&&this.resize(t);var i=this.options.borderWidth;return Math.min(Math.abs(this.width/2/Math.cos(e)),Math.abs(this.height/2/Math.sin(e)))+i}}]),i}(iP);function rP(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var sP=function(t){l_(i,t);var e=rP(i);function i(t,n,o){var r;return ch(this,i),(r=e.call(this,t,n,o)).labelOffset=0,r.selected=!1,r}return pu(i,[{key:"setOptions",value:function(t,e,i){this.options=t,void 0===e&&void 0===i||this.setImages(e,i)}},{key:"setImages",value:function(t,e){e&&this.selected?(this.imageObj=e,this.imageObjAlt=t):(this.imageObj=t,this.imageObjAlt=e)}},{key:"switchImages",value:function(t){var e=t&&!this.selected||!t&&this.selected;if(this.selected=t,void 0!==this.imageObjAlt&&e){var i=this.imageObj;this.imageObj=this.imageObjAlt,this.imageObjAlt=i}}},{key:"_getImagePadding",value:function(){var t={top:0,right:0,bottom:0,left:0};if(this.options.imagePadding){var e=this.options.imagePadding;"object"==du(e)?(t.top=e.top,t.right=e.right,t.bottom=e.bottom,t.left=e.left):(t.top=e,t.right=e,t.bottom=e,t.left=e)}return t}},{key:"_resizeImage",value:function(){var t,e;if(!1===this.options.shapeProperties.useImageSize){var i=1,n=1;this.imageObj.width&&this.imageObj.height&&(this.imageObj.width>this.imageObj.height?i=this.imageObj.width/this.imageObj.height:n=this.imageObj.height/this.imageObj.width),t=2*this.options.size*i,e=2*this.options.size*n}else{var o=this._getImagePadding();t=this.imageObj.width+o.left+o.right,e=this.imageObj.height+o.top+o.bottom}this.width=t,this.height=e,this.radius=.5*this.width}},{key:"_drawRawCircle",value:function(t,e,i,n){this.initContextForDraw(t,n),Hn(t,e,i,n.size),this.performFill(t,n)}},{key:"_drawImageAtPosition",value:function(t,e){if(0!=this.imageObj.width){t.globalAlpha=void 0!==e.opacity?e.opacity:1,this.enableShadow(t,e);var i=1;!0===this.options.shapeProperties.interpolation&&(i=this.imageObj.width/this.width/this.body.view.scale);var n=this._getImagePadding(),o=this.left+n.left,r=this.top+n.top,s=this.width-n.left-n.right,a=this.height-n.top-n.bottom;this.imageObj.drawImageAtPosition(t,i,o,r,s,a),this.disableShadow(t,e)}}},{key:"_drawImageLabel",value:function(t,e,i,n,o){var r=0;if(void 0!==this.height){r=.5*this.height;var s=this.labelModule.getTextSize(t,n,o);s.lineCount>=1&&(r+=s.height/2)}var a=i+r;this.options.label&&(this.labelOffset=r),this.labelModule.draw(t,e,a,n,o,"hanging")}}]),i}(iP);function aP(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var hP=function(t){l_(i,t);var e=aP(i);function i(t,n,o){var r;return ch(this,i),(r=e.call(this,t,n,o))._setMargins(o),r}return pu(i,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(this.needsRefresh(e,i)){var n=this.getDimensionsFromLabel(t,e,i),o=Math.max(n.width+this.margin.right+this.margin.left,n.height+this.margin.top+this.margin.bottom);this.options.size=o/2,this.width=o,this.height=o,this.radius=this.width/2}}},{key:"draw",value:function(t,e,i,n,o,r){this.resize(t,n,o),this.left=e-this.width/2,this.top=i-this.height/2,this._drawRawCircle(t,e,i,r),this.updateBoundingBox(e,i),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,i,n,o)}},{key:"updateBoundingBox",value:function(t,e){this.boundingBox.top=e-this.options.size,this.boundingBox.left=t-this.options.size,this.boundingBox.right=t+this.options.size,this.boundingBox.bottom=e+this.options.size}},{key:"distanceToBorder",value:function(t){return t&&this.resize(t),.5*this.width}}]),i}(sP);function lP(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var dP=function(t){l_(i,t);var e=lP(i);function i(t,n,o,r,s){var a;return ch(this,i),(a=e.call(this,t,n,o)).setImages(r,s),a}return pu(i,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(void 0===this.imageObj.src||void 0===this.imageObj.width||void 0===this.imageObj.height){var n=2*this.options.size;return this.width=n,this.height=n,void(this.radius=.5*this.width)}this.needsRefresh(e,i)&&this._resizeImage()}},{key:"draw",value:function(t,e,i,n,o,r){this.switchImages(n),this.resize();var s=e,a=i;"top-left"===this.options.shapeProperties.coordinateOrigin?(this.left=e,this.top=i,s+=this.width/2,a+=this.height/2):(this.left=e-this.width/2,this.top=i-this.height/2),this._drawRawCircle(t,s,a,r),t.save(),t.clip(),this._drawImageAtPosition(t,r),t.restore(),this._drawImageLabel(t,s,a,n,o),this.updateBoundingBox(e,i)}},{key:"updateBoundingBox",value:function(t,e){"top-left"===this.options.shapeProperties.coordinateOrigin?(this.boundingBox.top=e,this.boundingBox.left=t,this.boundingBox.right=t+2*this.options.size,this.boundingBox.bottom=e+2*this.options.size):(this.boundingBox.top=e-this.options.size,this.boundingBox.left=t-this.options.size,this.boundingBox.right=t+this.options.size,this.boundingBox.bottom=e+this.options.size),this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelOffset)}},{key:"distanceToBorder",value:function(t){return t&&this.resize(t),.5*this.width}}]),i}(sP);function cP(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var uP=function(t){l_(i,t);var e=cP(i);function i(t,n,o){return ch(this,i),e.call(this,t,n,o)}return pu(i,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{size:this.options.size};if(this.needsRefresh(e,i)){var o,r;this.labelModule.getTextSize(t,e,i);var s=2*n.size;this.width=null!==(o=this.customSizeWidth)&&void 0!==o?o:s,this.height=null!==(r=this.customSizeHeight)&&void 0!==r?r:s,this.radius=.5*this.width}}},{key:"_drawShape",value:function(t,e,i,n,o,r,s,a){var h,l=this;return this.resize(t,r,s,a),this.left=n-this.width/2,this.top=o-this.height/2,this.initContextForDraw(t,a),(h=e,Object.prototype.hasOwnProperty.call(Yn,h)?Yn[h]:function(t){for(var e=arguments.length,i=new Array(e>1?e-1:0),n=1;n<e;n++)i[n-1]=arguments[n];CanvasRenderingContext2D.prototype[h].call(t,i)})(t,n,o,a.size),this.performFill(t,a),void 0!==this.options.icon&&void 0!==this.options.icon.code&&(t.font=(r?"bold ":"")+this.height/2+"px "+(this.options.icon.face||"FontAwesome"),t.fillStyle=this.options.icon.color||"black",t.textAlign="center",t.textBaseline="middle",t.fillText(this.options.icon.code,n,o)),{drawExternalLabel:function(){if(void 0!==l.options.label){l.labelModule.calculateLabelSize(t,r,s,n,o,"hanging");var e=o+.5*l.height+.5*l.labelModule.size.height;l.labelModule.draw(t,n,e,r,s,"hanging")}l.updateBoundingBox(n,o)}}}},{key:"updateBoundingBox",value:function(t,e){this.boundingBox.top=e-this.options.size,this.boundingBox.left=t-this.options.size,this.boundingBox.right=t+this.options.size,this.boundingBox.bottom=e+this.options.size,void 0!==this.options.label&&this.labelModule.size.width>0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelModule.size.height))}}]),i}(iP);function fP(t,e){var i=gf(t);if(AT){var n=AT(t);e&&(n=Zp(n).call(n,(function(e){return XT(t,e).enumerable}))),i.push.apply(i,n)}return i}function pP(t){for(var e=1;e<arguments.length;e++){var i,n,o=null!=arguments[e]?arguments[e]:{};e%2?Bf(i=fP(Object(o),!0)).call(i,(function(e){p_(t,e,o[e])})):QT?rM(t,QT(o)):Bf(n=fP(Object(o))).call(n,(function(e){kT(t,e,XT(o,e))}))}return t}function vP(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var gP=function(t){l_(i,t);var e=vP(i);function i(t,n,o,r){var s;return ch(this,i),(s=e.call(this,t,n,o,r)).ctxRenderer=r,s}return pu(i,[{key:"draw",value:function(t,e,i,n,o,r){this.resize(t,n,o,r),this.left=e-this.width/2,this.top=i-this.height/2,t.save();var s=this.ctxRenderer({ctx:t,id:this.options.id,x:e,y:i,state:{selected:n,hover:o},style:pP({},r),label:this.options.label});if(null!=s.drawNode&&s.drawNode(),t.restore(),s.drawExternalLabel){var a=s.drawExternalLabel;s.drawExternalLabel=function(){t.save(),a(),t.restore()}}return s.nodeDimensions&&(this.customSizeWidth=s.nodeDimensions.width,this.customSizeHeight=s.nodeDimensions.height),s}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),i}(uP);function yP(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var mP=function(t){l_(i,t);var e=yP(i);function i(t,n,o){var r;return ch(this,i),(r=e.call(this,t,n,o))._setMargins(o),r}return pu(i,[{key:"resize",value:function(t,e,i){if(this.needsRefresh(e,i)){var n=this.getDimensionsFromLabel(t,e,i).width+this.margin.right+this.margin.left;this.width=n,this.height=n,this.radius=this.width/2}}},{key:"draw",value:function(t,e,i,n,o,r){this.resize(t,n,o),this.left=e-this.width/2,this.top=i-this.height/2,this.initContextForDraw(t,r),Vn(t,e-this.width/2,i-this.height/2,this.width,this.height),this.performFill(t,r),this.updateBoundingBox(e,i,t,n,o),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,n,o)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),i}(iP);function bP(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var wP=function(t){l_(i,t);var e=bP(i);function i(t,n,o){return ch(this,i),e.call(this,t,n,o)}return pu(i,[{key:"draw",value:function(t,e,i,n,o,r){return this._drawShape(t,"diamond",4,e,i,n,o,r)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),i}(uP);function kP(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var _P=function(t){l_(i,t);var e=kP(i);function i(t,n,o){return ch(this,i),e.call(this,t,n,o)}return pu(i,[{key:"draw",value:function(t,e,i,n,o,r){return this._drawShape(t,"circle",2,e,i,n,o,r)}},{key:"distanceToBorder",value:function(t){return t&&this.resize(t),this.options.size}}]),i}(uP);function xP(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var EP=function(t){l_(i,t);var e=xP(i);function i(t,n,o){return ch(this,i),e.call(this,t,n,o)}return pu(i,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(this.needsRefresh(e,i)){var n=this.getDimensionsFromLabel(t,e,i);this.height=2*n.height,this.width=n.width+n.height,this.radius=.5*this.width}}},{key:"draw",value:function(t,e,i,n,o,r){this.resize(t,n,o),this.left=e-.5*this.width,this.top=i-.5*this.height,this.initContextForDraw(t,r),qn(t,this.left,this.top,this.width,this.height),this.performFill(t,r),this.updateBoundingBox(e,i,t,n,o),this.labelModule.draw(t,e,i,n,o)}},{key:"distanceToBorder",value:function(t,e){t&&this.resize(t);var i=.5*this.width,n=.5*this.height,o=Math.sin(e)*i,r=Math.cos(e)*n;return i*n/Math.sqrt(o*o+r*r)}}]),i}(iP);function OP(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var CP=function(t){l_(i,t);var e=OP(i);function i(t,n,o){var r;return ch(this,i),(r=e.call(this,t,n,o))._setMargins(o),r}return pu(i,[{key:"resize",value:function(t,e,i){this.needsRefresh(e,i)&&(this.iconSize={width:Number(this.options.icon.size),height:Number(this.options.icon.size)},this.width=this.iconSize.width+this.margin.right+this.margin.left,this.height=this.iconSize.height+this.margin.top+this.margin.bottom,this.radius=.5*this.width)}},{key:"draw",value:function(t,e,i,n,o,r){var s=this;return this.resize(t,n,o),this.options.icon.size=this.options.icon.size||50,this.left=e-this.width/2,this.top=i-this.height/2,this._icon(t,e,i,n,o,r),{drawExternalLabel:function(){if(void 0!==s.options.label){s.labelModule.draw(t,s.left+s.iconSize.width/2+s.margin.left,i+s.height/2+5,n)}s.updateBoundingBox(e,i)}}}},{key:"updateBoundingBox",value:function(t,e){if(this.boundingBox.top=e-.5*this.options.icon.size,this.boundingBox.left=t-.5*this.options.icon.size,this.boundingBox.right=t+.5*this.options.icon.size,this.boundingBox.bottom=e+.5*this.options.icon.size,void 0!==this.options.label&&this.labelModule.size.width>0){this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelModule.size.height+5)}}},{key:"_icon",value:function(t,e,i,n,o,r){var s=Number(this.options.icon.size);void 0!==this.options.icon.code?(t.font=[null!=this.options.icon.weight?this.options.icon.weight:n?"bold":"",(null!=this.options.icon.weight&&n?5:0)+s+"px",this.options.icon.face].join(" "),t.fillStyle=this.options.icon.color||"black",t.textAlign="center",t.textBaseline="middle",this.enableShadow(t,r),t.fillText(this.options.icon.code,e,i),this.disableShadow(t,r)):console.error("When using the icon shape, you need to define the code in the icon options object. This can be done per node or globally.")}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),i}(iP);function SP(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var TP=function(t){l_(i,t);var e=SP(i);function i(t,n,o,r,s){var a;return ch(this,i),(a=e.call(this,t,n,o)).setImages(r,s),a}return pu(i,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(void 0===this.imageObj.src||void 0===this.imageObj.width||void 0===this.imageObj.height){var n=2*this.options.size;return this.width=n,void(this.height=n)}this.needsRefresh(e,i)&&this._resizeImage()}},{key:"draw",value:function(t,e,i,n,o,r){t.save(),this.switchImages(n),this.resize();var s=e,a=i;if("top-left"===this.options.shapeProperties.coordinateOrigin?(this.left=e,this.top=i,s+=this.width/2,a+=this.height/2):(this.left=e-this.width/2,this.top=i-this.height/2),!0===this.options.shapeProperties.useBorderWithImage){var h=this.options.borderWidth,l=this.options.borderWidthSelected||2*this.options.borderWidth,d=(n?l:h)/this.body.view.scale;t.lineWidth=Math.min(this.width,d),t.beginPath();var c=n?this.options.color.highlight.border:o?this.options.color.hover.border:this.options.color.border,u=n?this.options.color.highlight.background:o?this.options.color.hover.background:this.options.color.background;void 0!==r.opacity&&(c=ob(c,r.opacity),u=ob(u,r.opacity)),t.strokeStyle=c,t.fillStyle=u,t.rect(this.left-.5*t.lineWidth,this.top-.5*t.lineWidth,this.width+t.lineWidth,this.height+t.lineWidth),Cg(t).call(t),this.performStroke(t,r),t.closePath()}this._drawImageAtPosition(t,r),this._drawImageLabel(t,s,a,n,o),this.updateBoundingBox(e,i),t.restore()}},{key:"updateBoundingBox",value:function(t,e){this.resize(),"top-left"===this.options.shapeProperties.coordinateOrigin?(this.left=t,this.top=e):(this.left=t-this.width/2,this.top=e-this.height/2),this.boundingBox.left=this.left,this.boundingBox.top=this.top,this.boundingBox.bottom=this.top+this.height,this.boundingBox.right=this.left+this.width,void 0!==this.options.label&&this.labelModule.size.width>0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelOffset))}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),i}(sP);function MP(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var PP=function(t){l_(i,t);var e=MP(i);function i(t,n,o){return ch(this,i),e.call(this,t,n,o)}return pu(i,[{key:"draw",value:function(t,e,i,n,o,r){return this._drawShape(t,"square",2,e,i,n,o,r)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),i}(uP);function DP(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var IP=function(t){l_(i,t);var e=DP(i);function i(t,n,o){return ch(this,i),e.call(this,t,n,o)}return pu(i,[{key:"draw",value:function(t,e,i,n,o,r){return this._drawShape(t,"hexagon",4,e,i,n,o,r)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),i}(uP);function BP(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var NP=function(t){l_(i,t);var e=BP(i);function i(t,n,o){return ch(this,i),e.call(this,t,n,o)}return pu(i,[{key:"draw",value:function(t,e,i,n,o,r){return this._drawShape(t,"star",4,e,i,n,o,r)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),i}(uP);function FP(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var zP=function(t){l_(i,t);var e=FP(i);function i(t,n,o){var r;return ch(this,i),(r=e.call(this,t,n,o))._setMargins(o),r}return pu(i,[{key:"resize",value:function(t,e,i){this.needsRefresh(e,i)&&(this.textSize=this.labelModule.getTextSize(t,e,i),this.width=this.textSize.width+this.margin.right+this.margin.left,this.height=this.textSize.height+this.margin.top+this.margin.bottom,this.radius=.5*this.width)}},{key:"draw",value:function(t,e,i,n,o,r){this.resize(t,n,o),this.left=e-this.width/2,this.top=i-this.height/2,this.enableShadow(t,r),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,n,o),this.disableShadow(t,r),this.updateBoundingBox(e,i,t,n,o)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),i}(iP);function AP(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var jP=function(t){l_(i,t);var e=AP(i);function i(t,n,o){return ch(this,i),e.call(this,t,n,o)}return pu(i,[{key:"draw",value:function(t,e,i,n,o,r){return this._drawShape(t,"triangle",3,e,i,n,o,r)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),i}(uP);function RP(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var LP=function(t){l_(i,t);var e=RP(i);function i(t,n,o){return ch(this,i),e.call(this,t,n,o)}return pu(i,[{key:"draw",value:function(t,e,i,n,o,r){return this._drawShape(t,"triangleDown",3,e,i,n,o,r)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),i}(uP);function HP(t,e){var i=gf(t);if(AT){var n=AT(t);e&&(n=Zp(n).call(n,(function(e){return XT(t,e).enumerable}))),i.push.apply(i,n)}return i}function WP(t){for(var e=1;e<arguments.length;e++){var i,n,o=null!=arguments[e]?arguments[e]:{};e%2?Bf(i=HP(Object(o),!0)).call(i,(function(e){p_(t,e,o[e])})):QT?rM(t,QT(o)):Bf(n=HP(Object(o))).call(n,(function(e){kT(t,e,XT(o,e))}))}return t}var qP=function(){function t(e,i,n,o,r,s){ch(this,t),this.options=vb(r),this.globalOptions=r,this.defaultOptions=s,this.body=i,this.edges=[],this.id=void 0,this.imagelist=n,this.grouplist=o,this.x=void 0,this.y=void 0,this.baseSize=this.options.size,this.baseFontSize=this.options.font.size,this.predefinedPosition=!1,this.selected=!1,this.hover=!1,this.labelModule=new eP(this.body,this.options,!1),this.setOptions(e)}return pu(t,[{key:"attachEdge",value:function(t){var e;-1===Lv(e=this.edges).call(e,t)&&this.edges.push(t)}},{key:"detachEdge",value:function(t){var e,i,n=Lv(e=this.edges).call(e,t);-1!=n&&yp(i=this.edges).call(i,n,1)}},{key:"setOptions",value:function(e){var i=this.options.shape;if(e){if(void 0!==e.color&&(this._localColor=e.color),void 0!==e.id&&(this.id=e.id),void 0===this.id)throw new Error("Node must have an id");t.checkMass(e,this.id),void 0!==e.x&&(null===e.x?(this.x=void 0,this.predefinedPosition=!1):(this.x=Mv(e.x),this.predefinedPosition=!0)),void 0!==e.y&&(null===e.y?(this.y=void 0,this.predefinedPosition=!1):(this.y=Mv(e.y),this.predefinedPosition=!0)),void 0!==e.size&&(this.baseSize=e.size),void 0!==e.value&&(e.value=RM(e.value)),t.parseOptions(this.options,e,!0,this.globalOptions,this.grouplist);var n=[e,this.options,this.defaultOptions];return this.chooser=YM("node",n),this._load_images(),this.updateLabelModule(e),void 0!==e.opacity&&t.checkOpacity(e.opacity)&&(this.options.opacity=e.opacity),this.updateShape(i),void 0!==e.hidden||void 0!==e.physics}}},{key:"_load_images",value:function(){if(("circularImage"===this.options.shape||"image"===this.options.shape)&&void 0===this.options.image)throw new Error("Option image must be defined for node type '"+this.options.shape+"'");if(void 0!==this.options.image){if(void 0===this.imagelist)throw new Error("Internal Error: No images provided");if("string"==typeof this.options.image)this.imageObj=this.imagelist.load(this.options.image,this.options.brokenImage,this.id);else{if(void 0===this.options.image.unselected)throw new Error("No unselected image provided");this.imageObj=this.imagelist.load(this.options.image.unselected,this.options.brokenImage,this.id),void 0!==this.options.image.selected?this.imageObjAlt=this.imagelist.load(this.options.image.selected,this.options.brokenImage,this.id):this.imageObjAlt=void 0}}}},{key:"getFormattingValues",value:function(){var t={color:this.options.color.background,opacity:this.options.opacity,borderWidth:this.options.borderWidth,borderColor:this.options.color.border,size:this.options.size,borderDashes:this.options.shapeProperties.borderDashes,borderRadius:this.options.shapeProperties.borderRadius,shadow:this.options.shadow.enabled,shadowColor:this.options.shadow.color,shadowSize:this.options.shadow.size,shadowX:this.options.shadow.x,shadowY:this.options.shadow.y};if(this.selected||this.hover?!0===this.chooser?this.selected?(null!=this.options.borderWidthSelected?t.borderWidth=this.options.borderWidthSelected:t.borderWidth*=2,t.color=this.options.color.highlight.background,t.borderColor=this.options.color.highlight.border,t.shadow=this.options.shadow.enabled):this.hover&&(t.color=this.options.color.hover.background,t.borderColor=this.options.color.hover.border,t.shadow=this.options.shadow.enabled):"function"==typeof this.chooser&&(this.chooser(t,this.options.id,this.selected,this.hover),!1===t.shadow&&(t.shadowColor===this.options.shadow.color&&t.shadowSize===this.options.shadow.size&&t.shadowX===this.options.shadow.x&&t.shadowY===this.options.shadow.y||(t.shadow=!0))):t.shadow=this.options.shadow.enabled,void 0!==this.options.opacity){var e=this.options.opacity;t.borderColor=ob(t.borderColor,e),t.color=ob(t.color,e),t.shadowColor=ob(t.shadowColor,e)}return t}},{key:"updateLabelModule",value:function(e){void 0!==this.options.label&&null!==this.options.label||(this.options.label=""),t.updateGroupOptions(this.options,WP(WP({},e),{},{color:e&&e.color||this._localColor||void 0}),this.grouplist);var i=this.grouplist.get(this.options.group,!1),n=[e,this.options,i,this.globalOptions,this.defaultOptions];this.labelModule.update(this.options,n),void 0!==this.labelModule.baseSize&&(this.baseFontSize=this.labelModule.baseSize)}},{key:"updateShape",value:function(t){if(t===this.options.shape&&this.shape)this.shape.setOptions(this.options,this.imageObj,this.imageObjAlt);else switch(this.options.shape){case"box":this.shape=new oP(this.options,this.body,this.labelModule);break;case"circle":this.shape=new hP(this.options,this.body,this.labelModule);break;case"circularImage":this.shape=new dP(this.options,this.body,this.labelModule,this.imageObj,this.imageObjAlt);break;case"custom":this.shape=new gP(this.options,this.body,this.labelModule,this.options.ctxRenderer);break;case"database":this.shape=new mP(this.options,this.body,this.labelModule);break;case"diamond":this.shape=new wP(this.options,this.body,this.labelModule);break;case"dot":this.shape=new _P(this.options,this.body,this.labelModule);break;case"ellipse":default:this.shape=new EP(this.options,this.body,this.labelModule);break;case"icon":this.shape=new CP(this.options,this.body,this.labelModule);break;case"image":this.shape=new TP(this.options,this.body,this.labelModule,this.imageObj,this.imageObjAlt);break;case"square":this.shape=new PP(this.options,this.body,this.labelModule);break;case"hexagon":this.shape=new IP(this.options,this.body,this.labelModule);break;case"star":this.shape=new NP(this.options,this.body,this.labelModule);break;case"text":this.shape=new zP(this.options,this.body,this.labelModule);break;case"triangle":this.shape=new jP(this.options,this.body,this.labelModule);break;case"triangleDown":this.shape=new LP(this.options,this.body,this.labelModule)}this.needsRefresh()}},{key:"select",value:function(){this.selected=!0,this.needsRefresh()}},{key:"unselect",value:function(){this.selected=!1,this.needsRefresh()}},{key:"needsRefresh",value:function(){this.shape.refreshNeeded=!0}},{key:"getTitle",value:function(){return this.options.title}},{key:"distanceToBorder",value:function(t,e){return this.shape.distanceToBorder(t,e)}},{key:"isFixed",value:function(){return this.options.fixed.x&&this.options.fixed.y}},{key:"isSelected",value:function(){return this.selected}},{key:"getValue",value:function(){return this.options.value}},{key:"getLabelSize",value:function(){return this.labelModule.size()}},{key:"setValueRange",value:function(t,e,i){if(void 0!==this.options.value){var n=this.options.scaling.customScalingFunction(t,e,i,this.options.value),o=this.options.scaling.max-this.options.scaling.min;if(!0===this.options.scaling.label.enabled){var r=this.options.scaling.label.max-this.options.scaling.label.min;this.options.font.size=this.options.scaling.label.min+n*r}this.options.size=this.options.scaling.min+n*o}else this.options.size=this.baseSize,this.options.font.size=this.baseFontSize;this.updateLabelModule()}},{key:"draw",value:function(t){var e=this.getFormattingValues();return this.shape.draw(t,this.x,this.y,this.selected,this.hover,e)||{}}},{key:"updateBoundingBox",value:function(t){this.shape.updateBoundingBox(this.x,this.y,t)}},{key:"resize",value:function(t){var e=this.getFormattingValues();this.shape.resize(t,this.selected,this.hover,e)}},{key:"getItemsOnPoint",value:function(t){var e=[];return this.labelModule.visible()&&XM(this.labelModule.getSize(),t)&&e.push({nodeId:this.id,labelId:0}),XM(this.shape.boundingBox,t)&&e.push({nodeId:this.id}),e}},{key:"isOverlappingWith",value:function(t){return this.shape.left<t.right&&this.shape.left+this.shape.width>t.left&&this.shape.top<t.bottom&&this.shape.top+this.shape.height>t.top}},{key:"isBoundingBoxOverlappingWith",value:function(t){return this.shape.boundingBox.left<t.right&&this.shape.boundingBox.right>t.left&&this.shape.boundingBox.top<t.bottom&&this.shape.boundingBox.bottom>t.top}}],[{key:"checkOpacity",value:function(t){return 0<=t&&t<=1}},{key:"checkCoordinateOrigin",value:function(t){return void 0===t||"center"===t||"top-left"===t}},{key:"updateGroupOptions",value:function(e,i,n){var o;if(void 0!==n){var r=e.group;if(void 0!==i&&void 0!==i.group&&r!==i.group)throw new Error("updateGroupOptions: group values in options don't match.");if("number"==typeof r||"string"==typeof r&&""!=r){var s=n.get(r);void 0!==s.opacity&&void 0===i.opacity&&(t.checkOpacity(s.opacity)||(console.error("Invalid option for node opacity. Value must be between 0 and 1, found: "+s.opacity),s.opacity=void 0));var a=Zp(o=UM(i)).call(o,(function(t){return null!=i[t]}));a.push("font"),Ym(a,e,s),e.color=sb(e.color)}}}},{key:"parseOptions",value:function(e,i){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r=arguments.length>4?arguments[4]:void 0;if(Ym(["color","fixed","shadow"],e,i,n),t.checkMass(i),void 0!==e.opacity&&(t.checkOpacity(e.opacity)||(console.error("Invalid option for node opacity. Value must be between 0 and 1, found: "+e.opacity),e.opacity=void 0)),void 0!==i.opacity&&(t.checkOpacity(i.opacity)||(console.error("Invalid option for node opacity. Value must be between 0 and 1, found: "+i.opacity),i.opacity=void 0)),i.shapeProperties&&!t.checkCoordinateOrigin(i.shapeProperties.coordinateOrigin)&&console.error("Invalid option for node coordinateOrigin, found: "+i.shapeProperties.coordinateOrigin),gb(e,i,"shadow",o),void 0!==i.color&&null!==i.color){var s=sb(i.color);qm(e.color,s)}else!0===n&&null===i.color&&(e.color=vb(o.color));void 0!==i.fixed&&null!==i.fixed&&("boolean"==typeof i.fixed?(e.fixed.x=i.fixed,e.fixed.y=i.fixed):(void 0!==i.fixed.x&&"boolean"==typeof i.fixed.x&&(e.fixed.x=i.fixed.x),void 0!==i.fixed.y&&"boolean"==typeof i.fixed.y&&(e.fixed.y=i.fixed.y))),!0===n&&null===i.font&&(e.font=vb(o.font)),t.updateGroupOptions(e,i,r),void 0!==i.scaling&&gb(e.scaling,i.scaling,"label",o.scaling)}},{key:"checkMass",value:function(t,e){if(void 0!==t.mass&&t.mass<=0){var i="";void 0!==e&&(i=" in node id: "+e),console.error("%cNegative or zero mass disallowed"+i+", setting mass to 1.",Bb),t.mass=1}}}]),t}();function VP(t,e){var i=void 0!==Vu&&dh(t)||t["@@iterator"];if(!i){if(sf(t)||(i=function(t,e){var i;if(!t)return;if("string"==typeof t)return UP(t,e);var n=Zu(i=Object.prototype.toString.call(t)).call(i,8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Ua(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return UP(t,e)}(t))||e&&t&&"number"==typeof t.length){i&&(t=i);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}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 r,s=!0,a=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return s=t.done,t},e:function(t){a=!0,r=t},f:function(){try{s||null==i.return||i.return()}finally{if(a)throw r}}}}function UP(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}var YP=function(){function t(e,i,n,o){var r,s=this;if(ch(this,t),this.body=e,this.images=i,this.groups=n,this.layoutEngine=o,this.body.functions.createNode=Ln(r=this.create).call(r,this),this.nodesListeners={add:function(t,e){s.add(e.items)},update:function(t,e){s.update(e.items,e.data,e.oldData)},remove:function(t,e){s.remove(e.items)}},this.defaultOptions={borderWidth:1,borderWidthSelected:void 0,brokenImage:void 0,color:{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},opacity:void 0,fixed:{x:!1,y:!1},font:{color:"#343434",size:14,face:"arial",background:"none",strokeWidth:0,strokeColor:"#ffffff",align:"center",vadjust:0,multi:!1,bold:{mod:"bold"},boldital:{mod:"bold italic"},ital:{mod:"italic"},mono:{mod:"",size:15,face:"monospace",vadjust:2}},group:void 0,hidden:!1,icon:{face:"FontAwesome",code:void 0,size:50,color:"#2B7CE9"},image:void 0,imagePadding:{top:0,right:0,bottom:0,left:0},label:void 0,labelHighlightBold:!0,level:void 0,margin:{top:5,right:5,bottom:5,left:5},mass:1,physics:!0,scaling:{min:10,max:30,label:{enabled:!1,min:14,max:30,maxVisible:30,drawThreshold:5},customScalingFunction:function(t,e,i,n){if(e===t)return.5;var o=1/(e-t);return Math.max(0,(n-t)*o)}},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:10,x:5,y:5},shape:"ellipse",shapeProperties:{borderDashes:!1,borderRadius:6,interpolation:!0,useImageSize:!1,useBorderWithImage:!1,coordinateOrigin:"center"},size:25,title:void 0,value:void 0,x:void 0,y:void 0},this.defaultOptions.mass<=0)throw"Internal error: mass in defaultOptions of NodesHandler may not be zero or negative";this.options=vb(this.defaultOptions),this.bindEventListeners()}return pu(t,[{key:"bindEventListeners",value:function(){var t,e,i=this;this.body.emitter.on("refreshNodes",Ln(t=this.refresh).call(t,this)),this.body.emitter.on("refresh",Ln(e=this.refresh).call(e,this)),this.body.emitter.on("destroy",(function(){Qm(i.nodesListeners,(function(t,e){i.body.data.nodes&&i.body.data.nodes.off(e,t)})),delete i.body.functions.createNode,delete i.nodesListeners.add,delete i.nodesListeners.update,delete i.nodesListeners.remove,delete i.nodesListeners}))}},{key:"setOptions",value:function(t){if(void 0!==t){if(qP.parseOptions(this.options,t),void 0!==t.opacity&&(Uk(t.opacity)||!Gk(t.opacity)||t.opacity<0||t.opacity>1?console.error("Invalid option for node opacity. Value must be between 0 and 1, found: "+t.opacity):this.options.opacity=t.opacity),void 0!==t.shape)for(var e in this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,e)&&this.body.nodes[e].updateShape();if(void 0!==t.font||void 0!==t.widthConstraint||void 0!==t.heightConstraint)for(var i=0,n=gf(this.body.nodes);i<n.length;i++){var o=n[i];this.body.nodes[o].updateLabelModule(),this.body.nodes[o].needsRefresh()}if(void 0!==t.size)for(var r in this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,r)&&this.body.nodes[r].needsRefresh();void 0===t.hidden&&void 0===t.physics||this.body.emitter.emit("_dataChanged")}}},{key:"setData",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.body.data.nodes;if(SM("id",t))this.body.data.nodes=t;else if(sf(t))this.body.data.nodes=new EM,this.body.data.nodes.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.body.data.nodes=new EM}if(i&&Qm(this.nodesListeners,(function(t,e){i.off(e,t)})),this.body.nodes={},this.body.data.nodes){var n=this;Qm(this.nodesListeners,(function(t,e){n.body.data.nodes.on(e,t)}));var o=this.body.data.nodes.getIds();this.add(o,!0)}!1===e&&this.body.emitter.emit("_dataChanged")}},{key:"add",value:function(t){for(var e,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=[],o=0;o<t.length;o++){e=t[o];var r=this.body.data.nodes.get(e),s=this.create(r);n.push(s),this.body.nodes[e]=s}this.layoutEngine.positionInitially(n),!1===i&&this.body.emitter.emit("_dataChanged")}},{key:"update",value:function(t,e,i){for(var n=this.body.nodes,o=!1,r=0;r<t.length;r++){var s=t[r],a=n[s],h=e[r];void 0!==a?a.setOptions(h)&&(o=!0):(o=!0,a=this.create(h),n[s]=a)}o||void 0===i||(o=e_(e).call(e,(function(t,e){var n=i[e];return n&&n.level!==t.level}))),!0===o?this.body.emitter.emit("_dataChanged"):this.body.emitter.emit("_dataUpdated")}},{key:"remove",value:function(t){for(var e=this.body.nodes,i=0;i<t.length;i++){delete e[t[i]]}this.body.emitter.emit("_dataChanged")}},{key:"create",value:function(t){return new(arguments.length>1&&void 0!==arguments[1]?arguments[1]:qP)(t,this.body,this.images,this.groups,this.options,this.defaultOptions)}},{key:"refresh",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];Qm(this.body.nodes,(function(i,n){var o=t.body.data.nodes.get(n);void 0!==o&&(!0===e&&i.setOptions({x:null,y:null}),i.setOptions({fixed:!1}),i.setOptions(o))}))}},{key:"getPositions",value:function(t){var e={};if(void 0!==t){if(!0===sf(t)){for(var i=0;i<t.length;i++)if(void 0!==this.body.nodes[t[i]]){var n=this.body.nodes[t[i]];e[t[i]]={x:Math.round(n.x),y:Math.round(n.y)}}}else if(void 0!==this.body.nodes[t]){var o=this.body.nodes[t];e[t]={x:Math.round(o.x),y:Math.round(o.y)}}}else for(var r=0;r<this.body.nodeIndices.length;r++){var s=this.body.nodes[this.body.nodeIndices[r]];e[this.body.nodeIndices[r]]={x:Math.round(s.x),y:Math.round(s.y)}}return e}},{key:"getPosition",value:function(t){if(null==t)throw new TypeError("No id was specified for getPosition method.");if(null==this.body.nodes[t])throw new ReferenceError("NodeId provided for getPosition does not exist. Provided: ".concat(t));return{x:Math.round(this.body.nodes[t].x),y:Math.round(this.body.nodes[t].y)}}},{key:"storePositions",value:function(){var t,e=[],i=this.body.data.nodes.getDataSet(),n=VP(i.get());try{for(n.s();!(t=n.n()).done;){var o=t.value,r=o.id,s=this.body.nodes[r],a=Math.round(s.x),h=Math.round(s.y);o.x===a&&o.y===h||e.push({id:r,x:a,y:h})}}catch(t){n.e(t)}finally{n.f()}i.update(e)}},{key:"getBoundingBox",value:function(t){if(void 0!==this.body.nodes[t])return this.body.nodes[t].shape.boundingBox}},{key:"getConnectedNodes",value:function(t,e){var i=[];if(void 0!==this.body.nodes[t])for(var n=this.body.nodes[t],o={},r=0;r<n.edges.length;r++){var s=n.edges[r];"to"!==e&&s.toId==n.id?void 0===o[s.fromId]&&(i.push(s.fromId),o[s.fromId]=!0):"from"!==e&&s.fromId==n.id&&void 0===o[s.toId]&&(i.push(s.toId),o[s.toId]=!0)}return i}},{key:"getConnectedEdges",value:function(t){var e=[];if(void 0!==this.body.nodes[t])for(var i=this.body.nodes[t],n=0;n<i.edges.length;n++)e.push(i.edges[n].id);else console.error("NodeId provided for getConnectedEdges does not exist. Provided: ",t);return e}},{key:"moveNode",value:function(t,e,i){var n=this;void 0!==this.body.nodes[t]?(this.body.nodes[t].x=Number(e),this.body.nodes[t].y=Number(i),vg((function(){n.body.emitter.emit("startSimulation")}),0)):console.error("Node id supplied to moveNode does not exist. Provided: ",t)}}]),t}(),XP=Zt,GP=I,KP=tt,$P=ei,ZP=function(t){return void 0!==t&&(XP(t,"value")||XP(t,"writable"))},QP=T,JP=Cr;Si({target:"Reflect",stat:!0},{get:function t(e,i){var n,o,r=arguments.length<3?e:arguments[2];return $P(e)===r?e[i]:(n=QP.f(e,i))?ZP(n)?n.value:void 0===n.get?void 0:GP(n.get,r):KP(o=JP(e))?t(o,i,r):void 0}});var tD=i(et.Reflect.get),eD=i(YT);function iD(){var t;"undefined"!=typeof Reflect&&tD?iD=a_(t=tD).call(t):iD=function(t,e,i){var n=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=f_(t)););return t}(t,e);if(n){var o=eD(n,e);return o.get?o.get.call(arguments.length<3?t:i):o.value}};return iD.apply(this,arguments)}var nD=Si,oD=Math.hypot,rD=Math.abs,sD=Math.sqrt;nD({target:"Math",stat:!0,arity:2,forced:!!oD&&oD(1/0,NaN)!==1/0},{hypot:function(t,e){for(var i,n,o=0,r=0,s=arguments.length,a=0;r<s;)a<(i=rD(arguments[r++]))?(o=o*(n=a/i)*n+1,a=i):o+=i>0?(n=i/a)*n:i;return a===1/0?1/0:a*sD(o)}});var aD=i(et.Math.hypot);function hD(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var lD=function(){function t(){ch(this,t)}return pu(t,null,[{key:"transform",value:function(t,e){sf(t)||(t=[t]);for(var i=e.point.x,n=e.point.y,o=e.angle,r=e.length,s=0;s<t.length;++s){var a=t[s],h=a.x*Math.cos(o)-a.y*Math.sin(o),l=a.x*Math.sin(o)+a.y*Math.cos(o);a.x=i+r*h,a.y=n+r*l}}},{key:"drawPath",value:function(t,e){t.beginPath(),t.moveTo(e[0].x,e[0].y);for(var i=1;i<e.length;++i)t.lineTo(e[i].x,e[i].y);t.closePath()}}]),t}(),dD=function(t){l_(i,t);var e=hD(i);function i(){return ch(this,i),e.apply(this,arguments)}return pu(i,null,[{key:"draw",value:function(t,e){if(e.image){t.save(),t.translate(e.point.x,e.point.y),t.rotate(Math.PI/2+e.angle);var i=null!=e.imageWidth?e.imageWidth:e.image.width,n=null!=e.imageHeight?e.imageHeight:e.image.height;e.image.drawImageAtPosition(t,1,-i/2,0,i,n),t.restore()}return!1}}]),i}(lD),cD=function(t){l_(i,t);var e=hD(i);function i(){return ch(this,i),e.apply(this,arguments)}return pu(i,null,[{key:"draw",value:function(t,e){var i=[{x:0,y:0},{x:-1,y:.3},{x:-.9,y:0},{x:-1,y:-.3}];return lD.transform(i,e),lD.drawPath(t,i),!0}}]),i}(lD),uD=function(){function t(){ch(this,t)}return pu(t,null,[{key:"draw",value:function(t,e){var i=[{x:-1,y:0},{x:0,y:.3},{x:-.4,y:0},{x:0,y:-.3}];return lD.transform(i,e),lD.drawPath(t,i),!0}}]),t}(),fD=function(){function t(){ch(this,t)}return pu(t,null,[{key:"draw",value:function(t,e){var i={x:-.4,y:0};lD.transform(i,e),t.strokeStyle=t.fillStyle,t.fillStyle="rgba(0, 0, 0, 0)";var n=Math.PI,o=e.angle-n/2,r=e.angle+n/2;return t.beginPath(),t.arc(i.x,i.y,.4*e.length,o,r,!1),t.stroke(),!0}}]),t}(),pD=function(){function t(){ch(this,t)}return pu(t,null,[{key:"draw",value:function(t,e){var i={x:-.3,y:0};lD.transform(i,e),t.strokeStyle=t.fillStyle,t.fillStyle="rgba(0, 0, 0, 0)";var n=Math.PI,o=e.angle+n/2,r=e.angle+3*n/2;return t.beginPath(),t.arc(i.x,i.y,.4*e.length,o,r,!1),t.stroke(),!0}}]),t}(),vD=function(){function t(){ch(this,t)}return pu(t,null,[{key:"draw",value:function(t,e){var i=[{x:.02,y:0},{x:-1,y:.3},{x:-1,y:-.3}];return lD.transform(i,e),lD.drawPath(t,i),!0}}]),t}(),gD=function(){function t(){ch(this,t)}return pu(t,null,[{key:"draw",value:function(t,e){var i=[{x:0,y:.3},{x:0,y:-.3},{x:-1,y:0}];return lD.transform(i,e),lD.drawPath(t,i),!0}}]),t}(),yD=function(){function t(){ch(this,t)}return pu(t,null,[{key:"draw",value:function(t,e){var i={x:-.4,y:0};return lD.transform(i,e),Hn(t,i.x,i.y,.4*e.length),!0}}]),t}(),mD=function(){function t(){ch(this,t)}return pu(t,null,[{key:"draw",value:function(t,e){var i=[{x:0,y:.5},{x:0,y:-.5},{x:-.15,y:-.5},{x:-.15,y:.5}];return lD.transform(i,e),lD.drawPath(t,i),!0}}]),t}(),bD=function(){function t(){ch(this,t)}return pu(t,null,[{key:"draw",value:function(t,e){var i=[{x:0,y:.3},{x:0,y:-.3},{x:-.6,y:-.3},{x:-.6,y:.3}];return lD.transform(i,e),lD.drawPath(t,i),!0}}]),t}(),wD=function(){function t(){ch(this,t)}return pu(t,null,[{key:"draw",value:function(t,e){var i=[{x:0,y:0},{x:-.5,y:-.3},{x:-1,y:0},{x:-.5,y:.3}];return lD.transform(i,e),lD.drawPath(t,i),!0}}]),t}(),kD=function(){function t(){ch(this,t)}return pu(t,null,[{key:"draw",value:function(t,e){var i=[{x:-1,y:.3},{x:-.5,y:0},{x:-1,y:-.3},{x:0,y:0}];return lD.transform(i,e),lD.drawPath(t,i),!0}}]),t}(),_D=function(){function t(){ch(this,t)}return pu(t,null,[{key:"draw",value:function(t,e){var i;switch(e.type&&(i=e.type.toLowerCase()),i){case"image":return dD.draw(t,e);case"circle":return yD.draw(t,e);case"box":return bD.draw(t,e);case"crow":return uD.draw(t,e);case"curve":return fD.draw(t,e);case"diamond":return wD.draw(t,e);case"inv_curve":return pD.draw(t,e);case"triangle":return vD.draw(t,e);case"inv_triangle":return gD.draw(t,e);case"bar":return mD.draw(t,e);case"vee":return kD.draw(t,e);default:return cD.draw(t,e)}}}]),t}();function xD(t,e){var i=gf(t);if(AT){var n=AT(t);e&&(n=Zp(n).call(n,(function(e){return XT(t,e).enumerable}))),i.push.apply(i,n)}return i}function ED(t){for(var e=1;e<arguments.length;e++){var i,n,o=null!=arguments[e]?arguments[e]:{};e%2?Bf(i=xD(Object(o),!0)).call(i,(function(e){p_(t,e,o[e])})):QT?rM(t,QT(o)):Bf(n=xD(Object(o))).call(n,(function(e){kT(t,e,XT(o,e))}))}return t}var OD=function(){function t(e,i,n){ch(this,t),this._body=i,this._labelModule=n,this.color={},this.colorDirty=!0,this.hoverWidth=1.5,this.selectionWidth=2,this.setOptions(e),this.fromPoint=this.from,this.toPoint=this.to}return pu(t,[{key:"connect",value:function(){this.from=this._body.nodes[this.options.from],this.to=this._body.nodes[this.options.to]}},{key:"cleanup",value:function(){return!1}},{key:"setOptions",value:function(t){this.options=t,this.from=this._body.nodes[this.options.from],this.to=this._body.nodes[this.options.to],this.id=this.options.id}},{key:"drawLine",value:function(t,e,i,n){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:this.getViaNode();t.strokeStyle=this.getColor(t,e),t.lineWidth=e.width,!1!==e.dashes?this._drawDashedLine(t,e,o):this._drawLine(t,e,o)}},{key:"_drawLine",value:function(t,e,i,n,o){if(this.from!=this.to)this._line(t,e,i,n,o);else{var r=Wu(this._getCircleData(t),3),s=r[0],a=r[1],h=r[2];this._circle(t,e,s,a,h)}}},{key:"_drawDashedLine",value:function(t,e,i,n,o){t.lineCap="round";var r=sf(e.dashes)?e.dashes:[5,5];if(void 0!==t.setLineDash){if(t.save(),t.setLineDash(r),t.lineDashOffset=0,this.from!=this.to)this._line(t,e,i);else{var s=Wu(this._getCircleData(t),3),a=s[0],h=s[1],l=s[2];this._circle(t,e,a,h,l)}t.setLineDash([0]),t.lineDashOffset=0,t.restore()}else{if(this.from!=this.to)Un(t,this.from.x,this.from.y,this.to.x,this.to.y,r);else{var d=Wu(this._getCircleData(t),3),c=d[0],u=d[1],f=d[2];this._circle(t,e,c,u,f)}this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}}},{key:"findBorderPosition",value:function(t,e,i){return this.from!=this.to?this._findBorderPosition(t,e,i):this._findBorderPositionCircle(t,e,i)}},{key:"findBorderPositions",value:function(t){if(this.from!=this.to)return{from:this._findBorderPosition(this.from,t),to:this._findBorderPosition(this.to,t)};var e,i=Wu(Zu(e=this._getCircleData(t)).call(e,0,2),2),n=i[0],o=i[1];return{from:this._findBorderPositionCircle(this.from,t,{x:n,y:o,low:.25,high:.6,direction:-1}),to:this._findBorderPositionCircle(this.from,t,{x:n,y:o,low:.6,high:.8,direction:1})}}},{key:"_getCircleData",value:function(t){var e=this.options.selfReference.size;void 0!==t&&void 0===this.from.shape.width&&this.from.shape.resize(t);var i=KM(t,this.options.selfReference.angle,e,this.from);return[i.x,i.y,e]}},{key:"_pointOnCircle",value:function(t,e,i,n){var o=2*n*Math.PI;return{x:t+i*Math.cos(o),y:e-i*Math.sin(o)}}},{key:"_findBorderPositionCircle",value:function(t,e,i){var n,o=i.x,r=i.y,s=i.low,a=i.high,h=i.direction,l=this.options.selfReference.size,d=.5*(s+a),c=0;!0===this.options.arrowStrikethrough&&(-1===h?c=this.options.endPointOffset.from:1===h&&(c=this.options.endPointOffset.to));var u=0;do{d=.5*(s+a),n=this._pointOnCircle(o,r,l,d);var f=Math.atan2(t.y-n.y,t.x-n.x),p=t.distanceToBorder(e,f)+c-Math.sqrt(Math.pow(n.x-t.x,2)+Math.pow(n.y-t.y,2));if(Math.abs(p)<.05)break;p>0?h>0?s=d:a=d:h>0?a=d:s=d,++u}while(s<=a&&u<10);return ED(ED({},n),{},{t:d})}},{key:"getLineWidth",value:function(t,e){return!0===t?Math.max(this.selectionWidth,.3/this._body.view.scale):!0===e?Math.max(this.hoverWidth,.3/this._body.view.scale):Math.max(this.options.width,.3/this._body.view.scale)}},{key:"getColor",value:function(t,e){if(!1!==e.inheritsColor){if("both"===e.inheritsColor&&this.from.id!==this.to.id){var i=t.createLinearGradient(this.from.x,this.from.y,this.to.x,this.to.y),n=this.from.options.color.highlight.border,o=this.to.options.color.highlight.border;return!1===this.from.selected&&!1===this.to.selected?(n=ob(this.from.options.color.border,e.opacity),o=ob(this.to.options.color.border,e.opacity)):!0===this.from.selected&&!1===this.to.selected?o=this.to.options.color.border:!1===this.from.selected&&!0===this.to.selected&&(n=this.from.options.color.border),i.addColorStop(0,n),i.addColorStop(1,o),i}return"to"===e.inheritsColor?ob(this.to.options.color.border,e.opacity):ob(this.from.options.color.border,e.opacity)}return ob(e.color,e.opacity)}},{key:"_circle",value:function(t,e,i,n,o){this.enableShadow(t,e);var r=0,s=2*Math.PI;if(!this.options.selfReference.renderBehindTheNode){var a=this.options.selfReference.angle,h=this.options.selfReference.angle+Math.PI,l=this._findBorderPositionCircle(this.from,t,{x:i,y:n,low:a,high:h,direction:-1}),d=this._findBorderPositionCircle(this.from,t,{x:i,y:n,low:a,high:h,direction:1});r=Math.atan2(l.y-n,l.x-i),s=Math.atan2(d.y-n,d.x-i)}t.beginPath(),t.arc(i,n,o,r,s,!1),t.stroke(),this.disableShadow(t,e)}},{key:"getDistanceToEdge",value:function(t,e,i,n,o,r){if(this.from!=this.to)return this._getDistanceToEdge(t,e,i,n,o,r);var s=Wu(this._getCircleData(void 0),3),a=s[0],h=s[1],l=s[2],d=a-o,c=h-r;return Math.abs(Math.sqrt(d*d+c*c)-l)}},{key:"_getDistanceToLine",value:function(t,e,i,n,o,r){var s=i-t,a=n-e,h=((o-t)*s+(r-e)*a)/(s*s+a*a);h>1?h=1:h<0&&(h=0);var l=t+h*s-o,d=e+h*a-r;return Math.sqrt(l*l+d*d)}},{key:"getArrowData",value:function(t,e,i,n,o,r){var s,a,h,l,d,c,u,f=r.width;"from"===e?(h=this.from,l=this.to,d=r.fromArrowScale<0,c=Math.abs(r.fromArrowScale),u=r.fromArrowType):"to"===e?(h=this.to,l=this.from,d=r.toArrowScale<0,c=Math.abs(r.toArrowScale),u=r.toArrowType):(h=this.to,l=this.from,d=r.middleArrowScale<0,c=Math.abs(r.middleArrowScale),u=r.middleArrowType);var p=15*c+3*f;if(h!=l){var v=p/aD(h.x-l.x,h.y-l.y);if("middle"!==e)if(!0===this.options.smooth.enabled){var g=this._findBorderPosition(h,t,{via:i}),y=this.getPoint(g.t+v*("from"===e?1:-1),i);s=Math.atan2(g.y-y.y,g.x-y.x),a=g}else s=Math.atan2(h.y-l.y,h.x-l.x),a=this._findBorderPosition(h,t);else{var m=(d?-v:v)/2,b=this.getPoint(.5+m,i),w=this.getPoint(.5-m,i);s=Math.atan2(b.y-w.y,b.x-w.x),a=this.getPoint(.5,i)}}else{var k=Wu(this._getCircleData(t),3),_=k[0],x=k[1],E=k[2];if("from"===e){var O=this.options.selfReference.angle,C=this.options.selfReference.angle+Math.PI,S=this._findBorderPositionCircle(this.from,t,{x:_,y:x,low:O,high:C,direction:-1});s=-2*S.t*Math.PI+1.5*Math.PI+.1*Math.PI,a=S}else if("to"===e){var T=this.options.selfReference.angle,M=this.options.selfReference.angle+Math.PI,P=this._findBorderPositionCircle(this.from,t,{x:_,y:x,low:T,high:M,direction:1});s=-2*P.t*Math.PI+1.5*Math.PI-1.1*Math.PI,a=P}else{var D=this.options.selfReference.angle/(2*Math.PI);a=this._pointOnCircle(_,x,E,D),s=-2*D*Math.PI+1.5*Math.PI+.1*Math.PI}}return{point:a,core:{x:a.x-.9*p*Math.cos(s),y:a.y-.9*p*Math.sin(s)},angle:s,length:p,type:u}}},{key:"drawArrowHead",value:function(t,e,i,n,o){t.strokeStyle=this.getColor(t,e),t.fillStyle=t.strokeStyle,t.lineWidth=e.width,_D.draw(t,o)&&(this.enableShadow(t,e),Cg(t).call(t),this.disableShadow(t,e))}},{key:"enableShadow",value:function(t,e){!0===e.shadow&&(t.shadowColor=e.shadowColor,t.shadowBlur=e.shadowSize,t.shadowOffsetX=e.shadowX,t.shadowOffsetY=e.shadowY)}},{key:"disableShadow",value:function(t,e){!0===e.shadow&&(t.shadowColor="rgba(0,0,0,0)",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0)}},{key:"drawBackground",value:function(t,e){if(!1!==e.background){var i={strokeStyle:t.strokeStyle,lineWidth:t.lineWidth,dashes:t.dashes};t.strokeStyle=e.backgroundColor,t.lineWidth=e.backgroundSize,this.setStrokeDashed(t,e.backgroundDashes),t.stroke(),t.strokeStyle=i.strokeStyle,t.lineWidth=i.lineWidth,t.dashes=i.dashes,this.setStrokeDashed(t,e.dashes)}}},{key:"setStrokeDashed",value:function(t,e){if(!1!==e)if(void 0!==t.setLineDash){var i=sf(e)?e:[5,5];t.setLineDash(i)}else console.warn("setLineDash is not supported in this browser. The dashed stroke cannot be used.");else void 0!==t.setLineDash?t.setLineDash([]):console.warn("setLineDash is not supported in this browser. The dashed stroke cannot be used.")}}]),t}();function CD(t,e){var i=gf(t);if(AT){var n=AT(t);e&&(n=Zp(n).call(n,(function(e){return XT(t,e).enumerable}))),i.push.apply(i,n)}return i}function SD(t){for(var e=1;e<arguments.length;e++){var i,n,o=null!=arguments[e]?arguments[e]:{};e%2?Bf(i=CD(Object(o),!0)).call(i,(function(e){p_(t,e,o[e])})):QT?rM(t,QT(o)):Bf(n=CD(Object(o))).call(n,(function(e){kT(t,e,XT(o,e))}))}return t}function TD(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var MD=function(t){l_(i,t);var e=TD(i);function i(t,n,o){return ch(this,i),e.call(this,t,n,o)}return pu(i,[{key:"_findBorderPositionBezier",value:function(t,e){var i,n,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this._getViaCoordinates(),r=!1,s=1,a=0,h=this.to,l=this.options.endPointOffset?this.options.endPointOffset.to:0;t.id===this.from.id&&(h=this.from,r=!0,l=this.options.endPointOffset?this.options.endPointOffset.from:0),!1===this.options.arrowStrikethrough&&(l=0);var d=0;do{n=.5*(a+s),i=this.getPoint(n,o);var c=Math.atan2(h.y-i.y,h.x-i.x),u=h.distanceToBorder(e,c)+l-Math.sqrt(Math.pow(i.x-h.x,2)+Math.pow(i.y-h.y,2));if(Math.abs(u)<.2)break;u<0?!1===r?a=n:s=n:!1===r?s=n:a=n,++d}while(a<=s&&d<10);return SD(SD({},i),{},{t:n})}},{key:"_getDistanceToBezierEdge",value:function(t,e,i,n,o,r,s){var a,h,l,d,c,u=1e9,f=t,p=e;for(h=1;h<10;h++)l=.1*h,d=Math.pow(1-l,2)*t+2*l*(1-l)*s.x+Math.pow(l,2)*i,c=Math.pow(1-l,2)*e+2*l*(1-l)*s.y+Math.pow(l,2)*n,h>0&&(u=(a=this._getDistanceToLine(f,p,d,c,o,r))<u?a:u),f=d,p=c;return u}},{key:"_bezierCurve",value:function(t,e,i,n){t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),null!=i&&null!=i.x?null!=n&&null!=n.x?t.bezierCurveTo(i.x,i.y,n.x,n.y,this.toPoint.x,this.toPoint.y):t.quadraticCurveTo(i.x,i.y,this.toPoint.x,this.toPoint.y):t.lineTo(this.toPoint.x,this.toPoint.y),this.drawBackground(t,e),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"getViaNode",value:function(){return this._getViaCoordinates()}}]),i}(OD);function PD(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var DD=function(t){l_(i,t);var e=PD(i);function i(t,n,o){var r;return ch(this,i),(r=e.call(this,t,n,o)).via=r.via,r._boundFunction=function(){r.positionBezierNode()},r._body.emitter.on("_repositionBezierNodes",r._boundFunction),r}return pu(i,[{key:"setOptions",value:function(t){iD(f_(i.prototype),"setOptions",this).call(this,t);var e=!1;this.options.physics!==t.physics&&(e=!0),this.options=t,this.id=this.options.id,this.from=this._body.nodes[this.options.from],this.to=this._body.nodes[this.options.to],this.setupSupportNode(),this.connect(),!0===e&&(this.via.setOptions({physics:this.options.physics}),this.positionBezierNode())}},{key:"connect",value:function(){this.from=this._body.nodes[this.options.from],this.to=this._body.nodes[this.options.to],void 0===this.from||void 0===this.to||!1===this.options.physics||this.from.id===this.to.id?this.via.setOptions({physics:!1}):this.via.setOptions({physics:!0})}},{key:"cleanup",value:function(){return this._body.emitter.off("_repositionBezierNodes",this._boundFunction),void 0!==this.via&&(delete this._body.nodes[this.via.id],this.via=void 0,!0)}},{key:"setupSupportNode",value:function(){if(void 0===this.via){var t="edgeId:"+this.id,e=this._body.functions.createNode({id:t,shape:"circle",physics:!0,hidden:!0});this._body.nodes[t]=e,this.via=e,this.via.parentEdgeId=this.id,this.positionBezierNode()}}},{key:"positionBezierNode",value:function(){void 0!==this.via&&void 0!==this.from&&void 0!==this.to?(this.via.x=.5*(this.from.x+this.to.x),this.via.y=.5*(this.from.y+this.to.y)):void 0!==this.via&&(this.via.x=0,this.via.y=0)}},{key:"_line",value:function(t,e,i){this._bezierCurve(t,e,i)}},{key:"_getViaCoordinates",value:function(){return this.via}},{key:"getViaNode",value:function(){return this.via}},{key:"getPoint",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.via;if(this.from===this.to){var i=Wu(this._getCircleData(),3),n=i[0],o=i[1],r=i[2],s=2*Math.PI*(1-t);return{x:n+r*Math.sin(s),y:o+r-r*(1-Math.cos(s))}}return{x:Math.pow(1-t,2)*this.fromPoint.x+2*t*(1-t)*e.x+Math.pow(t,2)*this.toPoint.x,y:Math.pow(1-t,2)*this.fromPoint.y+2*t*(1-t)*e.y+Math.pow(t,2)*this.toPoint.y}}},{key:"_findBorderPosition",value:function(t,e){return this._findBorderPositionBezier(t,e,this.via)}},{key:"_getDistanceToEdge",value:function(t,e,i,n,o,r){return this._getDistanceToBezierEdge(t,e,i,n,o,r,this.via)}}]),i}(MD);function ID(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var BD=function(t){l_(i,t);var e=ID(i);function i(t,n,o){return ch(this,i),e.call(this,t,n,o)}return pu(i,[{key:"_line",value:function(t,e,i){this._bezierCurve(t,e,i)}},{key:"getViaNode",value:function(){return this._getViaCoordinates()}},{key:"_getViaCoordinates",value:function(){var t,e,i=this.options.smooth.roundness,n=this.options.smooth.type,o=Math.abs(this.from.x-this.to.x),r=Math.abs(this.from.y-this.to.y);if("discrete"===n||"diagonalCross"===n){var s,a;s=a=o<=r?i*r:i*o,this.from.x>this.to.x&&(s=-s),this.from.y>=this.to.y&&(a=-a);var h=this.from.x+s,l=this.from.y+a;return"discrete"===n&&(o<=r?h=o<i*r?this.from.x:h:l=r<i*o?this.from.y:l),{x:h,y:l}}if("straightCross"===n){var d=(1-i)*o,c=(1-i)*r;return o<=r?(d=0,this.from.y<this.to.y&&(c=-c)):(this.from.x<this.to.x&&(d=-d),c=0),{x:this.to.x+d,y:this.to.y+c}}if("horizontal"===n){var u=(1-i)*o;return this.from.x<this.to.x&&(u=-u),{x:this.to.x+u,y:this.from.y}}if("vertical"===n){var f=(1-i)*r;return this.from.y<this.to.y&&(f=-f),{x:this.from.x,y:this.to.y+f}}if("curvedCW"===n){o=this.to.x-this.from.x,r=this.from.y-this.to.y;var p=Math.sqrt(o*o+r*r),v=Math.PI,g=(Math.atan2(r,o)+(.5*i+.5)*v)%(2*v);return{x:this.from.x+(.5*i+.5)*p*Math.sin(g),y:this.from.y+(.5*i+.5)*p*Math.cos(g)}}if("curvedCCW"===n){o=this.to.x-this.from.x,r=this.from.y-this.to.y;var y=Math.sqrt(o*o+r*r),m=Math.PI,b=(Math.atan2(r,o)+(.5*-i+.5)*m)%(2*m);return{x:this.from.x+(.5*i+.5)*y*Math.sin(b),y:this.from.y+(.5*i+.5)*y*Math.cos(b)}}t=e=o<=r?i*r:i*o,this.from.x>this.to.x&&(t=-t),this.from.y>=this.to.y&&(e=-e);var w=this.from.x+t,k=this.from.y+e;return o<=r?w=this.from.x<=this.to.x?this.to.x<w?this.to.x:w:this.to.x>w?this.to.x:w:k=this.from.y>=this.to.y?this.to.y>k?this.to.y:k:this.to.y<k?this.to.y:k,{x:w,y:k}}},{key:"_findBorderPosition",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this._findBorderPositionBezier(t,e,i.via)}},{key:"_getDistanceToEdge",value:function(t,e,i,n,o,r){var s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:this._getViaCoordinates();return this._getDistanceToBezierEdge(t,e,i,n,o,r,s)}},{key:"getPoint",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._getViaCoordinates(),i=t;return{x:Math.pow(1-i,2)*this.fromPoint.x+2*i*(1-i)*e.x+Math.pow(i,2)*this.toPoint.x,y:Math.pow(1-i,2)*this.fromPoint.y+2*i*(1-i)*e.y+Math.pow(i,2)*this.toPoint.y}}}]),i}(MD);function ND(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var FD=function(t){l_(i,t);var e=ND(i);function i(t,n,o){return ch(this,i),e.call(this,t,n,o)}return pu(i,[{key:"_getDistanceToBezierEdge2",value:function(t,e,i,n,o,r,s,a){for(var h=1e9,l=t,d=e,c=[0,0,0,0],u=1;u<10;u++){var f=.1*u;c[0]=Math.pow(1-f,3),c[1]=3*f*Math.pow(1-f,2),c[2]=3*Math.pow(f,2)*(1-f),c[3]=Math.pow(f,3);var p=c[0]*t+c[1]*s.x+c[2]*a.x+c[3]*i,v=c[0]*e+c[1]*s.y+c[2]*a.y+c[3]*n;if(u>0){var g=this._getDistanceToLine(l,d,p,v,o,r);h=g<h?g:h}l=p,d=v}return h}}]),i}(MD);function zD(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var AD=function(t){l_(i,t);var e=zD(i);function i(t,n,o){return ch(this,i),e.call(this,t,n,o)}return pu(i,[{key:"_line",value:function(t,e,i){var n=i[0],o=i[1];this._bezierCurve(t,e,n,o)}},{key:"_getViaCoordinates",value:function(){var t,e,i,n,o=this.from.x-this.to.x,r=this.from.y-this.to.y,s=this.options.smooth.roundness;return(Math.abs(o)>Math.abs(r)||!0===this.options.smooth.forceDirection||"horizontal"===this.options.smooth.forceDirection)&&"vertical"!==this.options.smooth.forceDirection?(e=this.from.y,n=this.to.y,t=this.from.x-s*o,i=this.to.x+s*o):(e=this.from.y-s*r,n=this.to.y+s*r,t=this.from.x,i=this.to.x),[{x:t,y:e},{x:i,y:n}]}},{key:"getViaNode",value:function(){return this._getViaCoordinates()}},{key:"_findBorderPosition",value:function(t,e){return this._findBorderPositionBezier(t,e)}},{key:"_getDistanceToEdge",value:function(t,e,i,n,o,r){var s=Wu(arguments.length>6&&void 0!==arguments[6]?arguments[6]:this._getViaCoordinates(),2),a=s[0],h=s[1];return this._getDistanceToBezierEdge2(t,e,i,n,o,r,a,h)}},{key:"getPoint",value:function(t){var e=Wu(arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._getViaCoordinates(),2),i=e[0],n=e[1],o=t,r=[Math.pow(1-o,3),3*o*Math.pow(1-o,2),3*Math.pow(o,2)*(1-o),Math.pow(o,3)];return{x:r[0]*this.fromPoint.x+r[1]*i.x+r[2]*n.x+r[3]*this.toPoint.x,y:r[0]*this.fromPoint.y+r[1]*i.y+r[2]*n.y+r[3]*this.toPoint.y}}}]),i}(FD);function jD(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var RD=function(t){l_(i,t);var e=jD(i);function i(t,n,o){return ch(this,i),e.call(this,t,n,o)}return pu(i,[{key:"_line",value:function(t,e){t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),t.lineTo(this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"getViaNode",value:function(){}},{key:"getPoint",value:function(t){return{x:(1-t)*this.fromPoint.x+t*this.toPoint.x,y:(1-t)*this.fromPoint.y+t*this.toPoint.y}}},{key:"_findBorderPosition",value:function(t,e){var i=this.to,n=this.from;t.id===this.from.id&&(i=this.from,n=this.to);var o=Math.atan2(i.y-n.y,i.x-n.x),r=i.x-n.x,s=i.y-n.y,a=Math.sqrt(r*r+s*s),h=(a-t.distanceToBorder(e,o))/a;return{x:(1-h)*n.x+h*i.x,y:(1-h)*n.y+h*i.y,t:0}}},{key:"_getDistanceToEdge",value:function(t,e,i,n,o,r){return this._getDistanceToLine(t,e,i,n,o,r)}}]),i}(OD),LD=function(){function t(e,i,n,o,r){if(ch(this,t),void 0===i)throw new Error("No body provided");this.options=vb(o),this.globalOptions=o,this.defaultOptions=r,this.body=i,this.imagelist=n,this.id=void 0,this.fromId=void 0,this.toId=void 0,this.selected=!1,this.hover=!1,this.labelDirty=!0,this.baseWidth=this.options.width,this.baseFontSize=this.options.font.size,this.from=void 0,this.to=void 0,this.edgeType=void 0,this.connected=!1,this.labelModule=new eP(this.body,this.options,!0),this.setOptions(e)}return pu(t,[{key:"setOptions",value:function(e){if(e){var i=void 0!==e.physics&&this.options.physics!==e.physics||void 0!==e.hidden&&(this.options.hidden||!1)!==(e.hidden||!1)||void 0!==e.from&&this.options.from!==e.from||void 0!==e.to&&this.options.to!==e.to;t.parseOptions(this.options,e,!0,this.globalOptions),void 0!==e.id&&(this.id=e.id),void 0!==e.from&&(this.fromId=e.from),void 0!==e.to&&(this.toId=e.to),void 0!==e.title&&(this.title=e.title),void 0!==e.value&&(e.value=RM(e.value));var n=[e,this.options,this.defaultOptions];return this.chooser=YM("edge",n),this.updateLabelModule(e),i=this.updateEdgeType()||i,this._setInteractionWidths(),this.connect(),i}}},{key:"getFormattingValues",value:function(){var t=!0===this.options.arrows.to||!0===this.options.arrows.to.enabled,e=!0===this.options.arrows.from||!0===this.options.arrows.from.enabled,i=!0===this.options.arrows.middle||!0===this.options.arrows.middle.enabled,n=this.options.color.inherit,o={toArrow:t,toArrowScale:this.options.arrows.to.scaleFactor,toArrowType:this.options.arrows.to.type,toArrowSrc:this.options.arrows.to.src,toArrowImageWidth:this.options.arrows.to.imageWidth,toArrowImageHeight:this.options.arrows.to.imageHeight,middleArrow:i,middleArrowScale:this.options.arrows.middle.scaleFactor,middleArrowType:this.options.arrows.middle.type,middleArrowSrc:this.options.arrows.middle.src,middleArrowImageWidth:this.options.arrows.middle.imageWidth,middleArrowImageHeight:this.options.arrows.middle.imageHeight,fromArrow:e,fromArrowScale:this.options.arrows.from.scaleFactor,fromArrowType:this.options.arrows.from.type,fromArrowSrc:this.options.arrows.from.src,fromArrowImageWidth:this.options.arrows.from.imageWidth,fromArrowImageHeight:this.options.arrows.from.imageHeight,arrowStrikethrough:this.options.arrowStrikethrough,color:n?void 0:this.options.color.color,inheritsColor:n,opacity:this.options.color.opacity,hidden:this.options.hidden,length:this.options.length,shadow:this.options.shadow.enabled,shadowColor:this.options.shadow.color,shadowSize:this.options.shadow.size,shadowX:this.options.shadow.x,shadowY:this.options.shadow.y,dashes:this.options.dashes,width:this.options.width,background:this.options.background.enabled,backgroundColor:this.options.background.color,backgroundSize:this.options.background.size,backgroundDashes:this.options.background.dashes};if(this.selected||this.hover)if(!0===this.chooser){if(this.selected){var r=this.options.selectionWidth;"function"==typeof r?o.width=r(o.width):"number"==typeof r&&(o.width+=r),o.width=Math.max(o.width,.3/this.body.view.scale),o.color=this.options.color.highlight,o.shadow=this.options.shadow.enabled}else if(this.hover){var s=this.options.hoverWidth;"function"==typeof s?o.width=s(o.width):"number"==typeof s&&(o.width+=s),o.width=Math.max(o.width,.3/this.body.view.scale),o.color=this.options.color.hover,o.shadow=this.options.shadow.enabled}}else"function"==typeof this.chooser&&(this.chooser(o,this.options.id,this.selected,this.hover),void 0!==o.color&&(o.inheritsColor=!1),!1===o.shadow&&(o.shadowColor===this.options.shadow.color&&o.shadowSize===this.options.shadow.size&&o.shadowX===this.options.shadow.x&&o.shadowY===this.options.shadow.y||(o.shadow=!0)));else o.shadow=this.options.shadow.enabled,o.width=Math.max(o.width,.3/this.body.view.scale);return o}},{key:"updateLabelModule",value:function(t){var e=[t,this.options,this.globalOptions,this.defaultOptions];this.labelModule.update(this.options,e),void 0!==this.labelModule.baseSize&&(this.baseFontSize=this.labelModule.baseSize)}},{key:"updateEdgeType",value:function(){var t=this.options.smooth,e=!1,i=!0;return void 0!==this.edgeType&&((this.edgeType instanceof DD&&!0===t.enabled&&"dynamic"===t.type||this.edgeType instanceof AD&&!0===t.enabled&&"cubicBezier"===t.type||this.edgeType instanceof BD&&!0===t.enabled&&"dynamic"!==t.type&&"cubicBezier"!==t.type||this.edgeType instanceof RD&&!1===t.type.enabled)&&(i=!1),!0===i&&(e=this.cleanup())),!0===i?!0===t.enabled?"dynamic"===t.type?(e=!0,this.edgeType=new DD(this.options,this.body,this.labelModule)):"cubicBezier"===t.type?this.edgeType=new AD(this.options,this.body,this.labelModule):this.edgeType=new BD(this.options,this.body,this.labelModule):this.edgeType=new RD(this.options,this.body,this.labelModule):this.edgeType.setOptions(this.options),e}},{key:"connect",value:function(){this.disconnect(),this.from=this.body.nodes[this.fromId]||void 0,this.to=this.body.nodes[this.toId]||void 0,this.connected=void 0!==this.from&&void 0!==this.to,!0===this.connected?(this.from.attachEdge(this),this.to.attachEdge(this)):(this.from&&this.from.detachEdge(this),this.to&&this.to.detachEdge(this)),this.edgeType.connect()}},{key:"disconnect",value:function(){this.from&&(this.from.detachEdge(this),this.from=void 0),this.to&&(this.to.detachEdge(this),this.to=void 0),this.connected=!1}},{key:"getTitle",value:function(){return this.title}},{key:"isSelected",value:function(){return this.selected}},{key:"getValue",value:function(){return this.options.value}},{key:"setValueRange",value:function(t,e,i){if(void 0!==this.options.value){var n=this.options.scaling.customScalingFunction(t,e,i,this.options.value),o=this.options.scaling.max-this.options.scaling.min;if(!0===this.options.scaling.label.enabled){var r=this.options.scaling.label.max-this.options.scaling.label.min;this.options.font.size=this.options.scaling.label.min+n*r}this.options.width=this.options.scaling.min+n*o}else this.options.width=this.baseWidth,this.options.font.size=this.baseFontSize;this._setInteractionWidths(),this.updateLabelModule()}},{key:"_setInteractionWidths",value:function(){"function"==typeof this.options.hoverWidth?this.edgeType.hoverWidth=this.options.hoverWidth(this.options.width):this.edgeType.hoverWidth=this.options.hoverWidth+this.options.width,"function"==typeof this.options.selectionWidth?this.edgeType.selectionWidth=this.options.selectionWidth(this.options.width):this.edgeType.selectionWidth=this.options.selectionWidth+this.options.width}},{key:"draw",value:function(t){var e=this.getFormattingValues();if(!e.hidden){var i=this.edgeType.getViaNode();this.edgeType.drawLine(t,e,this.selected,this.hover,i),this.drawLabel(t,i)}}},{key:"drawArrows",value:function(t){var e=this.getFormattingValues();if(!e.hidden){var i=this.edgeType.getViaNode(),n={};this.edgeType.fromPoint=this.edgeType.from,this.edgeType.toPoint=this.edgeType.to,e.fromArrow&&(n.from=this.edgeType.getArrowData(t,"from",i,this.selected,this.hover,e),!1===e.arrowStrikethrough&&(this.edgeType.fromPoint=n.from.core),e.fromArrowSrc&&(n.from.image=this.imagelist.load(e.fromArrowSrc)),e.fromArrowImageWidth&&(n.from.imageWidth=e.fromArrowImageWidth),e.fromArrowImageHeight&&(n.from.imageHeight=e.fromArrowImageHeight)),e.toArrow&&(n.to=this.edgeType.getArrowData(t,"to",i,this.selected,this.hover,e),!1===e.arrowStrikethrough&&(this.edgeType.toPoint=n.to.core),e.toArrowSrc&&(n.to.image=this.imagelist.load(e.toArrowSrc)),e.toArrowImageWidth&&(n.to.imageWidth=e.toArrowImageWidth),e.toArrowImageHeight&&(n.to.imageHeight=e.toArrowImageHeight)),e.middleArrow&&(n.middle=this.edgeType.getArrowData(t,"middle",i,this.selected,this.hover,e),e.middleArrowSrc&&(n.middle.image=this.imagelist.load(e.middleArrowSrc)),e.middleArrowImageWidth&&(n.middle.imageWidth=e.middleArrowImageWidth),e.middleArrowImageHeight&&(n.middle.imageHeight=e.middleArrowImageHeight)),e.fromArrow&&this.edgeType.drawArrowHead(t,e,this.selected,this.hover,n.from),e.middleArrow&&this.edgeType.drawArrowHead(t,e,this.selected,this.hover,n.middle),e.toArrow&&this.edgeType.drawArrowHead(t,e,this.selected,this.hover,n.to)}}},{key:"drawLabel",value:function(t,e){if(void 0!==this.options.label){var i,n=this.from,o=this.to;if(this.labelModule.differentState(this.selected,this.hover)&&this.labelModule.getTextSize(t,this.selected,this.hover),n.id!=o.id){this.labelModule.pointToSelf=!1,i=this.edgeType.getPoint(.5,e),t.save();var r=this._getRotation(t);0!=r.angle&&(t.translate(r.x,r.y),t.rotate(r.angle)),this.labelModule.draw(t,i.x,i.y,this.selected,this.hover),t.restore()}else{this.labelModule.pointToSelf=!0;var s=KM(t,this.options.selfReference.angle,this.options.selfReference.size,n);i=this._pointOnCircle(s.x,s.y,this.options.selfReference.size,this.options.selfReference.angle),this.labelModule.draw(t,i.x,i.y,this.selected,this.hover)}}}},{key:"getItemsOnPoint",value:function(t){var e=[];if(this.labelModule.visible()){var i=this._getRotation();XM(this.labelModule.getSize(),t,i)&&e.push({edgeId:this.id,labelId:0})}var n={left:t.x,top:t.y};return this.isOverlappingWith(n)&&e.push({edgeId:this.id}),e}},{key:"isOverlappingWith",value:function(t){if(this.connected){var e=this.from.x,i=this.from.y,n=this.to.x,o=this.to.y,r=t.left,s=t.top;return this.edgeType.getDistanceToEdge(e,i,n,o,r,s)<10}return!1}},{key:"_getRotation",value:function(t){var e=this.edgeType.getViaNode(),i=this.edgeType.getPoint(.5,e);void 0!==t&&this.labelModule.calculateLabelSize(t,this.selected,this.hover,i.x,i.y);var n={x:i.x,y:this.labelModule.size.yLine,angle:0};if(!this.labelModule.visible())return n;if("horizontal"===this.options.font.align)return n;var o=this.from.y-this.to.y,r=this.from.x-this.to.x,s=Math.atan2(o,r);return(s<-1&&r<0||s>0&&r<0)&&(s+=Math.PI),n.angle=s,n}},{key:"_pointOnCircle",value:function(t,e,i,n){return{x:t+i*Math.cos(n),y:e-i*Math.sin(n)}}},{key:"select",value:function(){this.selected=!0}},{key:"unselect",value:function(){this.selected=!1}},{key:"cleanup",value:function(){return this.edgeType.cleanup()}},{key:"remove",value:function(){this.cleanup(),this.disconnect(),delete this.body.edges[this.id]}},{key:"endPointsValid",value:function(){return void 0!==this.body.nodes[this.fromId]&&void 0!==this.body.nodes[this.toId]}}],[{key:"parseOptions",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=arguments.length>4&&void 0!==arguments[4]&&arguments[4];if(Um(["endPointOffset","arrowStrikethrough","id","from","hidden","hoverWidth","labelHighlightBold","length","line","opacity","physics","scaling","selectionWidth","selfReferenceSize","selfReference","to","title","value","width","font","chosen","widthConstraint"],t,e,i),void 0!==e.endPointOffset&&void 0!==e.endPointOffset.from&&(Gk(e.endPointOffset.from)?t.endPointOffset.from=e.endPointOffset.from:(t.endPointOffset.from=void 0!==n.endPointOffset.from?n.endPointOffset.from:0,console.error("endPointOffset.from is not a valid number"))),void 0!==e.endPointOffset&&void 0!==e.endPointOffset.to&&(Gk(e.endPointOffset.to)?t.endPointOffset.to=e.endPointOffset.to:(t.endPointOffset.to=void 0!==n.endPointOffset.to?n.endPointOffset.to:0,console.error("endPointOffset.to is not a valid number"))),GM(e.label)?t.label=e.label:GM(t.label)||(t.label=void 0),gb(t,e,"smooth",n),gb(t,e,"shadow",n),gb(t,e,"background",n),void 0!==e.dashes&&null!==e.dashes?t.dashes=e.dashes:!0===i&&null===e.dashes&&(t.dashes=Uv(n.dashes)),void 0!==e.scaling&&null!==e.scaling?(void 0!==e.scaling.min&&(t.scaling.min=e.scaling.min),void 0!==e.scaling.max&&(t.scaling.max=e.scaling.max),gb(t.scaling,e.scaling,"label",n.scaling)):!0===i&&null===e.scaling&&(t.scaling=Uv(n.scaling)),void 0!==e.arrows&&null!==e.arrows)if("string"==typeof e.arrows){var r=e.arrows.toLowerCase();t.arrows.to.enabled=-1!=Lv(r).call(r,"to"),t.arrows.middle.enabled=-1!=Lv(r).call(r,"middle"),t.arrows.from.enabled=-1!=Lv(r).call(r,"from")}else{if("object"!==du(e.arrows))throw new Error("The arrow newOptions can only be an object or a string. Refer to the documentation. You used:"+Kv(e.arrows));gb(t.arrows,e.arrows,"to",n.arrows),gb(t.arrows,e.arrows,"middle",n.arrows),gb(t.arrows,e.arrows,"from",n.arrows)}else!0===i&&null===e.arrows&&(t.arrows=Uv(n.arrows));if(void 0!==e.color&&null!==e.color){var s=Lm(e.color)?{color:e.color,highlight:e.color,hover:e.color,inherit:!1,opacity:1}:e.color,a=t.color;if(o)Xm(a,n.color,!1,i);else for(var h in a)Object.prototype.hasOwnProperty.call(a,h)&&delete a[h];if(Lm(a))a.color=a,a.highlight=a,a.hover=a,a.inherit=!1,void 0===s.opacity&&(a.opacity=1);else{var l=!1;void 0!==s.color&&(a.color=s.color,l=!0),void 0!==s.highlight&&(a.highlight=s.highlight,l=!0),void 0!==s.hover&&(a.hover=s.hover,l=!0),void 0!==s.inherit&&(a.inherit=s.inherit),void 0!==s.opacity&&(a.opacity=Math.min(1,Math.max(0,s.opacity))),!0===l?a.inherit=!1:void 0===a.inherit&&(a.inherit="from")}}else!0===i&&null===e.color&&(t.color=vb(n.color));!0===i&&null===e.font&&(t.font=vb(n.font)),Object.prototype.hasOwnProperty.call(e,"selfReferenceSize")&&(console.warn("The selfReferenceSize property has been deprecated. Please use selfReference property instead. The selfReference can be set like thise selfReference:{size:30, angle:Math.PI / 4}"),t.selfReference.size=e.selfReferenceSize)}}]),t}(),HD=function(){function t(e,i,n){var o,r=this;ch(this,t),this.body=e,this.images=i,this.groups=n,this.body.functions.createEdge=Ln(o=this.create).call(o,this),this.edgesListeners={add:function(t,e){r.add(e.items)},update:function(t,e){r.update(e.items)},remove:function(t,e){r.remove(e.items)}},this.options={},this.defaultOptions={arrows:{to:{enabled:!1,scaleFactor:1,type:"arrow"},middle:{enabled:!1,scaleFactor:1,type:"arrow"},from:{enabled:!1,scaleFactor:1,type:"arrow"}},endPointOffset:{from:0,to:0},arrowStrikethrough:!0,color:{color:"#848484",highlight:"#848484",hover:"#848484",inherit:"from",opacity:1},dashes:!1,font:{color:"#343434",size:14,face:"arial",background:"none",strokeWidth:2,strokeColor:"#ffffff",align:"horizontal",multi:!1,vadjust:0,bold:{mod:"bold"},boldital:{mod:"bold italic"},ital:{mod:"italic"},mono:{mod:"",size:15,face:"courier new",vadjust:2}},hidden:!1,hoverWidth:1.5,label:void 0,labelHighlightBold:!0,length:void 0,physics:!0,scaling:{min:1,max:15,label:{enabled:!0,min:14,max:30,maxVisible:30,drawThreshold:5},customScalingFunction:function(t,e,i,n){if(e===t)return.5;var o=1/(e-t);return Math.max(0,(n-t)*o)}},selectionWidth:1.5,selfReference:{size:20,angle:Math.PI/4,renderBehindTheNode:!0},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:10,x:5,y:5},background:{enabled:!1,color:"rgba(111,111,111,1)",size:10,dashes:!1},smooth:{enabled:!0,type:"dynamic",forceDirection:"none",roundness:.5},title:void 0,width:1,value:void 0},Xm(this.options,this.defaultOptions),this.bindEventListeners()}return pu(t,[{key:"bindEventListeners",value:function(){var t,e,i=this;this.body.emitter.on("_forceDisableDynamicCurves",(function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];"dynamic"===t&&(t="continuous");var n=!1;for(var o in i.body.edges)if(Object.prototype.hasOwnProperty.call(i.body.edges,o)){var r=i.body.edges[o],s=i.body.data.edges.get(o);if(null!=s){var a=s.smooth;void 0!==a&&!0===a.enabled&&"dynamic"===a.type&&(void 0===t?r.setOptions({smooth:!1}):r.setOptions({smooth:{type:t}}),n=!0)}}!0===e&&!0===n&&i.body.emitter.emit("_dataChanged")})),this.body.emitter.on("_dataUpdated",(function(){i.reconnectEdges()})),this.body.emitter.on("refreshEdges",Ln(t=this.refresh).call(t,this)),this.body.emitter.on("refresh",Ln(e=this.refresh).call(e,this)),this.body.emitter.on("destroy",(function(){Qm(i.edgesListeners,(function(t,e){i.body.data.edges&&i.body.data.edges.off(e,t)})),delete i.body.functions.createEdge,delete i.edgesListeners.add,delete i.edgesListeners.update,delete i.edgesListeners.remove,delete i.edgesListeners}))}},{key:"setOptions",value:function(t){if(void 0!==t){LD.parseOptions(this.options,t,!0,this.defaultOptions,!0);var e=!1;if(void 0!==t.smooth)for(var i in this.body.edges)Object.prototype.hasOwnProperty.call(this.body.edges,i)&&(e=this.body.edges[i].updateEdgeType()||e);if(void 0!==t.font)for(var n in this.body.edges)Object.prototype.hasOwnProperty.call(this.body.edges,n)&&this.body.edges[n].updateLabelModule();void 0===t.hidden&&void 0===t.physics&&!0!==e||this.body.emitter.emit("_dataChanged")}}},{key:"setData",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=this.body.data.edges;if(SM("id",t))this.body.data.edges=t;else if(sf(t))this.body.data.edges=new EM,this.body.data.edges.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.body.data.edges=new EM}if(n&&Qm(this.edgesListeners,(function(t,e){n.off(e,t)})),this.body.edges={},this.body.data.edges){Qm(this.edgesListeners,(function(t,i){e.body.data.edges.on(i,t)}));var o=this.body.data.edges.getIds();this.add(o,!0)}this.body.emitter.emit("_adjustEdgesForHierarchicalLayout"),!1===i&&this.body.emitter.emit("_dataChanged")}},{key:"add",value:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.body.edges,n=this.body.data.edges,o=0;o<t.length;o++){var r=t[o],s=i[r];s&&s.disconnect();var a=n.get(r,{showInternalIds:!0});i[r]=this.create(a)}this.body.emitter.emit("_adjustEdgesForHierarchicalLayout"),!1===e&&this.body.emitter.emit("_dataChanged")}},{key:"update",value:function(t){for(var e=this.body.edges,i=this.body.data.edges,n=!1,o=0;o<t.length;o++){var r=t[o],s=i.get(r),a=e[r];void 0!==a?(a.disconnect(),n=a.setOptions(s)||n,a.connect()):(this.body.edges[r]=this.create(s),n=!0)}!0===n?(this.body.emitter.emit("_adjustEdgesForHierarchicalLayout"),this.body.emitter.emit("_dataChanged")):this.body.emitter.emit("_dataUpdated")}},{key:"remove",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(0!==t.length){var i=this.body.edges;Qm(t,(function(t){var e=i[t];void 0!==e&&e.remove()})),e&&this.body.emitter.emit("_dataChanged")}}},{key:"refresh",value:function(){var t=this;Qm(this.body.edges,(function(e,i){var n=t.body.data.edges.get(i);void 0!==n&&e.setOptions(n)}))}},{key:"create",value:function(t){return new LD(t,this.body,this.images,this.options,this.defaultOptions)}},{key:"reconnectEdges",value:function(){var t,e=this.body.nodes,i=this.body.edges;for(t in e)Object.prototype.hasOwnProperty.call(e,t)&&(e[t].edges=[]);for(t in i)if(Object.prototype.hasOwnProperty.call(i,t)){var n=i[t];n.from=null,n.to=null,n.connect()}}},{key:"getConnectedNodes",value:function(t){var e=[];if(void 0!==this.body.edges[t]){var i=this.body.edges[t];void 0!==i.fromId&&e.push(i.fromId),void 0!==i.toId&&e.push(i.toId)}return e}},{key:"_updateState",value:function(){this._addMissingEdges(),this._removeInvalidEdges()}},{key:"_removeInvalidEdges",value:function(){var t=this,e=[];Qm(this.body.edges,(function(i,n){var o=t.body.nodes[i.toId],r=t.body.nodes[i.fromId];void 0!==o&&!0===o.isCluster||void 0!==r&&!0===r.isCluster||void 0!==o&&void 0!==r||e.push(n)})),this.remove(e,!1)}},{key:"_addMissingEdges",value:function(){var t=this.body.data.edges;if(null!=t){var e=this.body.edges,i=[];Bf(t).call(t,(function(t,n){void 0===e[n]&&i.push(n)})),this.add(i,!0)}}}]),t}(),WD=function(){function t(e,i,n){ch(this,t),this.body=e,this.physicsBody=i,this.barnesHutTree,this.setOptions(n),this._rng=Pm("BARNES HUT SOLVER")}return pu(t,[{key:"setOptions",value:function(t){this.options=t,this.thetaInversed=1/this.options.theta,this.overlapAvoidanceFactor=1-Math.max(0,Math.min(1,this.options.avoidOverlap))}},{key:"solve",value:function(){if(0!==this.options.gravitationalConstant&&this.physicsBody.physicsNodeIndices.length>0){var t,e=this.body.nodes,i=this.physicsBody.physicsNodeIndices,n=i.length,o=this._formBarnesHutTree(e,i);this.barnesHutTree=o;for(var r=0;r<n;r++)(t=e[i[r]]).options.mass>0&&this._getForceContributions(o.root,t)}}},{key:"_getForceContributions",value:function(t,e){this._getForceContribution(t.children.NW,e),this._getForceContribution(t.children.NE,e),this._getForceContribution(t.children.SW,e),this._getForceContribution(t.children.SE,e)}},{key:"_getForceContribution",value:function(t,e){if(t.childrenCount>0){var i=t.centerOfMass.x-e.x,n=t.centerOfMass.y-e.y,o=Math.sqrt(i*i+n*n);o*t.calcSize>this.thetaInversed?this._calculateForces(o,i,n,e,t):4===t.childrenCount?this._getForceContributions(t,e):t.children.data.id!=e.id&&this._calculateForces(o,i,n,e,t)}}},{key:"_calculateForces",value:function(t,e,i,n,o){0===t&&(e=t=.1),this.overlapAvoidanceFactor<1&&n.shape.radius&&(t=Math.max(.1+this.overlapAvoidanceFactor*n.shape.radius,t-n.shape.radius));var r=this.options.gravitationalConstant*o.mass*n.options.mass/Math.pow(t,3),s=e*r,a=i*r;this.physicsBody.forces[n.id].x+=s,this.physicsBody.forces[n.id].y+=a}},{key:"_formBarnesHutTree",value:function(t,e){for(var i,n=e.length,o=t[e[0]].x,r=t[e[0]].y,s=t[e[0]].x,a=t[e[0]].y,h=1;h<n;h++){var l=t[e[h]],d=l.x,c=l.y;l.options.mass>0&&(d<o&&(o=d),d>s&&(s=d),c<r&&(r=c),c>a&&(a=c))}var u=Math.abs(s-o)-Math.abs(a-r);u>0?(r-=.5*u,a+=.5*u):(o+=.5*u,s-=.5*u);var f=Math.max(1e-5,Math.abs(s-o)),p=.5*f,v=.5*(o+s),g=.5*(r+a),y={root:{centerOfMass:{x:0,y:0},mass:0,range:{minX:v-p,maxX:v+p,minY:g-p,maxY:g+p},size:f,calcSize:1/f,children:{data:null},maxWidth:0,level:0,childrenCount:4}};this._splitBranch(y.root);for(var m=0;m<n;m++)(i=t[e[m]]).options.mass>0&&this._placeInTree(y.root,i);return y}},{key:"_updateBranchMass",value:function(t,e){var i=t.centerOfMass,n=t.mass+e.options.mass,o=1/n;i.x=i.x*t.mass+e.x*e.options.mass,i.x*=o,i.y=i.y*t.mass+e.y*e.options.mass,i.y*=o,t.mass=n;var r=Math.max(Math.max(e.height,e.radius),e.width);t.maxWidth=t.maxWidth<r?r:t.maxWidth}},{key:"_placeInTree",value:function(t,e,i){1==i&&void 0!==i||this._updateBranchMass(t,e);var n,o=t.children.NW.range;n=o.maxX>e.x?o.maxY>e.y?"NW":"SW":o.maxY>e.y?"NE":"SE",this._placeInRegion(t,e,n)}},{key:"_placeInRegion",value:function(t,e,i){var n=t.children[i];switch(n.childrenCount){case 0:n.children.data=e,n.childrenCount=1,this._updateBranchMass(n,e);break;case 1:n.children.data.x===e.x&&n.children.data.y===e.y?(e.x+=this._rng(),e.y+=this._rng()):(this._splitBranch(n),this._placeInTree(n,e));break;case 4:this._placeInTree(n,e)}}},{key:"_splitBranch",value:function(t){var e=null;1===t.childrenCount&&(e=t.children.data,t.mass=0,t.centerOfMass.x=0,t.centerOfMass.y=0),t.childrenCount=4,t.children.data=null,this._insertRegion(t,"NW"),this._insertRegion(t,"NE"),this._insertRegion(t,"SW"),this._insertRegion(t,"SE"),null!=e&&this._placeInTree(t,e)}},{key:"_insertRegion",value:function(t,e){var i,n,o,r,s=.5*t.size;switch(e){case"NW":i=t.range.minX,n=t.range.minX+s,o=t.range.minY,r=t.range.minY+s;break;case"NE":i=t.range.minX+s,n=t.range.maxX,o=t.range.minY,r=t.range.minY+s;break;case"SW":i=t.range.minX,n=t.range.minX+s,o=t.range.minY+s,r=t.range.maxY;break;case"SE":i=t.range.minX+s,n=t.range.maxX,o=t.range.minY+s,r=t.range.maxY}t.children[e]={centerOfMass:{x:0,y:0},mass:0,range:{minX:i,maxX:n,minY:o,maxY:r},size:.5*t.size,calcSize:2*t.calcSize,children:{data:null},maxWidth:0,level:t.level+1,childrenCount:0}}},{key:"_debug",value:function(t,e){void 0!==this.barnesHutTree&&(t.lineWidth=1,this._drawBranch(this.barnesHutTree.root,t,e))}},{key:"_drawBranch",value:function(t,e,i){void 0===i&&(i="#FF0000"),4===t.childrenCount&&(this._drawBranch(t.children.NW,e),this._drawBranch(t.children.NE,e),this._drawBranch(t.children.SE,e),this._drawBranch(t.children.SW,e)),e.strokeStyle=i,e.beginPath(),e.moveTo(t.range.minX,t.range.minY),e.lineTo(t.range.maxX,t.range.minY),e.stroke(),e.beginPath(),e.moveTo(t.range.maxX,t.range.minY),e.lineTo(t.range.maxX,t.range.maxY),e.stroke(),e.beginPath(),e.moveTo(t.range.maxX,t.range.maxY),e.lineTo(t.range.minX,t.range.maxY),e.stroke(),e.beginPath(),e.moveTo(t.range.minX,t.range.maxY),e.lineTo(t.range.minX,t.range.minY),e.stroke()}}]),t}(),qD=function(){function t(e,i,n){ch(this,t),this._rng=Pm("REPULSION SOLVER"),this.body=e,this.physicsBody=i,this.setOptions(n)}return pu(t,[{key:"setOptions",value:function(t){this.options=t}},{key:"solve",value:function(){for(var t,e,i,n,o,r,s,a,h=this.body.nodes,l=this.physicsBody.physicsNodeIndices,d=this.physicsBody.forces,c=this.options.nodeDistance,u=-2/3/c,f=0;f<l.length-1;f++){s=h[l[f]];for(var p=f+1;p<l.length;p++)t=(a=h[l[p]]).x-s.x,e=a.y-s.y,0===(i=Math.sqrt(t*t+e*e))&&(t=i=.1*this._rng()),i<2*c&&(r=i<.5*c?1:u*i+1.3333333333333333,n=t*(r/=i),o=e*r,d[s.id].x-=n,d[s.id].y-=o,d[a.id].x+=n,d[a.id].y+=o)}}}]),t}(),VD=function(){function t(e,i,n){ch(this,t),this.body=e,this.physicsBody=i,this.setOptions(n)}return pu(t,[{key:"setOptions",value:function(t){this.options=t,this.overlapAvoidanceFactor=Math.max(0,Math.min(1,this.options.avoidOverlap||0))}},{key:"solve",value:function(){for(var t=this.body.nodes,e=this.physicsBody.physicsNodeIndices,i=this.physicsBody.forces,n=this.options.nodeDistance,o=0;o<e.length-1;o++)for(var r=t[e[o]],s=o+1;s<e.length;s++){var a=t[e[s]];if(r.level===a.level){var h=n+this.overlapAvoidanceFactor*((r.shape.radius||0)/2+(a.shape.radius||0)/2),l=a.x-r.x,d=a.y-r.y,c=Math.sqrt(l*l+d*d),u=void 0;u=c<h?-Math.pow(.05*c,2)+Math.pow(.05*h,2):0,0!==c&&(u/=c);var f=l*u,p=d*u;i[r.id].x-=f,i[r.id].y-=p,i[a.id].x+=f,i[a.id].y+=p}}}}]),t}(),UD=function(){function t(e,i,n){ch(this,t),this.body=e,this.physicsBody=i,this.setOptions(n)}return pu(t,[{key:"setOptions",value:function(t){this.options=t}},{key:"solve",value:function(){for(var t,e,i,n,o,r=this.physicsBody.physicsEdgeIndices,s=this.body.edges,a=0;a<r.length;a++)!0===(e=s[r[a]]).connected&&e.toId!==e.fromId&&void 0!==this.body.nodes[e.toId]&&void 0!==this.body.nodes[e.fromId]&&(void 0!==e.edgeType.via?(t=void 0===e.options.length?this.options.springLength:e.options.length,i=e.to,n=e.edgeType.via,o=e.from,this._calculateSpringForce(i,n,.5*t),this._calculateSpringForce(n,o,.5*t)):(t=void 0===e.options.length?1.5*this.options.springLength:e.options.length,this._calculateSpringForce(e.from,e.to,t)))}},{key:"_calculateSpringForce",value:function(t,e,i){var n=t.x-e.x,o=t.y-e.y,r=Math.max(Math.sqrt(n*n+o*o),.01),s=this.options.springConstant*(i-r)/r,a=n*s,h=o*s;void 0!==this.physicsBody.forces[t.id]&&(this.physicsBody.forces[t.id].x+=a,this.physicsBody.forces[t.id].y+=h),void 0!==this.physicsBody.forces[e.id]&&(this.physicsBody.forces[e.id].x-=a,this.physicsBody.forces[e.id].y-=h)}}]),t}(),YD=function(){function t(e,i,n){ch(this,t),this.body=e,this.physicsBody=i,this.setOptions(n)}return pu(t,[{key:"setOptions",value:function(t){this.options=t}},{key:"solve",value:function(){for(var t,e,i,n,o,r,s,a,h,l,d=this.body.edges,c=.5,u=this.physicsBody.physicsEdgeIndices,f=this.physicsBody.physicsNodeIndices,p=this.physicsBody.forces,v=0;v<f.length;v++){var g=f[v];p[g].springFx=0,p[g].springFy=0}for(var y=0;y<u.length;y++)!0===(e=d[u[y]]).connected&&(t=void 0===e.options.length?this.options.springLength:e.options.length,i=e.from.x-e.to.x,n=e.from.y-e.to.y,a=0===(a=Math.sqrt(i*i+n*n))?.01:a,o=i*(s=this.options.springConstant*(t-a)/a),r=n*s,e.to.level!=e.from.level?(void 0!==p[e.toId]&&(p[e.toId].springFx-=o,p[e.toId].springFy-=r),void 0!==p[e.fromId]&&(p[e.fromId].springFx+=o,p[e.fromId].springFy+=r)):(void 0!==p[e.toId]&&(p[e.toId].x-=c*o,p[e.toId].y-=c*r),void 0!==p[e.fromId]&&(p[e.fromId].x+=c*o,p[e.fromId].y+=c*r)));s=1;for(var m=0;m<f.length;m++){var b=f[m];h=Math.min(s,Math.max(-s,p[b].springFx)),l=Math.min(s,Math.max(-s,p[b].springFy)),p[b].x+=h,p[b].y+=l}for(var w=0,k=0,_=0;_<f.length;_++){var x=f[_];w+=p[x].x,k+=p[x].y}for(var E=w/f.length,O=k/f.length,C=0;C<f.length;C++){var S=f[C];p[S].x-=E,p[S].y-=O}}}]),t}(),XD=function(){function t(e,i,n){ch(this,t),this.body=e,this.physicsBody=i,this.setOptions(n)}return pu(t,[{key:"setOptions",value:function(t){this.options=t}},{key:"solve",value:function(){for(var t,e,i,n,o=this.body.nodes,r=this.physicsBody.physicsNodeIndices,s=this.physicsBody.forces,a=0;a<r.length;a++){t=-(n=o[r[a]]).x,e=-n.y,i=Math.sqrt(t*t+e*e),this._calculateForces(i,t,e,s,n)}}},{key:"_calculateForces",value:function(t,e,i,n,o){var r=0===t?0:this.options.centralGravity/t;n[o.id].x=e*r,n[o.id].y=i*r}}]),t}();function GD(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var KD=function(t){l_(i,t);var e=GD(i);function i(t,n,o){var r;return ch(this,i),(r=e.call(this,t,n,o))._rng=Pm("FORCE ATLAS 2 BASED REPULSION SOLVER"),r}return pu(i,[{key:"_calculateForces",value:function(t,e,i,n,o){0===t&&(e=t=.1*this._rng()),this.overlapAvoidanceFactor<1&&n.shape.radius&&(t=Math.max(.1+this.overlapAvoidanceFactor*n.shape.radius,t-n.shape.radius));var r=n.edges.length+1,s=this.options.gravitationalConstant*o.mass*n.options.mass*r/Math.pow(t,2),a=e*s,h=i*s;this.physicsBody.forces[n.id].x+=a,this.physicsBody.forces[n.id].y+=h}}]),i}(WD);function $D(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var ZD=function(t){l_(i,t);var e=$D(i);function i(t,n,o){return ch(this,i),e.call(this,t,n,o)}return pu(i,[{key:"_calculateForces",value:function(t,e,i,n,o){if(t>0){var r=o.edges.length+1,s=this.options.centralGravity*r*o.options.mass;n[o.id].x=e*s,n[o.id].y=i*s}}}]),i}(XD),QD=function(){function t(e){ch(this,t),this.body=e,this.physicsBody={physicsNodeIndices:[],physicsEdgeIndices:[],forces:{},velocities:{}},this.physicsEnabled=!0,this.simulationInterval=1e3/60,this.requiresTimeout=!0,this.previousStates={},this.referenceState={},this.freezeCache={},this.renderTimer=void 0,this.adaptiveTimestep=!1,this.adaptiveTimestepEnabled=!1,this.adaptiveCounter=0,this.adaptiveInterval=3,this.stabilized=!1,this.startedStabilization=!1,this.stabilizationIterations=0,this.ready=!1,this.options={},this.defaultOptions={enabled:!0,barnesHut:{theta:.5,gravitationalConstant:-2e3,centralGravity:.3,springLength:95,springConstant:.04,damping:.09,avoidOverlap:0},forceAtlas2Based:{theta:.5,gravitationalConstant:-50,centralGravity:.01,springConstant:.08,springLength:100,damping:.4,avoidOverlap:0},repulsion:{centralGravity:.2,springLength:200,springConstant:.05,nodeDistance:100,damping:.09,avoidOverlap:0},hierarchicalRepulsion:{centralGravity:0,springLength:100,springConstant:.01,nodeDistance:120,damping:.09},maxVelocity:50,minVelocity:.75,solver:"barnesHut",stabilization:{enabled:!0,iterations:1e3,updateInterval:50,onlyDynamicEdges:!1,fit:!0},timestep:.5,adaptiveTimestep:!0,wind:{x:0,y:0}},mn(this.options,this.defaultOptions),this.timestep=.5,this.layoutFailed=!1,this.bindEventListeners()}return pu(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("initPhysics",(function(){t.initPhysics()})),this.body.emitter.on("_layoutFailed",(function(){t.layoutFailed=!0})),this.body.emitter.on("resetPhysics",(function(){t.stopSimulation(),t.ready=!1})),this.body.emitter.on("disablePhysics",(function(){t.physicsEnabled=!1,t.stopSimulation()})),this.body.emitter.on("restorePhysics",(function(){t.setOptions(t.options),!0===t.ready&&t.startSimulation()})),this.body.emitter.on("startSimulation",(function(){!0===t.ready&&t.startSimulation()})),this.body.emitter.on("stopSimulation",(function(){t.stopSimulation()})),this.body.emitter.on("destroy",(function(){t.stopSimulation(!1),t.body.emitter.off()})),this.body.emitter.on("_dataChanged",(function(){t.updatePhysicsData()}))}},{key:"setOptions",value:function(t){if(void 0!==t)if(!1===t)this.options.enabled=!1,this.physicsEnabled=!1,this.stopSimulation();else if(!0===t)this.options.enabled=!0,this.physicsEnabled=!0,this.startSimulation();else{this.physicsEnabled=!0,Ym(["stabilization"],this.options,t),gb(this.options,t,"stabilization"),void 0===t.enabled&&(this.options.enabled=!0),!1===this.options.enabled&&(this.physicsEnabled=!1,this.stopSimulation());var e=this.options.wind;e&&(("number"!=typeof e.x||Uk(e.x))&&(e.x=0),("number"!=typeof e.y||Uk(e.y))&&(e.y=0)),this.timestep=this.options.timestep}this.init()}},{key:"init",value:function(){var t;"forceAtlas2Based"===this.options.solver?(t=this.options.forceAtlas2Based,this.nodesSolver=new KD(this.body,this.physicsBody,t),this.edgesSolver=new UD(this.body,this.physicsBody,t),this.gravitySolver=new ZD(this.body,this.physicsBody,t)):"repulsion"===this.options.solver?(t=this.options.repulsion,this.nodesSolver=new qD(this.body,this.physicsBody,t),this.edgesSolver=new UD(this.body,this.physicsBody,t),this.gravitySolver=new XD(this.body,this.physicsBody,t)):"hierarchicalRepulsion"===this.options.solver?(t=this.options.hierarchicalRepulsion,this.nodesSolver=new VD(this.body,this.physicsBody,t),this.edgesSolver=new YD(this.body,this.physicsBody,t),this.gravitySolver=new XD(this.body,this.physicsBody,t)):(t=this.options.barnesHut,this.nodesSolver=new WD(this.body,this.physicsBody,t),this.edgesSolver=new UD(this.body,this.physicsBody,t),this.gravitySolver=new XD(this.body,this.physicsBody,t)),this.modelOptions=t}},{key:"initPhysics",value:function(){!0===this.physicsEnabled&&!0===this.options.enabled?!0===this.options.stabilization.enabled?this.stabilize():(this.stabilized=!1,this.ready=!0,this.body.emitter.emit("fit",{},this.layoutFailed),this.startSimulation()):(this.ready=!0,this.body.emitter.emit("fit"))}},{key:"startSimulation",value:function(){var t;!0===this.physicsEnabled&&!0===this.options.enabled?(this.stabilized=!1,this.adaptiveTimestep=!1,this.body.emitter.emit("_resizeNodes"),void 0===this.viewFunction&&(this.viewFunction=Ln(t=this.simulationStep).call(t,this),this.body.emitter.on("initRedraw",this.viewFunction),this.body.emitter.emit("_startRendering"))):this.body.emitter.emit("_redraw")}},{key:"stopSimulation",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.stabilized=!0,!0===t&&this._emitStabilized(),void 0!==this.viewFunction&&(this.body.emitter.off("initRedraw",this.viewFunction),this.viewFunction=void 0,!0===t&&this.body.emitter.emit("_stopRendering"))}},{key:"simulationStep",value:function(){var t=wf();this.physicsTick(),(wf()-t<.4*this.simulationInterval||!0===this.runDoubleSpeed)&&!1===this.stabilized&&(this.physicsTick(),this.runDoubleSpeed=!0),!0===this.stabilized&&this.stopSimulation()}},{key:"_emitStabilized",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.stabilizationIterations;(this.stabilizationIterations>1||!0===this.startedStabilization)&&vg((function(){t.body.emitter.emit("stabilized",{iterations:e}),t.startedStabilization=!1,t.stabilizationIterations=0}),0)}},{key:"physicsStep",value:function(){this.gravitySolver.solve(),this.nodesSolver.solve(),this.edgesSolver.solve(),this.moveNodes()}},{key:"adjustTimeStep",value:function(){!0===this._evaluateStepQuality()?this.timestep=1.2*this.timestep:this.timestep/1.2<this.options.timestep?this.timestep=this.options.timestep:(this.adaptiveCounter=-1,this.timestep=Math.max(this.options.timestep,this.timestep/1.2))}},{key:"physicsTick",value:function(){if(this._startStabilizing(),!0!==this.stabilized){if(!0===this.adaptiveTimestep&&!0===this.adaptiveTimestepEnabled)this.adaptiveCounter%this.adaptiveInterval==0?(this.timestep=2*this.timestep,this.physicsStep(),this.revert(),this.timestep=.5*this.timestep,this.physicsStep(),this.physicsStep(),this.adjustTimeStep()):this.physicsStep(),this.adaptiveCounter+=1;else this.timestep=this.options.timestep,this.physicsStep();!0===this.stabilized&&this.revert(),this.stabilizationIterations++}}},{key:"updatePhysicsData",value:function(){this.physicsBody.forces={},this.physicsBody.physicsNodeIndices=[],this.physicsBody.physicsEdgeIndices=[];var t=this.body.nodes,e=this.body.edges;for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&!0===t[i].options.physics&&this.physicsBody.physicsNodeIndices.push(t[i].id);for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&!0===e[n].options.physics&&this.physicsBody.physicsEdgeIndices.push(e[n].id);for(var o=0;o<this.physicsBody.physicsNodeIndices.length;o++){var r=this.physicsBody.physicsNodeIndices[o];this.physicsBody.forces[r]={x:0,y:0},void 0===this.physicsBody.velocities[r]&&(this.physicsBody.velocities[r]={x:0,y:0})}for(var s in this.physicsBody.velocities)void 0===t[s]&&delete this.physicsBody.velocities[s]}},{key:"revert",value:function(){var t=gf(this.previousStates),e=this.body.nodes,i=this.physicsBody.velocities;this.referenceState={};for(var n=0;n<t.length;n++){var o=t[n];void 0!==e[o]?!0===e[o].options.physics&&(this.referenceState[o]={positions:{x:e[o].x,y:e[o].y}},i[o].x=this.previousStates[o].vx,i[o].y=this.previousStates[o].vy,e[o].x=this.previousStates[o].x,e[o].y=this.previousStates[o].y):delete this.previousStates[o]}}},{key:"_evaluateStepQuality",value:function(){var t,e,i=this.body.nodes,n=this.referenceState;for(var o in this.referenceState)if(Object.prototype.hasOwnProperty.call(this.referenceState,o)&&void 0!==i[o]&&(t=i[o].x-n[o].positions.x,e=i[o].y-n[o].positions.y,Math.sqrt(Math.pow(t,2)+Math.pow(e,2))>.3))return!1;return!0}},{key:"moveNodes",value:function(){for(var t=this.physicsBody.physicsNodeIndices,e=0,i=0,n=0;n<t.length;n++){var o=t[n],r=this._performStep(o);e=Math.max(e,r),i+=r}this.adaptiveTimestepEnabled=i/t.length<5,this.stabilized=e<this.options.minVelocity}},{key:"calculateComponentVelocity",value:function(t,e,i){t+=(e-this.modelOptions.damping*t)/i*this.timestep;var n=this.options.maxVelocity||1e9;return Math.abs(t)>n&&(t=t>0?n:-n),t}},{key:"_performStep",value:function(t){var e=this.body.nodes[t],i=this.physicsBody.forces[t];this.options.wind&&(i.x+=this.options.wind.x,i.y+=this.options.wind.y);var n=this.physicsBody.velocities[t];return this.previousStates[t]={x:e.x,y:e.y,vx:n.x,vy:n.y},!1===e.options.fixed.x?(n.x=this.calculateComponentVelocity(n.x,i.x,e.options.mass),e.x+=n.x*this.timestep):(i.x=0,n.x=0),!1===e.options.fixed.y?(n.y=this.calculateComponentVelocity(n.y,i.y,e.options.mass),e.y+=n.y*this.timestep):(i.y=0,n.y=0),Math.sqrt(Math.pow(n.x,2)+Math.pow(n.y,2))}},{key:"_freezeNodes",value:function(){var t=this.body.nodes;for(var e in t)if(Object.prototype.hasOwnProperty.call(t,e)&&t[e].x&&t[e].y){var i=t[e].options.fixed;this.freezeCache[e]={x:i.x,y:i.y},i.x=!0,i.y=!0}}},{key:"_restoreFrozenNodes",value:function(){var t=this.body.nodes;for(var e in t)Object.prototype.hasOwnProperty.call(t,e)&&void 0!==this.freezeCache[e]&&(t[e].options.fixed.x=this.freezeCache[e].x,t[e].options.fixed.y=this.freezeCache[e].y);this.freezeCache={}}},{key:"stabilize",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.options.stabilization.iterations;"number"!=typeof e&&(e=this.options.stabilization.iterations,console.error("The stabilize method needs a numeric amount of iterations. Switching to default: ",e)),0!==this.physicsBody.physicsNodeIndices.length?(this.adaptiveTimestep=this.options.adaptiveTimestep,this.body.emitter.emit("_resizeNodes"),this.stopSimulation(),this.stabilized=!1,this.body.emitter.emit("_blockRedraw"),this.targetIterations=e,!0===this.options.stabilization.onlyDynamicEdges&&this._freezeNodes(),this.stabilizationIterations=0,vg((function(){return t._stabilizationBatch()}),0)):this.ready=!0}},{key:"_startStabilizing",value:function(){return!0!==this.startedStabilization&&(this.body.emitter.emit("startStabilizing"),this.startedStabilization=!0,!0)}},{key:"_stabilizationBatch",value:function(){var t=this,e=function(){return!1===t.stabilized&&t.stabilizationIterations<t.targetIterations},i=function(){t.body.emitter.emit("stabilizationProgress",{iterations:t.stabilizationIterations,total:t.targetIterations})};this._startStabilizing()&&i();for(var n,o=0;e()&&o<this.options.stabilization.updateInterval;)this.physicsTick(),o++;(i(),e())?vg(Ln(n=this._stabilizationBatch).call(n,this),0):this._finalizeStabilization()}},{key:"_finalizeStabilization",value:function(){this.body.emitter.emit("_allowRedraw"),!0===this.options.stabilization.fit&&this.body.emitter.emit("fit"),!0===this.options.stabilization.onlyDynamicEdges&&this._restoreFrozenNodes(),this.body.emitter.emit("stabilizationIterationsDone"),this.body.emitter.emit("_requestRedraw"),!0===this.stabilized?this._emitStabilized():this.startSimulation(),this.ready=!0}},{key:"_drawForces",value:function(t){for(var e=0;e<this.physicsBody.physicsNodeIndices.length;e++){var i=this.physicsBody.physicsNodeIndices[e],n=this.body.nodes[i],o=this.physicsBody.forces[i],r=Math.sqrt(Math.pow(o.x,2)+Math.pow(o.x,2)),s=Math.min(Math.max(5,r),15),a=3*s,h=db((180-180*Math.min(1,Math.max(0,.03*r)))/360,1,1),l={x:n.x+20*o.x,y:n.y+20*o.y};t.lineWidth=s,t.strokeStyle=h,t.beginPath(),t.moveTo(n.x,n.y),t.lineTo(l.x,l.y),t.stroke();var d=Math.atan2(o.y,o.x);t.fillStyle=h,_D.draw(t,{type:"arrow",point:l,angle:d,length:a}),Cg(t).call(t)}}}]),t}(),JD=function(){function t(){ch(this,t)}return pu(t,null,[{key:"getRange",value:function(t){var e,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=1e9,o=-1e9,r=1e9,s=-1e9;if(i.length>0)for(var a=0;a<i.length;a++)r>(e=t[i[a]]).shape.boundingBox.left&&(r=e.shape.boundingBox.left),s<e.shape.boundingBox.right&&(s=e.shape.boundingBox.right),n>e.shape.boundingBox.top&&(n=e.shape.boundingBox.top),o<e.shape.boundingBox.bottom&&(o=e.shape.boundingBox.bottom);return 1e9===r&&-1e9===s&&1e9===n&&-1e9===o&&(n=0,o=0,r=0,s=0),{minX:r,maxX:s,minY:n,maxY:o}}},{key:"getRangeCore",value:function(t){var e,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=1e9,o=-1e9,r=1e9,s=-1e9;if(i.length>0)for(var a=0;a<i.length;a++)r>(e=t[i[a]]).x&&(r=e.x),s<e.x&&(s=e.x),n>e.y&&(n=e.y),o<e.y&&(o=e.y);return 1e9===r&&-1e9===s&&1e9===n&&-1e9===o&&(n=0,o=0,r=0,s=0),{minX:r,maxX:s,minY:n,maxY:o}}},{key:"findCenter",value:function(t){return{x:.5*(t.maxX+t.minX),y:.5*(t.maxY+t.minY)}}},{key:"cloneOptions",value:function(t,e){var i={};return void 0===e||"node"===e?(Xm(i,t.options,!0),i.x=t.x,i.y=t.y,i.amountOfConnections=t.edges.length):Xm(i,t.options,!0),i}}]),t}();function tI(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var eI=function(t){l_(i,t);var e=tI(i);function i(t,n,o,r,s,a){var h;return ch(this,i),(h=e.call(this,t,n,o,r,s,a)).isCluster=!0,h.containedNodes={},h.containedEdges={},h}return pu(i,[{key:"_openChildCluster",value:function(t){var e=this,i=this.body.nodes[t];if(void 0===this.containedNodes[t])throw new Error("node with id: "+t+" not in current cluster");if(!i.isCluster)throw new Error("node with id: "+t+" is not a cluster");delete this.containedNodes[t],Qm(i.edges,(function(t){delete e.containedEdges[t.id]})),Qm(i.containedNodes,(function(t,i){e.containedNodes[i]=t})),i.containedNodes={},Qm(i.containedEdges,(function(t,i){e.containedEdges[i]=t})),i.containedEdges={},Qm(i.edges,(function(t){Qm(e.edges,(function(i){var n,o,r=Lv(n=i.clusteringEdgeReplacingIds).call(n,t.id);-1!==r&&(Qm(t.clusteringEdgeReplacingIds,(function(t){i.clusteringEdgeReplacingIds.push(t),e.body.edges[t].edgeReplacedById=i.id})),yp(o=i.clusteringEdgeReplacingIds).call(o,r,1))}))})),i.edges=[]}}]),i}(qP),iI=function(){function t(e){var i=this;ch(this,t),this.body=e,this.clusteredNodes={},this.clusteredEdges={},this.options={},this.defaultOptions={},mn(this.options,this.defaultOptions),this.body.emitter.on("_resetData",(function(){i.clusteredNodes={},i.clusteredEdges={}}))}return pu(t,[{key:"clusterByHubsize",value:function(t,e){void 0===t?t=this._getHubSize():"object"===du(t)&&(e=this._checkOptions(t),t=this._getHubSize());for(var i=[],n=0;n<this.body.nodeIndices.length;n++){var o=this.body.nodes[this.body.nodeIndices[n]];o.edges.length>=t&&i.push(o.id)}for(var r=0;r<i.length;r++)this.clusterByConnection(i[r],e,!0);this.body.emitter.emit("_dataChanged")}},{key:"cluster",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(void 0===e.joinCondition)throw new Error("Cannot call clusterByNodeData without a joinCondition function in the options.");e=this._checkOptions(e);var n={},o={};Qm(this.body.nodes,(function(i,r){i.options&&!0===e.joinCondition(i.options)&&(n[r]=i,Qm(i.edges,(function(e){void 0===t.clusteredEdges[e.id]&&(o[e.id]=e)})))})),this._cluster(n,o,e,i)}},{key:"clusterByEdgeCount",value:function(t,e){var i=this,n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];e=this._checkOptions(e);for(var o,r,s,a=[],h={},l=function(){var n={},l={},c=i.body.nodeIndices[d],u=i.body.nodes[c];if(void 0===h[c]){s=0,r=[];for(var f=0;f<u.edges.length;f++)o=u.edges[f],void 0===i.clusteredEdges[o.id]&&(o.toId!==o.fromId&&s++,r.push(o));if(s===t){for(var p=function(t){if(void 0===e.joinCondition||null===e.joinCondition)return!0;var i=JD.cloneOptions(t);return e.joinCondition(i)},v=!0,g=0;g<r.length;g++){o=r[g];var y=i._getConnectedId(o,c);if(!p(u)){v=!1;break}l[o.id]=o,n[c]=u,n[y]=i.body.nodes[y],h[c]=!0}if(gf(n).length>0&&gf(l).length>0&&!0===v){var m=function(){for(var t=0;t<a.length;++t)for(var e in n)if(void 0!==a[t].nodes[e])return a[t]}();if(void 0!==m){for(var b in n)void 0===m.nodes[b]&&(m.nodes[b]=n[b]);for(var w in l)void 0===m.edges[w]&&(m.edges[w]=l[w])}else a.push({nodes:n,edges:l})}}}},d=0;d<this.body.nodeIndices.length;d++)l();for(var c=0;c<a.length;c++)this._cluster(a[c].nodes,a[c].edges,e,!1);!0===n&&this.body.emitter.emit("_dataChanged")}},{key:"clusterOutliers",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.clusterByEdgeCount(1,t,e)}},{key:"clusterBridges",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.clusterByEdgeCount(2,t,e)}},{key:"clusterByConnection",value:function(t,e){var i,n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(void 0===t)throw new Error("No nodeId supplied to clusterByConnection!");if(void 0===this.body.nodes[t])throw new Error("The nodeId given to clusterByConnection does not exist!");var o=this.body.nodes[t];void 0===(e=this._checkOptions(e,o)).clusterNodeProperties.x&&(e.clusterNodeProperties.x=o.x),void 0===e.clusterNodeProperties.y&&(e.clusterNodeProperties.y=o.y),void 0===e.clusterNodeProperties.fixed&&(e.clusterNodeProperties.fixed={},e.clusterNodeProperties.fixed.x=o.options.fixed.x,e.clusterNodeProperties.fixed.y=o.options.fixed.y);var r={},s={},a=o.id,h=JD.cloneOptions(o);r[a]=o;for(var l=0;l<o.edges.length;l++){var d=o.edges[l];if(void 0===this.clusteredEdges[d.id]){var c=this._getConnectedId(d,a);if(void 0===this.clusteredNodes[c])if(c!==a)if(void 0===e.joinCondition)s[d.id]=d,r[c]=this.body.nodes[c];else{var u=JD.cloneOptions(this.body.nodes[c]);!0===e.joinCondition(h,u)&&(s[d.id]=d,r[c]=this.body.nodes[c])}else s[d.id]=d}}var f=ff(i=gf(r)).call(i,(function(t){return r[t].id}));for(var p in r)if(Object.prototype.hasOwnProperty.call(r,p))for(var v=r[p],g=0;g<v.edges.length;g++){var y=v.edges[g];Lv(f).call(f,this._getConnectedId(y,v.id))>-1&&(s[y.id]=y)}this._cluster(r,s,e,n)}},{key:"_createClusterEdges",value:function(t,e,i,n){for(var o,r,s,a,h,l,d=gf(t),c=[],u=0;u<d.length;u++){s=t[r=d[u]];for(var f=0;f<s.edges.length;f++)o=s.edges[f],void 0===this.clusteredEdges[o.id]&&(o.toId==o.fromId?e[o.id]=o:o.toId==r?(a=i.id,l=h=o.fromId):(a=o.toId,h=i.id,l=a),void 0===t[l]&&c.push({edge:o,fromId:h,toId:a}))}for(var p=[],v=function(t){for(var e=0;e<p.length;e++){var i=p[e],n=t.fromId===i.fromId&&t.toId===i.toId,o=t.fromId===i.toId&&t.toId===i.fromId;if(n||o)return i}return null},g=0;g<c.length;g++){var y=c[g],m=y.edge,b=v(y);null===b?(b=this._createClusteredEdge(y.fromId,y.toId,m,n),p.push(b)):b.clusteringEdgeReplacingIds.push(m.id),this.body.edges[m.id].edgeReplacedById=b.id,this._backupEdgeOptions(m),m.setOptions({physics:!1})}}},{key:"_checkOptions",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return void 0===t.clusterEdgeProperties&&(t.clusterEdgeProperties={}),void 0===t.clusterNodeProperties&&(t.clusterNodeProperties={}),t}},{key:"_cluster",value:function(t,e,i){var n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],o=[];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&void 0!==this.clusteredNodes[r]&&o.push(r);for(var s=0;s<o.length;++s)delete t[o[s]];if(0!=gf(t).length&&(1!=gf(t).length||1==i.clusterNodeProperties.allowSingleNodeCluster)){var a=Xm({},i.clusterNodeProperties);if(void 0!==i.processProperties){var h=[];for(var l in t)if(Object.prototype.hasOwnProperty.call(t,l)){var d=JD.cloneOptions(t[l]);h.push(d)}var c=[];for(var u in e)if(Object.prototype.hasOwnProperty.call(e,u)&&"clusterEdge:"!==u.substr(0,12)){var f=JD.cloneOptions(e[u],"edge");c.push(f)}if(!(a=i.processProperties(a,h,c)))throw new Error("The processProperties function does not return properties!")}void 0===a.id&&(a.id="cluster:"+uM());var p=a.id;void 0===a.label&&(a.label="cluster");var v=void 0;void 0===a.x&&(v=this._getClusterPosition(t),a.x=v.x),void 0===a.y&&(void 0===v&&(v=this._getClusterPosition(t)),a.y=v.y),a.id=p;var g=this.body.functions.createNode(a,eI);g.containedNodes=t,g.containedEdges=e,g.clusterEdgeProperties=i.clusterEdgeProperties,this.body.nodes[a.id]=g,this._clusterEdges(t,e,a,i.clusterEdgeProperties),a.id=void 0,!0===n&&this.body.emitter.emit("_dataChanged")}}},{key:"_backupEdgeOptions",value:function(t){void 0===this.clusteredEdges[t.id]&&(this.clusteredEdges[t.id]={physics:t.options.physics})}},{key:"_restoreEdge",value:function(t){var e=this.clusteredEdges[t.id];void 0!==e&&(t.setOptions({physics:e.physics}),delete this.clusteredEdges[t.id])}},{key:"isCluster",value:function(t){return void 0!==this.body.nodes[t]?!0===this.body.nodes[t].isCluster:(console.error("Node does not exist."),!1)}},{key:"_getClusterPosition",value:function(t){for(var e,i=gf(t),n=t[i[0]].x,o=t[i[0]].x,r=t[i[0]].y,s=t[i[0]].y,a=1;a<i.length;a++)n=(e=t[i[a]]).x<n?e.x:n,o=e.x>o?e.x:o,r=e.y<r?e.y:r,s=e.y>s?e.y:s;return{x:.5*(n+o),y:.5*(r+s)}}},{key:"openCluster",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(void 0===t)throw new Error("No clusterNodeId supplied to openCluster.");var n=this.body.nodes[t];if(void 0===n)throw new Error("The clusterNodeId supplied to openCluster does not exist.");if(!0!==n.isCluster||void 0===n.containedNodes||void 0===n.containedEdges)throw new Error("The node:"+t+" is not a valid cluster.");var o=this.findNode(t),r=Lv(o).call(o,t)-1;if(r>=0){var s=o[r];return this.body.nodes[s]._openChildCluster(t),delete this.body.nodes[t],void(!0===i&&this.body.emitter.emit("_dataChanged"))}var a=n.containedNodes,h=n.containedEdges;if(void 0!==e&&void 0!==e.releaseFunction&&"function"==typeof e.releaseFunction){var l={},d={x:n.x,y:n.y};for(var c in a)if(Object.prototype.hasOwnProperty.call(a,c)){var u=this.body.nodes[c];l[c]={x:u.x,y:u.y}}var f=e.releaseFunction(d,l);for(var p in a)if(Object.prototype.hasOwnProperty.call(a,p)){var v=this.body.nodes[p];void 0!==f[p]&&(v.x=void 0===f[p].x?n.x:f[p].x,v.y=void 0===f[p].y?n.y:f[p].y)}}else Qm(a,(function(t){!1===t.options.fixed.x&&(t.x=n.x),!1===t.options.fixed.y&&(t.y=n.y)}));for(var g in a)if(Object.prototype.hasOwnProperty.call(a,g)){var y=this.body.nodes[g];y.vx=n.vx,y.vy=n.vy,y.setOptions({physics:!0}),delete this.clusteredNodes[g]}for(var m=[],b=0;b<n.edges.length;b++)m.push(n.edges[b]);for(var w=0;w<m.length;w++){for(var k=m[w],_=this._getConnectedId(k,t),x=this.clusteredNodes[_],E=0;E<k.clusteringEdgeReplacingIds.length;E++){var O=k.clusteringEdgeReplacingIds[E],C=this.body.edges[O];if(void 0!==C)if(void 0!==x){var S=this.body.nodes[x.clusterId];S.containedEdges[C.id]=C,delete h[C.id];var T=C.fromId,M=C.toId;C.toId==_?M=x.clusterId:T=x.clusterId,this._createClusteredEdge(T,M,C,S.clusterEdgeProperties,{hidden:!1,physics:!0})}else this._restoreEdge(C)}k.remove()}for(var P in h)Object.prototype.hasOwnProperty.call(h,P)&&this._restoreEdge(h[P]);delete this.body.nodes[t],!0===i&&this.body.emitter.emit("_dataChanged")}},{key:"getNodesInCluster",value:function(t){var e=[];if(!0===this.isCluster(t)){var i=this.body.nodes[t].containedNodes;for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&e.push(this.body.nodes[n].id)}return e}},{key:"findNode",value:function(t){for(var e,i=[],n=0;void 0!==this.clusteredNodes[t]&&n<100;){if(void 0===(e=this.body.nodes[t]))return[];i.push(e.id),t=this.clusteredNodes[t].clusterId,n++}return void 0===(e=this.body.nodes[t])?[]:(i.push(e.id),Vf(i).call(i),i)}},{key:"updateClusteredNode",value:function(t,e){if(void 0===t)throw new Error("No clusteredNodeId supplied to updateClusteredNode.");if(void 0===e)throw new Error("No newOptions supplied to updateClusteredNode.");if(void 0===this.body.nodes[t])throw new Error("The clusteredNodeId supplied to updateClusteredNode does not exist.");this.body.nodes[t].setOptions(e),this.body.emitter.emit("_dataChanged")}},{key:"updateEdge",value:function(t,e){if(void 0===t)throw new Error("No startEdgeId supplied to updateEdge.");if(void 0===e)throw new Error("No newOptions supplied to updateEdge.");if(void 0===this.body.edges[t])throw new Error("The startEdgeId supplied to updateEdge does not exist.");for(var i=this.getClusteredEdges(t),n=0;n<i.length;n++){this.body.edges[i[n]].setOptions(e)}this.body.emitter.emit("_dataChanged")}},{key:"getClusteredEdges",value:function(t){for(var e=[],i=0;void 0!==t&&void 0!==this.body.edges[t]&&i<100;)e.push(this.body.edges[t].id),t=this.body.edges[t].edgeReplacedById,i++;return Vf(e).call(e),e}},{key:"getBaseEdge",value:function(t){return this.getBaseEdges(t)[0]}},{key:"getBaseEdges",value:function(t){for(var e=[t],i=[],n=[],o=0;e.length>0&&o<100;){var r=e.pop();if(void 0!==r){var s=this.body.edges[r];if(void 0!==s){o++;var a=s.clusteringEdgeReplacingIds;if(void 0===a)n.push(r);else for(var h=0;h<a.length;++h){var l=a[h];-1===Lv(e).call(e,a)&&-1===Lv(i).call(i,a)&&e.push(l)}i.push(r)}}}return n}},{key:"_getConnectedId",value:function(t,e){return t.toId!=e?t.toId:(t.fromId,t.fromId)}},{key:"_getHubSize",value:function(){for(var t=0,e=0,i=0,n=0,o=0;o<this.body.nodeIndices.length;o++){var r=this.body.nodes[this.body.nodeIndices[o]];r.edges.length>n&&(n=r.edges.length),t+=r.edges.length,e+=Math.pow(r.edges.length,2),i+=1}t/=i;var s=(e/=i)-Math.pow(t,2),a=Math.sqrt(s),h=Math.floor(t+2*a);return h>n&&(h=n),h}},{key:"_createClusteredEdge",value:function(t,e,i,n,o){var r=JD.cloneOptions(i,"edge");Xm(r,n),r.from=t,r.to=e,r.id="clusterEdge:"+uM(),void 0!==o&&Xm(r,o);var s=this.body.functions.createEdge(r);return s.clusteringEdgeReplacingIds=[i.id],s.connect(),this.body.edges[s.id]=s,s}},{key:"_clusterEdges",value:function(t,e,i,n){if(e instanceof LD){var o=e,r={};r[o.id]=o,e=r}if(t instanceof qP){var s=t,a={};a[s.id]=s,t=a}if(null==i)throw new Error("_clusterEdges: parameter clusterNode required");for(var h in void 0===n&&(n=i.clusterEdgeProperties),this._createClusterEdges(t,e,i,n),e)if(Object.prototype.hasOwnProperty.call(e,h)&&void 0!==this.body.edges[h]){var l=this.body.edges[h];this._backupEdgeOptions(l),l.setOptions({physics:!1})}for(var d in t)Object.prototype.hasOwnProperty.call(t,d)&&(this.clusteredNodes[d]={clusterId:i.id,node:this.body.nodes[d]},this.body.nodes[d].setOptions({physics:!1}))}},{key:"_getClusterNodeForNode",value:function(t){if(void 0!==t){var e=this.clusteredNodes[t];if(void 0!==e){var i=e.clusterId;if(void 0!==i)return this.body.nodes[i]}}}},{key:"_filter",value:function(t,e){var i=[];return Qm(t,(function(t){e(t)&&i.push(t)})),i}},{key:"_updateState",value:function(){var t,e=this,i=[],n={},o=function(t){Qm(e.body.nodes,(function(e){!0===e.isCluster&&t(e)}))};for(t in this.clusteredNodes){if(Object.prototype.hasOwnProperty.call(this.clusteredNodes,t))void 0===this.body.nodes[t]&&i.push(t)}o((function(t){for(var e=0;e<i.length;e++)delete t.containedNodes[i[e]]}));for(var r=0;r<i.length;r++)delete this.clusteredNodes[i[r]];Qm(this.clusteredEdges,(function(t){var i=e.body.edges[t];void 0!==i&&i.endPointsValid()||(n[t]=t)})),o((function(t){Qm(t.containedEdges,(function(t,e){t.endPointsValid()||n[e]||(n[e]=e)}))})),Qm(this.body.edges,(function(t,i){var o=!0,r=t.clusteringEdgeReplacingIds;if(void 0!==r){var s=0;Qm(r,(function(t){var i=e.body.edges[t];void 0!==i&&i.endPointsValid()&&(s+=1)})),o=s>0}t.endPointsValid()&&o||(n[i]=i)})),o((function(t){Qm(n,(function(i){delete t.containedEdges[i],Qm(t.edges,(function(o,r){o.id!==i?o.clusteringEdgeReplacingIds=e._filter(o.clusteringEdgeReplacingIds,(function(t){return!n[t]})):t.edges[r]=null})),t.edges=e._filter(t.edges,(function(t){return null!==t}))}))})),Qm(n,(function(t){delete e.clusteredEdges[t]})),Qm(n,(function(t){delete e.body.edges[t]})),Qm(gf(this.body.edges),(function(t){var i=e.body.edges[t],n=e._isClusteredNode(i.fromId)||e._isClusteredNode(i.toId);if(n!==e._isClusteredEdge(i.id))if(n){var o=e._getClusterNodeForNode(i.fromId);void 0!==o&&e._clusterEdges(e.body.nodes[i.fromId],i,o);var r=e._getClusterNodeForNode(i.toId);void 0!==r&&e._clusterEdges(e.body.nodes[i.toId],i,r)}else delete e._clusterEdges[t],e._restoreEdge(i)}));for(var s=!1,a=!0,h=function(){var t=[];o((function(e){var i=gf(e.containedNodes).length,n=!0===e.options.allowSingleNodeCluster;(n&&i<1||!n&&i<2)&&t.push(e.id)}));for(var i=0;i<t.length;++i)e.openCluster(t[i],{},!1);a=t.length>0,s=s||a};a;)h();s&&this._updateState()}},{key:"_isClusteredNode",value:function(t){return void 0!==this.clusteredNodes[t]}},{key:"_isClusteredEdge",value:function(t){return void 0!==this.clusteredEdges[t]}}]),t}();var nI=function(){function t(e,i){var n;ch(this,t),void 0!==window&&(n=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame),window.requestAnimationFrame=void 0===n?function(t){t()}:n,this.body=e,this.canvas=i,this.redrawRequested=!1,this.renderTimer=void 0,this.requiresTimeout=!0,this.renderingActive=!1,this.renderRequests=0,this.allowRedraw=!0,this.dragging=!1,this.zooming=!1,this.options={},this.defaultOptions={hideEdgesOnDrag:!1,hideEdgesOnZoom:!1,hideNodesOnDrag:!1},mn(this.options,this.defaultOptions),this._determineBrowserMethod(),this.bindEventListeners()}return pu(t,[{key:"bindEventListeners",value:function(){var t,e=this;this.body.emitter.on("dragStart",(function(){e.dragging=!0})),this.body.emitter.on("dragEnd",(function(){e.dragging=!1})),this.body.emitter.on("zoom",(function(){e.zooming=!0,window.clearTimeout(e.zoomTimeoutId),e.zoomTimeoutId=vg((function(){var t;e.zooming=!1,Ln(t=e._requestRedraw).call(t,e)()}),250)})),this.body.emitter.on("_resizeNodes",(function(){e._resizeNodes()})),this.body.emitter.on("_redraw",(function(){!1===e.renderingActive&&e._redraw()})),this.body.emitter.on("_blockRedraw",(function(){e.allowRedraw=!1})),this.body.emitter.on("_allowRedraw",(function(){e.allowRedraw=!0,e.redrawRequested=!1})),this.body.emitter.on("_requestRedraw",Ln(t=this._requestRedraw).call(t,this)),this.body.emitter.on("_startRendering",(function(){e.renderRequests+=1,e.renderingActive=!0,e._startRendering()})),this.body.emitter.on("_stopRendering",(function(){e.renderRequests-=1,e.renderingActive=e.renderRequests>0,e.renderTimer=void 0})),this.body.emitter.on("destroy",(function(){e.renderRequests=0,e.allowRedraw=!1,e.renderingActive=!1,!0===e.requiresTimeout?clearTimeout(e.renderTimer):window.cancelAnimationFrame(e.renderTimer),e.body.emitter.off()}))}},{key:"setOptions",value:function(t){if(void 0!==t){Um(["hideEdgesOnDrag","hideEdgesOnZoom","hideNodesOnDrag"],this.options,t)}}},{key:"_requestNextFrame",value:function(t,e){if("undefined"!=typeof window){var i,n=window;return!0===this.requiresTimeout?i=vg(t,e):n.requestAnimationFrame&&(i=n.requestAnimationFrame(t)),i}}},{key:"_startRendering",value:function(){var t;!0===this.renderingActive&&(void 0===this.renderTimer&&(this.renderTimer=this._requestNextFrame(Ln(t=this._renderStep).call(t,this),this.simulationInterval)))}},{key:"_renderStep",value:function(){!0===this.renderingActive&&(this.renderTimer=void 0,!0===this.requiresTimeout&&this._startRendering(),this._redraw(),!1===this.requiresTimeout&&this._startRendering())}},{key:"redraw",value:function(){this.body.emitter.emit("setSize"),this._redraw()}},{key:"_requestRedraw",value:function(){var t=this;!0!==this.redrawRequested&&!1===this.renderingActive&&!0===this.allowRedraw&&(this.redrawRequested=!0,this._requestNextFrame((function(){t._redraw(!1)}),0))}},{key:"_redraw",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!0===this.allowRedraw){this.body.emitter.emit("initRedraw"),this.redrawRequested=!1;var e={drawExternalLabels:null};0!==this.canvas.frame.canvas.width&&0!==this.canvas.frame.canvas.height||this.canvas.setSize(),this.canvas.setTransform();var i=this.canvas.getContext(),n=this.canvas.frame.canvas.clientWidth,o=this.canvas.frame.canvas.clientHeight;if(i.clearRect(0,0,n,o),0===this.canvas.frame.clientWidth)return;if(i.save(),i.translate(this.body.view.translation.x,this.body.view.translation.y),i.scale(this.body.view.scale,this.body.view.scale),i.beginPath(),this.body.emitter.emit("beforeDrawing",i),i.closePath(),!1===t&&(!1===this.dragging||!0===this.dragging&&!1===this.options.hideEdgesOnDrag)&&(!1===this.zooming||!0===this.zooming&&!1===this.options.hideEdgesOnZoom)&&this._drawEdges(i),!1===this.dragging||!0===this.dragging&&!1===this.options.hideNodesOnDrag){var r=this._drawNodes(i,t).drawExternalLabels;e.drawExternalLabels=r}!1===t&&(!1===this.dragging||!0===this.dragging&&!1===this.options.hideEdgesOnDrag)&&(!1===this.zooming||!0===this.zooming&&!1===this.options.hideEdgesOnZoom)&&this._drawArrows(i),null!=e.drawExternalLabels&&e.drawExternalLabels(),!1===t&&this._drawSelectionBox(i),i.beginPath(),this.body.emitter.emit("afterDrawing",i),i.closePath(),i.restore(),!0===t&&i.clearRect(0,0,n,o)}}},{key:"_resizeNodes",value:function(){this.canvas.setTransform();var t=this.canvas.getContext();t.save(),t.translate(this.body.view.translation.x,this.body.view.translation.y),t.scale(this.body.view.scale,this.body.view.scale);var e,i=this.body.nodes;for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&((e=i[n]).resize(t),e.updateBoundingBox(t,e.selected));t.restore()}},{key:"_drawNodes",value:function(t){for(var e,i,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],o=this.body.nodes,r=this.body.nodeIndices,s=[],a=[],h=this.canvas.DOMtoCanvas({x:-20,y:-20}),l=this.canvas.DOMtoCanvas({x:this.canvas.frame.canvas.clientWidth+20,y:this.canvas.frame.canvas.clientHeight+20}),d={top:h.y,left:h.x,bottom:l.y,right:l.x},c=[],u=0;u<r.length;u++)if((e=o[r[u]]).hover)a.push(r[u]);else if(e.isSelected())s.push(r[u]);else if(!0===n){var f=e.draw(t);null!=f.drawExternalLabel&&c.push(f.drawExternalLabel)}else if(!0===e.isBoundingBoxOverlappingWith(d)){var p=e.draw(t);null!=p.drawExternalLabel&&c.push(p.drawExternalLabel)}else e.updateBoundingBox(t,e.selected);var v=s.length,g=a.length;for(i=0;i<v;i++){var y=(e=o[s[i]]).draw(t);null!=y.drawExternalLabel&&c.push(y.drawExternalLabel)}for(i=0;i<g;i++){var m=(e=o[a[i]]).draw(t);null!=m.drawExternalLabel&&c.push(m.drawExternalLabel)}return{drawExternalLabels:function(){for(var t=0,e=c;t<e.length;t++){(0,e[t])()}}}}},{key:"_drawEdges",value:function(t){for(var e=this.body.edges,i=this.body.edgeIndices,n=0;n<i.length;n++){var o=e[i[n]];!0===o.connected&&o.draw(t)}}},{key:"_drawArrows",value:function(t){for(var e=this.body.edges,i=this.body.edgeIndices,n=0;n<i.length;n++){var o=e[i[n]];!0===o.connected&&o.drawArrows(t)}}},{key:"_determineBrowserMethod",value:function(){if("undefined"!=typeof window){var t=navigator.userAgent.toLowerCase();this.requiresTimeout=!1,(-1!=Lv(t).call(t,"msie 9.0")||-1!=Lv(t).call(t,"safari")&&Lv(t).call(t,"chrome")<=-1)&&(this.requiresTimeout=!0)}else this.requiresTimeout=!0}},{key:"_drawSelectionBox",value:function(t){if(this.body.selectionBox.show){t.beginPath();var e=this.body.selectionBox.position.end.x-this.body.selectionBox.position.start.x,i=this.body.selectionBox.position.end.y-this.body.selectionBox.position.start.y;t.rect(this.body.selectionBox.position.start.x,this.body.selectionBox.position.start.y,e,i),t.fillStyle="rgba(151, 194, 252, 0.2)",t.fillRect(this.body.selectionBox.position.start.x,this.body.selectionBox.position.start.y,e,i),t.strokeStyle="rgba(151, 194, 252, 1)",t.stroke()}else t.closePath()}}]),t}(),oI=i(et.setInterval);function rI(t,e){e.inputHandler=function(t){t.isFirst&&e(t)},t.on("hammer.input",e.inputHandler)}function sI(t,e){return e.inputHandler=function(t){t.isFinal&&e(t)},t.on("hammer.input",e.inputHandler)}var aI=function(){function t(e){ch(this,t),this.body=e,this.pixelRatio=1,this.cameraState={},this.initialized=!1,this.canvasViewCenter={},this._cleanupCallbacks=[],this.options={},this.defaultOptions={autoResize:!0,height:"100%",width:"100%"},mn(this.options,this.defaultOptions),this.bindEventListeners()}return pu(t,[{key:"bindEventListeners",value:function(){var t,e=this;this.body.emitter.once("resize",(function(t){0!==t.width&&(e.body.view.translation.x=.5*t.width),0!==t.height&&(e.body.view.translation.y=.5*t.height)})),this.body.emitter.on("setSize",Ln(t=this.setSize).call(t,this)),this.body.emitter.on("destroy",(function(){e.hammerFrame.destroy(),e.hammer.destroy(),e._cleanUp()}))}},{key:"setOptions",value:function(t){var e=this;if(void 0!==t){Um(["width","height","autoResize"],this.options,t)}if(this._cleanUp(),!0===this.options.autoResize){var i;if(window.ResizeObserver){var n=new ResizeObserver((function(){!0===e.setSize()&&e.body.emitter.emit("_requestRedraw")})),o=this.frame;n.observe(o),this._cleanupCallbacks.push((function(){n.unobserve(o)}))}else{var r=oI((function(){!0===e.setSize()&&e.body.emitter.emit("_requestRedraw")}),1e3);this._cleanupCallbacks.push((function(){clearInterval(r)}))}var s=Ln(i=this._onResize).call(i,this);tb(window,"resize",s),this._cleanupCallbacks.push((function(){eb(window,"resize",s)}))}}},{key:"_cleanUp",value:function(){var t,e,i;Bf(t=Vf(e=yp(i=this._cleanupCallbacks).call(i,0)).call(e)).call(t,(function(t){try{t()}catch(t){console.error(t)}}))}},{key:"_onResize",value:function(){this.setSize(),this.body.emitter.emit("_redraw")}},{key:"_getCameraState",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.pixelRatio;!0===this.initialized&&(this.cameraState.previousWidth=this.frame.canvas.width/t,this.cameraState.previousHeight=this.frame.canvas.height/t,this.cameraState.scale=this.body.view.scale,this.cameraState.position=this.DOMtoCanvas({x:.5*this.frame.canvas.width/t,y:.5*this.frame.canvas.height/t}))}},{key:"_setCameraState",value:function(){if(void 0!==this.cameraState.scale&&0!==this.frame.canvas.clientWidth&&0!==this.frame.canvas.clientHeight&&0!==this.pixelRatio&&this.cameraState.previousWidth>0&&this.cameraState.previousHeight>0){var t=this.frame.canvas.width/this.pixelRatio/this.cameraState.previousWidth,e=this.frame.canvas.height/this.pixelRatio/this.cameraState.previousHeight,i=this.cameraState.scale;1!=t&&1!=e?i=.5*this.cameraState.scale*(t+e):1!=t?i=this.cameraState.scale*t:1!=e&&(i=this.cameraState.scale*e),this.body.view.scale=i;var n=this.DOMtoCanvas({x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight}),o={x:n.x-this.cameraState.position.x,y:n.y-this.cameraState.position.y};this.body.view.translation.x+=o.x*this.body.view.scale,this.body.view.translation.y+=o.y*this.body.view.scale}}},{key:"_prepareValue",value:function(t){if("number"==typeof t)return t+"px";if("string"==typeof t){if(-1!==Lv(t).call(t,"%")||-1!==Lv(t).call(t,"px"))return t;if(-1===Lv(t).call(t,"%"))return t+"px"}throw new Error("Could not use the value supplied for width or height:"+t)}},{key:"_create",value:function(){for(;this.body.container.hasChildNodes();)this.body.container.removeChild(this.body.container.firstChild);if(this.frame=document.createElement("div"),this.frame.className="vis-network",this.frame.style.position="relative",this.frame.style.overflow="hidden",this.frame.tabIndex=0,this.frame.canvas=document.createElement("canvas"),this.frame.canvas.style.position="relative",this.frame.appendChild(this.frame.canvas),this.frame.canvas.getContext)this._setPixelRatio(),this.setTransform();else{var t=document.createElement("DIV");t.style.color="red",t.style.fontWeight="bold",t.style.padding="10px",t.innerText="Error: your browser does not support HTML canvas",this.frame.canvas.appendChild(t)}this.body.container.appendChild(this.frame),this.body.view.scale=1,this.body.view.translation={x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight},this._bindHammer()}},{key:"_bindHammer",value:function(){var t=this;void 0!==this.hammer&&this.hammer.destroy(),this.drag={},this.pinch={},this.hammer=new Db(this.frame.canvas),this.hammer.get("pinch").set({enable:!0}),this.hammer.get("pan").set({threshold:5,direction:Db.DIRECTION_ALL}),rI(this.hammer,(function(e){t.body.eventListeners.onTouch(e)})),this.hammer.on("tap",(function(e){t.body.eventListeners.onTap(e)})),this.hammer.on("doubletap",(function(e){t.body.eventListeners.onDoubleTap(e)})),this.hammer.on("press",(function(e){t.body.eventListeners.onHold(e)})),this.hammer.on("panstart",(function(e){t.body.eventListeners.onDragStart(e)})),this.hammer.on("panmove",(function(e){t.body.eventListeners.onDrag(e)})),this.hammer.on("panend",(function(e){t.body.eventListeners.onDragEnd(e)})),this.hammer.on("pinch",(function(e){t.body.eventListeners.onPinch(e)})),this.frame.canvas.addEventListener("wheel",(function(e){t.body.eventListeners.onMouseWheel(e)})),this.frame.canvas.addEventListener("mousemove",(function(e){t.body.eventListeners.onMouseMove(e)})),this.frame.canvas.addEventListener("contextmenu",(function(e){t.body.eventListeners.onContext(e)})),this.hammerFrame=new Db(this.frame),sI(this.hammerFrame,(function(e){t.body.eventListeners.onRelease(e)}))}},{key:"setSize",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.options.width,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.options.height;t=this._prepareValue(t),e=this._prepareValue(e);var i=!1,n=this.frame.canvas.width,o=this.frame.canvas.height,r=this.pixelRatio;if(this._setPixelRatio(),t!=this.options.width||e!=this.options.height||this.frame.style.width!=t||this.frame.style.height!=e)this._getCameraState(r),this.frame.style.width=t,this.frame.style.height=e,this.frame.canvas.style.width="100%",this.frame.canvas.style.height="100%",this.frame.canvas.width=Math.round(this.frame.canvas.clientWidth*this.pixelRatio),this.frame.canvas.height=Math.round(this.frame.canvas.clientHeight*this.pixelRatio),this.options.width=t,this.options.height=e,this.canvasViewCenter={x:.5*this.frame.clientWidth,y:.5*this.frame.clientHeight},i=!0;else{var s=Math.round(this.frame.canvas.clientWidth*this.pixelRatio),a=Math.round(this.frame.canvas.clientHeight*this.pixelRatio);this.frame.canvas.width===s&&this.frame.canvas.height===a||this._getCameraState(r),this.frame.canvas.width!==s&&(this.frame.canvas.width=s,i=!0),this.frame.canvas.height!==a&&(this.frame.canvas.height=a,i=!0)}return!0===i&&(this.body.emitter.emit("resize",{width:Math.round(this.frame.canvas.width/this.pixelRatio),height:Math.round(this.frame.canvas.height/this.pixelRatio),oldWidth:Math.round(n/this.pixelRatio),oldHeight:Math.round(o/this.pixelRatio)}),this._setCameraState()),this.initialized=!0,i}},{key:"getContext",value:function(){return this.frame.canvas.getContext("2d")}},{key:"_determinePixelRatio",value:function(){var t=this.getContext();if(void 0===t)throw new Error("Could not get canvax context");var e=1;return"undefined"!=typeof window&&(e=window.devicePixelRatio||1),e/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)}},{key:"_setPixelRatio",value:function(){this.pixelRatio=this._determinePixelRatio()}},{key:"setTransform",value:function(){var t=this.getContext();if(void 0===t)throw new Error("Could not get canvax context");t.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}},{key:"_XconvertDOMtoCanvas",value:function(t){return(t-this.body.view.translation.x)/this.body.view.scale}},{key:"_XconvertCanvasToDOM",value:function(t){return t*this.body.view.scale+this.body.view.translation.x}},{key:"_YconvertDOMtoCanvas",value:function(t){return(t-this.body.view.translation.y)/this.body.view.scale}},{key:"_YconvertCanvasToDOM",value:function(t){return t*this.body.view.scale+this.body.view.translation.y}},{key:"canvasToDOM",value:function(t){return{x:this._XconvertCanvasToDOM(t.x),y:this._YconvertCanvasToDOM(t.y)}}},{key:"DOMtoCanvas",value:function(t){return{x:this._XconvertDOMtoCanvas(t.x),y:this._YconvertDOMtoCanvas(t.y)}}}]),t}();var hI=function(){function t(e,i){var n,o,r=this;ch(this,t),this.body=e,this.canvas=i,this.animationSpeed=1/this.renderRefreshRate,this.animationEasingFunction="easeInOutQuint",this.easingTime=0,this.sourceScale=0,this.targetScale=0,this.sourceTranslation=0,this.targetTranslation=0,this.lockedOnNodeId=void 0,this.lockedOnNodeOffset=void 0,this.touchTime=0,this.viewFunction=void 0,this.body.emitter.on("fit",Ln(n=this.fit).call(n,this)),this.body.emitter.on("animationFinished",(function(){r.body.emitter.emit("_stopRendering")})),this.body.emitter.on("unlockNode",Ln(o=this.releaseNode).call(o,this))}return pu(t,[{key:"setOptions",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.options=t}},{key:"fit",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];t=function(t,e){var i=mn({nodes:e,minZoomLevel:Number.MIN_VALUE,maxZoomLevel:1},null!=t?t:{});if(!sf(i.nodes))throw new TypeError("Nodes has to be an array of ids.");if(0===i.nodes.length&&(i.nodes=e),!("number"==typeof i.minZoomLevel&&i.minZoomLevel>0))throw new TypeError("Min zoom level has to be a number higher than zero.");if(!("number"==typeof i.maxZoomLevel&&i.minZoomLevel<=i.maxZoomLevel))throw new TypeError("Max zoom level has to be a number higher than min zoom level.");return i}(t,this.body.nodeIndices);var i,n,o=this.canvas.frame.canvas.clientWidth,r=this.canvas.frame.canvas.clientHeight;if(0===o||0===r)n=1,i=JD.getRange(this.body.nodes,t.nodes);else if(!0===e){var s=0;for(var a in this.body.nodes){if(Object.prototype.hasOwnProperty.call(this.body.nodes,a))!0===this.body.nodes[a].predefinedPosition&&(s+=1)}if(s>.5*this.body.nodeIndices.length)return void this.fit(t,!1);i=JD.getRange(this.body.nodes,t.nodes),n=12.662/(this.body.nodeIndices.length+7.4147)+.0964822,n*=Math.min(o/600,r/600)}else{this.body.emitter.emit("_resizeNodes"),i=JD.getRange(this.body.nodes,t.nodes);var h=o/(1.1*Math.abs(i.maxX-i.minX)),l=r/(1.1*Math.abs(i.maxY-i.minY));n=h<=l?h:l}n>t.maxZoomLevel?n=t.maxZoomLevel:n<t.minZoomLevel&&(n=t.minZoomLevel);var d={position:JD.findCenter(i),scale:n,animation:t.animation};this.moveTo(d)}},{key:"focus",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(void 0!==this.body.nodes[t]){var i={x:this.body.nodes[t].x,y:this.body.nodes[t].y};e.position=i,e.lockedOnNode=t,this.moveTo(e)}else console.error("Node: "+t+" cannot be found.")}},{key:"moveTo",value:function(t){if(void 0!==t){if(null!=t.offset){if(null!=t.offset.x){if(t.offset.x=+t.offset.x,!Gk(t.offset.x))throw new TypeError('The option "offset.x" has to be a finite number.')}else t.offset.x=0;if(null!=t.offset.y){if(t.offset.y=+t.offset.y,!Gk(t.offset.y))throw new TypeError('The option "offset.y" has to be a finite number.')}else t.offset.x=0}else t.offset={x:0,y:0};if(null!=t.position){if(null!=t.position.x){if(t.position.x=+t.position.x,!Gk(t.position.x))throw new TypeError('The option "position.x" has to be a finite number.')}else t.position.x=0;if(null!=t.position.y){if(t.position.y=+t.position.y,!Gk(t.position.y))throw new TypeError('The option "position.y" has to be a finite number.')}else t.position.x=0}else t.position=this.getViewPosition();if(null!=t.scale){if(t.scale=+t.scale,!(t.scale>0))throw new TypeError('The option "scale" has to be a number greater than zero.')}else t.scale=this.body.view.scale;void 0===t.animation&&(t.animation={duration:0}),!1===t.animation&&(t.animation={duration:0}),!0===t.animation&&(t.animation={}),void 0===t.animation.duration&&(t.animation.duration=1e3),void 0===t.animation.easingFunction&&(t.animation.easingFunction="easeInOutQuad"),this.animateView(t)}else t={}}},{key:"animateView",value:function(t){if(void 0!==t){this.animationEasingFunction=t.animation.easingFunction,this.releaseNode(),!0===t.locked&&(this.lockedOnNodeId=t.lockedOnNode,this.lockedOnNodeOffset=t.offset),0!=this.easingTime&&this._transitionRedraw(!0),this.sourceScale=this.body.view.scale,this.sourceTranslation=this.body.view.translation,this.targetScale=t.scale,this.body.view.scale=this.targetScale;var e,i,n=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight}),o=n.x-t.position.x,r=n.y-t.position.y;if(this.targetTranslation={x:this.sourceTranslation.x+o*this.targetScale+t.offset.x,y:this.sourceTranslation.y+r*this.targetScale+t.offset.y},0===t.animation.duration)if(null!=this.lockedOnNodeId)this.viewFunction=Ln(e=this._lockedRedraw).call(e,this),this.body.emitter.on("initRedraw",this.viewFunction);else this.body.view.scale=this.targetScale,this.body.view.translation=this.targetTranslation,this.body.emitter.emit("_requestRedraw");else this.animationSpeed=1/(60*t.animation.duration*.001)||1/60,this.animationEasingFunction=t.animation.easingFunction,this.viewFunction=Ln(i=this._transitionRedraw).call(i,this),this.body.emitter.on("initRedraw",this.viewFunction),this.body.emitter.emit("_startRendering")}}},{key:"_lockedRedraw",value:function(){var t=this.body.nodes[this.lockedOnNodeId].x,e=this.body.nodes[this.lockedOnNodeId].y,i=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight}),n=i.x-t,o=i.y-e,r=this.body.view.translation,s={x:r.x+n*this.body.view.scale+this.lockedOnNodeOffset.x,y:r.y+o*this.body.view.scale+this.lockedOnNodeOffset.y};this.body.view.translation=s}},{key:"releaseNode",value:function(){void 0!==this.lockedOnNodeId&&void 0!==this.viewFunction&&(this.body.emitter.off("initRedraw",this.viewFunction),this.lockedOnNodeId=void 0,this.lockedOnNodeOffset=void 0)}},{key:"_transitionRedraw",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.easingTime+=this.animationSpeed,this.easingTime=!0===t?1:this.easingTime;var e=yb[this.animationEasingFunction](this.easingTime);if(this.body.view.scale=this.sourceScale+(this.targetScale-this.sourceScale)*e,this.body.view.translation={x:this.sourceTranslation.x+(this.targetTranslation.x-this.sourceTranslation.x)*e,y:this.sourceTranslation.y+(this.targetTranslation.y-this.sourceTranslation.y)*e},this.easingTime>=1){var i;if(this.body.emitter.off("initRedraw",this.viewFunction),this.easingTime=0,null!=this.lockedOnNodeId)this.viewFunction=Ln(i=this._lockedRedraw).call(i,this),this.body.emitter.on("initRedraw",this.viewFunction);this.body.emitter.emit("animationFinished")}}},{key:"getScale",value:function(){return this.body.view.scale}},{key:"getViewPosition",value:function(){return this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight})}}]),t}();function lI(t){var e,i=t&&t.preventDefault||!1,n=t&&t.container||window,o={},r={keydown:{},keyup:{}},s={};for(e=97;e<=122;e++)s[String.fromCharCode(e)]={code:e-97+65,shift:!1};for(e=65;e<=90;e++)s[String.fromCharCode(e)]={code:e,shift:!0};for(e=0;e<=9;e++)s[""+e]={code:48+e,shift:!1};for(e=1;e<=12;e++)s["F"+e]={code:111+e,shift:!1};for(e=0;e<=9;e++)s["num"+e]={code:96+e,shift:!1};s["num*"]={code:106,shift:!1},s["num+"]={code:107,shift:!1},s["num-"]={code:109,shift:!1},s["num/"]={code:111,shift:!1},s["num."]={code:110,shift:!1},s.left={code:37,shift:!1},s.up={code:38,shift:!1},s.right={code:39,shift:!1},s.down={code:40,shift:!1},s.space={code:32,shift:!1},s.enter={code:13,shift:!1},s.shift={code:16,shift:void 0},s.esc={code:27,shift:!1},s.backspace={code:8,shift:!1},s.tab={code:9,shift:!1},s.ctrl={code:17,shift:!1},s.alt={code:18,shift:!1},s.delete={code:46,shift:!1},s.pageup={code:33,shift:!1},s.pagedown={code:34,shift:!1},s["="]={code:187,shift:!1},s["-"]={code:189,shift:!1},s["]"]={code:221,shift:!1},s["["]={code:219,shift:!1};var a=function(t){l(t,"keydown")},h=function(t){l(t,"keyup")},l=function(t,e){if(void 0!==r[e][t.keyCode]){for(var n=r[e][t.keyCode],o=0;o<n.length;o++)(void 0===n[o].shift||1==n[o].shift&&1==t.shiftKey||0==n[o].shift&&0==t.shiftKey)&&n[o].fn(t);1==i&&t.preventDefault()}};return o.bind=function(t,e,i){if(void 0===i&&(i="keydown"),void 0===s[t])throw new Error("unsupported key: "+t);void 0===r[i][s[t].code]&&(r[i][s[t].code]=[]),r[i][s[t].code].push({fn:e,shift:s[t].shift})},o.bindAll=function(t,e){for(var i in void 0===e&&(e="keydown"),s)s.hasOwnProperty(i)&&o.bind(i,t,e)},o.getKey=function(t){for(var e in s)if(s.hasOwnProperty(e)){if(1==t.shiftKey&&1==s[e].shift&&t.keyCode==s[e].code)return e;if(0==t.shiftKey&&0==s[e].shift&&t.keyCode==s[e].code)return e;if(t.keyCode==s[e].code&&"shift"==e)return e}return"unknown key, currently not supported"},o.unbind=function(t,e,i){if(void 0===i&&(i="keydown"),void 0===s[t])throw new Error("unsupported key: "+t);if(void 0!==e){var n=[],o=r[i][s[t].code];if(void 0!==o)for(var a=0;a<o.length;a++)o[a].fn==e&&o[a].shift==s[t].shift||n.push(r[i][s[t].code][a]);r[i][s[t].code]=n}else r[i][s[t].code]=[]},o.reset=function(){r={keydown:{},keyup:{}}},o.destroy=function(){r={keydown:{},keyup:{}},n.removeEventListener("keydown",a,!0),n.removeEventListener("keyup",h,!0)},n.addEventListener("keydown",a,!0),n.addEventListener("keyup",h,!0),o}var dI=Object.freeze({__proto__:null,default:lI}),cI=function(){function t(e,i){var n=this;ch(this,t),this.body=e,this.canvas=i,this.iconsCreated=!1,this.navigationHammers=[],this.boundFunctions={},this.touchTime=0,this.activated=!1,this.body.emitter.on("activate",(function(){n.activated=!0,n.configureKeyboardBindings()})),this.body.emitter.on("deactivate",(function(){n.activated=!1,n.configureKeyboardBindings()})),this.body.emitter.on("destroy",(function(){void 0!==n.keycharm&&n.keycharm.destroy()})),this.options={}}return pu(t,[{key:"setOptions",value:function(t){void 0!==t&&(this.options=t,this.create())}},{key:"create",value:function(){!0===this.options.navigationButtons?!1===this.iconsCreated&&this.loadNavigationElements():!0===this.iconsCreated&&this.cleanNavigation(),this.configureKeyboardBindings()}},{key:"cleanNavigation",value:function(){if(0!=this.navigationHammers.length){for(var t=0;t<this.navigationHammers.length;t++)this.navigationHammers[t].destroy();this.navigationHammers=[]}this.navigationDOM&&this.navigationDOM.wrapper&&this.navigationDOM.wrapper.parentNode&&this.navigationDOM.wrapper.parentNode.removeChild(this.navigationDOM.wrapper),this.iconsCreated=!1}},{key:"loadNavigationElements",value:function(){var t=this;this.cleanNavigation(),this.navigationDOM={};var e=["up","down","left","right","zoomIn","zoomOut","zoomExtends"],i=["_moveUp","_moveDown","_moveLeft","_moveRight","_zoomIn","_zoomOut","_fit"];this.navigationDOM.wrapper=document.createElement("div"),this.navigationDOM.wrapper.className="vis-navigation",this.canvas.frame.appendChild(this.navigationDOM.wrapper);for(var n=0;n<e.length;n++){this.navigationDOM[e[n]]=document.createElement("div"),this.navigationDOM[e[n]].className="vis-button vis-"+e[n],this.navigationDOM.wrapper.appendChild(this.navigationDOM[e[n]]);var o,r,s=new Db(this.navigationDOM[e[n]]);if("_fit"===i[n])rI(s,Ln(o=this._fit).call(o,this));else rI(s,Ln(r=this.bindToRedraw).call(r,this,i[n]));this.navigationHammers.push(s)}var a=new Db(this.canvas.frame);sI(a,(function(){t._stopMovement()})),this.navigationHammers.push(a),this.iconsCreated=!0}},{key:"bindToRedraw",value:function(t){var e;void 0===this.boundFunctions[t]&&(this.boundFunctions[t]=Ln(e=this[t]).call(e,this),this.body.emitter.on("initRedraw",this.boundFunctions[t]),this.body.emitter.emit("_startRendering"))}},{key:"unbindFromRedraw",value:function(t){void 0!==this.boundFunctions[t]&&(this.body.emitter.off("initRedraw",this.boundFunctions[t]),this.body.emitter.emit("_stopRendering"),delete this.boundFunctions[t])}},{key:"_fit",value:function(){(new Date).valueOf()-this.touchTime>700&&(this.body.emitter.emit("fit",{duration:700}),this.touchTime=(new Date).valueOf())}},{key:"_stopMovement",value:function(){for(var t in this.boundFunctions)Object.prototype.hasOwnProperty.call(this.boundFunctions,t)&&(this.body.emitter.off("initRedraw",this.boundFunctions[t]),this.body.emitter.emit("_stopRendering"));this.boundFunctions={}}},{key:"_moveUp",value:function(){this.body.view.translation.y+=this.options.keyboard.speed.y}},{key:"_moveDown",value:function(){this.body.view.translation.y-=this.options.keyboard.speed.y}},{key:"_moveLeft",value:function(){this.body.view.translation.x+=this.options.keyboard.speed.x}},{key:"_moveRight",value:function(){this.body.view.translation.x-=this.options.keyboard.speed.x}},{key:"_zoomIn",value:function(){var t=this.body.view.scale,e=this.body.view.scale*(1+this.options.keyboard.speed.zoom),i=this.body.view.translation,n=e/t,o=(1-n)*this.canvas.canvasViewCenter.x+i.x*n,r=(1-n)*this.canvas.canvasViewCenter.y+i.y*n;this.body.view.scale=e,this.body.view.translation={x:o,y:r},this.body.emitter.emit("zoom",{direction:"+",scale:this.body.view.scale,pointer:null})}},{key:"_zoomOut",value:function(){var t=this.body.view.scale,e=this.body.view.scale/(1+this.options.keyboard.speed.zoom),i=this.body.view.translation,n=e/t,o=(1-n)*this.canvas.canvasViewCenter.x+i.x*n,r=(1-n)*this.canvas.canvasViewCenter.y+i.y*n;this.body.view.scale=e,this.body.view.translation={x:o,y:r},this.body.emitter.emit("zoom",{direction:"-",scale:this.body.view.scale,pointer:null})}},{key:"configureKeyboardBindings",value:function(){var t,e,i,n,o,r,s,a,h,l,d,c,u,f,p,v,g,y,m,b,w,k,_,x,E=this;(void 0!==this.keycharm&&this.keycharm.destroy(),!0===this.options.keyboard.enabled)&&(!0===this.options.keyboard.bindToWindow?this.keycharm=lI({container:window,preventDefault:!0}):this.keycharm=lI({container:this.canvas.frame,preventDefault:!0}),this.keycharm.reset(),!0===this.activated&&(Ln(t=this.keycharm).call(t,"up",(function(){E.bindToRedraw("_moveUp")}),"keydown"),Ln(e=this.keycharm).call(e,"down",(function(){E.bindToRedraw("_moveDown")}),"keydown"),Ln(i=this.keycharm).call(i,"left",(function(){E.bindToRedraw("_moveLeft")}),"keydown"),Ln(n=this.keycharm).call(n,"right",(function(){E.bindToRedraw("_moveRight")}),"keydown"),Ln(o=this.keycharm).call(o,"=",(function(){E.bindToRedraw("_zoomIn")}),"keydown"),Ln(r=this.keycharm).call(r,"num+",(function(){E.bindToRedraw("_zoomIn")}),"keydown"),Ln(s=this.keycharm).call(s,"num-",(function(){E.bindToRedraw("_zoomOut")}),"keydown"),Ln(a=this.keycharm).call(a,"-",(function(){E.bindToRedraw("_zoomOut")}),"keydown"),Ln(h=this.keycharm).call(h,"[",(function(){E.bindToRedraw("_zoomOut")}),"keydown"),Ln(l=this.keycharm).call(l,"]",(function(){E.bindToRedraw("_zoomIn")}),"keydown"),Ln(d=this.keycharm).call(d,"pageup",(function(){E.bindToRedraw("_zoomIn")}),"keydown"),Ln(c=this.keycharm).call(c,"pagedown",(function(){E.bindToRedraw("_zoomOut")}),"keydown"),Ln(u=this.keycharm).call(u,"up",(function(){E.unbindFromRedraw("_moveUp")}),"keyup"),Ln(f=this.keycharm).call(f,"down",(function(){E.unbindFromRedraw("_moveDown")}),"keyup"),Ln(p=this.keycharm).call(p,"left",(function(){E.unbindFromRedraw("_moveLeft")}),"keyup"),Ln(v=this.keycharm).call(v,"right",(function(){E.unbindFromRedraw("_moveRight")}),"keyup"),Ln(g=this.keycharm).call(g,"=",(function(){E.unbindFromRedraw("_zoomIn")}),"keyup"),Ln(y=this.keycharm).call(y,"num+",(function(){E.unbindFromRedraw("_zoomIn")}),"keyup"),Ln(m=this.keycharm).call(m,"num-",(function(){E.unbindFromRedraw("_zoomOut")}),"keyup"),Ln(b=this.keycharm).call(b,"-",(function(){E.unbindFromRedraw("_zoomOut")}),"keyup"),Ln(w=this.keycharm).call(w,"[",(function(){E.unbindFromRedraw("_zoomOut")}),"keyup"),Ln(k=this.keycharm).call(k,"]",(function(){E.unbindFromRedraw("_zoomIn")}),"keyup"),Ln(_=this.keycharm).call(_,"pageup",(function(){E.unbindFromRedraw("_zoomIn")}),"keyup"),Ln(x=this.keycharm).call(x,"pagedown",(function(){E.unbindFromRedraw("_zoomOut")}),"keyup")))}}]),t}();function uI(t,e){var i=void 0!==Vu&&dh(t)||t["@@iterator"];if(!i){if(sf(t)||(i=function(t,e){var i;if(!t)return;if("string"==typeof t)return fI(t,e);var n=Zu(i=Object.prototype.toString.call(t)).call(i,8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Ua(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return fI(t,e)}(t))||e&&t&&"number"==typeof t.length){i&&(t=i);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}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 r,s=!0,a=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return s=t.done,t},e:function(t){a=!0,r=t},f:function(){try{s||null==i.return||i.return()}finally{if(a)throw r}}}}function fI(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}var pI=function(){function t(e,i,n){var o,r,s,a,h,l,d,c,u,f,p,v,g;ch(this,t),this.body=e,this.canvas=i,this.selectionHandler=n,this.navigationHandler=new cI(e,i),this.body.eventListeners.onTap=Ln(o=this.onTap).call(o,this),this.body.eventListeners.onTouch=Ln(r=this.onTouch).call(r,this),this.body.eventListeners.onDoubleTap=Ln(s=this.onDoubleTap).call(s,this),this.body.eventListeners.onHold=Ln(a=this.onHold).call(a,this),this.body.eventListeners.onDragStart=Ln(h=this.onDragStart).call(h,this),this.body.eventListeners.onDrag=Ln(l=this.onDrag).call(l,this),this.body.eventListeners.onDragEnd=Ln(d=this.onDragEnd).call(d,this),this.body.eventListeners.onMouseWheel=Ln(c=this.onMouseWheel).call(c,this),this.body.eventListeners.onPinch=Ln(u=this.onPinch).call(u,this),this.body.eventListeners.onMouseMove=Ln(f=this.onMouseMove).call(f,this),this.body.eventListeners.onRelease=Ln(p=this.onRelease).call(p,this),this.body.eventListeners.onContext=Ln(v=this.onContext).call(v,this),this.touchTime=0,this.drag={},this.pinch={},this.popup=void 0,this.popupObj=void 0,this.popupTimer=void 0,this.body.functions.getPointer=Ln(g=this.getPointer).call(g,this),this.options={},this.defaultOptions={dragNodes:!0,dragView:!0,hover:!1,keyboard:{enabled:!1,speed:{x:10,y:10,zoom:.02},bindToWindow:!0,autoFocus:!0},navigationButtons:!1,tooltipDelay:300,zoomView:!0,zoomSpeed:1},mn(this.options,this.defaultOptions),this.bindEventListeners()}return pu(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("destroy",(function(){clearTimeout(t.popupTimer),delete t.body.functions.getPointer}))}},{key:"setOptions",value:function(t){if(void 0!==t){Ym(["hideEdgesOnDrag","hideEdgesOnZoom","hideNodesOnDrag","keyboard","multiselect","selectable","selectConnectedEdges"],this.options,t),gb(this.options,t,"keyboard"),t.tooltip&&(mn(this.options.tooltip,t.tooltip),t.tooltip.color&&(this.options.tooltip.color=sb(t.tooltip.color)))}this.navigationHandler.setOptions(this.options)}},{key:"getPointer",value:function(t){return{x:t.x-$m(this.canvas.frame.canvas),y:t.y-Zm(this.canvas.frame.canvas)}}},{key:"onTouch",value:function(t){(new Date).valueOf()-this.touchTime>50&&(this.drag.pointer=this.getPointer(t.center),this.drag.pinched=!1,this.pinch.scale=this.body.view.scale,this.touchTime=(new Date).valueOf())}},{key:"onTap",value:function(t){var e=this.getPointer(t.center),i=this.selectionHandler.options.multiselect&&(t.changedPointers[0].ctrlKey||t.changedPointers[0].metaKey);this.checkSelectionChanges(e,i),this.selectionHandler.commitAndEmit(e,t),this.selectionHandler.generateClickEvent("click",t,e)}},{key:"onDoubleTap",value:function(t){var e=this.getPointer(t.center);this.selectionHandler.generateClickEvent("doubleClick",t,e)}},{key:"onHold",value:function(t){var e=this.getPointer(t.center),i=this.selectionHandler.options.multiselect;this.checkSelectionChanges(e,i),this.selectionHandler.commitAndEmit(e,t),this.selectionHandler.generateClickEvent("click",t,e),this.selectionHandler.generateClickEvent("hold",t,e)}},{key:"onRelease",value:function(t){if((new Date).valueOf()-this.touchTime>10){var e=this.getPointer(t.center);this.selectionHandler.generateClickEvent("release",t,e),this.touchTime=(new Date).valueOf()}}},{key:"onContext",value:function(t){var e=this.getPointer({x:t.clientX,y:t.clientY});this.selectionHandler.generateClickEvent("oncontext",t,e)}},{key:"checkSelectionChanges",value:function(t){!0===(arguments.length>1&&void 0!==arguments[1]&&arguments[1])?this.selectionHandler.selectAdditionalOnPoint(t):this.selectionHandler.selectOnPoint(t)}},{key:"_determineDifference",value:function(t,e){var i=function(t,e){for(var i=[],n=0;n<t.length;n++){var o=t[n];-1===Lv(e).call(e,o)&&i.push(o)}return i};return{nodes:i(t.nodes,e.nodes),edges:i(t.edges,e.edges)}}},{key:"onDragStart",value:function(t){if(!this.drag.dragging){void 0===this.drag.pointer&&this.onTouch(t);var e=this.selectionHandler.getNodeAt(this.drag.pointer);if(this.drag.dragging=!0,this.drag.selection=[],this.drag.translation=mn({},this.body.view.translation),this.drag.nodeId=void 0,t.srcEvent.shiftKey){this.body.selectionBox.show=!0;var i=this.getPointer(t.center);this.body.selectionBox.position.start={x:this.canvas._XconvertDOMtoCanvas(i.x),y:this.canvas._YconvertDOMtoCanvas(i.y)},this.body.selectionBox.position.end={x:this.canvas._XconvertDOMtoCanvas(i.x),y:this.canvas._YconvertDOMtoCanvas(i.y)}}else if(void 0!==e&&!0===this.options.dragNodes){this.drag.nodeId=e.id,!1===e.isSelected()&&this.selectionHandler.setSelection({nodes:[e.id]}),this.selectionHandler.generateClickEvent("dragStart",t,this.drag.pointer);var n,o=uI(this.selectionHandler.getSelectedNodes());try{for(o.s();!(n=o.n()).done;){var r=n.value,s={id:r.id,node:r,x:r.x,y:r.y,xFixed:r.options.fixed.x,yFixed:r.options.fixed.y};r.options.fixed.x=!0,r.options.fixed.y=!0,this.drag.selection.push(s)}}catch(t){o.e(t)}finally{o.f()}}else this.selectionHandler.generateClickEvent("dragStart",t,this.drag.pointer,void 0,!0)}}},{key:"onDrag",value:function(t){var e=this;if(!0!==this.drag.pinched){this.body.emitter.emit("unlockNode");var i=this.getPointer(t.center),n=this.drag.selection;if(n&&n.length&&!0===this.options.dragNodes){this.selectionHandler.generateClickEvent("dragging",t,i);var o=i.x-this.drag.pointer.x,r=i.y-this.drag.pointer.y;Bf(n).call(n,(function(t){var i=t.node;!1===t.xFixed&&(i.x=e.canvas._XconvertDOMtoCanvas(e.canvas._XconvertCanvasToDOM(t.x)+o)),!1===t.yFixed&&(i.y=e.canvas._YconvertDOMtoCanvas(e.canvas._YconvertCanvasToDOM(t.y)+r))})),this.body.emitter.emit("startSimulation")}else{if(t.srcEvent.shiftKey){if(this.selectionHandler.generateClickEvent("dragging",t,i,void 0,!0),void 0===this.drag.pointer)return void this.onDragStart(t);this.body.selectionBox.position.end={x:this.canvas._XconvertDOMtoCanvas(i.x),y:this.canvas._YconvertDOMtoCanvas(i.y)},this.body.emitter.emit("_requestRedraw")}if(!0===this.options.dragView&&!t.srcEvent.shiftKey){if(this.selectionHandler.generateClickEvent("dragging",t,i,void 0,!0),void 0===this.drag.pointer)return void this.onDragStart(t);var s=i.x-this.drag.pointer.x,a=i.y-this.drag.pointer.y;this.body.view.translation={x:this.drag.translation.x+s,y:this.drag.translation.y+a},this.body.emitter.emit("_requestRedraw")}}}}},{key:"onDragEnd",value:function(t){var e=this;if(this.drag.dragging=!1,this.body.selectionBox.show){var i;this.body.selectionBox.show=!1;var n=this.body.selectionBox.position,o={minX:Math.min(n.start.x,n.end.x),minY:Math.min(n.start.y,n.end.y),maxX:Math.max(n.start.x,n.end.x),maxY:Math.max(n.start.y,n.end.y)},r=Zp(i=this.body.nodeIndices).call(i,(function(t){var i=e.body.nodes[t];return i.x>=o.minX&&i.x<=o.maxX&&i.y>=o.minY&&i.y<=o.maxY}));Bf(r).call(r,(function(t){return e.selectionHandler.selectObject(e.body.nodes[t])}));var s=this.getPointer(t.center);this.selectionHandler.commitAndEmit(s,t),this.selectionHandler.generateClickEvent("dragEnd",t,this.getPointer(t.center),void 0,!0),this.body.emitter.emit("_requestRedraw")}else{var a=this.drag.selection;a&&a.length?(Bf(a).call(a,(function(t){t.node.options.fixed.x=t.xFixed,t.node.options.fixed.y=t.yFixed})),this.selectionHandler.generateClickEvent("dragEnd",t,this.getPointer(t.center)),this.body.emitter.emit("startSimulation")):(this.selectionHandler.generateClickEvent("dragEnd",t,this.getPointer(t.center),void 0,!0),this.body.emitter.emit("_requestRedraw"))}}},{key:"onPinch",value:function(t){var e=this.getPointer(t.center);this.drag.pinched=!0,void 0===this.pinch.scale&&(this.pinch.scale=1);var i=this.pinch.scale*t.scale;this.zoom(i,e)}},{key:"zoom",value:function(t,e){if(!0===this.options.zoomView){var i=this.body.view.scale;t<1e-5&&(t=1e-5),t>10&&(t=10);var n=void 0;void 0!==this.drag&&!0===this.drag.dragging&&(n=this.canvas.DOMtoCanvas(this.drag.pointer));var o=this.body.view.translation,r=t/i,s=(1-r)*e.x+o.x*r,a=(1-r)*e.y+o.y*r;if(this.body.view.scale=t,this.body.view.translation={x:s,y:a},null!=n){var h=this.canvas.canvasToDOM(n);this.drag.pointer.x=h.x,this.drag.pointer.y=h.y}this.body.emitter.emit("_requestRedraw"),i<t?this.body.emitter.emit("zoom",{direction:"+",scale:this.body.view.scale,pointer:e}):this.body.emitter.emit("zoom",{direction:"-",scale:this.body.view.scale,pointer:e})}}},{key:"onMouseWheel",value:function(t){if(!0===this.options.zoomView){if(0!==t.deltaY){var e=this.body.view.scale;e*=1+(t.deltaY<0?1:-1)*(.1*this.options.zoomSpeed);var i=this.getPointer({x:t.clientX,y:t.clientY});this.zoom(e,i)}t.preventDefault()}}},{key:"onMouseMove",value:function(t){var e=this,i=this.getPointer({x:t.clientX,y:t.clientY}),n=!1;void 0!==this.popup&&(!1===this.popup.hidden&&this._checkHidePopup(i),!1===this.popup.hidden&&(n=!0,this.popup.setPosition(i.x+3,i.y-5),this.popup.show())),this.options.keyboard.autoFocus&&!1===this.options.keyboard.bindToWindow&&!0===this.options.keyboard.enabled&&this.canvas.frame.focus(),!1===n&&(void 0!==this.popupTimer&&(clearInterval(this.popupTimer),this.popupTimer=void 0),this.drag.dragging||(this.popupTimer=vg((function(){return e._checkShowPopup(i)}),this.options.tooltipDelay))),!0===this.options.hover&&this.selectionHandler.hoverObject(t,i)}},{key:"_checkShowPopup",value:function(t){var e=this.canvas._XconvertDOMtoCanvas(t.x),i=this.canvas._YconvertDOMtoCanvas(t.y),n={left:e,top:i,right:e,bottom:i},o=void 0===this.popupObj?void 0:this.popupObj.id,r=!1,s="node";if(void 0===this.popupObj){for(var a,h=this.body.nodeIndices,l=this.body.nodes,d=[],c=0;c<h.length;c++)!0===(a=l[h[c]]).isOverlappingWith(n)&&(r=!0,void 0!==a.getTitle()&&d.push(h[c]));d.length>0&&(this.popupObj=l[d[d.length-1]],r=!0)}if(void 0===this.popupObj&&!1===r){for(var u,f=this.body.edgeIndices,p=this.body.edges,v=[],g=0;g<f.length;g++)!0===(u=p[f[g]]).isOverlappingWith(n)&&!0===u.connected&&void 0!==u.getTitle()&&v.push(f[g]);v.length>0&&(this.popupObj=p[v[v.length-1]],s="edge")}void 0!==this.popupObj?this.popupObj.id!==o&&(void 0===this.popup&&(this.popup=new Ib(this.canvas.frame)),this.popup.popupTargetType=s,this.popup.popupTargetId=this.popupObj.id,this.popup.setPosition(t.x+3,t.y-5),this.popup.setText(this.popupObj.getTitle()),this.popup.show(),this.body.emitter.emit("showPopup",this.popupObj.id)):void 0!==this.popup&&(this.popup.hide(),this.body.emitter.emit("hidePopup"))}},{key:"_checkHidePopup",value:function(t){var e=this.selectionHandler._pointerToPositionObject(t),i=!1;if("node"===this.popup.popupTargetType){if(void 0!==this.body.nodes[this.popup.popupTargetId]&&!0===(i=this.body.nodes[this.popup.popupTargetId].isOverlappingWith(e))){var n=this.selectionHandler.getNodeAt(t);i=void 0!==n&&n.id===this.popup.popupTargetId}}else void 0===this.selectionHandler.getNodeAt(t)&&void 0!==this.body.edges[this.popup.popupTargetId]&&(i=this.body.edges[this.popup.popupTargetId].isOverlappingWith(e));!1===i&&(this.popupObj=void 0,this.popup.hide(),this.body.emitter.emit("hidePopup"))}}]),t}(),vI=g,gI=_k,yI=Hw.getWeakData,mI=ok,bI=ei,wI=U,kI=tt,_I=ek,xI=Zt,EI=Ro.set,OI=Ro.getterFor,CI=Il.find,SI=Il.findIndex,TI=vI([].splice),MI=0,PI=function(t){return t.frozen||(t.frozen=new DI)},DI=function(){this.entries=[]},II=function(t,e){return CI(t.entries,(function(t){return t[0]===e}))};DI.prototype={get:function(t){var e=II(this,t);if(e)return e[1]},has:function(t){return!!II(this,t)},set:function(t,e){var i=II(this,t);i?i[1]=e:this.entries.push([t,e])},delete:function(t){var e=SI(this.entries,(function(e){return e[0]===t}));return~e&&TI(this.entries,e,1),!!~e}};var BI,NI={getConstructor:function(t,e,i,n){var o=t((function(t,o){mI(t,r),EI(t,{type:e,id:MI++,frozen:void 0}),wI(o)||_I(o,t[n],{that:t,AS_ENTRIES:i})})),r=o.prototype,s=OI(e),a=function(t,e,i){var n=s(t),o=yI(bI(e),!0);return!0===o?PI(n).set(e,i):o[n.id]=i,t};return gI(r,{delete:function(t){var e=s(this);if(!kI(t))return!1;var i=yI(t);return!0===i?PI(e).delete(t):i&&xI(i,e.id)&&delete i[e.id]},has:function(t){var e=s(this);if(!kI(t))return!1;var i=yI(t);return!0===i?PI(e).has(t):i&&xI(i,e.id)}}),gI(r,i?{get:function(t){var e=s(this);if(kI(t)){var i=yI(t);return!0===i?PI(e).get(t):i?i[e.id]:void 0}},set:function(t,e){return a(this,t,e)}}:{add:function(t){return a(this,t,!0)}}),o}},FI=Ow,zI=o,AI=g,jI=_k,RI=Hw,LI=wk,HI=NI,WI=tt,qI=Ro.enforce,VI=r,UI=_o,YI=Object,XI=Array.isArray,GI=YI.isExtensible,KI=YI.isFrozen,$I=YI.isSealed,ZI=YI.freeze,QI=YI.seal,JI={},tB={},eB=!zI.ActiveXObject&&"ActiveXObject"in zI,iB=function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},nB=LI("WeakMap",iB,HI),oB=nB.prototype,rB=AI(oB.set);if(UI)if(eB){BI=HI.getConstructor(iB,"WeakMap",!0),RI.enable();var sB=AI(oB.delete),aB=AI(oB.has),hB=AI(oB.get);jI(oB,{delete:function(t){if(WI(t)&&!GI(t)){var e=qI(this);return e.frozen||(e.frozen=new BI),sB(this,t)||e.frozen.delete(t)}return sB(this,t)},has:function(t){if(WI(t)&&!GI(t)){var e=qI(this);return e.frozen||(e.frozen=new BI),aB(this,t)||e.frozen.has(t)}return aB(this,t)},get:function(t){if(WI(t)&&!GI(t)){var e=qI(this);return e.frozen||(e.frozen=new BI),aB(this,t)?hB(this,t):e.frozen.get(t)}return hB(this,t)},set:function(t,e){if(WI(t)&&!GI(t)){var i=qI(this);i.frozen||(i.frozen=new BI),aB(this,t)?rB(this,t,e):i.frozen.set(t,e)}else rB(this,t,e);return this}})}else FI&&VI((function(){var t=ZI([]);return rB(new nB,t,1),!KI(t)}))&&jI(oB,{set:function(t,e){var i;return XI(t)&&(KI(t)?i=JI:$I(t)&&(i=tB)),rB(this,t,e),i==JI&&ZI(t),i==tB&&QI(t),this}});var lB,dB,cB,uB,fB,pB=i(et.WeakMap);function vB(t,e,i,n){if("a"===i&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?n:"a"===i?n.call(t):n?n.value:e.get(t)}function gB(t,e,i,n,o){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?o.call(t,i):o?o.value=i:e.set(t,i),i}function yB(t,e){var i=void 0!==Vu&&dh(t)||t["@@iterator"];if(!i){if(sf(t)||(i=function(t,e){var i;if(!t)return;if("string"==typeof t)return mB(t,e);var n=Zu(i=Object.prototype.toString.call(t)).call(i,8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Ua(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return mB(t,e)}(t))||e&&t&&"number"==typeof t.length){i&&(t=i);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}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 r,s=!0,a=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return s=t.done,t},e:function(t){a=!0,r=t},f:function(){try{s||null==i.return||i.return()}finally{if(a)throw r}}}}function mB(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}function bB(t,e){var i,n=new aS,o=yB(e);try{for(o.s();!(i=o.n()).done;){var r=i.value;t.has(r)||n.add(r)}}catch(t){o.e(t)}finally{o.f()}return n}var wB=function(){function t(){ch(this,t),lB.set(this,new aS),dB.set(this,new aS)}return pu(t,[{key:"size",get:function(){return vB(this,dB,"f").size}},{key:"add",value:function(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];for(var n=0,o=e;n<o.length;n++){var r=o[n];vB(this,dB,"f").add(r)}}},{key:"delete",value:function(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];for(var n=0,o=e;n<o.length;n++){var r=o[n];vB(this,dB,"f").delete(r)}}},{key:"clear",value:function(){vB(this,dB,"f").clear()}},{key:"getSelection",value:function(){return qu(vB(this,dB,"f"))}},{key:"getChanges",value:function(){return{added:qu(bB(vB(this,lB,"f"),vB(this,dB,"f"))),deleted:qu(bB(vB(this,dB,"f"),vB(this,lB,"f"))),previous:qu(new aS(vB(this,lB,"f"))),current:qu(new aS(vB(this,dB,"f")))}}},{key:"commit",value:function(){var t=this.getChanges();gB(this,lB,vB(this,dB,"f"),"f"),gB(this,dB,new aS(vB(this,lB,"f")),"f");var e,i=yB(t.added);try{for(i.s();!(e=i.n()).done;){e.value.select()}}catch(t){i.e(t)}finally{i.f()}var n,o=yB(t.deleted);try{for(o.s();!(n=o.n()).done;){n.value.unselect()}}catch(t){o.e(t)}finally{o.f()}return t}}]),t}();lB=new pB,dB=new pB;var kB=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){};ch(this,t),cB.set(this,new wB),uB.set(this,new wB),fB.set(this,void 0),gB(this,fB,e,"f")}return pu(t,[{key:"sizeNodes",get:function(){return vB(this,cB,"f").size}},{key:"sizeEdges",get:function(){return vB(this,uB,"f").size}},{key:"getNodes",value:function(){return vB(this,cB,"f").getSelection()}},{key:"getEdges",value:function(){return vB(this,uB,"f").getSelection()}},{key:"addNodes",value:function(){var t;(t=vB(this,cB,"f")).add.apply(t,arguments)}},{key:"addEdges",value:function(){var t;(t=vB(this,uB,"f")).add.apply(t,arguments)}},{key:"deleteNodes",value:function(t){vB(this,cB,"f").delete(t)}},{key:"deleteEdges",value:function(t){vB(this,uB,"f").delete(t)}},{key:"clear",value:function(){vB(this,cB,"f").clear(),vB(this,uB,"f").clear()}},{key:"commit",value:function(){for(var t,e,i={nodes:vB(this,cB,"f").commit(),edges:vB(this,uB,"f").commit()},n=arguments.length,o=new Array(n),r=0;r<n;r++)o[r]=arguments[r];return(t=vB(this,fB,"f")).call.apply(t,$u(e=[this,i]).call(e,o)),i}}]),t}();function _B(t,e){var i=void 0!==Vu&&dh(t)||t["@@iterator"];if(!i){if(sf(t)||(i=function(t,e){var i;if(!t)return;if("string"==typeof t)return xB(t,e);var n=Zu(i=Object.prototype.toString.call(t)).call(i,8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Ua(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return xB(t,e)}(t))||e&&t&&"number"==typeof t.length){i&&(t=i);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}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 r,s=!0,a=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return s=t.done,t},e:function(t){a=!0,r=t},f:function(){try{s||null==i.return||i.return()}finally{if(a)throw r}}}}function xB(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}cB=new pB,uB=new pB,fB=new pB;var EB=function(){function t(e,i){var n=this;ch(this,t),this.body=e,this.canvas=i,this._selectionAccumulator=new kB,this.hoverObj={nodes:{},edges:{}},this.options={},this.defaultOptions={multiselect:!1,selectable:!0,selectConnectedEdges:!0,hoverConnectedEdges:!0},mn(this.options,this.defaultOptions),this.body.emitter.on("_dataChanged",(function(){n.updateSelection()}))}return pu(t,[{key:"setOptions",value:function(t){if(void 0!==t){Um(["multiselect","hoverConnectedEdges","selectable","selectConnectedEdges"],this.options,t)}}},{key:"selectOnPoint",value:function(t){var e=!1;if(!0===this.options.selectable){var i=this.getNodeAt(t)||this.getEdgeAt(t);this.unselectAll(),void 0!==i&&(e=this.selectObject(i)),this.body.emitter.emit("_requestRedraw")}return e}},{key:"selectAdditionalOnPoint",value:function(t){var e=!1;if(!0===this.options.selectable){var i=this.getNodeAt(t)||this.getEdgeAt(t);void 0!==i&&(e=!0,!0===i.isSelected()?this.deselectObject(i):this.selectObject(i),this.body.emitter.emit("_requestRedraw"))}return e}},{key:"_initBaseEvent",value:function(t,e){var i={};return i.pointer={DOM:{x:e.x,y:e.y},canvas:this.canvas.DOMtoCanvas(e)},i.event=t,i}},{key:"generateClickEvent",value:function(t,e,i,n){var o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],r=this._initBaseEvent(e,i);if(!0===o)r.nodes=[],r.edges=[];else{var s=this.getSelection();r.nodes=s.nodes,r.edges=s.edges}void 0!==n&&(r.previousSelection=n),"click"==t&&(r.items=this.getClickedItems(i)),void 0!==e.controlEdge&&(r.controlEdge=e.controlEdge),this.body.emitter.emit(t,r)}},{key:"selectObject",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.options.selectConnectedEdges;if(void 0!==t){if(t instanceof qP){var i;if(!0===e)(i=this._selectionAccumulator).addEdges.apply(i,qu(t.edges));this._selectionAccumulator.addNodes(t)}else this._selectionAccumulator.addEdges(t);return!0}return!1}},{key:"deselectObject",value:function(t){!0===t.isSelected()&&(t.selected=!1,this._removeFromSelection(t))}},{key:"_getAllNodesOverlappingWith",value:function(t){for(var e=[],i=this.body.nodes,n=0;n<this.body.nodeIndices.length;n++){var o=this.body.nodeIndices[n];i[o].isOverlappingWith(t)&&e.push(o)}return e}},{key:"_pointerToPositionObject",value:function(t){var e=this.canvas.DOMtoCanvas(t);return{left:e.x-1,top:e.y+1,right:e.x+1,bottom:e.y-1}}},{key:"getNodeAt",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this._pointerToPositionObject(t),n=this._getAllNodesOverlappingWith(i);return n.length>0?!0===e?this.body.nodes[n[n.length-1]]:n[n.length-1]:void 0}},{key:"_getEdgesOverlappingWith",value:function(t,e){for(var i=this.body.edges,n=0;n<this.body.edgeIndices.length;n++){var o=this.body.edgeIndices[n];i[o].isOverlappingWith(t)&&e.push(o)}}},{key:"_getAllEdgesOverlappingWith",value:function(t){var e=[];return this._getEdgesOverlappingWith(t,e),e}},{key:"getEdgeAt",value:function(t){for(var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this.canvas.DOMtoCanvas(t),n=10,o=null,r=this.body.edges,s=0;s<this.body.edgeIndices.length;s++){var a=this.body.edgeIndices[s],h=r[a];if(h.connected){var l=h.from.x,d=h.from.y,c=h.to.x,u=h.to.y,f=h.edgeType.getDistanceToEdge(l,d,c,u,i.x,i.y);f<n&&(o=a,n=f)}}return null!==o?!0===e?this.body.edges[o]:o:void 0}},{key:"_addToHover",value:function(t){t instanceof qP?this.hoverObj.nodes[t.id]=t:this.hoverObj.edges[t.id]=t}},{key:"_removeFromSelection",value:function(t){var e;t instanceof qP?(this._selectionAccumulator.deleteNodes(t),(e=this._selectionAccumulator).deleteEdges.apply(e,qu(t.edges))):this._selectionAccumulator.deleteEdges(t)}},{key:"unselectAll",value:function(){this._selectionAccumulator.clear()}},{key:"getSelectedNodeCount",value:function(){return this._selectionAccumulator.sizeNodes}},{key:"getSelectedEdgeCount",value:function(){return this._selectionAccumulator.sizeEdges}},{key:"_hoverConnectedEdges",value:function(t){for(var e=0;e<t.edges.length;e++){var i=t.edges[e];i.hover=!0,this._addToHover(i)}}},{key:"emitBlurEvent",value:function(t,e,i){var n=this._initBaseEvent(t,e);!0===i.hover&&(i.hover=!1,i instanceof qP?(n.node=i.id,this.body.emitter.emit("blurNode",n)):(n.edge=i.id,this.body.emitter.emit("blurEdge",n)))}},{key:"emitHoverEvent",value:function(t,e,i){var n=this._initBaseEvent(t,e),o=!1;return!1===i.hover&&(i.hover=!0,this._addToHover(i),o=!0,i instanceof qP?(n.node=i.id,this.body.emitter.emit("hoverNode",n)):(n.edge=i.id,this.body.emitter.emit("hoverEdge",n))),o}},{key:"hoverObject",value:function(t,e){var i=this.getNodeAt(e);void 0===i&&(i=this.getEdgeAt(e));var n=!1;for(var o in this.hoverObj.nodes)Object.prototype.hasOwnProperty.call(this.hoverObj.nodes,o)&&(void 0===i||i instanceof qP&&i.id!=o||i instanceof LD)&&(this.emitBlurEvent(t,e,this.hoverObj.nodes[o]),delete this.hoverObj.nodes[o],n=!0);for(var r in this.hoverObj.edges)Object.prototype.hasOwnProperty.call(this.hoverObj.edges,r)&&(!0===n?(this.hoverObj.edges[r].hover=!1,delete this.hoverObj.edges[r]):(void 0===i||i instanceof LD&&i.id!=r||i instanceof qP&&!i.hover)&&(this.emitBlurEvent(t,e,this.hoverObj.edges[r]),delete this.hoverObj.edges[r],n=!0));if(void 0!==i){var s=gf(this.hoverObj.edges).length,a=gf(this.hoverObj.nodes).length;(n||i instanceof LD&&0===s&&0===a||i instanceof qP&&0===s&&0===a)&&(n=this.emitHoverEvent(t,e,i)),i instanceof qP&&!0===this.options.hoverConnectedEdges&&this._hoverConnectedEdges(i)}!0===n&&this.body.emitter.emit("_requestRedraw")}},{key:"commitWithoutEmitting",value:function(){this._selectionAccumulator.commit()}},{key:"commitAndEmit",value:function(t,e){var i=!1,n=this._selectionAccumulator.commit(),o={nodes:n.nodes.previous,edges:n.edges.previous};n.edges.deleted.length>0&&(this.generateClickEvent("deselectEdge",e,t,o),i=!0),n.nodes.deleted.length>0&&(this.generateClickEvent("deselectNode",e,t,o),i=!0),n.nodes.added.length>0&&(this.generateClickEvent("selectNode",e,t),i=!0),n.edges.added.length>0&&(this.generateClickEvent("selectEdge",e,t),i=!0),!0===i&&this.generateClickEvent("select",e,t)}},{key:"getSelection",value:function(){return{nodes:this.getSelectedNodeIds(),edges:this.getSelectedEdgeIds()}}},{key:"getSelectedNodes",value:function(){return this._selectionAccumulator.getNodes()}},{key:"getSelectedEdges",value:function(){return this._selectionAccumulator.getEdges()}},{key:"getSelectedNodeIds",value:function(){var t;return ff(t=this._selectionAccumulator.getNodes()).call(t,(function(t){return t.id}))}},{key:"getSelectedEdgeIds",value:function(){var t;return ff(t=this._selectionAccumulator.getEdges()).call(t,(function(t){return t.id}))}},{key:"setSelection",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!t||!t.nodes&&!t.edges)throw new TypeError("Selection must be an object with nodes and/or edges properties");if((e.unselectAll||void 0===e.unselectAll)&&this.unselectAll(),t.nodes){var i,n=_B(t.nodes);try{for(n.s();!(i=n.n()).done;){var o=i.value,r=this.body.nodes[o];if(!r)throw new RangeError('Node with id "'+o+'" not found');this.selectObject(r,e.highlightEdges)}}catch(t){n.e(t)}finally{n.f()}}if(t.edges){var s,a=_B(t.edges);try{for(a.s();!(s=a.n()).done;){var h=s.value,l=this.body.edges[h];if(!l)throw new RangeError('Edge with id "'+h+'" not found');this.selectObject(l)}}catch(t){a.e(t)}finally{a.f()}}this.body.emitter.emit("_requestRedraw"),this._selectionAccumulator.commit()}},{key:"selectNodes",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(!t||void 0===t.length)throw"Selection must be an array with ids";this.setSelection({nodes:t},{highlightEdges:e})}},{key:"selectEdges",value:function(t){if(!t||void 0===t.length)throw"Selection must be an array with ids";this.setSelection({edges:t})}},{key:"updateSelection",value:function(){for(var t in this._selectionAccumulator.getNodes())Object.prototype.hasOwnProperty.call(this.body.nodes,t.id)||this._selectionAccumulator.deleteNodes(t);for(var e in this._selectionAccumulator.getEdges())Object.prototype.hasOwnProperty.call(this.body.edges,e.id)||this._selectionAccumulator.deleteEdges(e)}},{key:"getClickedItems",value:function(t){for(var e=this.canvas.DOMtoCanvas(t),i=[],n=this.body.nodeIndices,o=this.body.nodes,r=n.length-1;r>=0;r--){var s=o[n[r]].getItemsOnPoint(e);i.push.apply(i,s)}for(var a=this.body.edgeIndices,h=this.body.edges,l=a.length-1;l>=0;l--){var d=h[a[l]].getItemsOnPoint(e);i.push.apply(i,d)}return i}}]),t}();function OB(t){var e=function(){if("undefined"==typeof Reflect||!zT)return!1;if(zT.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(zT(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=f_(t);if(e){var o=f_(this).constructor;i=zT(n,arguments,o)}else i=n.apply(this,arguments);return d_(this,i)}}var CB=function(){function t(){ch(this,t)}return pu(t,[{key:"abstract",value:function(){throw new Error("Can't instantiate abstract class!")}},{key:"fake_use",value:function(){}},{key:"curveType",value:function(){return this.abstract()}},{key:"getPosition",value:function(t){return this.fake_use(t),this.abstract()}},{key:"setPosition",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;this.fake_use(t,e,i),this.abstract()}},{key:"getTreeSize",value:function(t){return this.fake_use(t),this.abstract()}},{key:"sort",value:function(t){this.fake_use(t),this.abstract()}},{key:"fix",value:function(t,e){this.fake_use(t,e),this.abstract()}},{key:"shift",value:function(t,e){this.fake_use(t,e),this.abstract()}}]),t}(),SB=function(t){l_(i,t);var e=OB(i);function i(t){var n;return ch(this,i),(n=e.call(this)).layout=t,n}return pu(i,[{key:"curveType",value:function(){return"horizontal"}},{key:"getPosition",value:function(t){return t.x}},{key:"setPosition",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;void 0!==i&&this.layout.hierarchical.addToOrdering(t,i),t.x=e}},{key:"getTreeSize",value:function(t){var e=this.layout.hierarchical.getTreeSize(this.layout.body.nodes,t);return{min:e.min_x,max:e.max_x}}},{key:"sort",value:function(t){XS(t).call(t,(function(t,e){return t.x-e.x}))}},{key:"fix",value:function(t,e){t.y=this.layout.options.hierarchical.levelSeparation*e,t.options.fixed.y=!0}},{key:"shift",value:function(t,e){this.layout.body.nodes[t].x+=e}}]),i}(CB),TB=function(t){l_(i,t);var e=OB(i);function i(t){var n;return ch(this,i),(n=e.call(this)).layout=t,n}return pu(i,[{key:"curveType",value:function(){return"vertical"}},{key:"getPosition",value:function(t){return t.y}},{key:"setPosition",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;void 0!==i&&this.layout.hierarchical.addToOrdering(t,i),t.y=e}},{key:"getTreeSize",value:function(t){var e=this.layout.hierarchical.getTreeSize(this.layout.body.nodes,t);return{min:e.min_y,max:e.max_y}}},{key:"sort",value:function(t){t((function(t,e){return t.y-e.y}))}},{key:"fix",value:function(t,e){t.x=this.layout.options.hierarchical.levelSeparation*e,t.options.fixed.x=!0}},{key:"shift",value:function(t,e){this.layout.body.nodes[t].y+=e}}]),i}(CB),MB=Il.every;Si({target:"Array",proto:!0,forced:!_f("every")},{every:function(t){return MB(this,t,arguments.length>1?arguments[1]:void 0)}});var PB=Bn("Array").every,DB=at,IB=PB,BB=Array.prototype,NB=function(t){var e=t.every;return t===BB||DB(BB,t)&&e===BB.every?IB:e},FB=i(NB);function zB(t,e){var i=void 0!==Vu&&dh(t)||t["@@iterator"];if(!i){if(sf(t)||(i=function(t,e){var i;if(!t)return;if("string"==typeof t)return AB(t,e);var n=Zu(i=Object.prototype.toString.call(t)).call(i,8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Ua(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return AB(t,e)}(t))||e&&t&&"number"==typeof t.length){i&&(t=i);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}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 r,s=!0,a=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return s=t.done,t},e:function(t){a=!0,r=t},f:function(){try{s||null==i.return||i.return()}finally{if(a)throw r}}}}function AB(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}function jB(t,e){var i=new aS;return Bf(t).call(t,(function(t){var e;Bf(e=t.edges).call(e,(function(t){t.connected&&i.add(t)}))})),Bf(i).call(i,(function(t){var i=t.from.id,n=t.to.id;null==e[i]&&(e[i]=0),(null==e[n]||e[i]>=e[n])&&(e[n]=e[i]+1)})),e}function RB(t,e,i,n){var o,r,s=Uv(null),a=VC(o=qu(cT(n).call(n))).call(o,(function(t,e){return t+1+e.edges.length}),0),h=i+"Id",l="to"===i?1:-1,d=zB(n);try{var c=function(){var o=Wu(r.value,2),d=o[0],c=o[1];if(!n.has(d)||!t(c))return"continue";s[d]=0;for(var u,f=[c],p=0,v=function(){var t,o;if(!n.has(d))return"continue";var r=s[u.id]+l;if(Bf(t=Zp(o=u.edges).call(o,(function(t){return t.connected&&t.to!==t.from&&t[i]!==u&&n.has(t.toId)&&n.has(t.fromId)}))).call(t,(function(t){var n=t[h],o=s[n];(null==o||e(r,o))&&(s[n]=r,f.push(t[i]))})),p>a)return{v:{v:jB(n,s)}};++p};u=f.pop();){var g=v();if("continue"!==g&&"object"===du(g))return g.v}};for(d.s();!(r=d.n()).done;){var u=c();if("continue"!==u&&"object"===du(u))return u.v}}catch(t){d.e(t)}finally{d.f()}return s}var LB=function(){function t(){ch(this,t),this.childrenReference={},this.parentReference={},this.trees={},this.distributionOrdering={},this.levels={},this.distributionIndex={},this.isTree=!1,this.treeIndex=-1}return pu(t,[{key:"addRelation",value:function(t,e){void 0===this.childrenReference[t]&&(this.childrenReference[t]=[]),this.childrenReference[t].push(e),void 0===this.parentReference[e]&&(this.parentReference[e]=[]),this.parentReference[e].push(t)}},{key:"checkIfTree",value:function(){for(var t in this.parentReference)if(this.parentReference[t].length>1)return void(this.isTree=!1);this.isTree=!0}},{key:"numTrees",value:function(){return this.treeIndex+1}},{key:"setTreeIndex",value:function(t,e){void 0!==e&&void 0===this.trees[t.id]&&(this.trees[t.id]=e,this.treeIndex=Math.max(e,this.treeIndex))}},{key:"ensureLevel",value:function(t){void 0===this.levels[t]&&(this.levels[t]=0)}},{key:"getMaxLevel",value:function(t){var e=this,i={};return function t(n){if(void 0!==i[n])return i[n];var o=e.levels[n];if(e.childrenReference[n]){var r=e.childrenReference[n];if(r.length>0)for(var s=0;s<r.length;s++)o=Math.max(o,t(r[s]))}return i[n]=o,o}(t)}},{key:"levelDownstream",value:function(t,e){void 0===this.levels[e.id]&&(void 0===this.levels[t.id]&&(this.levels[t.id]=0),this.levels[e.id]=this.levels[t.id]+1)}},{key:"setMinLevelToZero",value:function(t){var e=1e9;for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&void 0!==this.levels[i]&&(e=Math.min(this.levels[i],e));for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&void 0!==this.levels[n]&&(this.levels[n]-=e)}},{key:"getTreeSize",value:function(t,e){var i=1e9,n=-1e9,o=1e9,r=-1e9;for(var s in this.trees)if(Object.prototype.hasOwnProperty.call(this.trees,s)&&this.trees[s]===e){var a=t[s];i=Math.min(a.x,i),n=Math.max(a.x,n),o=Math.min(a.y,o),r=Math.max(a.y,r)}return{min_x:i,max_x:n,min_y:o,max_y:r}}},{key:"hasSameParent",value:function(t,e){var i=this.parentReference[t.id],n=this.parentReference[e.id];if(void 0===i||void 0===n)return!1;for(var o=0;o<i.length;o++)for(var r=0;r<n.length;r++)if(i[o]==n[r])return!0;return!1}},{key:"inSameSubNetwork",value:function(t,e){return this.trees[t.id]===this.trees[e.id]}},{key:"getLevels",value:function(){return gf(this.distributionOrdering)}},{key:"addToOrdering",value:function(t,e){void 0===this.distributionOrdering[e]&&(this.distributionOrdering[e]=[]);var i=!1,n=this.distributionOrdering[e];for(var o in n)if(n[o]===t){i=!0;break}i||(this.distributionOrdering[e].push(t),this.distributionIndex[t.id]=this.distributionOrdering[e].length-1)}}]),t}(),HB=function(){function t(e){ch(this,t),this.body=e,this._resetRNG(Math.random()+":"+wf()),this.setPhysics=!1,this.options={},this.optionsBackup={physics:{}},this.defaultOptions={randomSeed:void 0,improvedLayout:!0,clusterThreshold:150,hierarchical:{enabled:!1,levelSeparation:150,nodeSpacing:100,treeSpacing:200,blockShifting:!0,edgeMinimization:!0,parentCentralization:!0,direction:"UD",sortMethod:"hubsize"}},mn(this.options,this.defaultOptions),this.bindEventListeners()}return pu(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("_dataChanged",(function(){t.setupHierarchicalLayout()})),this.body.emitter.on("_dataLoaded",(function(){t.layoutNetwork()})),this.body.emitter.on("_resetHierarchicalLayout",(function(){t.setupHierarchicalLayout()})),this.body.emitter.on("_adjustEdgesForHierarchicalLayout",(function(){if(!0===t.options.hierarchical.enabled){var e=t.direction.curveType();t.body.emitter.emit("_forceDisableDynamicCurves",e,!1)}}))}},{key:"setOptions",value:function(t,e){if(void 0!==t){var i=this.options.hierarchical,n=i.enabled;if(Um(["randomSeed","improvedLayout","clusterThreshold"],this.options,t),gb(this.options,t,"hierarchical"),void 0!==t.randomSeed&&this._resetRNG(t.randomSeed),!0===i.enabled)return!0===n&&this.body.emitter.emit("refresh",!0),"RL"===i.direction||"DU"===i.direction?i.levelSeparation>0&&(i.levelSeparation*=-1):i.levelSeparation<0&&(i.levelSeparation*=-1),this.setDirectionStrategy(),this.body.emitter.emit("_resetHierarchicalLayout"),this.adaptAllOptionsForHierarchicalLayout(e);if(!0===n)return this.body.emitter.emit("refresh"),Xm(e,this.optionsBackup)}return e}},{key:"_resetRNG",value:function(t){this.initialRandomSeed=t,this._rng=Pm(this.initialRandomSeed)}},{key:"adaptAllOptionsForHierarchicalLayout",value:function(t){if(!0===this.options.hierarchical.enabled){var e=this.optionsBackup.physics;void 0===t.physics||!0===t.physics?(t.physics={enabled:void 0===e.enabled||e.enabled,solver:"hierarchicalRepulsion"},e.enabled=void 0===e.enabled||e.enabled,e.solver=e.solver||"barnesHut"):"object"===du(t.physics)?(e.enabled=void 0===t.physics.enabled||t.physics.enabled,e.solver=t.physics.solver||"barnesHut",t.physics.solver="hierarchicalRepulsion"):!1!==t.physics&&(e.solver="barnesHut",t.physics={solver:"hierarchicalRepulsion"});var i=this.direction.curveType();if(void 0===t.edges)this.optionsBackup.edges={smooth:{enabled:!0,type:"dynamic"}},t.edges={smooth:!1};else if(void 0===t.edges.smooth)this.optionsBackup.edges={smooth:{enabled:!0,type:"dynamic"}},t.edges.smooth=!1;else if("boolean"==typeof t.edges.smooth)this.optionsBackup.edges={smooth:t.edges.smooth},t.edges.smooth={enabled:t.edges.smooth,type:i};else{var n=t.edges.smooth;void 0!==n.type&&"dynamic"!==n.type&&(i=n.type),this.optionsBackup.edges={smooth:{enabled:void 0===n.enabled||n.enabled,type:void 0===n.type?"dynamic":n.type,roundness:void 0===n.roundness?.5:n.roundness,forceDirection:void 0!==n.forceDirection&&n.forceDirection}},t.edges.smooth={enabled:void 0===n.enabled||n.enabled,type:i,roundness:void 0===n.roundness?.5:n.roundness,forceDirection:void 0!==n.forceDirection&&n.forceDirection}}this.body.emitter.emit("_forceDisableDynamicCurves",i)}return t}},{key:"positionInitially",value:function(t){if(!0!==this.options.hierarchical.enabled){this._resetRNG(this.initialRandomSeed);for(var e=t.length+50,i=0;i<t.length;i++){var n=t[i],o=2*Math.PI*this._rng();void 0===n.x&&(n.x=e*Math.cos(o)),void 0===n.y&&(n.y=e*Math.sin(o))}}}},{key:"layoutNetwork",value:function(){if(!0!==this.options.hierarchical.enabled&&!0===this.options.improvedLayout){for(var t=this.body.nodeIndices,e=0,i=0;i<t.length;i++){!0===this.body.nodes[t[i]].predefinedPosition&&(e+=1)}if(e<.5*t.length){var n=0,o=this.options.clusterThreshold,r={clusterNodeProperties:{shape:"ellipse",label:"",group:"",font:{multi:!1}},clusterEdgeProperties:{label:"",font:{multi:!1},smooth:{enabled:!1}}};if(t.length>o){for(var s=t.length;t.length>o&&n<=10;){n+=1;var a=t.length;if(n%3==0?this.body.modules.clustering.clusterBridges(r):this.body.modules.clustering.clusterOutliers(r),a==t.length&&n%3!=0)return this._declusterAll(),this.body.emitter.emit("_layoutFailed"),void console.info("This network could not be positioned by this version of the improved layout algorithm. Please disable improvedLayout for better performance.")}this.body.modules.kamadaKawai.setOptions({springLength:Math.max(150,2*s)})}n>10&&console.info("The clustering didn't succeed within the amount of interations allowed, progressing with partial result."),this.body.modules.kamadaKawai.solve(t,this.body.edgeIndices,!0),this._shiftToCenter();for(var h=0;h<t.length;h++){var l=this.body.nodes[t[h]];!1===l.predefinedPosition&&(l.x+=70*(.5-this._rng()),l.y+=70*(.5-this._rng()))}this._declusterAll(),this.body.emitter.emit("_repositionBezierNodes")}}}},{key:"_shiftToCenter",value:function(){for(var t=JD.getRangeCore(this.body.nodes,this.body.nodeIndices),e=JD.findCenter(t),i=0;i<this.body.nodeIndices.length;i++){var n=this.body.nodes[this.body.nodeIndices[i]];n.x-=e.x,n.y-=e.y}}},{key:"_declusterAll",value:function(){for(var t=!0;!0===t;){t=!1;for(var e=0;e<this.body.nodeIndices.length;e++)!0===this.body.nodes[this.body.nodeIndices[e]].isCluster&&(t=!0,this.body.modules.clustering.openCluster(this.body.nodeIndices[e],{},!1));!0===t&&this.body.emitter.emit("_dataChanged")}}},{key:"getSeed",value:function(){return this.initialRandomSeed}},{key:"setupHierarchicalLayout",value:function(){if(!0===this.options.hierarchical.enabled&&this.body.nodeIndices.length>0){var t,e,i=!1,n=!1;for(e in this.lastNodeOnLevel={},this.hierarchical=new LB,this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,e)&&(void 0!==(t=this.body.nodes[e]).options.level?(i=!0,this.hierarchical.levels[e]=t.options.level):n=!0);if(!0===n&&!0===i)throw new Error("To use the hierarchical layout, nodes require either no predefined levels or levels have to be defined for all nodes.");if(!0===n){var o=this.options.hierarchical.sortMethod;"hubsize"===o?this._determineLevelsByHubsize():"directed"===o?this._determineLevelsDirected():"custom"===o&&this._determineLevelsCustomCallback()}for(var r in this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,r)&&this.hierarchical.ensureLevel(r);var s=this._getDistribution();this._generateMap(),this._placeNodesByHierarchy(s),this._condenseHierarchy(),this._shiftToCenter()}}},{key:"_condenseHierarchy",value:function(){var t=this,e=!1,i={},n=function(e,i){var n=t.hierarchical.trees;for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&n[o]===e&&t.direction.shift(o,i)},o=function(){for(var e=[],i=0;i<t.hierarchical.numTrees();i++)e.push(t.direction.getTreeSize(i));return e},r=function e(i,n){if(!n[i.id]&&(n[i.id]=!0,t.hierarchical.childrenReference[i.id])){var o=t.hierarchical.childrenReference[i.id];if(o.length>0)for(var r=0;r<o.length;r++)e(t.body.nodes[o[r]],n)}},s=function(e){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e9,n=1e9,o=1e9,r=1e9,s=-1e9;for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){var h=t.body.nodes[a],l=t.hierarchical.levels[h.id],d=t.direction.getPosition(h),c=Wu(t._getSpaceAroundNode(h,e),2),u=c[0],f=c[1];n=Math.min(u,n),o=Math.min(f,o),l<=i&&(r=Math.min(d,r),s=Math.max(d,s))}return[r,s,n,o]},a=function(e,i,n){for(var o=t.hierarchical,r=0;r<i.length;r++){var s=i[r],a=o.distributionOrdering[s];if(a.length>1)for(var h=0;h<a.length-1;h++){var l=a[h],d=a[h+1];o.hasSameParent(l,d)&&o.inSameSubNetwork(l,d)&&e(l,d,n)}}},h=function(i,n){var o=arguments.length>2&&void 0!==arguments[2]&&arguments[2],a=t.direction.getPosition(i),h=t.direction.getPosition(n),l=Math.abs(h-a),d=t.options.hierarchical.nodeSpacing;if(l>d){var c={},u={};r(i,c),r(n,u);var f=function(e,i){var n=t.hierarchical.getMaxLevel(e.id),o=t.hierarchical.getMaxLevel(i.id);return Math.min(n,o)}(i,n),p=s(c,f),v=s(u,f),g=p[1],y=v[0],m=v[2];if(Math.abs(g-y)>d){var b=g-y+d;b<-m+d&&(b=-m+d),b<0&&(t._shiftBlock(n.id,b),e=!0,!0===o&&t._centerParent(n))}}},l=function(n,o){for(var a=o.id,h=o.edges,l=t.hierarchical.levels[o.id],d=t.options.hierarchical.levelSeparation*t.options.hierarchical.levelSeparation,c={},u=[],f=0;f<h.length;f++){var p=h[f];if(p.toId!=p.fromId){var v=p.toId==a?p.from:p.to;c[h[f].id]=v,t.hierarchical.levels[v.id]<l&&u.push(p)}}var g=function(e,i){for(var n=0,o=0;o<i.length;o++)if(void 0!==c[i[o].id]){var r=t.direction.getPosition(c[i[o].id])-e;n+=r/Math.sqrt(r*r+d)}return n},y=function(e,i){for(var n=0,o=0;o<i.length;o++)if(void 0!==c[i[o].id]){var r=t.direction.getPosition(c[i[o].id])-e;n-=d*Math.pow(r*r+d,-1.5)}return n},m=function(e,i){for(var n=t.direction.getPosition(o),r={},s=0;s<e;s++){var a=g(n,i),h=y(n,i);if(void 0!==r[n-=Math.max(-40,Math.min(40,Math.round(a/h)))])break;r[n]=s}return n},b=m(n,u);!function(n){var a=t.direction.getPosition(o);if(void 0===i[o.id]){var h={};r(o,h),i[o.id]=h}var l=s(i[o.id]),d=l[2],c=l[3],u=n-a,f=0;u>0?f=Math.min(u,c-t.options.hierarchical.nodeSpacing):u<0&&(f=-Math.min(-u,d-t.options.hierarchical.nodeSpacing)),0!=f&&(t._shiftBlock(o.id,f),e=!0)}(b),function(i){var n=t.direction.getPosition(o),r=Wu(t._getSpaceAroundNode(o),2),s=r[0],a=r[1],h=i-n,l=n;h>0?l=Math.min(n+(a-t.options.hierarchical.nodeSpacing),i):h<0&&(l=Math.max(n-(s-t.options.hierarchical.nodeSpacing),i)),l!==n&&(t.direction.setPosition(o,l),e=!0)}(b=m(n,h))};!0===this.options.hierarchical.blockShifting&&(function(i){var n=t.hierarchical.getLevels();n=Vf(n).call(n);for(var o=0;o<i&&(e=!1,a(h,n,!0),!0===e);o++);}(5),function(){for(var e in t.body.nodes)Object.prototype.hasOwnProperty.call(t.body.nodes,e)&&t._centerParent(t.body.nodes[e])}()),!0===this.options.hierarchical.edgeMinimization&&function(i){var n=t.hierarchical.getLevels();n=Vf(n).call(n);for(var o=0;o<i;o++){e=!1;for(var r=0;r<n.length;r++)for(var s=n[r],a=t.hierarchical.distributionOrdering[s],h=0;h<a.length;h++)l(1e3,a[h]);if(!0!==e)break}}(20),!0===this.options.hierarchical.parentCentralization&&function(){var e=t.hierarchical.getLevels();e=Vf(e).call(e);for(var i=0;i<e.length;i++)for(var n=e[i],o=t.hierarchical.distributionOrdering[n],r=0;r<o.length;r++)t._centerParent(o[r])}(),function(){for(var e=o(),i=0,r=0;r<e.length-1;r++){i+=e[r].max-e[r+1].min+t.options.hierarchical.treeSpacing,n(r+1,i)}}()}},{key:"_getSpaceAroundNode",value:function(t,e){var i=!0;void 0===e&&(i=!1);var n=this.hierarchical.levels[t.id];if(void 0!==n){var o=this.hierarchical.distributionIndex[t.id],r=this.direction.getPosition(t),s=this.hierarchical.distributionOrdering[n],a=1e9,h=1e9;if(0!==o){var l=s[o-1];if(!0===i&&void 0===e[l.id]||!1===i)a=r-this.direction.getPosition(l)}if(o!=s.length-1){var d=s[o+1];if(!0===i&&void 0===e[d.id]||!1===i){var c=this.direction.getPosition(d);h=Math.min(h,c-r)}}return[a,h]}return[0,0]}},{key:"_centerParent",value:function(t){if(this.hierarchical.parentReference[t.id])for(var e=this.hierarchical.parentReference[t.id],i=0;i<e.length;i++){var n=e[i],o=this.body.nodes[n],r=this.hierarchical.childrenReference[n];if(void 0!==r){var s=this._getCenterPosition(r),a=this.direction.getPosition(o),h=Wu(this._getSpaceAroundNode(o),2),l=h[0],d=h[1],c=a-s;(c<0&&Math.abs(c)<d-this.options.hierarchical.nodeSpacing||c>0&&Math.abs(c)<l-this.options.hierarchical.nodeSpacing)&&this.direction.setPosition(o,s)}}}},{key:"_placeNodesByHierarchy",value:function(t){for(var e in this.positionedNodes={},t)if(Object.prototype.hasOwnProperty.call(t,e)){var i,n=gf(t[e]);n=this._indexArrayToNodes(n),XS(i=this.direction).call(i,n);for(var o=0,r=0;r<n.length;r++){var s=n[r];if(void 0===this.positionedNodes[s.id]){var a=this.options.hierarchical.nodeSpacing,h=a*o;o>0&&(h=this.direction.getPosition(n[r-1])+a),this.direction.setPosition(s,h,e),this._validatePositionAndContinue(s,e,h),o++}}}}},{key:"_placeBranchNodes",value:function(t,e){var i,n=this.hierarchical.childrenReference[t];if(void 0!==n){for(var o=[],r=0;r<n.length;r++)o.push(this.body.nodes[n[r]]);XS(i=this.direction).call(i,o);for(var s=0;s<o.length;s++){var a=o[s],h=this.hierarchical.levels[a.id];if(!(h>e&&void 0===this.positionedNodes[a.id]))return;var l=this.options.hierarchical.nodeSpacing,d=void 0;d=0===s?this.direction.getPosition(this.body.nodes[t]):this.direction.getPosition(o[s-1])+l,this.direction.setPosition(a,d,h),this._validatePositionAndContinue(a,h,d)}var c=this._getCenterPosition(o);this.direction.setPosition(this.body.nodes[t],c,e)}}},{key:"_validatePositionAndContinue",value:function(t,e,i){if(this.hierarchical.isTree){if(void 0!==this.lastNodeOnLevel[e]){var n=this.direction.getPosition(this.body.nodes[this.lastNodeOnLevel[e]]);if(i-n<this.options.hierarchical.nodeSpacing){var o=n+this.options.hierarchical.nodeSpacing-i,r=this._findCommonParent(this.lastNodeOnLevel[e],t.id);this._shiftBlock(r.withChild,o)}}this.lastNodeOnLevel[e]=t.id,this.positionedNodes[t.id]=!0,this._placeBranchNodes(t.id,e)}}},{key:"_indexArrayToNodes",value:function(t){for(var e=[],i=0;i<t.length;i++)e.push(this.body.nodes[t[i]]);return e}},{key:"_getDistribution",value:function(){var t,e,i={};for(t in this.body.nodes)if(Object.prototype.hasOwnProperty.call(this.body.nodes,t)){e=this.body.nodes[t];var n=void 0===this.hierarchical.levels[t]?0:this.hierarchical.levels[t];this.direction.fix(e,n),void 0===i[n]&&(i[n]={}),i[n][t]=e}return i}},{key:"_getActiveEdges",value:function(t){var e=this,i=[];return Qm(t.edges,(function(t){var n;-1!==Lv(n=e.body.edgeIndices).call(n,t.id)&&i.push(t)})),i}},{key:"_getHubSizes",value:function(){var t=this,e={};Qm(this.body.nodeIndices,(function(i){var n=t.body.nodes[i],o=t._getActiveEdges(n).length;e[o]=!0}));var i=[];return Qm(e,(function(t){i.push(Number(t))})),XS(i).call(i,(function(t,e){return e-t})),i}},{key:"_determineLevelsByHubsize",value:function(){for(var t=this,e=function(e,i){t.hierarchical.levelDownstream(e,i)},i=this._getHubSizes(),n=function(){var n=i[o];if(0===n)return"break";Qm(t.body.nodeIndices,(function(i){var o=t.body.nodes[i];n===t._getActiveEdges(o).length&&t._crawlNetwork(e,i)}))},o=0;o<i.length;++o){if("break"===n())break}}},{key:"_determineLevelsCustomCallback",value:function(){var t=this;this._crawlNetwork((function(e,i,n){var o=t.hierarchical.levels[e.id];void 0===o&&(o=t.hierarchical.levels[e.id]=1e5);var r=(JD.cloneOptions(e,"node"),JD.cloneOptions(i,"node"),void JD.cloneOptions(n,"edge"));t.hierarchical.levels[i.id]=o+r})),this.hierarchical.setMinLevelToZero(this.body.nodes)}},{key:"_determineLevelsDirected",value:function(){var t,e=this,i=VC(t=this.body.nodeIndices).call(t,(function(t,i){return t.set(i,e.body.nodes[i]),t}),new qk);"roots"===this.options.hierarchical.shakeTowards?this.hierarchical.levels=function(t){return RB((function(e){var i,n;return FB(i=Zp(n=e.edges).call(n,(function(e){return t.has(e.toId)}))).call(i,(function(t){return t.from===e}))}),(function(t,e){return e<t}),"to",t)}(i):this.hierarchical.levels=function(t){return RB((function(e){var i,n;return FB(i=Zp(n=e.edges).call(n,(function(e){return t.has(e.toId)}))).call(i,(function(t){return t.to===e}))}),(function(t,e){return e>t}),"from",t)}(i),this.hierarchical.setMinLevelToZero(this.body.nodes)}},{key:"_generateMap",value:function(){var t=this;this._crawlNetwork((function(e,i){t.hierarchical.levels[i.id]>t.hierarchical.levels[e.id]&&t.hierarchical.addRelation(e.id,i.id)})),this.hierarchical.checkIfTree()}},{key:"_crawlNetwork",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){},i=arguments.length>1?arguments[1]:void 0,n={},o=function i(o,r){if(void 0===n[o.id]){var s;t.hierarchical.setTreeIndex(o,r),n[o.id]=!0;for(var a=t._getActiveEdges(o),h=0;h<a.length;h++){var l=a[h];!0===l.connected&&(s=l.toId==o.id?l.from:l.to,o.id!=s.id&&(e(o,s,l),i(s,r)))}}};if(void 0===i)for(var r=0,s=0;s<this.body.nodeIndices.length;s++){var a=this.body.nodeIndices[s];if(void 0===n[a])o(this.body.nodes[a],r),r+=1}else{var h=this.body.nodes[i];if(void 0===h)return void console.error("Node not found:",i);o(h)}}},{key:"_shiftBlock",value:function(t,e){var i=this,n={};!function t(o){if(!n[o]){n[o]=!0,i.direction.shift(o,e);var r=i.hierarchical.childrenReference[o];if(void 0!==r)for(var s=0;s<r.length;s++)t(r[s])}}(t)}},{key:"_findCommonParent",value:function(t,e){var i=this,n={};return function t(e,n){var o=i.hierarchical.parentReference[n];if(void 0!==o)for(var r=0;r<o.length;r++){var s=o[r];e[s]=!0,t(e,s)}}(n,t),function t(e,n){var o=i.hierarchical.parentReference[n];if(void 0!==o)for(var r=0;r<o.length;r++){var s=o[r];if(void 0!==e[s])return{foundParent:s,withChild:n};var a=t(e,s);if(null!==a.foundParent)return a}return{foundParent:null,withChild:n}}(n,e)}},{key:"setDirectionStrategy",value:function(){var t="UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction;this.direction=t?new SB(this):new TB(this)}},{key:"_getCenterPosition",value:function(t){for(var e=1e9,i=-1e9,n=0;n<t.length;n++){var o=void 0;if(void 0!==t[n].id)o=t[n];else{var r=t[n];o=this.body.nodes[r]}var s=this.direction.getPosition(o);e=Math.min(e,s),i=Math.max(i,s)}return.5*(e+i)}}]),t}();function WB(t,e){var i=void 0!==Vu&&dh(t)||t["@@iterator"];if(!i){if(sf(t)||(i=function(t,e){var i;if(!t)return;if("string"==typeof t)return qB(t,e);var n=Zu(i=Object.prototype.toString.call(t)).call(i,8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Ua(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return qB(t,e)}(t))||e&&t&&"number"==typeof t.length){i&&(t=i);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}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 r,s=!0,a=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return s=t.done,t},e:function(t){a=!0,r=t},f:function(){try{s||null==i.return||i.return()}finally{if(a)throw r}}}}function qB(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}var VB=function(){function t(e,i,n,o){var r,s,a=this;ch(this,t),this.body=e,this.canvas=i,this.selectionHandler=n,this.interactionHandler=o,this.editMode=!1,this.manipulationDiv=void 0,this.editModeDiv=void 0,this.closeDiv=void 0,this._domEventListenerCleanupQueue=[],this.temporaryUIFunctions={},this.temporaryEventFunctions=[],this.touchTime=0,this.temporaryIds={nodes:[],edges:[]},this.guiEnabled=!1,this.inMode=!1,this.selectedControlNode=void 0,this.options={},this.defaultOptions={enabled:!1,initiallyActive:!1,addNode:!0,addEdge:!0,editNode:void 0,editEdge:!0,deleteNode:!0,deleteEdge:!0,controlNodeStyle:{shape:"dot",size:6,color:{background:"#ff0000",border:"#3c3c3c",highlight:{background:"#07f968",border:"#3c3c3c"}},borderWidth:2,borderWidthSelected:2}},mn(this.options,this.defaultOptions),this.body.emitter.on("destroy",(function(){a._clean()})),this.body.emitter.on("_dataChanged",Ln(r=this._restore).call(r,this)),this.body.emitter.on("_resetData",Ln(s=this._restore).call(s,this))}return pu(t,[{key:"_restore",value:function(){!1!==this.inMode&&(!0===this.options.initiallyActive?this.enableEditMode():this.disableEditMode())}},{key:"setOptions",value:function(t,e,i){void 0!==e&&(void 0!==e.locale?this.options.locale=e.locale:this.options.locale=i.locale,void 0!==e.locales?this.options.locales=e.locales:this.options.locales=i.locales),void 0!==t&&("boolean"==typeof t?this.options.enabled=t:(this.options.enabled=!0,Xm(this.options,t)),!0===this.options.initiallyActive&&(this.editMode=!0),this._setup())}},{key:"toggleEditMode",value:function(){!0===this.editMode?this.disableEditMode():this.enableEditMode()}},{key:"enableEditMode",value:function(){this.editMode=!0,this._clean(),!0===this.guiEnabled&&(this.manipulationDiv.style.display="block",this.closeDiv.style.display="block",this.editModeDiv.style.display="none",this.showManipulatorToolbar())}},{key:"disableEditMode",value:function(){this.editMode=!1,this._clean(),!0===this.guiEnabled&&(this.manipulationDiv.style.display="none",this.closeDiv.style.display="none",this.editModeDiv.style.display="block",this._createEditButton())}},{key:"showManipulatorToolbar",value:function(){if(this._clean(),this.manipulationDOM={},!0===this.guiEnabled){var t,e;this.editMode=!0,this.manipulationDiv.style.display="block",this.closeDiv.style.display="block";var i=this.selectionHandler.getSelectedNodeCount(),n=this.selectionHandler.getSelectedEdgeCount(),o=i+n,r=this.options.locales[this.options.locale],s=!1;!1!==this.options.addNode&&(this._createAddNodeButton(r),s=!0),!1!==this.options.addEdge&&(!0===s?this._createSeperator(1):s=!0,this._createAddEdgeButton(r)),1===i&&"function"==typeof this.options.editNode?(!0===s?this._createSeperator(2):s=!0,this._createEditNodeButton(r)):1===n&&0===i&&!1!==this.options.editEdge&&(!0===s?this._createSeperator(3):s=!0,this._createEditEdgeButton(r)),0!==o&&(i>0&&!1!==this.options.deleteNode||0===i&&!1!==this.options.deleteEdge)&&(!0===s&&this._createSeperator(4),this._createDeleteButton(r)),this._bindElementEvents(this.closeDiv,Ln(t=this.toggleEditMode).call(t,this)),this._temporaryBindEvent("select",Ln(e=this.showManipulatorToolbar).call(e,this))}this.body.emitter.emit("_redraw")}},{key:"addNodeMode",value:function(){var t;if(!0!==this.editMode&&this.enableEditMode(),this._clean(),this.inMode="addNode",!0===this.guiEnabled){var e,i=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(i),this._createSeperator(),this._createDescription(i.addDescription||this.options.locales.en.addDescription),this._bindElementEvents(this.closeDiv,Ln(e=this.toggleEditMode).call(e,this))}this._temporaryBindEvent("click",Ln(t=this._performAddNode).call(t,this))}},{key:"editNode",value:function(){var t=this;!0!==this.editMode&&this.enableEditMode(),this._clean();var e=this.selectionHandler.getSelectedNodes()[0];if(void 0!==e){if(this.inMode="editNode","function"!=typeof this.options.editNode)throw new Error("No function has been configured to handle the editing of nodes.");if(!0!==e.isCluster){var i=Xm({},e.options,!1);if(i.x=e.x,i.y=e.y,2!==this.options.editNode.length)throw new Error("The function for edit does not support two arguments (data, callback)");this.options.editNode(i,(function(e){null!=e&&"editNode"===t.inMode&&t.body.data.nodes.getDataSet().update(e),t.showManipulatorToolbar()}))}else alert(this.options.locales[this.options.locale].editClusterError||this.options.locales.en.editClusterError)}else this.showManipulatorToolbar()}},{key:"addEdgeMode",value:function(){var t,e,i,n,o;if(!0!==this.editMode&&this.enableEditMode(),this._clean(),this.inMode="addEdge",!0===this.guiEnabled){var r,s=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(s),this._createSeperator(),this._createDescription(s.edgeDescription||this.options.locales.en.edgeDescription),this._bindElementEvents(this.closeDiv,Ln(r=this.toggleEditMode).call(r,this))}this._temporaryBindUI("onTouch",Ln(t=this._handleConnect).call(t,this)),this._temporaryBindUI("onDragEnd",Ln(e=this._finishConnect).call(e,this)),this._temporaryBindUI("onDrag",Ln(i=this._dragControlNode).call(i,this)),this._temporaryBindUI("onRelease",Ln(n=this._finishConnect).call(n,this)),this._temporaryBindUI("onDragStart",Ln(o=this._dragStartEdge).call(o,this)),this._temporaryBindUI("onHold",(function(){}))}},{key:"editEdgeMode",value:function(){if(!0!==this.editMode&&this.enableEditMode(),this._clean(),this.inMode="editEdge","object"!==du(this.options.editEdge)||"function"!=typeof this.options.editEdge.editWithoutDrag||(this.edgeBeingEditedId=this.selectionHandler.getSelectedEdgeIds()[0],void 0===this.edgeBeingEditedId)){if(!0===this.guiEnabled){var t,e=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(e),this._createSeperator(),this._createDescription(e.editEdgeDescription||this.options.locales.en.editEdgeDescription),this._bindElementEvents(this.closeDiv,Ln(t=this.toggleEditMode).call(t,this))}if(this.edgeBeingEditedId=this.selectionHandler.getSelectedEdgeIds()[0],void 0!==this.edgeBeingEditedId){var i,n,o,r,s=this.body.edges[this.edgeBeingEditedId],a=this._getNewTargetNode(s.from.x,s.from.y),h=this._getNewTargetNode(s.to.x,s.to.y);this.temporaryIds.nodes.push(a.id),this.temporaryIds.nodes.push(h.id),this.body.nodes[a.id]=a,this.body.nodeIndices.push(a.id),this.body.nodes[h.id]=h,this.body.nodeIndices.push(h.id),this._temporaryBindUI("onTouch",Ln(i=this._controlNodeTouch).call(i,this)),this._temporaryBindUI("onTap",(function(){})),this._temporaryBindUI("onHold",(function(){})),this._temporaryBindUI("onDragStart",Ln(n=this._controlNodeDragStart).call(n,this)),this._temporaryBindUI("onDrag",Ln(o=this._controlNodeDrag).call(o,this)),this._temporaryBindUI("onDragEnd",Ln(r=this._controlNodeDragEnd).call(r,this)),this._temporaryBindUI("onMouseMove",(function(){})),this._temporaryBindEvent("beforeDrawing",(function(t){var e=s.edgeType.findBorderPositions(t);!1===a.selected&&(a.x=e.from.x,a.y=e.from.y),!1===h.selected&&(h.x=e.to.x,h.y=e.to.y)})),this.body.emitter.emit("_redraw")}else this.showManipulatorToolbar()}else{var l=this.body.edges[this.edgeBeingEditedId];this._performEditEdge(l.from.id,l.to.id)}}},{key:"deleteSelected",value:function(){var t=this;!0!==this.editMode&&this.enableEditMode(),this._clean(),this.inMode="delete";var e=this.selectionHandler.getSelectedNodeIds(),i=this.selectionHandler.getSelectedEdgeIds(),n=void 0;if(e.length>0){for(var o=0;o<e.length;o++)if(!0===this.body.nodes[e[o]].isCluster)return void alert(this.options.locales[this.options.locale].deleteClusterError||this.options.locales.en.deleteClusterError);"function"==typeof this.options.deleteNode&&(n=this.options.deleteNode)}else i.length>0&&"function"==typeof this.options.deleteEdge&&(n=this.options.deleteEdge);if("function"==typeof n){var r={nodes:e,edges:i};if(2!==n.length)throw new Error("The function for delete does not support two arguments (data, callback)");n(r,(function(e){null!=e&&"delete"===t.inMode?(t.body.data.edges.getDataSet().remove(e.edges),t.body.data.nodes.getDataSet().remove(e.nodes),t.body.emitter.emit("startSimulation"),t.showManipulatorToolbar()):(t.body.emitter.emit("startSimulation"),t.showManipulatorToolbar())}))}else this.body.data.edges.getDataSet().remove(i),this.body.data.nodes.getDataSet().remove(e),this.body.emitter.emit("startSimulation"),this.showManipulatorToolbar()}},{key:"_setup",value:function(){!0===this.options.enabled?(this.guiEnabled=!0,this._createWrappers(),!1===this.editMode?this._createEditButton():this.showManipulatorToolbar()):(this._removeManipulationDOM(),this.guiEnabled=!1)}},{key:"_createWrappers",value:function(){var t,e;(void 0===this.manipulationDiv&&(this.manipulationDiv=document.createElement("div"),this.manipulationDiv.className="vis-manipulation",!0===this.editMode?this.manipulationDiv.style.display="block":this.manipulationDiv.style.display="none",this.canvas.frame.appendChild(this.manipulationDiv)),void 0===this.editModeDiv&&(this.editModeDiv=document.createElement("div"),this.editModeDiv.className="vis-edit-mode",!0===this.editMode?this.editModeDiv.style.display="none":this.editModeDiv.style.display="block",this.canvas.frame.appendChild(this.editModeDiv)),void 0===this.closeDiv)&&(this.closeDiv=document.createElement("button"),this.closeDiv.className="vis-close",this.closeDiv.setAttribute("aria-label",null!==(t=null===(e=this.options.locales[this.options.locale])||void 0===e?void 0:e.close)&&void 0!==t?t:this.options.locales.en.close),this.closeDiv.style.display=this.manipulationDiv.style.display,this.canvas.frame.appendChild(this.closeDiv))}},{key:"_getNewTargetNode",value:function(t,e){var i=Xm({},this.options.controlNodeStyle);i.id="targetNode"+uM(),i.hidden=!1,i.physics=!1,i.x=t,i.y=e;var n=this.body.functions.createNode(i);return n.shape.boundingBox={left:t,right:t,top:e,bottom:e},n}},{key:"_createEditButton",value:function(){var t;this._clean(),this.manipulationDOM={},Rm(this.editModeDiv);var e=this.options.locales[this.options.locale],i=this._createButton("editMode","vis-edit vis-edit-mode",e.edit||this.options.locales.en.edit);this.editModeDiv.appendChild(i),this._bindElementEvents(i,Ln(t=this.toggleEditMode).call(t,this))}},{key:"_clean",value:function(){this.inMode=!1,!0===this.guiEnabled&&(Rm(this.editModeDiv),Rm(this.manipulationDiv),this._cleanupDOMEventListeners()),this._cleanupTemporaryNodesAndEdges(),this._unbindTemporaryUIs(),this._unbindTemporaryEvents(),this.body.emitter.emit("restorePhysics")}},{key:"_cleanupDOMEventListeners",value:function(){var t,e,i=WB(yp(t=this._domEventListenerCleanupQueue).call(t,0));try{for(i.s();!(e=i.n()).done;){(0,e.value)()}}catch(t){i.e(t)}finally{i.f()}}},{key:"_removeManipulationDOM",value:function(){this._clean(),Rm(this.manipulationDiv),Rm(this.editModeDiv),Rm(this.closeDiv),this.manipulationDiv&&this.canvas.frame.removeChild(this.manipulationDiv),this.editModeDiv&&this.canvas.frame.removeChild(this.editModeDiv),this.closeDiv&&this.canvas.frame.removeChild(this.closeDiv),this.manipulationDiv=void 0,this.editModeDiv=void 0,this.closeDiv=void 0}},{key:"_createSeperator",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;this.manipulationDOM["seperatorLineDiv"+t]=document.createElement("div"),this.manipulationDOM["seperatorLineDiv"+t].className="vis-separator-line",this.manipulationDiv.appendChild(this.manipulationDOM["seperatorLineDiv"+t])}},{key:"_createAddNodeButton",value:function(t){var e,i=this._createButton("addNode","vis-add",t.addNode||this.options.locales.en.addNode);this.manipulationDiv.appendChild(i),this._bindElementEvents(i,Ln(e=this.addNodeMode).call(e,this))}},{key:"_createAddEdgeButton",value:function(t){var e,i=this._createButton("addEdge","vis-connect",t.addEdge||this.options.locales.en.addEdge);this.manipulationDiv.appendChild(i),this._bindElementEvents(i,Ln(e=this.addEdgeMode).call(e,this))}},{key:"_createEditNodeButton",value:function(t){var e,i=this._createButton("editNode","vis-edit",t.editNode||this.options.locales.en.editNode);this.manipulationDiv.appendChild(i),this._bindElementEvents(i,Ln(e=this.editNode).call(e,this))}},{key:"_createEditEdgeButton",value:function(t){var e,i=this._createButton("editEdge","vis-edit",t.editEdge||this.options.locales.en.editEdge);this.manipulationDiv.appendChild(i),this._bindElementEvents(i,Ln(e=this.editEdgeMode).call(e,this))}},{key:"_createDeleteButton",value:function(t){var e,i;i=this.options.rtl?"vis-delete-rtl":"vis-delete";var n=this._createButton("delete",i,t.del||this.options.locales.en.del);this.manipulationDiv.appendChild(n),this._bindElementEvents(n,Ln(e=this.deleteSelected).call(e,this))}},{key:"_createBackButton",value:function(t){var e,i=this._createButton("back","vis-back",t.back||this.options.locales.en.back);this.manipulationDiv.appendChild(i),this._bindElementEvents(i,Ln(e=this.showManipulatorToolbar).call(e,this))}},{key:"_createButton",value:function(t,e,i){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"vis-label";return this.manipulationDOM[t+"Div"]=document.createElement("button"),this.manipulationDOM[t+"Div"].className="vis-button "+e,this.manipulationDOM[t+"Label"]=document.createElement("div"),this.manipulationDOM[t+"Label"].className=n,this.manipulationDOM[t+"Label"].innerText=i,this.manipulationDOM[t+"Div"].appendChild(this.manipulationDOM[t+"Label"]),this.manipulationDOM[t+"Div"]}},{key:"_createDescription",value:function(t){this.manipulationDOM.descriptionLabel=document.createElement("div"),this.manipulationDOM.descriptionLabel.className="vis-none",this.manipulationDOM.descriptionLabel.innerText=t,this.manipulationDiv.appendChild(this.manipulationDOM.descriptionLabel)}},{key:"_temporaryBindEvent",value:function(t,e){this.temporaryEventFunctions.push({event:t,boundFunction:e}),this.body.emitter.on(t,e)}},{key:"_temporaryBindUI",value:function(t,e){if(void 0===this.body.eventListeners[t])throw new Error("This UI function does not exist. Typo? You tried: "+t+" possible are: "+Kv(gf(this.body.eventListeners)));this.temporaryUIFunctions[t]=this.body.eventListeners[t],this.body.eventListeners[t]=e}},{key:"_unbindTemporaryUIs",value:function(){for(var t in this.temporaryUIFunctions)Object.prototype.hasOwnProperty.call(this.temporaryUIFunctions,t)&&(this.body.eventListeners[t]=this.temporaryUIFunctions[t],delete this.temporaryUIFunctions[t]);this.temporaryUIFunctions={}}},{key:"_unbindTemporaryEvents",value:function(){for(var t=0;t<this.temporaryEventFunctions.length;t++){var e=this.temporaryEventFunctions[t].event,i=this.temporaryEventFunctions[t].boundFunction;this.body.emitter.off(e,i)}this.temporaryEventFunctions=[]}},{key:"_bindElementEvents",value:function(t,e){var i=new Db(t,{});rI(i,e),this._domEventListenerCleanupQueue.push((function(){i.destroy()}));var n=function(t){var i=t.keyCode,n=t.key;"Enter"!==n&&" "!==n&&13!==i&&32!==i||e()};t.addEventListener("keyup",n,!1),this._domEventListenerCleanupQueue.push((function(){t.removeEventListener("keyup",n,!1)}))}},{key:"_cleanupTemporaryNodesAndEdges",value:function(){for(var t=0;t<this.temporaryIds.edges.length;t++){var e;this.body.edges[this.temporaryIds.edges[t]].disconnect(),delete this.body.edges[this.temporaryIds.edges[t]];var i,n=Lv(e=this.body.edgeIndices).call(e,this.temporaryIds.edges[t]);if(-1!==n)yp(i=this.body.edgeIndices).call(i,n,1)}for(var o=0;o<this.temporaryIds.nodes.length;o++){var r;delete this.body.nodes[this.temporaryIds.nodes[o]];var s,a=Lv(r=this.body.nodeIndices).call(r,this.temporaryIds.nodes[o]);if(-1!==a)yp(s=this.body.nodeIndices).call(s,a,1)}this.temporaryIds={nodes:[],edges:[]}}},{key:"_controlNodeTouch",value:function(t){this.selectionHandler.unselectAll(),this.lastTouch=this.body.functions.getPointer(t.center),this.lastTouch.translation=mn({},this.body.view.translation)}},{key:"_controlNodeDragStart",value:function(){var t=this.lastTouch,e=this.selectionHandler._pointerToPositionObject(t),i=this.body.nodes[this.temporaryIds.nodes[0]],n=this.body.nodes[this.temporaryIds.nodes[1]],o=this.body.edges[this.edgeBeingEditedId];this.selectedControlNode=void 0;var r=i.isOverlappingWith(e),s=n.isOverlappingWith(e);!0===r?(this.selectedControlNode=i,o.edgeType.from=i):!0===s&&(this.selectedControlNode=n,o.edgeType.to=n),void 0!==this.selectedControlNode&&this.selectionHandler.selectObject(this.selectedControlNode),this.body.emitter.emit("_redraw")}},{key:"_controlNodeDrag",value:function(t){this.body.emitter.emit("disablePhysics");var e=this.body.functions.getPointer(t.center),i=this.canvas.DOMtoCanvas(e);void 0!==this.selectedControlNode?(this.selectedControlNode.x=i.x,this.selectedControlNode.y=i.y):this.interactionHandler.onDrag(t),this.body.emitter.emit("_redraw")}},{key:"_controlNodeDragEnd",value:function(t){var e=this.body.functions.getPointer(t.center),i=this.selectionHandler._pointerToPositionObject(e),n=this.body.edges[this.edgeBeingEditedId];if(void 0!==this.selectedControlNode){this.selectionHandler.unselectAll();for(var o=this.selectionHandler._getAllNodesOverlappingWith(i),r=void 0,s=o.length-1;s>=0;s--)if(o[s]!==this.selectedControlNode.id){r=this.body.nodes[o[s]];break}if(void 0!==r&&void 0!==this.selectedControlNode)if(!0===r.isCluster)alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError);else{var a=this.body.nodes[this.temporaryIds.nodes[0]];this.selectedControlNode.id===a.id?this._performEditEdge(r.id,n.to.id):this._performEditEdge(n.from.id,r.id)}else n.updateEdgeType(),this.body.emitter.emit("restorePhysics");this.body.emitter.emit("_redraw")}}},{key:"_handleConnect",value:function(t){if((new Date).valueOf()-this.touchTime>100){this.lastTouch=this.body.functions.getPointer(t.center),this.lastTouch.translation=mn({},this.body.view.translation),this.interactionHandler.drag.pointer=this.lastTouch,this.interactionHandler.drag.translation=this.lastTouch.translation;var e=this.lastTouch,i=this.selectionHandler.getNodeAt(e);if(void 0!==i)if(!0===i.isCluster)alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError);else{var n=this._getNewTargetNode(i.x,i.y);this.body.nodes[n.id]=n,this.body.nodeIndices.push(n.id);var o=this.body.functions.createEdge({id:"connectionEdge"+uM(),from:i.id,to:n.id,physics:!1,smooth:{enabled:!0,type:"continuous",roundness:.5}});this.body.edges[o.id]=o,this.body.edgeIndices.push(o.id),this.temporaryIds.nodes.push(n.id),this.temporaryIds.edges.push(o.id)}this.touchTime=(new Date).valueOf()}}},{key:"_dragControlNode",value:function(t){var e=this.body.functions.getPointer(t.center),i=this.selectionHandler._pointerToPositionObject(e),n=void 0;void 0!==this.temporaryIds.edges[0]&&(n=this.body.edges[this.temporaryIds.edges[0]].fromId);for(var o=this.selectionHandler._getAllNodesOverlappingWith(i),r=void 0,s=o.length-1;s>=0;s--){var a;if(-1===Lv(a=this.temporaryIds.nodes).call(a,o[s])){r=this.body.nodes[o[s]];break}}if(t.controlEdge={from:n,to:r?r.id:void 0},this.selectionHandler.generateClickEvent("controlNodeDragging",t,e),void 0!==this.temporaryIds.nodes[0]){var h=this.body.nodes[this.temporaryIds.nodes[0]];h.x=this.canvas._XconvertDOMtoCanvas(e.x),h.y=this.canvas._YconvertDOMtoCanvas(e.y),this.body.emitter.emit("_redraw")}else this.interactionHandler.onDrag(t)}},{key:"_finishConnect",value:function(t){var e=this.body.functions.getPointer(t.center),i=this.selectionHandler._pointerToPositionObject(e),n=void 0;void 0!==this.temporaryIds.edges[0]&&(n=this.body.edges[this.temporaryIds.edges[0]].fromId);for(var o=this.selectionHandler._getAllNodesOverlappingWith(i),r=void 0,s=o.length-1;s>=0;s--){var a;if(-1===Lv(a=this.temporaryIds.nodes).call(a,o[s])){r=this.body.nodes[o[s]];break}}this._cleanupTemporaryNodesAndEdges(),void 0!==r&&(!0===r.isCluster?alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError):void 0!==this.body.nodes[n]&&void 0!==this.body.nodes[r.id]&&this._performAddEdge(n,r.id)),t.controlEdge={from:n,to:r?r.id:void 0},this.selectionHandler.generateClickEvent("controlNodeDragEnd",t,e),this.body.emitter.emit("_redraw")}},{key:"_dragStartEdge",value:function(t){var e=this.lastTouch;this.selectionHandler.generateClickEvent("dragStart",t,e,void 0,!0)}},{key:"_performAddNode",value:function(t){var e=this,i={id:uM(),x:t.pointer.canvas.x,y:t.pointer.canvas.y,label:"new"};if("function"==typeof this.options.addNode){if(2!==this.options.addNode.length)throw this.showManipulatorToolbar(),new Error("The function for add does not support two arguments (data,callback)");this.options.addNode(i,(function(t){null!=t&&"addNode"===e.inMode&&e.body.data.nodes.getDataSet().add(t),e.showManipulatorToolbar()}))}else this.body.data.nodes.getDataSet().add(i),this.showManipulatorToolbar()}},{key:"_performAddEdge",value:function(t,e){var i=this,n={from:t,to:e};if("function"==typeof this.options.addEdge){if(2!==this.options.addEdge.length)throw new Error("The function for connect does not support two arguments (data,callback)");this.options.addEdge(n,(function(t){null!=t&&"addEdge"===i.inMode&&(i.body.data.edges.getDataSet().add(t),i.selectionHandler.unselectAll(),i.showManipulatorToolbar())}))}else this.body.data.edges.getDataSet().add(n),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}},{key:"_performEditEdge",value:function(t,e){var i=this,n={id:this.edgeBeingEditedId,from:t,to:e,label:this.body.data.edges.get(this.edgeBeingEditedId).label},o=this.options.editEdge;if("object"===du(o)&&(o=o.editWithoutDrag),"function"==typeof o){if(2!==o.length)throw new Error("The function for edit does not support two arguments (data, callback)");o(n,(function(t){null==t||"editEdge"!==i.inMode?(i.body.edges[n.id].updateEdgeType(),i.body.emitter.emit("_redraw"),i.showManipulatorToolbar()):(i.body.data.edges.getDataSet().update(t),i.selectionHandler.unselectAll(),i.showManipulatorToolbar())}))}else this.body.data.edges.getDataSet().update(n),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}}]),t}(),UB="string",YB="boolean",XB="number",GB="array",KB="object",$B=["arrow","bar","box","circle","crow","curve","diamond","image","inv_curve","inv_triangle","triangle","vee"],ZB={borderWidth:{number:XB},borderWidthSelected:{number:XB,undefined:"undefined"},brokenImage:{string:UB,undefined:"undefined"},chosen:{label:{boolean:YB,function:"function"},node:{boolean:YB,function:"function"},__type__:{object:KB,boolean:YB}},color:{border:{string:UB},background:{string:UB},highlight:{border:{string:UB},background:{string:UB},__type__:{object:KB,string:UB}},hover:{border:{string:UB},background:{string:UB},__type__:{object:KB,string:UB}},__type__:{object:KB,string:UB}},opacity:{number:XB,undefined:"undefined"},fixed:{x:{boolean:YB},y:{boolean:YB},__type__:{object:KB,boolean:YB}},font:{align:{string:UB},color:{string:UB},size:{number:XB},face:{string:UB},background:{string:UB},strokeWidth:{number:XB},strokeColor:{string:UB},vadjust:{number:XB},multi:{boolean:YB,string:UB},bold:{color:{string:UB},size:{number:XB},face:{string:UB},mod:{string:UB},vadjust:{number:XB},__type__:{object:KB,string:UB}},boldital:{color:{string:UB},size:{number:XB},face:{string:UB},mod:{string:UB},vadjust:{number:XB},__type__:{object:KB,string:UB}},ital:{color:{string:UB},size:{number:XB},face:{string:UB},mod:{string:UB},vadjust:{number:XB},__type__:{object:KB,string:UB}},mono:{color:{string:UB},size:{number:XB},face:{string:UB},mod:{string:UB},vadjust:{number:XB},__type__:{object:KB,string:UB}},__type__:{object:KB,string:UB}},group:{string:UB,number:XB,undefined:"undefined"},heightConstraint:{minimum:{number:XB},valign:{string:UB},__type__:{object:KB,boolean:YB,number:XB}},hidden:{boolean:YB},icon:{face:{string:UB},code:{string:UB},size:{number:XB},color:{string:UB},weight:{string:UB,number:XB},__type__:{object:KB}},id:{string:UB,number:XB},image:{selected:{string:UB,undefined:"undefined"},unselected:{string:UB,undefined:"undefined"},__type__:{object:KB,string:UB}},imagePadding:{top:{number:XB},right:{number:XB},bottom:{number:XB},left:{number:XB},__type__:{object:KB,number:XB}},label:{string:UB,undefined:"undefined"},labelHighlightBold:{boolean:YB},level:{number:XB,undefined:"undefined"},margin:{top:{number:XB},right:{number:XB},bottom:{number:XB},left:{number:XB},__type__:{object:KB,number:XB}},mass:{number:XB},physics:{boolean:YB},scaling:{min:{number:XB},max:{number:XB},label:{enabled:{boolean:YB},min:{number:XB},max:{number:XB},maxVisible:{number:XB},drawThreshold:{number:XB},__type__:{object:KB,boolean:YB}},customScalingFunction:{function:"function"},__type__:{object:KB}},shadow:{enabled:{boolean:YB},color:{string:UB},size:{number:XB},x:{number:XB},y:{number:XB},__type__:{object:KB,boolean:YB}},shape:{string:["custom","ellipse","circle","database","box","text","image","circularImage","diamond","dot","star","triangle","triangleDown","square","icon","hexagon"]},ctxRenderer:{function:"function"},shapeProperties:{borderDashes:{boolean:YB,array:GB},borderRadius:{number:XB},interpolation:{boolean:YB},useImageSize:{boolean:YB},useBorderWithImage:{boolean:YB},coordinateOrigin:{string:["center","top-left"]},__type__:{object:KB}},size:{number:XB},title:{string:UB,dom:"dom",undefined:"undefined"},value:{number:XB,undefined:"undefined"},widthConstraint:{minimum:{number:XB},maximum:{number:XB},__type__:{object:KB,boolean:YB,number:XB}},x:{number:XB},y:{number:XB},__type__:{object:KB}},QB={configure:{enabled:{boolean:YB},filter:{boolean:YB,string:UB,array:GB,function:"function"},container:{dom:"dom"},showButton:{boolean:YB},__type__:{object:KB,boolean:YB,string:UB,array:GB,function:"function"}},edges:{arrows:{to:{enabled:{boolean:YB},scaleFactor:{number:XB},type:{string:$B},imageHeight:{number:XB},imageWidth:{number:XB},src:{string:UB},__type__:{object:KB,boolean:YB}},middle:{enabled:{boolean:YB},scaleFactor:{number:XB},type:{string:$B},imageWidth:{number:XB},imageHeight:{number:XB},src:{string:UB},__type__:{object:KB,boolean:YB}},from:{enabled:{boolean:YB},scaleFactor:{number:XB},type:{string:$B},imageWidth:{number:XB},imageHeight:{number:XB},src:{string:UB},__type__:{object:KB,boolean:YB}},__type__:{string:["from","to","middle"],object:KB}},endPointOffset:{from:{number:XB},to:{number:XB},__type__:{object:KB,number:XB}},arrowStrikethrough:{boolean:YB},background:{enabled:{boolean:YB},color:{string:UB},size:{number:XB},dashes:{boolean:YB,array:GB},__type__:{object:KB,boolean:YB}},chosen:{label:{boolean:YB,function:"function"},edge:{boolean:YB,function:"function"},__type__:{object:KB,boolean:YB}},color:{color:{string:UB},highlight:{string:UB},hover:{string:UB},inherit:{string:["from","to","both"],boolean:YB},opacity:{number:XB},__type__:{object:KB,string:UB}},dashes:{boolean:YB,array:GB},font:{color:{string:UB},size:{number:XB},face:{string:UB},background:{string:UB},strokeWidth:{number:XB},strokeColor:{string:UB},align:{string:["horizontal","top","middle","bottom"]},vadjust:{number:XB},multi:{boolean:YB,string:UB},bold:{color:{string:UB},size:{number:XB},face:{string:UB},mod:{string:UB},vadjust:{number:XB},__type__:{object:KB,string:UB}},boldital:{color:{string:UB},size:{number:XB},face:{string:UB},mod:{string:UB},vadjust:{number:XB},__type__:{object:KB,string:UB}},ital:{color:{string:UB},size:{number:XB},face:{string:UB},mod:{string:UB},vadjust:{number:XB},__type__:{object:KB,string:UB}},mono:{color:{string:UB},size:{number:XB},face:{string:UB},mod:{string:UB},vadjust:{number:XB},__type__:{object:KB,string:UB}},__type__:{object:KB,string:UB}},hidden:{boolean:YB},hoverWidth:{function:"function",number:XB},label:{string:UB,undefined:"undefined"},labelHighlightBold:{boolean:YB},length:{number:XB,undefined:"undefined"},physics:{boolean:YB},scaling:{min:{number:XB},max:{number:XB},label:{enabled:{boolean:YB},min:{number:XB},max:{number:XB},maxVisible:{number:XB},drawThreshold:{number:XB},__type__:{object:KB,boolean:YB}},customScalingFunction:{function:"function"},__type__:{object:KB}},selectionWidth:{function:"function",number:XB},selfReferenceSize:{number:XB},selfReference:{size:{number:XB},angle:{number:XB},renderBehindTheNode:{boolean:YB},__type__:{object:KB}},shadow:{enabled:{boolean:YB},color:{string:UB},size:{number:XB},x:{number:XB},y:{number:XB},__type__:{object:KB,boolean:YB}},smooth:{enabled:{boolean:YB},type:{string:["dynamic","continuous","discrete","diagonalCross","straightCross","horizontal","vertical","curvedCW","curvedCCW","cubicBezier"]},roundness:{number:XB},forceDirection:{string:["horizontal","vertical","none"],boolean:YB},__type__:{object:KB,boolean:YB}},title:{string:UB,undefined:"undefined"},width:{number:XB},widthConstraint:{maximum:{number:XB},__type__:{object:KB,boolean:YB,number:XB}},value:{number:XB,undefined:"undefined"},__type__:{object:KB}},groups:{useDefaultGroups:{boolean:YB},__any__:ZB,__type__:{object:KB}},interaction:{dragNodes:{boolean:YB},dragView:{boolean:YB},hideEdgesOnDrag:{boolean:YB},hideEdgesOnZoom:{boolean:YB},hideNodesOnDrag:{boolean:YB},hover:{boolean:YB},keyboard:{enabled:{boolean:YB},speed:{x:{number:XB},y:{number:XB},zoom:{number:XB},__type__:{object:KB}},bindToWindow:{boolean:YB},autoFocus:{boolean:YB},__type__:{object:KB,boolean:YB}},multiselect:{boolean:YB},navigationButtons:{boolean:YB},selectable:{boolean:YB},selectConnectedEdges:{boolean:YB},hoverConnectedEdges:{boolean:YB},tooltipDelay:{number:XB},zoomView:{boolean:YB},zoomSpeed:{number:XB},__type__:{object:KB}},layout:{randomSeed:{undefined:"undefined",number:XB,string:UB},improvedLayout:{boolean:YB},clusterThreshold:{number:XB},hierarchical:{enabled:{boolean:YB},levelSeparation:{number:XB},nodeSpacing:{number:XB},treeSpacing:{number:XB},blockShifting:{boolean:YB},edgeMinimization:{boolean:YB},parentCentralization:{boolean:YB},direction:{string:["UD","DU","LR","RL"]},sortMethod:{string:["hubsize","directed"]},shakeTowards:{string:["leaves","roots"]},__type__:{object:KB,boolean:YB}},__type__:{object:KB}},manipulation:{enabled:{boolean:YB},initiallyActive:{boolean:YB},addNode:{boolean:YB,function:"function"},addEdge:{boolean:YB,function:"function"},editNode:{function:"function"},editEdge:{editWithoutDrag:{function:"function"},__type__:{object:KB,boolean:YB,function:"function"}},deleteNode:{boolean:YB,function:"function"},deleteEdge:{boolean:YB,function:"function"},controlNodeStyle:ZB,__type__:{object:KB,boolean:YB}},nodes:ZB,physics:{enabled:{boolean:YB},barnesHut:{theta:{number:XB},gravitationalConstant:{number:XB},centralGravity:{number:XB},springLength:{number:XB},springConstant:{number:XB},damping:{number:XB},avoidOverlap:{number:XB},__type__:{object:KB}},forceAtlas2Based:{theta:{number:XB},gravitationalConstant:{number:XB},centralGravity:{number:XB},springLength:{number:XB},springConstant:{number:XB},damping:{number:XB},avoidOverlap:{number:XB},__type__:{object:KB}},repulsion:{centralGravity:{number:XB},springLength:{number:XB},springConstant:{number:XB},nodeDistance:{number:XB},damping:{number:XB},__type__:{object:KB}},hierarchicalRepulsion:{centralGravity:{number:XB},springLength:{number:XB},springConstant:{number:XB},nodeDistance:{number:XB},damping:{number:XB},avoidOverlap:{number:XB},__type__:{object:KB}},maxVelocity:{number:XB},minVelocity:{number:XB},solver:{string:["barnesHut","repulsion","hierarchicalRepulsion","forceAtlas2Based"]},stabilization:{enabled:{boolean:YB},iterations:{number:XB},updateInterval:{number:XB},onlyDynamicEdges:{boolean:YB},fit:{boolean:YB},__type__:{object:KB,boolean:YB}},timestep:{number:XB},adaptiveTimestep:{boolean:YB},wind:{x:{number:XB},y:{number:XB},__type__:{object:KB}},__type__:{object:KB,boolean:YB}},autoResize:{boolean:YB},clickToUse:{boolean:YB},locale:{string:UB},locales:{__any__:{any:"any"},__type__:{object:KB}},height:{string:UB},width:{string:UB},__type__:{object:KB}},JB={nodes:{borderWidth:[1,0,10,1],borderWidthSelected:[2,0,10,1],color:{border:["color","#2B7CE9"],background:["color","#97C2FC"],highlight:{border:["color","#2B7CE9"],background:["color","#D2E5FF"]},hover:{border:["color","#2B7CE9"],background:["color","#D2E5FF"]}},opacity:[0,0,1,.1],fixed:{x:!1,y:!1},font:{color:["color","#343434"],size:[14,0,100,1],face:["arial","verdana","tahoma"],background:["color","none"],strokeWidth:[0,0,50,1],strokeColor:["color","#ffffff"]},hidden:!1,labelHighlightBold:!0,physics:!0,scaling:{min:[10,0,200,1],max:[30,0,200,1],label:{enabled:!1,min:[14,0,200,1],max:[30,0,200,1],maxVisible:[30,0,200,1],drawThreshold:[5,0,20,1]}},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:[10,0,20,1],x:[5,-30,30,1],y:[5,-30,30,1]},shape:["ellipse","box","circle","database","diamond","dot","square","star","text","triangle","triangleDown","hexagon"],shapeProperties:{borderDashes:!1,borderRadius:[6,0,20,1],interpolation:!0,useImageSize:!1},size:[25,0,200,1]},edges:{arrows:{to:{enabled:!1,scaleFactor:[1,0,3,.05],type:"arrow"},middle:{enabled:!1,scaleFactor:[1,0,3,.05],type:"arrow"},from:{enabled:!1,scaleFactor:[1,0,3,.05],type:"arrow"}},endPointOffset:{from:[0,-10,10,1],to:[0,-10,10,1]},arrowStrikethrough:!0,color:{color:["color","#848484"],highlight:["color","#848484"],hover:["color","#848484"],inherit:["from","to","both",!0,!1],opacity:[1,0,1,.05]},dashes:!1,font:{color:["color","#343434"],size:[14,0,100,1],face:["arial","verdana","tahoma"],background:["color","none"],strokeWidth:[2,0,50,1],strokeColor:["color","#ffffff"],align:["horizontal","top","middle","bottom"]},hidden:!1,hoverWidth:[1.5,0,5,.1],labelHighlightBold:!0,physics:!0,scaling:{min:[1,0,100,1],max:[15,0,100,1],label:{enabled:!0,min:[14,0,200,1],max:[30,0,200,1],maxVisible:[30,0,200,1],drawThreshold:[5,0,20,1]}},selectionWidth:[1.5,0,5,.1],selfReferenceSize:[20,0,200,1],selfReference:{size:[20,0,200,1],angle:[Math.PI/2,-6*Math.PI,6*Math.PI,Math.PI/8],renderBehindTheNode:!0},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:[10,0,20,1],x:[5,-30,30,1],y:[5,-30,30,1]},smooth:{enabled:!0,type:["dynamic","continuous","discrete","diagonalCross","straightCross","horizontal","vertical","curvedCW","curvedCCW","cubicBezier"],forceDirection:["horizontal","vertical","none"],roundness:[.5,0,1,.05]},width:[1,0,30,1]},layout:{hierarchical:{enabled:!1,levelSeparation:[150,20,500,5],nodeSpacing:[100,20,500,5],treeSpacing:[200,20,500,5],blockShifting:!0,edgeMinimization:!0,parentCentralization:!0,direction:["UD","DU","LR","RL"],sortMethod:["hubsize","directed"],shakeTowards:["leaves","roots"]}},interaction:{dragNodes:!0,dragView:!0,hideEdgesOnDrag:!1,hideEdgesOnZoom:!1,hideNodesOnDrag:!1,hover:!1,keyboard:{enabled:!1,speed:{x:[10,0,40,1],y:[10,0,40,1],zoom:[.02,0,.1,.005]},bindToWindow:!0,autoFocus:!0},multiselect:!1,navigationButtons:!1,selectable:!0,selectConnectedEdges:!0,hoverConnectedEdges:!0,tooltipDelay:[300,0,1e3,25],zoomView:!0,zoomSpeed:[1,.1,2,.1]},manipulation:{enabled:!1,initiallyActive:!1},physics:{enabled:!0,barnesHut:{theta:[.5,.1,1,.05],gravitationalConstant:[-2e3,-3e4,0,50],centralGravity:[.3,0,10,.05],springLength:[95,0,500,5],springConstant:[.04,0,1.2,.005],damping:[.09,0,1,.01],avoidOverlap:[0,0,1,.01]},forceAtlas2Based:{theta:[.5,.1,1,.05],gravitationalConstant:[-50,-500,0,1],centralGravity:[.01,0,1,.005],springLength:[95,0,500,5],springConstant:[.08,0,1.2,.005],damping:[.4,0,1,.01],avoidOverlap:[0,0,1,.01]},repulsion:{centralGravity:[.2,0,10,.05],springLength:[200,0,500,5],springConstant:[.05,0,1.2,.005],nodeDistance:[100,0,500,5],damping:[.09,0,1,.01]},hierarchicalRepulsion:{centralGravity:[.2,0,10,.05],springLength:[100,0,500,5],springConstant:[.01,0,1.2,.005],nodeDistance:[120,0,500,5],damping:[.09,0,1,.01],avoidOverlap:[0,0,1,.01]},maxVelocity:[50,0,150,1],minVelocity:[.1,.01,.5,.01],solver:["barnesHut","forceAtlas2Based","repulsion","hierarchicalRepulsion"],timestep:[.5,.01,1,.01],wind:{x:[0,-10,10,.1],y:[0,-10,10,.1]}}},tN=function(t,e,i){var n;return!(!Rp(t).call(t,"physics")||!Rp(n=JB.physics.solver).call(n,e)||i.physics.solver===e||"wind"===e)},eN=Object.freeze({__proto__:null,allOptions:QB,configuratorHideOption:tN,configureOptions:JB}),iN=function(){function t(){ch(this,t)}return pu(t,[{key:"getDistances",value:function(t,e,i){for(var n={},o=t.edges,r=0;r<e.length;r++){var s={};n[e[r]]=s;for(var a=0;a<e.length;a++)s[e[a]]=r==a?0:1e9}for(var h=0;h<i.length;h++){var l=o[i[h]];!0===l.connected&&void 0!==n[l.fromId]&&void 0!==n[l.toId]&&(n[l.fromId][l.toId]=1,n[l.toId][l.fromId]=1)}for(var d=e.length,c=0;c<d;c++)for(var u=e[c],f=n[u],p=0;p<d-1;p++)for(var v=e[p],g=n[v],y=p+1;y<d;y++){var m=e[y],b=n[m],w=Math.min(g[m],g[u]+f[m]);g[m]=w,b[v]=w}return n}}]),t}(),nN=function(){function t(e,i,n){ch(this,t),this.body=e,this.springLength=i,this.springConstant=n,this.distanceSolver=new iN}return pu(t,[{key:"setOptions",value:function(t){t&&(t.springLength&&(this.springLength=t.springLength),t.springConstant&&(this.springConstant=t.springConstant))}},{key:"solve",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=this.distanceSolver.getDistances(this.body,t,e);this._createL_matrix(n),this._createK_matrix(n),this._createE_matrix();for(var o=0,r=Math.max(1e3,Math.min(10*this.body.nodeIndices.length,6e3)),s=1e9,a=0,h=0,l=0,d=0,c=0;s>.01&&o<r;){o+=1;var u=Wu(this._getHighestEnergyNode(i),4);for(a=u[0],s=u[1],h=u[2],l=u[3],d=s,c=0;d>1&&c<5;){c+=1,this._moveNode(a,h,l);var f=Wu(this._getEnergy(a),3);d=f[0],h=f[1],l=f[2]}}}},{key:"_getHighestEnergyNode",value:function(t){for(var e=this.body.nodeIndices,i=this.body.nodes,n=0,o=e[0],r=0,s=0,a=0;a<e.length;a++){var h=e[a];if(!0!==i[h].predefinedPosition||!0===i[h].isCluster&&!0===t||!0!==i[h].options.fixed.x||!0!==i[h].options.fixed.y){var l=Wu(this._getEnergy(h),3),d=l[0],c=l[1],u=l[2];n<d&&(n=d,o=h,r=c,s=u)}}return[o,n,r,s]}},{key:"_getEnergy",value:function(t){var e=Wu(this.E_sums[t],2),i=e[0],n=e[1];return[Math.sqrt(Math.pow(i,2)+Math.pow(n,2)),i,n]}},{key:"_moveNode",value:function(t,e,i){for(var n=this.body.nodeIndices,o=this.body.nodes,r=0,s=0,a=0,h=o[t].x,l=o[t].y,d=this.K_matrix[t],c=this.L_matrix[t],u=0;u<n.length;u++){var f=n[u];if(f!==t){var p=o[f].x,v=o[f].y,g=d[f],y=c[f],m=1/Math.pow(Math.pow(h-p,2)+Math.pow(l-v,2),1.5);r+=g*(1-y*Math.pow(l-v,2)*m),s+=g*(y*(h-p)*(l-v)*m),a+=g*(1-y*Math.pow(h-p,2)*m)}}var b=(e/r+i/s)/(s/r-a/s),w=-(s*b+e)/r;o[t].x+=w,o[t].y+=b,this._updateE_matrix(t)}},{key:"_createL_matrix",value:function(t){var e=this.body.nodeIndices,i=this.springLength;this.L_matrix=[];for(var n=0;n<e.length;n++){this.L_matrix[e[n]]={};for(var o=0;o<e.length;o++)this.L_matrix[e[n]][e[o]]=i*t[e[n]][e[o]]}}},{key:"_createK_matrix",value:function(t){var e=this.body.nodeIndices,i=this.springConstant;this.K_matrix=[];for(var n=0;n<e.length;n++){this.K_matrix[e[n]]={};for(var o=0;o<e.length;o++)this.K_matrix[e[n]][e[o]]=i*Math.pow(t[e[n]][e[o]],-2)}}},{key:"_createE_matrix",value:function(){var t=this.body.nodeIndices,e=this.body.nodes;this.E_matrix={},this.E_sums={};for(var i=0;i<t.length;i++)this.E_matrix[t[i]]=[];for(var n=0;n<t.length;n++){for(var o=t[n],r=e[o].x,s=e[o].y,a=0,h=0,l=n;l<t.length;l++){var d=t[l];if(d!==o){var c=e[d].x,u=e[d].y,f=1/Math.sqrt(Math.pow(r-c,2)+Math.pow(s-u,2));this.E_matrix[o][l]=[this.K_matrix[o][d]*(r-c-this.L_matrix[o][d]*(r-c)*f),this.K_matrix[o][d]*(s-u-this.L_matrix[o][d]*(s-u)*f)],this.E_matrix[d][n]=this.E_matrix[o][l],a+=this.E_matrix[o][l][0],h+=this.E_matrix[o][l][1]}}this.E_sums[o]=[a,h]}}},{key:"_updateE_matrix",value:function(t){for(var e=this.body.nodeIndices,i=this.body.nodes,n=this.E_matrix[t],o=this.K_matrix[t],r=this.L_matrix[t],s=i[t].x,a=i[t].y,h=0,l=0,d=0;d<e.length;d++){var c=e[d];if(c!==t){var u=n[d],f=u[0],p=u[1],v=i[c].x,g=i[c].y,y=1/Math.sqrt(Math.pow(s-v,2)+Math.pow(a-g,2)),m=o[c]*(s-v-r[c]*(s-v)*y),b=o[c]*(a-g-r[c]*(a-g)*y);n[d]=[m,b],h+=m,l+=b;var w=this.E_sums[c];w[0]+=m-f,w[1]+=b-p}}this.E_sums[t]=[h,l]}}]),t}();function oN(t,e,i){var n,o,r,s,a=this;if(!(this instanceof oN))throw new SyntaxError("Constructor must be called with the new operator");this.options={},this.defaultOptions={locale:"en",locales:pw,clickToUse:!1},mn(this.options,this.defaultOptions),this.body={container:t,nodes:{},nodeIndices:[],edges:{},edgeIndices:[],emitter:{on:Ln(n=this.on).call(n,this),off:Ln(o=this.off).call(o,this),emit:Ln(r=this.emit).call(r,this),once:Ln(s=this.once).call(s,this)},eventListeners:{onTap:function(){},onTouch:function(){},onDoubleTap:function(){},onHold:function(){},onDragStart:function(){},onDrag:function(){},onDragEnd:function(){},onMouseWheel:function(){},onPinch:function(){},onMouseMove:function(){},onRelease:function(){},onContext:function(){}},data:{nodes:null,edges:null},functions:{createNode:function(){},createEdge:function(){},getPointer:function(){}},modules:{},view:{scale:1,translation:{x:0,y:0}},selectionBox:{show:!1,position:{start:{x:0,y:0},end:{x:0,y:0}}}},this.bindEventListeners(),this.images=new gw((function(){return a.body.emitter.emit("_requestRedraw")})),this.groups=new Vk,this.canvas=new aI(this.body),this.selectionHandler=new EB(this.body,this.canvas),this.interactionHandler=new pI(this.body,this.canvas,this.selectionHandler),this.view=new hI(this.body,this.canvas),this.renderer=new nI(this.body,this.canvas),this.physics=new QD(this.body),this.layoutEngine=new HB(this.body),this.clustering=new iI(this.body),this.manipulation=new VB(this.body,this.canvas,this.selectionHandler,this.interactionHandler),this.nodesHandler=new YP(this.body,this.images,this.groups,this.layoutEngine),this.edgesHandler=new HD(this.body,this.images,this.groups),this.body.modules.kamadaKawai=new nN(this.body,150,.05),this.body.modules.clustering=this.clustering,this.canvas._create(),this.setOptions(i),this.setData(e)}function rN(t){for(var e in t)Object.prototype.hasOwnProperty.call(t,e)&&(t[e].redundant=t[e].used,t[e].used=[])}function sN(t){for(var e in t)if(Object.prototype.hasOwnProperty.call(t,e)&&t[e].redundant){for(var i=0;i<t[e].redundant.length;i++)t[e].redundant[i].parentNode.removeChild(t[e].redundant[i]);t[e].redundant=[]}}function aN(t,e,i){var n;return Object.prototype.hasOwnProperty.call(e,t)?e[t].redundant.length>0?(n=e[t].redundant[0],e[t].redundant.shift()):(n=document.createElementNS("http://www.w3.org/2000/svg",t),i.appendChild(n)):(n=document.createElementNS("http://www.w3.org/2000/svg",t),e[t]={used:[],redundant:[]},i.appendChild(n)),e[t].used.push(n),n}Gn(oN.prototype),oN.prototype.setOptions=function(t){var e=this;if(null===t&&(t=void 0),void 0!==t){!0===Nb.validate(t,QB)&&console.error("%cErrors have been found in the supplied options object.",Bb);if(Um(["locale","locales","clickToUse"],this.options,t),void 0!==t.locale&&(t.locale=function(t,e){try{var i=Wu(e.split(/[-_ /]/,2),2),n=i[0],o=i[1],r=null!=n?n.toLowerCase():null,s=null!=o?o.toUpperCase():null;if(r&&s){var a,h=r+"-"+s;if(Object.prototype.hasOwnProperty.call(t,h))return h;console.warn($u(a="Unknown variant ".concat(s," of language ")).call(a,r,"."))}if(r){var l=r;if(Object.prototype.hasOwnProperty.call(t,l))return l;console.warn("Unknown language ".concat(r))}return console.warn("Unknown locale ".concat(e,", falling back to English.")),"en"}catch(t){return console.error(t),console.warn("Unexpected error while normalizing locale ".concat(e,", falling back to English.")),"en"}}(t.locales||this.options.locales,t.locale)),t=this.layoutEngine.setOptions(t.layout,t),this.canvas.setOptions(t),this.groups.setOptions(t.groups),this.nodesHandler.setOptions(t.nodes),this.edgesHandler.setOptions(t.edges),this.physics.setOptions(t.physics),this.manipulation.setOptions(t.manipulation,t,this.options),this.interactionHandler.setOptions(t.interaction),this.renderer.setOptions(t.interaction),this.selectionHandler.setOptions(t.interaction),void 0!==t.groups&&this.body.emitter.emit("refreshNodes"),"configure"in t&&(this.configurator||(this.configurator=new Pb(this,this.body.container,JB,this.canvas.pixelRatio,tN)),this.configurator.setOptions(t.configure)),this.configurator&&!0===this.configurator.options.enabled){var i={nodes:{},edges:{},layout:{},interaction:{},manipulation:{},physics:{},global:{}};Xm(i.nodes,this.nodesHandler.options),Xm(i.edges,this.edgesHandler.options),Xm(i.layout,this.layoutEngine.options),Xm(i.interaction,this.selectionHandler.options),Xm(i.interaction,this.renderer.options),Xm(i.interaction,this.interactionHandler.options),Xm(i.manipulation,this.manipulation.options),Xm(i.physics,this.physics.options),Xm(i.global,this.canvas.options),Xm(i.global,this.options),this.configurator.setModuleOptions(i)}void 0!==t.clickToUse?!0===t.clickToUse?void 0===this.activator&&(this.activator=new Tb(this.canvas.frame),this.activator.on("change",(function(){e.body.emitter.emit("activate")}))):(void 0!==this.activator&&(this.activator.destroy(),delete this.activator),this.body.emitter.emit("activate")):this.body.emitter.emit("activate"),this.canvas.setSize(),this.body.emitter.emit("startSimulation")}},oN.prototype._updateVisibleIndices=function(){var t=this.body.nodes,e=this.body.edges;for(var i in this.body.nodeIndices=[],this.body.edgeIndices=[],t)Object.prototype.hasOwnProperty.call(t,i)&&(this.clustering._isClusteredNode(i)||!1!==t[i].options.hidden||this.body.nodeIndices.push(t[i].id));for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var o=e[n],r=t[o.fromId],s=t[o.toId],a=void 0!==r&&void 0!==s;!this.clustering._isClusteredEdge(n)&&!1===o.options.hidden&&a&&!1===r.options.hidden&&!1===s.options.hidden&&this.body.edgeIndices.push(o.id)}},oN.prototype.bindEventListeners=function(){var t=this;this.body.emitter.on("_dataChanged",(function(){t.edgesHandler._updateState(),t.body.emitter.emit("_dataUpdated")})),this.body.emitter.on("_dataUpdated",(function(){t.clustering._updateState(),t._updateVisibleIndices(),t._updateValueRange(t.body.nodes),t._updateValueRange(t.body.edges),t.body.emitter.emit("startSimulation"),t.body.emitter.emit("_requestRedraw")}))},oN.prototype.setData=function(t){if(this.body.emitter.emit("resetPhysics"),this.body.emitter.emit("_resetData"),this.selectionHandler.unselectAll(),t&&t.dot&&(t.nodes||t.edges))throw new SyntaxError('Data must contain either parameter "dot" or parameter pair "nodes" and "edges", but not both.');if(this.setOptions(t&&t.options),t&&t.dot){console.warn("The dot property has been deprecated. Please use the static convertDot method to convert DOT into vis.network format and use the normal data format with nodes and edges. This converter is used like this: var data = vis.network.convertDot(dotString);");var e=dw(t.dot);this.setData(e)}else if(t&&t.gephi){console.warn("The gephi property has been deprecated. Please use the static convertGephi method to convert gephi into vis.network format and use the normal data format with nodes and edges. This converter is used like this: var data = vis.network.convertGephi(gephiJson);");var i=uw(t.gephi);this.setData(i)}else this.nodesHandler.setData(t&&t.nodes,!0),this.edgesHandler.setData(t&&t.edges,!0),this.body.emitter.emit("_dataChanged"),this.body.emitter.emit("_dataLoaded"),this.body.emitter.emit("initPhysics")},oN.prototype.destroy=function(){for(var t in this.body.emitter.emit("destroy"),this.body.emitter.off(),this.off(),delete this.groups,delete this.canvas,delete this.selectionHandler,delete this.interactionHandler,delete this.view,delete this.renderer,delete this.physics,delete this.layoutEngine,delete this.clustering,delete this.manipulation,delete this.nodesHandler,delete this.edgesHandler,delete this.configurator,delete this.images,this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,t)&&delete this.body.nodes[t];for(var e in this.body.edges)Object.prototype.hasOwnProperty.call(this.body.edges,e)&&delete this.body.edges[e];Rm(this.body.container)},oN.prototype._updateValueRange=function(t){var e,i=void 0,n=void 0,o=0;for(e in t)if(Object.prototype.hasOwnProperty.call(t,e)){var r=t[e].getValue();void 0!==r&&(i=void 0===i?r:Math.min(r,i),n=void 0===n?r:Math.max(r,n),o+=r)}if(void 0!==i&&void 0!==n)for(e in t)Object.prototype.hasOwnProperty.call(t,e)&&t[e].setValueRange(i,n,o)},oN.prototype.isActive=function(){return!this.activator||this.activator.active},oN.prototype.setSize=function(){return this.canvas.setSize.apply(this.canvas,arguments)},oN.prototype.canvasToDOM=function(){return this.canvas.canvasToDOM.apply(this.canvas,arguments)},oN.prototype.DOMtoCanvas=function(){return this.canvas.DOMtoCanvas.apply(this.canvas,arguments)},oN.prototype.findNode=function(){return this.clustering.findNode.apply(this.clustering,arguments)},oN.prototype.isCluster=function(){return this.clustering.isCluster.apply(this.clustering,arguments)},oN.prototype.openCluster=function(){return this.clustering.openCluster.apply(this.clustering,arguments)},oN.prototype.cluster=function(){return this.clustering.cluster.apply(this.clustering,arguments)},oN.prototype.getNodesInCluster=function(){return this.clustering.getNodesInCluster.apply(this.clustering,arguments)},oN.prototype.clusterByConnection=function(){return this.clustering.clusterByConnection.apply(this.clustering,arguments)},oN.prototype.clusterByHubsize=function(){return this.clustering.clusterByHubsize.apply(this.clustering,arguments)},oN.prototype.updateClusteredNode=function(){return this.clustering.updateClusteredNode.apply(this.clustering,arguments)},oN.prototype.getClusteredEdges=function(){return this.clustering.getClusteredEdges.apply(this.clustering,arguments)},oN.prototype.getBaseEdge=function(){return this.clustering.getBaseEdge.apply(this.clustering,arguments)},oN.prototype.getBaseEdges=function(){return this.clustering.getBaseEdges.apply(this.clustering,arguments)},oN.prototype.updateEdge=function(){return this.clustering.updateEdge.apply(this.clustering,arguments)},oN.prototype.clusterOutliers=function(){return this.clustering.clusterOutliers.apply(this.clustering,arguments)},oN.prototype.getSeed=function(){return this.layoutEngine.getSeed.apply(this.layoutEngine,arguments)},oN.prototype.enableEditMode=function(){return this.manipulation.enableEditMode.apply(this.manipulation,arguments)},oN.prototype.disableEditMode=function(){return this.manipulation.disableEditMode.apply(this.manipulation,arguments)},oN.prototype.addNodeMode=function(){return this.manipulation.addNodeMode.apply(this.manipulation,arguments)},oN.prototype.editNode=function(){return this.manipulation.editNode.apply(this.manipulation,arguments)},oN.prototype.editNodeMode=function(){return console.warn("Deprecated: Please use editNode instead of editNodeMode."),this.manipulation.editNode.apply(this.manipulation,arguments)},oN.prototype.addEdgeMode=function(){return this.manipulation.addEdgeMode.apply(this.manipulation,arguments)},oN.prototype.editEdgeMode=function(){return this.manipulation.editEdgeMode.apply(this.manipulation,arguments)},oN.prototype.deleteSelected=function(){return this.manipulation.deleteSelected.apply(this.manipulation,arguments)},oN.prototype.getPositions=function(){return this.nodesHandler.getPositions.apply(this.nodesHandler,arguments)},oN.prototype.getPosition=function(){return this.nodesHandler.getPosition.apply(this.nodesHandler,arguments)},oN.prototype.storePositions=function(){return this.nodesHandler.storePositions.apply(this.nodesHandler,arguments)},oN.prototype.moveNode=function(){return this.nodesHandler.moveNode.apply(this.nodesHandler,arguments)},oN.prototype.getBoundingBox=function(){return this.nodesHandler.getBoundingBox.apply(this.nodesHandler,arguments)},oN.prototype.getConnectedNodes=function(t){return void 0!==this.body.nodes[t]?this.nodesHandler.getConnectedNodes.apply(this.nodesHandler,arguments):this.edgesHandler.getConnectedNodes.apply(this.edgesHandler,arguments)},oN.prototype.getConnectedEdges=function(){return this.nodesHandler.getConnectedEdges.apply(this.nodesHandler,arguments)},oN.prototype.startSimulation=function(){return this.physics.startSimulation.apply(this.physics,arguments)},oN.prototype.stopSimulation=function(){return this.physics.stopSimulation.apply(this.physics,arguments)},oN.prototype.stabilize=function(){return this.physics.stabilize.apply(this.physics,arguments)},oN.prototype.getSelection=function(){return this.selectionHandler.getSelection.apply(this.selectionHandler,arguments)},oN.prototype.setSelection=function(){return this.selectionHandler.setSelection.apply(this.selectionHandler,arguments)},oN.prototype.getSelectedNodes=function(){return this.selectionHandler.getSelectedNodeIds.apply(this.selectionHandler,arguments)},oN.prototype.getSelectedEdges=function(){return this.selectionHandler.getSelectedEdgeIds.apply(this.selectionHandler,arguments)},oN.prototype.getNodeAt=function(){var t=this.selectionHandler.getNodeAt.apply(this.selectionHandler,arguments);return void 0!==t&&void 0!==t.id?t.id:t},oN.prototype.getEdgeAt=function(){var t=this.selectionHandler.getEdgeAt.apply(this.selectionHandler,arguments);return void 0!==t&&void 0!==t.id?t.id:t},oN.prototype.selectNodes=function(){return this.selectionHandler.selectNodes.apply(this.selectionHandler,arguments)},oN.prototype.selectEdges=function(){return this.selectionHandler.selectEdges.apply(this.selectionHandler,arguments)},oN.prototype.unselectAll=function(){this.selectionHandler.unselectAll.apply(this.selectionHandler,arguments),this.selectionHandler.commitWithoutEmitting.apply(this.selectionHandler),this.redraw()},oN.prototype.redraw=function(){return this.renderer.redraw.apply(this.renderer,arguments)},oN.prototype.getScale=function(){return this.view.getScale.apply(this.view,arguments)},oN.prototype.getViewPosition=function(){return this.view.getViewPosition.apply(this.view,arguments)},oN.prototype.fit=function(){return this.view.fit.apply(this.view,arguments)},oN.prototype.moveTo=function(){return this.view.moveTo.apply(this.view,arguments)},oN.prototype.focus=function(){return this.view.focus.apply(this.view,arguments)},oN.prototype.releaseNode=function(){return this.view.releaseNode.apply(this.view,arguments)},oN.prototype.getOptionsFromConfigurator=function(){var t={};return this.configurator&&(t=this.configurator.getOptions.apply(this.configurator)),t};var hN=Object.freeze({__proto__:null,cleanupElements:sN,drawBar:function(t,e,i,n,o,r,s,a){if(0!=n){n<0&&(e-=n*=-1);var h=aN("rect",r,s);h.setAttributeNS(null,"x",t-.5*i),h.setAttributeNS(null,"y",e),h.setAttributeNS(null,"width",i),h.setAttributeNS(null,"height",n),h.setAttributeNS(null,"class",o),a&&h.setAttributeNS(null,"style",a)}},drawPoint:function(t,e,i,n,o,r){var s;if("circle"==i.style?((s=aN("circle",n,o)).setAttributeNS(null,"cx",t),s.setAttributeNS(null,"cy",e),s.setAttributeNS(null,"r",.5*i.size)):((s=aN("rect",n,o)).setAttributeNS(null,"x",t-.5*i.size),s.setAttributeNS(null,"y",e-.5*i.size),s.setAttributeNS(null,"width",i.size),s.setAttributeNS(null,"height",i.size)),void 0!==i.styles&&s.setAttributeNS(null,"style",i.styles),s.setAttributeNS(null,"class",i.className+" vis-point"),r){var a=aN("text",n,o);r.xOffset&&(t+=r.xOffset),r.yOffset&&(e+=r.yOffset),r.content&&(a.textContent=r.content),r.className&&a.setAttributeNS(null,"class",r.className+" vis-label"),a.setAttributeNS(null,"x",t),a.setAttributeNS(null,"y",e)}return s},getDOMElement:function(t,e,i,n){var o;return Object.prototype.hasOwnProperty.call(e,t)?e[t].redundant.length>0?(o=e[t].redundant[0],e[t].redundant.shift()):(o=document.createElement(t),void 0!==n?i.insertBefore(o,n):i.appendChild(o)):(o=document.createElement(t),e[t]={used:[],redundant:[]},void 0!==n?i.insertBefore(o,n):i.appendChild(o)),e[t].used.push(o),o},getSVGElement:aN,prepareElements:rN,resetElements:function(t){rN(t),sN(t),rN(t)}}),lN={Images:gw,dotparser:cw,gephiParser:fw,allOptions:eN,convertDot:dw,convertGephi:uw},dN=Object.freeze({__proto__:null,DOMutil:hN,DataSet:EM,DataView:OM,Hammer:Db,Network:oN,Queue:kM,data:TM,keycharm:dI,network:lN,util:Fb});t.DOMutil=hN,t.DataSet=EM,t.DataView=OM,t.Hammer=Db,t.Network=oN,t.Queue=kM,t.data=TM,t.default=dN,t.keycharm=dI,t.network=lN,t.util=Fb,Object.defineProperty(t,"__esModule",{value:!0})}));