@gkd-kit/inspect 0.0.1752723549987 → 0.0.1753264900098
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/404.html +3 -3
- package/dist/assets/{ActionCard.vue_vue_type_script_setup_true_lang-PElaZ9s9.js → ActionCard.vue_vue_type_script_setup_true_lang-D91GHH9O.js} +2 -2
- package/dist/assets/{ActionCard.vue_vue_type_script_setup_true_lang-PElaZ9s9.js.map → ActionCard.vue_vue_type_script_setup_true_lang-D91GHH9O.js.map} +1 -1
- package/dist/assets/{DevicePage-D1QH7UDK.js → DevicePage-C36GmIMH.js} +2 -2
- package/dist/assets/{DevicePage-D1QH7UDK.js.map → DevicePage-C36GmIMH.js.map} +1 -1
- package/dist/assets/{HomePage-j9qNTJui.js → HomePage-BQj4jaS3.js} +2 -2
- package/dist/assets/{HomePage-j9qNTJui.js.map → HomePage-BQj4jaS3.js.map} +1 -1
- package/dist/assets/{ImportPage-Cqqfi7Wj.js → ImportPage-Db8XX9r6.js} +2 -2
- package/dist/assets/{ImportPage-Cqqfi7Wj.js.map → ImportPage-Db8XX9r6.js.map} +1 -1
- package/dist/assets/{Input-BzYQtqBH.js → Input-Ynpcnvhg.js} +2 -2
- package/dist/assets/{Input-BzYQtqBH.js.map → Input-Ynpcnvhg.js.map} +1 -1
- package/dist/assets/{SelectorPage-D3QrluAf.js → SelectorPage-BdSzMIc3.js} +2 -2
- package/dist/assets/{SelectorPage-D3QrluAf.js.map → SelectorPage-BdSzMIc3.js.map} +1 -1
- package/dist/assets/{SnapshotPage-BThY6PG1.js → SnapshotPage-BCnJLbu0.js} +7 -7
- package/dist/assets/SnapshotPage-BCnJLbu0.js.map +1 -0
- package/dist/assets/{SvgPage-CUSzDzfp.js → SvgPage-2OLxFHNv.js} +2 -2
- package/dist/assets/{SvgPage-CUSzDzfp.js.map → SvgPage-2OLxFHNv.js.map} +1 -1
- package/dist/assets/{TrackGraph-1FHp7jph.js → TrackGraph-Cj0YVzGl.js} +3 -3
- package/dist/assets/{TrackGraph-1FHp7jph.js.map → TrackGraph-Cj0YVzGl.js.map} +1 -1
- package/dist/assets/{_404Page-Akw4YJxq.js → _404Page-BbHTMit1.js} +2 -2
- package/dist/assets/{_404Page-Akw4YJxq.js.map → _404Page-BbHTMit1.js.map} +1 -1
- package/dist/assets/chunk-CtkY0CPE.js +3 -0
- package/dist/assets/{chunk-CDEsesrh.js.map → chunk-CtkY0CPE.js.map} +1 -1
- package/dist/assets/{dayjs.min-BbXt-y62.js → dayjs.min-DsBT56G2.js} +2 -2
- package/dist/assets/{dayjs.min-BbXt-y62.js.map → dayjs.min-DsBT56G2.js.map} +1 -1
- package/dist/assets/{error-Dy69hU6s.js → error-D74TX_sp.js} +2 -2
- package/dist/assets/{error-Dy69hU6s.js.map → error-D74TX_sp.js.map} +1 -1
- package/dist/assets/{import-hMb6Dhc0.js → import-CmbSMi96.js} +2 -2
- package/dist/assets/{import-hMb6Dhc0.js.map → import-CmbSMi96.js.map} +1 -1
- package/dist/assets/{index-BDAtZ-v9.js → index-DeENZmi8.js} +6 -6
- package/dist/assets/{index-BDAtZ-v9.js.map → index-DeENZmi8.js.map} +1 -1
- package/dist/assets/{index-DuaW-Nyq.js → index-XrupmS3c.js} +3 -3
- package/dist/assets/{index-DuaW-Nyq.js.map → index-XrupmS3c.js.map} +1 -1
- package/dist/assets/{jszip.min-B2zs4wrN.js → jszip.min-l0dN86JM.js} +2 -2
- package/dist/assets/{jszip.min-B2zs4wrN.js.map → jszip.min-l0dN86JM.js.map} +1 -1
- package/dist/assets/{node-BORhiDda.js → node-Do70ssMr.js} +2 -2
- package/dist/assets/{node-BORhiDda.js.map → node-Do70ssMr.js.map} +1 -1
- package/dist/assets/{snapshot-pefCqPdN.js → snapshot-DuUlV9JH.js} +2 -2
- package/dist/assets/{snapshot-pefCqPdN.js.map → snapshot-DuUlV9JH.js.map} +1 -1
- package/dist/assets/{table-DAFi0yrw.js → table-BfMftIZh.js} +2 -2
- package/dist/assets/{table-DAFi0yrw.js.map → table-BfMftIZh.js.map} +1 -1
- package/dist/index.html +3 -3
- package/package.json +1 -1
- package/dist/assets/SnapshotPage-BThY6PG1.js.map +0 -1
- package/dist/assets/chunk-CDEsesrh.js +0 -3
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{S as zh,y as vO,z as BC,A as zC,C as jC,D as qC,E as $C}from"./node-
|
|
1
|
+
import{S as zh,y as vO,z as BC,A as zC,C as jC,D as qC,E as $C}from"./node-Do70ssMr.js";import{bM as oc,cC as pO,b6 as gl,cB as Cm,h as GC,o as WC,q as Ws,aA as rb,z as VC,aF as UC,H as ib,J as YC,K as HC}from"./index-DeENZmi8.js";import{t as XC}from"./index-XrupmS3c.js";function KC(){}function ZC(r,t,e,n){for(var i=r.length,a=e+-1;++a<i;)if(t(r[a],a,r))return a;return-1}function JC(r){return r!==r}function QC(r,t,e){for(var n=e-1,i=r.length;++n<i;)if(r[n]===t)return n;return-1}function tR(r,t,e){return t===t?QC(r,t,e):ZC(r,JC,e)}function eR(r,t){var e=r==null?0:r.length;return!!e&&tR(r,t,0)>-1}var nR=1/0,rR=zh&&1/vO(new zh([,-0]))[1]==nR?function(r){return new zh(r)}:KC,iR=200;function aR(r,t,e){var n=-1,i=eR,a=r.length,s=!0,o=[],l=o;if(a>=iR){var u=t?null:rR(r);if(u)return vO(u);s=!1,i=zC,l=new BC}else l=t?[]:o;t:for(;++n<a;){var c=r[n],h=t?t(c):c;if(c=c!==0?c:0,s&&h===h){for(var d=l.length;d--;)if(l[d]===h)continue t;t&&l.push(h),o.push(c)}else i(l,h,e)||(l!==o&&l.push(h),o.push(c))}return o}function sR(r,t){return r&&r.length?aR(r,jC(t)):[]}function Zi(r){"@babel/helpers - typeof";return Zi=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Zi(r)}function oR(r,t){if(Zi(r)!="object"||!r)return r;var e=r[Symbol.toPrimitive];if(e!==void 0){var n=e.call(r,t);if(Zi(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(r)}function yO(r){var t=oR(r,"string");return Zi(t)=="symbol"?t:t+""}function St(r,t,e){return(t=yO(t))in r?Object.defineProperty(r,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):r[t]=e,r}function ab(r,t){var e=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),e.push.apply(e,n)}return e}function $t(r){for(var t=1;t<arguments.length;t++){var e=arguments[t]!=null?arguments[t]:{};t%2?ab(Object(e),!0).forEach(function(n){St(r,n,e[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(e)):ab(Object(e)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(e,n))})}return r}function ht(r,t){if(!(r instanceof t))throw new TypeError("Cannot call a class as a function")}function sb(r,t){for(var e=0;e<t.length;e++){var n=t[e];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(r,yO(n.key),n)}}function dt(r,t,e){return t&&sb(r.prototype,t),e&&sb(r,e),Object.defineProperty(r,"prototype",{writable:!1}),r}function xy(r,t){(t==null||t>r.length)&&(t=r.length);for(var e=0,n=Array(t);e<t;e++)n[e]=r[e];return n}function lR(r){if(Array.isArray(r))return xy(r)}function uR(r){if(typeof Symbol<"u"&&r[Symbol.iterator]!=null||r["@@iterator"]!=null)return Array.from(r)}function Rm(r,t){if(r){if(typeof r=="string")return xy(r,t);var e={}.toString.call(r).slice(8,-1);return e==="Object"&&r.constructor&&(e=r.constructor.name),e==="Map"||e==="Set"?Array.from(r):e==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?xy(r,t):void 0}}function cR(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
2
2
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Zt(r){return lR(r)||uR(r)||Rm(r)||cR()}function xs(r){return xs=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},xs(r)}function mO(){try{var r=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(mO=function(){return!!r})()}function hR(r){if(r===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return r}function dR(r,t){if(t&&(Zi(t)=="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return hR(r)}function Gt(r,t,e){return t=xs(t),dR(r,mO()?Reflect.construct(t,e||[],xs(r).constructor):t.apply(r,e))}function Ey(r,t){return Ey=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,n){return e.__proto__=n,e},Ey(r,t)}function Wt(r,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");r.prototype=Object.create(t&&t.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),Object.defineProperty(r,"prototype",{writable:!1}),t&&Ey(r,t)}function fR(r){if(Array.isArray(r))return r}function gR(r,t){var e=r==null?null:typeof Symbol<"u"&&r[Symbol.iterator]||r["@@iterator"];if(e!=null){var n,i,a,s,o=[],l=!0,u=!1;try{if(a=(e=e.call(r)).next,t===0){if(Object(e)!==e)return;l=!1}else for(;!(l=(n=a.call(e)).done)&&(o.push(n.value),o.length!==t);l=!0);}catch(c){u=!0,i=c}finally{try{if(!l&&e.return!=null&&(s=e.return(),Object(s)!==s))return}finally{if(u)throw i}}return o}}function vR(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
3
3
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function qt(r,t){return fR(r)||gR(r,t)||Rm(r,t)||vR()}var jh={exports:{}},ob;function pR(){return ob||(ob=1,function(r){var t=Object.prototype.hasOwnProperty,e="~";function n(){}Object.create&&(n.prototype=Object.create(null),new n().__proto__||(e=!1));function i(l,u,c){this.fn=l,this.context=u,this.once=c||!1}function a(l,u,c,h,d){if(typeof c!="function")throw new TypeError("The listener must be a function");var f=new i(c,h||l,d),g=e?e+u:u;return l._events[g]?l._events[g].fn?l._events[g]=[l._events[g],f]:l._events[g].push(f):(l._events[g]=f,l._eventsCount++),l}function s(l,u){--l._eventsCount===0?l._events=new n:delete l._events[u]}function o(){this._events=new n,this._eventsCount=0}o.prototype.eventNames=function(){var u=[],c,h;if(this._eventsCount===0)return u;for(h in c=this._events)t.call(c,h)&&u.push(e?h.slice(1):h);return Object.getOwnPropertySymbols?u.concat(Object.getOwnPropertySymbols(c)):u},o.prototype.listeners=function(u){var c=e?e+u:u,h=this._events[c];if(!h)return[];if(h.fn)return[h.fn];for(var d=0,f=h.length,g=new Array(f);d<f;d++)g[d]=h[d].fn;return g},o.prototype.listenerCount=function(u){var c=e?e+u:u,h=this._events[c];return h?h.fn?1:h.length:0},o.prototype.emit=function(u,c,h,d,f,g){var p=e?e+u:u;if(!this._events[p])return!1;var v=this._events[p],y=arguments.length,m,w;if(v.fn){switch(v.once&&this.removeListener(u,v.fn,void 0,!0),y){case 1:return v.fn.call(v.context),!0;case 2:return v.fn.call(v.context,c),!0;case 3:return v.fn.call(v.context,c,h),!0;case 4:return v.fn.call(v.context,c,h,d),!0;case 5:return v.fn.call(v.context,c,h,d,f),!0;case 6:return v.fn.call(v.context,c,h,d,f,g),!0}for(w=1,m=new Array(y-1);w<y;w++)m[w-1]=arguments[w];v.fn.apply(v.context,m)}else{var S=v.length,_;for(w=0;w<S;w++)switch(v[w].once&&this.removeListener(u,v[w].fn,void 0,!0),y){case 1:v[w].fn.call(v[w].context);break;case 2:v[w].fn.call(v[w].context,c);break;case 3:v[w].fn.call(v[w].context,c,h);break;case 4:v[w].fn.call(v[w].context,c,h,d);break;default:if(!m)for(_=1,m=new Array(y-1);_<y;_++)m[_-1]=arguments[_];v[w].fn.apply(v[w].context,m)}}return!0},o.prototype.on=function(u,c,h){return a(this,u,c,h,!1)},o.prototype.once=function(u,c,h){return a(this,u,c,h,!0)},o.prototype.removeListener=function(u,c,h,d){var f=e?e+u:u;if(!this._events[f])return this;if(!c)return s(this,f),this;var g=this._events[f];if(g.fn)g.fn===c&&(!d||g.once)&&(!h||g.context===h)&&s(this,f);else{for(var p=0,v=[],y=g.length;p<y;p++)(g[p].fn!==c||d&&!g[p].once||h&&g[p].context!==h)&&v.push(g[p]);v.length?this._events[f]=v.length===1?v[0]:v:s(this,f)}return this},o.prototype.removeAllListeners=function(u){var c;return u?(c=e?e+u:u,this._events[c]&&s(this,c)):(this._events=new n,this._eventsCount=0),this},o.prototype.off=o.prototype.removeListener,o.prototype.addListener=o.prototype.on,o.prefixed=e,o.EventEmitter=o,r.exports=o}(jh)),jh.exports}var yR=pR();const bO=oc(yR);var Se=1e-6,Ze=typeof Float32Array<"u"?Float32Array:Array;Math.hypot||(Math.hypot=function(){for(var r=0,t=arguments.length;t--;)r+=arguments[t]*arguments[t];return Math.sqrt(r)});function wO(){var r=new Ze(9);return Ze!=Float32Array&&(r[1]=0,r[2]=0,r[3]=0,r[5]=0,r[6]=0,r[7]=0),r[0]=1,r[4]=1,r[8]=1,r}function mR(r,t){return r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=t[4],r[4]=t[5],r[5]=t[6],r[6]=t[8],r[7]=t[9],r[8]=t[10],r}function bR(r,t,e,n,i,a,s,o,l){var u=new Ze(9);return u[0]=r,u[1]=t,u[2]=e,u[3]=n,u[4]=i,u[5]=a,u[6]=s,u[7]=o,u[8]=l,u}function fe(){var r=new Ze(16);return Ze!=Float32Array&&(r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[11]=0,r[12]=0,r[13]=0,r[14]=0),r[0]=1,r[5]=1,r[10]=1,r[15]=1,r}function xO(r){var t=new Ze(16);return t[0]=r[0],t[1]=r[1],t[2]=r[2],t[3]=r[3],t[4]=r[4],t[5]=r[5],t[6]=r[6],t[7]=r[7],t[8]=r[8],t[9]=r[9],t[10]=r[10],t[11]=r[11],t[12]=r[12],t[13]=r[13],t[14]=r[14],t[15]=r[15],t}function Es(r,t){return r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=t[3],r[4]=t[4],r[5]=t[5],r[6]=t[6],r[7]=t[7],r[8]=t[8],r[9]=t[9],r[10]=t[10],r[11]=t[11],r[12]=t[12],r[13]=t[13],r[14]=t[14],r[15]=t[15],r}function EO(r,t,e,n,i,a,s,o,l,u,c,h,d,f,g,p){var v=new Ze(16);return v[0]=r,v[1]=t,v[2]=e,v[3]=n,v[4]=i,v[5]=a,v[6]=s,v[7]=o,v[8]=l,v[9]=u,v[10]=c,v[11]=h,v[12]=d,v[13]=f,v[14]=g,v[15]=p,v}function Sy(r,t,e,n,i,a,s,o,l,u,c,h,d,f,g,p,v){return r[0]=t,r[1]=e,r[2]=n,r[3]=i,r[4]=a,r[5]=s,r[6]=o,r[7]=l,r[8]=u,r[9]=c,r[10]=h,r[11]=d,r[12]=f,r[13]=g,r[14]=p,r[15]=v,r}function Ji(r){return r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=1,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=1,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}function SO(r,t){if(r===t){var e=t[1],n=t[2],i=t[3],a=t[6],s=t[7],o=t[11];r[1]=t[4],r[2]=t[8],r[3]=t[12],r[4]=e,r[6]=t[9],r[7]=t[13],r[8]=n,r[9]=a,r[11]=t[14],r[12]=i,r[13]=s,r[14]=o}else r[0]=t[0],r[1]=t[4],r[2]=t[8],r[3]=t[12],r[4]=t[1],r[5]=t[5],r[6]=t[9],r[7]=t[13],r[8]=t[2],r[9]=t[6],r[10]=t[10],r[11]=t[14],r[12]=t[3],r[13]=t[7],r[14]=t[11],r[15]=t[15];return r}function Kr(r,t){var e=t[0],n=t[1],i=t[2],a=t[3],s=t[4],o=t[5],l=t[6],u=t[7],c=t[8],h=t[9],d=t[10],f=t[11],g=t[12],p=t[13],v=t[14],y=t[15],m=e*o-n*s,w=e*l-i*s,S=e*u-a*s,_=n*l-i*o,k=n*u-a*o,T=i*u-a*l,O=c*p-h*g,P=c*v-d*g,N=c*y-f*g,C=h*v-d*p,L=h*y-f*p,F=d*y-f*v,G=m*F-w*L+S*C+_*N-k*P+T*O;return G?(G=1/G,r[0]=(o*F-l*L+u*C)*G,r[1]=(i*L-n*F-a*C)*G,r[2]=(p*T-v*k+y*_)*G,r[3]=(d*k-h*T-f*_)*G,r[4]=(l*N-s*F-u*P)*G,r[5]=(e*F-i*N+a*P)*G,r[6]=(v*S-g*T-y*w)*G,r[7]=(c*T-d*S+f*w)*G,r[8]=(s*L-o*N+u*O)*G,r[9]=(n*N-e*L-a*O)*G,r[10]=(g*k-p*S+y*m)*G,r[11]=(h*S-c*k-f*m)*G,r[12]=(o*P-s*C-l*O)*G,r[13]=(e*C-n*P+i*O)*G,r[14]=(p*w-g*_-v*m)*G,r[15]=(c*_-h*w+d*m)*G,r):null}function wR(r,t){var e=t[0],n=t[1],i=t[2],a=t[3],s=t[4],o=t[5],l=t[6],u=t[7],c=t[8],h=t[9],d=t[10],f=t[11],g=t[12],p=t[13],v=t[14],y=t[15];return r[0]=o*(d*y-f*v)-h*(l*y-u*v)+p*(l*f-u*d),r[1]=-(n*(d*y-f*v)-h*(i*y-a*v)+p*(i*f-a*d)),r[2]=n*(l*y-u*v)-o*(i*y-a*v)+p*(i*u-a*l),r[3]=-(n*(l*f-u*d)-o*(i*f-a*d)+h*(i*u-a*l)),r[4]=-(s*(d*y-f*v)-c*(l*y-u*v)+g*(l*f-u*d)),r[5]=e*(d*y-f*v)-c*(i*y-a*v)+g*(i*f-a*d),r[6]=-(e*(l*y-u*v)-s*(i*y-a*v)+g*(i*u-a*l)),r[7]=e*(l*f-u*d)-s*(i*f-a*d)+c*(i*u-a*l),r[8]=s*(h*y-f*p)-c*(o*y-u*p)+g*(o*f-u*h),r[9]=-(e*(h*y-f*p)-c*(n*y-a*p)+g*(n*f-a*h)),r[10]=e*(o*y-u*p)-s*(n*y-a*p)+g*(n*u-a*o),r[11]=-(e*(o*f-u*h)-s*(n*f-a*h)+c*(n*u-a*o)),r[12]=-(s*(h*v-d*p)-c*(o*v-l*p)+g*(o*d-l*h)),r[13]=e*(h*v-d*p)-c*(n*v-i*p)+g*(n*d-i*h),r[14]=-(e*(o*v-l*p)-s*(n*v-i*p)+g*(n*l-i*o)),r[15]=e*(o*d-l*h)-s*(n*d-i*h)+c*(n*l-i*o),r}function _O(r){var t=r[0],e=r[1],n=r[2],i=r[3],a=r[4],s=r[5],o=r[6],l=r[7],u=r[8],c=r[9],h=r[10],d=r[11],f=r[12],g=r[13],p=r[14],v=r[15],y=t*s-e*a,m=t*o-n*a,w=t*l-i*a,S=e*o-n*s,_=e*l-i*s,k=n*l-i*o,T=u*g-c*f,O=u*p-h*f,P=u*v-d*f,N=c*p-h*g,C=c*v-d*g,L=h*v-d*p;return y*L-m*C+w*N+S*P-_*O+k*T}function Tn(r,t,e){var n=t[0],i=t[1],a=t[2],s=t[3],o=t[4],l=t[5],u=t[6],c=t[7],h=t[8],d=t[9],f=t[10],g=t[11],p=t[12],v=t[13],y=t[14],m=t[15],w=e[0],S=e[1],_=e[2],k=e[3];return r[0]=w*n+S*o+_*h+k*p,r[1]=w*i+S*l+_*d+k*v,r[2]=w*a+S*u+_*f+k*y,r[3]=w*s+S*c+_*g+k*m,w=e[4],S=e[5],_=e[6],k=e[7],r[4]=w*n+S*o+_*h+k*p,r[5]=w*i+S*l+_*d+k*v,r[6]=w*a+S*u+_*f+k*y,r[7]=w*s+S*c+_*g+k*m,w=e[8],S=e[9],_=e[10],k=e[11],r[8]=w*n+S*o+_*h+k*p,r[9]=w*i+S*l+_*d+k*v,r[10]=w*a+S*u+_*f+k*y,r[11]=w*s+S*c+_*g+k*m,w=e[12],S=e[13],_=e[14],k=e[15],r[12]=w*n+S*o+_*h+k*p,r[13]=w*i+S*l+_*d+k*v,r[14]=w*a+S*u+_*f+k*y,r[15]=w*s+S*c+_*g+k*m,r}function ps(r,t,e){var n=e[0],i=e[1],a=e[2],s,o,l,u,c,h,d,f,g,p,v,y;return t===r?(r[12]=t[0]*n+t[4]*i+t[8]*a+t[12],r[13]=t[1]*n+t[5]*i+t[9]*a+t[13],r[14]=t[2]*n+t[6]*i+t[10]*a+t[14],r[15]=t[3]*n+t[7]*i+t[11]*a+t[15]):(s=t[0],o=t[1],l=t[2],u=t[3],c=t[4],h=t[5],d=t[6],f=t[7],g=t[8],p=t[9],v=t[10],y=t[11],r[0]=s,r[1]=o,r[2]=l,r[3]=u,r[4]=c,r[5]=h,r[6]=d,r[7]=f,r[8]=g,r[9]=p,r[10]=v,r[11]=y,r[12]=s*n+c*i+g*a+t[12],r[13]=o*n+h*i+p*a+t[13],r[14]=l*n+d*i+v*a+t[14],r[15]=u*n+f*i+y*a+t[15]),r}function MO(r,t,e){var n=e[0],i=e[1],a=e[2];return r[0]=t[0]*n,r[1]=t[1]*n,r[2]=t[2]*n,r[3]=t[3]*n,r[4]=t[4]*i,r[5]=t[5]*i,r[6]=t[6]*i,r[7]=t[7]*i,r[8]=t[8]*a,r[9]=t[9]*a,r[10]=t[10]*a,r[11]=t[11]*a,r[12]=t[12],r[13]=t[13],r[14]=t[14],r[15]=t[15],r}function xR(r,t,e,n){var i=n[0],a=n[1],s=n[2],o=Math.hypot(i,a,s),l,u,c,h,d,f,g,p,v,y,m,w,S,_,k,T,O,P,N,C,L,F,G,V;return o<Se?null:(o=1/o,i*=o,a*=o,s*=o,l=Math.sin(e),u=Math.cos(e),c=1-u,h=t[0],d=t[1],f=t[2],g=t[3],p=t[4],v=t[5],y=t[6],m=t[7],w=t[8],S=t[9],_=t[10],k=t[11],T=i*i*c+u,O=a*i*c+s*l,P=s*i*c-a*l,N=i*a*c-s*l,C=a*a*c+u,L=s*a*c+i*l,F=i*s*c+a*l,G=a*s*c-i*l,V=s*s*c+u,r[0]=h*T+p*O+w*P,r[1]=d*T+v*O+S*P,r[2]=f*T+y*O+_*P,r[3]=g*T+m*O+k*P,r[4]=h*N+p*C+w*L,r[5]=d*N+v*C+S*L,r[6]=f*N+y*C+_*L,r[7]=g*N+m*C+k*L,r[8]=h*F+p*G+w*V,r[9]=d*F+v*G+S*V,r[10]=f*F+y*G+_*V,r[11]=g*F+m*G+k*V,t!==r&&(r[12]=t[12],r[13]=t[13],r[14]=t[14],r[15]=t[15]),r)}function kO(r,t,e){var n=Math.sin(e),i=Math.cos(e),a=t[4],s=t[5],o=t[6],l=t[7],u=t[8],c=t[9],h=t[10],d=t[11];return t!==r&&(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=t[3],r[12]=t[12],r[13]=t[13],r[14]=t[14],r[15]=t[15]),r[4]=a*i+u*n,r[5]=s*i+c*n,r[6]=o*i+h*n,r[7]=l*i+d*n,r[8]=u*i-a*n,r[9]=c*i-s*n,r[10]=h*i-o*n,r[11]=d*i-l*n,r}function OO(r,t,e){var n=Math.sin(e),i=Math.cos(e),a=t[0],s=t[1],o=t[2],l=t[3],u=t[8],c=t[9],h=t[10],d=t[11];return t!==r&&(r[4]=t[4],r[5]=t[5],r[6]=t[6],r[7]=t[7],r[12]=t[12],r[13]=t[13],r[14]=t[14],r[15]=t[15]),r[0]=a*i-u*n,r[1]=s*i-c*n,r[2]=o*i-h*n,r[3]=l*i-d*n,r[8]=a*n+u*i,r[9]=s*n+c*i,r[10]=o*n+h*i,r[11]=l*n+d*i,r}function ER(r,t,e){var n=Math.sin(e),i=Math.cos(e),a=t[0],s=t[1],o=t[2],l=t[3],u=t[4],c=t[5],h=t[6],d=t[7];return t!==r&&(r[8]=t[8],r[9]=t[9],r[10]=t[10],r[11]=t[11],r[12]=t[12],r[13]=t[13],r[14]=t[14],r[15]=t[15]),r[0]=a*i+u*n,r[1]=s*i+c*n,r[2]=o*i+h*n,r[3]=l*i+d*n,r[4]=u*i-a*n,r[5]=c*i-s*n,r[6]=h*i-o*n,r[7]=d*i-l*n,r}function Fi(r,t){return r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=1,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=1,r[11]=0,r[12]=t[0],r[13]=t[1],r[14]=t[2],r[15]=1,r}function ya(r,t){return r[0]=t[0],r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=t[1],r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=t[2],r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}function TO(r,t,e){var n=e[0],i=e[1],a=e[2],s=Math.hypot(n,i,a),o,l,u;return s<Se?null:(s=1/s,n*=s,i*=s,a*=s,o=Math.sin(t),l=Math.cos(t),u=1-l,r[0]=n*n*u+l,r[1]=i*n*u+a*o,r[2]=a*n*u-i*o,r[3]=0,r[4]=n*i*u-a*o,r[5]=i*i*u+l,r[6]=a*i*u+n*o,r[7]=0,r[8]=n*a*u+i*o,r[9]=i*a*u-n*o,r[10]=a*a*u+l,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r)}function AO(r,t){var e=Math.sin(t),n=Math.cos(t);return r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=n,r[6]=e,r[7]=0,r[8]=0,r[9]=-e,r[10]=n,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}function PO(r,t){var e=Math.sin(t),n=Math.cos(t);return r[0]=n,r[1]=0,r[2]=-e,r[3]=0,r[4]=0,r[5]=1,r[6]=0,r[7]=0,r[8]=e,r[9]=0,r[10]=n,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}function _y(r,t){var e=Math.sin(t),n=Math.cos(t);return r[0]=n,r[1]=e,r[2]=0,r[3]=0,r[4]=-e,r[5]=n,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=1,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}function NO(r,t,e){var n=t[0],i=t[1],a=t[2],s=t[3],o=n+n,l=i+i,u=a+a,c=n*o,h=n*l,d=n*u,f=i*l,g=i*u,p=a*u,v=s*o,y=s*l,m=s*u;return r[0]=1-(f+p),r[1]=h+m,r[2]=d-y,r[3]=0,r[4]=h-m,r[5]=1-(c+p),r[6]=g+v,r[7]=0,r[8]=d+y,r[9]=g-v,r[10]=1-(c+f),r[11]=0,r[12]=e[0],r[13]=e[1],r[14]=e[2],r[15]=1,r}function SR(r,t){var e=new Ze(3),n=-t[0],i=-t[1],a=-t[2],s=t[3],o=t[4],l=t[5],u=t[6],c=t[7],h=n*n+i*i+a*a+s*s;return h>0?(e[0]=(o*s+c*n+l*a-u*i)*2/h,e[1]=(l*s+c*i+u*n-o*a)*2/h,e[2]=(u*s+c*a+o*i-l*n)*2/h):(e[0]=(o*s+c*n+l*a-u*i)*2,e[1]=(l*s+c*i+u*n-o*a)*2,e[2]=(u*s+c*a+o*i-l*n)*2),NO(r,t,e),r}function _u(r,t){return r[0]=t[12],r[1]=t[13],r[2]=t[14],r}function Ss(r,t){var e=t[0],n=t[1],i=t[2],a=t[4],s=t[5],o=t[6],l=t[8],u=t[9],c=t[10];return r[0]=Math.hypot(e,n,i),r[1]=Math.hypot(a,s,o),r[2]=Math.hypot(l,u,c),r}function Mu(r,t){var e=new Ze(3);Ss(e,t);var n=1/e[0],i=1/e[1],a=1/e[2],s=t[0]*n,o=t[1]*i,l=t[2]*a,u=t[4]*n,c=t[5]*i,h=t[6]*a,d=t[8]*n,f=t[9]*i,g=t[10]*a,p=s+c+g,v=0;return p>0?(v=Math.sqrt(p+1)*2,r[3]=.25*v,r[0]=(h-f)/v,r[1]=(d-l)/v,r[2]=(o-u)/v):s>c&&s>g?(v=Math.sqrt(1+s-c-g)*2,r[3]=(h-f)/v,r[0]=.25*v,r[1]=(o+u)/v,r[2]=(d+l)/v):c>g?(v=Math.sqrt(1+c-s-g)*2,r[3]=(d-l)/v,r[0]=(o+u)/v,r[1]=.25*v,r[2]=(h+f)/v):(v=Math.sqrt(1+g-s-c)*2,r[3]=(o-u)/v,r[0]=(d+l)/v,r[1]=(h+f)/v,r[2]=.25*v),r}function _R(r,t,e,n){var i=t[0],a=t[1],s=t[2],o=t[3],l=i+i,u=a+a,c=s+s,h=i*l,d=i*u,f=i*c,g=a*u,p=a*c,v=s*c,y=o*l,m=o*u,w=o*c,S=n[0],_=n[1],k=n[2];return r[0]=(1-(g+v))*S,r[1]=(d+w)*S,r[2]=(f-m)*S,r[3]=0,r[4]=(d-w)*_,r[5]=(1-(h+v))*_,r[6]=(p+y)*_,r[7]=0,r[8]=(f+m)*k,r[9]=(p-y)*k,r[10]=(1-(h+g))*k,r[11]=0,r[12]=e[0],r[13]=e[1],r[14]=e[2],r[15]=1,r}function po(r,t,e,n,i){var a=t[0],s=t[1],o=t[2],l=t[3],u=a+a,c=s+s,h=o+o,d=a*u,f=a*c,g=a*h,p=s*c,v=s*h,y=o*h,m=l*u,w=l*c,S=l*h,_=n[0],k=n[1],T=n[2],O=i[0],P=i[1],N=i[2],C=(1-(p+y))*_,L=(f+S)*_,F=(g-w)*_,G=(f-S)*k,V=(1-(d+y))*k,U=(v+m)*k,q=(g+w)*T,j=(v-m)*T,Z=(1-(d+p))*T;return r[0]=C,r[1]=L,r[2]=F,r[3]=0,r[4]=G,r[5]=V,r[6]=U,r[7]=0,r[8]=q,r[9]=j,r[10]=Z,r[11]=0,r[12]=e[0]+O-(C*O+G*P+q*N),r[13]=e[1]+P-(L*O+V*P+j*N),r[14]=e[2]+N-(F*O+U*P+Z*N),r[15]=1,r}function Lm(r,t){var e=t[0],n=t[1],i=t[2],a=t[3],s=e+e,o=n+n,l=i+i,u=e*s,c=n*s,h=n*o,d=i*s,f=i*o,g=i*l,p=a*s,v=a*o,y=a*l;return r[0]=1-h-g,r[1]=c+y,r[2]=d-v,r[3]=0,r[4]=c-y,r[5]=1-u-g,r[6]=f+p,r[7]=0,r[8]=d+v,r[9]=f-p,r[10]=1-u-h,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}function MR(r,t,e,n,i,a,s){var o=1/(e-t),l=1/(i-n),u=1/(a-s);return r[0]=a*2*o,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=a*2*l,r[6]=0,r[7]=0,r[8]=(e+t)*o,r[9]=(i+n)*l,r[10]=(s+a)*u,r[11]=-1,r[12]=0,r[13]=0,r[14]=s*a*2*u,r[15]=0,r}function CO(r,t,e,n,i){var a=1/Math.tan(t/2),s;return r[0]=a/e,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=a,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[11]=-1,r[12]=0,r[13]=0,r[15]=0,i!=null&&i!==1/0?(s=1/(n-i),r[10]=(i+n)*s,r[14]=2*i*n*s):(r[10]=-1,r[14]=-2*n),r}var kR=CO;function OR(r,t,e,n,i){var a=1/Math.tan(t/2),s;return r[0]=a/e,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=a,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[11]=-1,r[12]=0,r[13]=0,r[15]=0,i!=null&&i!==1/0?(s=1/(n-i),r[10]=i*s,r[14]=i*n*s):(r[10]=-1,r[14]=-n),r}function TR(r,t,e,n){var i=Math.tan(t.upDegrees*Math.PI/180),a=Math.tan(t.downDegrees*Math.PI/180),s=Math.tan(t.leftDegrees*Math.PI/180),o=Math.tan(t.rightDegrees*Math.PI/180),l=2/(s+o),u=2/(i+a);return r[0]=l,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=u,r[6]=0,r[7]=0,r[8]=-((s-o)*l*.5),r[9]=(i-a)*u*.5,r[10]=n/(e-n),r[11]=-1,r[12]=0,r[13]=0,r[14]=n*e/(e-n),r[15]=0,r}function RO(r,t,e,n,i,a,s){var o=1/(t-e),l=1/(n-i),u=1/(a-s);return r[0]=-2*o,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=-2*l,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=2*u,r[11]=0,r[12]=(t+e)*o,r[13]=(i+n)*l,r[14]=(s+a)*u,r[15]=1,r}var LO=RO;function IO(r,t,e,n,i,a,s){var o=1/(t-e),l=1/(n-i),u=1/(a-s);return r[0]=-2*o,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=-2*l,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=u,r[11]=0,r[12]=(t+e)*o,r[13]=(i+n)*l,r[14]=a*u,r[15]=1,r}function DO(r,t,e,n){var i,a,s,o,l,u,c,h,d,f,g=t[0],p=t[1],v=t[2],y=n[0],m=n[1],w=n[2],S=e[0],_=e[1],k=e[2];return Math.abs(g-S)<Se&&Math.abs(p-_)<Se&&Math.abs(v-k)<Se?Ji(r):(c=g-S,h=p-_,d=v-k,f=1/Math.hypot(c,h,d),c*=f,h*=f,d*=f,i=m*d-w*h,a=w*c-y*d,s=y*h-m*c,f=Math.hypot(i,a,s),f?(f=1/f,i*=f,a*=f,s*=f):(i=0,a=0,s=0),o=h*s-d*a,l=d*i-c*s,u=c*a-h*i,f=Math.hypot(o,l,u),f?(f=1/f,o*=f,l*=f,u*=f):(o=0,l=0,u=0),r[0]=i,r[1]=o,r[2]=c,r[3]=0,r[4]=a,r[5]=l,r[6]=h,r[7]=0,r[8]=s,r[9]=u,r[10]=d,r[11]=0,r[12]=-(i*g+a*p+s*v),r[13]=-(o*g+l*p+u*v),r[14]=-(c*g+h*p+d*v),r[15]=1,r)}function AR(r,t,e,n){var i=t[0],a=t[1],s=t[2],o=n[0],l=n[1],u=n[2],c=i-e[0],h=a-e[1],d=s-e[2],f=c*c+h*h+d*d;f>0&&(f=1/Math.sqrt(f),c*=f,h*=f,d*=f);var g=l*d-u*h,p=u*c-o*d,v=o*h-l*c;return f=g*g+p*p+v*v,f>0&&(f=1/Math.sqrt(f),g*=f,p*=f,v*=f),r[0]=g,r[1]=p,r[2]=v,r[3]=0,r[4]=h*v-d*p,r[5]=d*g-c*v,r[6]=c*p-h*g,r[7]=0,r[8]=c,r[9]=h,r[10]=d,r[11]=0,r[12]=i,r[13]=a,r[14]=s,r[15]=1,r}function PR(r){return"mat4("+r[0]+", "+r[1]+", "+r[2]+", "+r[3]+", "+r[4]+", "+r[5]+", "+r[6]+", "+r[7]+", "+r[8]+", "+r[9]+", "+r[10]+", "+r[11]+", "+r[12]+", "+r[13]+", "+r[14]+", "+r[15]+")"}function NR(r){return Math.hypot(r[0],r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8],r[9],r[10],r[11],r[12],r[13],r[14],r[15])}function CR(r,t,e){return r[0]=t[0]+e[0],r[1]=t[1]+e[1],r[2]=t[2]+e[2],r[3]=t[3]+e[3],r[4]=t[4]+e[4],r[5]=t[5]+e[5],r[6]=t[6]+e[6],r[7]=t[7]+e[7],r[8]=t[8]+e[8],r[9]=t[9]+e[9],r[10]=t[10]+e[10],r[11]=t[11]+e[11],r[12]=t[12]+e[12],r[13]=t[13]+e[13],r[14]=t[14]+e[14],r[15]=t[15]+e[15],r}function FO(r,t,e){return r[0]=t[0]-e[0],r[1]=t[1]-e[1],r[2]=t[2]-e[2],r[3]=t[3]-e[3],r[4]=t[4]-e[4],r[5]=t[5]-e[5],r[6]=t[6]-e[6],r[7]=t[7]-e[7],r[8]=t[8]-e[8],r[9]=t[9]-e[9],r[10]=t[10]-e[10],r[11]=t[11]-e[11],r[12]=t[12]-e[12],r[13]=t[13]-e[13],r[14]=t[14]-e[14],r[15]=t[15]-e[15],r}function RR(r,t,e){return r[0]=t[0]*e,r[1]=t[1]*e,r[2]=t[2]*e,r[3]=t[3]*e,r[4]=t[4]*e,r[5]=t[5]*e,r[6]=t[6]*e,r[7]=t[7]*e,r[8]=t[8]*e,r[9]=t[9]*e,r[10]=t[10]*e,r[11]=t[11]*e,r[12]=t[12]*e,r[13]=t[13]*e,r[14]=t[14]*e,r[15]=t[15]*e,r}function LR(r,t,e,n){return r[0]=t[0]+e[0]*n,r[1]=t[1]+e[1]*n,r[2]=t[2]+e[2]*n,r[3]=t[3]+e[3]*n,r[4]=t[4]+e[4]*n,r[5]=t[5]+e[5]*n,r[6]=t[6]+e[6]*n,r[7]=t[7]+e[7]*n,r[8]=t[8]+e[8]*n,r[9]=t[9]+e[9]*n,r[10]=t[10]+e[10]*n,r[11]=t[11]+e[11]*n,r[12]=t[12]+e[12]*n,r[13]=t[13]+e[13]*n,r[14]=t[14]+e[14]*n,r[15]=t[15]+e[15]*n,r}function My(r,t){return r[0]===t[0]&&r[1]===t[1]&&r[2]===t[2]&&r[3]===t[3]&&r[4]===t[4]&&r[5]===t[5]&&r[6]===t[6]&&r[7]===t[7]&&r[8]===t[8]&&r[9]===t[9]&&r[10]===t[10]&&r[11]===t[11]&&r[12]===t[12]&&r[13]===t[13]&&r[14]===t[14]&&r[15]===t[15]}function IR(r,t){var e=r[0],n=r[1],i=r[2],a=r[3],s=r[4],o=r[5],l=r[6],u=r[7],c=r[8],h=r[9],d=r[10],f=r[11],g=r[12],p=r[13],v=r[14],y=r[15],m=t[0],w=t[1],S=t[2],_=t[3],k=t[4],T=t[5],O=t[6],P=t[7],N=t[8],C=t[9],L=t[10],F=t[11],G=t[12],V=t[13],U=t[14],q=t[15];return Math.abs(e-m)<=Se*Math.max(1,Math.abs(e),Math.abs(m))&&Math.abs(n-w)<=Se*Math.max(1,Math.abs(n),Math.abs(w))&&Math.abs(i-S)<=Se*Math.max(1,Math.abs(i),Math.abs(S))&&Math.abs(a-_)<=Se*Math.max(1,Math.abs(a),Math.abs(_))&&Math.abs(s-k)<=Se*Math.max(1,Math.abs(s),Math.abs(k))&&Math.abs(o-T)<=Se*Math.max(1,Math.abs(o),Math.abs(T))&&Math.abs(l-O)<=Se*Math.max(1,Math.abs(l),Math.abs(O))&&Math.abs(u-P)<=Se*Math.max(1,Math.abs(u),Math.abs(P))&&Math.abs(c-N)<=Se*Math.max(1,Math.abs(c),Math.abs(N))&&Math.abs(h-C)<=Se*Math.max(1,Math.abs(h),Math.abs(C))&&Math.abs(d-L)<=Se*Math.max(1,Math.abs(d),Math.abs(L))&&Math.abs(f-F)<=Se*Math.max(1,Math.abs(f),Math.abs(F))&&Math.abs(g-G)<=Se*Math.max(1,Math.abs(g),Math.abs(G))&&Math.abs(p-V)<=Se*Math.max(1,Math.abs(p),Math.abs(V))&&Math.abs(v-U)<=Se*Math.max(1,Math.abs(v),Math.abs(U))&&Math.abs(y-q)<=Se*Math.max(1,Math.abs(y),Math.abs(q))}var BO=Tn,DR=FO;const FR=Object.freeze(Object.defineProperty({__proto__:null,add:CR,adjoint:wR,clone:xO,copy:Es,create:fe,determinant:_O,equals:IR,exactEquals:My,frob:NR,fromQuat:Lm,fromQuat2:SR,fromRotation:TO,fromRotationTranslation:NO,fromRotationTranslationScale:_R,fromRotationTranslationScaleOrigin:po,fromScaling:ya,fromTranslation:Fi,fromValues:EO,fromXRotation:AO,fromYRotation:PO,fromZRotation:_y,frustum:MR,getRotation:Mu,getScaling:Ss,getTranslation:_u,identity:Ji,invert:Kr,lookAt:DO,mul:BO,multiply:Tn,multiplyScalar:RR,multiplyScalarAndAdd:LR,ortho:LO,orthoNO:RO,orthoZO:IO,perspective:kR,perspectiveFromFieldOfView:TR,perspectiveNO:CO,perspectiveZO:OR,rotate:xR,rotateX:kO,rotateY:OO,rotateZ:ER,scale:MO,set:Sy,str:PR,sub:DR,subtract:FO,targetTo:AR,translate:ps,transpose:SO},Symbol.toStringTag,{value:"Module"}));function Jt(){var r=new Ze(3);return Ze!=Float32Array&&(r[0]=0,r[1]=0,r[2]=0),r}function hi(r){var t=new Ze(3);return t[0]=r[0],t[1]=r[1],t[2]=r[2],t}function fi(r){var t=r[0],e=r[1],n=r[2];return Math.hypot(t,e,n)}function pe(r,t,e){var n=new Ze(3);return n[0]=r,n[1]=t,n[2]=e,n}function Zr(r,t){return r[0]=t[0],r[1]=t[1],r[2]=t[2],r}function On(r,t,e,n){return r[0]=t,r[1]=e,r[2]=n,r}function Yi(r,t,e){return r[0]=t[0]+e[0],r[1]=t[1]+e[1],r[2]=t[2]+e[2],r}function ky(r,t,e){return r[0]=t[0]-e[0],r[1]=t[1]-e[1],r[2]=t[2]-e[2],r}function BR(r,t,e){return r[0]=t[0]*e[0],r[1]=t[1]*e[1],r[2]=t[2]*e[2],r}function zR(r,t,e){return r[0]=Math.min(t[0],e[0]),r[1]=Math.min(t[1],e[1]),r[2]=Math.min(t[2],e[2]),r}function jR(r,t,e){return r[0]=Math.max(t[0],e[0]),r[1]=Math.max(t[1],e[1]),r[2]=Math.max(t[2],e[2]),r}function ku(r,t,e){return r[0]=t[0]*e,r[1]=t[1]*e,r[2]=t[2]*e,r}function qR(r,t){var e=t[0]-r[0],n=t[1]-r[1],i=t[2]-r[2];return Math.hypot(e,n,i)}function Ma(r,t){var e=t[0],n=t[1],i=t[2],a=e*e+n*n+i*i;return a>0&&(a=1/Math.sqrt(a)),r[0]=t[0]*a,r[1]=t[1]*a,r[2]=t[2]*a,r}function Jr(r,t){return r[0]*t[0]+r[1]*t[1]+r[2]*t[2]}function fu(r,t,e){var n=t[0],i=t[1],a=t[2],s=e[0],o=e[1],l=e[2];return r[0]=i*l-a*o,r[1]=a*s-n*l,r[2]=n*o-i*s,r}function Oy(r,t,e,n){var i=t[0],a=t[1],s=t[2];return r[0]=i+n*(e[0]-i),r[1]=a+n*(e[1]-a),r[2]=s+n*(e[2]-s),r}function An(r,t,e){var n=t[0],i=t[1],a=t[2],s=e[3]*n+e[7]*i+e[11]*a+e[15];return s=s||1,r[0]=(e[0]*n+e[4]*i+e[8]*a+e[12])/s,r[1]=(e[1]*n+e[5]*i+e[9]*a+e[13])/s,r[2]=(e[2]*n+e[6]*i+e[10]*a+e[14])/s,r}function $R(r,t,e){var n=t[0],i=t[1],a=t[2];return r[0]=n*e[0]+i*e[3]+a*e[6],r[1]=n*e[1]+i*e[4]+a*e[7],r[2]=n*e[2]+i*e[5]+a*e[8],r}function GR(r,t,e){var n=e[0],i=e[1],a=e[2],s=e[3],o=t[0],l=t[1],u=t[2],c=i*u-a*l,h=a*o-n*u,d=n*l-i*o,f=i*d-a*h,g=a*c-n*d,p=n*h-i*c,v=s*2;return c*=v,h*=v,d*=v,f*=2,g*=2,p*=2,r[0]=o+c+f,r[1]=l+h+g,r[2]=u+d+p,r}function Vs(r,t){var e=r[0],n=r[1],i=r[2],a=t[0],s=t[1],o=t[2];return Math.abs(e-a)<=Se*Math.max(1,Math.abs(e),Math.abs(a))&&Math.abs(n-s)<=Se*Math.max(1,Math.abs(n),Math.abs(s))&&Math.abs(i-o)<=Se*Math.max(1,Math.abs(i),Math.abs(o))}var WR=ky,lb=qR,zO=fi;(function(){var r=Jt();return function(t,e,n,i,a,s){var o,l;for(e||(e=3),n||(n=0),i?l=Math.min(i*e+n,t.length):l=t.length,o=n;o<l;o+=e)r[0]=t[o],r[1]=t[o+1],r[2]=t[o+2],a(r,r,s),t[o]=r[0],t[o+1]=r[1],t[o+2]=r[2];return t}})();function Qr(){var r=new Ze(4);return Ze!=Float32Array&&(r[0]=0,r[1]=0,r[2]=0,r[3]=0),r}function ro(r,t,e,n){var i=new Ze(4);return i[0]=r,i[1]=t,i[2]=e,i[3]=n,i}function VR(r,t){return r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=t[3],r}function UR(r,t,e,n,i){return r[0]=t,r[1]=e,r[2]=n,r[3]=i,r}function YR(r,t){var e=t[0],n=t[1],i=t[2],a=t[3],s=e*e+n*n+i*i+a*a;return s>0&&(s=1/Math.sqrt(s)),r[0]=e*s,r[1]=n*s,r[2]=i*s,r[3]=a*s,r}function yi(r,t,e){var n=t[0],i=t[1],a=t[2],s=t[3];return r[0]=e[0]*n+e[4]*i+e[8]*a+e[12]*s,r[1]=e[1]*n+e[5]*i+e[9]*a+e[13]*s,r[2]=e[2]*n+e[6]*i+e[10]*a+e[14]*s,r[3]=e[3]*n+e[7]*i+e[11]*a+e[15]*s,r}(function(){var r=Qr();return function(t,e,n,i,a,s){var o,l;for(e||(e=4),n||(n=0),i?l=Math.min(i*e+n,t.length):l=t.length,o=n;o<l;o+=e)r[0]=t[o],r[1]=t[o+1],r[2]=t[o+2],r[3]=t[o+3],a(r,r,s),t[o]=r[0],t[o+1]=r[1],t[o+2]=r[2],t[o+3]=r[3];return t}})();function nn(){var r=new Ze(4);return Ze!=Float32Array&&(r[0]=0,r[1]=0,r[2]=0),r[3]=1,r}function zi(r,t,e){e=e*.5;var n=Math.sin(e);return r[0]=n*t[0],r[1]=n*t[1],r[2]=n*t[2],r[3]=Math.cos(e),r}function Hi(r,t,e){var n=t[0],i=t[1],a=t[2],s=t[3],o=e[0],l=e[1],u=e[2],c=e[3];return r[0]=n*c+s*o+i*u-a*l,r[1]=i*c+s*l+a*o-n*u,r[2]=a*c+s*u+n*l-i*o,r[3]=s*c-n*o-i*l-a*u,r}function qh(r,t,e,n){var i=t[0],a=t[1],s=t[2],o=t[3],l=e[0],u=e[1],c=e[2],h=e[3],d,f,g,p,v;return f=i*l+a*u+s*c+o*h,f<0&&(f=-f,l=-l,u=-u,c=-c,h=-h),1-f>Se?(d=Math.acos(f),g=Math.sin(d),p=Math.sin((1-n)*d)/g,v=Math.sin(n*d)/g):(p=1-n,v=n),r[0]=p*i+v*l,r[1]=p*a+v*u,r[2]=p*s+v*c,r[3]=p*o+v*h,r}function $h(r,t){var e=t[0],n=t[1],i=t[2],a=t[3],s=e*e+n*n+i*i+a*a,o=s?1/s:0;return r[0]=-e*o,r[1]=-n*o,r[2]=-i*o,r[3]=a*o,r}function HR(r,t){var e=t[0]+t[4]+t[8],n;if(e>0)n=Math.sqrt(e+1),r[3]=.5*n,n=.5/n,r[0]=(t[5]-t[7])*n,r[1]=(t[6]-t[2])*n,r[2]=(t[1]-t[3])*n;else{var i=0;t[4]>t[0]&&(i=1),t[8]>t[i*3+i]&&(i=2);var a=(i+1)%3,s=(i+2)%3;n=Math.sqrt(t[i*3+i]-t[a*3+a]-t[s*3+s]+1),r[i]=.5*n,n=.5/n,r[3]=(t[a*3+s]-t[s*3+a])*n,r[a]=(t[a*3+i]+t[i*3+a])*n,r[s]=(t[s*3+i]+t[i*3+s])*n}return r}function vl(r,t,e,n){var i=.5*Math.PI/180;t*=i,e*=i,n*=i;var a=Math.sin(t),s=Math.cos(t),o=Math.sin(e),l=Math.cos(e),u=Math.sin(n),c=Math.cos(n);return r[0]=a*l*c-s*o*u,r[1]=s*o*c+a*l*u,r[2]=s*l*u-a*o*c,r[3]=s*l*c+a*o*u,r}var XR=ro,pl=VR,ub=UR,cb=Hi,Ou=YR;(function(){var r=Jt(),t=pe(1,0,0),e=pe(0,1,0);return function(n,i,a){var s=Jr(i,a);return s<-.999999?(fu(r,t,i),zO(r)<1e-6&&fu(r,e,i),Ma(r,r),zi(n,r,Math.PI),n):s>.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(fu(r,i,a),n[0]=r[0],n[1]=r[1],n[2]=r[2],n[3]=1+s,Ou(n,n))}})();(function(){var r=nn(),t=nn();return function(e,n,i,a,s,o){return qh(r,n,s,o),qh(t,i,a,o),qh(e,r,t,2*o*(1-o)),e}})();(function(){var r=wO();return function(t,e,n,i){return r[0]=n[0],r[3]=n[1],r[6]=n[2],r[1]=i[0],r[4]=i[1],r[7]=i[2],r[2]=-e[0],r[5]=-e[1],r[8]=-e[2],Ou(t,HR(t,r))}})();function Im(){var r=new Ze(2);return Ze!=Float32Array&&(r[0]=0,r[1]=0),r}function KR(r,t){return r[0]=t[0],r[1]=t[1],r}function ZR(r,t,e){return r[0]=t,r[1]=e,r}function JR(r,t){var e=t[0],n=t[1],i=e*e+n*n;return i>0&&(i=1/Math.sqrt(i)),r[0]=t[0]*i,r[1]=t[1]*i,r}function QR(r,t){return r[0]*t[0]+r[1]*t[1]}function tL(r,t){return r[0]===t[0]&&r[1]===t[1]}(function(){var r=Im();return function(t,e,n,i,a,s){var o,l;for(e||(e=2),n||(n=0),i?l=Math.min(i*e+n,t.length):l=t.length,o=n;o<l;o+=e)r[0]=t[o],r[1]=t[o+1],a(r,r,s),t[o]=r[0],t[o+1]=r[1];return t}})();var _o=function(r){return r!==null&&typeof r!="function"&&isFinite(r.length)},eL=function(r,t){return _o(r)?r.indexOf(t)>-1:!1},nL=function(r,t){if(!_o(r))return r;for(var e=[],n=0;n<r.length;n++){var i=r[n];t(i,n)&&e.push(i)}return e},rL=function(r,t){return t===void 0&&(t=[]),nL(r,function(e){return!eL(t,e)})};function kt(r){return typeof r=="function"}function Rt(r){return r==null}function Xn(r){return Array.isArray(r)}const Ve=function(r){var t=typeof r;return r!==null&&t==="object"||t==="function"};function jO(r,t){if(r){var e;if(Xn(r))for(var n=0,i=r.length;n<i&&(e=t(r[n],n),e!==!1);n++);else if(Ve(r)){for(var a in r)if(r.hasOwnProperty(a)&&(e=t(r[a],a),e===!1))break}}}var Ty=function(r){return typeof r=="object"&&r!==null},iL={}.toString,qO=function(r,t){return iL.call(r)==="[object "+t+"]"},_s=function(r){if(!Ty(r)||!qO(r,"Object"))return!1;if(Object.getPrototypeOf(r)===null)return!0;for(var t=r;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(r)===t},aL=function(r){if(!Xn(r))return[];for(var t=[],e=0;e<r.length;e++)t=t.concat(r[e]);return t};function Tu(r){if(!Array.isArray(r))return-1/0;var t=r.length;if(!t)return-1/0;for(var e=r[0],n=1;n<t;n++)e=Math.max(e,r[n]);return e}const Au=function(r){if(Xn(r))return r.reduce(function(t,e){return Math.min(t,e)},r[0])};var sL=function(r,t,e){if(!Xn(r)&&!_s(r))return r;var n=e;return jO(r,function(i,a){n=t(n,i,a)}),n};function ne(r){return typeof r=="string"}function oL(r,t){t===void 0&&(t=new Map);var e=[];if(Array.isArray(r))for(var n=0,i=r.length;n<i;n++){var a=r[n];t.has(a)||(e.push(a),t.set(a,!0))}return e}var lL=Object.prototype.hasOwnProperty;function lc(r,t){if(!t||!Xn(r))return{};for(var e={},n=kt(t)?t:function(o){return o[t]},i,a=0;a<r.length;a++){var s=r[a];i=n(s),lL.call(e,i)?e[i].push(s):e[i]=[s]}return e}var Ie=function(r,t,e){return r<t?t:r>e?e:r};function Et(r){return typeof r=="number"}var uL=1e-5;function yo(r,t,e){return e===void 0&&(e=uL),r===t||Math.abs(r-t)<e}const cL=function(r,t){if(Xn(r)){for(var e,n=-1/0,i=0;i<r.length;i++){var a=r[i],s=kt(t)?t(a):a[t];s>n&&(e=a,n=s)}return e}},hL=function(r,t){if(Xn(r)){for(var e,n=1/0,i=0;i<r.length;i++){var a=r[i],s=kt(t)?t(a):a[t];s<n&&(e=a,n=s)}return e}};var $O=function(r,t){return(r%t+t)%t};const GO=function(r){return Rt(r)?"":r.toString()};var dL=function(r){var t=GO(r);return t.charAt(0).toLowerCase()+t.substring(1)};function fL(r,t){return!r||!t?r:r.replace(/\\?\{([^{}]+)\}/g,function(e,n){return e.charAt(0)==="\\"?e.slice(1):t[n]===void 0?"":t[n]})}var Pu=function(r){var t=GO(r);return t.charAt(0).toUpperCase()+t.substring(1)},gL={}.toString,vL=function(r){return gL.call(r).replace(/^\[object /,"").replace(/]$/,"")},Mo=function(r){return qO(r,"Boolean")};function pL(r){return r instanceof Date}function yL(r){return r===null}var mL=Object.prototype,bL=function(r){var t=r&&r.constructor,e=typeof t=="function"&&t.prototype||mL;return r===e},Ft=function(r){return r===void 0},Qi=function(r){if(typeof r!="object"||r===null)return r;var t;if(Xn(r)){t=[];for(var e=0,n=r.length;e<n;e++)typeof r[e]=="object"&&r[e]!=null?t[e]=Qi(r[e]):t[e]=r[e]}else{t={};for(var i in r)typeof r[i]=="object"&&r[i]!=null?t[i]=Qi(r[i]):t[i]=r[i]}return t};function $o(r,t,e){var n;return function(){var i=this,a=arguments,s=function(){n=null,r.apply(i,a)};clearTimeout(n),n=setTimeout(s,t)}}function wL(r){var t,e,n,i=r||1;function a(o,l){++t>i&&(n=e,s(1),++t),e[o]=l}function s(o){t=0,e=Object.create(null),o||(n=Object.create(null))}return s(),{clear:s,has:function(o){return e[o]!==void 0||n[o]!==void 0},get:function(o){var l=e[o];if(l!==void 0)return l;if((l=n[o])!==void 0)return a(o,l),l},set:function(o,l){e[o]!==void 0?e[o]=l:a(o,l)}}}var Gh=new Map;function Ay(r,t,e){e===void 0&&(e=128);var n=function(){for(var i=[],a=0;a<arguments.length;a++)i[a]=arguments[a];var s=t?t.apply(this,i):i[0];Gh.has(r)||Gh.set(r,wL(e));var o=Gh.get(r);if(o.has(s))return o.get(s);var l=r.apply(this,i);return o.set(s,l),l};return n}var xL=5;function EL(r,t){if(Object.hasOwn)return Object.hasOwn(r,t);if(r==null)throw new TypeError("Cannot convert undefined or null to object");return Object.prototype.hasOwnProperty.call(Object(r),t)}function WO(r,t,e,n){e=e||0,n=n||xL;for(var i in t)if(EL(t,i)){var a=t[i];a!==null&&_s(a)?(_s(r[i])||(r[i]={}),e<n?WO(r[i],a,e+1,n):r[i]=t[i]):Xn(a)?(r[i]=[],r[i]=r[i].concat(a)):a!==void 0&&(r[i]=a)}}var In=function(r){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];for(var n=0;n<t.length;n+=1)WO(r,t[n]);return r},SL=Object.prototype.hasOwnProperty;function Xr(r){if(Rt(r))return!0;if(_o(r))return!r.length;var t=vL(r);if(t==="Map"||t==="Set")return!r.size;if(bL(r))return!Object.keys(r).length;for(var e in r)if(SL.call(r,e))return!1;return!0}var De=function(r,t){if(r===t)return!0;if(!r||!t||ne(r)||ne(t))return!1;if(_o(r)||_o(t)){if(r.length!==t.length)return!1;for(var e=!0,n=0;n<r.length&&(e=De(r[n],t[n]),!!e);n++);return e}if(Ty(r)||Ty(t)){var i=Object.keys(r),a=Object.keys(t);if(i.length!==a.length)return!1;for(var e=!0,n=0;n<i.length&&(e=De(r[i[n]],t[i[n]]),!!e);n++);return e}return!1};const Vn=function(r,t,e){for(var n=0,i=ne(t)?t.split("."):t;r&&n<i.length;)r=r[i[n++]];return r===void 0||n<i.length?e:r},ko=function(r,t,e){var n=r,i=ne(t)?t.split("."):t;return i.forEach(function(a,s){s<i.length-1?(Ve(n[a])||(n[a]=Et(i[s+1])?[]:{}),n=n[a]):n[a]=e}),r};var _L=Object.prototype.hasOwnProperty;const Ca=function(r,t){if(r===null||!_s(r))return{};var e={};return jO(t,function(n){_L.call(r,n)&&(e[n]=r[n])}),e},Dm=function(r,t){return sL(r,function(e,n,i){return t.includes(i)||(e[i]=n),e},{})},VO=function(r,t,e){var n,i,a,s,o=0;e||(e={});var l=function(){o=e.leading===!1?0:Date.now(),n=null,s=r.apply(i,a),n||(i=a=null)},u=function(){var c=Date.now();!o&&e.leading===!1&&(o=c);var h=t-(c-o);return i=this,a=arguments,h<=0||h>t?(n&&(clearTimeout(n),n=null),o=c,s=r.apply(i,a),n||(i=a=null)):!n&&e.trailing!==!1&&(n=setTimeout(l,h)),s};return u.cancel=function(){clearTimeout(n),o=0,n=i=a=null},u};var yl={};const ML=function(r){return r=r||"g",yl[r]?yl[r]+=1:yl[r]=1,r+yl[r]},Wh=function(){},Py=function(r){return r};var Ny=function(r,t){return Ny=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,n){e.__proto__=n}||function(e,n){for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])},Ny(r,t)};function Yt(r,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");Ny(r,t);function e(){this.constructor=r}r.prototype=t===null?Object.create(t):(e.prototype=t.prototype,new e)}var ut=function(){return ut=Object.assign||function(t){for(var e,n=1,i=arguments.length;n<i;n++){e=arguments[n];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a])}return t},ut.apply(this,arguments)};function ze(r,t){var e={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&t.indexOf(n)<0&&(e[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(e[n[i]]=r[n[i]]);return e}function Ut(r,t,e,n){function i(a){return a instanceof e?a:new e(function(s){s(a)})}return new(e||(e=Promise))(function(a,s){function o(c){try{u(n.next(c))}catch(h){s(h)}}function l(c){try{u(n.throw(c))}catch(h){s(h)}}function u(c){c.done?a(c.value):i(c.value).then(o,l)}u((n=n.apply(r,t||[])).next())})}function Go(r){var t=typeof Symbol=="function"&&Symbol.iterator,e=t&&r[t],n=0;if(e)return e.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&n>=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function $(r,t){var e=typeof Symbol=="function"&&r[Symbol.iterator];if(!e)return r;var n=e.call(r),i,a=[],s;try{for(;(t===void 0||t-- >0)&&!(i=n.next()).done;)a.push(i.value)}catch(o){s={error:o}}finally{try{i&&!i.done&&(e=n.return)&&e.call(n)}finally{if(s)throw s.error}}return a}function kL(){for(var r=0,t=0,e=arguments.length;t<e;t++)r+=arguments[t].length;for(var n=Array(r),i=0,t=0;t<e;t++)for(var a=arguments[t],s=0,o=a.length;s<o;s++,i++)n[i]=a[s];return n}function At(r,t,e){if(e||arguments.length===2)for(var n=0,i=t.length,a;n<i;n++)(a||!(n in t))&&(a||(a=Array.prototype.slice.call(t,0,n)),a[n]=t[n]);return r.concat(a||Array.prototype.slice.call(t))}function Vh(r,t,e,n){if(e==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?r!==t||!n:!t.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?n:e==="a"?n.call(r):n?n.value:t.get(r)}var UO={x1:0,y1:0,x2:0,y2:0,x:0,y:0,qx:null,qy:null};function OL(r,t,e){if(r[e].length>7){r[e].shift();for(var n=r[e],i=e;n.length;)t[e]="A",r.splice(i+=1,0,["C"].concat(n.splice(0,6)));r.splice(e,1)}}var mo={a:7,c:6,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,z:0};function YO(r){return Array.isArray(r)&&r.every(function(t){var e=t[0].toLowerCase();return mo[e]===t.length-1&&"achlmqstvz".includes(e)})}function HO(r){return YO(r)&&r.every(function(t){var e=t[0];return e===e.toUpperCase()})}function XO(r){return HO(r)&&r.every(function(t){var e=t[0];return"ACLMQZ".includes(e)})}function hb(r){for(var t=r.pathValue[r.segmentStart],e=t.toLowerCase(),n=r.data;n.length>=mo[e]&&(e==="m"&&n.length>2?(r.segments.push([t].concat(n.splice(0,2))),e="l",t=t==="m"?"l":"L"):r.segments.push([t].concat(n.splice(0,mo[e]))),!!mo[e]););}function TL(r){var t=r.index,e=r.pathValue,n=e.charCodeAt(t);if(n===48){r.param=0,r.index+=1;return}if(n===49){r.param=1,r.index+=1;return}r.err='[path-util]: invalid Arc flag "'.concat(e[t],'", expecting 0 or 1 at index ').concat(t)}function AL(r){return r>=48&&r<=57||r===43||r===45||r===46}function Qa(r){return r>=48&&r<=57}function PL(r){var t=r.max,e=r.pathValue,n=r.index,i=n,a=!1,s=!1,o=!1,l=!1,u;if(i>=t){r.err="[path-util]: Invalid path value at index ".concat(i,', "pathValue" is missing param');return}if(u=e.charCodeAt(i),(u===43||u===45)&&(i+=1,u=e.charCodeAt(i)),!Qa(u)&&u!==46){r.err="[path-util]: Invalid path value at index ".concat(i,', "').concat(e[i],'" is not a number');return}if(u!==46){if(a=u===48,i+=1,u=e.charCodeAt(i),a&&i<t&&u&&Qa(u)){r.err="[path-util]: Invalid path value at index ".concat(n,', "').concat(e[n],'" illegal number');return}for(;i<t&&Qa(e.charCodeAt(i));)i+=1,s=!0;u=e.charCodeAt(i)}if(u===46){for(l=!0,i+=1;Qa(e.charCodeAt(i));)i+=1,o=!0;u=e.charCodeAt(i)}if(u===101||u===69){if(l&&!s&&!o){r.err="[path-util]: Invalid path value at index ".concat(i,', "').concat(e[i],'" invalid float exponent');return}if(i+=1,u=e.charCodeAt(i),(u===43||u===45)&&(i+=1),i<t&&Qa(e.charCodeAt(i)))for(;i<t&&Qa(e.charCodeAt(i));)i+=1;else{r.err="[path-util]: Invalid path value at index ".concat(i,', "').concat(e[i],'" invalid integer exponent');return}}r.index=i,r.param=+r.pathValue.slice(n,i)}function NL(r){var t=[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279];return r===10||r===13||r===8232||r===8233||r===32||r===9||r===11||r===12||r===160||r>=5760&&t.includes(r)}function gu(r){for(var t=r.pathValue,e=r.max;r.index<e&&NL(t.charCodeAt(r.index));)r.index+=1}function CL(r){switch(r|32){case 109:case 122:case 108:case 104:case 118:case 99:case 115:case 113:case 116:case 97:return!0;default:return!1}}function RL(r){return(r|32)===97}function LL(r){var t=r.max,e=r.pathValue,n=r.index,i=e.charCodeAt(n),a=mo[e[n].toLowerCase()];if(r.segmentStart=n,!CL(i)){r.err='[path-util]: Invalid path value "'.concat(e[n],'" is not a path command');return}if(r.index+=1,gu(r),r.data=[],!a){hb(r);return}for(;;){for(var s=a;s>0;s-=1){if(RL(i)&&(s===3||s===4)?TL(r):PL(r),r.err.length)return;r.data.push(r.param),gu(r),r.index<t&&e.charCodeAt(r.index)===44&&(r.index+=1,gu(r))}if(r.index>=r.max||!AL(e.charCodeAt(r.index)))break}hb(r)}var IL=function(){function r(t){this.pathValue=t,this.segments=[],this.max=t.length,this.index=0,this.param=0,this.segmentStart=0,this.data=[],this.err=""}return r}();function DL(r){if(YO(r))return[].concat(r);var t=new IL(r);for(gu(t);t.index<t.max&&!t.err.length;)LL(t);return t.err?t.err:t.segments}function FL(r){if(HO(r))return[].concat(r);var t=DL(r),e=0,n=0,i=0,a=0;return t.map(function(s){var o=s.slice(1).map(Number),l=s[0],u=l.toUpperCase();if(l==="M")return e=o[0],n=o[1],i=e,a=n,["M",e,n];var c;if(l!==u)switch(u){case"A":c=[u,o[0],o[1],o[2],o[3],o[4],o[5]+e,o[6]+n];break;case"V":c=[u,o[0]+n];break;case"H":c=[u,o[0]+e];break;default:{var h=o.map(function(f,g){return f+(g%2?n:e)});c=[u].concat(h)}}else c=[u].concat(o);var d=c.length;switch(u){case"Z":e=i,n=a;break;case"H":e=c[1];break;case"V":n=c[1];break;default:e=c[d-2],n=c[d-1],u==="M"&&(i=e,a=n)}return c})}function BL(r,t){var e=r[0],n=t.x1,i=t.y1,a=t.x2,s=t.y2,o=r.slice(1).map(Number),l=r;if("TQ".includes(e)||(t.qx=null,t.qy=null),e==="H")l=["L",r[1],i];else if(e==="V")l=["L",n,r[1]];else if(e==="S"){var u=n*2-a,c=i*2-s;t.x1=u,t.y1=c,l=["C",u,c].concat(o)}else if(e==="T"){var h=n*2-t.qx,d=i*2-t.qy;t.qx=h,t.qy=d,l=["Q",h,d].concat(o)}else if(e==="Q"){var f=o[0],g=o[1];t.qx=f,t.qy=g}return l}function Nu(r){if(XO(r))return[].concat(r);for(var t=FL(r),e=ut({},UO),n=0;n<t.length;n+=1){t[n]=BL(t[n],e);var i=t[n],a=i.length;e.x1=+i[a-2],e.y1=+i[a-1],e.x2=+i[a-4]||e.x1,e.y2=+i[a-3]||e.y1}return t}function zL(r){return XO(r)&&r.every(function(t){var e=t[0];return"MC".includes(e)})}function ml(r,t,e){var n=r*Math.cos(e)-t*Math.sin(e),i=r*Math.sin(e)+t*Math.cos(e);return{x:n,y:i}}function Fm(r,t,e,n,i,a,s,o,l,u){var c=r,h=t,d=e,f=n,g=o,p=l,v=Math.PI*120/180,y=Math.PI/180*(+i||0),m=[],w,S,_,k,T;if(u)S=u[0],_=u[1],k=u[2],T=u[3];else{w=ml(c,h,-y),c=w.x,h=w.y,w=ml(g,p,-y),g=w.x,p=w.y;var O=(c-g)/2,P=(h-p)/2,N=O*O/(d*d)+P*P/(f*f);N>1&&(N=Math.sqrt(N),d*=N,f*=N);var C=d*d,L=f*f,F=(a===s?-1:1)*Math.sqrt(Math.abs((C*L-C*P*P-L*O*O)/(C*P*P+L*O*O)));k=F*d*P/f+(c+g)/2,T=F*-f*O/d+(h+p)/2,S=Math.asin(((h-T)/f*Math.pow(10,9)>>0)/Math.pow(10,9)),_=Math.asin(((p-T)/f*Math.pow(10,9)>>0)/Math.pow(10,9)),S=c<k?Math.PI-S:S,_=g<k?Math.PI-_:_,S<0&&(S=Math.PI*2+S),_<0&&(_=Math.PI*2+_),s&&S>_&&(S-=Math.PI*2),!s&&_>S&&(_-=Math.PI*2)}var G=_-S;if(Math.abs(G)>v){var V=_,U=g,q=p;_=S+v*(s&&_>S?1:-1),g=k+d*Math.cos(_),p=T+f*Math.sin(_),m=Fm(g,p,d,f,i,0,s,U,q,[_,V,k,T])}G=_-S;var j=Math.cos(S),Z=Math.sin(S),nt=Math.cos(_),st=Math.sin(_),ot=Math.tan(G/4),Pt=4/3*d*ot,K=4/3*f*ot,W=[c,h],tt=[c+Pt*Z,h-K*j],ct=[g+Pt*st,p-K*nt],xt=[g,p];if(tt[0]=2*W[0]-tt[0],tt[1]=2*W[1]-tt[1],u)return tt.concat(ct,xt,m);m=tt.concat(ct,xt,m);for(var Nt=[],Vt=0,Me=m.length;Vt<Me;Vt+=1)Nt[Vt]=Vt%2?ml(m[Vt-1],m[Vt],y).y:ml(m[Vt],m[Vt+1],y).x;return Nt}function jL(r,t,e,n,i,a){var s=.3333333333333333,o=2/3;return[s*r+o*e,s*t+o*n,s*i+o*e,s*a+o*n,i,a]}function Ii(r,t,e){var n=r[0],i=r[1],a=t[0],s=t[1];return[n+(a-n)*e,i+(s-i)*e]}var db=function(r,t,e,n){var i=.5,a=Ii([r,t],[e,n],i);return At(At([],a,!0),[e,n,e,n],!1)};function qL(r,t){var e=r[0],n=r.slice(1).map(Number),i=n[0],a=n[1],s,o=t.x1,l=t.y1,u=t.x,c=t.y;switch("TQ".includes(e)||(t.qx=null,t.qy=null),e){case"M":return t.x=i,t.y=a,r;case"A":return s=[o,l].concat(n),["C"].concat(Fm(s[0],s[1],s[2],s[3],s[4],s[5],s[6],s[7],s[8],s[9]));case"Q":return t.qx=i,t.qy=a,s=[o,l].concat(n),["C"].concat(jL(s[0],s[1],s[2],s[3],s[4],s[5]));case"L":return["C"].concat(db(o,l,i,a));case"Z":return o===u&&l===c?["C",o,l,u,c,u,c]:["C"].concat(db(o,l,u,c))}return r}function Cy(r,t){if(t===void 0&&(t=!1),zL(r)){var e=[].concat(r);return t?[e,[]]:e}for(var n=Nu(r),i=ut({},UO),a=[],s="",o=n.length,l,u,c=[],h=0;h<o;h+=1){n[h]&&(s=n[h][0]),a[h]=s;var d=qL(n[h],i);n[h]=d,OL(n,a,h),o=n.length,s==="Z"&&c.push(h),l=n[h],u=l.length,i.x1=+l[u-2],i.y1=+l[u-1],i.x2=+l[u-4]||i.x1,i.y2=+l[u-3]||i.y1}return t?[n,c]:n}function $L(r){return r.map(function(t){return Array.isArray(t)?[].concat(t):t})}function GL(r){var t=r.slice(1).map(function(e,n,i){return n?i[n-1].slice(-2).concat(e.slice(1)):r[0].slice(1).concat(e.slice(1))}).map(function(e){return e.map(function(n,i){return e[e.length-i-2*(1-i%2)]})}).reverse();return[["M"].concat(t[0].slice(0,2))].concat(t.map(function(e){return["C"].concat(e.slice(2))}))}function $n(r,t){return Math.sqrt((r[0]-t[0])*(r[0]-t[0])+(r[1]-t[1])*(r[1]-t[1]))}function Ry(r,t,e,n,i){var a=$n([r,t],[e,n]),s={x:0,y:0};if(typeof i=="number")if(i<=0)s={x:r,y:t};else if(i>=a)s={x:e,y:n};else{var o=Ii([r,t],[e,n],i/a),l=o[0],u=o[1];s={x:l,y:u}}return{length:a,point:s,min:{x:Math.min(r,e),y:Math.min(t,n)},max:{x:Math.max(r,e),y:Math.max(t,n)}}}function fb(r,t){var e=r.x,n=r.y,i=t.x,a=t.y,s=e*i+n*a,o=Math.sqrt((Math.pow(e,2)+Math.pow(n,2))*(Math.pow(i,2)+Math.pow(a,2))),l=e*a-n*i<0?-1:1,u=l*Math.acos(s/o);return u}function WL(r,t,e,n,i,a,s,o,l,u){var c=Math.abs,h=Math.sin,d=Math.cos,f=Math.sqrt,g=Math.PI,p=c(e),v=c(n),y=(i%360+360)%360,m=y*(g/180);if(r===o&&t===l)return{x:r,y:t};if(p===0||v===0)return Ry(r,t,o,l,u).point;var w=(r-o)/2,S=(t-l)/2,_={x:d(m)*w+h(m)*S,y:-h(m)*w+d(m)*S},k=Math.pow(_.x,2)/Math.pow(p,2)+Math.pow(_.y,2)/Math.pow(v,2);k>1&&(p*=f(k),v*=f(k));var T=Math.pow(p,2)*Math.pow(v,2)-Math.pow(p,2)*Math.pow(_.y,2)-Math.pow(v,2)*Math.pow(_.x,2),O=Math.pow(p,2)*Math.pow(_.y,2)+Math.pow(v,2)*Math.pow(_.x,2),P=T/O;P=P<0?0:P;var N=(a!==s?1:-1)*f(P),C={x:N*(p*_.y/v),y:N*(-(v*_.x)/p)},L={x:d(m)*C.x-h(m)*C.y+(r+o)/2,y:h(m)*C.x+d(m)*C.y+(t+l)/2},F={x:(_.x-C.x)/p,y:(_.y-C.y)/v},G=fb({x:1,y:0},F),V={x:(-_.x-C.x)/p,y:(-_.y-C.y)/v},U=fb(F,V);!s&&U>0?U-=2*g:s&&U<0&&(U+=2*g),U%=2*g;var q=G+U*u,j=p*d(q),Z=v*h(q),nt={x:d(m)*j-h(m)*Z+L.x,y:h(m)*j+d(m)*Z+L.y};return nt}function VL(r,t,e,n,i,a,s,o,l,u,c){var h,d=c.bbox,f=d===void 0?!0:d,g=c.length,p=g===void 0?!0:g,v=c.sampleSize,y=v===void 0?30:v,m=typeof u=="number",w=r,S=t,_=0,k=[w,S,_],T=[w,S],O=0,P={x:0,y:0},N=[{x:w,y:S}];m&&u<=0&&(P={x:w,y:S});for(var C=0;C<=y;C+=1){if(O=C/y,h=WL(r,t,e,n,i,a,s,o,l,O),w=h.x,S=h.y,f&&N.push({x:w,y:S}),p&&(_+=$n(T,[w,S])),T=[w,S],m&&_>=u&&u>k[2]){var L=(_-u)/(_-k[2]);P={x:T[0]*(1-L)+k[0]*L,y:T[1]*(1-L)+k[1]*L}}k=[w,S,_]}return m&&u>=_&&(P={x:o,y:l}),{length:_,point:P,min:{x:Math.min.apply(null,N.map(function(F){return F.x})),y:Math.min.apply(null,N.map(function(F){return F.y}))},max:{x:Math.max.apply(null,N.map(function(F){return F.x})),y:Math.max.apply(null,N.map(function(F){return F.y}))}}}function UL(r,t,e,n,i,a,s,o,l){var u=1-l;return{x:Math.pow(u,3)*r+3*Math.pow(u,2)*l*e+3*u*Math.pow(l,2)*i+Math.pow(l,3)*s,y:Math.pow(u,3)*t+3*Math.pow(u,2)*l*n+3*u*Math.pow(l,2)*a+Math.pow(l,3)*o}}function KO(r,t,e,n,i,a,s,o,l,u){var c,h=u.bbox,d=h===void 0?!0:h,f=u.length,g=f===void 0?!0:f,p=u.sampleSize,v=p===void 0?10:p,y=typeof l=="number",m=r,w=t,S=0,_=[m,w,S],k=[m,w],T=0,O={x:0,y:0},P=[{x:m,y:w}];y&&l<=0&&(O={x:m,y:w});for(var N=0;N<=v;N+=1){if(T=N/v,c=UL(r,t,e,n,i,a,s,o,T),m=c.x,w=c.y,d&&P.push({x:m,y:w}),g&&(S+=$n(k,[m,w])),k=[m,w],y&&S>=l&&l>_[2]){var C=(S-l)/(S-_[2]);O={x:k[0]*(1-C)+_[0]*C,y:k[1]*(1-C)+_[1]*C}}_=[m,w,S]}return y&&l>=S&&(O={x:s,y:o}),{length:S,point:O,min:{x:Math.min.apply(null,P.map(function(L){return L.x})),y:Math.min.apply(null,P.map(function(L){return L.y}))},max:{x:Math.max.apply(null,P.map(function(L){return L.x})),y:Math.max.apply(null,P.map(function(L){return L.y}))}}}function YL(r,t,e,n,i,a,s){var o=1-s;return{x:Math.pow(o,2)*r+2*o*s*e+Math.pow(s,2)*i,y:Math.pow(o,2)*t+2*o*s*n+Math.pow(s,2)*a}}function HL(r,t,e,n,i,a,s,o){var l,u=o.bbox,c=u===void 0?!0:u,h=o.length,d=h===void 0?!0:h,f=o.sampleSize,g=f===void 0?10:f,p=typeof s=="number",v=r,y=t,m=0,w=[v,y,m],S=[v,y],_=0,k={x:0,y:0},T=[{x:v,y}];p&&s<=0&&(k={x:v,y});for(var O=0;O<=g;O+=1){if(_=O/g,l=YL(r,t,e,n,i,a,_),v=l.x,y=l.y,c&&T.push({x:v,y}),d&&(m+=$n(S,[v,y])),S=[v,y],p&&m>=s&&s>w[2]){var P=(m-s)/(m-w[2]);k={x:S[0]*(1-P)+w[0]*P,y:S[1]*(1-P)+w[1]*P}}w=[v,y,m]}return p&&s>=m&&(k={x:i,y:a}),{length:m,point:k,min:{x:Math.min.apply(null,T.map(function(N){return N.x})),y:Math.min.apply(null,T.map(function(N){return N.y}))},max:{x:Math.max.apply(null,T.map(function(N){return N.x})),y:Math.max.apply(null,T.map(function(N){return N.y}))}}}function ZO(r,t,e){for(var n,i,a,s,o,l,u=Nu(r),c=typeof t=="number",h,d=[],f,g=0,p=0,v=0,y=0,m,w=[],S=[],_=0,k={x:0,y:0},T=k,O=k,P=k,N=0,C=0,L=u.length;C<L;C+=1)m=u[C],f=m[0],h=f==="M",d=h?d:[g,p].concat(m.slice(1)),h?(v=m[1],y=m[2],k={x:v,y},T=k,_=0,c&&t<.001&&(P=k)):f==="L"?(n=Ry(d[0],d[1],d[2],d[3],(t||0)-N),_=n.length,k=n.min,T=n.max,O=n.point):f==="A"?(i=VL(d[0],d[1],d[2],d[3],d[4],d[5],d[6],d[7],d[8],(t||0)-N,e||{}),_=i.length,k=i.min,T=i.max,O=i.point):f==="C"?(a=KO(d[0],d[1],d[2],d[3],d[4],d[5],d[6],d[7],(t||0)-N,e||{}),_=a.length,k=a.min,T=a.max,O=a.point):f==="Q"?(s=HL(d[0],d[1],d[2],d[3],d[4],d[5],(t||0)-N,e||{}),_=s.length,k=s.min,T=s.max,O=s.point):f==="Z"&&(d=[g,p,v,y],o=Ry(d[0],d[1],d[2],d[3],(t||0)-N),_=o.length,k=o.min,T=o.max,O=o.point),c&&N<t&&N+_>=t&&(P=O),S.push(T),w.push(k),N+=_,l=f!=="Z"?m.slice(-2):[v,y],g=l[0],p=l[1];return c&&t>=N&&(P={x:g,y:p}),{length:N,point:P,min:{x:Math.min.apply(null,w.map(function(F){return F.x})),y:Math.min.apply(null,w.map(function(F){return F.y}))},max:{x:Math.max.apply(null,S.map(function(F){return F.x})),y:Math.max.apply(null,S.map(function(F){return F.y}))}}}function XL(r,t){return ZO(r,void 0,ut(ut({},t),{bbox:!1,length:!0})).length}function KL(r){var t=r.length,e=t-1;return r.map(function(n,i){return r.map(function(a,s){var o=i+s,l;return s===0||r[o]&&r[o][0]==="M"?(l=r[o],["M"].concat(l.slice(-2))):(o>=t&&(o-=e),r[o])})})}function ZL(r,t){var e=r.length-1,n=[],i=0,a=0,s=KL(r);return s.forEach(function(o,l){r.slice(1).forEach(function(u,c){a+=$n(r[(l+c)%e].slice(-2),t[c%e].slice(-2))}),n[l]=a,a=0}),i=n.indexOf(Math.min.apply(null,n)),s[i]}function JL(r,t,e,n,i,a,s,o){return 3*((o-t)*(e+i)-(s-r)*(n+a)+n*(r-i)-e*(t-a)+o*(i+r/3)-s*(a+t/3))/20}function QL(r){var t=0,e=0,n=0;return Cy(r).map(function(i){var a;switch(i[0]){case"M":return t=i[1],e=i[2],0;default:var s=i.slice(1),o=s[0],l=s[1],u=s[2],c=s[3],h=s[4],d=s[5];return n=JL(t,e,o,l,u,c,h,d),a=i.slice(-2),t=a[0],e=a[1],n}}).reduce(function(i,a){return i+a},0)}function gb(r){return QL(r)>=0}function t3(r,t,e){return ZO(r,t,ut(ut({},e),{bbox:!1,length:!0})).point}function e3(r,t){t===void 0&&(t=.5);var e=r.slice(0,2),n=r.slice(2,4),i=r.slice(4,6),a=r.slice(6,8),s=Ii(e,n,t),o=Ii(n,i,t),l=Ii(i,a,t),u=Ii(s,o,t),c=Ii(o,l,t),h=Ii(u,c,t);return[["C"].concat(s,u,h),["C"].concat(c,l,a)]}function vb(r){return r.map(function(t,e,n){var i=e&&n[e-1].slice(-2).concat(t.slice(1)),a=e?KO(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7],i[8],{bbox:!1}).length:0,s;return e?s=a?e3(i):[t,t]:s=[t],{s:t,ss:s,l:a}})}function JO(r,t,e){var n=vb(r),i=vb(t),a=n.length,s=i.length,o=n.filter(function(v){return v.l}).length,l=i.filter(function(v){return v.l}).length,u=n.filter(function(v){return v.l}).reduce(function(v,y){var m=y.l;return v+m},0)/o||0,c=i.filter(function(v){return v.l}).reduce(function(v,y){var m=y.l;return v+m},0)/l||0,h=e||Math.max(a,s),d=[u,c],f=[h-a,h-s],g=0,p=[n,i].map(function(v,y){return v.l===h?v.map(function(m){return m.s}):v.map(function(m,w){return g=w&&f[y]&&m.l>=d[y],f[y]-=g?1:0,g?m.ss:[m.s]}).flat()});return p[0].length===p[1].length?p:JO(p[0],p[1],h)}function Ly(r){var t=document.createElement("div");t.innerHTML=r;var e=t.childNodes[0];return e&&t.contains(e)&&t.removeChild(e),e}function n3(r,t){for(;!{}.hasOwnProperty.call(r,t)&&(r=xs(r))!==null;);return r}function Iy(){return Iy=typeof Reflect<"u"&&Reflect.get?Reflect.get.bind():function(r,t,e){var n=n3(r,t);if(n){var i=Object.getOwnPropertyDescriptor(n,t);return i.get?i.get.call(arguments.length<3?r:e):i.value}},Iy.apply(null,arguments)}function pb(r,t,e,n){var i=Iy(xs(r.prototype),t,e);return typeof i=="function"?function(a){return i.apply(e,a)}:i}function bi(r,t,e,n){var i=r-e,a=t-n;return Math.sqrt(i*i+a*a)}function QO(r,t){var e=Math.min.apply(Math,Zt(r)),n=Math.min.apply(Math,Zt(t)),i=Math.max.apply(Math,Zt(r)),a=Math.max.apply(Math,Zt(t));return{x:e,y:n,width:i-e,height:a-n}}function r3(r,t,e){return Math.atan(-t/r*Math.tan(e))}function i3(r,t,e){return Math.atan(t/(r*Math.tan(e)))}function a3(r,t,e,n,i,a){return e*Math.cos(i)*Math.cos(a)-n*Math.sin(i)*Math.sin(a)+r}function s3(r,t,e,n,i,a){return e*Math.sin(i)*Math.cos(a)+n*Math.cos(i)*Math.sin(a)+t}function o3(r,t,e,n,i,a,s){for(var o=r3(e,n,i),l=1/0,u=-1/0,c=[a,s],h=-Math.PI*2;h<=Math.PI*2;h+=Math.PI){var d=o+h;a<s?a<d&&d<s&&c.push(d):s<d&&d<a&&c.push(d)}for(var f=0;f<c.length;f++){var g=a3(r,t,e,n,i,c[f]);g<l&&(l=g),g>u&&(u=g)}for(var p=i3(e,n,i),v=1/0,y=-1/0,m=[a,s],w=-Math.PI*2;w<=Math.PI*2;w+=Math.PI){var S=p+w;a<s?a<S&&S<s&&m.push(S):s<S&&S<a&&m.push(S)}for(var _=0;_<m.length;_++){var k=s3(r,t,e,n,i,m[_]);k<v&&(v=k),k>y&&(y=k)}return{x:l,y:v,width:u-l,height:y-v}}var l3=1e-4;function tT(r,t,e,n,i,a){var s=-1,o=1/0,l=[e,n],u=20;a&&a>200&&(u=a/10);for(var c=1/u,h=c/10,d=0;d<=u;d++){var f=d*c,g=[i.apply(void 0,Zt(r.concat([f]))),i.apply(void 0,Zt(t.concat([f])))],p=bi(l[0],l[1],g[0],g[1]);p<o&&(s=f,o=p)}if(s===0)return{x:r[0],y:t[0]};if(s===1){var v=r.length;return{x:r[v-1],y:t[v-1]}}o=1/0;for(var y=0;y<32&&!(h<l3);y++){var m=s-h,w=s+h,S=[i.apply(void 0,Zt(r.concat([m]))),i.apply(void 0,Zt(t.concat([m])))],_=bi(l[0],l[1],S[0],S[1]);if(m>=0&&_<o)s=m,o=_;else{var k=[i.apply(void 0,Zt(r.concat([w]))),i.apply(void 0,Zt(t.concat([w])))],T=bi(l[0],l[1],k[0],k[1]);w<=1&&T<o?(s=w,o=T):h*=.5}}return{x:i.apply(void 0,Zt(r.concat([s]))),y:i.apply(void 0,Zt(t.concat([s])))}}function eT(r,t,e,n){return bi(r,t,e,n)}function nT(r,t,e,n,i){return{x:(1-i)*r+i*e,y:(1-i)*t+i*n}}function u3(r,t,e,n,i,a){var s=[e-r,n-t];if(tL(s,[0,0]))return Math.sqrt((i-r)*(i-r)+(a-t)*(a-t));var o=[-s[1],s[0]];JR(o,o);var l=[i-r,a-t];return Math.abs(QR(l,o))}function Dy(r,t,e,n,i){var a=1-i;return a*a*a*r+3*t*i*a*a+3*e*i*i*a+n*i*i*i}function yb(r,t,e,n){var i=-3*r+9*t-9*e+3*n,a=6*r-12*t+6*e,s=3*t-3*r,o=[],l,u,c;if(yo(i,0))yo(a,0)||(l=-s/a,l>=0&&l<=1&&o.push(l));else{var h=a*a-4*i*s;yo(h,0)?o.push(-a/(2*i)):h>0&&(c=Math.sqrt(h),l=(-a+c)/(2*i),u=(-a-c)/(2*i),l>=0&&l<=1&&o.push(l),u>=0&&u<=1&&o.push(u))}return o}function c3(r,t,e,n,i,a,s,o){for(var l=[r,s],u=[t,o],c=yb(r,e,i,s),h=yb(t,n,a,o),d=0;d<c.length;d++)l.push(Dy(r,e,i,s,c[d]));for(var f=0;f<h.length;f++)u.push(Dy(t,n,a,o,h[f]));return QO(l,u)}function h3(r,t,e,n,i,a,s,o,l,u,c){return tT([r,e,i,s],[t,n,a,o],l,u,Dy,c)}function mb(r,t,e,n,i,a,s,o,l,u,c){var h=h3(r,t,e,n,i,a,s,o,l,u,c);return bi(h.x,h.y,l,u)}function d3(r){if(r.length<2)return 0;for(var t=0,e=0;e<r.length-1;e++){var n=r[e],i=r[e+1];t+=bi(n[0],n[1],i[0],i[1])}return t}function f3(r){return d3(r)}function Fy(r,t,e,n){var i=1-n;return i*i*r+2*n*i*t+n*n*e}function bb(r,t,e){var n=r+e-2*t;if(yo(n,0))return[.5];var i=(r-t)/n;return i<=1&&i>=0?[i]:[]}function g3(r,t,e,n,i,a){var s=bb(r,e,i)[0],o=bb(t,n,a)[0],l=[r,i],u=[t,a];return s!==void 0&&l.push(Fy(r,e,i,s)),o!==void 0&&u.push(Fy(t,n,a,o)),QO(l,u)}function v3(r,t,e,n,i,a,s,o){return tT([r,e,i],[t,n,a],s,o,Fy)}function p3(r,t,e,n,i,a,s,o){var l=v3(r,t,e,n,i,a,s,o);return bi(l.x,l.y,s,o)}function wn(){wn=function(){return t};var r,t={},e=Object.prototype,n=e.hasOwnProperty,i=Object.defineProperty||function(U,q,j){U[q]=j.value},a=typeof Symbol=="function"?Symbol:{},s=a.iterator||"@@iterator",o=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function u(U,q,j){return Object.defineProperty(U,q,{value:j,enumerable:!0,configurable:!0,writable:!0}),U[q]}try{u({},"")}catch{u=function(j,Z,nt){return j[Z]=nt}}function c(U,q,j,Z){var nt=q&&q.prototype instanceof y?q:y,st=Object.create(nt.prototype),ot=new G(Z||[]);return i(st,"_invoke",{value:N(U,j,ot)}),st}function h(U,q,j){try{return{type:"normal",arg:U.call(q,j)}}catch(Z){return{type:"throw",arg:Z}}}t.wrap=c;var d="suspendedStart",f="suspendedYield",g="executing",p="completed",v={};function y(){}function m(){}function w(){}var S={};u(S,s,function(){return this});var _=Object.getPrototypeOf,k=_&&_(_(V([])));k&&k!==e&&n.call(k,s)&&(S=k);var T=w.prototype=y.prototype=Object.create(S);function O(U){["next","throw","return"].forEach(function(q){u(U,q,function(j){return this._invoke(q,j)})})}function P(U,q){function j(nt,st,ot,Pt){var K=h(U[nt],U,st);if(K.type!=="throw"){var W=K.arg,tt=W.value;return tt&&Zi(tt)=="object"&&n.call(tt,"__await")?q.resolve(tt.__await).then(function(ct){j("next",ct,ot,Pt)},function(ct){j("throw",ct,ot,Pt)}):q.resolve(tt).then(function(ct){W.value=ct,ot(W)},function(ct){return j("throw",ct,ot,Pt)})}Pt(K.arg)}var Z;i(this,"_invoke",{value:function(st,ot){function Pt(){return new q(function(K,W){j(st,ot,K,W)})}return Z=Z?Z.then(Pt,Pt):Pt()}})}function N(U,q,j){var Z=d;return function(nt,st){if(Z===g)throw Error("Generator is already running");if(Z===p){if(nt==="throw")throw st;return{value:r,done:!0}}for(j.method=nt,j.arg=st;;){var ot=j.delegate;if(ot){var Pt=C(ot,j);if(Pt){if(Pt===v)continue;return Pt}}if(j.method==="next")j.sent=j._sent=j.arg;else if(j.method==="throw"){if(Z===d)throw Z=p,j.arg;j.dispatchException(j.arg)}else j.method==="return"&&j.abrupt("return",j.arg);Z=g;var K=h(U,q,j);if(K.type==="normal"){if(Z=j.done?p:f,K.arg===v)continue;return{value:K.arg,done:j.done}}K.type==="throw"&&(Z=p,j.method="throw",j.arg=K.arg)}}}function C(U,q){var j=q.method,Z=U.iterator[j];if(Z===r)return q.delegate=null,j==="throw"&&U.iterator.return&&(q.method="return",q.arg=r,C(U,q),q.method==="throw")||j!=="return"&&(q.method="throw",q.arg=new TypeError("The iterator does not provide a '"+j+"' method")),v;var nt=h(Z,U.iterator,q.arg);if(nt.type==="throw")return q.method="throw",q.arg=nt.arg,q.delegate=null,v;var st=nt.arg;return st?st.done?(q[U.resultName]=st.value,q.next=U.nextLoc,q.method!=="return"&&(q.method="next",q.arg=r),q.delegate=null,v):st:(q.method="throw",q.arg=new TypeError("iterator result is not an object"),q.delegate=null,v)}function L(U){var q={tryLoc:U[0]};1 in U&&(q.catchLoc=U[1]),2 in U&&(q.finallyLoc=U[2],q.afterLoc=U[3]),this.tryEntries.push(q)}function F(U){var q=U.completion||{};q.type="normal",delete q.arg,U.completion=q}function G(U){this.tryEntries=[{tryLoc:"root"}],U.forEach(L,this),this.reset(!0)}function V(U){if(U||U===""){var q=U[s];if(q)return q.call(U);if(typeof U.next=="function")return U;if(!isNaN(U.length)){var j=-1,Z=function nt(){for(;++j<U.length;)if(n.call(U,j))return nt.value=U[j],nt.done=!1,nt;return nt.value=r,nt.done=!0,nt};return Z.next=Z}}throw new TypeError(Zi(U)+" is not iterable")}return m.prototype=w,i(T,"constructor",{value:w,configurable:!0}),i(w,"constructor",{value:m,configurable:!0}),m.displayName=u(w,l,"GeneratorFunction"),t.isGeneratorFunction=function(U){var q=typeof U=="function"&&U.constructor;return!!q&&(q===m||(q.displayName||q.name)==="GeneratorFunction")},t.mark=function(U){return Object.setPrototypeOf?Object.setPrototypeOf(U,w):(U.__proto__=w,u(U,l,"GeneratorFunction")),U.prototype=Object.create(T),U},t.awrap=function(U){return{__await:U}},O(P.prototype),u(P.prototype,o,function(){return this}),t.AsyncIterator=P,t.async=function(U,q,j,Z,nt){nt===void 0&&(nt=Promise);var st=new P(c(U,q,j,Z),nt);return t.isGeneratorFunction(q)?st:st.next().then(function(ot){return ot.done?ot.value:st.next()})},O(T),u(T,l,"Generator"),u(T,s,function(){return this}),u(T,"toString",function(){return"[object Generator]"}),t.keys=function(U){var q=Object(U),j=[];for(var Z in q)j.push(Z);return j.reverse(),function nt(){for(;j.length;){var st=j.pop();if(st in q)return nt.value=st,nt.done=!1,nt}return nt.done=!0,nt}},t.values=V,G.prototype={constructor:G,reset:function(q){if(this.prev=0,this.next=0,this.sent=this._sent=r,this.done=!1,this.delegate=null,this.method="next",this.arg=r,this.tryEntries.forEach(F),!q)for(var j in this)j.charAt(0)==="t"&&n.call(this,j)&&!isNaN(+j.slice(1))&&(this[j]=r)},stop:function(){this.done=!0;var q=this.tryEntries[0].completion;if(q.type==="throw")throw q.arg;return this.rval},dispatchException:function(q){if(this.done)throw q;var j=this;function Z(W,tt){return ot.type="throw",ot.arg=q,j.next=W,tt&&(j.method="next",j.arg=r),!!tt}for(var nt=this.tryEntries.length-1;nt>=0;--nt){var st=this.tryEntries[nt],ot=st.completion;if(st.tryLoc==="root")return Z("end");if(st.tryLoc<=this.prev){var Pt=n.call(st,"catchLoc"),K=n.call(st,"finallyLoc");if(Pt&&K){if(this.prev<st.catchLoc)return Z(st.catchLoc,!0);if(this.prev<st.finallyLoc)return Z(st.finallyLoc)}else if(Pt){if(this.prev<st.catchLoc)return Z(st.catchLoc,!0)}else{if(!K)throw Error("try statement without catch or finally");if(this.prev<st.finallyLoc)return Z(st.finallyLoc)}}}},abrupt:function(q,j){for(var Z=this.tryEntries.length-1;Z>=0;--Z){var nt=this.tryEntries[Z];if(nt.tryLoc<=this.prev&&n.call(nt,"finallyLoc")&&this.prev<nt.finallyLoc){var st=nt;break}}st&&(q==="break"||q==="continue")&&st.tryLoc<=j&&j<=st.finallyLoc&&(st=null);var ot=st?st.completion:{};return ot.type=q,ot.arg=j,st?(this.method="next",this.next=st.finallyLoc,v):this.complete(ot)},complete:function(q,j){if(q.type==="throw")throw q.arg;return q.type==="break"||q.type==="continue"?this.next=q.arg:q.type==="return"?(this.rval=this.arg=q.arg,this.method="return",this.next="end"):q.type==="normal"&&j&&(this.next=j),v},finish:function(q){for(var j=this.tryEntries.length-1;j>=0;--j){var Z=this.tryEntries[j];if(Z.finallyLoc===q)return this.complete(Z.completion,Z.afterLoc),F(Z),v}},catch:function(q){for(var j=this.tryEntries.length-1;j>=0;--j){var Z=this.tryEntries[j];if(Z.tryLoc===q){var nt=Z.completion;if(nt.type==="throw"){var st=nt.arg;F(Z)}return st}}throw Error("illegal catch attempt")},delegateYield:function(q,j,Z){return this.delegate={iterator:V(q),resultName:j,nextLoc:Z},this.method==="next"&&(this.arg=r),v}},t}function wb(r,t,e,n,i,a,s){try{var o=r[a](s),l=o.value}catch(u){return void e(u)}o.done?t(l):Promise.resolve(l).then(n,i)}function ta(r){return function(){var t=this,e=arguments;return new Promise(function(n,i){var a=r.apply(t,e);function s(l){wb(a,n,i,s,o,"next",l)}function o(l){wb(a,n,i,s,o,"throw",l)}s(void 0)})}}function ma(r,t){var e=typeof Symbol<"u"&&r[Symbol.iterator]||r["@@iterator"];if(!e){if(Array.isArray(r)||(e=Rm(r))||t){e&&(r=e);var n=0,i=function(){};return{s:i,n:function(){return n>=r.length?{done:!0}:{done:!1,value:r[n++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
4
4
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a,s=!0,o=!1;return{s:function(){e=e.call(r)},n:function(){var u=e.next();return s=u.done,u},e:function(u){o=!0,a=u},f:function(){try{s||e.return==null||e.return()}finally{if(o)throw a}}}}function y3(r,t){if(r==null)return{};var e={};for(var n in r)if({}.hasOwnProperty.call(r,n)){if(t.indexOf(n)!==-1)continue;e[n]=r[n]}return e}function ja(r,t){if(r==null)return{};var e,n,i=y3(r,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(r);for(n=0;n<a.length;n++)e=a[n],t.indexOf(e)===-1&&{}.propertyIsEnumerable.call(r,e)&&(i[e]=r[e])}return i}var m3=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},rT={exports:{}};(function(r,t){(function(e,n){r.exports=n()})(m3,function(){function e(_,k,T,O,P){n(_,k,T||0,O||_.length-1,P||a)}function n(_,k,T,O,P){for(;O>T;){if(O-T>600){var N=O-T+1,C=k-T+1,L=Math.log(N),F=.5*Math.exp(2*L/3),G=.5*Math.sqrt(L*F*(N-F)/N)*(C-N/2<0?-1:1),V=Math.max(T,Math.floor(k-C*F/N+G)),U=Math.min(O,Math.floor(k+(N-C)*F/N+G));n(_,k,V,U,P)}var q=_[k],j=T,Z=O;for(i(_,T,k),P(_[O],q)>0&&i(_,T,O);j<Z;){for(i(_,j,Z),j++,Z--;P(_[j],q)<0;)j++;for(;P(_[Z],q)>0;)Z--}P(_[T],q)===0?i(_,T,Z):(Z++,i(_,Z,O)),Z<=k&&(T=Z+1),k<=Z&&(O=Z-1)}}function i(_,k,T){var O=_[k];_[k]=_[T],_[T]=O}function a(_,k){return _<k?-1:_>k?1:0}var s=function(k){k===void 0&&(k=9),this._maxEntries=Math.max(4,k),this._minEntries=Math.max(2,Math.ceil(this._maxEntries*.4)),this.clear()};s.prototype.all=function(){return this._all(this.data,[])},s.prototype.search=function(k){var T=this.data,O=[];if(!m(k,T))return O;for(var P=this.toBBox,N=[];T;){for(var C=0;C<T.children.length;C++){var L=T.children[C],F=T.leaf?P(L):L;m(k,F)&&(T.leaf?O.push(L):y(k,F)?this._all(L,O):N.push(L))}T=N.pop()}return O},s.prototype.collides=function(k){var T=this.data;if(!m(k,T))return!1;for(var O=[];T;){for(var P=0;P<T.children.length;P++){var N=T.children[P],C=T.leaf?this.toBBox(N):N;if(m(k,C)){if(T.leaf||y(k,C))return!0;O.push(N)}}T=O.pop()}return!1},s.prototype.load=function(k){if(!(k&&k.length))return this;if(k.length<this._minEntries){for(var T=0;T<k.length;T++)this.insert(k[T]);return this}var O=this._build(k.slice(),0,k.length-1,0);if(!this.data.children.length)this.data=O;else if(this.data.height===O.height)this._splitRoot(this.data,O);else{if(this.data.height<O.height){var P=this.data;this.data=O,O=P}this._insert(O,this.data.height-O.height-1,!0)}return this},s.prototype.insert=function(k){return k&&this._insert(k,this.data.height-1),this},s.prototype.clear=function(){return this.data=w([]),this},s.prototype.remove=function(k,T){if(!k)return this;for(var O=this.data,P=this.toBBox(k),N=[],C=[],L,F,G;O||N.length;){if(O||(O=N.pop(),F=N[N.length-1],L=C.pop(),G=!0),O.leaf){var V=o(k,O.children,T);if(V!==-1)return O.children.splice(V,1),N.push(O),this._condense(N),this}!G&&!O.leaf&&y(O,P)?(N.push(O),C.push(L),L=0,F=O,O=O.children[0]):F?(L++,O=F.children[L],G=!1):O=null}return this},s.prototype.toBBox=function(k){return k},s.prototype.compareMinX=function(k,T){return k.minX-T.minX},s.prototype.compareMinY=function(k,T){return k.minY-T.minY},s.prototype.toJSON=function(){return this.data},s.prototype.fromJSON=function(k){return this.data=k,this},s.prototype._all=function(k,T){for(var O=[];k;)k.leaf?T.push.apply(T,k.children):O.push.apply(O,k.children),k=O.pop();return T},s.prototype._build=function(k,T,O,P){var N=O-T+1,C=this._maxEntries,L;if(N<=C)return L=w(k.slice(T,O+1)),l(L,this.toBBox),L;P||(P=Math.ceil(Math.log(N)/Math.log(C)),C=Math.ceil(N/Math.pow(C,P-1))),L=w([]),L.leaf=!1,L.height=P;var F=Math.ceil(N/C),G=F*Math.ceil(Math.sqrt(C));S(k,T,O,G,this.compareMinX);for(var V=T;V<=O;V+=G){var U=Math.min(V+G-1,O);S(k,V,U,F,this.compareMinY);for(var q=V;q<=U;q+=F){var j=Math.min(q+F-1,U);L.children.push(this._build(k,q,j,P-1))}}return l(L,this.toBBox),L},s.prototype._chooseSubtree=function(k,T,O,P){for(;P.push(T),!(T.leaf||P.length-1===O);){for(var N=1/0,C=1/0,L=void 0,F=0;F<T.children.length;F++){var G=T.children[F],V=f(G),U=p(k,G)-V;U<C?(C=U,N=V<N?V:N,L=G):U===C&&V<N&&(N=V,L=G)}T=L||T.children[0]}return T},s.prototype._insert=function(k,T,O){var P=O?k:this.toBBox(k),N=[],C=this._chooseSubtree(P,this.data,T,N);for(C.children.push(k),c(C,P);T>=0&&N[T].children.length>this._maxEntries;)this._split(N,T),T--;this._adjustParentBBoxes(P,N,T)},s.prototype._split=function(k,T){var O=k[T],P=O.children.length,N=this._minEntries;this._chooseSplitAxis(O,N,P);var C=this._chooseSplitIndex(O,N,P),L=w(O.children.splice(C,O.children.length-C));L.height=O.height,L.leaf=O.leaf,l(O,this.toBBox),l(L,this.toBBox),T?k[T-1].children.push(L):this._splitRoot(O,L)},s.prototype._splitRoot=function(k,T){this.data=w([k,T]),this.data.height=k.height+1,this.data.leaf=!1,l(this.data,this.toBBox)},s.prototype._chooseSplitIndex=function(k,T,O){for(var P,N=1/0,C=1/0,L=T;L<=O-T;L++){var F=u(k,0,L,this.toBBox),G=u(k,L,O,this.toBBox),V=v(F,G),U=f(F)+f(G);V<N?(N=V,P=L,C=U<C?U:C):V===N&&U<C&&(C=U,P=L)}return P||O-T},s.prototype._chooseSplitAxis=function(k,T,O){var P=k.leaf?this.compareMinX:h,N=k.leaf?this.compareMinY:d,C=this._allDistMargin(k,T,O,P),L=this._allDistMargin(k,T,O,N);C<L&&k.children.sort(P)},s.prototype._allDistMargin=function(k,T,O,P){k.children.sort(P);for(var N=this.toBBox,C=u(k,0,T,N),L=u(k,O-T,O,N),F=g(C)+g(L),G=T;G<O-T;G++){var V=k.children[G];c(C,k.leaf?N(V):V),F+=g(C)}for(var U=O-T-1;U>=T;U--){var q=k.children[U];c(L,k.leaf?N(q):q),F+=g(L)}return F},s.prototype._adjustParentBBoxes=function(k,T,O){for(var P=O;P>=0;P--)c(T[P],k)},s.prototype._condense=function(k){for(var T=k.length-1,O=void 0;T>=0;T--)k[T].children.length===0?T>0?(O=k[T-1].children,O.splice(O.indexOf(k[T]),1)):this.clear():l(k[T],this.toBBox)};function o(_,k,T){if(!T)return k.indexOf(_);for(var O=0;O<k.length;O++)if(T(_,k[O]))return O;return-1}function l(_,k){u(_,0,_.children.length,k,_)}function u(_,k,T,O,P){P||(P=w(null)),P.minX=1/0,P.minY=1/0,P.maxX=-1/0,P.maxY=-1/0;for(var N=k;N<T;N++){var C=_.children[N];c(P,_.leaf?O(C):C)}return P}function c(_,k){return _.minX=Math.min(_.minX,k.minX),_.minY=Math.min(_.minY,k.minY),_.maxX=Math.max(_.maxX,k.maxX),_.maxY=Math.max(_.maxY,k.maxY),_}function h(_,k){return _.minX-k.minX}function d(_,k){return _.minY-k.minY}function f(_){return(_.maxX-_.minX)*(_.maxY-_.minY)}function g(_){return _.maxX-_.minX+(_.maxY-_.minY)}function p(_,k){return(Math.max(k.maxX,_.maxX)-Math.min(k.minX,_.minX))*(Math.max(k.maxY,_.maxY)-Math.min(k.minY,_.minY))}function v(_,k){var T=Math.max(_.minX,k.minX),O=Math.max(_.minY,k.minY),P=Math.min(_.maxX,k.maxX),N=Math.min(_.maxY,k.maxY);return Math.max(0,P-T)*Math.max(0,N-O)}function y(_,k){return _.minX<=k.minX&&_.minY<=k.minY&&k.maxX<=_.maxX&&k.maxY<=_.maxY}function m(_,k){return k.minX<=_.maxX&&k.minY<=_.maxY&&k.maxX>=_.minX&&k.maxY>=_.minY}function w(_){return{children:_,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function S(_,k,T,O,P){for(var N=[k,T];N.length;)if(T=N.pop(),k=N.pop(),!(T-k<=O)){var C=k+Math.ceil((T-k)/O/2)*O;e(_,C,k,T,P),N.push(k,C,C,T)}}return s})})(rT);var b3=rT.exports,rt=function(r){return r.GROUP="g",r.FRAGMENT="fragment",r.CIRCLE="circle",r.ELLIPSE="ellipse",r.IMAGE="image",r.RECT="rect",r.LINE="line",r.POLYLINE="polyline",r.POLYGON="polygon",r.TEXT="text",r.PATH="path",r.HTML="html",r.MESH="mesh",r}({}),vu=function(r){return r[r.ZERO=0]="ZERO",r[r.NEGATIVE_ONE=1]="NEGATIVE_ONE",r}({}),ra=function(){function r(){ht(this,r),this.plugins=[]}return dt(r,[{key:"addRenderingPlugin",value:function(e){this.plugins.push(e),this.context.renderingPlugins.push(e)}},{key:"removeAllRenderingPlugins",value:function(){var e=this;this.plugins.forEach(function(n){var i=e.context.renderingPlugins.indexOf(n);i>=0&&e.context.renderingPlugins.splice(i,1)})}}])}(),w3=function(){function r(t){ht(this,r),this.clipSpaceNearZ=vu.NEGATIVE_ONE,this.plugins=[],this.config=$t({enableDirtyCheck:!0,enableCulling:!1,enableAutoRendering:!0,enableDirtyRectangleRendering:!0,enableDirtyRectangleRenderingDebug:!1,enableSizeAttenuation:!0,enableRenderingOptimization:!1},t)}return dt(r,[{key:"registerPlugin",value:function(e){var n=this.plugins.findIndex(function(i){return i===e});n===-1&&this.plugins.push(e)}},{key:"unregisterPlugin",value:function(e){var n=this.plugins.findIndex(function(i){return i===e});n>-1&&this.plugins.splice(n,1)}},{key:"getPlugins",value:function(){return this.plugins}},{key:"getPlugin",value:function(e){return this.plugins.find(function(n){return n.name===e})}},{key:"getConfig",value:function(){return this.config}},{key:"setConfig",value:function(e){Object.assign(this.config,e)}}])}(),Uh=Yi,ts=Zr,x3=jR,E3=zR,xb=ku,Yh=WR,ge=function(){function r(){ht(this,r),this.center=[0,0,0],this.halfExtents=[0,0,0],this.min=[0,0,0],this.max=[0,0,0]}return dt(r,[{key:"update",value:function(e,n){ts(this.center,e),ts(this.halfExtents,n),Yh(this.min,this.center,this.halfExtents),Uh(this.max,this.center,this.halfExtents)}},{key:"setMinMax",value:function(e,n){Uh(this.center,n,e),xb(this.center,this.center,.5),Yh(this.halfExtents,n,e),xb(this.halfExtents,this.halfExtents,.5),ts(this.min,e),ts(this.max,n)}},{key:"getMin",value:function(){return this.min}},{key:"getMax",value:function(){return this.max}},{key:"add",value:function(e){if(!r.isEmpty(e)){if(r.isEmpty(this)){this.setMinMax(e.getMin(),e.getMax());return}var n=this.center,i=n[0],a=n[1],s=n[2],o=this.halfExtents,l=o[0],u=o[1],c=o[2],h=i-l,d=i+l,f=a-u,g=a+u,p=s-c,v=s+c,y=e.center,m=y[0],w=y[1],S=y[2],_=e.halfExtents,k=_[0],T=_[1],O=_[2],P=m-k,N=m+k,C=w-T,L=w+T,F=S-O,G=S+O;P<h&&(h=P),N>d&&(d=N),C<f&&(f=C),L>g&&(g=L),F<p&&(p=F),G>v&&(v=G),n[0]=(h+d)*.5,n[1]=(f+g)*.5,n[2]=(p+v)*.5,o[0]=(d-h)*.5,o[1]=(g-f)*.5,o[2]=(v-p)*.5,this.min[0]=h,this.min[1]=f,this.min[2]=p,this.max[0]=d,this.max[1]=g,this.max[2]=v}}},{key:"setFromTransformedAABB",value:function(e,n){var i=this.center,a=this.halfExtents,s=e.center,o=e.halfExtents,l=n[0],u=n[4],c=n[8],h=n[1],d=n[5],f=n[9],g=n[2],p=n[6],v=n[10],y=Math.abs(l),m=Math.abs(u),w=Math.abs(c),S=Math.abs(h),_=Math.abs(d),k=Math.abs(f),T=Math.abs(g),O=Math.abs(p),P=Math.abs(v);i[0]=n[12]+l*s[0]+u*s[1]+c*s[2],i[1]=n[13]+h*s[0]+d*s[1]+f*s[2],i[2]=n[14]+g*s[0]+p*s[1]+v*s[2],a[0]=y*o[0]+m*o[1]+w*o[2],a[1]=S*o[0]+_*o[1]+k*o[2],a[2]=T*o[0]+O*o[1]+P*o[2],Yh(this.min,i,a),Uh(this.max,i,a)}},{key:"intersects",value:function(e){var n=this.getMax(),i=this.getMin(),a=e.getMax(),s=e.getMin();return i[0]<=a[0]&&n[0]>=s[0]&&i[1]<=a[1]&&n[1]>=s[1]&&i[2]<=a[2]&&n[2]>=s[2]}},{key:"intersection",value:function(e){if(!this.intersects(e))return null;var n=new r,i=x3([0,0,0],this.getMin(),e.getMin()),a=E3([0,0,0],this.getMax(),e.getMax());return n.setMinMax(i,a),n}},{key:"getNegativeFarPoint",value:function(e){return e.pnVertexFlag===273?ts([0,0,0],this.min):e.pnVertexFlag===272?[this.min[0],this.min[1],this.max[2]]:e.pnVertexFlag===257?[this.min[0],this.max[1],this.min[2]]:e.pnVertexFlag===256?[this.min[0],this.max[1],this.max[2]]:e.pnVertexFlag===17?[this.max[0],this.min[1],this.min[2]]:e.pnVertexFlag===16?[this.max[0],this.min[1],this.max[2]]:e.pnVertexFlag===1?[this.max[0],this.max[1],this.min[2]]:[this.max[0],this.max[1],this.max[2]]}},{key:"getPositiveFarPoint",value:function(e){return e.pnVertexFlag===273?ts([0,0,0],this.max):e.pnVertexFlag===272?[this.max[0],this.max[1],this.min[2]]:e.pnVertexFlag===257?[this.max[0],this.min[1],this.max[2]]:e.pnVertexFlag===256?[this.max[0],this.min[1],this.min[2]]:e.pnVertexFlag===17?[this.min[0],this.max[1],this.max[2]]:e.pnVertexFlag===16?[this.min[0],this.max[1],this.min[2]]:e.pnVertexFlag===1?[this.min[0],this.min[1],this.max[2]]:[this.min[0],this.min[1],this.min[2]]}}],[{key:"isEmpty",value:function(e){return!e||e.halfExtents[0]===0&&e.halfExtents[1]===0&&e.halfExtents[2]===0}}])}(),S3=function(){function r(t,e){ht(this,r),this.distance=t||0,this.normal=e||pe(0,1,0),this.updatePNVertexFlag()}return dt(r,[{key:"updatePNVertexFlag",value:function(){this.pnVertexFlag=(+(this.normal[0]>=0)<<8)+(+(this.normal[1]>=0)<<4)+ +(this.normal[2]>=0)}},{key:"distanceToPoint",value:function(e){return Jr(e,this.normal)-this.distance}},{key:"normalize",value:function(){var e=1/zO(this.normal);ku(this.normal,this.normal,e),this.distance*=e}},{key:"intersectsLine",value:function(e,n,i){var a=this.distanceToPoint(e),s=this.distanceToPoint(n),o=a/(a-s),l=o>=0&&o<=1;return l&&i&&Oy(i,e,n,o),l}}])}(),es=function(r){return r[r.OUTSIDE=4294967295]="OUTSIDE",r[r.INSIDE=0]="INSIDE",r[r.INDETERMINATE=2147483647]="INDETERMINATE",r}({}),_3=function(){function r(t){if(ht(this,r),this.planes=[],t)this.planes=t;else for(var e=0;e<6;e++)this.planes.push(new S3)}return dt(r,[{key:"extractFromVPMatrix",value:function(e){var n=qt(e,16),i=n[0],a=n[1],s=n[2],o=n[3],l=n[4],u=n[5],c=n[6],h=n[7],d=n[8],f=n[9],g=n[10],p=n[11],v=n[12],y=n[13],m=n[14],w=n[15];On(this.planes[0].normal,o-i,h-l,p-d),this.planes[0].distance=w-v,On(this.planes[1].normal,o+i,h+l,p+d),this.planes[1].distance=w+v,On(this.planes[2].normal,o+a,h+u,p+f),this.planes[2].distance=w+y,On(this.planes[3].normal,o-a,h-u,p-f),this.planes[3].distance=w-y,On(this.planes[4].normal,o-s,h-c,p-g),this.planes[4].distance=w-m,On(this.planes[5].normal,o+s,h+c,p+g),this.planes[5].distance=w+m,this.planes.forEach(function(S){S.normalize(),S.updatePNVertexFlag()})}}])}(),mn=function(){function r(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;ht(this,r),this.x=0,this.y=0,this.x=t,this.y=e}return dt(r,[{key:"clone",value:function(){return new r(this.x,this.y)}},{key:"copyFrom",value:function(e){this.x=e.x,this.y=e.y}}])}(),Ms=function(){function r(t,e,n,i){ht(this,r),this.x=t,this.y=e,this.width=n,this.height=i,this.left=t,this.right=t+n,this.top=e,this.bottom=e+i}return dt(r,[{key:"toJSON",value:function(){}}],[{key:"fromRect",value:function(e){return new r(e.x,e.y,e.width,e.height)}},{key:"applyTransform",value:function(e,n){var i=ro(e.x,e.y,0,1),a=ro(e.x+e.width,e.y,0,1),s=ro(e.x,e.y+e.height,0,1),o=ro(e.x+e.width,e.y+e.height,0,1),l=Qr(),u=Qr(),c=Qr(),h=Qr();yi(l,i,n),yi(u,a,n),yi(c,s,n),yi(h,o,n);var d=Math.min(l[0],u[0],c[0],h[0]),f=Math.min(l[1],u[1],c[1],h[1]),g=Math.max(l[0],u[0],c[0],h[0]),p=Math.max(l[1],u[1],c[1],h[1]);return r.fromRect({x:d,y:f,width:g-d,height:p-f})}}])}(),ae="Method not implemented.",ns="Use document.documentElement instead.",M3="Cannot append a destroyed element.";function ys(r){return r===void 0?0:r>360||r<-360?r%360:r}var Hh=Jt();function Nn(r){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0;return Array.isArray(r)&&r.length===3?n?hi(r):Zr(Hh,r):Et(r)?n?pe(r,t,e):On(Hh,r,t,e):n?pe(r[0],r[1]||t,r[2]||e):On(Hh,r[0],r[1]||t,r[2]||e)}var k3=Math.PI/180;function se(r){return r*k3}var O3=180/Math.PI;function Gn(r){return r*O3}function T3(r){return 360*r}var Cu=Math.PI/2;function A3(r,t){var e=t[0],n=t[1],i=t[2],a=t[3],s=e*e,o=n*n,l=i*i,u=a*a,c=s+o+l+u,h=e*a-n*i;return h>.499995*c?(r[0]=Cu,r[1]=2*Math.atan2(n,e),r[2]=0):h<-.499995*c?(r[0]=-Cu,r[1]=2*Math.atan2(n,e),r[2]=0):(r[0]=Math.asin(2*(e*i-a*n)),r[1]=Math.atan2(2*(e*a+n*i),1-2*(l+u)),r[2]=Math.atan2(2*(e*n+i*a),1-2*(o+l))),r}function P3(r,t){var e,n,i=Ss(Jt(),t),a=qt(i,3),s=a[0],o=a[1],l=a[2],u=Math.asin(-t[2]/s);return u<Cu?u>-Cu?(e=Math.atan2(t[6]/o,t[10]/l),n=Math.atan2(t[1]/s,t[0]/s)):(n=0,e=-Math.atan2(t[4]/o,t[5]/o)):(n=0,e=Math.atan2(t[4]/o,t[5]/o)),r[0]=e,r[1]=u,r[2]=n,r}function Xh(r,t){return t.length===16?P3(r,t):A3(r,t)}function N3(r,t,e,n,i){var a=Math.cos(r),s=Math.sin(r);return bR(n*a,i*s,0,-n*s,i*a,0,t,e,1)}function C3(r,t,e,n,i,a,s){var o=arguments.length>7&&arguments[7]!==void 0?arguments[7]:!1,l=2*a,u=e-t,c=n-i,h=l/u,d=l/c,f=(e+t)/u,g=(n+i)/c,p,v,y=s-a,m=s*a;return o?(p=-s/y,v=-m/y):(p=-(s+a)/y,v=-2*m/y),r[0]=h,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=d,r[6]=0,r[7]=0,r[8]=f,r[9]=g,r[10]=p,r[11]=-1,r[12]=0,r[13]=0,r[14]=v,r[15]=0,r}function Eb(r){var t=r[0],e=r[1],n=r[3],i=r[4],a=Math.sqrt(t*t+e*e),s=Math.sqrt(n*n+i*i),o=t*i-e*n;if(o<0&&(t<i?a=-a:s=-s),a){var l=1/a;t*=l,e*=l}if(s){var u=1/s;n*=u,i*=u}var c=Math.atan2(e,t),h=Gn(c);return[r[6],r[7],a,s,h]}var Vr=fe(),Mr=fe(),Us=Qr(),It=[Jt(),Jt(),Jt()],Sb=Jt();function R3(r,t,e,n,i,a){if(!L3(Vr,r)||(Es(Mr,Vr),Mr[3]=0,Mr[7]=0,Mr[11]=0,Mr[15]=1,Math.abs(_O(Mr))<1e-8))return!1;var s=Vr[3],o=Vr[7],l=Vr[11],u=Vr[12],c=Vr[13],h=Vr[14],d=Vr[15];if(s!==0||o!==0||l!==0){Us[0]=s,Us[1]=o,Us[2]=l,Us[3]=d;var f=Kr(Mr,Mr);if(!f)return!1;SO(Mr,Mr),yi(i,Us,Mr)}else i[0]=i[1]=i[2]=0,i[3]=1;if(t[0]=u,t[1]=c,t[2]=h,I3(It,Vr),e[0]=fi(It[0]),Ma(It[0],It[0]),n[0]=Jr(It[0],It[1]),Kh(It[1],It[1],It[0],1,-n[0]),e[1]=fi(It[1]),Ma(It[1],It[1]),n[0]/=e[1],n[1]=Jr(It[0],It[2]),Kh(It[2],It[2],It[0],1,-n[1]),n[2]=Jr(It[1],It[2]),Kh(It[2],It[2],It[1],1,-n[2]),e[2]=fi(It[2]),Ma(It[2],It[2]),n[1]/=e[2],n[2]/=e[2],fu(Sb,It[1],It[2]),Jr(It[0],Sb)<0)for(var g=0;g<3;g++)e[g]*=-1,It[g][0]*=-1,It[g][1]*=-1,It[g][2]*=-1;return a[0]=.5*Math.sqrt(Math.max(1+It[0][0]-It[1][1]-It[2][2],0)),a[1]=.5*Math.sqrt(Math.max(1-It[0][0]+It[1][1]-It[2][2],0)),a[2]=.5*Math.sqrt(Math.max(1-It[0][0]-It[1][1]+It[2][2],0)),a[3]=.5*Math.sqrt(Math.max(1+It[0][0]+It[1][1]+It[2][2],0)),It[2][1]>It[1][2]&&(a[0]=-a[0]),It[0][2]>It[2][0]&&(a[1]=-a[1]),It[1][0]>It[0][1]&&(a[2]=-a[2]),!0}function L3(r,t){var e=t[15];if(e===0)return!1;for(var n=1/e,i=0;i<16;i++)r[i]=t[i]*n;return!0}function I3(r,t){r[0][0]=t[0],r[0][1]=t[1],r[0][2]=t[2],r[1][0]=t[4],r[1][1]=t[5],r[1][2]=t[6],r[2][0]=t[8],r[2][1]=t[9],r[2][2]=t[10]}function Kh(r,t,e,n,i){r[0]=t[0]*n+e[0]*i,r[1]=t[1]*n+e[1]*i,r[2]=t[2]*n+e[2]*i}var ie=function(r){return r[r.ORBITING=0]="ORBITING",r[r.EXPLORING=1]="EXPLORING",r[r.TRACKING=2]="TRACKING",r}({}),By=function(r){return r[r.DEFAULT=0]="DEFAULT",r[r.ROTATIONAL=1]="ROTATIONAL",r[r.TRANSLATIONAL=2]="TRANSLATIONAL",r[r.CINEMATIC=3]="CINEMATIC",r}({}),mr=function(r){return r[r.ORTHOGRAPHIC=0]="ORTHOGRAPHIC",r[r.PERSPECTIVE=1]="PERSPECTIVE",r}({}),iT={UPDATED:"updated"},_b=2e-4,aT=function(){function r(){ht(this,r),this.clipSpaceNearZ=vu.NEGATIVE_ONE,this.eventEmitter=new bO,this.matrix=fe(),this.right=pe(1,0,0),this.up=pe(0,1,0),this.forward=pe(0,0,1),this.position=pe(0,0,1),this.focalPoint=pe(0,0,0),this.distanceVector=pe(0,0,-1),this.distance=1,this.azimuth=0,this.elevation=0,this.roll=0,this.relAzimuth=0,this.relElevation=0,this.relRoll=0,this.dollyingStep=0,this.maxDistance=1/0,this.minDistance=-1/0,this.zoom=1,this.rotateWorld=!1,this.fov=30,this.near=.1,this.far=1e3,this.aspect=1,this.projectionMatrix=fe(),this.projectionMatrixInverse=fe(),this.jitteredProjectionMatrix=void 0,this.enableUpdate=!0,this.type=ie.EXPLORING,this.trackingMode=By.DEFAULT,this.projectionMode=mr.PERSPECTIVE,this.frustum=new _3,this.orthoMatrix=fe()}return dt(r,[{key:"isOrtho",value:function(){return this.projectionMode===mr.ORTHOGRAPHIC}},{key:"getProjectionMode",value:function(){return this.projectionMode}},{key:"getPerspective",value:function(){return this.jitteredProjectionMatrix||this.projectionMatrix}},{key:"getPerspectiveInverse",value:function(){return this.projectionMatrixInverse}},{key:"getFrustum",value:function(){return this.frustum}},{key:"getPosition",value:function(){return this.position}},{key:"getFocalPoint",value:function(){return this.focalPoint}},{key:"getDollyingStep",value:function(){return this.dollyingStep}},{key:"getNear",value:function(){return this.near}},{key:"getFar",value:function(){return this.far}},{key:"getZoom",value:function(){return this.zoom}},{key:"getOrthoMatrix",value:function(){return this.orthoMatrix}},{key:"getView",value:function(){return this.view}},{key:"setEnableUpdate",value:function(e){this.enableUpdate=e}},{key:"setType",value:function(e,n){return this.type=e,this.type===ie.EXPLORING?this.setWorldRotation(!0):this.setWorldRotation(!1),this._getAngles(),this.type===ie.TRACKING&&n!==void 0&&this.setTrackingMode(n),this}},{key:"setProjectionMode",value:function(e){return this.projectionMode=e,this}},{key:"setTrackingMode",value:function(e){if(this.type!==ie.TRACKING)throw new Error("Impossible to set a tracking mode if the camera is not of tracking type");return this.trackingMode=e,this}},{key:"setWorldRotation",value:function(e){return this.rotateWorld=e,this._getAngles(),this}},{key:"getViewTransform",value:function(){return Kr(fe(),this.matrix)}},{key:"getWorldTransform",value:function(){return this.matrix}},{key:"jitterProjectionMatrix",value:function(e,n){var i=Fi(fe(),[e,n,0]);this.jitteredProjectionMatrix=Tn(fe(),i,this.projectionMatrix)}},{key:"clearJitterProjectionMatrix",value:function(){this.jitteredProjectionMatrix=void 0}},{key:"setMatrix",value:function(e){return this.matrix=e,this._update(),this}},{key:"setProjectionMatrix",value:function(e){this.projectionMatrix=e}},{key:"setFov",value:function(e){return this.setPerspective(this.near,this.far,e,this.aspect),this}},{key:"setAspect",value:function(e){return this.setPerspective(this.near,this.far,this.fov,e),this}},{key:"setNear",value:function(e){return this.projectionMode===mr.PERSPECTIVE?this.setPerspective(e,this.far,this.fov,this.aspect):this.setOrthographic(this.left,this.rright,this.top,this.bottom,e,this.far),this}},{key:"setFar",value:function(e){return this.projectionMode===mr.PERSPECTIVE?this.setPerspective(this.near,e,this.fov,this.aspect):this.setOrthographic(this.left,this.rright,this.top,this.bottom,this.near,e),this}},{key:"setViewOffset",value:function(e,n,i,a,s,o){return this.aspect=e/n,this.view===void 0&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=n,this.view.offsetX=i,this.view.offsetY=a,this.view.width=s,this.view.height=o,this.projectionMode===mr.PERSPECTIVE?this.setPerspective(this.near,this.far,this.fov,this.aspect):this.setOrthographic(this.left,this.rright,this.top,this.bottom,this.near,this.far),this}},{key:"clearViewOffset",value:function(){return this.view!==void 0&&(this.view.enabled=!1),this.projectionMode===mr.PERSPECTIVE?this.setPerspective(this.near,this.far,this.fov,this.aspect):this.setOrthographic(this.left,this.rright,this.top,this.bottom,this.near,this.far),this}},{key:"setZoom",value:function(e){return this.zoom=e,this.projectionMode===mr.ORTHOGRAPHIC?this.setOrthographic(this.left,this.rright,this.top,this.bottom,this.near,this.far):this.projectionMode===mr.PERSPECTIVE&&this.setPerspective(this.near,this.far,this.fov,this.aspect),this}},{key:"setZoomByViewportPoint",value:function(e,n){var i=this.canvas.viewport2Canvas({x:n[0],y:n[1]}),a=i.x,s=i.y,o=this.roll;this.rotate(0,0,-o),this.setPosition(a,s),this.setFocalPoint(a,s),this.setZoom(e),this.rotate(0,0,o);var l=this.canvas.viewport2Canvas({x:n[0],y:n[1]}),u=l.x,c=l.y,h=pe(u-a,c-s,0),d=Jr(h,this.right)/fi(this.right),f=Jr(h,this.up)/fi(this.up),g=this.getPosition(),p=qt(g,2),v=p[0],y=p[1],m=this.getFocalPoint(),w=qt(m,2),S=w[0],_=w[1];return this.setPosition(v-d,y-f),this.setFocalPoint(S-d,_-f),this}},{key:"setPerspective",value:function(e,n,i,a){var s;this.projectionMode=mr.PERSPECTIVE,this.fov=i,this.near=e,this.far=n,this.aspect=a;var o=this.near*Math.tan(se(.5*this.fov))/this.zoom,l=2*o,u=this.aspect*l,c=-.5*u;if((s=this.view)!==null&&s!==void 0&&s.enabled){var h=this.view.fullWidth,d=this.view.fullHeight;c+=this.view.offsetX*u/h,o-=this.view.offsetY*l/d,u*=this.view.width/h,l*=this.view.height/d}return C3(this.projectionMatrix,c,c+u,o-l,o,e,this.far,this.clipSpaceNearZ===vu.ZERO),Kr(this.projectionMatrixInverse,this.projectionMatrix),this.triggerUpdate(),this}},{key:"setOrthographic",value:function(e,n,i,a,s,o){var l;this.projectionMode=mr.ORTHOGRAPHIC,this.rright=n,this.left=e,this.top=i,this.bottom=a,this.near=s,this.far=o;var u=(this.rright-this.left)/(2*this.zoom),c=(this.top-this.bottom)/(2*this.zoom),h=(this.rright+this.left)/2,d=(this.top+this.bottom)/2,f=h-u,g=h+u,p=d+c,v=d-c;if((l=this.view)!==null&&l!==void 0&&l.enabled){var y=(this.rright-this.left)/this.view.fullWidth/this.zoom,m=(this.top-this.bottom)/this.view.fullHeight/this.zoom;f+=y*this.view.offsetX,g=f+y*this.view.width,p-=m*this.view.offsetY,v=p-m*this.view.height}return this.clipSpaceNearZ===vu.NEGATIVE_ONE?LO(this.projectionMatrix,f,g,p,v,s,o):IO(this.projectionMatrix,f,g,p,v,s,o),Kr(this.projectionMatrixInverse,this.projectionMatrix),this._getOrthoMatrix(),this.triggerUpdate(),this}},{key:"setPosition",value:function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.position[1],i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.position[2],a=Nn(e,n,i);return this._setPosition(a),this.setFocalPoint(this.focalPoint),this.triggerUpdate(),this}},{key:"setFocalPoint",value:function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.focalPoint[1],i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.focalPoint[2],a=pe(0,1,0);if(this.focalPoint=Nn(e,n,i),this.trackingMode===By.CINEMATIC){var s=ky(Jt(),this.focalPoint,this.position);e=s[0],n=s[1],i=s[2];var o=fi(s),l=Gn(Math.asin(n/o)),u=90+Gn(Math.atan2(i,e)),c=fe();OO(c,c,se(u)),kO(c,c,se(l)),a=An(Jt(),[0,1,0],c)}return Kr(this.matrix,DO(fe(),this.position,this.focalPoint,a)),this._getAxes(),this._getDistance(),this._getAngles(),this.triggerUpdate(),this}},{key:"getDistance",value:function(){return this.distance}},{key:"getDistanceVector",value:function(){return this.distanceVector}},{key:"setDistance",value:function(e){if(this.distance===e||e<0)return this;this.distance=e,this.distance<_b&&(this.distance=_b),this.dollyingStep=this.distance/100;var n=Jt();e=this.distance;var i=this.forward,a=this.focalPoint;return n[0]=e*i[0]+a[0],n[1]=e*i[1]+a[1],n[2]=e*i[2]+a[2],this._setPosition(n),this.triggerUpdate(),this}},{key:"setMaxDistance",value:function(e){return this.maxDistance=e,this}},{key:"setMinDistance",value:function(e){return this.minDistance=e,this}},{key:"setAzimuth",value:function(e){return this.azimuth=ys(e),this.computeMatrix(),this._getAxes(),this.type===ie.ORBITING||this.type===ie.EXPLORING?this._getPosition():this.type===ie.TRACKING&&this._getFocalPoint(),this.triggerUpdate(),this}},{key:"getAzimuth",value:function(){return this.azimuth}},{key:"setElevation",value:function(e){return this.elevation=ys(e),this.computeMatrix(),this._getAxes(),this.type===ie.ORBITING||this.type===ie.EXPLORING?this._getPosition():this.type===ie.TRACKING&&this._getFocalPoint(),this.triggerUpdate(),this}},{key:"getElevation",value:function(){return this.elevation}},{key:"setRoll",value:function(e){return this.roll=ys(e),this.computeMatrix(),this._getAxes(),this.type===ie.ORBITING||this.type===ie.EXPLORING?this._getPosition():this.type===ie.TRACKING&&this._getFocalPoint(),this.triggerUpdate(),this}},{key:"getRoll",value:function(){return this.roll}},{key:"_update",value:function(){this._getAxes(),this._getPosition(),this._getDistance(),this._getAngles(),this._getOrthoMatrix(),this.triggerUpdate()}},{key:"computeMatrix",value:function(){var e=zi(nn(),[0,0,1],se(this.roll));Ji(this.matrix);var n=zi(nn(),[1,0,0],se((this.rotateWorld&&this.type!==ie.TRACKING||this.type===ie.TRACKING?1:-1)*this.elevation)),i=zi(nn(),[0,1,0],se((this.rotateWorld&&this.type!==ie.TRACKING||this.type===ie.TRACKING?1:-1)*this.azimuth)),a=Hi(nn(),i,n);a=Hi(nn(),a,e);var s=Lm(fe(),a);this.type===ie.ORBITING||this.type===ie.EXPLORING?(ps(this.matrix,this.matrix,this.focalPoint),Tn(this.matrix,this.matrix,s),ps(this.matrix,this.matrix,[0,0,this.distance])):this.type===ie.TRACKING&&(ps(this.matrix,this.matrix,this.position),Tn(this.matrix,this.matrix,s))}},{key:"_setPosition",value:function(e,n,i){this.position=Nn(e,n,i);var a=this.matrix;a[12]=this.position[0],a[13]=this.position[1],a[14]=this.position[2],a[15]=1,this._getOrthoMatrix()}},{key:"_getAxes",value:function(){Zr(this.right,Nn(yi(Qr(),[1,0,0,0],this.matrix))),Zr(this.up,Nn(yi(Qr(),[0,1,0,0],this.matrix))),Zr(this.forward,Nn(yi(Qr(),[0,0,1,0],this.matrix))),Ma(this.right,this.right),Ma(this.up,this.up),Ma(this.forward,this.forward)}},{key:"_getAngles",value:function(){var e=this.distanceVector[0],n=this.distanceVector[1],i=this.distanceVector[2],a=fi(this.distanceVector);if(a===0){this.elevation=0,this.azimuth=0;return}this.type===ie.TRACKING?(this.elevation=Gn(Math.asin(n/a)),this.azimuth=Gn(Math.atan2(-e,-i))):this.rotateWorld?(this.elevation=Gn(Math.asin(n/a)),this.azimuth=Gn(Math.atan2(-e,-i))):(this.elevation=-Gn(Math.asin(n/a)),this.azimuth=-Gn(Math.atan2(-e,-i)))}},{key:"_getPosition",value:function(){Zr(this.position,Nn(yi(Qr(),[0,0,0,1],this.matrix))),this._getDistance()}},{key:"_getFocalPoint",value:function(){$R(this.distanceVector,[0,0,-this.distance],mR(wO(),this.matrix)),Yi(this.focalPoint,this.position,this.distanceVector),this._getDistance()}},{key:"_getDistance",value:function(){this.distanceVector=ky(Jt(),this.focalPoint,this.position),this.distance=fi(this.distanceVector),this.dollyingStep=this.distance/100}},{key:"_getOrthoMatrix",value:function(){if(this.projectionMode===mr.ORTHOGRAPHIC){var e=this.position,n=zi(nn(),[0,0,1],-this.roll*Math.PI/180);po(this.orthoMatrix,n,pe((this.rright-this.left)/2-e[0],(this.top-this.bottom)/2-e[1],0),pe(this.zoom,this.zoom,1),e)}}},{key:"triggerUpdate",value:function(){if(this.enableUpdate){var e=this.getViewTransform(),n=Tn(fe(),this.getPerspective(),e);this.getFrustum().extractFromVPMatrix(n),this.eventEmitter.emit(iT.UPDATED)}}},{key:"rotate",value:function(e,n,i){throw new Error(ae)}},{key:"pan",value:function(e,n){throw new Error(ae)}},{key:"dolly",value:function(e){throw new Error(ae)}},{key:"createLandmark",value:function(e,n){throw new Error(ae)}},{key:"gotoLandmark",value:function(e,n){throw new Error(ae)}},{key:"cancelLandmarkAnimation",value:function(){throw new Error(ae)}}])}(),D3=function(r){return r[r.Standard=0]="Standard",r}({}),Ru=function(r){return r[r.ADDED=0]="ADDED",r[r.REMOVED=1]="REMOVED",r[r.Z_INDEX_CHANGED=2]="Z_INDEX_CHANGED",r}({}),sT={absolutePath:[],hasArc:!1,segments:[],polygons:[],polylines:[],curve:null,totalLength:0,rect:new Ms(0,0,0,0)},bt=function(r){return r.COORDINATE="<coordinate>",r.COLOR="<color>",r.PAINT="<paint>",r.NUMBER="<number>",r.ANGLE="<angle>",r.OPACITY_VALUE="<opacity-value>",r.SHADOW_BLUR="<shadow-blur>",r.LENGTH="<length>",r.PERCENTAGE="<percentage>",r.LENGTH_PERCENTAGE="<length> | <percentage>",r.LENGTH_PERCENTAGE_12="[<length> | <percentage>]{1,2}",r.LENGTH_PERCENTAGE_14="[<length> | <percentage>]{1,4}",r.LIST_OF_POINTS="<list-of-points>",r.PATH="<path>",r.FILTER="<filter>",r.Z_INDEX="<z-index>",r.OFFSET_DISTANCE="<offset-distance>",r.DEFINED_PATH="<defined-path>",r.MARKER="<marker>",r.TRANSFORM="<transform>",r.TRANSFORM_ORIGIN="<transform-origin>",r.TEXT="<text>",r.TEXT_TRANSFORM="<text-transform>",r}({});function Bm(r,t,e){r.prototype=t.prototype=e,e.constructor=r}function oT(r,t){var e=Object.create(r.prototype);for(var n in t)e[n]=t[n];return e}function Wo(){}var Oo=.7,Lu=1/Oo,ms="\\s*([+-]?\\d+)\\s*",To="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",ti="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",F3=/^#([0-9a-f]{3,8})$/,B3=new RegExp(`^rgb\\(${ms},${ms},${ms}\\)$`),z3=new RegExp(`^rgb\\(${ti},${ti},${ti}\\)$`),j3=new RegExp(`^rgba\\(${ms},${ms},${ms},${To}\\)$`),q3=new RegExp(`^rgba\\(${ti},${ti},${ti},${To}\\)$`),$3=new RegExp(`^hsl\\(${To},${ti},${ti}\\)$`),G3=new RegExp(`^hsla\\(${To},${ti},${ti},${To}\\)$`),Mb={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Bm(Wo,uc,{copy(r){return Object.assign(new this.constructor,this,r)},displayable(){return this.rgb().displayable()},hex:kb,formatHex:kb,formatHex8:W3,formatHsl:V3,formatRgb:Ob,toString:Ob});function kb(){return this.rgb().formatHex()}function W3(){return this.rgb().formatHex8()}function V3(){return lT(this).formatHsl()}function Ob(){return this.rgb().formatRgb()}function uc(r){var t,e;return r=(r+"").trim().toLowerCase(),(t=F3.exec(r))?(e=t[1].length,t=parseInt(t[1],16),e===6?Tb(t):e===3?new Yn(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):e===8?bl(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):e===4?bl(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=B3.exec(r))?new Yn(t[1],t[2],t[3],1):(t=z3.exec(r))?new Yn(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=j3.exec(r))?bl(t[1],t[2],t[3],t[4]):(t=q3.exec(r))?bl(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=$3.exec(r))?Nb(t[1],t[2]/100,t[3]/100,1):(t=G3.exec(r))?Nb(t[1],t[2]/100,t[3]/100,t[4]):Mb.hasOwnProperty(r)?Tb(Mb[r]):r==="transparent"?new Yn(NaN,NaN,NaN,0):null}function Tb(r){return new Yn(r>>16&255,r>>8&255,r&255,1)}function bl(r,t,e,n){return n<=0&&(r=t=e=NaN),new Yn(r,t,e,n)}function U3(r){return r instanceof Wo||(r=uc(r)),r?(r=r.rgb(),new Yn(r.r,r.g,r.b,r.opacity)):new Yn}function Y3(r,t,e,n){return arguments.length===1?U3(r):new Yn(r,t,e,n??1)}function Yn(r,t,e,n){this.r=+r,this.g=+t,this.b=+e,this.opacity=+n}Bm(Yn,Y3,oT(Wo,{brighter(r){return r=r==null?Lu:Math.pow(Lu,r),new Yn(this.r*r,this.g*r,this.b*r,this.opacity)},darker(r){return r=r==null?Oo:Math.pow(Oo,r),new Yn(this.r*r,this.g*r,this.b*r,this.opacity)},rgb(){return this},clamp(){return new Yn(ka(this.r),ka(this.g),ka(this.b),Iu(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Ab,formatHex:Ab,formatHex8:H3,formatRgb:Pb,toString:Pb}));function Ab(){return`#${xa(this.r)}${xa(this.g)}${xa(this.b)}`}function H3(){return`#${xa(this.r)}${xa(this.g)}${xa(this.b)}${xa((isNaN(this.opacity)?1:this.opacity)*255)}`}function Pb(){const r=Iu(this.opacity);return`${r===1?"rgb(":"rgba("}${ka(this.r)}, ${ka(this.g)}, ${ka(this.b)}${r===1?")":`, ${r})`}`}function Iu(r){return isNaN(r)?1:Math.max(0,Math.min(1,r))}function ka(r){return Math.max(0,Math.min(255,Math.round(r)||0))}function xa(r){return r=ka(r),(r<16?"0":"")+r.toString(16)}function Nb(r,t,e,n){return n<=0?r=t=e=NaN:e<=0||e>=1?r=t=NaN:t<=0&&(r=NaN),new Ar(r,t,e,n)}function lT(r){if(r instanceof Ar)return new Ar(r.h,r.s,r.l,r.opacity);if(r instanceof Wo||(r=uc(r)),!r)return new Ar;if(r instanceof Ar)return r;r=r.rgb();var t=r.r/255,e=r.g/255,n=r.b/255,i=Math.min(t,e,n),a=Math.max(t,e,n),s=NaN,o=a-i,l=(a+i)/2;return o?(t===a?s=(e-n)/o+(e<n)*6:e===a?s=(n-t)/o+2:s=(t-e)/o+4,o/=l<.5?a+i:2-a-i,s*=60):o=l>0&&l<1?0:s,new Ar(s,o,l,r.opacity)}function X3(r,t,e,n){return arguments.length===1?lT(r):new Ar(r,t,e,n??1)}function Ar(r,t,e,n){this.h=+r,this.s=+t,this.l=+e,this.opacity=+n}Bm(Ar,X3,oT(Wo,{brighter(r){return r=r==null?Lu:Math.pow(Lu,r),new Ar(this.h,this.s,this.l*r,this.opacity)},darker(r){return r=r==null?Oo:Math.pow(Oo,r),new Ar(this.h,this.s,this.l*r,this.opacity)},rgb(){var r=this.h%360+(this.h<0)*360,t=isNaN(r)||isNaN(this.s)?0:this.s,e=this.l,n=e+(e<.5?e:1-e)*t,i=2*e-n;return new Yn(Zh(r>=240?r-240:r+120,i,n),Zh(r,i,n),Zh(r<120?r+240:r-120,i,n),this.opacity)},clamp(){return new Ar(Cb(this.h),wl(this.s),wl(this.l),Iu(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const r=Iu(this.opacity);return`${r===1?"hsl(":"hsla("}${Cb(this.h)}, ${wl(this.s)*100}%, ${wl(this.l)*100}%${r===1?")":`, ${r})`}`}}));function Cb(r){return r=(r||0)%360,r<0?r+360:r}function wl(r){return Math.max(0,Math.min(1,r||0))}function Zh(r,t,e){return(r<60?t+(e-t)*r/60:r<180?e:r<240?t+(e-t)*(240-r)/60:t)*255}function Je(r,t){if(typeof r!="function"||t!=null&&typeof t!="function")throw new TypeError("Expected a function");var e=function(){for(var i=arguments.length,a=new Array(i),s=0;s<i;s++)a[s]=arguments[s];var o=t?t.apply(this,a):a[0],l=e.cache;if(l.has(o))return l.get(o);var u=r.apply(this,a);return e.cache=l.set(o,u)||l,u};return e.cache=new(Je.Cache||Map),Je.cacheList.push(e.cache),e}Je.Cache=Map;Je.cacheList=[];Je.clearCache=function(){Je.cacheList.forEach(function(r){return r.clear()})};var wt=function(r){return r[r.kUnknown=0]="kUnknown",r[r.kNumber=1]="kNumber",r[r.kPercentage=2]="kPercentage",r[r.kEms=3]="kEms",r[r.kPixels=4]="kPixels",r[r.kRems=5]="kRems",r[r.kDegrees=6]="kDegrees",r[r.kRadians=7]="kRadians",r[r.kGradians=8]="kGradians",r[r.kTurns=9]="kTurns",r[r.kMilliseconds=10]="kMilliseconds",r[r.kSeconds=11]="kSeconds",r[r.kInteger=12]="kInteger",r}({}),Tr=function(r){return r[r.kUNumber=0]="kUNumber",r[r.kUPercent=1]="kUPercent",r[r.kULength=2]="kULength",r[r.kUAngle=3]="kUAngle",r[r.kUTime=4]="kUTime",r[r.kUOther=5]="kUOther",r}({}),K3=function(r){return r[r.kYes=0]="kYes",r[r.kNo=1]="kNo",r}({}),Z3=function(r){return r[r.kYes=0]="kYes",r[r.kNo=1]="kNo",r}({}),J3=[{name:"em",unit_type:wt.kEms},{name:"px",unit_type:wt.kPixels},{name:"deg",unit_type:wt.kDegrees},{name:"rad",unit_type:wt.kRadians},{name:"grad",unit_type:wt.kGradians},{name:"ms",unit_type:wt.kMilliseconds},{name:"s",unit_type:wt.kSeconds},{name:"rem",unit_type:wt.kRems},{name:"turn",unit_type:wt.kTurns}],ks=function(r){return r[r.kUnknownType=0]="kUnknownType",r[r.kUnparsedType=1]="kUnparsedType",r[r.kKeywordType=2]="kKeywordType",r[r.kUnitType=3]="kUnitType",r[r.kSumType=4]="kSumType",r[r.kProductType=5]="kProductType",r[r.kNegateType=6]="kNegateType",r[r.kInvertType=7]="kInvertType",r[r.kMinType=8]="kMinType",r[r.kMaxType=9]="kMaxType",r[r.kClampType=10]="kClampType",r[r.kTransformType=11]="kTransformType",r[r.kPositionType=12]="kPositionType",r[r.kURLImageType=13]="kURLImageType",r[r.kColorType=14]="kColorType",r[r.kUnsupportedColorType=15]="kUnsupportedColorType",r}({}),Q3=function(t){return J3.find(function(e){return e.name===t}).unit_type},tI=function(t){return t?t==="number"?wt.kNumber:t==="percent"||t==="%"?wt.kPercentage:Q3(t):wt.kUnknown},eI=function(t){switch(t){case wt.kNumber:case wt.kInteger:return Tr.kUNumber;case wt.kPercentage:return Tr.kUPercent;case wt.kPixels:return Tr.kULength;case wt.kMilliseconds:case wt.kSeconds:return Tr.kUTime;case wt.kDegrees:case wt.kRadians:case wt.kGradians:case wt.kTurns:return Tr.kUAngle;default:return Tr.kUOther}},nI=function(t){switch(t){case Tr.kUNumber:return wt.kNumber;case Tr.kULength:return wt.kPixels;case Tr.kUPercent:return wt.kPercentage;case Tr.kUTime:return wt.kSeconds;case Tr.kUAngle:return wt.kDegrees;default:return wt.kUnknown}},Rb=function(t){var e=1;switch(t){case wt.kPixels:case wt.kDegrees:case wt.kSeconds:break;case wt.kMilliseconds:e=.001;break;case wt.kRadians:e=180/Math.PI;break;case wt.kGradians:e=.9;break;case wt.kTurns:e=360;break}return e},zy=function(t){switch(t){case wt.kNumber:case wt.kInteger:return"";case wt.kPercentage:return"%";case wt.kEms:return"em";case wt.kRems:return"rem";case wt.kPixels:return"px";case wt.kDegrees:return"deg";case wt.kRadians:return"rad";case wt.kGradians:return"grad";case wt.kMilliseconds:return"ms";case wt.kSeconds:return"s";case wt.kTurns:return"turn"}return""},cc=function(){function r(){ht(this,r)}return dt(r,[{key:"toString",value:function(){return this.buildCSSText(K3.kNo,Z3.kNo,"")}},{key:"isNumericValue",value:function(){return this.getType()>=ks.kUnitType&&this.getType()<=ks.kClampType}}],[{key:"isAngle",value:function(e){return e===wt.kDegrees||e===wt.kRadians||e===wt.kGradians||e===wt.kTurns}},{key:"isLength",value:function(e){return e>=wt.kEms&&e<wt.kDegrees}},{key:"isRelativeUnit",value:function(e){return e===wt.kPercentage||e===wt.kEms||e===wt.kRems}},{key:"isTime",value:function(e){return e===wt.kSeconds||e===wt.kMilliseconds}}])}(),rI=function(r){function t(e){var n;return ht(this,t),n=Gt(this,t),n.colorSpace=e,n}return Wt(t,r),dt(t,[{key:"getType",value:function(){return ks.kColorType}},{key:"to",value:function(n){return this}}])}(cc),ji=function(r){return r[r.Constant=0]="Constant",r[r.LinearGradient=1]="LinearGradient",r[r.RadialGradient=2]="RadialGradient",r}({}),xl=function(r){function t(e,n){var i;return ht(this,t),i=Gt(this,t),i.type=e,i.value=n,i}return Wt(t,r),dt(t,[{key:"clone",value:function(){return new t(this.type,this.value)}},{key:"buildCSSText",value:function(n,i,a){return a}},{key:"getType",value:function(){return ks.kColorType}}])}(cc),xr=function(r){function t(e){var n;return ht(this,t),n=Gt(this,t),n.value=e,n}return Wt(t,r),dt(t,[{key:"clone",value:function(){return new t(this.value)}},{key:"getType",value:function(){return ks.kKeywordType}},{key:"buildCSSText",value:function(n,i,a){return a+this.value}}])}(cc),iI=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",n="";return Number.isFinite(t)?n="NaN":t>0?n="infinity":n="-infinity",n+=e},jy=function(t){return nI(eI(t))},hn=function(r){function t(e){var n,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:wt.kNumber;ht(this,t),n=Gt(this,t);var a;return typeof i=="string"?a=tI(i):a=i,n.unit=a,n.value=e,n}return Wt(t,r),dt(t,[{key:"clone",value:function(){return new t(this.value,this.unit)}},{key:"equals",value:function(n){var i=n;return this.value===i.value&&this.unit===i.unit}},{key:"getType",value:function(){return ks.kUnitType}},{key:"convertTo",value:function(n){if(this.unit===n)return new t(this.value,this.unit);var i=jy(this.unit);if(i!==jy(n)||i===wt.kUnknown)return null;var a=Rb(this.unit)/Rb(n);return new t(this.value*a,n)}},{key:"buildCSSText",value:function(n,i,a){var s;switch(this.unit){case wt.kUnknown:break;case wt.kInteger:s=Number(this.value).toFixed(0);break;case wt.kNumber:case wt.kPercentage:case wt.kEms:case wt.kRems:case wt.kPixels:case wt.kDegrees:case wt.kRadians:case wt.kGradians:case wt.kMilliseconds:case wt.kSeconds:case wt.kTurns:{var o=-999999,l=999999,u=this.value,c=zy(this.unit);if(u<o||u>l){var h=zy(this.unit);!Number.isFinite(u)||Number.isNaN(u)?s=iI(u,h):s=u+(h||"")}else s="".concat(u).concat(c)}}return a+=s,a}}])}(cc),kr=new hn(0,"px");new hn(1,"px");var Ra=new hn(0,"deg"),zm=function(r){function t(e,n,i){var a,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1,o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;return ht(this,t),a=Gt(this,t,["rgb"]),a.r=e,a.g=n,a.b=i,a.alpha=s,a.isNone=o,a}return Wt(t,r),dt(t,[{key:"clone",value:function(){return new t(this.r,this.g,this.b,this.alpha)}},{key:"buildCSSText",value:function(n,i,a){return"".concat(a,"rgba(").concat(this.r,",").concat(this.g,",").concat(this.b,",").concat(this.alpha,")")}}])}(rI),Lb=new xr("unset"),aI=new xr("initial"),sI=new xr("inherit"),Jh={"":Lb,unset:Lb,initial:aI,inherit:sI},oI=function(t){return Jh[t]||(Jh[t]=new xr(t)),Jh[t]},uT=new zm(0,0,0,0,!0),cT=new zm(0,0,0,0),lI=Je(function(r,t,e,n){return new zm(r,t,e,n)},function(r,t,e,n){return"rgba(".concat(r,",").concat(t,",").concat(e,",").concat(n,")")}),_e=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:wt.kNumber;return new hn(t,e)};new hn(50,"%");function uI(r){var t=r.type,e=r.value;return t==="hex"?"#".concat(e):t==="literal"?e:t==="rgb"?"rgb(".concat(e.join(","),")"):"rgba(".concat(e.join(","),")")}var cI=function(){var r={linearGradient:/^(linear\-gradient)/i,repeatingLinearGradient:/^(repeating\-linear\-gradient)/i,radialGradient:/^(radial\-gradient)/i,repeatingRadialGradient:/^(repeating\-radial\-gradient)/i,conicGradient:/^(conic\-gradient)/i,sideOrCorner:/^to (left (top|bottom)|right (top|bottom)|top (left|right)|bottom (left|right)|left|right|top|bottom)/i,extentKeywords:/^(closest\-side|closest\-corner|farthest\-side|farthest\-corner|contain|cover)/,positionKeywords:/^(left|center|right|top|bottom)/i,pixelValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))px/,percentageValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))\%/,emValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))em/,angleValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))deg/,startCall:/^\(/,endCall:/^\)/,comma:/^,/,hexColor:/^\#([0-9a-fA-F]+)/,literalColor:/^([a-zA-Z]+)/,rgbColor:/^rgb/i,rgbaColor:/^rgba/i,number:/^(([0-9]*\.[0-9]+)|([0-9]+\.?))/},t="";function e(q){throw new Error("".concat(t,": ").concat(q))}function n(){var q=i();return t.length>0&&e("Invalid input not EOF"),q}function i(){return w(a)}function a(){return s("linear-gradient",r.linearGradient,l)||s("repeating-linear-gradient",r.repeatingLinearGradient,l)||s("radial-gradient",r.radialGradient,h)||s("repeating-radial-gradient",r.repeatingRadialGradient,h)||s("conic-gradient",r.conicGradient,h)}function s(q,j,Z){return o(j,function(nt){var st=Z();return st&&(V(r.comma)||e("Missing comma before color stops")),{type:q,orientation:st,colorStops:w(S)}})}function o(q,j){var Z=V(q);if(Z){V(r.startCall)||e("Missing (");var nt=j(Z);return V(r.endCall)||e("Missing )"),nt}}function l(){return u()||c()}function u(){return G("directional",r.sideOrCorner,1)}function c(){return G("angular",r.angleValue,1)}function h(){var q,j=d(),Z;return j&&(q=[],q.push(j),Z=t,V(r.comma)&&(j=d(),j?q.push(j):t=Z)),q}function d(){var q=f()||g();if(q)q.at=v();else{var j=p();if(j){q=j;var Z=v();Z&&(q.at=Z)}else{var nt=y();nt&&(q={type:"default-radial",at:nt})}}return q}function f(){var q=G("shape",/^(circle)/i,0);return q&&(q.style=F()||p()),q}function g(){var q=G("shape",/^(ellipse)/i,0);return q&&(q.style=C()||p()),q}function p(){return G("extent-keyword",r.extentKeywords,1)}function v(){if(G("position",/^at/,0)){var q=y();return q||e("Missing positioning value"),q}}function y(){var q=m();if(q.x||q.y)return{type:"position",value:q}}function m(){return{x:C(),y:C()}}function w(q){var j=q(),Z=[];if(j)for(Z.push(j);V(r.comma);)j=q(),j?Z.push(j):e("One extra comma");return Z}function S(){var q=_();return q||e("Expected color definition"),q.length=C(),q}function _(){return T()||P()||O()||k()}function k(){return G("literal",r.literalColor,0)}function T(){return G("hex",r.hexColor,1)}function O(){return o(r.rgbColor,function(){return{type:"rgb",value:w(N)}})}function P(){return o(r.rgbaColor,function(){return{type:"rgba",value:w(N)}})}function N(){return V(r.number)[1]}function C(){return G("%",r.percentageValue,1)||L()||F()}function L(){return G("position-keyword",r.positionKeywords,1)}function F(){return G("px",r.pixelValue,1)||G("em",r.emValue,1)}function G(q,j,Z){var nt=V(j);if(nt)return{type:q,value:nt[Z]}}function V(q){var j=/^[\n\r\t\s]+/.exec(t);j&&U(j[0].length);var Z=q.exec(t);return Z&&U(Z[0].length),Z}function U(q){t=t.substring(q)}return function(q){return t=q,n()}}();function hI(r,t,e,n){var i=se(n.value),a=0,s=0,o=a+t/2,l=s+e/2,u=Math.abs(t*Math.cos(i))+Math.abs(e*Math.sin(i)),c=r[0]+o-Math.cos(i)*u/2,h=r[1]+l-Math.sin(i)*u/2,d=r[0]+o+Math.cos(i)*u/2,f=r[1]+l+Math.sin(i)*u/2;return{x1:c,y1:h,x2:d,y2:f}}function dI(r,t,e,n,i,a){var s=n.value,o=i.value;n.unit===wt.kPercentage&&(s=n.value/100*t),i.unit===wt.kPercentage&&(o=i.value/100*e);var l=Math.max($n([0,0],[s,o]),$n([0,e],[s,o]),$n([t,e],[s,o]),$n([t,0],[s,o]));return a&&(a instanceof hn?l=a.value:a instanceof xr&&(a.value==="closest-side"?l=Math.min(s,t-s,o,e-o):a.value==="farthest-side"?l=Math.max(s,t-s,o,e-o):a.value==="closest-corner"&&(l=Math.min($n([0,0],[s,o]),$n([0,e],[s,o]),$n([t,e],[s,o]),$n([t,0],[s,o]))))),{x:s+r[0],y:o+r[1],r:l}}var fI=/^l\s*\(\s*([\d.]+)\s*\)\s*(.*)/i,gI=/^r\s*\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)\s*\)\s*(.*)/i,vI=/^p\s*\(\s*([axyn])\s*\)\s*(.*)/i,hT=/[\d.]+:(#[^\s]+|[^\)]+\))/gi;function pI(r){var t,e=r.length;if(r[e-1].length=(t=r[e-1].length)!==null&&t!==void 0?t:{type:"%",value:"100"},e>1){var n;r[0].length=(n=r[0].length)!==null&&n!==void 0?n:{type:"%",value:"0"}}for(var i=0,a=Number(r[0].length.value),s=1;s<e;s++){var o,l=(o=r[s].length)===null||o===void 0?void 0:o.value;if(!Rt(l)&&!Rt(a)){for(var u=1;u<s-i;u++)r[i+u].length={type:"%",value:"".concat(a+(Number(l)-a)*u/(s-i))};i=s,a=Number(l)}}}var yI={left:180,top:-90,bottom:90,right:0,"left top":225,"top left":225,"left bottom":135,"bottom left":135,"right top":-45,"top right":-45,"right bottom":45,"bottom right":45},mI=Je(function(r){var t;return r.type==="angular"?t=Number(r.value):t=yI[r.value]||0,_e(t,"deg")}),bI=Je(function(r){var t=50,e=50,n="%",i="%";if((r==null?void 0:r.type)==="position"){var a=r.value,s=a.x,o=a.y;(s==null?void 0:s.type)==="position-keyword"&&(s.value==="left"?t=0:s.value==="center"?t=50:s.value==="right"?t=100:s.value==="top"?e=0:s.value==="bottom"&&(e=100)),(o==null?void 0:o.type)==="position-keyword"&&(o.value==="left"?t=0:o.value==="center"?e=50:o.value==="right"?t=100:o.value==="top"?e=0:o.value==="bottom"&&(e=100)),((s==null?void 0:s.type)==="px"||(s==null?void 0:s.type)==="%"||(s==null?void 0:s.type)==="em")&&(n=s==null?void 0:s.type,t=Number(s.value)),((o==null?void 0:o.type)==="px"||(o==null?void 0:o.type)==="%"||(o==null?void 0:o.type)==="em")&&(i=o==null?void 0:o.type,e=Number(o.value))}return{cx:_e(t,n),cy:_e(e,i)}}),wI=Je(function(r){if(r.indexOf("linear")>-1||r.indexOf("radial")>-1){var t=cI(r);return t.map(function(o){var l=o.type,u=o.orientation,c=o.colorStops;pI(c);var h=c.map(function(w){return{offset:_e(Number(w.length.value),"%"),color:uI(w)}});if(l==="linear-gradient")return new xl(ji.LinearGradient,{angle:u?mI(u):Ra,steps:h});if(l==="radial-gradient"&&(u||(u=[{type:"shape",value:"circle"}]),u[0].type==="shape"&&u[0].value==="circle")){var d=bI(u[0].at),f=d.cx,g=d.cy,p;if(u[0].style){var v=u[0].style,y=v.type,m=v.value;y==="extent-keyword"?p=oI(m):p=_e(m,y)}return new xl(ji.RadialGradient,{cx:f,cy:g,size:p,steps:h})}})}var e=r[0];if(r[1]==="("||r[2]==="("){if(e==="l"){var n=fI.exec(r);if(n){var i,a=((i=n[2].match(hT))===null||i===void 0?void 0:i.map(function(o){return o.split(":")}))||[];return[new xl(ji.LinearGradient,{angle:_e(parseFloat(n[1]),"deg"),steps:a.map(function(o){var l=qt(o,2),u=l[0],c=l[1];return{offset:_e(Number(u)*100,"%"),color:c}})})]}}else if(e==="r"){var s=xI(r);if(s)if(ne(s))r=s;else return[new xl(ji.RadialGradient,s)]}else if(e==="p")return EI(r)}});function xI(r){var t=gI.exec(r);if(t){var e,n=((e=t[4].match(hT))===null||e===void 0?void 0:e.map(function(i){return i.split(":")}))||[];return{cx:_e(50,"%"),cy:_e(50,"%"),steps:n.map(function(i){var a=qt(i,2),s=a[0],o=a[1];return{offset:_e(Number(s)*100,"%"),color:o}})}}return null}function EI(r){var t=vI.exec(r);if(t){var e=t[1],n=t[2];switch(e){case"a":e="repeat";break;case"x":e="repeat-x";break;case"y":e="repeat-y";break;case"n":e="no-repeat";break;default:e="no-repeat"}return{image:n,repetition:e}}return null}function La(r){return r&&!!r.image}function Du(r){return r&&!Rt(r.r)&&!Rt(r.g)&&!Rt(r.b)}var bo=Je(function(r){if(La(r))return $t({repetition:"repeat"},r);if(Rt(r)&&(r=""),r==="transparent")return cT;if(r==="currentColor")r="black";else if(r==="none")return uT;var t=wI(r);if(t)return t;var e=uc(r),n=[0,0,0,0];return e!==null&&(n[0]=e.r||0,n[1]=e.g||0,n[2]=e.b||0,n[3]=e.opacity),lI.apply(void 0,n)});function SI(r,t){if(!(!Du(r)||!Du(t)))return[[Number(r.r),Number(r.g),Number(r.b),Number(r.alpha)],[Number(t.r),Number(t.g),Number(t.b),Number(t.alpha)],function(e){var n=e.slice();if(n[3])for(var i=0;i<3;i++)n[i]=Math.round(Ie(n[i],0,255));return n[3]=Ie(n[3],0,1),"rgba(".concat(n.join(","),")")}]}function Vo(r,t){if(Rt(t))return _e(0,"px");if(t="".concat(t).trim().toLowerCase(),isFinite(Number(t))){if("px".search(r)>=0)return _e(Number(t),"px");if("deg".search(r)>=0)return _e(Number(t),"deg")}var e=[];t=t.replace(r,function(i){return e.push(i),"U".concat(i)});var n="U(".concat(r.source,")");return e.map(function(i){return _e(Number(t.replace(new RegExp("U".concat(i),"g"),"").replace(new RegExp(n,"g"),"*0")),i)})[0]}var dT=function(t){return Vo(new RegExp("px","g"),t)},_I=Je(dT),MI=function(t){return Vo(new RegExp("%","g"),t)};Je(MI);var fT=function(t){return Et(t)||isFinite(Number(t))?_e(Number(t)||0,"px"):Vo(new RegExp("px|%|em|rem","g"),t)},qy=Je(fT),gT=function(t){return Vo(new RegExp("deg|rad|grad|turn","g"),t)},kI=Je(gT);function OI(r,t,e,n){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,a="",s=r.value||0,o=t.value||0,l=jy(r.unit),u=r.convertTo(l),c=t.convertTo(l);return u&&c?(s=u.value,o=c.value,a=zy(r.unit)):(hn.isLength(r.unit)||hn.isLength(t.unit))&&(s=tr(r,i,e),o=tr(t,i,e),a="px"),[s,o,function(h){return h+a}]}function Wn(r){var t=0;return r.unit===wt.kDegrees?t=r.value:r.unit===wt.kRadians?t=Gn(Number(r.value)):r.unit===wt.kTurns?t=T3(Number(r.value)):r.value&&(t=r.value),t}function Ib(r,t){var e;return Array.isArray(r)?e=r.map(function(n){return Number(n)}):ne(r)?e=r.split(" ").map(function(n){return Number(n)}):Et(r)&&(e=[r]),t===2?e.length===1?[e[0],e[0]]:[e[0],e[1]]:t===4?e.length===1?[e[0],e[0],e[0],e[0]]:e.length===2?[e[0],e[1],e[0],e[1]]:e.length===3?[e[0],e[1],e[2],e[1]]:[e[0],e[1],e[2],e[3]]:t==="even"&&e.length%2===1?[].concat(Zt(e),Zt(e)):e}function tr(r,t,e){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(r.unit===wt.kPixels)return Number(r.value);if(r.unit===wt.kPercentage&&e){var i=e.nodeName===rt.GROUP?e.getLocalBounds():e.getGeometryBounds();return(n?i.min[t]:0)+r.value/100*i.halfExtents[t]*2}return 0}var TI=function(t){return Vo(/deg|rad|grad|turn|px|%/g,t)},AI=["blur","brightness","drop-shadow","contrast","grayscale","sepia","saturate","hue-rotate","invert"];function PI(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";if(r=r.toLowerCase().trim(),r==="none")return[];for(var t=/\s*([\w-]+)\(([^)]*)\)/g,e=[],n,i=0;n=t.exec(r);){if(n.index!==i)return[];if(i=n.index+n[0].length,AI.indexOf(n[1])>-1&&e.push({name:n[1],params:n[2].split(" ").map(function(a){return TI(a)||bo(a)})}),t.lastIndex===r.length)return e}return[]}function vT(r){return r.toString()}var pT=function(t){return typeof t=="number"?_e(t):/^\s*[-+]?(\d*\.)?\d+\s*$/.test(t)?_e(Number(t)):_e(0)},$y=Je(pT);Je(function(r){return ne(r)?r.split(" ").map($y):r.map($y)});function jm(r,t){return[r,t,vT]}function qm(r,t){return function(e,n){return[e,n,function(i){return vT(Ie(i,r,t))}]}}function yT(r,t){if(r.length===t.length)return[r,t,function(e){return e}]}function Gy(r){return r.parsedStyle.d.totalLength===0&&(r.parsedStyle.d.totalLength=XL(r.parsedStyle.d.absolutePath)),r.parsedStyle.d.totalLength}function NI(r){return r.parsedStyle.points.totalLength===0&&(r.parsedStyle.points.totalLength=f3(r.parsedStyle.points.points)),r.parsedStyle.points.totalLength}function CI(r){for(var t=0;t<r.length;t++){var e=r[t-1],n=r[t],i=n[0];if(i==="M"&&e){var a=e[0],s=[n[1],n[2]],o=void 0;a==="L"||a==="M"?o=[e[1],e[2]]:(a==="C"||a==="A"||a==="Q")&&(o=[e[e.length-2],e[e.length-1]]),o&&Fu(s,o)&&(r.splice(t,1),t--)}}}function RI(r){for(var t=!1,e=r.length,n=0;n<e;n++){var i=r[n],a=i[0];if(a==="C"||a==="A"||a==="Q"){t=!0;break}}return t}function LI(r){for(var t=[],e=[],n=[],i=0;i<r.length;i++){var a=r[i],s=a[0];s==="M"?(n.length&&(e.push(n),n=[]),n.push([a[1],a[2]])):s==="Z"?n.length&&(t.push(n),n=[]):n.push([a[1],a[2]])}return n.length>0&&e.push(n),{polygons:t,polylines:e}}function Fu(r,t){return r[0]===t[0]&&r[1]===t[1]}function II(r,t){for(var e=[],n=[],i=[],a=0;a<r.length;a++){var s=r[a],o=s.currentPoint,l=s.params,u=s.prePoint,c=void 0;switch(s.command){case"Q":c=g3(u[0],u[1],l[1],l[2],l[3],l[4]);break;case"C":c=c3(u[0],u[1],l[1],l[2],l[3],l[4],l[5],l[6]);break;case"A":var h=s.arcParams;c=o3(h.cx,h.cy,h.rx,h.ry,h.xRotation,h.startAngle,h.endAngle);break;default:e.push(o[0]),n.push(o[1]);break}c&&(s.box=c,e.push(c.x,c.x+c.width),n.push(c.y,c.y+c.height))}e=e.filter(function(S){return!Number.isNaN(S)&&S!==1/0&&S!==-1/0}),n=n.filter(function(S){return!Number.isNaN(S)&&S!==1/0&&S!==-1/0});var d=Au(e),f=Au(n),g=Tu(e),p=Tu(n);if(i.length===0)return{x:d,y:f,width:g-d,height:p-f};for(var v=0;v<i.length;v++){var y=i[v],m=y.currentPoint,w=void 0;m[0]===d?(w=El(y,t),d-=w.xExtra):m[0]===g&&(w=El(y,t),g+=w.xExtra),m[1]===f?(w=El(y,t),f-=w.yExtra):m[1]===p&&(w=El(y,t),p+=w.yExtra)}return{x:d,y:f,width:g-d,height:p-f}}function El(r,t){var e=r.prePoint,n=r.currentPoint,i=r.nextPoint,a=Math.pow(n[0]-e[0],2)+Math.pow(n[1]-e[1],2),s=Math.pow(n[0]-i[0],2)+Math.pow(n[1]-i[1],2),o=Math.pow(e[0]-i[0],2)+Math.pow(e[1]-i[1],2),l=Math.acos((a+s-o)/(2*Math.sqrt(a)*Math.sqrt(s)));if(!l||Math.sin(l)===0||yo(l,0))return{xExtra:0,yExtra:0};var u=Math.abs(Math.atan2(i[1]-n[1],i[0]-n[0])),c=Math.abs(Math.atan2(i[0]-n[0],i[1]-n[1]));u=u>Math.PI/2?Math.PI-u:u,c=c>Math.PI/2?Math.PI-c:c;var h={xExtra:Math.cos(l/2-u)*(t/2*(1/Math.sin(l/2)))-t/2||0,yExtra:Math.cos(c-l/2)*(t/2*(1/Math.sin(l/2)))-t/2||0};return h}function Db(r,t){return[t[0]+(t[0]-r[0]),t[1]+(t[1]-r[1])]}var Fb=function(t,e){var n=t.x*e.x+t.y*e.y,i=Math.sqrt((Math.pow(t.x,2)+Math.pow(t.y,2))*(Math.pow(e.x,2)+Math.pow(e.y,2))),a=t.x*e.y-t.y*e.x<0?-1:1,s=a*Math.acos(n/i);return s},Bb=function(t,e,n,i,a,s,o,l){e=Math.abs(e),n=Math.abs(n),i=$O(i,360);var u=se(i);if(t.x===o.x&&t.y===o.y)return{x:t.x,y:t.y,ellipticalArcAngle:0};if(e===0||n===0)return{x:0,y:0,ellipticalArcAngle:0};var c=(t.x-o.x)/2,h=(t.y-o.y)/2,d={x:Math.cos(u)*c+Math.sin(u)*h,y:-Math.sin(u)*c+Math.cos(u)*h},f=Math.pow(d.x,2)/Math.pow(e,2)+Math.pow(d.y,2)/Math.pow(n,2);f>1&&(e*=Math.sqrt(f),n*=Math.sqrt(f));var g=Math.pow(e,2)*Math.pow(n,2)-Math.pow(e,2)*Math.pow(d.y,2)-Math.pow(n,2)*Math.pow(d.x,2),p=Math.pow(e,2)*Math.pow(d.y,2)+Math.pow(n,2)*Math.pow(d.x,2),v=g/p;v=v<0?0:v;var y=(a!==s?1:-1)*Math.sqrt(v),m={x:y*(e*d.y/n),y:y*(-(n*d.x)/e)},w={x:Math.cos(u)*m.x-Math.sin(u)*m.y+(t.x+o.x)/2,y:Math.sin(u)*m.x+Math.cos(u)*m.y+(t.y+o.y)/2},S={x:(d.x-m.x)/e,y:(d.y-m.y)/n},_=Fb({x:1,y:0},S),k={x:(-d.x-m.x)/e,y:(-d.y-m.y)/n},T=Fb(S,k);!s&&T>0?T-=2*Math.PI:s&&T<0&&(T+=2*Math.PI),T%=2*Math.PI;var O=_+T*l,P=e*Math.cos(O),N=n*Math.sin(O),C={x:Math.cos(u)*P-Math.sin(u)*N+w.x,y:Math.sin(u)*P+Math.cos(u)*N+w.y,ellipticalArcStartAngle:_,ellipticalArcEndAngle:_+T,ellipticalArcAngle:O,ellipticalArcCenter:w,resultantRx:e,resultantRy:n};return C};function DI(r){for(var t=[],e=null,n=null,i=null,a=0,s=r.length,o=0;o<s;o++){var l=r[o];n=r[o+1];var u=l[0],c={command:u,prePoint:e,params:l,startTangent:null,endTangent:null,currentPoint:null,nextPoint:null,arcParams:null,box:null,cubicParams:null};switch(u){case"M":i=[l[1],l[2]],a=o;break;case"A":var h=FI(e,l);c.arcParams=h;break}if(u==="Z")e=i,n=r[a+1];else{var d=l.length;e=[l[d-2],l[d-1]]}n&&n[0]==="Z"&&(n=r[a],t[a]&&(t[a].prePoint=e)),c.currentPoint=e,t[a]&&Fu(e,t[a].currentPoint)&&(t[a].prePoint=c.prePoint);var f=n?[n[n.length-2],n[n.length-1]]:null;c.nextPoint=f;var g=c.prePoint;if(["L","H","V"].includes(u))c.startTangent=[g[0]-e[0],g[1]-e[1]],c.endTangent=[e[0]-g[0],e[1]-g[1]];else if(u==="Q"){var p=[l[1],l[2]];c.startTangent=[g[0]-p[0],g[1]-p[1]],c.endTangent=[e[0]-p[0],e[1]-p[1]]}else if(u==="T"){var v=t[o-1],y=Db(v.currentPoint,g);v.command==="Q"?(c.command="Q",c.startTangent=[g[0]-y[0],g[1]-y[1]],c.endTangent=[e[0]-y[0],e[1]-y[1]]):(c.command="TL",c.startTangent=[g[0]-e[0],g[1]-e[1]],c.endTangent=[e[0]-g[0],e[1]-g[1]])}else if(u==="C"){var m=[l[1],l[2]],w=[l[3],l[4]];c.startTangent=[g[0]-m[0],g[1]-m[1]],c.endTangent=[e[0]-w[0],e[1]-w[1]],c.startTangent[0]===0&&c.startTangent[1]===0&&(c.startTangent=[m[0]-w[0],m[1]-w[1]]),c.endTangent[0]===0&&c.endTangent[1]===0&&(c.endTangent=[w[0]-m[0],w[1]-m[1]])}else if(u==="S"){var S=t[o-1],_=Db(S.currentPoint,g),k=[l[1],l[2]];S.command==="C"?(c.command="C",c.startTangent=[g[0]-_[0],g[1]-_[1]],c.endTangent=[e[0]-k[0],e[1]-k[1]]):(c.command="SQ",c.startTangent=[g[0]-k[0],g[1]-k[1]],c.endTangent=[e[0]-k[0],e[1]-k[1]])}else if(u==="A"){var T=zb(c,0),O=T.x,P=T.y,N=zb(c,1,!1),C=N.x,L=N.y;c.startTangent=[O,P],c.endTangent=[C,L]}t.push(c)}return t}function zb(r,t){var e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,n=r.arcParams,i=n.rx,a=i===void 0?0:i,s=n.ry,o=s===void 0?0:s,l=n.xRotation,u=n.arcFlag,c=n.sweepFlag,h=Bb({x:r.prePoint[0],y:r.prePoint[1]},a,o,l,!!u,!!c,{x:r.currentPoint[0],y:r.currentPoint[1]},t),d=Bb({x:r.prePoint[0],y:r.prePoint[1]},a,o,l,!!u,!!c,{x:r.currentPoint[0],y:r.currentPoint[1]},e?t+.005:t-.005),f=d.x-h.x,g=d.y-h.y,p=Math.sqrt(f*f+g*g);return{x:-f/p,y:-g/p}}function Sl(r){return Math.sqrt(r[0]*r[0]+r[1]*r[1])}function Wy(r,t){return Sl(r)*Sl(t)?(r[0]*t[0]+r[1]*t[1])/(Sl(r)*Sl(t)):1}function jb(r,t){return(r[0]*t[1]<r[1]*t[0]?-1:1)*Math.acos(Wy(r,t))}function FI(r,t){var e=t[1],n=t[2],i=$O(se(t[3]),Math.PI*2),a=t[4],s=t[5],o=r[0],l=r[1],u=t[6],c=t[7],h=Math.cos(i)*(o-u)/2+Math.sin(i)*(l-c)/2,d=-1*Math.sin(i)*(o-u)/2+Math.cos(i)*(l-c)/2,f=h*h/(e*e)+d*d/(n*n);f>1&&(e*=Math.sqrt(f),n*=Math.sqrt(f));var g=e*e*(d*d)+n*n*(h*h),p=g?Math.sqrt((e*e*(n*n)-g)/g):1;a===s&&(p*=-1),isNaN(p)&&(p=0);var v=n?p*e*d/n:0,y=e?p*-n*h/e:0,m=(o+u)/2+Math.cos(i)*v-Math.sin(i)*y,w=(l+c)/2+Math.sin(i)*v+Math.cos(i)*y,S=[(h-v)/e,(d-y)/n],_=[(-1*h-v)/e,(-1*d-y)/n],k=jb([1,0],S),T=jb(S,_);return Wy(S,_)<=-1&&(T=Math.PI),Wy(S,_)>=1&&(T=0),s===0&&T>0&&(T-=2*Math.PI),s===1&&T<0&&(T+=2*Math.PI),{cx:m,cy:w,rx:Fu(r,[u,c])?0:e,ry:Fu(r,[u,c])?0:n,startAngle:k,endAngle:k+T,xRotation:i,arcFlag:a,sweepFlag:s}}var mT=function(t){if(t===""||Array.isArray(t)&&t.length===0)return{absolutePath:[],hasArc:!1,segments:[],polygons:[],polylines:[],curve:null,totalLength:0,rect:{x:0,y:0,width:0,height:0}};var e;try{e=Nu(t)}catch{e=Nu(""),console.error("[g]: Invalid SVG Path definition: ".concat(t))}CI(e);var n=RI(e),i=LI(e),a=i.polygons,s=i.polylines,o=DI(e),l=II(o,0),u=l.x,c=l.y,h=l.width,d=l.height;return{absolutePath:e,hasArc:n,segments:o,polygons:a,polylines:s,totalLength:0,rect:{x:Number.isFinite(u)?u:0,y:Number.isFinite(c)?c:0,width:Number.isFinite(h)?h:0,height:Number.isFinite(d)?d:0}}},BI=Je(mT);function bT(r){return ne(r)?BI(r):mT(r)}function zI(r,t,e){var n=r.curve,i=t.curve;(!n||n.length===0)&&(n=Cy(r.absolutePath,!1),r.curve=n),(!i||i.length===0)&&(i=Cy(t.absolutePath,!1),t.curve=i);var a=[n,i];n.length!==i.length&&(a=JO(n,i));var s=gb(a[0])!==gb(a[1])?GL(a[0]):$L(a[0]);return[s,ZL(a[1],s),function(o){return o}]}function jI(r,t){var e;return ne(r)?e=r.split(" ").map(function(n){var i=n.split(","),a=qt(i,2),s=a[0],o=a[1];return[Number(s),Number(o)]}):e=r,{points:e,totalLength:0,segments:[]}}function qI(r,t){return[r.points,t.points,function(e){return e}]}var Le=null,bs=/\s*(\w+)\(([^)]*)\)/g;function zn(r){return function(t){var e=0;return r.map(function(n){return n===Le?t[e++]:n})}}function ha(r){return r}var Ao={matrix:["NNNNNN",[Le,Le,0,0,Le,Le,0,0,0,0,1,0,Le,Le,0,1],ha],matrix3d:["NNNNNNNNNNNNNNNN",ha],rotate:["A"],rotateX:["A"],rotateY:["A"],rotateZ:["A"],rotate3d:["NNNA"],perspective:["L"],scale:["Nn",zn([Le,Le,new hn(1)]),ha],scaleX:["N",zn([Le,new hn(1),new hn(1)]),zn([Le,new hn(1)])],scaleY:["N",zn([new hn(1),Le,new hn(1)]),zn([new hn(1),Le])],scaleZ:["N",zn([new hn(1),new hn(1),Le])],scale3d:["NNN",ha],skew:["Aa",null,ha],skewX:["A",null,zn([Le,Ra])],skewY:["A",null,zn([Ra,Le])],translate:["Tt",zn([Le,Le,kr]),ha],translateX:["T",zn([Le,kr,kr]),zn([Le,kr])],translateY:["T",zn([kr,Le,kr]),zn([kr,Le])],translateZ:["L",zn([kr,kr,Le])],translate3d:["TTL",ha]};function wT(r){for(var t=[],e=r.length,n=0;n<e;n++){var i=r[n],a=i[0],s=i.slice(1);a==="translate"||a==="skew"?s.length===1&&s.push(0):a==="scale"&&s.length===1&&s.push(s[0]);var o=Ao[a];if(!o)return[];var l=s.map(function(u){return _e(u)});t.push({t:a,d:l})}return t}function xT(r){if(Array.isArray(r))return wT(r);if(r=(r||"none").trim(),r==="none")return[];var t=[],e,n=0;for(bs.lastIndex=0;e=bs.exec(r);){if(e.index!==n)return[];n=e.index+e[0].length;var i=e[1],a=Ao[i];if(!a)return[];var s=e[2].split(","),o=a[0];if(o.length<s.length)return[];for(var l=[],u=0;u<o.length;u++){var c=s[u],h=o[u],d=void 0;if(c?d={A:function(g){return g.trim()==="0"?Ra:kI(g)},N:$y,T:qy,L:_I}[h.toUpperCase()](c):d={a:Ra,n:l[0],t:kr}[h],d===void 0)return[];l.push(d)}if(t.push({t:i,d:l}),bs.lastIndex===r.length)return t}return[]}function $I(r){if(Array.isArray(r))return wT(r);if(r=(r||"none").trim(),r==="none")return[];var t=[],e,n=0;for(bs.lastIndex=0;e=bs.exec(r);){if(e.index!==n)return[];n=e.index+e[0].length;var i=e[1],a=Ao[i];if(!a)return[];var s=e[2].split(","),o=a[0];if(o.length<s.length)return[];for(var l=[],u=0;u<o.length;u++){var c=s[u],h=o[u],d=void 0;if(c?d={A:function(g){return g.trim()==="0"?Ra:gT(g)},N:pT,T:fT,L:dT}[h.toUpperCase()](c):d={a:Ra,n:l[0],t:kr}[h],d===void 0)return[];l.push(d)}if(t.push({t:i,d:l}),bs.lastIndex===r.length)return t}return[]}function GI(r){var t,e,n,i;switch(r.t){case"rotateX":return i=se(Wn(r.d[0])),[1,0,0,0,0,Math.cos(i),Math.sin(i),0,0,-Math.sin(i),Math.cos(i),0,0,0,0,1];case"rotateY":return i=se(Wn(r.d[0])),[Math.cos(i),0,-Math.sin(i),0,0,1,0,0,Math.sin(i),0,Math.cos(i),0,0,0,0,1];case"rotate":case"rotateZ":return i=se(Wn(r.d[0])),[Math.cos(i),Math.sin(i),0,0,-Math.sin(i),Math.cos(i),0,0,0,0,1,0,0,0,0,1];case"rotate3d":t=r.d[0].value,e=r.d[1].value,n=r.d[2].value,i=se(Wn(r.d[3]));var a=t*t+e*e+n*n;if(a===0)t=1,e=0,n=0;else if(a!==1){var s=Math.sqrt(a);t/=s,e/=s,n/=s}var o=Math.sin(i/2),l=o*Math.cos(i/2),u=o*o;return[1-2*(e*e+n*n)*u,2*(t*e*u+n*l),2*(t*n*u-e*l),0,2*(t*e*u-n*l),1-2*(t*t+n*n)*u,2*(e*n*u+t*l),0,2*(t*n*u+e*l),2*(e*n*u-t*l),1-2*(t*t+e*e)*u,0,0,0,0,1];case"scale":return[r.d[0].value,0,0,0,0,r.d[1].value,0,0,0,0,1,0,0,0,0,1];case"scaleX":return[r.d[0].value,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];case"scaleY":return[1,0,0,0,0,r.d[0].value,0,0,0,0,1,0,0,0,0,1];case"scaleZ":return[1,0,0,0,0,1,0,0,0,0,r.d[0].value,0,0,0,0,1];case"scale3d":return[r.d[0].value,0,0,0,0,r.d[1].value,0,0,0,0,r.d[2].value,0,0,0,0,1];case"skew":var c=se(Wn(r.d[0])),h=se(Wn(r.d[1]));return[1,Math.tan(h),0,0,Math.tan(c),1,0,0,0,0,1,0,0,0,0,1];case"skewX":return i=se(Wn(r.d[0])),[1,0,0,0,Math.tan(i),1,0,0,0,0,1,0,0,0,0,1];case"skewY":return i=se(Wn(r.d[0])),[1,Math.tan(i),0,0,0,1,0,0,0,0,1,0,0,0,0,1];case"translate":return t=tr(r.d[0],0,null)||0,e=tr(r.d[1],0,null)||0,[1,0,0,0,0,1,0,0,0,0,1,0,t,e,0,1];case"translateX":return t=tr(r.d[0],0,null)||0,[1,0,0,0,0,1,0,0,0,0,1,0,t,0,0,1];case"translateY":return e=tr(r.d[0],0,null)||0,[1,0,0,0,0,1,0,0,0,0,1,0,0,e,0,1];case"translateZ":return n=tr(r.d[0],0,null)||0,[1,0,0,0,0,1,0,0,0,0,1,0,0,0,n,1];case"translate3d":return t=tr(r.d[0],0,null)||0,e=tr(r.d[1],0,null)||0,n=tr(r.d[2],0,null)||0,[1,0,0,0,0,1,0,0,0,0,1,0,t,e,n,1];case"perspective":var d=tr(r.d[0],0,null)||0,f=d?-1/d:0;return[1,0,0,0,0,1,0,0,0,0,1,f,0,0,0,1];case"matrix":return[r.d[0].value,r.d[1].value,0,0,r.d[2].value,r.d[3].value,0,0,0,0,1,0,r.d[4].value,r.d[5].value,0,1];case"matrix3d":return r.d.map(function(g){return g.value})}}function WI(r,t){return[r[0]*t[0]+r[4]*t[1]+r[8]*t[2]+r[12]*t[3],r[1]*t[0]+r[5]*t[1]+r[9]*t[2]+r[13]*t[3],r[2]*t[0]+r[6]*t[1]+r[10]*t[2]+r[14]*t[3],r[3]*t[0]+r[7]*t[1]+r[11]*t[2]+r[15]*t[3],r[0]*t[4]+r[4]*t[5]+r[8]*t[6]+r[12]*t[7],r[1]*t[4]+r[5]*t[5]+r[9]*t[6]+r[13]*t[7],r[2]*t[4]+r[6]*t[5]+r[10]*t[6]+r[14]*t[7],r[3]*t[4]+r[7]*t[5]+r[11]*t[6]+r[15]*t[7],r[0]*t[8]+r[4]*t[9]+r[8]*t[10]+r[12]*t[11],r[1]*t[8]+r[5]*t[9]+r[9]*t[10]+r[13]*t[11],r[2]*t[8]+r[6]*t[9]+r[10]*t[10]+r[14]*t[11],r[3]*t[8]+r[7]*t[9]+r[11]*t[10]+r[15]*t[11],r[0]*t[12]+r[4]*t[13]+r[8]*t[14]+r[12]*t[15],r[1]*t[12]+r[5]*t[13]+r[9]*t[14]+r[13]*t[15],r[2]*t[12]+r[6]*t[13]+r[10]*t[14]+r[14]*t[15],r[3]*t[12]+r[7]*t[13]+r[11]*t[14]+r[15]*t[15]]}function VI(r){return r.length===0?[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]:r.map(GI).reduce(WI)}function qb(r){var t=[0,0,0],e=[1,1,1],n=[0,0,0],i=[0,0,0,1],a=[0,0,0,1];return R3(VI(r),t,e,n,i,a),[[t,e,n,a,i]]}var UI=function(){function r(n,i){for(var a=[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],s=0;s<4;s++)for(var o=0;o<4;o++)for(var l=0;l<4;l++)a[s][o]+=i[s][l]*n[l][o];return a}function t(n){return n[0][2]===0&&n[0][3]===0&&n[1][2]===0&&n[1][3]===0&&n[2][0]===0&&n[2][1]===0&&n[2][2]===1&&n[2][3]===0&&n[3][2]===0&&n[3][3]===1}function e(n,i,a,s,o){for(var l=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]],u=0;u<4;u++)l[u][3]=o[u];for(var c=0;c<3;c++)for(var h=0;h<3;h++)l[3][c]+=n[h]*l[h][c];var d=s[0],f=s[1],g=s[2],p=s[3],v=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]];v[0][0]=1-2*(f*f+g*g),v[0][1]=2*(d*f-g*p),v[0][2]=2*(d*g+f*p),v[1][0]=2*(d*f+g*p),v[1][1]=1-2*(d*d+g*g),v[1][2]=2*(f*g-d*p),v[2][0]=2*(d*g-f*p),v[2][1]=2*(f*g+d*p),v[2][2]=1-2*(d*d+f*f),l=r(l,v);var y=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]];a[2]&&(y[2][1]=a[2],l=r(l,y)),a[1]&&(y[2][1]=0,y[2][0]=a[0],l=r(l,y)),a[0]&&(y[2][0]=0,y[1][0]=a[0],l=r(l,y));for(var m=0;m<3;m++)for(var w=0;w<3;w++)l[m][w]*=i[m];return t(l)?[l[0][0],l[0][1],l[1][0],l[1][1],l[3][0],l[3][1]]:l[0].concat(l[1],l[2],l[3])}return e}();function YI(r){return r.toFixed(6).replace(".000000","")}function Qh(r,t){var e,n;return r.decompositionPair!==t&&(r.decompositionPair=t,e=qb(r)),t.decompositionPair!==r&&(t.decompositionPair=r,n=qb(t)),e[0]===null||n[0]===null?[[!1],[!0],function(i){return i?t[0].d:r[0].d}]:(e[0].push(0),n[0].push(1),[e,n,function(i){var a=XI(e[0][3],n[0][3],i[5]),s=UI(i[0],i[1],i[2],a,i[4]),o=s.map(YI).join(",");return o}])}function HI(r,t){for(var e=0,n=0;n<r.length;n++)e+=r[n]*t[n];return e}function XI(r,t,e){var n=HI(r,t);n=Ie(n,-1,1);var i=[];if(n===1)i=r;else for(var a=Math.acos(n),s=Math.sin(e*a)*1/Math.sqrt(1-n*n),o=0;o<4;o++)i.push(r[o]*(Math.cos(e*a)-n*s)+t[o]*s);return i}function td(r){return r.replace(/[XY]/,"")}function ed(r){return r.replace(/(X|Y|Z|3d)?$/,"3d")}var KI=function(t,e){return t==="perspective"&&e==="perspective"||(t==="matrix"||t==="matrix3d")&&(e==="matrix"||e==="matrix3d")};function ZI(r,t,e){var n=!1;if(!r.length||!t.length){r.length||(n=!0,r=t,t=[]);for(var i=function(){var C=r[a],L=C.t,F=C.d,G=L.substring(0,5)==="scale"?1:0;t.push({t:L,d:F.map(function(V){return typeof V=="number"?_e(G):_e(G,V.unit)})})},a=0;a<r.length;a++)i()}var s=[],o=[],l=[];if(r.length!==t.length){var u=Qh(r,t);s=[u[0]],o=[u[1]],l=[["matrix",[u[2]]]]}else for(var c=0;c<r.length;c++){var h=r[c].t,d=t[c].t,f=r[c].d,g=t[c].d,p=Ao[h],v=Ao[d],y=void 0;if(KI(h,d)){var m=Qh([r[c]],[t[c]]);s.push(m[0]),o.push(m[1]),l.push(["matrix",[m[2]]]);continue}else if(h===d)y=h;else if(p[2]&&v[2]&&td(h)===td(d))y=td(h),f=p[2](f),g=v[2](g);else if(p[1]&&v[1]&&ed(h)===ed(d))y=ed(h),f=p[1](f),g=v[1](g);else{var w=Qh(r,t);s=[w[0]],o=[w[1]],l=[["matrix",[w[2]]]];break}for(var S=[],_=[],k=[],T=0;T<f.length;T++){var O=OI(f[T],g[T],e,!1,T);S[T]=O[0],_[T]=O[1],k.push(O[2])}s.push(S),o.push(_),l.push([y,k])}if(n){var P=s;s=o,o=P}return[s,o,function(N){return N.map(function(C,L){var F=C.map(function(G,V){return l[L][1][V](G)}).join(",");return l[L][0]==="matrix"&&F.split(",").length===16&&(l[L][0]="matrix3d"),l[L][0]==="matrix3d"&&F.split(",").length===6&&(l[L][0]="matrix"),"".concat(l[L][0],"(").concat(F,")")}).join(" ")}]}var JI=Je(function(r){if(ne(r)){if(r==="text-anchor")return[_e(0,"px"),_e(0,"px")];var t=r.split(" ");return t.length===1&&(t[0]==="top"||t[0]==="bottom"?(t[1]=t[0],t[0]="center"):t[1]="center"),t.length!==2?null:[qy($b(t[0])),qy($b(t[1]))]}return[_e(r[0]||0,"px"),_e(r[1]||0,"px")]});function $b(r){return r==="center"?"50%":r==="left"||r==="top"?"0%":r==="right"||r==="bottom"?"100%":r}var $m=[{n:"display",k:["none"]},{n:"opacity",int:!0,inh:!0,d:"1",syntax:bt.OPACITY_VALUE},{n:"fillOpacity",int:!0,inh:!0,d:"1",syntax:bt.OPACITY_VALUE},{n:"strokeOpacity",int:!0,inh:!0,d:"1",syntax:bt.OPACITY_VALUE},{n:"fill",int:!0,k:["none"],d:"none",syntax:bt.PAINT},{n:"fillRule",k:["nonzero","evenodd"],d:"nonzero"},{n:"stroke",int:!0,k:["none"],d:"none",syntax:bt.PAINT,l:!0},{n:"shadowType",k:["inner","outer","both"],d:"outer",l:!0},{n:"shadowColor",int:!0,syntax:bt.COLOR},{n:"shadowOffsetX",int:!0,l:!0,d:"0",syntax:bt.LENGTH_PERCENTAGE},{n:"shadowOffsetY",int:!0,l:!0,d:"0",syntax:bt.LENGTH_PERCENTAGE},{n:"shadowBlur",int:!0,l:!0,d:"0",syntax:bt.SHADOW_BLUR},{n:"lineWidth",int:!0,inh:!0,d:"1",l:!0,a:["strokeWidth"],syntax:bt.LENGTH_PERCENTAGE},{n:"increasedLineWidthForHitTesting",inh:!0,d:"0",l:!0,syntax:bt.LENGTH_PERCENTAGE},{n:"lineJoin",inh:!0,l:!0,a:["strokeLinejoin"],k:["miter","bevel","round"],d:"miter"},{n:"lineCap",inh:!0,l:!0,a:["strokeLinecap"],k:["butt","round","square"],d:"butt"},{n:"lineDash",int:!0,inh:!0,k:["none"],a:["strokeDasharray"],syntax:bt.LENGTH_PERCENTAGE_12},{n:"lineDashOffset",int:!0,inh:!0,d:"0",a:["strokeDashoffset"],syntax:bt.LENGTH_PERCENTAGE},{n:"offsetPath",syntax:bt.DEFINED_PATH},{n:"offsetDistance",int:!0,syntax:bt.OFFSET_DISTANCE},{n:"dx",int:!0,l:!0,d:"0",syntax:bt.LENGTH_PERCENTAGE},{n:"dy",int:!0,l:!0,d:"0",syntax:bt.LENGTH_PERCENTAGE},{n:"zIndex",ind:!0,int:!0,d:"0",k:["auto"],syntax:bt.Z_INDEX},{n:"visibility",k:["visible","hidden"],ind:!0,inh:!0,int:!0,d:"visible"},{n:"pointerEvents",inh:!0,k:["none","auto","stroke","fill","painted","visible","visiblestroke","visiblefill","visiblepainted","all"],d:"auto"},{n:"filter",ind:!0,l:!0,k:["none"],d:"none",syntax:bt.FILTER},{n:"clipPath",syntax:bt.DEFINED_PATH},{n:"textPath",syntax:bt.DEFINED_PATH},{n:"textPathSide",k:["left","right"],d:"left"},{n:"textPathStartOffset",l:!0,d:"0",syntax:bt.LENGTH_PERCENTAGE},{n:"transform",p:100,int:!0,k:["none"],d:"none",syntax:bt.TRANSFORM},{n:"transformOrigin",p:100,d:"0 0",l:!0,syntax:bt.TRANSFORM_ORIGIN},{n:"cx",int:!0,l:!0,d:"0",syntax:bt.COORDINATE},{n:"cy",int:!0,l:!0,d:"0",syntax:bt.COORDINATE},{n:"cz",int:!0,l:!0,d:"0",syntax:bt.COORDINATE},{n:"r",int:!0,l:!0,d:"0",syntax:bt.LENGTH_PERCENTAGE},{n:"rx",int:!0,l:!0,d:"0",syntax:bt.LENGTH_PERCENTAGE},{n:"ry",int:!0,l:!0,d:"0",syntax:bt.LENGTH_PERCENTAGE},{n:"x",int:!0,l:!0,d:"0",syntax:bt.COORDINATE},{n:"y",int:!0,l:!0,d:"0",syntax:bt.COORDINATE},{n:"z",int:!0,l:!0,d:"0",syntax:bt.COORDINATE},{n:"width",int:!0,l:!0,k:["auto","fit-content","min-content","max-content"],d:"0",syntax:bt.LENGTH_PERCENTAGE},{n:"height",int:!0,l:!0,k:["auto","fit-content","min-content","max-content"],d:"0",syntax:bt.LENGTH_PERCENTAGE},{n:"radius",int:!0,l:!0,d:"0",syntax:bt.LENGTH_PERCENTAGE_14},{n:"x1",int:!0,l:!0,syntax:bt.COORDINATE},{n:"y1",int:!0,l:!0,syntax:bt.COORDINATE},{n:"z1",int:!0,l:!0,syntax:bt.COORDINATE},{n:"x2",int:!0,l:!0,syntax:bt.COORDINATE},{n:"y2",int:!0,l:!0,syntax:bt.COORDINATE},{n:"z2",int:!0,l:!0,syntax:bt.COORDINATE},{n:"d",int:!0,l:!0,d:"",syntax:bt.PATH,p:50},{n:"points",int:!0,l:!0,syntax:bt.LIST_OF_POINTS,p:50},{n:"text",l:!0,d:"",syntax:bt.TEXT,p:50},{n:"textTransform",l:!0,inh:!0,k:["capitalize","uppercase","lowercase","none"],d:"none",syntax:bt.TEXT_TRANSFORM,p:51},{n:"font",l:!0},{n:"fontSize",int:!0,inh:!0,d:"16px",l:!0,syntax:bt.LENGTH_PERCENTAGE},{n:"fontFamily",l:!0,inh:!0,d:"sans-serif"},{n:"fontStyle",l:!0,inh:!0,k:["normal","italic","oblique"],d:"normal"},{n:"fontWeight",l:!0,inh:!0,k:["normal","bold","bolder","lighter"],d:"normal"},{n:"fontVariant",l:!0,inh:!0,k:["normal","small-caps"],d:"normal"},{n:"lineHeight",l:!0,syntax:bt.LENGTH,int:!0,d:"0"},{n:"letterSpacing",l:!0,syntax:bt.LENGTH,int:!0,d:"0"},{n:"miterLimit",l:!0,syntax:bt.NUMBER,d:function(t){return t===rt.PATH||t===rt.POLYGON||t===rt.POLYLINE?"4":"10"}},{n:"wordWrap",l:!0},{n:"wordWrapWidth",l:!0},{n:"maxLines",l:!0},{n:"textOverflow",l:!0,d:"clip"},{n:"leading",l:!0},{n:"textBaseline",l:!0,inh:!0,k:["top","hanging","middle","alphabetic","ideographic","bottom"],d:"alphabetic"},{n:"textAlign",l:!0,inh:!0,k:["start","center","middle","end","left","right"],d:"start"},{n:"markerStart",syntax:bt.MARKER},{n:"markerEnd",syntax:bt.MARKER},{n:"markerMid",syntax:bt.MARKER},{n:"markerStartOffset",syntax:bt.LENGTH,l:!0,int:!0,d:"0"},{n:"markerEndOffset",syntax:bt.LENGTH,l:!0,int:!0,d:"0"}],QI=new Set($m.filter(function(r){return!!r.l}).map(function(r){return r.n})),ET={},tD=function(){function r(t){var e=this;ht(this,r),this.runtime=t,$m.forEach(function(n){e.registerMetadata(n)})}return dt(r,[{key:"registerMetadata",value:function(e){[e.n].concat(Zt(e.a||[])).forEach(function(n){ET[n]=e})}},{key:"getPropertySyntax",value:function(e){return this.runtime.CSSPropertySyntaxFactory[e]}},{key:"processProperties",value:function(e,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{forceUpdateGeometry:!1};Object.assign(e.attributes,n);var a=e.parsedStyle.clipPath,s=e.parsedStyle.offsetPath;eD(e,n);var o=!!i.forceUpdateGeometry;if(!o){for(var l in n)if(QI.has(l)){o=!0;break}}var u=ST(e);u.has("fill")&&n.fill&&(e.parsedStyle.fill=bo(n.fill)),u.has("stroke")&&n.stroke&&(e.parsedStyle.stroke=bo(n.stroke)),u.has("shadowColor")&&n.shadowColor&&(e.parsedStyle.shadowColor=bo(n.shadowColor)),u.has("filter")&&n.filter&&(e.parsedStyle.filter=PI(n.filter)),u.has("radius")&&!Rt(n.radius)&&(e.parsedStyle.radius=Ib(n.radius,4)),u.has("lineDash")&&!Rt(n.lineDash)&&(e.parsedStyle.lineDash=Ib(n.lineDash,"even")),u.has("points")&&n.points&&(e.parsedStyle.points=jI(n.points)),u.has("d")&&n.d===""&&(e.parsedStyle.d=$t({},sT)),u.has("d")&&n.d&&(e.parsedStyle.d=bT(n.d)),u.has("textTransform")&&n.textTransform&&this.runtime.CSSPropertySyntaxFactory[bt.TEXT_TRANSFORM].calculator(null,null,{value:n.textTransform},e,null),u.has("clipPath")&&!Ft(n.clipPath)&&this.runtime.CSSPropertySyntaxFactory[bt.DEFINED_PATH].calculator("clipPath",a,n.clipPath,e,this.runtime),u.has("offsetPath")&&n.offsetPath&&this.runtime.CSSPropertySyntaxFactory[bt.DEFINED_PATH].calculator("offsetPath",s,n.offsetPath,e,this.runtime),u.has("transform")&&n.transform&&(e.parsedStyle.transform=xT(n.transform)),u.has("transformOrigin")&&n.transformOrigin&&(e.parsedStyle.transformOrigin=JI(n.transformOrigin)),u.has("markerStart")&&n.markerStart&&(e.parsedStyle.markerStart=this.runtime.CSSPropertySyntaxFactory[bt.MARKER].calculator(null,n.markerStart,n.markerStart,null,null)),u.has("markerEnd")&&n.markerEnd&&(e.parsedStyle.markerEnd=this.runtime.CSSPropertySyntaxFactory[bt.MARKER].calculator(null,n.markerEnd,n.markerEnd,null,null)),u.has("markerMid")&&n.markerMid&&(e.parsedStyle.markerMid=this.runtime.CSSPropertySyntaxFactory[bt.MARKER].calculator("",n.markerMid,n.markerMid,null,null)),u.has("zIndex")&&!Rt(n.zIndex)&&this.runtime.CSSPropertySyntaxFactory[bt.Z_INDEX].postProcessor(e),u.has("offsetDistance")&&!Rt(n.offsetDistance)&&this.runtime.CSSPropertySyntaxFactory[bt.OFFSET_DISTANCE].postProcessor(e),u.has("transform")&&n.transform&&this.runtime.CSSPropertySyntaxFactory[bt.TRANSFORM].postProcessor(e),u.has("transformOrigin")&&n.transformOrigin&&this.runtime.CSSPropertySyntaxFactory[bt.TRANSFORM_ORIGIN].postProcessor(e),o&&(e.geometry.dirty=!0,e.renderable.boundsDirty=!0,e.renderable.renderBoundsDirty=!0,i.forceUpdateGeometry||this.runtime.sceneGraphService.dirtifyToRoot(e))}},{key:"updateGeometry",value:function(e){var n=e.nodeName,i=this.runtime.geometryUpdaterFactory[n];if(i){var a=e.geometry;a.contentBounds||(a.contentBounds=new ge),a.renderBounds||(a.renderBounds=new ge);var s=e.parsedStyle,o=i.update(s,e),l=o.cx,u=l===void 0?0:l,c=o.cy,h=c===void 0?0:c,d=o.cz,f=d===void 0?0:d,g=o.hwidth,p=g===void 0?0:g,v=o.hheight,y=v===void 0?0:v,m=o.hdepth,w=m===void 0?0:m,S=[Math.abs(p),Math.abs(y),w],_=s.stroke,k=s.lineWidth,T=k===void 0?1:k,O=s.increasedLineWidthForHitTesting,P=O===void 0?0:O,N=s.shadowType,C=N===void 0?"outer":N,L=s.shadowColor,F=s.filter,G=F===void 0?[]:F,V=s.transformOrigin,U=[u,h,f];a.contentBounds.update(U,S);var q=n===rt.POLYLINE||n===rt.POLYGON||n===rt.PATH?Math.SQRT2:.5,j=_&&!_.isNone;if(j){var Z=((T||0)+(P||0))*q;S[0]+=Z,S[1]+=Z}if(a.renderBounds.update(U,S),L&&C&&C!=="inner"){var nt=a.renderBounds,st=nt.min,ot=nt.max,Pt=s.shadowBlur,K=s.shadowOffsetX,W=s.shadowOffsetY,tt=Pt||0,ct=K||0,xt=W||0,Nt=st[0]-tt+ct,Vt=ot[0]+tt+ct,Me=st[1]-tt+xt,un=ot[1]+tt+xt;st[0]=Math.min(st[0],Nt),ot[0]=Math.max(ot[0],Vt),st[1]=Math.min(st[1],Me),ot[1]=Math.max(ot[1],un),a.renderBounds.setMinMax(st,ot)}G.forEach(function(Qt){var hr=Qt.name,be=Qt.params;if(hr==="blur"){var Ka=be[0].value;a.renderBounds.update(a.renderBounds.center,Yi(a.renderBounds.halfExtents,a.renderBounds.halfExtents,[Ka,Ka,0]))}else if(hr==="drop-shadow"){var dr=be[0].value,qe=be[1].value,Ce=be[2].value,Fn=a.renderBounds,Bn=Fn.min,fr=Fn.max,ui=Bn[0]-Ce+dr,qr=fr[0]+Ce+dr,Za=Bn[1]-Ce+qe,Ja=fr[1]+Ce+qe;Bn[0]=Math.min(Bn[0],ui),fr[0]=Math.max(fr[0],qr),Bn[1]=Math.min(Bn[1],Za),fr[1]=Math.max(fr[1],Ja),a.renderBounds.setMinMax(Bn,fr)}}),e.geometry.dirty=!1;var ke=p<0,Ue=y<0,Xt=(ke?-1:1)*(V?tr(V[0],0,e,!0):0),cr=(Ue?-1:1)*(V?tr(V[1],1,e,!0):0);(Xt||cr)&&e.setOrigin(Xt,cr)}}},{key:"updateSizeAttenuation",value:function(e,n){e.style.isSizeAttenuation?(e.style.rawLineWidth||(e.style.rawLineWidth=e.style.lineWidth),e.style.lineWidth=(e.style.rawLineWidth||1)/n,e.nodeName===rt.CIRCLE&&(e.style.rawR||(e.style.rawR=e.style.r),e.style.r=(e.style.rawR||1)/n)):(e.style.rawLineWidth&&(e.style.lineWidth=e.style.rawLineWidth,delete e.style.rawLineWidth),e.nodeName===rt.CIRCLE&&e.style.rawR&&(e.style.r=e.style.rawR,delete e.style.rawR))}}])}();function eD(r,t){var e=ST(r);for(var n in t)e.has(n)&&(r.parsedStyle[n]=t[n])}function ST(r){return r.constructor.PARSED_STYLE_LIST}var nD=function(){function r(){ht(this,r),this.mixer=jm}return dt(r,[{key:"calculator",value:function(e,n,i,a){return Wn(i)}}])}(),rD=function(){function r(){ht(this,r)}return dt(r,[{key:"calculator",value:function(e,n,i,a,s){return i instanceof xr&&(i=null),s.sceneGraphService.updateDisplayObjectDependency(e,n,i,a),e==="clipPath"&&a.forEach(function(o){o.childNodes.length===0&&s.sceneGraphService.dirtifyToRoot(o)}),i}}])}(),iD=function(){function r(){ht(this,r),this.parser=bo,this.mixer=SI}return dt(r,[{key:"calculator",value:function(e,n,i,a){return i instanceof xr?i.value==="none"?uT:cT:i}}])}(),aD=function(){function r(){ht(this,r)}return dt(r,[{key:"calculator",value:function(e,n,i){return i instanceof xr?[]:i}}])}();function Gb(r){var t=r.parsedStyle,e=t.fontSize;return Rt(e)?null:e}var Vy=function(){function r(){ht(this,r),this.mixer=jm}return dt(r,[{key:"calculator",value:function(e,n,i,a,s){if(Et(i))return i;if(hn.isRelativeUnit(i.unit)){if(i.unit===wt.kPercentage)return 0;if(i.unit===wt.kEms){if(a.parentNode){var o=Gb(a.parentNode);if(o)return o*=i.value,o}return 0}if(i.unit===wt.kRems){var l;if(a!=null&&(l=a.ownerDocument)!==null&&l!==void 0&&l.documentElement){var u=Gb(a.ownerDocument.documentElement);if(u)return u*=i.value,u}return 0}}else return i.value}}])}(),sD=function(){function r(){ht(this,r),this.mixer=yT}return dt(r,[{key:"calculator",value:function(e,n,i){return i.map(function(a){return a.value})}}])}(),oD=function(){function r(){ht(this,r),this.mixer=yT}return dt(r,[{key:"calculator",value:function(e,n,i){return i.map(function(a){return a.value})}}])}(),lD=function(){function r(){ht(this,r)}return dt(r,[{key:"calculator",value:function(e,n,i,a){var s;i instanceof xr&&(i=null);var o=(s=i)===null||s===void 0?void 0:s.cloneNode(!0);return o&&(o.style.isMarker=!0),o}}])}(),uD=function(){function r(){ht(this,r),this.mixer=jm}return dt(r,[{key:"calculator",value:function(e,n,i){return i.value}}])}(),cD=function(){function r(){ht(this,r),this.mixer=qm(0,1)}return dt(r,[{key:"calculator",value:function(e,n,i){return i.value}},{key:"postProcessor",value:function(e){var n=e.parsedStyle,i=n.offsetPath,a=n.offsetDistance;if(i){var s=i.nodeName;if(s===rt.LINE||s===rt.PATH||s===rt.POLYLINE){var o=i.getPoint(a);o&&e.setLocalPosition(o.x,o.y)}}}}])}(),hD=function(){function r(){ht(this,r),this.mixer=qm(0,1)}return dt(r,[{key:"calculator",value:function(e,n,i){return i.value}}])}(),dD=function(){function r(){ht(this,r),this.parser=bT,this.mixer=zI}return dt(r,[{key:"calculator",value:function(e,n,i){return i instanceof xr&&i.value==="unset"?{absolutePath:[],hasArc:!1,segments:[],polygons:[],polylines:[],curve:null,totalLength:0,rect:new Ms(0,0,0,0)}:i}}])}(),fD=dt(function r(){ht(this,r),this.mixer=qI}),gD=function(r){function t(){var e;ht(this,t);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return e=Gt(this,t,[].concat(i)),e.mixer=qm(0,1/0),e}return Wt(t,r),dt(t)}(Vy),vD=function(){function r(){ht(this,r)}return dt(r,[{key:"calculator",value:function(e,n,i,a){return i instanceof xr?i.value==="unset"?"":i.value:"".concat(i)}},{key:"postProcessor",value:function(e){e.nodeValue="".concat(e.parsedStyle.text)||""}}])}(),pD=function(){function r(){ht(this,r)}return dt(r,[{key:"calculator",value:function(e,n,i,a){var s=a.getAttribute("text");if(s){var o=s;i.value==="capitalize"?o=s.charAt(0).toUpperCase()+s.slice(1):i.value==="lowercase"?o=s.toLowerCase():i.value==="uppercase"&&(o=s.toUpperCase()),a.parsedStyle.text=o}return i.value}}])}(),nd=new WeakMap;function yD(r,t,e){if(r){var n=typeof r=="string"?document.getElementById(r):r;nd.has(n)&&nd.get(n).destroy(e),nd.set(n,t)}}var Gm=typeof window<"u"&&typeof window.document<"u";function mD(r){return!!r.getAttribute}function bD(r,t){for(var e=0,n=r.length;e<n;){var i=e+n>>>1;_T(r[i],t)<0?e=i+1:n=i}return e}function _T(r,t){var e=Number(r.parsedStyle.zIndex||0),n=Number(t.parsedStyle.zIndex||0);if(e===n){var i=r.parentNode;if(i){var a=i.childNodes||[];return a.indexOf(r)-a.indexOf(t)}}return e-n}function MT(r){var t=r;do{var e,n=(e=t.parsedStyle)===null||e===void 0?void 0:e.clipPath;if(n)return t;t=t.parentElement}while(t!==null);return null}var Wb="px";function wD(r,t,e){Gm&&r.style&&(r.style.width=t+Wb,r.style.height=e+Wb)}function kT(r,t){if(Gm)return document.defaultView.getComputedStyle(r,null).getPropertyValue(t)}function xD(r){var t=kT(r,"width");return t==="auto"?r.offsetWidth:parseFloat(t)}function ED(r){var t=kT(r,"height");return t==="auto"?r.offsetHeight:parseFloat(t)}var SD=1,_D={touchstart:"pointerdown",touchend:"pointerup",touchendoutside:"pointerupoutside",touchmove:"pointermove",touchcancel:"pointercancel"},Uy=typeof performance=="object"&&performance.now?performance:Date;function Bu(r){return r.nodeName===rt.FRAGMENT?!0:r.getRootNode().nodeName===rt.FRAGMENT}function qa(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"auto",t=arguments.length>1?arguments[1]:void 0,e=arguments.length>2?arguments[2]:void 0,n=!1,i=!1,a=!!t&&!t.isNone,s=!!e&&!e.isNone;return r==="visiblepainted"||r==="painted"||r==="auto"?(n=a,i=s):r==="visiblefill"||r==="fill"?n=!0:r==="visiblestroke"||r==="stroke"?i=!0:(r==="visible"||r==="all")&&(n=!0,i=!0),[n,i]}var MD=1,kD=function(){return MD++},ei=typeof self=="object"&&self.self===self?self:typeof global=="object"&&global.global===global?global:{},OD=Date.now(),TD=function(){return ei.performance&&typeof ei.performance.now=="function"?ei.performance.now():Date.now()-OD},io={},Vb=Date.now(),AD=function(t){if(typeof t!="function")throw new TypeError("".concat(t," is not a function"));var e=Date.now(),n=e-Vb,i=n>16?0:16-n,a=kD();return io[a]=t,Object.keys(io).length>1||setTimeout(function(){Vb=e;var s=io;io={},Object.keys(s).forEach(function(o){return s[o](TD())})},i),a},PD=function(t){delete io[t]},ND=["","webkit","moz","ms","o"],OT=function(t){return typeof t!="string"?AD:t===""?ei.requestAnimationFrame:ei["".concat(t,"RequestAnimationFrame")]},CD=function(t){return typeof t!="string"?PD:t===""?ei.cancelAnimationFrame:ei["".concat(t,"CancelAnimationFrame")]||ei["".concat(t,"CancelRequestAnimationFrame")]},RD=function(t,e){for(var n=0;t[n]!==void 0;){if(e(t[n]))return t[n];n+=1}},TT=RD(ND,function(r){return!!OT(r)}),Wm=OT(TT),AT=CD(TT);ei.requestAnimationFrame=Wm;ei.cancelAnimationFrame=AT;var LD=function(){function r(){ht(this,r),this.callbacks=[]}return dt(r,[{key:"getCallbacksNum",value:function(){return this.callbacks.length}},{key:"tapPromise",value:function(e,n){this.callbacks.push(n)}},{key:"promise",value:function(){for(var e=arguments.length,n=new Array(e),i=0;i<e;i++)n[i]=arguments[i];return Promise.all(this.callbacks.map(function(a){return a.apply(void 0,n)}))}}])}(),ID=function(){function r(){ht(this,r),this.callbacks=[]}return dt(r,[{key:"tapPromise",value:function(e,n){this.callbacks.push(n)}},{key:"promise",value:function(){var t=ta(wn().mark(function n(){var i,a,s,o,l=arguments;return wn().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:if(!this.callbacks.length){c.next=14;break}return c.next=3,(i=this.callbacks)[0].apply(i,l);case 3:a=c.sent,s=0;case 5:if(!(s<this.callbacks.length-1)){c.next=13;break}return o=this.callbacks[s],c.next=9,o(a);case 9:a=c.sent;case 10:s++,c.next=5;break;case 13:return c.abrupt("return",a);case 14:return c.abrupt("return",null);case 15:case"end":return c.stop()}},n,this)}));function e(){return t.apply(this,arguments)}return e}()}])}(),Pn=function(){function r(){ht(this,r),this.callbacks=[]}return dt(r,[{key:"tap",value:function(e,n){this.callbacks.push(n)}},{key:"call",value:function(){for(var e=arguments.length,n=new Array(e),i=0;i<e;i++)n[i]=arguments[i];var a=arguments;this.callbacks.forEach(function(s){s.apply(void 0,a)})}}])}(),rd=function(){function r(){ht(this,r),this.callbacks=[]}return dt(r,[{key:"tap",value:function(e,n){this.callbacks.push(n)}},{key:"call",value:function(){for(var e=arguments.length,n=new Array(e),i=0;i<e;i++)n[i]=arguments[i];if(this.callbacks.length){for(var a=arguments,s=this.callbacks[0].apply(void 0,a),o=0;o<this.callbacks.length-1;o++){var l=this.callbacks[o];s=l(s)}return s}return null}}])}(),DD=["serif","sans-serif","monospace","cursive","fantasy","system-ui"],FD=/([\"\'])[^\'\"]+\1/;function BD(r){for(var t=r.fontSize,e=t===void 0?16:t,n=r.fontFamily,i=n===void 0?"sans-serif":n,a=r.fontStyle,s=a===void 0?"normal":a,o=r.fontVariant,l=o===void 0?"normal":o,u=r.fontWeight,c=u===void 0?"normal":u,h=Et(e)&&"".concat(e,"px")||"16px",d=i.split(","),f=d.length-1;f>=0;f--){var g=d[f].trim();!FD.test(g)&&DD.indexOf(g)<0&&(g='"'.concat(g,'"')),d[f]=g}return"".concat(s," ").concat(l," ").concat(c," ").concat(h," ").concat(d.join(","))}function id(r,t,e){return Ji(r),r[4]=Math.tan(t),r[1]=Math.tan(e),r}var Ge=fe(),zD=fe(),jD={scale:function(t){ya(Ge,[t[0].value,t[1].value,1])},scaleX:function(t){ya(Ge,[t[0].value,1,1])},scaleY:function(t){ya(Ge,[1,t[0].value,1])},scaleZ:function(t){ya(Ge,[1,1,t[0].value])},scale3d:function(t){ya(Ge,[t[0].value,t[1].value,t[2].value])},translate:function(t){Fi(Ge,[t[0].value,t[1].value,0])},translateX:function(t){Fi(Ge,[t[0].value,0,0])},translateY:function(t){Fi(Ge,[0,t[0].value,0])},translateZ:function(t){Fi(Ge,[0,0,t[0].value])},translate3d:function(t){Fi(Ge,[t[0].value,t[1].value,t[2].value])},rotate:function(t){_y(Ge,se(Wn(t[0])))},rotateX:function(t){AO(Ge,se(Wn(t[0])))},rotateY:function(t){PO(Ge,se(Wn(t[0])))},rotateZ:function(t){_y(Ge,se(Wn(t[0])))},rotate3d:function(t){TO(Ge,se(Wn(t[3])),[t[0].value,t[1].value,t[2].value])},skew:function(t){id(Ge,se(t[0].value),se(t[1].value))},skewX:function(t){id(Ge,se(t[0].value),0)},skewY:function(t){id(Ge,0,se(t[0].value))},matrix:function(t){Sy(Ge,t[0].value,t[1].value,0,0,t[2].value,t[3].value,0,0,0,0,1,0,t[4].value,t[5].value,0,1)},matrix3d:function(t){Sy.apply(FR,[Ge].concat(Zt(t.map(function(e){return e.value}))))}},qD=pe(1,1,1),$D=Jt(),Ub={translate:function(t,e){ft.sceneGraphService.setLocalScale(t,qD,!1),ft.sceneGraphService.setLocalEulerAngles(t,$D,void 0,void 0,!1),ft.sceneGraphService.setLocalPosition(t,[e[0].value,e[1].value,0],!1),ft.sceneGraphService.dirtifyLocal(t,t.transformable)}};function PT(r,t){if(r.length){if(r.length===1&&Ub[r[0].t]){Ub[r[0].t](t,r[0].d);return}for(var e=Ji(zD),n=0;n<r.length;n++){var i=r[n],a=i.t,s=i.d,o=jD[a];o&&(o(s),BO(e,e,Ge))}t.setLocalTransform(e)}else t.resetLocalTransform();return t.getLocalTransform()}var GD=function(){function r(){ht(this,r),this.parser=$I,this.mixer=ZI}return dt(r,[{key:"calculator",value:function(e,n,i,a){return i instanceof xr?[]:i}},{key:"postProcessor",value:function(e){PT(e.parsedStyle.transform,e)}}])}(),WD=function(){function r(){ht(this,r)}return dt(r,[{key:"postProcessor",value:function(e){var n=e.parsedStyle.transformOrigin;n[0].unit===wt.kPixels&&n[1].unit===wt.kPixels?e.setOrigin(n[0].value,n[1].value):e.getGeometryBounds()}}])}(),VD=function(){function r(){ht(this,r)}return dt(r,[{key:"calculator",value:function(e,n,i,a){return i.value}},{key:"postProcessor",value:function(e){if(e.parentNode){var n=e.parentNode,i=n.renderable,a=n.sortable;i&&(i.dirty=!0),a&&(a.dirty=!0,a.dirtyReason=Ru.Z_INDEX_CHANGED)}}}])}(),UD=function(){function r(){ht(this,r)}return dt(r,[{key:"update",value:function(e,n){var i=e.cx,a=i===void 0?0:i,s=e.cy,o=s===void 0?0:s,l=e.r,u=l===void 0?0:l;return{cx:a,cy:o,hwidth:u,hheight:u}}}])}(),YD=function(){function r(){ht(this,r)}return dt(r,[{key:"update",value:function(e,n){var i=e.cx,a=i===void 0?0:i,s=e.cy,o=s===void 0?0:s,l=e.rx,u=l===void 0?0:l,c=e.ry,h=c===void 0?0:c;return{cx:a,cy:o,hwidth:u,hheight:h}}}])}(),HD=function(){function r(){ht(this,r)}return dt(r,[{key:"update",value:function(e){var n=e.x1,i=e.y1,a=e.x2,s=e.y2,o=Math.min(n,a),l=Math.max(n,a),u=Math.min(i,s),c=Math.max(i,s),h=l-o,d=c-u,f=h/2,g=d/2;return{cx:o+f,cy:u+g,hwidth:f,hheight:g}}}])}(),XD=function(){function r(){ht(this,r)}return dt(r,[{key:"update",value:function(e){var n=e.d,i=n.rect,a=i.x,s=i.y,o=i.width,l=i.height,u=o/2,c=l/2;return{cx:a+u,cy:s+c,hwidth:u,hheight:c}}}])}(),KD=function(){function r(){ht(this,r)}return dt(r,[{key:"update",value:function(e){if(e.points&&Xn(e.points.points)){var n=e.points.points,i=Math.min.apply(Math,Zt(n.map(function(d){return d[0]}))),a=Math.max.apply(Math,Zt(n.map(function(d){return d[0]}))),s=Math.min.apply(Math,Zt(n.map(function(d){return d[1]}))),o=Math.max.apply(Math,Zt(n.map(function(d){return d[1]}))),l=a-i,u=o-s,c=l/2,h=u/2;return{cx:i+c,cy:s+h,hwidth:c,hheight:h}}return{cx:0,cy:0,hwidth:0,hheight:0}}}])}(),ZD=function(){function r(){ht(this,r)}return dt(r,[{key:"update",value:function(e,n){var i=e.x,a=i===void 0?0:i,s=e.y,o=s===void 0?0:s,l=e.src,u=e.width,c=u===void 0?0:u,h=e.height,d=h===void 0?0:h,f=c,g=d;return l&&!ne(l)&&(f||(f=l.width,e.width=f),g||(g=l.height,e.height=g)),{cx:a+f/2,cy:o+g/2,hwidth:f/2,hheight:g/2}}}])}(),JD=function(){function r(t){ht(this,r),this.globalRuntime=t}return dt(r,[{key:"isReadyToMeasure",value:function(e,n){var i=e.text;return i}},{key:"update",value:function(e,n){var i,a=e.text,s=e.textAlign,o=s===void 0?"start":s,l=e.lineWidth,u=l===void 0?1:l,c=e.textBaseline,h=c===void 0?"alphabetic":c,d=e.dx,f=d===void 0?0:d,g=e.dy,p=g===void 0?0:g,v=e.x,y=v===void 0?0:v,m=e.y,w=m===void 0?0:m;if(!this.isReadyToMeasure(e,n))return e.metrics={font:"",width:0,height:0,lines:[],lineWidths:[],lineHeight:0,maxLineWidth:0,fontProperties:{ascent:0,descent:0,fontSize:0},lineMetrics:[]},{hwidth:0,hheight:0,cx:0,cy:0};var S=(n==null||(i=n.ownerDocument)===null||i===void 0||(i=i.defaultView)===null||i===void 0?void 0:i.getConfig())||{},_=S.offscreenCanvas,k=this.globalRuntime.textService.measureText(a,e,_);e.metrics=k;var T=k.width,O=k.height,P=T/2,N=O/2,C=y+P;o==="center"||o==="middle"?C+=u/2-P:(o==="right"||o==="end")&&(C+=u-P*2);var L=w-N;return h==="middle"?L+=N:h==="top"||h==="hanging"?L+=N*2:h==="alphabetic"||(h==="bottom"||h==="ideographic")&&(L+=0),f&&(C+=f),p&&(L+=p),{cx:C,cy:L,hwidth:P,hheight:N}}}])}(),QD=function(){function r(){ht(this,r)}return dt(r,[{key:"update",value:function(e,n){return{cx:0,cy:0,hwidth:0,hheight:0}}}])}(),t6=function(){function r(){ht(this,r)}return dt(r,[{key:"update",value:function(e,n){var i=e.x,a=i===void 0?0:i,s=e.y,o=s===void 0?0:s,l=e.width,u=l===void 0?0:l,c=e.height,h=c===void 0?0:c;return{cx:a+u/2,cy:o+h/2,hwidth:u/2,hheight:h/2}}}])}(),hc=function(){function r(t){ht(this,r),this.eventPhase=r.prototype.NONE,this.bubbles=!0,this.cancelBubble=!0,this.cancelable=!1,this.defaultPrevented=!1,this.propagationStopped=!1,this.propagationImmediatelyStopped=!1,this.layer=new mn,this.page=new mn,this.canvas=new mn,this.viewport=new mn,this.composed=!1,this.NONE=0,this.CAPTURING_PHASE=1,this.AT_TARGET=2,this.BUBBLING_PHASE=3,this.manager=t}return dt(r,[{key:"name",get:function(){return this.type}},{key:"layerX",get:function(){return this.layer.x}},{key:"layerY",get:function(){return this.layer.y}},{key:"pageX",get:function(){return this.page.x}},{key:"pageY",get:function(){return this.page.y}},{key:"x",get:function(){return this.canvas.x}},{key:"y",get:function(){return this.canvas.y}},{key:"canvasX",get:function(){return this.canvas.x}},{key:"canvasY",get:function(){return this.canvas.y}},{key:"viewportX",get:function(){return this.viewport.x}},{key:"viewportY",get:function(){return this.viewport.y}},{key:"composedPath",value:function(){return this.manager&&(!this.path||this.path[0]!==this.target)&&(this.path=this.target?this.manager.propagationPath(this.target):[]),this.path}},{key:"propagationPath",get:function(){return this.composedPath()}},{key:"preventDefault",value:function(){this.nativeEvent instanceof Event&&this.nativeEvent.cancelable&&this.nativeEvent.preventDefault(),this.defaultPrevented=!0}},{key:"stopImmediatePropagation",value:function(){this.propagationImmediatelyStopped=!0}},{key:"stopPropagation",value:function(){this.propagationStopped=!0}},{key:"initEvent",value:function(){}},{key:"initUIEvent",value:function(){}},{key:"clone",value:function(){throw new Error(ae)}}])}(),NT=function(r){function t(){var e;ht(this,t);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return e=Gt(this,t,[].concat(i)),e.client=new mn,e.movement=new mn,e.offset=new mn,e.global=new mn,e.screen=new mn,e}return Wt(t,r),dt(t,[{key:"clientX",get:function(){return this.client.x}},{key:"clientY",get:function(){return this.client.y}},{key:"movementX",get:function(){return this.movement.x}},{key:"movementY",get:function(){return this.movement.y}},{key:"offsetX",get:function(){return this.offset.x}},{key:"offsetY",get:function(){return this.offset.y}},{key:"globalX",get:function(){return this.global.x}},{key:"globalY",get:function(){return this.global.y}},{key:"screenX",get:function(){return this.screen.x}},{key:"screenY",get:function(){return this.screen.y}},{key:"getModifierState",value:function(n){return"getModifierState"in this.nativeEvent&&this.nativeEvent.getModifierState(n)}},{key:"initMouseEvent",value:function(){throw new Error(ae)}}])}(hc),zu=function(r){function t(){var e;ht(this,t);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return e=Gt(this,t,[].concat(i)),e.width=0,e.height=0,e.isPrimary=!1,e}return Wt(t,r),dt(t,[{key:"getCoalescedEvents",value:function(){return this.type==="pointermove"||this.type==="mousemove"||this.type==="touchmove"?[this]:[]}},{key:"getPredictedEvents",value:function(){throw new Error("getPredictedEvents is not supported!")}},{key:"clone",value:function(){return this.manager.clonePointerEvent(this)}}])}(NT),Yy=function(r){function t(){return ht(this,t),Gt(this,t,arguments)}return Wt(t,r),dt(t,[{key:"clone",value:function(){return this.manager.cloneWheelEvent(this)}}])}(NT),He=function(r){function t(e,n){var i;return ht(this,t),i=Gt(this,t,[null]),i.type=e,i.detail=n,Object.assign(i,n),i}return Wt(t,r),dt(t)}(hc),Yb=new WeakMap,CT=function(){function r(){ht(this,r),this.emitter=new bO}return dt(r,[{key:"on",value:function(e,n,i){return this.addEventListener(e,n,i),this}},{key:"addEventListener",value:function(e,n,i){var a=!1,s=!1;if(Mo(i))a=i;else if(i){var o=i.capture;a=o===void 0?!1:o;var l=i.once;s=l===void 0?!1:l}a&&(e+="capture"),n=kt(n)?n:n.handleEvent;var u=kt(n)?void 0:n;return s?this.emitter.once(e,n,u):this.emitter.on(e,n,u),this}},{key:"off",value:function(e,n,i){return e?this.removeEventListener(e,n,i):this.removeAllEventListeners(),this}},{key:"removeAllEventListeners",value:function(){var e;(e=this.emitter)===null||e===void 0||e.removeAllListeners()}},{key:"removeEventListener",value:function(e,n,i){var a;if(!this.emitter)return this;var s=Mo(i)?i:i==null?void 0:i.capture;s&&(e+="capture"),n=kt(n)?n:(a=n)===null||a===void 0?void 0:a.handleEvent;var o=kt(n)?void 0:n;return this.emitter.off(e,n,o),this}},{key:"emit",value:function(e,n){this.dispatchEvent(new He(e,n))}},{key:"dispatchEvent",value:function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,i=Yb.get(this);if(!i){var a;this.document?i=this:this.defaultView?i=this.defaultView:i=(a=this.ownerDocument)===null||a===void 0?void 0:a.defaultView,i&&Yb.set(this,i)}if(i){if(e.manager=i.getEventService(),!e.manager)return!1;e.defaultPrevented=!1,e.path?e.path.length=0:e.page=[],n||(e.target=this),e.manager.dispatchEvent(e,e.type,n)}else this.emitter.emit(e.type,e);return!e.defaultPrevented}}])}(),Pe=function(r){function t(){var e;ht(this,t);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return e=Gt(this,t,[].concat(i)),e.shadow=!1,e.ownerDocument=null,e.isConnected=!1,e.baseURI="",e.childNodes=[],e.nodeType=0,e.nodeName="",e.nodeValue=null,e.parentNode=null,e}return Wt(t,r),dt(t,[{key:"textContent",get:function(){var n="";this.nodeName===rt.TEXT&&(n+=this.style.text);var i=ma(this.childNodes),a;try{for(i.s();!(a=i.n()).done;){var s=a.value;s.nodeName===rt.TEXT?n+=s.nodeValue:n+=s.textContent}}catch(o){i.e(o)}finally{i.f()}return n},set:function(n){var i=this;this.childNodes.slice().forEach(function(a){i.removeChild(a)}),this.nodeName===rt.TEXT&&(this.style.text="".concat(n))}},{key:"getRootNode",value:function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.parentNode?this.parentNode.getRootNode(n):n.composed&&this.host?this.host.getRootNode(n):this}},{key:"hasChildNodes",value:function(){return this.childNodes.length>0}},{key:"isDefaultNamespace",value:function(n){throw new Error(ae)}},{key:"lookupNamespaceURI",value:function(n){throw new Error(ae)}},{key:"lookupPrefix",value:function(n){throw new Error(ae)}},{key:"normalize",value:function(){throw new Error(ae)}},{key:"isEqualNode",value:function(n){return this===n}},{key:"isSameNode",value:function(n){return this.isEqualNode(n)}},{key:"parent",get:function(){return this.parentNode}},{key:"parentElement",get:function(){return null}},{key:"nextSibling",get:function(){return null}},{key:"previousSibling",get:function(){return null}},{key:"firstChild",get:function(){return this.childNodes.length>0?this.childNodes[0]:null}},{key:"lastChild",get:function(){return this.childNodes.length>0?this.childNodes[this.childNodes.length-1]:null}},{key:"compareDocumentPosition",value:function(n){if(n===this)return 0;for(var i=n,a=this,s=[i],o=[a];(l=i.parentNode)!==null&&l!==void 0?l:a.parentNode;){var l;i=i.parentNode?(s.push(i.parentNode),i.parentNode):i,a=a.parentNode?(o.push(a.parentNode),a.parentNode):a}if(i!==a)return t.DOCUMENT_POSITION_DISCONNECTED|t.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC|t.DOCUMENT_POSITION_PRECEDING;var u=s.length>o.length?s:o,c=u===s?o:s;if(u[u.length-c.length]===c[0])return u===s?t.DOCUMENT_POSITION_CONTAINED_BY|t.DOCUMENT_POSITION_FOLLOWING:t.DOCUMENT_POSITION_CONTAINS|t.DOCUMENT_POSITION_PRECEDING;for(var h=u.length-c.length,d=c.length-1;d>=0;d--){var f=c[d],g=u[h+d];if(g!==f){var p=f.parentNode.childNodes;return p.indexOf(f)<p.indexOf(g)?c===s?t.DOCUMENT_POSITION_PRECEDING:t.DOCUMENT_POSITION_FOLLOWING:u===s?t.DOCUMENT_POSITION_PRECEDING:t.DOCUMENT_POSITION_FOLLOWING}}return t.DOCUMENT_POSITION_FOLLOWING}},{key:"contain",value:function(n){return this.contains(n)}},{key:"contains",value:function(n){for(var i=n;i&&this!==i;)i=i.parentNode;return!!i}},{key:"getAncestor",value:function(n){for(var i=this;n>0&&i;)i=i.parentNode,n--;return i}},{key:"forEach",value:function(n){for(var i=[this];i.length>0;){var a=i.pop(),s=n(a);if(s===!1)break;for(var o=a.childNodes.length-1;o>=0;o--)i.push(a.childNodes[o])}}}],[{key:"isNode",value:function(n){return!!n.childNodes}}])}(CT);Pe.DOCUMENT_POSITION_DISCONNECTED=1;Pe.DOCUMENT_POSITION_PRECEDING=2;Pe.DOCUMENT_POSITION_FOLLOWING=4;Pe.DOCUMENT_POSITION_CONTAINS=8;Pe.DOCUMENT_POSITION_CONTAINED_BY=16;Pe.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC=32;var e6=2048,n6=function(){function r(t,e){var n=this;ht(this,r),this.nativeHTMLMap=new WeakMap,this.cursor="default",this.mappingTable={},this.mappingState={trackingData:{}},this.eventPool=new Map,this.tmpMatrix=fe(),this.tmpVec3=Jt(),this.onPointerDown=function(i){var a=n.createPointerEvent(i);if(n.dispatchEvent(a,"pointerdown"),a.pointerType==="touch")n.dispatchEvent(a,"touchstart");else if(a.pointerType==="mouse"||a.pointerType==="pen"){var s=a.button===2;n.dispatchEvent(a,s?"rightdown":"mousedown")}var o=n.trackingData(i.pointerId);o.pressTargetsByButton[i.button]=a.composedPath(),n.freeEvent(a)},this.onPointerUp=function(i){var a=Uy.now(),s=n.createPointerEvent(i,void 0,void 0,n.context.config.alwaysTriggerPointerEventOnCanvas?n.rootTarget:void 0);if(n.dispatchEvent(s,"pointerup"),s.pointerType==="touch")n.dispatchEvent(s,"touchend");else if(s.pointerType==="mouse"||s.pointerType==="pen"){var o=s.button===2;n.dispatchEvent(s,o?"rightup":"mouseup")}var l=n.trackingData(i.pointerId),u=n.findMountedTarget(l.pressTargetsByButton[i.button]),c=u;if(u&&!s.composedPath().includes(u)){for(var h=u;h&&!s.composedPath().includes(h);){if(s.currentTarget=h,n.notifyTarget(s,"pointerupoutside"),s.pointerType==="touch")n.notifyTarget(s,"touchendoutside");else if(s.pointerType==="mouse"||s.pointerType==="pen"){var d=s.button===2;n.notifyTarget(s,d?"rightupoutside":"mouseupoutside")}Pe.isNode(h)&&(h=h.parentNode)}delete l.pressTargetsByButton[i.button],c=h}if(c){var f,g=n.clonePointerEvent(s,"click");g.target=c,g.path=[],l.clicksByButton[i.button]||(l.clicksByButton[i.button]={clickCount:0,target:g.target,timeStamp:a});var p=n.context.renderingContext.root.ownerDocument.defaultView,v=l.clicksByButton[i.button];v.target===g.target&&a-v.timeStamp<p.getConfig().dblClickSpeed?++v.clickCount:v.clickCount=1,v.target=g.target,v.timeStamp=a,g.detail=v.clickCount,(f=s.detail)!==null&&f!==void 0&&f.preventClick||(!n.context.config.useNativeClickEvent&&(g.pointerType==="mouse"||g.pointerType==="touch")&&n.dispatchEvent(g,"click"),n.dispatchEvent(g,"pointertap")),n.freeEvent(g)}n.freeEvent(s)},this.onPointerMove=function(i){var a=n.createPointerEvent(i,void 0,void 0,n.context.config.alwaysTriggerPointerEventOnCanvas?n.rootTarget:void 0),s=a.pointerType==="mouse"||a.pointerType==="pen",o=n.trackingData(i.pointerId),l=n.findMountedTarget(o.overTargets);if(o.overTargets&&l!==a.target){var u=i.type==="mousemove"?"mouseout":"pointerout",c=n.createPointerEvent(i,u,l||void 0);if(n.dispatchEvent(c,"pointerout"),s&&n.dispatchEvent(c,"mouseout"),!a.composedPath().includes(l)){var h=n.createPointerEvent(i,"pointerleave",l||void 0);for(h.eventPhase=h.AT_TARGET;h.target&&!a.composedPath().includes(h.target);)h.currentTarget=h.target,n.notifyTarget(h),s&&n.notifyTarget(h,"mouseleave"),Pe.isNode(h.target)&&(h.target=h.target.parentNode);n.freeEvent(h)}n.freeEvent(c)}if(l!==a.target){var d=i.type==="mousemove"?"mouseover":"pointerover",f=n.clonePointerEvent(a,d);n.dispatchEvent(f,"pointerover"),s&&n.dispatchEvent(f,"mouseover");for(var g=l&&Pe.isNode(l)&&l.parentNode;g&&g!==(Pe.isNode(n.rootTarget)&&n.rootTarget.parentNode)&&g!==a.target;)g=g.parentNode;var p=!g||g===(Pe.isNode(n.rootTarget)&&n.rootTarget.parentNode);if(p){var v=n.clonePointerEvent(a,"pointerenter");for(v.eventPhase=v.AT_TARGET;v.target&&v.target!==l&&v.target!==(Pe.isNode(n.rootTarget)&&n.rootTarget.parentNode);)v.currentTarget=v.target,n.notifyTarget(v),s&&n.notifyTarget(v,"mouseenter"),Pe.isNode(v.target)&&(v.target=v.target.parentNode);n.freeEvent(v)}n.freeEvent(f)}n.dispatchEvent(a,"pointermove"),a.pointerType==="touch"&&n.dispatchEvent(a,"touchmove"),s&&(n.dispatchEvent(a,"mousemove"),n.cursor=n.getCursor(a.target)),o.overTargets=a.composedPath(),n.freeEvent(a)},this.onPointerOut=function(i){var a=n.trackingData(i.pointerId);if(a.overTargets){var s=i.pointerType==="mouse"||i.pointerType==="pen",o=n.findMountedTarget(a.overTargets),l=n.createPointerEvent(i,"pointerout",o||void 0);n.dispatchEvent(l),s&&n.dispatchEvent(l,"mouseout");var u=n.createPointerEvent(i,"pointerleave",o||void 0);for(u.eventPhase=u.AT_TARGET;u.target&&u.target!==(Pe.isNode(n.rootTarget)&&n.rootTarget.parentNode);)u.currentTarget=u.target,n.notifyTarget(u),s&&n.notifyTarget(u,"mouseleave"),Pe.isNode(u.target)&&(u.target=u.target.parentNode);a.overTargets=null,n.freeEvent(l),n.freeEvent(u)}n.cursor=null},this.onPointerOver=function(i){var a=n.trackingData(i.pointerId),s=n.createPointerEvent(i),o=s.pointerType==="mouse"||s.pointerType==="pen";n.dispatchEvent(s,"pointerover"),o&&n.dispatchEvent(s,"mouseover"),s.pointerType==="mouse"&&(n.cursor=n.getCursor(s.target));var l=n.clonePointerEvent(s,"pointerenter");for(l.eventPhase=l.AT_TARGET;l.target&&l.target!==(Pe.isNode(n.rootTarget)&&n.rootTarget.parentNode);)l.currentTarget=l.target,n.notifyTarget(l),o&&n.notifyTarget(l,"mouseenter"),Pe.isNode(l.target)&&(l.target=l.target.parentNode);a.overTargets=s.composedPath(),n.freeEvent(s),n.freeEvent(l)},this.onPointerUpOutside=function(i){var a=n.trackingData(i.pointerId),s=n.findMountedTarget(a.pressTargetsByButton[i.button]),o=n.createPointerEvent(i);if(s){for(var l=s;l;)o.currentTarget=l,n.notifyTarget(o,"pointerupoutside"),o.pointerType==="touch"||(o.pointerType==="mouse"||o.pointerType==="pen")&&n.notifyTarget(o,o.button===2?"rightupoutside":"mouseupoutside"),Pe.isNode(l)&&(l=l.parentNode);delete a.pressTargetsByButton[i.button]}n.freeEvent(o)},this.onWheel=function(i){var a=n.createWheelEvent(i);n.dispatchEvent(a),n.freeEvent(a)},this.onClick=function(i){if(n.context.config.useNativeClickEvent){var a=n.createPointerEvent(i);n.dispatchEvent(a),n.freeEvent(a)}},this.onPointerCancel=function(i){var a=n.createPointerEvent(i,void 0,void 0,n.context.config.alwaysTriggerPointerEventOnCanvas?n.rootTarget:void 0);n.dispatchEvent(a),n.freeEvent(a)},this.globalRuntime=t,this.context=e}return dt(r,[{key:"init",value:function(){this.rootTarget=this.context.renderingContext.root.parentNode,this.addEventMapping("pointerdown",this.onPointerDown),this.addEventMapping("pointerup",this.onPointerUp),this.addEventMapping("pointermove",this.onPointerMove),this.addEventMapping("pointerout",this.onPointerOut),this.addEventMapping("pointerleave",this.onPointerOut),this.addEventMapping("pointercancel",this.onPointerCancel),this.addEventMapping("pointerover",this.onPointerOver),this.addEventMapping("pointerupoutside",this.onPointerUpOutside),this.addEventMapping("wheel",this.onWheel),this.addEventMapping("click",this.onClick)}},{key:"destroy",value:function(){this.mappingTable={},this.mappingState={},this.eventPool.clear()}},{key:"getScale",value:function(){var e=this.context.contextService.getBoundingClientRect(),n=1,i=1,a=this.context.contextService.getDomElement();if(a&&e){var s=a.offsetWidth,o=a.offsetHeight;s&&o&&(n=e.width/s,i=e.height/o)}return{scaleX:n,scaleY:i,bbox:e}}},{key:"client2Viewport",value:function(e){var n=this.getScale(),i=n.scaleX,a=n.scaleY,s=n.bbox;return new mn((e.x-((s==null?void 0:s.left)||0))/i,(e.y-((s==null?void 0:s.top)||0))/a)}},{key:"viewport2Client",value:function(e){var n=this.getScale(),i=n.scaleX,a=n.scaleY,s=n.bbox;return new mn((e.x+((s==null?void 0:s.left)||0))*i,(e.y+((s==null?void 0:s.top)||0))*a)}},{key:"viewport2Canvas",value:function(e){var n=e.x,i=e.y,a=this.rootTarget.defaultView,s=a.getCamera(),o=this.context.config,l=o.width,u=o.height,c=s.getPerspectiveInverse(),h=s.getWorldTransform(),d=Tn(this.tmpMatrix,h,c),f=On(this.tmpVec3,n/l*2-1,(1-i/u)*2-1,0);return An(f,f,d),new mn(f[0],f[1])}},{key:"canvas2Viewport",value:function(e){var n=this.rootTarget.defaultView,i=n.getCamera(),a=i.getPerspective(),s=i.getViewTransform(),o=Tn(this.tmpMatrix,a,s),l=On(this.tmpVec3,e.x,e.y,0);An(this.tmpVec3,this.tmpVec3,o);var u=this.context.config,c=u.width,h=u.height;return new mn((l[0]+1)/2*c,(1-(l[1]+1)/2)*h)}},{key:"setPickHandler",value:function(e){this.pickHandler=e}},{key:"addEventMapping",value:function(e,n){this.mappingTable[e]||(this.mappingTable[e]=[]),this.mappingTable[e].push({fn:n,priority:0}),this.mappingTable[e].sort(function(i,a){return i.priority-a.priority})}},{key:"mapEvent",value:function(e){if(this.rootTarget){var n=this.mappingTable[e.type];if(n)for(var i=0,a=n.length;i<a;i++)n[i].fn(e);else console.warn("[EventService]: Event mapping not defined for ".concat(e.type))}}},{key:"dispatchEvent",value:function(e,n,i){if(!i)e.propagationStopped=!1,e.propagationImmediatelyStopped=!1,this.propagate(e,n);else{e.eventPhase=e.AT_TARGET;var a=this.rootTarget.defaultView||null;e.currentTarget=a,this.notifyListeners(e,n)}}},{key:"propagate",value:function(e,n){if(e.target){var i=e.composedPath();e.eventPhase=e.CAPTURING_PHASE;for(var a=i.length-1;a>=1;a--)if(e.currentTarget=i[a],this.notifyTarget(e,n),e.propagationStopped||e.propagationImmediatelyStopped)return;if(e.eventPhase=e.AT_TARGET,e.currentTarget=e.target,this.notifyTarget(e,n),!(e.propagationStopped||e.propagationImmediatelyStopped)){var s=i.indexOf(e.currentTarget);e.eventPhase=e.BUBBLING_PHASE;for(var o=s+1;o<i.length;o++)if(e.currentTarget=i[o],this.notifyTarget(e,n),e.propagationStopped||e.propagationImmediatelyStopped)return}}}},{key:"propagationPath",value:function(e){var n=[e],i=this.rootTarget.defaultView||null;if(i&&i===e)return n.unshift(i.document),n;for(var a=0;a<e6&&e!==this.rootTarget;a++)Pe.isNode(e)&&e.parentNode&&(n.push(e.parentNode),e=e.parentNode);return i&&n.push(i),n}},{key:"hitTest",value:function(e){var n=e.viewportX,i=e.viewportY,a=this.context.config,s=a.width,o=a.height,l=a.disableHitTesting;return n<0||i<0||n>s||i>o?null:!l&&this.pickHandler(e)||this.rootTarget||null}},{key:"isNativeEventFromCanvas",value:function(e,n){var i,a=n==null?void 0:n.target;if((i=a)!==null&&i!==void 0&&i.shadowRoot&&(a=n.composedPath()[0]),a){if(a===e)return!0;if(e&&e.contains)return e.contains(a)}return n!=null&&n.composedPath?n.composedPath().indexOf(e)>-1:!1}},{key:"getExistedHTML",value:function(e){if(e.nativeEvent.composedPath)for(var n=0,i=e.nativeEvent.composedPath();n<i.length;n++){var a=i[n],s=this.nativeHTMLMap.get(a);if(s)return s}return null}},{key:"pickTarget",value:function(e){return this.hitTest({clientX:e.clientX,clientY:e.clientY,viewportX:e.viewportX,viewportY:e.viewportY,x:e.canvasX,y:e.canvasY})}},{key:"createPointerEvent",value:function(e,n,i,a){var s=this.allocateEvent(zu);this.copyPointerData(e,s),this.copyMouseData(e,s),this.copyData(e,s),s.nativeEvent=e.nativeEvent,s.originalEvent=e;var o=this.getExistedHTML(s),l=this.context.contextService.getDomElement();return s.target=i??(o||this.isNativeEventFromCanvas(l,s.nativeEvent)&&this.pickTarget(s)||a),typeof n=="string"&&(s.type=n),s}},{key:"createWheelEvent",value:function(e){var n=this.allocateEvent(Yy);this.copyWheelData(e,n),this.copyMouseData(e,n),this.copyData(e,n),n.nativeEvent=e.nativeEvent,n.originalEvent=e;var i=this.getExistedHTML(n),a=this.context.contextService.getDomElement();return n.target=i||this.isNativeEventFromCanvas(a,n.nativeEvent)&&this.pickTarget(n),n}},{key:"trackingData",value:function(e){return this.mappingState.trackingData[e]||(this.mappingState.trackingData[e]={pressTargetsByButton:{},clicksByButton:{},overTarget:null}),this.mappingState.trackingData[e]}},{key:"cloneWheelEvent",value:function(e){var n=this.allocateEvent(Yy);return n.nativeEvent=e.nativeEvent,n.originalEvent=e.originalEvent,this.copyWheelData(e,n),this.copyMouseData(e,n),this.copyData(e,n),n.target=e.target,n.path=e.composedPath().slice(),n.type=e.type,n}},{key:"clonePointerEvent",value:function(e,n){var i=this.allocateEvent(zu);return i.nativeEvent=e.nativeEvent,i.originalEvent=e.originalEvent,this.copyPointerData(e,i),this.copyMouseData(e,i),this.copyData(e,i),i.target=e.target,i.path=e.composedPath().slice(),i.type=n??i.type,i}},{key:"copyPointerData",value:function(e,n){n.pointerId=e.pointerId,n.width=e.width,n.height=e.height,n.isPrimary=e.isPrimary,n.pointerType=e.pointerType,n.pressure=e.pressure,n.tangentialPressure=e.tangentialPressure,n.tiltX=e.tiltX,n.tiltY=e.tiltY,n.twist=e.twist}},{key:"copyMouseData",value:function(e,n){n.altKey=e.altKey,n.button=e.button,n.buttons=e.buttons,n.ctrlKey=e.ctrlKey,n.metaKey=e.metaKey,n.shiftKey=e.shiftKey,n.client.copyFrom(e.client),n.movement.copyFrom(e.movement),n.canvas.copyFrom(e.canvas),n.screen.copyFrom(e.screen),n.global.copyFrom(e.global),n.offset.copyFrom(e.offset)}},{key:"copyWheelData",value:function(e,n){n.deltaMode=e.deltaMode,n.deltaX=e.deltaX,n.deltaY=e.deltaY,n.deltaZ=e.deltaZ}},{key:"copyData",value:function(e,n){n.isTrusted=e.isTrusted,n.timeStamp=Uy.now(),n.type=e.type,n.detail=e.detail,n.view=e.view,n.page.copyFrom(e.page),n.viewport.copyFrom(e.viewport)}},{key:"allocateEvent",value:function(e){this.eventPool.has(e)||this.eventPool.set(e,[]);var n=this.eventPool.get(e).pop()||new e(this);return n.eventPhase=n.NONE,n.currentTarget=null,n.path=[],n.target=null,n}},{key:"freeEvent",value:function(e){if(e.manager!==this)throw new Error("It is illegal to free an event not managed by this EventBoundary!");var n=e.constructor;this.eventPool.has(n)||this.eventPool.set(n,[]),this.eventPool.get(n).push(e)}},{key:"notifyTarget",value:function(e,n){n=n??e.type;var i=e.eventPhase===e.CAPTURING_PHASE||e.eventPhase===e.AT_TARGET?"".concat(n,"capture"):n;this.notifyListeners(e,i),e.eventPhase===e.AT_TARGET&&this.notifyListeners(e,n)}},{key:"notifyListeners",value:function(e,n){var i=e.currentTarget.emitter,a=i._events[n];if(a)if("fn"in a)a.once&&i.removeListener(n,a.fn,void 0,!0),a.fn.call(e.currentTarget||a.context,e);else for(var s=0;s<a.length&&!e.propagationImmediatelyStopped;s++)a[s].once&&i.removeListener(n,a[s].fn,void 0,!0),a[s].fn.call(e.currentTarget||a[s].context,e)}},{key:"findMountedTarget",value:function(e){if(!e)return null;for(var n=e[e.length-1],i=e.length-2;i>=0;i--){var a=e[i];if(a===this.rootTarget||Pe.isNode(a)&&a.parentNode===n)n=e[i];else break}return n}},{key:"getCursor",value:function(e){for(var n=e;n;){var i=mD(n)&&n.getAttribute("cursor");if(i)return i;n=Pe.isNode(n)&&n.parentNode}}}])}(),Vm=function(){function r(){ht(this,r)}return dt(r,[{key:"getOrCreateCanvas",value:function(e,n){if(this.canvas)return this.canvas;if(e||ft.offscreenCanvas)this.canvas=e||ft.offscreenCanvas,this.context=this.canvas.getContext("2d",$t({willReadFrequently:!0},n));else try{this.canvas=new window.OffscreenCanvas(0,0),this.context=this.canvas.getContext("2d",$t({willReadFrequently:!0},n)),(!this.context||!this.context.measureText)&&(this.canvas=document.createElement("canvas"),this.context=this.canvas.getContext("2d"))}catch{this.canvas=document.createElement("canvas"),this.context=this.canvas.getContext("2d",$t({willReadFrequently:!0},n))}return this.canvas.width=10,this.canvas.height=10,this.canvas}},{key:"getOrCreateContext",value:function(e,n){return this.context?this.context:(this.getOrCreateCanvas(e,n),this.context)}}],[{key:"createCanvas",value:function(){try{return new window.OffscreenCanvas(0,0)}catch{}try{return document.createElement("canvas")}catch{}return null}}])}(),ws=function(r){return r[r.CAMERA_CHANGED=0]="CAMERA_CHANGED",r[r.DISPLAY_OBJECT_CHANGED=1]="DISPLAY_OBJECT_CHANGED",r[r.NONE=2]="NONE",r}({}),r6=function(){function r(t,e){ht(this,r),this.inited=!1,this.stats={total:0,rendered:0},this.zIndexCounter=0,this.hooks={init:new Pn,initAsync:new LD,dirtycheck:new rd,cull:new rd,beginFrame:new Pn,beforeRender:new Pn,render:new Pn,afterRender:new Pn,endFrame:new Pn,destroy:new Pn,pick:new ID,pickSync:new rd,pointerDown:new Pn,pointerUp:new Pn,pointerMove:new Pn,pointerOut:new Pn,pointerOver:new Pn,pointerWheel:new Pn,pointerCancel:new Pn,click:new Pn},this.globalRuntime=t,this.context=e}return dt(r,[{key:"init",value:function(e){var n=this,i=$t($t({},this.globalRuntime),this.context);this.context.renderingPlugins.forEach(function(a){a.apply(i,n.globalRuntime)}),this.hooks.init.call(),this.hooks.initAsync.getCallbacksNum()===0?(this.inited=!0,e()):this.hooks.initAsync.promise().then(function(){n.inited=!0,e()}).catch(function(a){})}},{key:"getStats",value:function(){return this.stats}},{key:"disableDirtyRectangleRendering",value:function(){var e=this.context.config.renderer,n=e.getConfig(),i=n.enableDirtyRectangleRendering;return!i||this.context.renderingContext.renderReasons.has(ws.CAMERA_CHANGED)}},{key:"render",value:function(e,n,i){var a=this;this.stats.total=0,this.stats.rendered=0,this.zIndexCounter=0;var s=this.context.renderingContext;if(this.globalRuntime.sceneGraphService.syncHierarchy(s.root),this.globalRuntime.sceneGraphService.triggerPendingEvents(),s.renderReasons.size&&this.inited){s.dirtyRectangleRenderingDisabled=this.disableDirtyRectangleRendering();var o=s.renderReasons.size===1&&s.renderReasons.has(ws.CAMERA_CHANGED),l=!e.disableRenderHooks||!(e.disableRenderHooks&&o);l&&this.renderDisplayObject(s.root,e,s),this.hooks.beginFrame.call(n),l&&s.renderListCurrentFrame.forEach(function(u){a.hooks.beforeRender.call(u),a.hooks.render.call(u),a.hooks.afterRender.call(u)}),this.hooks.endFrame.call(n),s.renderListCurrentFrame=[],s.renderReasons.clear(),i()}}},{key:"renderDisplayObject",value:function(e,n,i){var a=this,s=n.renderer.getConfig(),o=s.enableDirtyCheck,l=s.enableCulling;function u(p){var v=p.renderable,y=p.sortable,m=o?v.dirty||i.dirtyRectangleRenderingDisabled?p:null:p;if(m){var w=l?a.hooks.cull.call(m,a.context.camera):m;w&&(a.stats.rendered+=1,i.renderListCurrentFrame.push(w))}v.dirty=!1,y.renderOrder=a.zIndexCounter,a.zIndexCounter+=1,a.stats.total+=1,y.dirty&&(a.sort(p,y),y.dirty=!1,y.dirtyChildren=[],y.dirtyReason=void 0)}for(var c=[e];c.length>0;){var h,d=c.pop();u(d);for(var f=((h=d.sortable)===null||h===void 0||(h=h.sorted)===null||h===void 0?void 0:h.length)>0?d.sortable.sorted:d.childNodes,g=f.length-1;g>=0;g--)c.push(f[g])}}},{key:"sort",value:function(e,n){var i,a;(n==null||(i=n.sorted)===null||i===void 0?void 0:i.length)>0&&n.dirtyReason!==Ru.Z_INDEX_CHANGED?n.dirtyChildren.forEach(function(s){var o=n.sorted.indexOf(s);o>-1&&n.sorted.splice(o,1);var l=e.childNodes.indexOf(s);if(l>-1)if(n.sorted.length===0)n.sorted.push(s);else{var u=bD(n.sorted,s);n.sorted.splice(u,0,s)}}):n.sorted=e.childNodes.slice().sort(_T),((a=n.sorted)===null||a===void 0?void 0:a.length)>0&&e.childNodes.filter(function(s){return s.parsedStyle.zIndex}).length===0&&(n.sorted=[])}},{key:"destroy",value:function(){this.inited=!1,this.hooks.destroy.call(),this.globalRuntime.sceneGraphService.clearPendingEvents()}},{key:"dirtify",value:function(){this.context.renderingContext.renderReasons.add(ws.DISPLAY_OBJECT_CHANGED)}}])}(),i6=/\[\s*(.*)=(.*)\s*\]/,a6=function(){function r(){ht(this,r)}return dt(r,[{key:"selectOne",value:function(e,n){var i=this;if(e.startsWith("."))return n.find(function(l){return((l==null?void 0:l.classList)||[]).indexOf(i.getIdOrClassname(e))>-1});if(e.startsWith("#"))return n.find(function(l){return l.id===i.getIdOrClassname(e)});if(e.startsWith("[")){var a=this.getAttribute(e),s=a.name,o=a.value;return s?n.find(function(l){return n!==l&&(s==="name"?l.name===o:i.attributeToString(l,s)===o)}):null}return n.find(function(l){return n!==l&&l.nodeName===e})}},{key:"selectAll",value:function(e,n){var i=this;if(e.startsWith("."))return n.findAll(function(l){return n!==l&&((l==null?void 0:l.classList)||[]).indexOf(i.getIdOrClassname(e))>-1});if(e.startsWith("#"))return n.findAll(function(l){return n!==l&&l.id===i.getIdOrClassname(e)});if(e.startsWith("[")){var a=this.getAttribute(e),s=a.name,o=a.value;return s?n.findAll(function(l){return n!==l&&(s==="name"?l.name===o:i.attributeToString(l,s)===o)}):[]}return n.findAll(function(l){return n!==l&&l.nodeName===e})}},{key:"is",value:function(e,n){if(e.startsWith("."))return n.className===this.getIdOrClassname(e);if(e.startsWith("#"))return n.id===this.getIdOrClassname(e);if(e.startsWith("[")){var i=this.getAttribute(e),a=i.name,s=i.value;return a==="name"?n.name===s:this.attributeToString(n,a)===s}return n.nodeName===e}},{key:"getIdOrClassname",value:function(e){return e.substring(1)}},{key:"getAttribute",value:function(e){var n=e.match(i6),i="",a="";return n&&n.length>2&&(i=n[1].replace(/"/g,""),a=n[2].replace(/"/g,"")),{name:i,value:a}}},{key:"attributeToString",value:function(e,n){if(!e.getAttribute)return"";var i=e.getAttribute(n);return Rt(i)?"":i.toString?i.toString():""}}])}(),Ht=function(r){return r.ATTR_MODIFIED="DOMAttrModified",r.INSERTED="DOMNodeInserted",r.MOUNTED="DOMNodeInsertedIntoDocument",r.REMOVED="removed",r.UNMOUNTED="DOMNodeRemovedFromDocument",r.REPARENT="reparent",r.DESTROY="destroy",r.BOUNDS_CHANGED="bounds-changed",r.CULLED="culled",r}({}),ni=function(r){function t(e,n,i,a,s,o,l,u){var c;return ht(this,t),c=Gt(this,t,[null]),c.relatedNode=n,c.prevValue=i,c.newValue=a,c.attrName=s,c.attrChange=o,c.prevParsedValue=l,c.newParsedValue=u,c.type=e,c}return Wt(t,r),dt(t)}(hc);ni.ADDITION=2;ni.MODIFICATION=1;ni.REMOVAL=3;function Hb(r){var t=r.renderable;t&&(t.renderBoundsDirty=!0,t.boundsDirty=!0)}var s6=new ni(Ht.REPARENT,null,"","","",0,"",""),o6=Im(),_l=Jt(),l6=pe(1,1,1),u6=fe(),c6=Im(),Ai=Jt(),rs=fe(),Pi=nn(),h6=Jt(),d6=nn(),f6=Jt(),Ys=Jt(),da=Jt(),Ml=fe(),Xb=nn(),Kb=nn(),kl=nn(),ad={affectChildren:!0},g6=function(){function r(t){ht(this,r),this.pendingEvents=new Map,this.boundsChangedEvent=new He(Ht.BOUNDS_CHANGED),this.displayObjectDependencyMap=new WeakMap,this.runtime=t}return dt(r,[{key:"matches",value:function(e,n){return this.runtime.sceneGraphSelector.is(e,n)}},{key:"querySelector",value:function(e,n){return this.runtime.sceneGraphSelector.selectOne(e,n)}},{key:"querySelectorAll",value:function(e,n){return this.runtime.sceneGraphSelector.selectAll(e,n)}},{key:"attach",value:function(e,n,i){var a,s=!1;e.parentNode&&(s=e.parentNode!==n,this.detach(e));var o=e.nodeName===rt.FRAGMENT,l=Bu(n);e.parentNode=n;var u=o?e.childNodes:[e];Et(i)?u.forEach(function(f){n.childNodes.splice(i,0,f),f.parentNode=n}):u.forEach(function(f){n.childNodes.push(f),f.parentNode=n});var c=n,h=c.sortable;if((h!=null&&(a=h.sorted)!==null&&a!==void 0&&a.length||h.dirty||e.parsedStyle.zIndex)&&(h.dirtyChildren.indexOf(e)===-1&&h.dirtyChildren.push(e),h.dirty=!0,h.dirtyReason=Ru.ADDED),!l){if(o)this.dirtifyFragment(e);else{var d=e.transformable;d&&this.dirtifyWorld(e,d)}s&&e.dispatchEvent(s6)}}},{key:"detach",value:function(e){var n,i;if(e.parentNode){var a=e.transformable,s=e.parentNode,o=s.sortable;(o!=null&&(n=o.sorted)!==null&&n!==void 0&&n.length||(i=e.style)!==null&&i!==void 0&&i.zIndex)&&(o.dirtyChildren.indexOf(e)===-1&&o.dirtyChildren.push(e),o.dirty=!0,o.dirtyReason=Ru.REMOVED);var l=e.parentNode.childNodes.indexOf(e);l>-1&&e.parentNode.childNodes.splice(l,1),a&&this.dirtifyWorld(e,a),e.parentNode=null}}},{key:"getOrigin",value:function(e){return e.getGeometryBounds(),e.transformable.origin}},{key:"setOrigin",value:function(e,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof n=="number"&&(n=[n,i,a]);var s=e.transformable;if(!(n[0]===s.origin[0]&&n[1]===s.origin[1]&&n[2]===s.origin[2])){var o=s.origin;o[0]=n[0],o[1]=n[1],o[2]=n[2]||0,this.dirtifyLocal(e,s)}}},{key:"rotate",value:function(e,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof n=="number"&&(n=pe(n,i,a));var s=e.transformable;if(e.parentNode===null||!e.parentNode.transformable)this.rotateLocal(e,n);else{var o=Pi;vl(o,n[0],n[1],n[2]);var l=this.getRotation(e),u=this.getRotation(e.parentNode);pl(kl,u),$h(kl,kl),Hi(o,kl,o),Hi(s.localRotation,o,l),Ou(s.localRotation,s.localRotation),this.dirtifyLocal(e,s)}}},{key:"rotateLocal",value:function(e,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof n=="number"&&(n=pe(n,i,a));var s=e.transformable;vl(Kb,n[0],n[1],n[2]),cb(s.localRotation,s.localRotation,Kb),this.dirtifyLocal(e,s)}},{key:"setEulerAngles",value:function(e,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof n=="number"&&(n=pe(n,i,a));var s=e.transformable;if(e.parentNode===null||!e.parentNode.transformable)this.setLocalEulerAngles(e,n);else{vl(s.localRotation,n[0],n[1],n[2]);var o=this.getRotation(e.parentNode);pl(Xb,$h(Pi,o)),cb(s.localRotation,s.localRotation,Xb),this.dirtifyLocal(e,s)}}},{key:"setLocalEulerAngles",value:function(e,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0;typeof n=="number"&&(n=pe(n,i,a));var o=e.transformable;vl(o.localRotation,n[0],n[1],n[2]),s&&this.dirtifyLocal(e,o)}},{key:"translateLocal",value:function(e,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof n=="number"&&(n=pe(n,i,a));var s=e.transformable;Vs(n,_l)||(GR(n,n,s.localRotation),Yi(s.localPosition,s.localPosition,n),this.dirtifyLocal(e,s))}},{key:"setPosition",value:function(e,n){var i,a=e.transformable;if(da[0]=n[0],da[1]=n[1],da[2]=(i=n[2])!==null&&i!==void 0?i:0,!Vs(this.getPosition(e),da)){if(Zr(a.position,da),e.parentNode===null||!e.parentNode.transformable)Zr(a.localPosition,da);else{var s=e.parentNode.transformable;Es(Ml,s.worldTransform),Kr(Ml,Ml),An(a.localPosition,da,Ml)}this.dirtifyLocal(e,a)}}},{key:"setLocalPosition",value:function(e,n){var i,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,s=e.transformable;Ys[0]=n[0],Ys[1]=n[1],Ys[2]=(i=n[2])!==null&&i!==void 0?i:0,!Vs(s.localPosition,Ys)&&(Zr(s.localPosition,Ys),a&&this.dirtifyLocal(e,s))}},{key:"scaleLocal",value:function(e,n){var i,a=e.transformable;BR(a.localScale,a.localScale,On(Ai,n[0],n[1],(i=n[2])!==null&&i!==void 0?i:1)),this.dirtifyLocal(e,a)}},{key:"setLocalScale",value:function(e,n){var i,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,s=e.transformable;On(Ai,n[0],n[1],(i=n[2])!==null&&i!==void 0?i:s.localScale[2]),!Vs(Ai,s.localScale)&&(Zr(s.localScale,Ai),a&&this.dirtifyLocal(e,s))}},{key:"translate",value:function(e,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof n=="number"&&(n=On(Ai,n,i,a)),!Vs(n,_l)&&(Yi(Ai,this.getPosition(e),n),this.setPosition(e,Ai))}},{key:"setRotation",value:function(e,n,i,a,s){var o=e.transformable;if(typeof n=="number"&&(n=XR(n,i,a,s)),e.parentNode===null||!e.parentNode.transformable)this.setLocalRotation(e,n);else{var l=this.getRotation(e.parentNode);pl(Pi,l),$h(Pi,Pi),Hi(o.localRotation,Pi,n),Ou(o.localRotation,o.localRotation),this.dirtifyLocal(e,o)}}},{key:"setLocalRotation",value:function(e,n,i,a,s){var o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;typeof n=="number"&&(n=ub(Pi,n,i,a,s));var l=e.transformable;pl(l.localRotation,n),o&&this.dirtifyLocal(e,l)}},{key:"setLocalSkew",value:function(e,n,i){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0;typeof n=="number"&&(n=ZR(c6,n,i));var s=e.transformable;KR(s.localSkew,n),a&&this.dirtifyLocal(e,s)}},{key:"dirtifyLocal",value:function(e,n){Bu(e)||n.localDirtyFlag||(n.localDirtyFlag=!0,n.dirtyFlag||this.dirtifyWorld(e,n))}},{key:"dirtifyWorld",value:function(e,n){n.dirtyFlag||this.unfreezeParentToRoot(e),this.dirtifyWorldInternal(e,n),this.dirtifyToRoot(e,!0)}},{key:"dirtifyFragment",value:function(e){var n=e.transformable;n&&(n.frozen=!1,n.dirtyFlag=!0,n.localDirtyFlag=!0);var i=e.renderable;i&&(i.renderBoundsDirty=!0,i.boundsDirty=!0,i.dirty=!0);for(var a=e.childNodes.length,s=0;s<a;s++)this.dirtifyFragment(e.childNodes[s]);e.nodeName===rt.FRAGMENT&&this.pendingEvents.set(e,!1)}},{key:"triggerPendingEvents",value:function(){var e=this,n=new Set,i=function(s,o){!s.isConnected||n.has(s)||s.nodeName===rt.FRAGMENT||(e.boundsChangedEvent.detail=o,e.boundsChangedEvent.target=s,s.isMutationObserved?s.dispatchEvent(e.boundsChangedEvent):s.ownerDocument.defaultView.dispatchEvent(e.boundsChangedEvent,!0),n.add(s))};this.pendingEvents.forEach(function(a,s){s.nodeName!==rt.FRAGMENT&&(ad.affectChildren=a,a?s.forEach(function(o){i(o,ad)}):i(s,ad))}),n.clear(),this.clearPendingEvents()}},{key:"clearPendingEvents",value:function(){this.pendingEvents.clear()}},{key:"dirtifyToRoot",value:function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,i=e;for(i.renderable&&(i.renderable.dirty=!0);i;)Hb(i),i=i.parentNode;n&&e.forEach(function(a){Hb(a)}),this.informDependentDisplayObjects(e),this.pendingEvents.set(e,n)}},{key:"updateDisplayObjectDependency",value:function(e,n,i,a){if(n&&n!==i){var s=this.displayObjectDependencyMap.get(n);if(s&&s[e]){var o=s[e].indexOf(a);s[e].splice(o,1)}}if(i){var l=this.displayObjectDependencyMap.get(i);l||(this.displayObjectDependencyMap.set(i,{}),l=this.displayObjectDependencyMap.get(i)),l[e]||(l[e]=[]),l[e].push(a)}}},{key:"informDependentDisplayObjects",value:function(e){var n=this,i=this.displayObjectDependencyMap.get(e);i&&Object.keys(i).forEach(function(a){i[a].forEach(function(s){n.dirtifyToRoot(s,!0),s.dispatchEvent(new ni(Ht.ATTR_MODIFIED,s,n,n,a,ni.MODIFICATION,n,n)),s.isCustomElement&&s.isConnected&&s.attributeChangedCallback&&s.attributeChangedCallback(a,n,n)})})}},{key:"getPosition",value:function(e){var n=e.transformable;return _u(n.position,this.getWorldTransform(e,n))}},{key:"getRotation",value:function(e){var n=e.transformable;return Mu(n.rotation,this.getWorldTransform(e,n))}},{key:"getScale",value:function(e){var n=e.transformable;return Ss(n.scaling,this.getWorldTransform(e,n))}},{key:"getWorldTransform",value:function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e.transformable;return!n.localDirtyFlag&&!n.dirtyFlag||(e.parentNode&&e.parentNode.transformable&&this.getWorldTransform(e.parentNode),this.sync(e,n)),n.worldTransform}},{key:"getLocalPosition",value:function(e){return e.transformable.localPosition}},{key:"getLocalRotation",value:function(e){return e.transformable.localRotation}},{key:"getLocalScale",value:function(e){return e.transformable.localScale}},{key:"getLocalSkew",value:function(e){return e.transformable.localSkew}},{key:"calcLocalTransform",value:function(e){var n=e.localSkew[0]!==0||e.localSkew[1]!==0;if(n){po(e.localTransform,e.localRotation,e.localPosition,pe(1,1,1),e.origin),(e.localSkew[0]!==0||e.localSkew[1]!==0)&&(Ji(rs),rs[4]=Math.tan(e.localSkew[0]),rs[1]=Math.tan(e.localSkew[1]),Tn(e.localTransform,e.localTransform,rs));var i=po(rs,ub(Pi,0,0,0,1),On(Ai,1,1,1),e.localScale,e.origin);Tn(e.localTransform,e.localTransform,i)}else{var a=e.localTransform,s=e.localPosition,o=e.localRotation,l=e.localScale,u=e.origin,c=s[0]!==0||s[1]!==0||s[2]!==0,h=o[3]!==1||o[0]!==0||o[1]!==0||o[2]!==0,d=l[0]!==1||l[1]!==1||l[2]!==1,f=u[0]!==0||u[1]!==0||u[2]!==0;!h&&!d&&!f?c?Fi(a,s):Ji(a):po(a,o,s,l,u)}}},{key:"getLocalTransform",value:function(e){var n=e.transformable;return n.localDirtyFlag&&(this.calcLocalTransform(n),n.localDirtyFlag=!1),n.localTransform}},{key:"setLocalTransform",value:function(e,n){var i=_u(h6,n),a=Mu(d6,n),s=Ss(f6,n);this.setLocalScale(e,s,!1),this.setLocalPosition(e,i,!1),this.setLocalRotation(e,a,void 0,void 0,void 0,!1),this.dirtifyLocal(e,e.transformable)}},{key:"resetLocalTransform",value:function(e){this.setLocalScale(e,l6,!1),this.setLocalPosition(e,_l,!1),this.setLocalEulerAngles(e,_l,void 0,void 0,!1),this.setLocalSkew(e,o6,void 0,!1),this.dirtifyLocal(e,e.transformable)}},{key:"getTransformedGeometryBounds",value:function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,i=arguments.length>2?arguments[2]:void 0,a=this.getGeometryBounds(e,n);if(!ge.isEmpty(a)){var s=i||new ge;return s.setFromTransformedAABB(a,this.getWorldTransform(e)),s}return null}},{key:"getGeometryBounds",value:function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,i=e,a=i.geometry;a.dirty&&ft.styleValueRegistry.updateGeometry(e);var s=n?a.renderBounds:a.contentBounds||null;return s||new ge}},{key:"getBounds",value:function(e){var n=this,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,a=e,s=a.renderable;if(!s.boundsDirty&&!i&&s.bounds)return s.bounds;if(!s.renderBoundsDirty&&i&&s.renderBounds)return s.renderBounds;var o=i?s.renderBounds:s.bounds,l=this.getTransformedGeometryBounds(e,i,o),u=e.childNodes;if(u.forEach(function(d){var f=n.getBounds(d,i);f&&(l?l.add(f):(l=o||new ge,l.update(f.center,f.halfExtents)))}),l||(l=new ge),i){var c=MT(e);if(c){var h=c.parsedStyle.clipPath.getBounds(i);l?h&&(l=h.intersection(l)):l.update(h.center,h.halfExtents)}}return i?(s.renderBounds=l,s.renderBoundsDirty=!1):(s.bounds=l,s.boundsDirty=!1),l}},{key:"getLocalBounds",value:function(e){if(e.parentNode){var n=u6;e.parentNode.transformable&&(n=Kr(rs,this.getWorldTransform(e.parentNode)));var i=this.getBounds(e);if(!ge.isEmpty(i)){var a=new ge;return a.setFromTransformedAABB(i,n),a}}return this.getBounds(e)}},{key:"getBoundingClientRect",value:function(e){var n,i,a=this.getGeometryBounds(e);ge.isEmpty(a)||(i=new ge,i.setFromTransformedAABB(a,this.getWorldTransform(e)));var s=(n=e.ownerDocument)===null||n===void 0||(n=n.defaultView)===null||n===void 0?void 0:n.getContextService().getBoundingClientRect();if(i){var o=i.getMin(),l=qt(o,2),u=l[0],c=l[1],h=i.getMax(),d=qt(h,2),f=d[0],g=d[1];return new Ms(u+((s==null?void 0:s.left)||0),c+((s==null?void 0:s.top)||0),f-u,g-c)}return new Ms((s==null?void 0:s.left)||0,(s==null?void 0:s.top)||0,0,0)}},{key:"dirtifyWorldInternal",value:function(e,n){var i=this;if(!n.dirtyFlag){n.dirtyFlag=!0,n.frozen=!1,e.childNodes.forEach(function(o){var l=o.transformable;l.dirtyFlag||i.dirtifyWorldInternal(o,l)});var a=e,s=a.renderable;s&&(s.renderBoundsDirty=!0,s.boundsDirty=!0,s.dirty=!0)}}},{key:"syncHierarchy",value:function(e){var n=e.transformable;if(!n.frozen){n.frozen=!0,(n.localDirtyFlag||n.dirtyFlag)&&this.sync(e,n);for(var i=e.childNodes,a=0;a<i.length;a++)this.syncHierarchy(i[a])}}},{key:"sync",value:function(e,n){if(n.localDirtyFlag&&(this.calcLocalTransform(n),n.localDirtyFlag=!1),n.dirtyFlag){var i=e.parentNode,a=i&&i.transformable;i===null||!a?Es(n.worldTransform,n.localTransform):Tn(n.worldTransform,a.worldTransform,n.localTransform),n.dirtyFlag=!1}}},{key:"unfreezeParentToRoot",value:function(e){for(var n=e.parentNode;n;){var i=n.transformable;i&&(i.frozen=!1),n=n.parentNode}}}])}(),fa={MetricsString:"|ÉqÅ",BaselineSymbol:"M",BaselineMultiplier:1.4,HeightMultiplier:2,Newlines:[10,13],BreakingSpaces:[9,32,8192,8193,8194,8195,8196,8197,8198,8200,8201,8202,8287,12288]},Zb=/[a-zA-Z0-9\u00C0-\u00D6\u00D8-\u00f6\u00f8-\u00ff!"#$%&'()*+,-./:;]/,v6=/[!%),.:;?\]}¢°·'""†‡›℃∶、。〃〆〕〗〞﹚﹜!"%'),.:;?!]}~]/,p6=/[$(£¥·'"〈《「『【〔〖〝﹙﹛$(.[{£¥]/,y6=/[!),.:;?\]}¢·–—'"•"、。〆〞〕〉》」︰︱︲︳﹐﹑﹒﹔﹕﹖﹘﹚﹜!),.:;?︶︸︺︼︾﹀﹂﹗]|}、]/,m6=/[([{£¥'"‵〈《「『〔〝︴﹙﹛({︵︷︹︻︽︿﹁﹃﹏]/,b6=/[)\]}〕〉》」』】〙〗〟'"⦆»ヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻‐゠–〜?!‼⁇⁈⁉・、:;,。.]/,w6=/[([{〔〈《「『【〘〖〝'"⦅«—...‥〳〴〵]/,x6=/[!%),.:;?\]}¢°'"†‡℃〆〈《「『〕!%),.:;?]}]/,E6=/[$([{£¥'"々〇〉》」〔$([{⦆¥₩#]/,S6=new RegExp("".concat(v6.source,"|").concat(y6.source,"|").concat(b6.source,"|").concat(x6.source)),_6=new RegExp("".concat(p6.source,"|").concat(m6.source,"|").concat(w6.source,"|").concat(E6.source)),M6=function(){function r(t){var e=this;ht(this,r),this.fontMetricsCache={},this.shouldBreakByKinsokuShorui=function(n,i){return e.isBreakingSpace(i)?!1:!!(n&&(_6.exec(i)||S6.exec(n)))},this.trimByKinsokuShorui=function(n){var i=Zt(n),a=i[i.length-2];if(!a)return n;var s=a[a.length-1];return i[i.length-2]=a.slice(0,-1),i[i.length-1]=s+i[i.length-1],i},this.runtime=t}return dt(r,[{key:"measureFont",value:function(e,n){if(this.fontMetricsCache[e])return this.fontMetricsCache[e];var i={ascent:0,descent:0,fontSize:0},a=this.runtime.offscreenCanvasCreator.getOrCreateCanvas(n),s=this.runtime.offscreenCanvasCreator.getOrCreateContext(n,{willReadFrequently:!0});s.font=e;var o=fa.MetricsString+fa.BaselineSymbol,l=Math.ceil(s.measureText(o).width),u=Math.ceil(s.measureText(fa.BaselineSymbol).width),c=fa.HeightMultiplier*u;u=u*fa.BaselineMultiplier|0,a.width=l,a.height=c,s.fillStyle="#f00",s.fillRect(0,0,l,c),s.font=e,s.textBaseline="alphabetic",s.fillStyle="#000",s.fillText(o,0,u);var h=s.getImageData(0,0,l||1,c||1).data,d=h.length,f=l*4,g=0,p=0,v=!1;for(g=0;g<u;++g){for(var y=0;y<f;y+=4)if(h[p+y]!==255){v=!0;break}if(!v)p+=f;else break}for(i.ascent=u-g,p=d-f,v=!1,g=c;g>u;--g){for(var m=0;m<f;m+=4)if(h[p+m]!==255){v=!0;break}if(!v)p-=f;else break}return i.descent=g-u,i.fontSize=i.ascent+i.descent,this.fontMetricsCache[e]=i,i}},{key:"measureText",value:function(e,n,i){var a=n.fontSize,s=a===void 0?16:a,o=n.wordWrap,l=o===void 0?!1:o,u=n.lineHeight,c=n.lineWidth,h=c===void 0?1:c,d=n.textBaseline,f=d===void 0?"alphabetic":d,g=n.textAlign,p=g===void 0?"start":g,v=n.letterSpacing,y=v===void 0?0:v,m=n.textPath;n.textPathSide,n.textPathStartOffset;var w=n.leading,S=w===void 0?0:w,_=BD(n),k=this.measureFont(_,i);k.fontSize===0&&(k.fontSize=s,k.ascent=s);var T=this.runtime.offscreenCanvasCreator.getOrCreateContext(i);T.font=_,n.isOverflowing=!1;var O=l?this.wordWrap(e,n,i):e,P=O.split(/(?:\r\n|\r|\n)/),N=new Array(P.length),C=0;if(m){m.getTotalLength();for(var L=0;L<P.length;L++)T.measureText(P[L]).width+(P[L].length-1)*y}else{for(var F=0;F<P.length;F++){var G=T.measureText(P[F]).width+(P[F].length-1)*y;N[F]=G,C=Math.max(C,G)}var V=C+h,U=u||k.fontSize+h,q=Math.max(U,k.fontSize+h)+(P.length-1)*(U+S);U+=S;var j=0;return f==="middle"?j=-q/2:f==="bottom"||f==="alphabetic"||f==="ideographic"?j=-q:(f==="top"||f==="hanging")&&(j=0),{font:_,width:V,height:q,lines:P,lineWidths:N,lineHeight:U,maxLineWidth:C,fontProperties:k,lineMetrics:N.map(function(Z,nt){var st=0;return p==="center"||p==="middle"?st-=Z/2:(p==="right"||p==="end")&&(st-=Z),new Ms(st-h/2,j+nt*U,Z+h,U)})}}}},{key:"wordWrap",value:function(e,n,i){var a=this,s=this,o=n.wordWrapWidth,l=o===void 0?0:o,u=n.letterSpacing,c=u===void 0?0:u,h=n.maxLines,d=h===void 0?1/0:h,f=n.textOverflow,g=this.runtime.offscreenCanvasCreator.getOrCreateContext(i),p=l+c,v="";f==="ellipsis"?v="...":f&&f!=="clip"&&(v=f);var y=Array.from(e),m=[],w=0,S=0,_=-1,k={},T=function(j){return a.getFromCache(j,c,k,g)},O=T(v);function P(q,j,Z,nt){for(;T(q)<nt&&j<y.length-1&&!s.isNewline(y[j+1]);)j+=1,q+=y[j];for(;T(q)>nt&&j>=Z;)j-=1,q=q.slice(0,-1);return{lineTxt:q,txtLastCharIndex:j}}function N(q,j){if(!(O<=0||O>p)){if(!m[q]){m[q]=v;return}var Z=P(m[q],j,_+1,p-O);m[q]=Z.lineTxt+v}}for(var C=0;C<y.length;C++){var L=y[C],F=y[C-1],G=y[C+1],V=T(L);if(this.isNewline(L)){if(w+1>=d){n.isOverflowing=!0,C<y.length-1&&N(w,C-1);break}_=C-1,w+=1,S=0,m[w]="";continue}if(S>0&&S+V>p){var U=P(m[w],C-1,_+1,p);if(U.txtLastCharIndex!==C-1){if(m[w]=U.lineTxt,U.txtLastCharIndex===y.length-1)break;C=U.txtLastCharIndex+1,L=y[C],F=y[C-1],G=y[C+1],V=T(L)}if(w+1>=d){n.isOverflowing=!0,N(w,C-1);break}if(_=C-1,w+=1,S=0,m[w]="",this.isBreakingSpace(L))continue;this.canBreakInLastChar(L)||(m=this.trimToBreakable(m),S=this.sumTextWidthByCache(m[w]||"",T)),this.shouldBreakByKinsokuShorui(L,G)&&(m=this.trimByKinsokuShorui(m),S+=T(F||""))}S+=V,m[w]=(m[w]||"")+L}return m.join(`
|
|
@@ -10,7 +10,7 @@ ${e}]
|
|
|
10
10
|
${e}rows: ${R.rows}
|
|
11
11
|
${e}columns: ${R.columns}
|
|
12
12
|
}`}function s(R,x,E,b,M){const{rows:A,columns:I}=R,D=Math.min(A,x),B=Math.min(I,E),z=[];if(M==="auto"){M=!1;t:for(let Q=0;Q<D;Q++)for(let Y=0;Y<B;Y++)if(R.get(Q,Y)<0){M=!0;break t}}for(let Q=0;Q<D;Q++){let Y=[];for(let at=0;at<B;at++)Y.push(o(R.get(Q,at),b,M));z.push(`${Y.join(" ")}`)}return B!==I&&(z[z.length-1]+=` ... ${I-E} more columns`),D!==A&&z.push(`... ${A-x} more rows`),z.join(`
|
|
13
|
-
${n}`)}function o(R,x,E){return(R>=0&&E?` ${l(R,x-1)}`:l(R,x)).padEnd(x)}function l(R,x){let E=R.toString();if(E.length<=x)return E;let b=R.toFixed(x);if(b.length>x&&(b=R.toFixed(Math.max(0,x-(b.length-x)))),b.length<=x&&!b.startsWith("0.000")&&!b.startsWith("-0.000"))return b;let M=R.toExponential(x);return M.length>x&&(M=R.toExponential(Math.max(0,x-(M.length-x)))),M.slice(0)}function u(R,x){R.prototype.add=function(b){return typeof b=="number"?this.addS(b):this.addM(b)},R.prototype.addS=function(b){for(let M=0;M<this.rows;M++)for(let A=0;A<this.columns;A++)this.set(M,A,this.get(M,A)+b);return this},R.prototype.addM=function(b){if(b=x.checkMatrix(b),this.rows!==b.rows||this.columns!==b.columns)throw new RangeError("Matrices dimensions must be equal");for(let M=0;M<this.rows;M++)for(let A=0;A<this.columns;A++)this.set(M,A,this.get(M,A)+b.get(M,A));return this},R.add=function(b,M){return new x(b).add(M)},R.prototype.sub=function(b){return typeof b=="number"?this.subS(b):this.subM(b)},R.prototype.subS=function(b){for(let M=0;M<this.rows;M++)for(let A=0;A<this.columns;A++)this.set(M,A,this.get(M,A)-b);return this},R.prototype.subM=function(b){if(b=x.checkMatrix(b),this.rows!==b.rows||this.columns!==b.columns)throw new RangeError("Matrices dimensions must be equal");for(let M=0;M<this.rows;M++)for(let A=0;A<this.columns;A++)this.set(M,A,this.get(M,A)-b.get(M,A));return this},R.sub=function(b,M){return new x(b).sub(M)},R.prototype.subtract=R.prototype.sub,R.prototype.subtractS=R.prototype.subS,R.prototype.subtractM=R.prototype.subM,R.subtract=R.sub,R.prototype.mul=function(b){return typeof b=="number"?this.mulS(b):this.mulM(b)},R.prototype.mulS=function(b){for(let M=0;M<this.rows;M++)for(let A=0;A<this.columns;A++)this.set(M,A,this.get(M,A)*b);return this},R.prototype.mulM=function(b){if(b=x.checkMatrix(b),this.rows!==b.rows||this.columns!==b.columns)throw new RangeError("Matrices dimensions must be equal");for(let M=0;M<this.rows;M++)for(let A=0;A<this.columns;A++)this.set(M,A,this.get(M,A)*b.get(M,A));return this},R.mul=function(b,M){return new x(b).mul(M)},R.prototype.multiply=R.prototype.mul,R.prototype.multiplyS=R.prototype.mulS,R.prototype.multiplyM=R.prototype.mulM,R.multiply=R.mul,R.prototype.div=function(b){return typeof b=="number"?this.divS(b):this.divM(b)},R.prototype.divS=function(b){for(let M=0;M<this.rows;M++)for(let A=0;A<this.columns;A++)this.set(M,A,this.get(M,A)/b);return this},R.prototype.divM=function(b){if(b=x.checkMatrix(b),this.rows!==b.rows||this.columns!==b.columns)throw new RangeError("Matrices dimensions must be equal");for(let M=0;M<this.rows;M++)for(let A=0;A<this.columns;A++)this.set(M,A,this.get(M,A)/b.get(M,A));return this},R.div=function(b,M){return new x(b).div(M)},R.prototype.divide=R.prototype.div,R.prototype.divideS=R.prototype.divS,R.prototype.divideM=R.prototype.divM,R.divide=R.div,R.prototype.mod=function(b){return typeof b=="number"?this.modS(b):this.modM(b)},R.prototype.modS=function(b){for(let M=0;M<this.rows;M++)for(let A=0;A<this.columns;A++)this.set(M,A,this.get(M,A)%b);return this},R.prototype.modM=function(b){if(b=x.checkMatrix(b),this.rows!==b.rows||this.columns!==b.columns)throw new RangeError("Matrices dimensions must be equal");for(let M=0;M<this.rows;M++)for(let A=0;A<this.columns;A++)this.set(M,A,this.get(M,A)%b.get(M,A));return this},R.mod=function(b,M){return new x(b).mod(M)},R.prototype.modulus=R.prototype.mod,R.prototype.modulusS=R.prototype.modS,R.prototype.modulusM=R.prototype.modM,R.modulus=R.mod,R.prototype.and=function(b){return typeof b=="number"?this.andS(b):this.andM(b)},R.prototype.andS=function(b){for(let M=0;M<this.rows;M++)for(let A=0;A<this.columns;A++)this.set(M,A,this.get(M,A)&b);return this},R.prototype.andM=function(b){if(b=x.checkMatrix(b),this.rows!==b.rows||this.columns!==b.columns)throw new RangeError("Matrices dimensions must be equal");for(let M=0;M<this.rows;M++)for(let A=0;A<this.columns;A++)this.set(M,A,this.get(M,A)&b.get(M,A));return this},R.and=function(b,M){return new x(b).and(M)},R.prototype.or=function(b){return typeof b=="number"?this.orS(b):this.orM(b)},R.prototype.orS=function(b){for(let M=0;M<this.rows;M++)for(let A=0;A<this.columns;A++)this.set(M,A,this.get(M,A)|b);return this},R.prototype.orM=function(b){if(b=x.checkMatrix(b),this.rows!==b.rows||this.columns!==b.columns)throw new RangeError("Matrices dimensions must be equal");for(let M=0;M<this.rows;M++)for(let A=0;A<this.columns;A++)this.set(M,A,this.get(M,A)|b.get(M,A));return this},R.or=function(b,M){return new x(b).or(M)},R.prototype.xor=function(b){return typeof b=="number"?this.xorS(b):this.xorM(b)},R.prototype.xorS=function(b){for(let M=0;M<this.rows;M++)for(let A=0;A<this.columns;A++)this.set(M,A,this.get(M,A)^b);return this},R.prototype.xorM=function(b){if(b=x.checkMatrix(b),this.rows!==b.rows||this.columns!==b.columns)throw new RangeError("Matrices dimensions must be equal");for(let M=0;M<this.rows;M++)for(let A=0;A<this.columns;A++)this.set(M,A,this.get(M,A)^b.get(M,A));return this},R.xor=function(b,M){return new x(b).xor(M)},R.prototype.leftShift=function(b){return typeof b=="number"?this.leftShiftS(b):this.leftShiftM(b)},R.prototype.leftShiftS=function(b){for(let M=0;M<this.rows;M++)for(let A=0;A<this.columns;A++)this.set(M,A,this.get(M,A)<<b);return this},R.prototype.leftShiftM=function(b){if(b=x.checkMatrix(b),this.rows!==b.rows||this.columns!==b.columns)throw new RangeError("Matrices dimensions must be equal");for(let M=0;M<this.rows;M++)for(let A=0;A<this.columns;A++)this.set(M,A,this.get(M,A)<<b.get(M,A));return this},R.leftShift=function(b,M){return new x(b).leftShift(M)},R.prototype.signPropagatingRightShift=function(b){return typeof b=="number"?this.signPropagatingRightShiftS(b):this.signPropagatingRightShiftM(b)},R.prototype.signPropagatingRightShiftS=function(b){for(let M=0;M<this.rows;M++)for(let A=0;A<this.columns;A++)this.set(M,A,this.get(M,A)>>b);return this},R.prototype.signPropagatingRightShiftM=function(b){if(b=x.checkMatrix(b),this.rows!==b.rows||this.columns!==b.columns)throw new RangeError("Matrices dimensions must be equal");for(let M=0;M<this.rows;M++)for(let A=0;A<this.columns;A++)this.set(M,A,this.get(M,A)>>b.get(M,A));return this},R.signPropagatingRightShift=function(b,M){return new x(b).signPropagatingRightShift(M)},R.prototype.rightShift=function(b){return typeof b=="number"?this.rightShiftS(b):this.rightShiftM(b)},R.prototype.rightShiftS=function(b){for(let M=0;M<this.rows;M++)for(let A=0;A<this.columns;A++)this.set(M,A,this.get(M,A)>>>b);return this},R.prototype.rightShiftM=function(b){if(b=x.checkMatrix(b),this.rows!==b.rows||this.columns!==b.columns)throw new RangeError("Matrices dimensions must be equal");for(let M=0;M<this.rows;M++)for(let A=0;A<this.columns;A++)this.set(M,A,this.get(M,A)>>>b.get(M,A));return this},R.rightShift=function(b,M){return new x(b).rightShift(M)},R.prototype.zeroFillRightShift=R.prototype.rightShift,R.prototype.zeroFillRightShiftS=R.prototype.rightShiftS,R.prototype.zeroFillRightShiftM=R.prototype.rightShiftM,R.zeroFillRightShift=R.rightShift,R.prototype.not=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,~this.get(b,M));return this},R.not=function(b){return new x(b).not()},R.prototype.abs=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.abs(this.get(b,M)));return this},R.abs=function(b){return new x(b).abs()},R.prototype.acos=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.acos(this.get(b,M)));return this},R.acos=function(b){return new x(b).acos()},R.prototype.acosh=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.acosh(this.get(b,M)));return this},R.acosh=function(b){return new x(b).acosh()},R.prototype.asin=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.asin(this.get(b,M)));return this},R.asin=function(b){return new x(b).asin()},R.prototype.asinh=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.asinh(this.get(b,M)));return this},R.asinh=function(b){return new x(b).asinh()},R.prototype.atan=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.atan(this.get(b,M)));return this},R.atan=function(b){return new x(b).atan()},R.prototype.atanh=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.atanh(this.get(b,M)));return this},R.atanh=function(b){return new x(b).atanh()},R.prototype.cbrt=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.cbrt(this.get(b,M)));return this},R.cbrt=function(b){return new x(b).cbrt()},R.prototype.ceil=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.ceil(this.get(b,M)));return this},R.ceil=function(b){return new x(b).ceil()},R.prototype.clz32=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.clz32(this.get(b,M)));return this},R.clz32=function(b){return new x(b).clz32()},R.prototype.cos=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.cos(this.get(b,M)));return this},R.cos=function(b){return new x(b).cos()},R.prototype.cosh=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.cosh(this.get(b,M)));return this},R.cosh=function(b){return new x(b).cosh()},R.prototype.exp=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.exp(this.get(b,M)));return this},R.exp=function(b){return new x(b).exp()},R.prototype.expm1=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.expm1(this.get(b,M)));return this},R.expm1=function(b){return new x(b).expm1()},R.prototype.floor=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.floor(this.get(b,M)));return this},R.floor=function(b){return new x(b).floor()},R.prototype.fround=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.fround(this.get(b,M)));return this},R.fround=function(b){return new x(b).fround()},R.prototype.log=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.log(this.get(b,M)));return this},R.log=function(b){return new x(b).log()},R.prototype.log1p=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.log1p(this.get(b,M)));return this},R.log1p=function(b){return new x(b).log1p()},R.prototype.log10=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.log10(this.get(b,M)));return this},R.log10=function(b){return new x(b).log10()},R.prototype.log2=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.log2(this.get(b,M)));return this},R.log2=function(b){return new x(b).log2()},R.prototype.round=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.round(this.get(b,M)));return this},R.round=function(b){return new x(b).round()},R.prototype.sign=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.sign(this.get(b,M)));return this},R.sign=function(b){return new x(b).sign()},R.prototype.sin=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.sin(this.get(b,M)));return this},R.sin=function(b){return new x(b).sin()},R.prototype.sinh=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.sinh(this.get(b,M)));return this},R.sinh=function(b){return new x(b).sinh()},R.prototype.sqrt=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.sqrt(this.get(b,M)));return this},R.sqrt=function(b){return new x(b).sqrt()},R.prototype.tan=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.tan(this.get(b,M)));return this},R.tan=function(b){return new x(b).tan()},R.prototype.tanh=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.tanh(this.get(b,M)));return this},R.tanh=function(b){return new x(b).tanh()},R.prototype.trunc=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.trunc(this.get(b,M)));return this},R.trunc=function(b){return new x(b).trunc()},R.pow=function(b,M){return new x(b).pow(M)},R.prototype.pow=function(b){return typeof b=="number"?this.powS(b):this.powM(b)},R.prototype.powS=function(b){for(let M=0;M<this.rows;M++)for(let A=0;A<this.columns;A++)this.set(M,A,this.get(M,A)**b);return this},R.prototype.powM=function(b){if(b=x.checkMatrix(b),this.rows!==b.rows||this.columns!==b.columns)throw new RangeError("Matrices dimensions must be equal");for(let M=0;M<this.rows;M++)for(let A=0;A<this.columns;A++)this.set(M,A,this.get(M,A)**b.get(M,A));return this}}function c(R,x,E){let b=E?R.rows:R.rows-1;if(x<0||x>b)throw new RangeError("Row index out of range")}function h(R,x,E){let b=E?R.columns:R.columns-1;if(x<0||x>b)throw new RangeError("Column index out of range")}function d(R,x){if(x.to1DArray&&(x=x.to1DArray()),x.length!==R.columns)throw new RangeError("vector size must be the same as the number of columns");return x}function f(R,x){if(x.to1DArray&&(x=x.to1DArray()),x.length!==R.rows)throw new RangeError("vector size must be the same as the number of rows");return x}function g(R,x){if(!r.isAnyArray(x))throw new TypeError("row indices must be an array");for(let E=0;E<x.length;E++)if(x[E]<0||x[E]>=R.rows)throw new RangeError("row indices are out of range")}function p(R,x){if(!r.isAnyArray(x))throw new TypeError("column indices must be an array");for(let E=0;E<x.length;E++)if(x[E]<0||x[E]>=R.columns)throw new RangeError("column indices are out of range")}function v(R,x,E,b,M){if(arguments.length!==5)throw new RangeError("expected 4 arguments");if(m("startRow",x),m("endRow",E),m("startColumn",b),m("endColumn",M),x>E||b>M||x<0||x>=R.rows||E<0||E>=R.rows||b<0||b>=R.columns||M<0||M>=R.columns)throw new RangeError("Submatrix indices are out of range")}function y(R,x=0){let E=[];for(let b=0;b<R;b++)E.push(x);return E}function m(R,x){if(typeof x!="number")throw new TypeError(`${R} must be a number`)}function w(R){if(R.isEmpty())throw new Error("Empty matrix has no elements to index")}function S(R){let x=y(R.rows);for(let E=0;E<R.rows;++E)for(let b=0;b<R.columns;++b)x[E]+=R.get(E,b);return x}function _(R){let x=y(R.columns);for(let E=0;E<R.rows;++E)for(let b=0;b<R.columns;++b)x[b]+=R.get(E,b);return x}function k(R){let x=0;for(let E=0;E<R.rows;E++)for(let b=0;b<R.columns;b++)x+=R.get(E,b);return x}function T(R){let x=y(R.rows,1);for(let E=0;E<R.rows;++E)for(let b=0;b<R.columns;++b)x[E]*=R.get(E,b);return x}function O(R){let x=y(R.columns,1);for(let E=0;E<R.rows;++E)for(let b=0;b<R.columns;++b)x[b]*=R.get(E,b);return x}function P(R){let x=1;for(let E=0;E<R.rows;E++)for(let b=0;b<R.columns;b++)x*=R.get(E,b);return x}function N(R,x,E){const b=R.rows,M=R.columns,A=[];for(let I=0;I<b;I++){let D=0,B=0,z=0;for(let Q=0;Q<M;Q++)z=R.get(I,Q)-E[I],D+=z,B+=z*z;x?A.push((B-D*D/M)/(M-1)):A.push((B-D*D/M)/M)}return A}function C(R,x,E){const b=R.rows,M=R.columns,A=[];for(let I=0;I<M;I++){let D=0,B=0,z=0;for(let Q=0;Q<b;Q++)z=R.get(Q,I)-E[I],D+=z,B+=z*z;x?A.push((B-D*D/b)/(b-1)):A.push((B-D*D/b)/b)}return A}function L(R,x,E){const b=R.rows,M=R.columns,A=b*M;let I=0,D=0,B=0;for(let z=0;z<b;z++)for(let Q=0;Q<M;Q++)B=R.get(z,Q)-E,I+=B,D+=B*B;return x?(D-I*I/A)/(A-1):(D-I*I/A)/A}function F(R,x){for(let E=0;E<R.rows;E++)for(let b=0;b<R.columns;b++)R.set(E,b,R.get(E,b)-x[E])}function G(R,x){for(let E=0;E<R.rows;E++)for(let b=0;b<R.columns;b++)R.set(E,b,R.get(E,b)-x[b])}function V(R,x){for(let E=0;E<R.rows;E++)for(let b=0;b<R.columns;b++)R.set(E,b,R.get(E,b)-x)}function U(R){const x=[];for(let E=0;E<R.rows;E++){let b=0;for(let M=0;M<R.columns;M++)b+=R.get(E,M)**2/(R.columns-1);x.push(Math.sqrt(b))}return x}function q(R,x){for(let E=0;E<R.rows;E++)for(let b=0;b<R.columns;b++)R.set(E,b,R.get(E,b)/x[E])}function j(R){const x=[];for(let E=0;E<R.columns;E++){let b=0;for(let M=0;M<R.rows;M++)b+=R.get(M,E)**2/(R.rows-1);x.push(Math.sqrt(b))}return x}function Z(R,x){for(let E=0;E<R.rows;E++)for(let b=0;b<R.columns;b++)R.set(E,b,R.get(E,b)/x[b])}function nt(R){const x=R.size-1;let E=0;for(let b=0;b<R.columns;b++)for(let M=0;M<R.rows;M++)E+=R.get(M,b)**2/x;return Math.sqrt(E)}function st(R,x){for(let E=0;E<R.rows;E++)for(let b=0;b<R.columns;b++)R.set(E,b,R.get(E,b)/x)}class ot{static from1DArray(x,E,b){if(x*E!==b.length)throw new RangeError("data length does not match given dimensions");let A=new W(x,E);for(let I=0;I<x;I++)for(let D=0;D<E;D++)A.set(I,D,b[I*E+D]);return A}static rowVector(x){let E=new W(1,x.length);for(let b=0;b<x.length;b++)E.set(0,b,x[b]);return E}static columnVector(x){let E=new W(x.length,1);for(let b=0;b<x.length;b++)E.set(b,0,x[b]);return E}static zeros(x,E){return new W(x,E)}static ones(x,E){return new W(x,E).fill(1)}static rand(x,E,b={}){if(typeof b!="object")throw new TypeError("options must be an object");const{random:M=Math.random}=b;let A=new W(x,E);for(let I=0;I<x;I++)for(let D=0;D<E;D++)A.set(I,D,M());return A}static randInt(x,E,b={}){if(typeof b!="object")throw new TypeError("options must be an object");const{min:M=0,max:A=1e3,random:I=Math.random}=b;if(!Number.isInteger(M))throw new TypeError("min must be an integer");if(!Number.isInteger(A))throw new TypeError("max must be an integer");if(M>=A)throw new RangeError("min must be smaller than max");let D=A-M,B=new W(x,E);for(let z=0;z<x;z++)for(let Q=0;Q<E;Q++){let Y=M+Math.round(I()*D);B.set(z,Q,Y)}return B}static eye(x,E,b){E===void 0&&(E=x),b===void 0&&(b=1);let M=Math.min(x,E),A=this.zeros(x,E);for(let I=0;I<M;I++)A.set(I,I,b);return A}static diag(x,E,b){let M=x.length;E===void 0&&(E=M),b===void 0&&(b=E);let A=Math.min(M,E,b),I=this.zeros(E,b);for(let D=0;D<A;D++)I.set(D,D,x[D]);return I}static min(x,E){x=this.checkMatrix(x),E=this.checkMatrix(E);let b=x.rows,M=x.columns,A=new W(b,M);for(let I=0;I<b;I++)for(let D=0;D<M;D++)A.set(I,D,Math.min(x.get(I,D),E.get(I,D)));return A}static max(x,E){x=this.checkMatrix(x),E=this.checkMatrix(E);let b=x.rows,M=x.columns,A=new this(b,M);for(let I=0;I<b;I++)for(let D=0;D<M;D++)A.set(I,D,Math.max(x.get(I,D),E.get(I,D)));return A}static checkMatrix(x){return ot.isMatrix(x)?x:new W(x)}static isMatrix(x){return x!=null&&x.klass==="Matrix"}get size(){return this.rows*this.columns}apply(x){if(typeof x!="function")throw new TypeError("callback must be a function");for(let E=0;E<this.rows;E++)for(let b=0;b<this.columns;b++)x.call(this,E,b);return this}to1DArray(){let x=[];for(let E=0;E<this.rows;E++)for(let b=0;b<this.columns;b++)x.push(this.get(E,b));return x}to2DArray(){let x=[];for(let E=0;E<this.rows;E++){x.push([]);for(let b=0;b<this.columns;b++)x[E].push(this.get(E,b))}return x}toJSON(){return this.to2DArray()}isRowVector(){return this.rows===1}isColumnVector(){return this.columns===1}isVector(){return this.rows===1||this.columns===1}isSquare(){return this.rows===this.columns}isEmpty(){return this.rows===0||this.columns===0}isSymmetric(){if(this.isSquare()){for(let x=0;x<this.rows;x++)for(let E=0;E<=x;E++)if(this.get(x,E)!==this.get(E,x))return!1;return!0}return!1}isDistance(){if(!this.isSymmetric())return!1;for(let x=0;x<this.rows;x++)if(this.get(x,x)!==0)return!1;return!0}isEchelonForm(){let x=0,E=0,b=-1,M=!0,A=!1;for(;x<this.rows&&M;){for(E=0,A=!1;E<this.columns&&A===!1;)this.get(x,E)===0?E++:this.get(x,E)===1&&E>b?(A=!0,b=E):(M=!1,A=!0);x++}return M}isReducedEchelonForm(){let x=0,E=0,b=-1,M=!0,A=!1;for(;x<this.rows&&M;){for(E=0,A=!1;E<this.columns&&A===!1;)this.get(x,E)===0?E++:this.get(x,E)===1&&E>b?(A=!0,b=E):(M=!1,A=!0);for(let I=E+1;I<this.rows;I++)this.get(x,I)!==0&&(M=!1);x++}return M}echelonForm(){let x=this.clone(),E=0,b=0;for(;E<x.rows&&b<x.columns;){let M=E;for(let A=E;A<x.rows;A++)x.get(A,b)>x.get(M,b)&&(M=A);if(x.get(M,b)===0)b++;else{x.swapRows(E,M);let A=x.get(E,b);for(let I=b;I<x.columns;I++)x.set(E,I,x.get(E,I)/A);for(let I=E+1;I<x.rows;I++){let D=x.get(I,b)/x.get(E,b);x.set(I,b,0);for(let B=b+1;B<x.columns;B++)x.set(I,B,x.get(I,B)-x.get(E,B)*D)}E++,b++}}return x}reducedEchelonForm(){let x=this.echelonForm(),E=x.columns,b=x.rows,M=b-1;for(;M>=0;)if(x.maxRow(M)===0)M--;else{let A=0,I=!1;for(;A<b&&I===!1;)x.get(M,A)===1?I=!0:A++;for(let D=0;D<M;D++){let B=x.get(D,A);for(let z=A;z<E;z++){let Q=x.get(D,z)-B*x.get(M,z);x.set(D,z,Q)}}M--}return x}set(){throw new Error("set method is unimplemented")}get(){throw new Error("get method is unimplemented")}repeat(x={}){if(typeof x!="object")throw new TypeError("options must be an object");const{rows:E=1,columns:b=1}=x;if(!Number.isInteger(E)||E<=0)throw new TypeError("rows must be a positive integer");if(!Number.isInteger(b)||b<=0)throw new TypeError("columns must be a positive integer");let M=new W(this.rows*E,this.columns*b);for(let A=0;A<E;A++)for(let I=0;I<b;I++)M.setSubMatrix(this,this.rows*A,this.columns*I);return M}fill(x){for(let E=0;E<this.rows;E++)for(let b=0;b<this.columns;b++)this.set(E,b,x);return this}neg(){return this.mulS(-1)}getRow(x){c(this,x);let E=[];for(let b=0;b<this.columns;b++)E.push(this.get(x,b));return E}getRowVector(x){return W.rowVector(this.getRow(x))}setRow(x,E){c(this,x),E=d(this,E);for(let b=0;b<this.columns;b++)this.set(x,b,E[b]);return this}swapRows(x,E){c(this,x),c(this,E);for(let b=0;b<this.columns;b++){let M=this.get(x,b);this.set(x,b,this.get(E,b)),this.set(E,b,M)}return this}getColumn(x){h(this,x);let E=[];for(let b=0;b<this.rows;b++)E.push(this.get(b,x));return E}getColumnVector(x){return W.columnVector(this.getColumn(x))}setColumn(x,E){h(this,x),E=f(this,E);for(let b=0;b<this.rows;b++)this.set(b,x,E[b]);return this}swapColumns(x,E){h(this,x),h(this,E);for(let b=0;b<this.rows;b++){let M=this.get(b,x);this.set(b,x,this.get(b,E)),this.set(b,E,M)}return this}addRowVector(x){x=d(this,x);for(let E=0;E<this.rows;E++)for(let b=0;b<this.columns;b++)this.set(E,b,this.get(E,b)+x[b]);return this}subRowVector(x){x=d(this,x);for(let E=0;E<this.rows;E++)for(let b=0;b<this.columns;b++)this.set(E,b,this.get(E,b)-x[b]);return this}mulRowVector(x){x=d(this,x);for(let E=0;E<this.rows;E++)for(let b=0;b<this.columns;b++)this.set(E,b,this.get(E,b)*x[b]);return this}divRowVector(x){x=d(this,x);for(let E=0;E<this.rows;E++)for(let b=0;b<this.columns;b++)this.set(E,b,this.get(E,b)/x[b]);return this}addColumnVector(x){x=f(this,x);for(let E=0;E<this.rows;E++)for(let b=0;b<this.columns;b++)this.set(E,b,this.get(E,b)+x[E]);return this}subColumnVector(x){x=f(this,x);for(let E=0;E<this.rows;E++)for(let b=0;b<this.columns;b++)this.set(E,b,this.get(E,b)-x[E]);return this}mulColumnVector(x){x=f(this,x);for(let E=0;E<this.rows;E++)for(let b=0;b<this.columns;b++)this.set(E,b,this.get(E,b)*x[E]);return this}divColumnVector(x){x=f(this,x);for(let E=0;E<this.rows;E++)for(let b=0;b<this.columns;b++)this.set(E,b,this.get(E,b)/x[E]);return this}mulRow(x,E){c(this,x);for(let b=0;b<this.columns;b++)this.set(x,b,this.get(x,b)*E);return this}mulColumn(x,E){h(this,x);for(let b=0;b<this.rows;b++)this.set(b,x,this.get(b,x)*E);return this}max(x){if(this.isEmpty())return NaN;switch(x){case"row":{const E=new Array(this.rows).fill(Number.NEGATIVE_INFINITY);for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.get(b,M)>E[b]&&(E[b]=this.get(b,M));return E}case"column":{const E=new Array(this.columns).fill(Number.NEGATIVE_INFINITY);for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.get(b,M)>E[M]&&(E[M]=this.get(b,M));return E}case void 0:{let E=this.get(0,0);for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.get(b,M)>E&&(E=this.get(b,M));return E}default:throw new Error(`invalid option: ${x}`)}}maxIndex(){w(this);let x=this.get(0,0),E=[0,0];for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.get(b,M)>x&&(x=this.get(b,M),E[0]=b,E[1]=M);return E}min(x){if(this.isEmpty())return NaN;switch(x){case"row":{const E=new Array(this.rows).fill(Number.POSITIVE_INFINITY);for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.get(b,M)<E[b]&&(E[b]=this.get(b,M));return E}case"column":{const E=new Array(this.columns).fill(Number.POSITIVE_INFINITY);for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.get(b,M)<E[M]&&(E[M]=this.get(b,M));return E}case void 0:{let E=this.get(0,0);for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.get(b,M)<E&&(E=this.get(b,M));return E}default:throw new Error(`invalid option: ${x}`)}}minIndex(){w(this);let x=this.get(0,0),E=[0,0];for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.get(b,M)<x&&(x=this.get(b,M),E[0]=b,E[1]=M);return E}maxRow(x){if(c(this,x),this.isEmpty())return NaN;let E=this.get(x,0);for(let b=1;b<this.columns;b++)this.get(x,b)>E&&(E=this.get(x,b));return E}maxRowIndex(x){c(this,x),w(this);let E=this.get(x,0),b=[x,0];for(let M=1;M<this.columns;M++)this.get(x,M)>E&&(E=this.get(x,M),b[1]=M);return b}minRow(x){if(c(this,x),this.isEmpty())return NaN;let E=this.get(x,0);for(let b=1;b<this.columns;b++)this.get(x,b)<E&&(E=this.get(x,b));return E}minRowIndex(x){c(this,x),w(this);let E=this.get(x,0),b=[x,0];for(let M=1;M<this.columns;M++)this.get(x,M)<E&&(E=this.get(x,M),b[1]=M);return b}maxColumn(x){if(h(this,x),this.isEmpty())return NaN;let E=this.get(0,x);for(let b=1;b<this.rows;b++)this.get(b,x)>E&&(E=this.get(b,x));return E}maxColumnIndex(x){h(this,x),w(this);let E=this.get(0,x),b=[0,x];for(let M=1;M<this.rows;M++)this.get(M,x)>E&&(E=this.get(M,x),b[0]=M);return b}minColumn(x){if(h(this,x),this.isEmpty())return NaN;let E=this.get(0,x);for(let b=1;b<this.rows;b++)this.get(b,x)<E&&(E=this.get(b,x));return E}minColumnIndex(x){h(this,x),w(this);let E=this.get(0,x),b=[0,x];for(let M=1;M<this.rows;M++)this.get(M,x)<E&&(E=this.get(M,x),b[0]=M);return b}diag(){let x=Math.min(this.rows,this.columns),E=[];for(let b=0;b<x;b++)E.push(this.get(b,b));return E}norm(x="frobenius"){switch(x){case"max":return this.max();case"frobenius":return Math.sqrt(this.dot(this));default:throw new RangeError(`unknown norm type: ${x}`)}}cumulativeSum(){let x=0;for(let E=0;E<this.rows;E++)for(let b=0;b<this.columns;b++)x+=this.get(E,b),this.set(E,b,x);return this}dot(x){ot.isMatrix(x)&&(x=x.to1DArray());let E=this.to1DArray();if(E.length!==x.length)throw new RangeError("vectors do not have the same size");let b=0;for(let M=0;M<E.length;M++)b+=E[M]*x[M];return b}mmul(x){x=W.checkMatrix(x);let E=this.rows,b=this.columns,M=x.columns,A=new W(E,M),I=new Float64Array(b);for(let D=0;D<M;D++){for(let B=0;B<b;B++)I[B]=x.get(B,D);for(let B=0;B<E;B++){let z=0;for(let Q=0;Q<b;Q++)z+=this.get(B,Q)*I[Q];A.set(B,D,z)}}return A}strassen2x2(x){x=W.checkMatrix(x);let E=new W(2,2);const b=this.get(0,0),M=x.get(0,0),A=this.get(0,1),I=x.get(0,1),D=this.get(1,0),B=x.get(1,0),z=this.get(1,1),Q=x.get(1,1),Y=(b+z)*(M+Q),at=(D+z)*M,mt=b*(I-Q),et=z*(B-M),lt=(b+A)*Q,_t=(D-b)*(M+I),H=(A-z)*(B+Q),yt=Y+et-lt+H,Tt=mt+lt,Dt=at+et,jt=Y-at+mt+_t;return E.set(0,0,yt),E.set(0,1,Tt),E.set(1,0,Dt),E.set(1,1,jt),E}strassen3x3(x){x=W.checkMatrix(x);let E=new W(3,3);const b=this.get(0,0),M=this.get(0,1),A=this.get(0,2),I=this.get(1,0),D=this.get(1,1),B=this.get(1,2),z=this.get(2,0),Q=this.get(2,1),Y=this.get(2,2),at=x.get(0,0),mt=x.get(0,1),et=x.get(0,2),lt=x.get(1,0),_t=x.get(1,1),H=x.get(1,2),yt=x.get(2,0),Tt=x.get(2,1),Dt=x.get(2,2),jt=(b+M+A-I-D-Q-Y)*_t,Oe=(b-I)*(-mt+_t),Ct=D*(-at+mt+lt-_t-H-yt+Dt),Lt=(-b+I+D)*(at-mt+_t),he=(I+D)*(-at+mt),X=b*at,gt=(-b+z+Q)*(at-et+H),Mt=(-b+z)*(et-H),vt=(z+Q)*(-at+et),Te=(b+M+A-D-B-z-Q)*H,re=Q*(-at+et+lt-_t-H-yt+Tt),we=(-A+Q+Y)*(_t+yt-Tt),Ae=(A-Y)*(_t-Tt),vn=A*yt,_r=(Q+Y)*(-yt+Tt),tn=(-A+D+B)*(H+yt-Dt),Wr=(A-B)*(H-Dt),ci=(D+B)*(-yt+Dt),te=M*lt,pn=B*Tt,Kn=I*et,Zn=z*mt,en=Y*Dt,AC=X+vn+te,PC=jt+Lt+he+X+we+vn+_r,NC=X+gt+vt+Te+vn+tn+ci,CC=Oe+Ct+Lt+X+vn+tn+Wr,RC=Oe+Lt+he+X+pn,LC=vn+tn+Wr+ci+Kn,IC=X+gt+Mt+re+we+Ae+vn,DC=we+Ae+vn+_r+Zn,FC=X+gt+Mt+vt+en;return E.set(0,0,AC),E.set(0,1,PC),E.set(0,2,NC),E.set(1,0,CC),E.set(1,1,RC),E.set(1,2,LC),E.set(2,0,IC),E.set(2,1,DC),E.set(2,2,FC),E}mmulStrassen(x){x=W.checkMatrix(x);let E=this.clone(),b=E.rows,M=E.columns,A=x.rows,I=x.columns;M!==A&&console.warn(`Multiplying ${b} x ${M} and ${A} x ${I} matrix: dimensions do not match.`);function D(Y,at,mt){let et=Y.rows,lt=Y.columns;if(et===at&<===mt)return Y;{let _t=ot.zeros(at,mt);return _t=_t.setSubMatrix(Y,0,0),_t}}let B=Math.max(b,A),z=Math.max(M,I);E=D(E,B,z),x=D(x,B,z);function Q(Y,at,mt,et){if(mt<=512||et<=512)return Y.mmul(at);mt%2===1&&et%2===1?(Y=D(Y,mt+1,et+1),at=D(at,mt+1,et+1)):mt%2===1?(Y=D(Y,mt+1,et),at=D(at,mt+1,et)):et%2===1&&(Y=D(Y,mt,et+1),at=D(at,mt,et+1));let lt=parseInt(Y.rows/2,10),_t=parseInt(Y.columns/2,10),H=Y.subMatrix(0,lt-1,0,_t-1),yt=at.subMatrix(0,lt-1,0,_t-1),Tt=Y.subMatrix(0,lt-1,_t,Y.columns-1),Dt=at.subMatrix(0,lt-1,_t,at.columns-1),jt=Y.subMatrix(lt,Y.rows-1,0,_t-1),Oe=at.subMatrix(lt,at.rows-1,0,_t-1),Ct=Y.subMatrix(lt,Y.rows-1,_t,Y.columns-1),Lt=at.subMatrix(lt,at.rows-1,_t,at.columns-1),he=Q(ot.add(H,Ct),ot.add(yt,Lt),lt,_t),X=Q(ot.add(jt,Ct),yt,lt,_t),gt=Q(H,ot.sub(Dt,Lt),lt,_t),Mt=Q(Ct,ot.sub(Oe,yt),lt,_t),vt=Q(ot.add(H,Tt),Lt,lt,_t),Te=Q(ot.sub(jt,H),ot.add(yt,Dt),lt,_t),re=Q(ot.sub(Tt,Ct),ot.add(Oe,Lt),lt,_t),we=ot.add(he,Mt);we.sub(vt),we.add(re);let Ae=ot.add(gt,vt),vn=ot.add(X,Mt),_r=ot.sub(he,X);_r.add(gt),_r.add(Te);let tn=ot.zeros(2*we.rows,2*we.columns);return tn=tn.setSubMatrix(we,0,0),tn=tn.setSubMatrix(Ae,we.rows,0),tn=tn.setSubMatrix(vn,0,we.columns),tn=tn.setSubMatrix(_r,we.rows,we.columns),tn.subMatrix(0,mt-1,0,et-1)}return Q(E,x,B,z)}scaleRows(x={}){if(typeof x!="object")throw new TypeError("options must be an object");const{min:E=0,max:b=1}=x;if(!Number.isFinite(E))throw new TypeError("min must be a number");if(!Number.isFinite(b))throw new TypeError("max must be a number");if(E>=b)throw new RangeError("min must be smaller than max");let M=new W(this.rows,this.columns);for(let A=0;A<this.rows;A++){const I=this.getRow(A);I.length>0&&t(I,{min:E,max:b,output:I}),M.setRow(A,I)}return M}scaleColumns(x={}){if(typeof x!="object")throw new TypeError("options must be an object");const{min:E=0,max:b=1}=x;if(!Number.isFinite(E))throw new TypeError("min must be a number");if(!Number.isFinite(b))throw new TypeError("max must be a number");if(E>=b)throw new RangeError("min must be smaller than max");let M=new W(this.rows,this.columns);for(let A=0;A<this.columns;A++){const I=this.getColumn(A);I.length&&t(I,{min:E,max:b,output:I}),M.setColumn(A,I)}return M}flipRows(){const x=Math.ceil(this.columns/2);for(let E=0;E<this.rows;E++)for(let b=0;b<x;b++){let M=this.get(E,b),A=this.get(E,this.columns-1-b);this.set(E,b,A),this.set(E,this.columns-1-b,M)}return this}flipColumns(){const x=Math.ceil(this.rows/2);for(let E=0;E<this.columns;E++)for(let b=0;b<x;b++){let M=this.get(b,E),A=this.get(this.rows-1-b,E);this.set(b,E,A),this.set(this.rows-1-b,E,M)}return this}kroneckerProduct(x){x=W.checkMatrix(x);let E=this.rows,b=this.columns,M=x.rows,A=x.columns,I=new W(E*M,b*A);for(let D=0;D<E;D++)for(let B=0;B<b;B++)for(let z=0;z<M;z++)for(let Q=0;Q<A;Q++)I.set(M*D+z,A*B+Q,this.get(D,B)*x.get(z,Q));return I}kroneckerSum(x){if(x=W.checkMatrix(x),!this.isSquare()||!x.isSquare())throw new Error("Kronecker Sum needs two Square Matrices");let E=this.rows,b=x.rows,M=this.kroneckerProduct(W.eye(b,b)),A=W.eye(E,E).kroneckerProduct(x);return M.add(A)}transpose(){let x=new W(this.columns,this.rows);for(let E=0;E<this.rows;E++)for(let b=0;b<this.columns;b++)x.set(b,E,this.get(E,b));return x}sortRows(x=Pt){for(let E=0;E<this.rows;E++)this.setRow(E,this.getRow(E).sort(x));return this}sortColumns(x=Pt){for(let E=0;E<this.columns;E++)this.setColumn(E,this.getColumn(E).sort(x));return this}subMatrix(x,E,b,M){v(this,x,E,b,M);let A=new W(E-x+1,M-b+1);for(let I=x;I<=E;I++)for(let D=b;D<=M;D++)A.set(I-x,D-b,this.get(I,D));return A}subMatrixRow(x,E,b){if(E===void 0&&(E=0),b===void 0&&(b=this.columns-1),E>b||E<0||E>=this.columns||b<0||b>=this.columns)throw new RangeError("Argument out of range");let M=new W(x.length,b-E+1);for(let A=0;A<x.length;A++)for(let I=E;I<=b;I++){if(x[A]<0||x[A]>=this.rows)throw new RangeError(`Row index out of range: ${x[A]}`);M.set(A,I-E,this.get(x[A],I))}return M}subMatrixColumn(x,E,b){if(E===void 0&&(E=0),b===void 0&&(b=this.rows-1),E>b||E<0||E>=this.rows||b<0||b>=this.rows)throw new RangeError("Argument out of range");let M=new W(b-E+1,x.length);for(let A=0;A<x.length;A++)for(let I=E;I<=b;I++){if(x[A]<0||x[A]>=this.columns)throw new RangeError(`Column index out of range: ${x[A]}`);M.set(I-E,A,this.get(I,x[A]))}return M}setSubMatrix(x,E,b){if(x=W.checkMatrix(x),x.isEmpty())return this;let M=E+x.rows-1,A=b+x.columns-1;v(this,E,M,b,A);for(let I=0;I<x.rows;I++)for(let D=0;D<x.columns;D++)this.set(E+I,b+D,x.get(I,D));return this}selection(x,E){g(this,x),p(this,E);let b=new W(x.length,E.length);for(let M=0;M<x.length;M++){let A=x[M];for(let I=0;I<E.length;I++){let D=E[I];b.set(M,I,this.get(A,D))}}return b}trace(){let x=Math.min(this.rows,this.columns),E=0;for(let b=0;b<x;b++)E+=this.get(b,b);return E}clone(){return this.constructor.copy(this,new W(this.rows,this.columns))}static copy(x,E){for(const[b,M,A]of x.entries())E.set(b,M,A);return E}sum(x){switch(x){case"row":return S(this);case"column":return _(this);case void 0:return k(this);default:throw new Error(`invalid option: ${x}`)}}product(x){switch(x){case"row":return T(this);case"column":return O(this);case void 0:return P(this);default:throw new Error(`invalid option: ${x}`)}}mean(x){const E=this.sum(x);switch(x){case"row":{for(let b=0;b<this.rows;b++)E[b]/=this.columns;return E}case"column":{for(let b=0;b<this.columns;b++)E[b]/=this.rows;return E}case void 0:return E/this.size;default:throw new Error(`invalid option: ${x}`)}}variance(x,E={}){if(typeof x=="object"&&(E=x,x=void 0),typeof E!="object")throw new TypeError("options must be an object");const{unbiased:b=!0,mean:M=this.mean(x)}=E;if(typeof b!="boolean")throw new TypeError("unbiased must be a boolean");switch(x){case"row":{if(!r.isAnyArray(M))throw new TypeError("mean must be an array");return N(this,b,M)}case"column":{if(!r.isAnyArray(M))throw new TypeError("mean must be an array");return C(this,b,M)}case void 0:{if(typeof M!="number")throw new TypeError("mean must be a number");return L(this,b,M)}default:throw new Error(`invalid option: ${x}`)}}standardDeviation(x,E){typeof x=="object"&&(E=x,x=void 0);const b=this.variance(x,E);if(x===void 0)return Math.sqrt(b);for(let M=0;M<b.length;M++)b[M]=Math.sqrt(b[M]);return b}center(x,E={}){if(typeof x=="object"&&(E=x,x=void 0),typeof E!="object")throw new TypeError("options must be an object");const{center:b=this.mean(x)}=E;switch(x){case"row":{if(!r.isAnyArray(b))throw new TypeError("center must be an array");return F(this,b),this}case"column":{if(!r.isAnyArray(b))throw new TypeError("center must be an array");return G(this,b),this}case void 0:{if(typeof b!="number")throw new TypeError("center must be a number");return V(this,b),this}default:throw new Error(`invalid option: ${x}`)}}scale(x,E={}){if(typeof x=="object"&&(E=x,x=void 0),typeof E!="object")throw new TypeError("options must be an object");let b=E.scale;switch(x){case"row":{if(b===void 0)b=U(this);else if(!r.isAnyArray(b))throw new TypeError("scale must be an array");return q(this,b),this}case"column":{if(b===void 0)b=j(this);else if(!r.isAnyArray(b))throw new TypeError("scale must be an array");return Z(this,b),this}case void 0:{if(b===void 0)b=nt(this);else if(typeof b!="number")throw new TypeError("scale must be a number");return st(this,b),this}default:throw new Error(`invalid option: ${x}`)}}toString(x){return a(this,x)}[Symbol.iterator](){return this.entries()}*entries(){for(let x=0;x<this.rows;x++)for(let E=0;E<this.columns;E++)yield[x,E,this.get(x,E)]}*values(){for(let x=0;x<this.rows;x++)for(let E=0;E<this.columns;E++)yield this.get(x,E)}}ot.prototype.klass="Matrix",typeof Symbol<"u"&&(ot.prototype[Symbol.for("nodejs.util.inspect.custom")]=i);function Pt(R,x){return R-x}function K(R){return R.every(x=>typeof x=="number")}ot.random=ot.rand,ot.randomInt=ot.randInt,ot.diagonal=ot.diag,ot.prototype.diagonal=ot.prototype.diag,ot.identity=ot.eye,ot.prototype.negate=ot.prototype.neg,ot.prototype.tensorProduct=ot.prototype.kroneckerProduct;class W extends ot{data;#t(x,E){if(this.data=[],Number.isInteger(E)&&E>=0)for(let b=0;b<x;b++)this.data.push(new Float64Array(E));else throw new TypeError("nColumns must be a positive integer");this.rows=x,this.columns=E}constructor(x,E){if(super(),W.isMatrix(x))this.#t(x.rows,x.columns),W.copy(x,this);else if(Number.isInteger(x)&&x>=0)this.#t(x,E);else if(r.isAnyArray(x)){const b=x;if(x=b.length,E=x?b[0].length:0,typeof E!="number")throw new TypeError("Data must be a 2D array with at least one element");this.data=[];for(let M=0;M<x;M++){if(b[M].length!==E)throw new RangeError("Inconsistent array dimensions");if(!K(b[M]))throw new TypeError("Input data contains non-numeric values");this.data.push(Float64Array.from(b[M]))}this.rows=x,this.columns=E}else throw new TypeError("First argument must be a positive number or an array")}set(x,E,b){return this.data[x][E]=b,this}get(x,E){return this.data[x][E]}removeRow(x){return c(this,x),this.data.splice(x,1),this.rows-=1,this}addRow(x,E){return E===void 0&&(E=x,x=this.rows),c(this,x,!0),E=Float64Array.from(d(this,E)),this.data.splice(x,0,E),this.rows+=1,this}removeColumn(x){h(this,x);for(let E=0;E<this.rows;E++){const b=new Float64Array(this.columns-1);for(let M=0;M<x;M++)b[M]=this.data[E][M];for(let M=x+1;M<this.columns;M++)b[M-1]=this.data[E][M];this.data[E]=b}return this.columns-=1,this}addColumn(x,E){typeof E>"u"&&(E=x,x=this.columns),h(this,x,!0),E=f(this,E);for(let b=0;b<this.rows;b++){const M=new Float64Array(this.columns+1);let A=0;for(;A<x;A++)M[A]=this.data[b][A];for(M[A++]=E[b];A<this.columns+1;A++)M[A]=this.data[b][A-1];this.data[b]=M}return this.columns+=1,this}}u(ot,W);class tt extends ot{#t;get size(){return this.#t.size}get rows(){return this.#t.rows}get columns(){return this.#t.columns}get diagonalSize(){return this.rows}static isSymmetricMatrix(x){return W.isMatrix(x)&&x.klassType==="SymmetricMatrix"}static zeros(x){return new this(x)}static ones(x){return new this(x).fill(1)}constructor(x){if(super(),W.isMatrix(x)){if(!x.isSymmetric())throw new TypeError("not symmetric data");this.#t=W.copy(x,new W(x.rows,x.rows))}else if(Number.isInteger(x)&&x>=0)this.#t=new W(x,x);else if(this.#t=new W(x),!this.isSymmetric())throw new TypeError("not symmetric data")}clone(){const x=new tt(this.diagonalSize);for(const[E,b,M]of this.upperRightEntries())x.set(E,b,M);return x}toMatrix(){return new W(this)}get(x,E){return this.#t.get(x,E)}set(x,E,b){return this.#t.set(x,E,b),this.#t.set(E,x,b),this}removeCross(x){return this.#t.removeRow(x),this.#t.removeColumn(x),this}addCross(x,E){E===void 0&&(E=x,x=this.diagonalSize);const b=E.slice();return b.splice(x,1),this.#t.addRow(x,b),this.#t.addColumn(x,E),this}applyMask(x){if(x.length!==this.diagonalSize)throw new RangeError("Mask size do not match with matrix size");const E=[];for(const[b,M]of x.entries())M||E.push(b);E.reverse();for(const b of E)this.removeCross(b);return this}toCompact(){const{diagonalSize:x}=this,E=new Array(x*(x+1)/2);for(let b=0,M=0,A=0;A<E.length;A++)E[A]=this.get(M,b),++b>=x&&(b=++M);return E}static fromCompact(x){const E=x.length,b=(Math.sqrt(8*E+1)-1)/2;if(!Number.isInteger(b))throw new TypeError(`This array is not a compact representation of a Symmetric Matrix, ${JSON.stringify(x)}`);const M=new tt(b);for(let A=0,I=0,D=0;D<E;D++)M.set(A,I,x[D]),++A>=b&&(A=++I);return M}*upperRightEntries(){for(let x=0,E=0;x<this.diagonalSize;void 0){const b=this.get(x,E);yield[x,E,b],++E>=this.diagonalSize&&(E=++x)}}*upperRightValues(){for(let x=0,E=0;x<this.diagonalSize;void 0)yield this.get(x,E),++E>=this.diagonalSize&&(E=++x)}}tt.prototype.klassType="SymmetricMatrix";class ct extends tt{static isDistanceMatrix(x){return tt.isSymmetricMatrix(x)&&x.klassSubType==="DistanceMatrix"}constructor(x){if(super(x),!this.isDistance())throw new TypeError("Provided arguments do no produce a distance matrix")}set(x,E,b){return x===E&&(b=0),super.set(x,E,b)}addCross(x,E){return E===void 0&&(E=x,x=this.diagonalSize),E=E.slice(),E[x]=0,super.addCross(x,E)}toSymmetricMatrix(){return new tt(this)}clone(){const x=new ct(this.diagonalSize);for(const[E,b,M]of this.upperRightEntries())E!==b&&x.set(E,b,M);return x}toCompact(){const{diagonalSize:x}=this,E=(x-1)*x/2,b=new Array(E);for(let M=1,A=0,I=0;I<b.length;I++)b[I]=this.get(A,M),++M>=x&&(M=++A+1);return b}static fromCompact(x){const E=x.length;if(E===0)return new this(0);const b=(Math.sqrt(8*E+1)+1)/2;if(!Number.isInteger(b))throw new TypeError(`This array is not a compact representation of a DistanceMatrix, ${JSON.stringify(x)}`);const M=new this(b);for(let A=1,I=0,D=0;D<E;D++)M.set(A,I,x[D]),++A>=b&&(A=++I+1);return M}}ct.prototype.klassSubType="DistanceMatrix";class xt extends ot{constructor(x,E,b){super(),this.matrix=x,this.rows=E,this.columns=b}}class Nt extends xt{constructor(x,E){h(x,E),super(x,x.rows,1),this.column=E}set(x,E,b){return this.matrix.set(x,this.column,b),this}get(x){return this.matrix.get(x,this.column)}}class Vt extends xt{constructor(x,E){p(x,E),super(x,x.rows,E.length),this.columnIndices=E}set(x,E,b){return this.matrix.set(x,this.columnIndices[E],b),this}get(x,E){return this.matrix.get(x,this.columnIndices[E])}}class Me extends xt{constructor(x){super(x,x.rows,x.columns)}set(x,E,b){return this.matrix.set(x,this.columns-E-1,b),this}get(x,E){return this.matrix.get(x,this.columns-E-1)}}class un extends xt{constructor(x){super(x,x.rows,x.columns)}set(x,E,b){return this.matrix.set(this.rows-x-1,E,b),this}get(x,E){return this.matrix.get(this.rows-x-1,E)}}class ke extends xt{constructor(x,E){c(x,E),super(x,1,x.columns),this.row=E}set(x,E,b){return this.matrix.set(this.row,E,b),this}get(x,E){return this.matrix.get(this.row,E)}}class Ue extends xt{constructor(x,E){g(x,E),super(x,E.length,x.columns),this.rowIndices=E}set(x,E,b){return this.matrix.set(this.rowIndices[x],E,b),this}get(x,E){return this.matrix.get(this.rowIndices[x],E)}}class Xt extends xt{constructor(x,E,b){g(x,E),p(x,b),super(x,E.length,b.length),this.rowIndices=E,this.columnIndices=b}set(x,E,b){return this.matrix.set(this.rowIndices[x],this.columnIndices[E],b),this}get(x,E){return this.matrix.get(this.rowIndices[x],this.columnIndices[E])}}class cr extends xt{constructor(x,E,b,M,A){v(x,E,b,M,A),super(x,b-E+1,A-M+1),this.startRow=E,this.startColumn=M}set(x,E,b){return this.matrix.set(this.startRow+x,this.startColumn+E,b),this}get(x,E){return this.matrix.get(this.startRow+x,this.startColumn+E)}}class Qt extends xt{constructor(x){super(x,x.columns,x.rows)}set(x,E,b){return this.matrix.set(E,x,b),this}get(x,E){return this.matrix.get(E,x)}}class hr extends ot{constructor(x,E={}){const{rows:b=1}=E;if(x.length%b!==0)throw new Error("the data length is not divisible by the number of rows");super(),this.rows=b,this.columns=x.length/b,this.data=x}set(x,E,b){let M=this._calculateIndex(x,E);return this.data[M]=b,this}get(x,E){let b=this._calculateIndex(x,E);return this.data[b]}_calculateIndex(x,E){return x*this.columns+E}}class be extends ot{constructor(x){super(),this.data=x,this.rows=x.length,this.columns=x[0].length}set(x,E,b){return this.data[x][E]=b,this}get(x,E){return this.data[x][E]}}function Ka(R,x){if(r.isAnyArray(R))return R[0]&&r.isAnyArray(R[0])?new be(R):new hr(R,x);throw new Error("the argument is not an array")}class dr{constructor(x){x=be.checkMatrix(x);let E=x.clone(),b=E.rows,M=E.columns,A=new Float64Array(b),I=1,D,B,z,Q,Y,at,mt,et,lt;for(D=0;D<b;D++)A[D]=D;for(et=new Float64Array(b),B=0;B<M;B++){for(D=0;D<b;D++)et[D]=E.get(D,B);for(D=0;D<b;D++){for(lt=Math.min(D,B),Y=0,z=0;z<lt;z++)Y+=E.get(D,z)*et[z];et[D]-=Y,E.set(D,B,et[D])}for(Q=B,D=B+1;D<b;D++)Math.abs(et[D])>Math.abs(et[Q])&&(Q=D);if(Q!==B){for(z=0;z<M;z++)at=E.get(Q,z),E.set(Q,z,E.get(B,z)),E.set(B,z,at);mt=A[Q],A[Q]=A[B],A[B]=mt,I=-I}if(B<b&&E.get(B,B)!==0)for(D=B+1;D<b;D++)E.set(D,B,E.get(D,B)/E.get(B,B))}this.LU=E,this.pivotVector=A,this.pivotSign=I}isSingular(){let x=this.LU,E=x.columns;for(let b=0;b<E;b++)if(x.get(b,b)===0)return!0;return!1}solve(x){x=W.checkMatrix(x);let E=this.LU;if(E.rows!==x.rows)throw new Error("Invalid matrix dimensions");if(this.isSingular())throw new Error("LU matrix is singular");let M=x.columns,A=x.subMatrixRow(this.pivotVector,0,M-1),I=E.columns,D,B,z;for(z=0;z<I;z++)for(D=z+1;D<I;D++)for(B=0;B<M;B++)A.set(D,B,A.get(D,B)-A.get(z,B)*E.get(D,z));for(z=I-1;z>=0;z--){for(B=0;B<M;B++)A.set(z,B,A.get(z,B)/E.get(z,z));for(D=0;D<z;D++)for(B=0;B<M;B++)A.set(D,B,A.get(D,B)-A.get(z,B)*E.get(D,z))}return A}get determinant(){let x=this.LU;if(!x.isSquare())throw new Error("Matrix must be square");let E=this.pivotSign,b=x.columns;for(let M=0;M<b;M++)E*=x.get(M,M);return E}get lowerTriangularMatrix(){let x=this.LU,E=x.rows,b=x.columns,M=new W(E,b);for(let A=0;A<E;A++)for(let I=0;I<b;I++)A>I?M.set(A,I,x.get(A,I)):A===I?M.set(A,I,1):M.set(A,I,0);return M}get upperTriangularMatrix(){let x=this.LU,E=x.rows,b=x.columns,M=new W(E,b);for(let A=0;A<E;A++)for(let I=0;I<b;I++)A<=I?M.set(A,I,x.get(A,I)):M.set(A,I,0);return M}get pivotPermutationVector(){return Array.from(this.pivotVector)}}function qe(R,x){let E=0;return Math.abs(R)>Math.abs(x)?(E=x/R,Math.abs(R)*Math.sqrt(1+E*E)):x!==0?(E=R/x,Math.abs(x)*Math.sqrt(1+E*E)):0}class Ce{constructor(x){x=be.checkMatrix(x);let E=x.clone(),b=x.rows,M=x.columns,A=new Float64Array(M),I,D,B,z;for(B=0;B<M;B++){let Q=0;for(I=B;I<b;I++)Q=qe(Q,E.get(I,B));if(Q!==0){for(E.get(B,B)<0&&(Q=-Q),I=B;I<b;I++)E.set(I,B,E.get(I,B)/Q);for(E.set(B,B,E.get(B,B)+1),D=B+1;D<M;D++){for(z=0,I=B;I<b;I++)z+=E.get(I,B)*E.get(I,D);for(z=-z/E.get(B,B),I=B;I<b;I++)E.set(I,D,E.get(I,D)+z*E.get(I,B))}}A[B]=-Q}this.QR=E,this.Rdiag=A}solve(x){x=W.checkMatrix(x);let E=this.QR,b=E.rows;if(x.rows!==b)throw new Error("Matrix row dimensions must agree");if(!this.isFullRank())throw new Error("Matrix is rank deficient");let M=x.columns,A=x.clone(),I=E.columns,D,B,z,Q;for(z=0;z<I;z++)for(B=0;B<M;B++){for(Q=0,D=z;D<b;D++)Q+=E.get(D,z)*A.get(D,B);for(Q=-Q/E.get(z,z),D=z;D<b;D++)A.set(D,B,A.get(D,B)+Q*E.get(D,z))}for(z=I-1;z>=0;z--){for(B=0;B<M;B++)A.set(z,B,A.get(z,B)/this.Rdiag[z]);for(D=0;D<z;D++)for(B=0;B<M;B++)A.set(D,B,A.get(D,B)-A.get(z,B)*E.get(D,z))}return A.subMatrix(0,I-1,0,M-1)}isFullRank(){let x=this.QR.columns;for(let E=0;E<x;E++)if(this.Rdiag[E]===0)return!1;return!0}get upperTriangularMatrix(){let x=this.QR,E=x.columns,b=new W(E,E),M,A;for(M=0;M<E;M++)for(A=0;A<E;A++)M<A?b.set(M,A,x.get(M,A)):M===A?b.set(M,A,this.Rdiag[M]):b.set(M,A,0);return b}get orthogonalMatrix(){let x=this.QR,E=x.rows,b=x.columns,M=new W(E,b),A,I,D,B;for(D=b-1;D>=0;D--){for(A=0;A<E;A++)M.set(A,D,0);for(M.set(D,D,1),I=D;I<b;I++)if(x.get(D,D)!==0){for(B=0,A=D;A<E;A++)B+=x.get(A,D)*M.get(A,I);for(B=-B/x.get(D,D),A=D;A<E;A++)M.set(A,I,M.get(A,I)+B*x.get(A,D))}}return M}}class Fn{constructor(x,E={}){if(x=be.checkMatrix(x),x.isEmpty())throw new Error("Matrix must be non-empty");let b=x.rows,M=x.columns;const{computeLeftSingularVectors:A=!0,computeRightSingularVectors:I=!0,autoTranspose:D=!1}=E;let B=!!A,z=!!I,Q=!1,Y;if(b<M)if(!D)Y=x.clone(),console.warn("Computing SVD on a matrix with more columns than rows. Consider enabling autoTranspose");else{Y=x.transpose(),b=Y.rows,M=Y.columns,Q=!0;let X=B;B=z,z=X}else Y=x.clone();let at=Math.min(b,M),mt=Math.min(b+1,M),et=new Float64Array(mt),lt=new W(b,at),_t=new W(M,M),H=new Float64Array(M),yt=new Float64Array(b),Tt=new Float64Array(mt);for(let X=0;X<mt;X++)Tt[X]=X;let Dt=Math.min(b-1,M),jt=Math.max(0,Math.min(M-2,b)),Oe=Math.max(Dt,jt);for(let X=0;X<Oe;X++){if(X<Dt){et[X]=0;for(let gt=X;gt<b;gt++)et[X]=qe(et[X],Y.get(gt,X));if(et[X]!==0){Y.get(X,X)<0&&(et[X]=-et[X]);for(let gt=X;gt<b;gt++)Y.set(gt,X,Y.get(gt,X)/et[X]);Y.set(X,X,Y.get(X,X)+1)}et[X]=-et[X]}for(let gt=X+1;gt<M;gt++){if(X<Dt&&et[X]!==0){let Mt=0;for(let vt=X;vt<b;vt++)Mt+=Y.get(vt,X)*Y.get(vt,gt);Mt=-Mt/Y.get(X,X);for(let vt=X;vt<b;vt++)Y.set(vt,gt,Y.get(vt,gt)+Mt*Y.get(vt,X))}H[gt]=Y.get(X,gt)}if(B&&X<Dt)for(let gt=X;gt<b;gt++)lt.set(gt,X,Y.get(gt,X));if(X<jt){H[X]=0;for(let gt=X+1;gt<M;gt++)H[X]=qe(H[X],H[gt]);if(H[X]!==0){H[X+1]<0&&(H[X]=0-H[X]);for(let gt=X+1;gt<M;gt++)H[gt]/=H[X];H[X+1]+=1}if(H[X]=-H[X],X+1<b&&H[X]!==0){for(let gt=X+1;gt<b;gt++)yt[gt]=0;for(let gt=X+1;gt<b;gt++)for(let Mt=X+1;Mt<M;Mt++)yt[gt]+=H[Mt]*Y.get(gt,Mt);for(let gt=X+1;gt<M;gt++){let Mt=-H[gt]/H[X+1];for(let vt=X+1;vt<b;vt++)Y.set(vt,gt,Y.get(vt,gt)+Mt*yt[vt])}}if(z)for(let gt=X+1;gt<M;gt++)_t.set(gt,X,H[gt])}}let Ct=Math.min(M,b+1);if(Dt<M&&(et[Dt]=Y.get(Dt,Dt)),b<Ct&&(et[Ct-1]=0),jt+1<Ct&&(H[jt]=Y.get(jt,Ct-1)),H[Ct-1]=0,B){for(let X=Dt;X<at;X++){for(let gt=0;gt<b;gt++)lt.set(gt,X,0);lt.set(X,X,1)}for(let X=Dt-1;X>=0;X--)if(et[X]!==0){for(let gt=X+1;gt<at;gt++){let Mt=0;for(let vt=X;vt<b;vt++)Mt+=lt.get(vt,X)*lt.get(vt,gt);Mt=-Mt/lt.get(X,X);for(let vt=X;vt<b;vt++)lt.set(vt,gt,lt.get(vt,gt)+Mt*lt.get(vt,X))}for(let gt=X;gt<b;gt++)lt.set(gt,X,-lt.get(gt,X));lt.set(X,X,1+lt.get(X,X));for(let gt=0;gt<X-1;gt++)lt.set(gt,X,0)}else{for(let gt=0;gt<b;gt++)lt.set(gt,X,0);lt.set(X,X,1)}}if(z)for(let X=M-1;X>=0;X--){if(X<jt&&H[X]!==0)for(let gt=X+1;gt<M;gt++){let Mt=0;for(let vt=X+1;vt<M;vt++)Mt+=_t.get(vt,X)*_t.get(vt,gt);Mt=-Mt/_t.get(X+1,X);for(let vt=X+1;vt<M;vt++)_t.set(vt,gt,_t.get(vt,gt)+Mt*_t.get(vt,X))}for(let gt=0;gt<M;gt++)_t.set(gt,X,0);_t.set(X,X,1)}let Lt=Ct-1,he=Number.EPSILON;for(;Ct>0;){let X,gt;for(X=Ct-2;X>=-1&&X!==-1;X--){const Mt=Number.MIN_VALUE+he*Math.abs(et[X]+Math.abs(et[X+1]));if(Math.abs(H[X])<=Mt||Number.isNaN(H[X])){H[X]=0;break}}if(X===Ct-2)gt=4;else{let Mt;for(Mt=Ct-1;Mt>=X&&Mt!==X;Mt--){let vt=(Mt!==Ct?Math.abs(H[Mt]):0)+(Mt!==X+1?Math.abs(H[Mt-1]):0);if(Math.abs(et[Mt])<=he*vt){et[Mt]=0;break}}Mt===X?gt=3:Mt===Ct-1?gt=1:(gt=2,X=Mt)}switch(X++,gt){case 1:{let Mt=H[Ct-2];H[Ct-2]=0;for(let vt=Ct-2;vt>=X;vt--){let Te=qe(et[vt],Mt),re=et[vt]/Te,we=Mt/Te;if(et[vt]=Te,vt!==X&&(Mt=-we*H[vt-1],H[vt-1]=re*H[vt-1]),z)for(let Ae=0;Ae<M;Ae++)Te=re*_t.get(Ae,vt)+we*_t.get(Ae,Ct-1),_t.set(Ae,Ct-1,-we*_t.get(Ae,vt)+re*_t.get(Ae,Ct-1)),_t.set(Ae,vt,Te)}break}case 2:{let Mt=H[X-1];H[X-1]=0;for(let vt=X;vt<Ct;vt++){let Te=qe(et[vt],Mt),re=et[vt]/Te,we=Mt/Te;if(et[vt]=Te,Mt=-we*H[vt],H[vt]=re*H[vt],B)for(let Ae=0;Ae<b;Ae++)Te=re*lt.get(Ae,vt)+we*lt.get(Ae,X-1),lt.set(Ae,X-1,-we*lt.get(Ae,vt)+re*lt.get(Ae,X-1)),lt.set(Ae,vt,Te)}break}case 3:{const Mt=Math.max(Math.abs(et[Ct-1]),Math.abs(et[Ct-2]),Math.abs(H[Ct-2]),Math.abs(et[X]),Math.abs(H[X])),vt=et[Ct-1]/Mt,Te=et[Ct-2]/Mt,re=H[Ct-2]/Mt,we=et[X]/Mt,Ae=H[X]/Mt,vn=((Te+vt)*(Te-vt)+re*re)/2,_r=vt*re*(vt*re);let tn=0;(vn!==0||_r!==0)&&(vn<0?tn=0-Math.sqrt(vn*vn+_r):tn=Math.sqrt(vn*vn+_r),tn=_r/(vn+tn));let Wr=(we+vt)*(we-vt)+tn,ci=we*Ae;for(let te=X;te<Ct-1;te++){let pn=qe(Wr,ci);pn===0&&(pn=Number.MIN_VALUE);let Kn=Wr/pn,Zn=ci/pn;if(te!==X&&(H[te-1]=pn),Wr=Kn*et[te]+Zn*H[te],H[te]=Kn*H[te]-Zn*et[te],ci=Zn*et[te+1],et[te+1]=Kn*et[te+1],z)for(let en=0;en<M;en++)pn=Kn*_t.get(en,te)+Zn*_t.get(en,te+1),_t.set(en,te+1,-Zn*_t.get(en,te)+Kn*_t.get(en,te+1)),_t.set(en,te,pn);if(pn=qe(Wr,ci),pn===0&&(pn=Number.MIN_VALUE),Kn=Wr/pn,Zn=ci/pn,et[te]=pn,Wr=Kn*H[te]+Zn*et[te+1],et[te+1]=-Zn*H[te]+Kn*et[te+1],ci=Zn*H[te+1],H[te+1]=Kn*H[te+1],B&&te<b-1)for(let en=0;en<b;en++)pn=Kn*lt.get(en,te)+Zn*lt.get(en,te+1),lt.set(en,te+1,-Zn*lt.get(en,te)+Kn*lt.get(en,te+1)),lt.set(en,te,pn)}H[Ct-2]=Wr;break}case 4:{if(et[X]<=0&&(et[X]=et[X]<0?-et[X]:0,z))for(let Mt=0;Mt<=Lt;Mt++)_t.set(Mt,X,-_t.get(Mt,X));for(;X<Lt&&!(et[X]>=et[X+1]);){let Mt=et[X];if(et[X]=et[X+1],et[X+1]=Mt,z&&X<M-1)for(let vt=0;vt<M;vt++)Mt=_t.get(vt,X+1),_t.set(vt,X+1,_t.get(vt,X)),_t.set(vt,X,Mt);if(B&&X<b-1)for(let vt=0;vt<b;vt++)Mt=lt.get(vt,X+1),lt.set(vt,X+1,lt.get(vt,X)),lt.set(vt,X,Mt);X++}Ct--;break}}}if(Q){let X=_t;_t=lt,lt=X}this.m=b,this.n=M,this.s=et,this.U=lt,this.V=_t}solve(x){let E=x,b=this.threshold,M=this.s.length,A=W.zeros(M,M);for(let at=0;at<M;at++)Math.abs(this.s[at])<=b?A.set(at,at,0):A.set(at,at,1/this.s[at]);let I=this.U,D=this.rightSingularVectors,B=D.mmul(A),z=D.rows,Q=I.rows,Y=W.zeros(z,Q);for(let at=0;at<z;at++)for(let mt=0;mt<Q;mt++){let et=0;for(let lt=0;lt<M;lt++)et+=B.get(at,lt)*I.get(mt,lt);Y.set(at,mt,et)}return Y.mmul(E)}solveForDiagonal(x){return this.solve(W.diag(x))}inverse(){let x=this.V,E=this.threshold,b=x.rows,M=x.columns,A=new W(b,this.s.length);for(let Q=0;Q<b;Q++)for(let Y=0;Y<M;Y++)Math.abs(this.s[Y])>E&&A.set(Q,Y,x.get(Q,Y)/this.s[Y]);let I=this.U,D=I.rows,B=I.columns,z=new W(b,D);for(let Q=0;Q<b;Q++)for(let Y=0;Y<D;Y++){let at=0;for(let mt=0;mt<B;mt++)at+=A.get(Q,mt)*I.get(Y,mt);z.set(Q,Y,at)}return z}get condition(){return this.s[0]/this.s[Math.min(this.m,this.n)-1]}get norm2(){return this.s[0]}get rank(){let x=Math.max(this.m,this.n)*this.s[0]*Number.EPSILON,E=0,b=this.s;for(let M=0,A=b.length;M<A;M++)b[M]>x&&E++;return E}get diagonal(){return Array.from(this.s)}get threshold(){return Number.EPSILON/2*Math.max(this.m,this.n)*this.s[0]}get leftSingularVectors(){return this.U}get rightSingularVectors(){return this.V}get diagonalMatrix(){return W.diag(this.s)}}function Bn(R,x=!1){return R=be.checkMatrix(R),x?new Fn(R).inverse():fr(R,W.eye(R.rows))}function fr(R,x,E=!1){return R=be.checkMatrix(R),x=be.checkMatrix(x),E?new Fn(R).solve(x):R.isSquare()?new dr(R).solve(x):new Ce(R).solve(x)}function ui(R){if(R=W.checkMatrix(R),R.isSquare()){if(R.columns===0)return 1;let x,E,b,M;if(R.columns===2)return x=R.get(0,0),E=R.get(0,1),b=R.get(1,0),M=R.get(1,1),x*M-E*b;if(R.columns===3){let A,I,D;return A=new Xt(R,[1,2],[1,2]),I=new Xt(R,[1,2],[0,2]),D=new Xt(R,[1,2],[0,1]),x=R.get(0,0),E=R.get(0,1),b=R.get(0,2),x*ui(A)-E*ui(I)+b*ui(D)}else return new dr(R).determinant}else throw Error("determinant can only be calculated for a square matrix")}function qr(R,x){let E=[];for(let b=0;b<R;b++)b!==x&&E.push(b);return E}function Za(R,x,E,b=1e-9,M=1e-9){if(R>M)return new Array(x.rows+1).fill(0);{let A=x.addRow(E,[0]);for(let I=0;I<A.rows;I++)Math.abs(A.get(I,0))<b&&A.set(I,0,0);return A.to1DArray()}}function Ja(R,x={}){const{thresholdValue:E=1e-9,thresholdError:b=1e-9}=x;R=W.checkMatrix(R);let M=R.rows,A=new W(M,M);for(let I=0;I<M;I++){let D=W.columnVector(R.getRow(I)),B=R.subMatrixRow(qr(M,I)).transpose(),Q=new Fn(B).solve(D),Y=W.sub(D,B.mmul(Q)).abs().max();A.setRow(I,Za(Y,Q,I,E,b))}return A}function Bh(R,x=Number.EPSILON){if(R=W.checkMatrix(R),R.isEmpty())return R.transpose();let E=new Fn(R,{autoTranspose:!0}),b=E.leftSingularVectors,M=E.rightSingularVectors,A=E.diagonal;for(let I=0;I<A.length;I++)Math.abs(A[I])>x?A[I]=1/A[I]:A[I]=0;return M.mmul(W.diag(A).mmul(b.transpose()))}function dl(R,x=R,E={}){R=new W(R);let b=!1;if(typeof x=="object"&&!W.isMatrix(x)&&!r.isAnyArray(x)?(E=x,x=R,b=!0):x=new W(x),R.rows!==x.rows)throw new TypeError("Both matrices must have the same number of rows");const{center:M=!0}=E;M&&(R=R.center("column"),b||(x=x.center("column")));const A=R.transpose().mmul(x);for(let I=0;I<A.rows;I++)for(let D=0;D<A.columns;D++)A.set(I,D,A.get(I,D)*(1/(R.rows-1)));return A}function $r(R,x=R,E={}){R=new W(R);let b=!1;if(typeof x=="object"&&!W.isMatrix(x)&&!r.isAnyArray(x)?(E=x,x=R,b=!0):x=new W(x),R.rows!==x.rows)throw new TypeError("Both matrices must have the same number of rows");const{center:M=!0,scale:A=!0}=E;M&&(R.center("column"),b||x.center("column")),A&&(R.scale("column"),b||x.scale("column"));const I=R.standardDeviation("column",{unbiased:!0}),D=b?I:x.standardDeviation("column",{unbiased:!0}),B=R.transpose().mmul(x);for(let z=0;z<B.rows;z++)for(let Q=0;Q<B.columns;Q++)B.set(z,Q,B.get(z,Q)*(1/(I[z]*D[Q]))*(1/(R.rows-1)));return B}class Gr{constructor(x,E={}){const{assumeSymmetric:b=!1}=E;if(x=be.checkMatrix(x),!x.isSquare())throw new Error("Matrix is not a square matrix");if(x.isEmpty())throw new Error("Matrix must be non-empty");let M=x.columns,A=new W(M,M),I=new Float64Array(M),D=new Float64Array(M),B=x,z,Q,Y=!1;if(b?Y=!0:Y=x.isSymmetric(),Y){for(z=0;z<M;z++)for(Q=0;Q<M;Q++)A.set(z,Q,B.get(z,Q));MC(M,D,I,A),kC(M,D,I,A)}else{let at=new W(M,M),mt=new Float64Array(M);for(Q=0;Q<M;Q++)for(z=0;z<M;z++)at.set(z,Q,B.get(z,Q));OC(M,at,mt,A),TC(M,D,I,A,at)}this.n=M,this.e=D,this.d=I,this.V=A}get realEigenvalues(){return Array.from(this.d)}get imaginaryEigenvalues(){return Array.from(this.e)}get eigenvectorMatrix(){return this.V}get diagonalMatrix(){let x=this.n,E=this.e,b=this.d,M=new W(x,x),A,I;for(A=0;A<x;A++){for(I=0;I<x;I++)M.set(A,I,0);M.set(A,A,b[A]),E[A]>0?M.set(A,A+1,E[A]):E[A]<0&&M.set(A,A-1,E[A])}return M}}function MC(R,x,E,b){let M,A,I,D,B,z,Q,Y;for(B=0;B<R;B++)E[B]=b.get(R-1,B);for(D=R-1;D>0;D--){for(Y=0,I=0,z=0;z<D;z++)Y=Y+Math.abs(E[z]);if(Y===0)for(x[D]=E[D-1],B=0;B<D;B++)E[B]=b.get(D-1,B),b.set(D,B,0),b.set(B,D,0);else{for(z=0;z<D;z++)E[z]/=Y,I+=E[z]*E[z];for(M=E[D-1],A=Math.sqrt(I),M>0&&(A=-A),x[D]=Y*A,I=I-M*A,E[D-1]=M-A,B=0;B<D;B++)x[B]=0;for(B=0;B<D;B++){for(M=E[B],b.set(B,D,M),A=x[B]+b.get(B,B)*M,z=B+1;z<=D-1;z++)A+=b.get(z,B)*E[z],x[z]+=b.get(z,B)*M;x[B]=A}for(M=0,B=0;B<D;B++)x[B]/=I,M+=x[B]*E[B];for(Q=M/(I+I),B=0;B<D;B++)x[B]-=Q*E[B];for(B=0;B<D;B++){for(M=E[B],A=x[B],z=B;z<=D-1;z++)b.set(z,B,b.get(z,B)-(M*x[z]+A*E[z]));E[B]=b.get(D-1,B),b.set(D,B,0)}}E[D]=I}for(D=0;D<R-1;D++){if(b.set(R-1,D,b.get(D,D)),b.set(D,D,1),I=E[D+1],I!==0){for(z=0;z<=D;z++)E[z]=b.get(z,D+1)/I;for(B=0;B<=D;B++){for(A=0,z=0;z<=D;z++)A+=b.get(z,D+1)*b.get(z,B);for(z=0;z<=D;z++)b.set(z,B,b.get(z,B)-A*E[z])}}for(z=0;z<=D;z++)b.set(z,D+1,0)}for(B=0;B<R;B++)E[B]=b.get(R-1,B),b.set(R-1,B,0);b.set(R-1,R-1,1),x[0]=0}function kC(R,x,E,b){let M,A,I,D,B,z,Q,Y,at,mt,et,lt,_t,H,yt,Tt;for(I=1;I<R;I++)x[I-1]=x[I];x[R-1]=0;let Dt=0,jt=0,Oe=Number.EPSILON;for(z=0;z<R;z++){for(jt=Math.max(jt,Math.abs(E[z])+Math.abs(x[z])),Q=z;Q<R&&!(Math.abs(x[Q])<=Oe*jt);)Q++;if(Q>z)do{for(M=E[z],Y=(E[z+1]-M)/(2*x[z]),at=qe(Y,1),Y<0&&(at=-at),E[z]=x[z]/(Y+at),E[z+1]=x[z]*(Y+at),mt=E[z+1],A=M-E[z],I=z+2;I<R;I++)E[I]-=A;for(Dt=Dt+A,Y=E[Q],et=1,lt=et,_t=et,H=x[z+1],yt=0,Tt=0,I=Q-1;I>=z;I--)for(_t=lt,lt=et,Tt=yt,M=et*x[I],A=et*Y,at=qe(Y,x[I]),x[I+1]=yt*at,yt=x[I]/at,et=Y/at,Y=et*E[I]-yt*M,E[I+1]=A+yt*(et*M+yt*E[I]),B=0;B<R;B++)A=b.get(B,I+1),b.set(B,I+1,yt*b.get(B,I)+et*A),b.set(B,I,et*b.get(B,I)-yt*A);Y=-yt*Tt*_t*H*x[z]/mt,x[z]=yt*Y,E[z]=et*Y}while(Math.abs(x[z])>Oe*jt);E[z]=E[z]+Dt,x[z]=0}for(I=0;I<R-1;I++){for(B=I,Y=E[I],D=I+1;D<R;D++)E[D]<Y&&(B=D,Y=E[D]);if(B!==I)for(E[B]=E[I],E[I]=Y,D=0;D<R;D++)Y=b.get(D,I),b.set(D,I,b.get(D,B)),b.set(D,B,Y)}}function OC(R,x,E,b){let M=0,A=R-1,I,D,B,z,Q,Y,at;for(Y=M+1;Y<=A-1;Y++){for(at=0,z=Y;z<=A;z++)at=at+Math.abs(x.get(z,Y-1));if(at!==0){for(B=0,z=A;z>=Y;z--)E[z]=x.get(z,Y-1)/at,B+=E[z]*E[z];for(D=Math.sqrt(B),E[Y]>0&&(D=-D),B=B-E[Y]*D,E[Y]=E[Y]-D,Q=Y;Q<R;Q++){for(I=0,z=A;z>=Y;z--)I+=E[z]*x.get(z,Q);for(I=I/B,z=Y;z<=A;z++)x.set(z,Q,x.get(z,Q)-I*E[z])}for(z=0;z<=A;z++){for(I=0,Q=A;Q>=Y;Q--)I+=E[Q]*x.get(z,Q);for(I=I/B,Q=Y;Q<=A;Q++)x.set(z,Q,x.get(z,Q)-I*E[Q])}E[Y]=at*E[Y],x.set(Y,Y-1,at*D)}}for(z=0;z<R;z++)for(Q=0;Q<R;Q++)b.set(z,Q,z===Q?1:0);for(Y=A-1;Y>=M+1;Y--)if(x.get(Y,Y-1)!==0){for(z=Y+1;z<=A;z++)E[z]=x.get(z,Y-1);for(Q=Y;Q<=A;Q++){for(D=0,z=Y;z<=A;z++)D+=E[z]*b.get(z,Q);for(D=D/E[Y]/x.get(Y,Y-1),z=Y;z<=A;z++)b.set(z,Q,b.get(z,Q)+D*E[z])}}}function TC(R,x,E,b,M){let A=R-1,I=0,D=R-1,B=Number.EPSILON,z=0,Q=0,Y=0,at=0,mt=0,et=0,lt=0,_t=0,H,yt,Tt,Dt,jt,Oe,Ct,Lt,he,X,gt,Mt,vt,Te,re;for(H=0;H<R;H++)for((H<I||H>D)&&(E[H]=M.get(H,H),x[H]=0),yt=Math.max(H-1,0);yt<R;yt++)Q=Q+Math.abs(M.get(H,yt));for(;A>=I;){for(Dt=A;Dt>I&&(et=Math.abs(M.get(Dt-1,Dt-1))+Math.abs(M.get(Dt,Dt)),et===0&&(et=Q),!(Math.abs(M.get(Dt,Dt-1))<B*et));)Dt--;if(Dt===A)M.set(A,A,M.get(A,A)+z),E[A]=M.get(A,A),x[A]=0,A--,_t=0;else if(Dt===A-1){if(Ct=M.get(A,A-1)*M.get(A-1,A),Y=(M.get(A-1,A-1)-M.get(A,A))/2,at=Y*Y+Ct,lt=Math.sqrt(Math.abs(at)),M.set(A,A,M.get(A,A)+z),M.set(A-1,A-1,M.get(A-1,A-1)+z),Lt=M.get(A,A),at>=0){for(lt=Y>=0?Y+lt:Y-lt,E[A-1]=Lt+lt,E[A]=E[A-1],lt!==0&&(E[A]=Lt-Ct/lt),x[A-1]=0,x[A]=0,Lt=M.get(A,A-1),et=Math.abs(Lt)+Math.abs(lt),Y=Lt/et,at=lt/et,mt=Math.sqrt(Y*Y+at*at),Y=Y/mt,at=at/mt,yt=A-1;yt<R;yt++)lt=M.get(A-1,yt),M.set(A-1,yt,at*lt+Y*M.get(A,yt)),M.set(A,yt,at*M.get(A,yt)-Y*lt);for(H=0;H<=A;H++)lt=M.get(H,A-1),M.set(H,A-1,at*lt+Y*M.get(H,A)),M.set(H,A,at*M.get(H,A)-Y*lt);for(H=I;H<=D;H++)lt=b.get(H,A-1),b.set(H,A-1,at*lt+Y*b.get(H,A)),b.set(H,A,at*b.get(H,A)-Y*lt)}else E[A-1]=Lt+Y,E[A]=Lt+Y,x[A-1]=lt,x[A]=-lt;A=A-2,_t=0}else{if(Lt=M.get(A,A),he=0,Ct=0,Dt<A&&(he=M.get(A-1,A-1),Ct=M.get(A,A-1)*M.get(A-1,A)),_t===10){for(z+=Lt,H=I;H<=A;H++)M.set(H,H,M.get(H,H)-Lt);et=Math.abs(M.get(A,A-1))+Math.abs(M.get(A-1,A-2)),Lt=he=.75*et,Ct=-.4375*et*et}if(_t===30&&(et=(he-Lt)/2,et=et*et+Ct,et>0)){for(et=Math.sqrt(et),he<Lt&&(et=-et),et=Lt-Ct/((he-Lt)/2+et),H=I;H<=A;H++)M.set(H,H,M.get(H,H)-et);z+=et,Lt=he=Ct=.964}for(_t=_t+1,jt=A-2;jt>=Dt&&(lt=M.get(jt,jt),mt=Lt-lt,et=he-lt,Y=(mt*et-Ct)/M.get(jt+1,jt)+M.get(jt,jt+1),at=M.get(jt+1,jt+1)-lt-mt-et,mt=M.get(jt+2,jt+1),et=Math.abs(Y)+Math.abs(at)+Math.abs(mt),Y=Y/et,at=at/et,mt=mt/et,!(jt===Dt||Math.abs(M.get(jt,jt-1))*(Math.abs(at)+Math.abs(mt))<B*(Math.abs(Y)*(Math.abs(M.get(jt-1,jt-1))+Math.abs(lt)+Math.abs(M.get(jt+1,jt+1))))));)jt--;for(H=jt+2;H<=A;H++)M.set(H,H-2,0),H>jt+2&&M.set(H,H-3,0);for(Tt=jt;Tt<=A-1&&(Te=Tt!==A-1,Tt!==jt&&(Y=M.get(Tt,Tt-1),at=M.get(Tt+1,Tt-1),mt=Te?M.get(Tt+2,Tt-1):0,Lt=Math.abs(Y)+Math.abs(at)+Math.abs(mt),Lt!==0&&(Y=Y/Lt,at=at/Lt,mt=mt/Lt)),Lt!==0);Tt++)if(et=Math.sqrt(Y*Y+at*at+mt*mt),Y<0&&(et=-et),et!==0){for(Tt!==jt?M.set(Tt,Tt-1,-et*Lt):Dt!==jt&&M.set(Tt,Tt-1,-M.get(Tt,Tt-1)),Y=Y+et,Lt=Y/et,he=at/et,lt=mt/et,at=at/Y,mt=mt/Y,yt=Tt;yt<R;yt++)Y=M.get(Tt,yt)+at*M.get(Tt+1,yt),Te&&(Y=Y+mt*M.get(Tt+2,yt),M.set(Tt+2,yt,M.get(Tt+2,yt)-Y*lt)),M.set(Tt,yt,M.get(Tt,yt)-Y*Lt),M.set(Tt+1,yt,M.get(Tt+1,yt)-Y*he);for(H=0;H<=Math.min(A,Tt+3);H++)Y=Lt*M.get(H,Tt)+he*M.get(H,Tt+1),Te&&(Y=Y+lt*M.get(H,Tt+2),M.set(H,Tt+2,M.get(H,Tt+2)-Y*mt)),M.set(H,Tt,M.get(H,Tt)-Y),M.set(H,Tt+1,M.get(H,Tt+1)-Y*at);for(H=I;H<=D;H++)Y=Lt*b.get(H,Tt)+he*b.get(H,Tt+1),Te&&(Y=Y+lt*b.get(H,Tt+2),b.set(H,Tt+2,b.get(H,Tt+2)-Y*mt)),b.set(H,Tt,b.get(H,Tt)-Y),b.set(H,Tt+1,b.get(H,Tt+1)-Y*at)}}}if(Q!==0){for(A=R-1;A>=0;A--)if(Y=E[A],at=x[A],at===0)for(Dt=A,M.set(A,A,1),H=A-1;H>=0;H--){for(Ct=M.get(H,H)-Y,mt=0,yt=Dt;yt<=A;yt++)mt=mt+M.get(H,yt)*M.get(yt,A);if(x[H]<0)lt=Ct,et=mt;else if(Dt=H,x[H]===0?M.set(H,A,Ct!==0?-mt/Ct:-mt/(B*Q)):(Lt=M.get(H,H+1),he=M.get(H+1,H),at=(E[H]-Y)*(E[H]-Y)+x[H]*x[H],Oe=(Lt*et-lt*mt)/at,M.set(H,A,Oe),M.set(H+1,A,Math.abs(Lt)>Math.abs(lt)?(-mt-Ct*Oe)/Lt:(-et-he*Oe)/lt)),Oe=Math.abs(M.get(H,A)),B*Oe*Oe>1)for(yt=H;yt<=A;yt++)M.set(yt,A,M.get(yt,A)/Oe)}else if(at<0)for(Dt=A-1,Math.abs(M.get(A,A-1))>Math.abs(M.get(A-1,A))?(M.set(A-1,A-1,at/M.get(A,A-1)),M.set(A-1,A,-(M.get(A,A)-Y)/M.get(A,A-1))):(re=fl(0,-M.get(A-1,A),M.get(A-1,A-1)-Y,at),M.set(A-1,A-1,re[0]),M.set(A-1,A,re[1])),M.set(A,A-1,0),M.set(A,A,1),H=A-2;H>=0;H--){for(X=0,gt=0,yt=Dt;yt<=A;yt++)X=X+M.get(H,yt)*M.get(yt,A-1),gt=gt+M.get(H,yt)*M.get(yt,A);if(Ct=M.get(H,H)-Y,x[H]<0)lt=Ct,mt=X,et=gt;else if(Dt=H,x[H]===0?(re=fl(-X,-gt,Ct,at),M.set(H,A-1,re[0]),M.set(H,A,re[1])):(Lt=M.get(H,H+1),he=M.get(H+1,H),Mt=(E[H]-Y)*(E[H]-Y)+x[H]*x[H]-at*at,vt=(E[H]-Y)*2*at,Mt===0&&vt===0&&(Mt=B*Q*(Math.abs(Ct)+Math.abs(at)+Math.abs(Lt)+Math.abs(he)+Math.abs(lt))),re=fl(Lt*mt-lt*X+at*gt,Lt*et-lt*gt-at*X,Mt,vt),M.set(H,A-1,re[0]),M.set(H,A,re[1]),Math.abs(Lt)>Math.abs(lt)+Math.abs(at)?(M.set(H+1,A-1,(-X-Ct*M.get(H,A-1)+at*M.get(H,A))/Lt),M.set(H+1,A,(-gt-Ct*M.get(H,A)-at*M.get(H,A-1))/Lt)):(re=fl(-mt-he*M.get(H,A-1),-et-he*M.get(H,A),lt,at),M.set(H+1,A-1,re[0]),M.set(H+1,A,re[1]))),Oe=Math.max(Math.abs(M.get(H,A-1)),Math.abs(M.get(H,A))),B*Oe*Oe>1)for(yt=H;yt<=A;yt++)M.set(yt,A-1,M.get(yt,A-1)/Oe),M.set(yt,A,M.get(yt,A)/Oe)}for(H=0;H<R;H++)if(H<I||H>D)for(yt=H;yt<R;yt++)b.set(H,yt,M.get(H,yt));for(yt=R-1;yt>=I;yt--)for(H=I;H<=D;H++){for(lt=0,Tt=I;Tt<=Math.min(yt,D);Tt++)lt=lt+b.get(H,Tt)*M.get(Tt,yt);b.set(H,yt,lt)}}}function fl(R,x,E,b){let M,A;return Math.abs(E)>Math.abs(b)?(M=b/E,A=E+M*b,[(R+M*x)/A,(x-M*R)/A]):(M=E/b,A=b+M*E,[(M*R+x)/A,(M*x-R)/A])}class eb{constructor(x){if(x=be.checkMatrix(x),!x.isSymmetric())throw new Error("Matrix is not symmetric");let E=x,b=E.rows,M=new W(b,b),A=!0,I,D,B;for(D=0;D<b;D++){let z=0;for(B=0;B<D;B++){let Q=0;for(I=0;I<B;I++)Q+=M.get(B,I)*M.get(D,I);Q=(E.get(D,B)-Q)/M.get(B,B),M.set(D,B,Q),z=z+Q*Q}for(z=E.get(D,D)-z,A&=z>0,M.set(D,D,Math.sqrt(Math.max(z,0))),B=D+1;B<b;B++)M.set(D,B,0)}this.L=M,this.positiveDefinite=!!A}isPositiveDefinite(){return this.positiveDefinite}solve(x){x=be.checkMatrix(x);let E=this.L,b=E.rows;if(x.rows!==b)throw new Error("Matrix dimensions do not match");if(this.isPositiveDefinite()===!1)throw new Error("Matrix is not positive definite");let M=x.columns,A=x.clone(),I,D,B;for(B=0;B<b;B++)for(D=0;D<M;D++){for(I=0;I<B;I++)A.set(B,D,A.get(B,D)-A.get(I,D)*E.get(B,I));A.set(B,D,A.get(B,D)/E.get(B,B))}for(B=b-1;B>=0;B--)for(D=0;D<M;D++){for(I=B+1;I<b;I++)A.set(B,D,A.get(B,D)-A.get(I,D)*E.get(I,B));A.set(B,D,A.get(B,D)/E.get(B,B))}return A}get lowerTriangularMatrix(){return this.L}}class nb{constructor(x,E={}){x=be.checkMatrix(x);let{Y:b}=E;const{scaleScores:M=!1,maxIterations:A=1e3,terminationCriteria:I=1e-10}=E;let D;if(b){if(r.isAnyArray(b)&&typeof b[0]=="number"?b=W.columnVector(b):b=be.checkMatrix(b),b.rows!==x.rows)throw new Error("Y should have the same number of rows as X");D=b.getColumnVector(0)}else D=x.getColumnVector(0);let B=1,z,Q,Y,at;for(let mt=0;mt<A&&B>I;mt++)Y=x.transpose().mmul(D).div(D.transpose().mmul(D).get(0,0)),Y=Y.div(Y.norm()),z=x.mmul(Y).div(Y.transpose().mmul(Y).get(0,0)),mt>0&&(B=z.clone().sub(at).pow(2).sum()),at=z.clone(),b?(Q=b.transpose().mmul(z).div(z.transpose().mmul(z).get(0,0)),Q=Q.div(Q.norm()),D=b.mmul(Q).div(Q.transpose().mmul(Q).get(0,0))):D=z;if(b){let mt=x.transpose().mmul(z).div(z.transpose().mmul(z).get(0,0));mt=mt.div(mt.norm());let et=x.clone().sub(z.clone().mmul(mt.transpose())),lt=D.transpose().mmul(z).div(z.transpose().mmul(z).get(0,0)),_t=b.clone().sub(z.clone().mulS(lt.get(0,0)).mmul(Q.transpose()));this.t=z,this.p=mt.transpose(),this.w=Y.transpose(),this.q=Q,this.u=D,this.s=z.transpose().mmul(z),this.xResidual=et,this.yResidual=_t,this.betas=lt}else this.w=Y.transpose(),this.s=z.transpose().mmul(z).sqrt(),M?this.t=z.clone().div(this.s.get(0,0)):this.t=z,this.xResidual=x.sub(z.mmul(Y.transpose()))}}return Kt.AbstractMatrix=ot,Kt.CHO=eb,Kt.CholeskyDecomposition=eb,Kt.DistanceMatrix=ct,Kt.EVD=Gr,Kt.EigenvalueDecomposition=Gr,Kt.LU=dr,Kt.LuDecomposition=dr,Kt.Matrix=W,Kt.MatrixColumnSelectionView=Vt,Kt.MatrixColumnView=Nt,Kt.MatrixFlipColumnView=Me,Kt.MatrixFlipRowView=un,Kt.MatrixRowSelectionView=Ue,Kt.MatrixRowView=ke,Kt.MatrixSelectionView=Xt,Kt.MatrixSubView=cr,Kt.MatrixTransposeView=Qt,Kt.NIPALS=nb,Kt.Nipals=nb,Kt.QR=Ce,Kt.QrDecomposition=Ce,Kt.SVD=Fn,Kt.SingularValueDecomposition=Fn,Kt.SymmetricMatrix=tt,Kt.WrapperMatrix1D=hr,Kt.WrapperMatrix2D=be,Kt.correlation=$r,Kt.covariance=dl,Kt.default=W,Kt.determinant=ui,Kt.inverse=Bn,Kt.linearDependencies=Ja,Kt.pseudoInverse=Bh,Kt.solve=fr,Kt.wrap=Ka,Kt}var jc=r9();const wx=oc(jc),Wi=jc.Matrix,gP=jc.SingularValueDecomposition;wx.Matrix?wx.Matrix:jc.Matrix;const i9={center:[0,0],linkDistance:50};class vP{constructor(t={}){this.options=t,this.id="mds",this.options=Object.assign(Object.assign({},i9),t)}execute(t,e){return Ut(this,void 0,void 0,function*(){return this.genericMDSLayout(!1,t,e)})}assign(t,e){return Ut(this,void 0,void 0,function*(){yield this.genericMDSLayout(!0,t,e)})}genericMDSLayout(t,e,n){return Ut(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{center:a=[0,0],linkDistance:s=50}=i,o=e.getAllNodes(),l=e.getAllEdges();if(!(o!=null&&o.length)||o.length===1)return Va(e,t,a);const u=uP({nodes:o,edges:l}),c=lP(u);a9(c);const h=Xj(c,s),d=s9(h),f=[];return d.forEach((p,v)=>{const y=ir(o[v]);y.data.x=p[0]+a[0],y.data.y=p[1]+a[1],f.push(y)}),t&&f.forEach(p=>e.mergeNodeData(p.id,{x:p.data.x,y:p.data.y})),{nodes:f,edges:l}})}}const a9=r=>{let t=-999999;r.forEach(e=>{e.forEach(n=>{n!==1/0&&t<n&&(t=n)})}),r.forEach((e,n)=>{e.forEach((i,a)=>{i===1/0&&(r[n][a]=t)})})},s9=r=>{const e=Wi.mul(Wi.pow(r,2),-.5),n=e.mean("row"),i=e.mean("column"),a=e.mean();e.add(a).subRowVector(n).subColumnVector(i);const s=new gP(e),o=Wi.sqrt(s.diagonalMatrix).diagonal();return s.leftSingularVectors.toJSON().map(l=>Wi.mul([l],[o]).toJSON()[0].splice(0,2))};function fm(r){return!!r.tick&&!!r.stop}const o9={gForce:!0,force2:!0,d3force:!0,fruchterman:!0,forceAtlas2:!0,force:!0,"graphin-force":!0},l9={center:[0,0],comboPadding:10,treeKey:"combo"};class u9{constructor(t={}){this.options=t,this.id="comboCombined",this.options=Object.assign(Object.assign({},l9),t)}execute(t,e){return Ut(this,void 0,void 0,function*(){return this.genericComboCombinedLayout(!1,t,e)})}assign(t,e){return Ut(this,void 0,void 0,function*(){yield this.genericComboCombinedLayout(!0,t,e)})}genericComboCombinedLayout(t,e,n){return Ut(this,void 0,void 0,function*(){const i=this.initVals(Object.assign(Object.assign({},this.options),n)),{center:a,treeKey:s,outerLayout:o}=i,l=e.getAllNodes().filter(O=>!O.data._isCombo),u=e.getAllNodes().filter(O=>O.data._isCombo),c=e.getAllEdges(),h=l==null?void 0:l.length;if(!h||h===1)return Va(e,t,a);const d=[],f=new Map;l.forEach(O=>{f.set(O.id,O)});const g=new Map;u.forEach(O=>{g.set(O.id,O)});const p=new Map,v=this.getInnerGraphs(e,s,f,g,c,i,p);yield Promise.all(v);const y=new Map,m=[],w=new Map;let S=!0;e.getRoots(s).forEach(O=>{const P=p.get(O.id),N=g.get(O.id)||f.get(O.id),C={id:O.id,data:Object.assign(Object.assign({},O.data),{x:P.data.x||N.data.x,y:P.data.y||N.data.y,fx:P.data.fx||N.data.fx,fy:P.data.fy||N.data.fy,mass:P.data.mass||N.data.mass,size:P.data.size})};m.push(C),y.set(O.id,!0),!isNaN(C.data.x)&&C.data.x!==0&&!isNaN(C.data.y)&&C.data.y!==0?S=!1:(C.data.x=Math.random()*100,C.data.y=Math.random()*100),cm(e,[O],L=>{L.id!==O.id&&w.set(L.id,O.id)},"TB",s)});const _=[];c.forEach(O=>{const P=w.get(O.source)||O.source,N=w.get(O.target)||O.target;P!==N&&y.has(P)&&y.has(N)&&_.push({id:O.id,source:P,target:N,data:{}})});let k;if(m!=null&&m.length){if(m.length===1)m[0].data.x=a[0],m[0].data.y=a[1];else{const O=new ln({nodes:m,edges:_}),P=o||new fP;S&&o9[P.id]&&(yield(m.length<100?new vP:new dm).assign(O));const N=Object.assign({center:a,kg:5,preventOverlap:!0,animate:!1},P.id==="force"?{gravity:1,factor:4,linkDistance:(C,L,F)=>{const G=Math.max(...L.data.size)||32,V=Math.max(...F.data.size)||32;return G/2+V/2+200}}:{});k=yield xx(P,O,N)}p.forEach(O=>{var P;const N=k.nodes.find(F=>F.id===O.id);if(N){const{x:F,y:G}=N.data;O.data.visited=!0,O.data.x=F,O.data.y=G,d.push({id:O.id,data:{x:F,y:G}})}const{x:C,y:L}=O.data;(P=O.data.nodes)===null||P===void 0||P.forEach(F=>{d.push({id:F.id,data:{x:F.data.x+C,y:F.data.y+L}})})}),p.forEach(({data:O})=>{const{x:P,y:N,visited:C,nodes:L}=O;L==null||L.forEach(F=>{if(!C){const G=d.find(V=>V.id===F.id);G.data.x+=P||0,G.data.y+=N||0}})})}return t&&d.forEach(O=>{e.mergeNodeData(O.id,{x:O.data.x,y:O.data.y})}),{nodes:d,edges:c}})}initVals(t){const e=Object.assign({},t),{nodeSize:n,spacing:i,comboPadding:a}=t;let s,o;if(Et(i)?o=()=>i:kt(i)?o=i:o=()=>0,e.spacing=o,!n)s=u=>{const c=o(u);return u.size?vi(u.size)?((u.size[0]>u.size[1]?u.size[0]:u.size[1])+c)/2:Ve(u.size)?((u.size.width>u.size.height?u.size.width:u.size.height)+c)/2:(u.size+c)/2:32+c/2};else if(kt(n))s=u=>{const c=n(u),h=o(u);return vi(u.size)?((u.size[0]>u.size[1]?u.size[0]:u.size[1])+h)/2:((c||32)+h)/2};else if(vi(n)){const c=(n[0]>n[1]?n[0]:n[1])/2;s=h=>c+o(h)/2}else{const u=n/2;s=c=>u+o(c)/2}e.nodeSize=s;let l;return Et(a)?l=()=>a:vi(a)?l=()=>Math.max.apply(null,a):kt(a)?l=a:l=()=>0,e.comboPadding=l,e}getInnerGraphs(t,e,n,i,a,s,o){const{nodeSize:l,comboPadding:u,spacing:c,innerLayout:h}=s,d=h||new dm({}),f={center:[0,0],preventOverlap:!0,nodeSpacing:c},g=[],p=v=>{let y=(u==null?void 0:u(v))||10;return vi(y)&&(y=Math.max(...y)),{size:y?[y*2,y*2]:[30,30],padding:y}};return t.getRoots(e).forEach(v=>{o.set(v.id,{id:v.id,data:{nodes:[],size:p(v).size}});let y=Promise.resolve();cm(t,[v],m=>{var w;if(!m.data._isCombo)return;const{size:S,padding:_}=p(m);if(!(!((w=t.getChildren(m.id,e))===null||w===void 0)&&w.length))o.set(m.id,{id:m.id,data:Object.assign(Object.assign({},m.data),{size:S})});else{const k=o.get(m.id);o.set(m.id,{id:m.id,data:Object.assign({nodes:[]},k==null?void 0:k.data)});const T=new Map,O=t.getChildren(m.id,e).map(C=>{if(C.data._isCombo)return o.has(C.id)||o.set(C.id,{id:C.id,data:Object.assign({},C.data)}),T.set(C.id,!0),o.get(C.id);const L=n.get(C.id)||i.get(C.id);return T.set(C.id,!0),{id:C.id,data:Object.assign(Object.assign({},L.data),C.data)}}),P={nodes:O,edges:a.filter(C=>T.has(C.source)&&T.has(C.target))};let N=1/0;O.forEach(C=>{var L;let{size:F}=C.data;F||(F=((L=o.get(C.id))===null||L===void 0?void 0:L.data.size)||(l==null?void 0:l(C))||[30,30]),Et(F)&&(F=[F,F]);const[G,V]=F;N>G&&(N=G),N>V&&(N=V),C.data.size=F}),y=y.then(()=>Ut(this,void 0,void 0,function*(){const C=new ln(P);yield xx(d,C,f,!0);const{minX:L,minY:F,maxX:G,maxY:V}=Kj(O),U={x:(G+L)/2,y:(V+F)/2};P.nodes.forEach(j=>{j.data.x-=U.x,j.data.y-=U.y});const q=[Math.max(G-L,N)+_*2,Math.max(V-F,N)+_*2];o.get(m.id).data.size=q,o.get(m.id).data.nodes=O}))}return!0},"BT",e),g.push(y)}),g}}function xx(r,t,e,n){var i;return Ut(this,void 0,void 0,function*(){return fm(r)?(r.execute(t,e),r.stop(),r.tick((i=e.iterations)!==null&&i!==void 0?i:300)):n?yield r.assign(t,e):yield r.execute(t,e)})}function c9(r,t){var e,n=1;r==null&&(r=0),t==null&&(t=0);function i(){var a,s=e.length,o,l=0,u=0;for(a=0;a<s;++a)o=e[a],l+=o.x,u+=o.y;for(l=(l/s-r)*n,u=(u/s-t)*n,a=0;a<s;++a)o=e[a],o.x-=l,o.y-=u}return i.initialize=function(a){e=a},i.x=function(a){return arguments.length?(r=+a,i):r},i.y=function(a){return arguments.length?(t=+a,i):t},i.strength=function(a){return arguments.length?(n=+a,i):n},i}function sn(r){return function(){return r}}function Vi(r){return(r()-.5)*1e-6}function h9(r){return r.x+r.vx}function d9(r){return r.y+r.vy}function f9(r){var t,e,n,i=1,a=1;typeof r!="function"&&(r=sn(r==null?1:+r));function s(){for(var u,c=t.length,h,d,f,g,p,v,y=0;y<a;++y)for(h=zc(t,h9,d9).visitAfter(o),u=0;u<c;++u)d=t[u],p=e[d.index],v=p*p,f=d.x+d.vx,g=d.y+d.vy,h.visit(m);function m(w,S,_,k,T){var O=w.data,P=w.r,N=p+P;if(O){if(O.index>d.index){var C=f-O.x-O.vx,L=g-O.y-O.vy,F=C*C+L*L;F<N*N&&(C===0&&(C=Vi(n),F+=C*C),L===0&&(L=Vi(n),F+=L*L),F=(N-(F=Math.sqrt(F)))/F*i,d.vx+=(C*=F)*(N=(P*=P)/(v+P)),d.vy+=(L*=F)*N,O.vx-=C*(N=1-N),O.vy-=L*N)}return}return S>f+N||k<f-N||_>g+N||T<g-N}}function o(u){if(u.data)return u.r=e[u.data.index];for(var c=u.r=0;c<4;++c)u[c]&&u[c].r>u.r&&(u.r=u[c].r)}function l(){if(t){var u,c=t.length,h;for(e=new Array(c),u=0;u<c;++u)h=t[u],e[h.index]=+r(h,u,t)}}return s.initialize=function(u,c){t=u,n=c,l()},s.iterations=function(u){return arguments.length?(a=+u,s):a},s.strength=function(u){return arguments.length?(i=+u,s):i},s.radius=function(u){return arguments.length?(r=typeof u=="function"?u:sn(+u),l(),s):r},s}function g9(r){return r.index}function Ex(r,t){var e=r.get(t);if(!e)throw new Error("node not found: "+t);return e}function v9(r){var t=g9,e=h,n,i=sn(30),a,s,o,l,u,c=1;r==null&&(r=[]);function h(v){return 1/Math.min(o[v.source.index],o[v.target.index])}function d(v){for(var y=0,m=r.length;y<c;++y)for(var w=0,S,_,k,T,O,P,N;w<m;++w)S=r[w],_=S.source,k=S.target,T=k.x+k.vx-_.x-_.vx||Vi(u),O=k.y+k.vy-_.y-_.vy||Vi(u),P=Math.sqrt(T*T+O*O),P=(P-a[w])/P*v*n[w],T*=P,O*=P,k.vx-=T*(N=l[w]),k.vy-=O*N,_.vx+=T*(N=1-N),_.vy+=O*N}function f(){if(s){var v,y=s.length,m=r.length,w=new Map(s.map((_,k)=>[t(_,k,s),_])),S;for(v=0,o=new Array(y);v<m;++v)S=r[v],S.index=v,typeof S.source!="object"&&(S.source=Ex(w,S.source)),typeof S.target!="object"&&(S.target=Ex(w,S.target)),o[S.source.index]=(o[S.source.index]||0)+1,o[S.target.index]=(o[S.target.index]||0)+1;for(v=0,l=new Array(m);v<m;++v)S=r[v],l[v]=o[S.source.index]/(o[S.source.index]+o[S.target.index]);n=new Array(m),g(),a=new Array(m),p()}}function g(){if(s)for(var v=0,y=r.length;v<y;++v)n[v]=+e(r[v],v,r)}function p(){if(s)for(var v=0,y=r.length;v<y;++v)a[v]=+i(r[v],v,r)}return d.initialize=function(v,y){s=v,u=y,f()},d.links=function(v){return arguments.length?(r=v,f(),d):r},d.id=function(v){return arguments.length?(t=v,d):t},d.iterations=function(v){return arguments.length?(c=+v,d):c},d.strength=function(v){return arguments.length?(e=typeof v=="function"?v:sn(+v),g(),d):e},d.distance=function(v){return arguments.length?(i=typeof v=="function"?v:sn(+v),p(),d):i},d}var p9={value:()=>{}};function pP(){for(var r=0,t=arguments.length,e={},n;r<t;++r){if(!(n=arguments[r]+"")||n in e||/[\s.]/.test(n))throw new Error("illegal type: "+n);e[n]=[]}return new mu(e)}function mu(r){this._=r}function y9(r,t){return r.trim().split(/^|\s+/).map(function(e){var n="",i=e.indexOf(".");if(i>=0&&(n=e.slice(i+1),e=e.slice(0,i)),e&&!t.hasOwnProperty(e))throw new Error("unknown type: "+e);return{type:e,name:n}})}mu.prototype=pP.prototype={constructor:mu,on:function(r,t){var e=this._,n=y9(r+"",e),i,a=-1,s=n.length;if(arguments.length<2){for(;++a<s;)if((i=(r=n[a]).type)&&(i=m9(e[i],r.name)))return i;return}if(t!=null&&typeof t!="function")throw new Error("invalid callback: "+t);for(;++a<s;)if(i=(r=n[a]).type)e[i]=Sx(e[i],r.name,t);else if(t==null)for(i in e)e[i]=Sx(e[i],r.name,null);return this},copy:function(){var r={},t=this._;for(var e in t)r[e]=t[e].slice();return new mu(r)},call:function(r,t){if((i=arguments.length-2)>0)for(var e=new Array(i),n=0,i,a;n<i;++n)e[n]=arguments[n+2];if(!this._.hasOwnProperty(r))throw new Error("unknown type: "+r);for(a=this._[r],n=0,i=a.length;n<i;++n)a[n].value.apply(t,e)},apply:function(r,t,e){if(!this._.hasOwnProperty(r))throw new Error("unknown type: "+r);for(var n=this._[r],i=0,a=n.length;i<a;++i)n[i].value.apply(t,e)}};function m9(r,t){for(var e=0,n=r.length,i;e<n;++e)if((i=r[e]).name===t)return i.value}function Sx(r,t,e){for(var n=0,i=r.length;n<i;++n)if(r[n].name===t){r[n]=p9,r=r.slice(0,n).concat(r.slice(n+1));break}return e!=null&&r.push({name:t,value:e}),r}var As=0,so=0,Zs=0,yP=1e3,Ku,oo,Zu=0,za=0,qc=0,Fo=typeof performance=="object"&&performance.now?performance:Date,mP=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(r){setTimeout(r,17)};function bP(){return za||(mP(b9),za=Fo.now()+qc)}function b9(){za=0}function gm(){this._call=this._time=this._next=null}gm.prototype=wP.prototype={constructor:gm,restart:function(r,t,e){if(typeof r!="function")throw new TypeError("callback is not a function");e=(e==null?bP():+e)+(t==null?0:+t),!this._next&&oo!==this&&(oo?oo._next=this:Ku=this,oo=this),this._call=r,this._time=e,vm()},stop:function(){this._call&&(this._call=null,this._time=1/0,vm())}};function wP(r,t,e){var n=new gm;return n.restart(r,t,e),n}function w9(){bP(),++As;for(var r=Ku,t;r;)(t=za-r._time)>=0&&r._call.call(void 0,t),r=r._next;--As}function _x(){za=(Zu=Fo.now())+qc,As=so=0;try{w9()}finally{As=0,E9(),za=0}}function x9(){var r=Fo.now(),t=r-Zu;t>yP&&(qc-=t,Zu=r)}function E9(){for(var r,t=Ku,e,n=1/0;t;)t._call?(n>t._time&&(n=t._time),r=t,t=t._next):(e=t._next,t._next=null,t=r?r._next=e:Ku=e);oo=r,vm(n)}function vm(r){if(!As){so&&(so=clearTimeout(so));var t=r-za;t>24?(r<1/0&&(so=setTimeout(_x,r-Fo.now()-qc)),Zs&&(Zs=clearInterval(Zs))):(Zs||(Zu=Fo.now(),Zs=setInterval(x9,yP)),As=1,mP(_x))}}const S9=1664525,_9=1013904223,Mx=4294967296;function M9(){let r=1;return()=>(r=(S9*r+_9)%Mx)/Mx}function k9(r){return r.x}function O9(r){return r.y}var T9=10,A9=Math.PI*(3-Math.sqrt(5));function P9(r){var t,e=1,n=.001,i=1-Math.pow(n,1/300),a=0,s=.6,o=new Map,l=wP(h),u=pP("tick","end"),c=M9();r==null&&(r=[]);function h(){d(),u.call("tick",t),e<n&&(l.stop(),u.call("end",t))}function d(p){var v,y=r.length,m;p===void 0&&(p=1);for(var w=0;w<p;++w)for(e+=(a-e)*i,o.forEach(function(S){S(e)}),v=0;v<y;++v)m=r[v],m.fx==null?m.x+=m.vx*=s:(m.x=m.fx,m.vx=0),m.fy==null?m.y+=m.vy*=s:(m.y=m.fy,m.vy=0);return t}function f(){for(var p=0,v=r.length,y;p<v;++p){if(y=r[p],y.index=p,y.fx!=null&&(y.x=y.fx),y.fy!=null&&(y.y=y.fy),isNaN(y.x)||isNaN(y.y)){var m=T9*Math.sqrt(.5+p),w=p*A9;y.x=m*Math.cos(w),y.y=m*Math.sin(w)}(isNaN(y.vx)||isNaN(y.vy))&&(y.vx=y.vy=0)}}function g(p){return p.initialize&&p.initialize(r,c),p}return f(),t={tick:d,restart:function(){return l.restart(h),t},stop:function(){return l.stop(),t},nodes:function(p){return arguments.length?(r=p,f(),o.forEach(g),t):r},alpha:function(p){return arguments.length?(e=+p,t):e},alphaMin:function(p){return arguments.length?(n=+p,t):n},alphaDecay:function(p){return arguments.length?(i=+p,t):+i},alphaTarget:function(p){return arguments.length?(a=+p,t):a},velocityDecay:function(p){return arguments.length?(s=1-p,t):1-s},randomSource:function(p){return arguments.length?(c=p,o.forEach(g),t):c},force:function(p,v){return arguments.length>1?(v==null?o.delete(p):o.set(p,g(v)),t):o.get(p)},find:function(p,v,y){var m=0,w=r.length,S,_,k,T,O;for(y==null?y=1/0:y*=y,m=0;m<w;++m)T=r[m],S=p-T.x,_=v-T.y,k=S*S+_*_,k<y&&(O=T,y=k);return O},on:function(p,v){return arguments.length>1?(u.on(p,v),t):u.on(p)}}}function N9(){var r,t,e,n,i=sn(-30),a,s=1,o=1/0,l=.81;function u(f){var g,p=r.length,v=zc(r,k9,O9).visitAfter(h);for(n=f,g=0;g<p;++g)t=r[g],v.visit(d)}function c(){if(r){var f,g=r.length,p;for(a=new Array(g),f=0;f<g;++f)p=r[f],a[p.index]=+i(p,f,r)}}function h(f){var g=0,p,v,y=0,m,w,S;if(f.length){for(m=w=S=0;S<4;++S)(p=f[S])&&(v=Math.abs(p.value))&&(g+=p.value,y+=v,m+=v*p.x,w+=v*p.y);f.x=m/y,f.y=w/y}else{p=f,p.x=p.data.x,p.y=p.data.y;do g+=a[p.data.index];while(p=p.next)}f.value=g}function d(f,g,p,v){if(!f.value)return!0;var y=f.x-t.x,m=f.y-t.y,w=v-g,S=y*y+m*m;if(w*w/l<S)return S<o&&(y===0&&(y=Vi(e),S+=y*y),m===0&&(m=Vi(e),S+=m*m),S<s&&(S=Math.sqrt(s*S)),t.vx+=y*f.value*n/S,t.vy+=m*f.value*n/S),!0;if(f.length||S>=o)return;(f.data!==t||f.next)&&(y===0&&(y=Vi(e),S+=y*y),m===0&&(m=Vi(e),S+=m*m),S<s&&(S=Math.sqrt(s*S)));do f.data!==t&&(w=a[f.data.index]*n/S,t.vx+=y*w,t.vy+=m*w);while(f=f.next)}return u.initialize=function(f,g){r=f,e=g,c()},u.strength=function(f){return arguments.length?(i=typeof f=="function"?f:sn(+f),c(),u):i},u.distanceMin=function(f){return arguments.length?(s=f*f,u):Math.sqrt(s)},u.distanceMax=function(f){return arguments.length?(o=f*f,u):Math.sqrt(o)},u.theta=function(f){return arguments.length?(l=f*f,u):Math.sqrt(l)},u}function C9(r,t,e){var n,i=sn(.1),a,s;typeof r!="function"&&(r=sn(+r)),t==null&&(t=0),e==null&&(e=0);function o(u){for(var c=0,h=n.length;c<h;++c){var d=n[c],f=d.x-t||1e-6,g=d.y-e||1e-6,p=Math.sqrt(f*f+g*g),v=(s[c]-p)*a[c]*u/p;d.vx+=f*v,d.vy+=g*v}}function l(){if(n){var u,c=n.length;for(a=new Array(c),s=new Array(c),u=0;u<c;++u)s[u]=+r(n[u],u,n),a[u]=isNaN(s[u])?0:+i(n[u],u,n)}}return o.initialize=function(u){n=u,l()},o.strength=function(u){return arguments.length?(i=typeof u=="function"?u:sn(+u),l(),o):i},o.radius=function(u){return arguments.length?(r=typeof u=="function"?u:sn(+u),l(),o):r},o.x=function(u){return arguments.length?(t=+u,o):t},o.y=function(u){return arguments.length?(e=+u,o):e},o}function R9(r){var t=sn(.1),e,n,i;typeof r!="function"&&(r=sn(r==null?0:+r));function a(o){for(var l=0,u=e.length,c;l<u;++l)c=e[l],c.vx+=(i[l]-c.x)*n[l]*o}function s(){if(e){var o,l=e.length;for(n=new Array(l),i=new Array(l),o=0;o<l;++o)n[o]=isNaN(i[o]=+r(e[o],o,e))?0:+t(e[o],o,e)}}return a.initialize=function(o){e=o,s()},a.strength=function(o){return arguments.length?(t=typeof o=="function"?o:sn(+o),s(),a):t},a.x=function(o){return arguments.length?(r=typeof o=="function"?o:sn(+o),s(),a):r},a}function L9(r){var t=sn(.1),e,n,i;typeof r!="function"&&(r=sn(r==null?0:+r));function a(o){for(var l=0,u=e.length,c;l<u;++l)c=e[l],c.vy+=(i[l]-c.y)*n[l]*o}function s(){if(e){var o,l=e.length;for(n=new Array(l),i=new Array(l),o=0;o<l;++o)n[o]=isNaN(i[o]=+r(e[o],o,e))?0:+t(e[o],o,e)}}return a.initialize=function(o){e=o,s()},a.strength=function(o){return arguments.length?(t=typeof o=="function"?o:sn(+o),s(),a):t},a.y=function(o){return arguments.length?(r=typeof o=="function"?o:sn(+o),s(),a):r},a}class I9{constructor(t){this.id="d3-force",this.config={inputNodeAttrs:["x","y","vx","vy","fx","fy"],outputNodeAttrs:["x","y","vx","vy"],simulationAttrs:["alpha","alphaMin","alphaDecay","alphaTarget","velocityDecay","randomSource"]},this.forceMap={link:v9,manyBody:N9,center:c9,collide:f9,radial:C9,x:R9,y:L9},this.options={link:{id:e=>e.id},manyBody:{},center:{x:0,y:0}},this.context={options:{},assign:!1,nodes:[],edges:[]},In(this.options,t),this.options.forceSimulation&&(this.simulation=this.options.forceSimulation)}execute(t,e){return Ut(this,void 0,void 0,function*(){return this.genericLayout(!1,t,e)})}assign(t,e){return Ut(this,void 0,void 0,function*(){yield this.genericLayout(!0,t,e)})}stop(){this.simulation.stop()}tick(t){return this.simulation.tick(t),this.getResult()}restart(){this.simulation.restart()}setFixedPosition(t,e){const n=this.context.nodes.find(i=>i.id===t);n&&e.forEach((i,a)=>{if(typeof i=="number"||i===null){const s=["fx","fy","fz"][a];n[s]=i}})}getOptions(t){var e,n;const i=In({},this.options,t);return i.collide&&((e=i.collide)===null||e===void 0?void 0:e.radius)===void 0&&(i.collide=i.collide||{},i.collide.radius=(n=i.nodeSize)!==null&&n!==void 0?n:10),i.iterations===void 0&&(i.link&&i.link.iterations===void 0&&(i.iterations=i.link.iterations),i.collide&&i.collide.iterations===void 0&&(i.iterations=i.collide.iterations)),this.context.options=i,i}genericLayout(t,e,n){var i;return Ut(this,void 0,void 0,function*(){const a=this.getOptions(n),s=e.getAllNodes().map(({id:c,data:h})=>Object.assign(Object.assign({id:c},h),Ca(h.data,this.config.inputNodeAttrs))),o=e.getAllEdges().map(c=>Object.assign({},c));Object.assign(this.context,{assign:t,nodes:s,edges:o,graph:e});const l=new Promise(c=>{this.resolver=c}),u=this.setSimulation(a);return u.nodes(s),(i=u.force("link"))===null||i===void 0||i.links(o),l})}getResult(){const{assign:t,nodes:e,edges:n,graph:i}=this.context,a=e.map(o=>({id:o.id,data:Object.assign(Object.assign({},o.data),Ca(o,this.config.outputNodeAttrs))})),s=n.map(({id:o,source:l,target:u,data:c})=>({id:o,source:typeof l=="object"?l.id:l,target:typeof u=="object"?u.id:u,data:c}));return t&&a.forEach(o=>i.mergeNodeData(o.id,o.data)),{nodes:a,edges:s}}initSimulation(){return P9()}setSimulation(t){const e=this.simulation||this.options.forceSimulation||this.initSimulation();return this.simulation||(this.simulation=e.on("tick",()=>{var n;return(n=t.onTick)===null||n===void 0?void 0:n.call(t,this.getResult())}).on("end",()=>{var n;return(n=this.resolver)===null||n===void 0?void 0:n.call(this,this.getResult())})),kx(e,this.config.simulationAttrs.map(n=>[n,t[n]])),Object.entries(this.forceMap).forEach(([n,i])=>{const a=n;if(t[n]){let s=e.force(a);s||(s=i(),e.force(a,s)),kx(s,Object.entries(t[a]))}else e.force(a,null)}),e}}const kx=(r,t)=>t.reduce((e,[n,i])=>!e[n]||i===void 0?e:e[n].call(r,i),r);var jd,Ox;function D9(){if(Ox)return jd;Ox=1;function r(){this.__data__=[],this.size=0}return jd=r,jd}var qd,Tx;function Ds(){if(Tx)return qd;Tx=1;function r(t,e){return t===e||t!==t&&e!==e}return qd=r,qd}var $d,Ax;function $c(){if(Ax)return $d;Ax=1;var r=Ds();function t(e,n){for(var i=e.length;i--;)if(r(e[i][0],n))return i;return-1}return $d=t,$d}var Gd,Px;function F9(){if(Px)return Gd;Px=1;var r=$c(),t=Array.prototype,e=t.splice;function n(i){var a=this.__data__,s=r(a,i);if(s<0)return!1;var o=a.length-1;return s==o?a.pop():e.call(a,s,1),--this.size,!0}return Gd=n,Gd}var Wd,Nx;function B9(){if(Nx)return Wd;Nx=1;var r=$c();function t(e){var n=this.__data__,i=r(n,e);return i<0?void 0:n[i][1]}return Wd=t,Wd}var Vd,Cx;function z9(){if(Cx)return Vd;Cx=1;var r=$c();function t(e){return r(this.__data__,e)>-1}return Vd=t,Vd}var Ud,Rx;function j9(){if(Rx)return Ud;Rx=1;var r=$c();function t(e,n){var i=this.__data__,a=r(i,e);return a<0?(++this.size,i.push([e,n])):i[a][1]=n,this}return Ud=t,Ud}var Yd,Lx;function Gc(){if(Lx)return Yd;Lx=1;var r=D9(),t=F9(),e=B9(),n=z9(),i=j9();function a(s){var o=-1,l=s==null?0:s.length;for(this.clear();++o<l;){var u=s[o];this.set(u[0],u[1])}}return a.prototype.clear=r,a.prototype.delete=t,a.prototype.get=e,a.prototype.has=n,a.prototype.set=i,Yd=a,Yd}var Hd,Ix;function q9(){if(Ix)return Hd;Ix=1;var r=Gc();function t(){this.__data__=new r,this.size=0}return Hd=t,Hd}var Xd,Dx;function $9(){if(Dx)return Xd;Dx=1;function r(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}return Xd=r,Xd}var Kd,Fx;function G9(){if(Fx)return Kd;Fx=1;function r(t){return this.__data__.get(t)}return Kd=r,Kd}var Zd,Bx;function W9(){if(Bx)return Zd;Bx=1;function r(t){return this.__data__.has(t)}return Zd=r,Zd}var Jd,zx;function xP(){if(zx)return Jd;zx=1;var r=typeof gl=="object"&&gl&&gl.Object===Object&≷return Jd=r,Jd}var Qd,jx;function Br(){if(jx)return Qd;jx=1;var r=xP(),t=typeof self=="object"&&self&&self.Object===Object&&self,e=r||t||Function("return this")();return Qd=e,Qd}var tf,qx;function Fs(){if(qx)return tf;qx=1;var r=Br(),t=r.Symbol;return tf=t,tf}var ef,$x;function V9(){if($x)return ef;$x=1;var r=Fs(),t=Object.prototype,e=t.hasOwnProperty,n=t.toString,i=r?r.toStringTag:void 0;function a(s){var o=e.call(s,i),l=s[i];try{s[i]=void 0;var u=!0}catch{}var c=n.call(s);return u&&(o?s[i]=l:delete s[i]),c}return ef=a,ef}var nf,Gx;function U9(){if(Gx)return nf;Gx=1;var r=Object.prototype,t=r.toString;function e(n){return t.call(n)}return nf=e,nf}var rf,Wx;function Ua(){if(Wx)return rf;Wx=1;var r=Fs(),t=V9(),e=U9(),n="[object Null]",i="[object Undefined]",a=r?r.toStringTag:void 0;function s(o){return o==null?o===void 0?i:n:a&&a in Object(o)?t(o):e(o)}return rf=s,rf}var af,Vx;function Er(){if(Vx)return af;Vx=1;function r(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}return af=r,af}var sf,Ux;function al(){if(Ux)return sf;Ux=1;var r=Ua(),t=Er(),e="[object AsyncFunction]",n="[object Function]",i="[object GeneratorFunction]",a="[object Proxy]";function s(o){if(!t(o))return!1;var l=r(o);return l==n||l==i||l==e||l==a}return sf=s,sf}var of,Yx;function Y9(){if(Yx)return of;Yx=1;var r=Br(),t=r["__core-js_shared__"];return of=t,of}var lf,Hx;function H9(){if(Hx)return lf;Hx=1;var r=Y9(),t=function(){var n=/[^.]+$/.exec(r&&r.keys&&r.keys.IE_PROTO||"");return n?"Symbol(src)_1."+n:""}();function e(n){return!!t&&t in n}return lf=e,lf}var uf,Xx;function EP(){if(Xx)return uf;Xx=1;var r=Function.prototype,t=r.toString;function e(n){if(n!=null){try{return t.call(n)}catch{}try{return n+""}catch{}}return""}return uf=e,uf}var cf,Kx;function X9(){if(Kx)return cf;Kx=1;var r=al(),t=H9(),e=Er(),n=EP(),i=/[\\^$.*+?()[\]{}|]/g,a=/^\[object .+?Constructor\]$/,s=Function.prototype,o=Object.prototype,l=s.toString,u=o.hasOwnProperty,c=RegExp("^"+l.call(u).replace(i,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function h(d){if(!e(d)||t(d))return!1;var f=r(d)?c:a;return f.test(n(d))}return cf=h,cf}var hf,Zx;function K9(){if(Zx)return hf;Zx=1;function r(t,e){return t==null?void 0:t[e]}return hf=r,hf}var df,Jx;function Ya(){if(Jx)return df;Jx=1;var r=X9(),t=K9();function e(n,i){var a=t(n,i);return r(a)?a:void 0}return df=e,df}var ff,Qx;function b1(){if(Qx)return ff;Qx=1;var r=Ya(),t=Br(),e=r(t,"Map");return ff=e,ff}var gf,tE;function Wc(){if(tE)return gf;tE=1;var r=Ya(),t=r(Object,"create");return gf=t,gf}var vf,eE;function Z9(){if(eE)return vf;eE=1;var r=Wc();function t(){this.__data__=r?r(null):{},this.size=0}return vf=t,vf}var pf,nE;function J9(){if(nE)return pf;nE=1;function r(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}return pf=r,pf}var yf,rE;function Q9(){if(rE)return yf;rE=1;var r=Wc(),t="__lodash_hash_undefined__",e=Object.prototype,n=e.hasOwnProperty;function i(a){var s=this.__data__;if(r){var o=s[a];return o===t?void 0:o}return n.call(s,a)?s[a]:void 0}return yf=i,yf}var mf,iE;function tq(){if(iE)return mf;iE=1;var r=Wc(),t=Object.prototype,e=t.hasOwnProperty;function n(i){var a=this.__data__;return r?a[i]!==void 0:e.call(a,i)}return mf=n,mf}var bf,aE;function eq(){if(aE)return bf;aE=1;var r=Wc(),t="__lodash_hash_undefined__";function e(n,i){var a=this.__data__;return this.size+=this.has(n)?0:1,a[n]=r&&i===void 0?t:i,this}return bf=e,bf}var wf,sE;function nq(){if(sE)return wf;sE=1;var r=Z9(),t=J9(),e=Q9(),n=tq(),i=eq();function a(s){var o=-1,l=s==null?0:s.length;for(this.clear();++o<l;){var u=s[o];this.set(u[0],u[1])}}return a.prototype.clear=r,a.prototype.delete=t,a.prototype.get=e,a.prototype.has=n,a.prototype.set=i,wf=a,wf}var xf,oE;function rq(){if(oE)return xf;oE=1;var r=nq(),t=Gc(),e=b1();function n(){this.size=0,this.__data__={hash:new r,map:new(e||t),string:new r}}return xf=n,xf}var Ef,lE;function iq(){if(lE)return Ef;lE=1;function r(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}return Ef=r,Ef}var Sf,uE;function Vc(){if(uE)return Sf;uE=1;var r=iq();function t(e,n){var i=e.__data__;return r(n)?i[typeof n=="string"?"string":"hash"]:i.map}return Sf=t,Sf}var _f,cE;function aq(){if(cE)return _f;cE=1;var r=Vc();function t(e){var n=r(this,e).delete(e);return this.size-=n?1:0,n}return _f=t,_f}var Mf,hE;function sq(){if(hE)return Mf;hE=1;var r=Vc();function t(e){return r(this,e).get(e)}return Mf=t,Mf}var kf,dE;function oq(){if(dE)return kf;dE=1;var r=Vc();function t(e){return r(this,e).has(e)}return kf=t,kf}var Of,fE;function lq(){if(fE)return Of;fE=1;var r=Vc();function t(e,n){var i=r(this,e),a=i.size;return i.set(e,n),this.size+=i.size==a?0:1,this}return Of=t,Of}var Tf,gE;function w1(){if(gE)return Tf;gE=1;var r=rq(),t=aq(),e=sq(),n=oq(),i=lq();function a(s){var o=-1,l=s==null?0:s.length;for(this.clear();++o<l;){var u=s[o];this.set(u[0],u[1])}}return a.prototype.clear=r,a.prototype.delete=t,a.prototype.get=e,a.prototype.has=n,a.prototype.set=i,Tf=a,Tf}var Af,vE;function uq(){if(vE)return Af;vE=1;var r=Gc(),t=b1(),e=w1(),n=200;function i(a,s){var o=this.__data__;if(o instanceof r){var l=o.__data__;if(!t||l.length<n-1)return l.push([a,s]),this.size=++o.size,this;o=this.__data__=new e(l)}return o.set(a,s),this.size=o.size,this}return Af=i,Af}var Pf,pE;function Uc(){if(pE)return Pf;pE=1;var r=Gc(),t=q9(),e=$9(),n=G9(),i=W9(),a=uq();function s(o){var l=this.__data__=new r(o);this.size=l.size}return s.prototype.clear=t,s.prototype.delete=e,s.prototype.get=n,s.prototype.has=i,s.prototype.set=a,Pf=s,Pf}var Nf,yE;function x1(){if(yE)return Nf;yE=1;function r(t,e){for(var n=-1,i=t==null?0:t.length;++n<i&&e(t[n],n,t)!==!1;);return t}return Nf=r,Nf}var Cf,mE;function SP(){if(mE)return Cf;mE=1;var r=Ya(),t=function(){try{var e=r(Object,"defineProperty");return e({},"",{}),e}catch{}}();return Cf=t,Cf}var Rf,bE;function Yc(){if(bE)return Rf;bE=1;var r=SP();function t(e,n,i){n=="__proto__"&&r?r(e,n,{configurable:!0,enumerable:!0,value:i,writable:!0}):e[n]=i}return Rf=t,Rf}var Lf,wE;function Hc(){if(wE)return Lf;wE=1;var r=Yc(),t=Ds(),e=Object.prototype,n=e.hasOwnProperty;function i(a,s,o){var l=a[s];(!(n.call(a,s)&&t(l,o))||o===void 0&&!(s in a))&&r(a,s,o)}return Lf=i,Lf}var If,xE;function sl(){if(xE)return If;xE=1;var r=Hc(),t=Yc();function e(n,i,a,s){var o=!a;a||(a={});for(var l=-1,u=i.length;++l<u;){var c=i[l],h=s?s(a[c],n[c],c,a,n):void 0;h===void 0&&(h=n[c]),o?t(a,c,h):r(a,c,h)}return a}return If=e,If}var Df,EE;function cq(){if(EE)return Df;EE=1;function r(t,e){for(var n=-1,i=Array(t);++n<t;)i[n]=e(n);return i}return Df=r,Df}var Ff,SE;function li(){if(SE)return Ff;SE=1;function r(t){return t!=null&&typeof t=="object"}return Ff=r,Ff}var Bf,_E;function hq(){if(_E)return Bf;_E=1;var r=Ua(),t=li(),e="[object Arguments]";function n(i){return t(i)&&r(i)==e}return Bf=n,Bf}var zf,ME;function ol(){if(ME)return zf;ME=1;var r=hq(),t=li(),e=Object.prototype,n=e.hasOwnProperty,i=e.propertyIsEnumerable,a=r(function(){return arguments}())?r:function(s){return t(s)&&n.call(s,"callee")&&!i.call(s,"callee")};return zf=a,zf}var jf,kE;function Qe(){if(kE)return jf;kE=1;var r=Array.isArray;return jf=r,jf}var lo={exports:{}},qf,OE;function dq(){if(OE)return qf;OE=1;function r(){return!1}return qf=r,qf}lo.exports;var TE;function Bs(){return TE||(TE=1,function(r,t){var e=Br(),n=dq(),i=t&&!t.nodeType&&t,a=i&&!0&&r&&!r.nodeType&&r,s=a&&a.exports===i,o=s?e.Buffer:void 0,l=o?o.isBuffer:void 0,u=l||n;r.exports=u}(lo,lo.exports)),lo.exports}var $f,AE;function Xc(){if(AE)return $f;AE=1;var r=9007199254740991,t=/^(?:0|[1-9]\d*)$/;function e(n,i){var a=typeof n;return i=i??r,!!i&&(a=="number"||a!="symbol"&&t.test(n))&&n>-1&&n%1==0&&n<i}return $f=e,$f}var Gf,PE;function E1(){if(PE)return Gf;PE=1;var r=9007199254740991;function t(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=r}return Gf=t,Gf}var Wf,NE;function fq(){if(NE)return Wf;NE=1;var r=Ua(),t=E1(),e=li(),n="[object Arguments]",i="[object Array]",a="[object Boolean]",s="[object Date]",o="[object Error]",l="[object Function]",u="[object Map]",c="[object Number]",h="[object Object]",d="[object RegExp]",f="[object Set]",g="[object String]",p="[object WeakMap]",v="[object ArrayBuffer]",y="[object DataView]",m="[object Float32Array]",w="[object Float64Array]",S="[object Int8Array]",_="[object Int16Array]",k="[object Int32Array]",T="[object Uint8Array]",O="[object Uint8ClampedArray]",P="[object Uint16Array]",N="[object Uint32Array]",C={};C[m]=C[w]=C[S]=C[_]=C[k]=C[T]=C[O]=C[P]=C[N]=!0,C[n]=C[i]=C[v]=C[a]=C[y]=C[s]=C[o]=C[l]=C[u]=C[c]=C[h]=C[d]=C[f]=C[g]=C[p]=!1;function L(F){return e(F)&&t(F.length)&&!!C[r(F)]}return Wf=L,Wf}var Vf,CE;function Kc(){if(CE)return Vf;CE=1;function r(t){return function(e){return t(e)}}return Vf=r,Vf}var uo={exports:{}};uo.exports;var RE;function S1(){return RE||(RE=1,function(r,t){var e=xP(),n=t&&!t.nodeType&&t,i=n&&!0&&r&&!r.nodeType&&r,a=i&&i.exports===n,s=a&&e.process,o=function(){try{var l=i&&i.require&&i.require("util").types;return l||s&&s.binding&&s.binding("util")}catch{}}();r.exports=o}(uo,uo.exports)),uo.exports}var Uf,LE;function ll(){if(LE)return Uf;LE=1;var r=fq(),t=Kc(),e=S1(),n=e&&e.isTypedArray,i=n?t(n):r;return Uf=i,Uf}var Yf,IE;function _P(){if(IE)return Yf;IE=1;var r=cq(),t=ol(),e=Qe(),n=Bs(),i=Xc(),a=ll(),s=Object.prototype,o=s.hasOwnProperty;function l(u,c){var h=e(u),d=!h&&t(u),f=!h&&!d&&n(u),g=!h&&!d&&!f&&a(u),p=h||d||f||g,v=p?r(u.length,String):[],y=v.length;for(var m in u)(c||o.call(u,m))&&!(p&&(m=="length"||f&&(m=="offset"||m=="parent")||g&&(m=="buffer"||m=="byteLength"||m=="byteOffset")||i(m,y)))&&v.push(m);return v}return Yf=l,Yf}var Hf,DE;function Zc(){if(DE)return Hf;DE=1;var r=Object.prototype;function t(e){var n=e&&e.constructor,i=typeof n=="function"&&n.prototype||r;return e===i}return Hf=t,Hf}var Xf,FE;function MP(){if(FE)return Xf;FE=1;function r(t,e){return function(n){return t(e(n))}}return Xf=r,Xf}var Kf,BE;function gq(){if(BE)return Kf;BE=1;var r=MP(),t=r(Object.keys,Object);return Kf=t,Kf}var Zf,zE;function _1(){if(zE)return Zf;zE=1;var r=Zc(),t=gq(),e=Object.prototype,n=e.hasOwnProperty;function i(a){if(!r(a))return t(a);var s=[];for(var o in Object(a))n.call(a,o)&&o!="constructor"&&s.push(o);return s}return Zf=i,Zf}var Jf,jE;function Oi(){if(jE)return Jf;jE=1;var r=al(),t=E1();function e(n){return n!=null&&t(n.length)&&!r(n)}return Jf=e,Jf}var Qf,qE;function ua(){if(qE)return Qf;qE=1;var r=_P(),t=_1(),e=Oi();function n(i){return e(i)?r(i):t(i)}return Qf=n,Qf}var tg,$E;function vq(){if($E)return tg;$E=1;var r=sl(),t=ua();function e(n,i){return n&&r(i,t(i),n)}return tg=e,tg}var eg,GE;function pq(){if(GE)return eg;GE=1;function r(t){var e=[];if(t!=null)for(var n in Object(t))e.push(n);return e}return eg=r,eg}var ng,WE;function yq(){if(WE)return ng;WE=1;var r=Er(),t=Zc(),e=pq(),n=Object.prototype,i=n.hasOwnProperty;function a(s){if(!r(s))return e(s);var o=t(s),l=[];for(var u in s)u=="constructor"&&(o||!i.call(s,u))||l.push(u);return l}return ng=a,ng}var rg,VE;function Ha(){if(VE)return rg;VE=1;var r=_P(),t=yq(),e=Oi();function n(i){return e(i)?r(i,!0):t(i)}return rg=n,rg}var ig,UE;function mq(){if(UE)return ig;UE=1;var r=sl(),t=Ha();function e(n,i){return n&&r(i,t(i),n)}return ig=e,ig}var co={exports:{}};co.exports;var YE;function kP(){return YE||(YE=1,function(r,t){var e=Br(),n=t&&!t.nodeType&&t,i=n&&!0&&r&&!r.nodeType&&r,a=i&&i.exports===n,s=a?e.Buffer:void 0,o=s?s.allocUnsafe:void 0;function l(u,c){if(c)return u.slice();var h=u.length,d=o?o(h):new u.constructor(h);return u.copy(d),d}r.exports=l}(co,co.exports)),co.exports}var ag,HE;function OP(){if(HE)return ag;HE=1;function r(t,e){var n=-1,i=t.length;for(e||(e=Array(i));++n<i;)e[n]=t[n];return e}return ag=r,ag}var sg,XE;function TP(){if(XE)return sg;XE=1;function r(t,e){for(var n=-1,i=t==null?0:t.length,a=0,s=[];++n<i;){var o=t[n];e(o,n,t)&&(s[a++]=o)}return s}return sg=r,sg}var og,KE;function AP(){if(KE)return og;KE=1;function r(){return[]}return og=r,og}var lg,ZE;function M1(){if(ZE)return lg;ZE=1;var r=TP(),t=AP(),e=Object.prototype,n=e.propertyIsEnumerable,i=Object.getOwnPropertySymbols,a=i?function(s){return s==null?[]:(s=Object(s),r(i(s),function(o){return n.call(s,o)}))}:t;return lg=a,lg}var ug,JE;function bq(){if(JE)return ug;JE=1;var r=sl(),t=M1();function e(n,i){return r(n,t(n),i)}return ug=e,ug}var cg,QE;function k1(){if(QE)return cg;QE=1;function r(t,e){for(var n=-1,i=e.length,a=t.length;++n<i;)t[a+n]=e[n];return t}return cg=r,cg}var hg,t2;function Jc(){if(t2)return hg;t2=1;var r=MP(),t=r(Object.getPrototypeOf,Object);return hg=t,hg}var dg,e2;function PP(){if(e2)return dg;e2=1;var r=k1(),t=Jc(),e=M1(),n=AP(),i=Object.getOwnPropertySymbols,a=i?function(s){for(var o=[];s;)r(o,e(s)),s=t(s);return o}:n;return dg=a,dg}var fg,n2;function wq(){if(n2)return fg;n2=1;var r=sl(),t=PP();function e(n,i){return r(n,t(n),i)}return fg=e,fg}var gg,r2;function NP(){if(r2)return gg;r2=1;var r=k1(),t=Qe();function e(n,i,a){var s=i(n);return t(n)?s:r(s,a(n))}return gg=e,gg}var vg,i2;function CP(){if(i2)return vg;i2=1;var r=NP(),t=M1(),e=ua();function n(i){return r(i,e,t)}return vg=n,vg}var pg,a2;function xq(){if(a2)return pg;a2=1;var r=NP(),t=PP(),e=Ha();function n(i){return r(i,e,t)}return pg=n,pg}var yg,s2;function Eq(){if(s2)return yg;s2=1;var r=Ya(),t=Br(),e=r(t,"DataView");return yg=e,yg}var mg,o2;function Sq(){if(o2)return mg;o2=1;var r=Ya(),t=Br(),e=r(t,"Promise");return mg=e,mg}var bg,l2;function RP(){if(l2)return bg;l2=1;var r=Ya(),t=Br(),e=r(t,"Set");return bg=e,bg}var wg,u2;function _q(){if(u2)return wg;u2=1;var r=Ya(),t=Br(),e=r(t,"WeakMap");return wg=e,wg}var xg,c2;function zs(){if(c2)return xg;c2=1;var r=Eq(),t=b1(),e=Sq(),n=RP(),i=_q(),a=Ua(),s=EP(),o="[object Map]",l="[object Object]",u="[object Promise]",c="[object Set]",h="[object WeakMap]",d="[object DataView]",f=s(r),g=s(t),p=s(e),v=s(n),y=s(i),m=a;return(r&&m(new r(new ArrayBuffer(1)))!=d||t&&m(new t)!=o||e&&m(e.resolve())!=u||n&&m(new n)!=c||i&&m(new i)!=h)&&(m=function(w){var S=a(w),_=S==l?w.constructor:void 0,k=_?s(_):"";if(k)switch(k){case f:return d;case g:return o;case p:return u;case v:return c;case y:return h}return S}),xg=m,xg}var Eg,h2;function Mq(){if(h2)return Eg;h2=1;var r=Object.prototype,t=r.hasOwnProperty;function e(n){var i=n.length,a=new n.constructor(i);return i&&typeof n[0]=="string"&&t.call(n,"index")&&(a.index=n.index,a.input=n.input),a}return Eg=e,Eg}var Sg,d2;function LP(){if(d2)return Sg;d2=1;var r=Br(),t=r.Uint8Array;return Sg=t,Sg}var _g,f2;function O1(){if(f2)return _g;f2=1;var r=LP();function t(e){var n=new e.constructor(e.byteLength);return new r(n).set(new r(e)),n}return _g=t,_g}var Mg,g2;function kq(){if(g2)return Mg;g2=1;var r=O1();function t(e,n){var i=n?r(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.byteLength)}return Mg=t,Mg}var kg,v2;function Oq(){if(v2)return kg;v2=1;var r=/\w*$/;function t(e){var n=new e.constructor(e.source,r.exec(e));return n.lastIndex=e.lastIndex,n}return kg=t,kg}var Og,p2;function Tq(){if(p2)return Og;p2=1;var r=Fs(),t=r?r.prototype:void 0,e=t?t.valueOf:void 0;function n(i){return e?Object(e.call(i)):{}}return Og=n,Og}var Tg,y2;function IP(){if(y2)return Tg;y2=1;var r=O1();function t(e,n){var i=n?r(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.length)}return Tg=t,Tg}var Ag,m2;function Aq(){if(m2)return Ag;m2=1;var r=O1(),t=kq(),e=Oq(),n=Tq(),i=IP(),a="[object Boolean]",s="[object Date]",o="[object Map]",l="[object Number]",u="[object RegExp]",c="[object Set]",h="[object String]",d="[object Symbol]",f="[object ArrayBuffer]",g="[object DataView]",p="[object Float32Array]",v="[object Float64Array]",y="[object Int8Array]",m="[object Int16Array]",w="[object Int32Array]",S="[object Uint8Array]",_="[object Uint8ClampedArray]",k="[object Uint16Array]",T="[object Uint32Array]";function O(P,N,C){var L=P.constructor;switch(N){case f:return r(P);case a:case s:return new L(+P);case g:return t(P,C);case p:case v:case y:case m:case w:case S:case _:case k:case T:return i(P,C);case o:return new L;case l:case h:return new L(P);case u:return e(P);case c:return new L;case d:return n(P)}}return Ag=O,Ag}var Pg,b2;function DP(){if(b2)return Pg;b2=1;var r=Er(),t=Object.create,e=function(){function n(){}return function(i){if(!r(i))return{};if(t)return t(i);n.prototype=i;var a=new n;return n.prototype=void 0,a}}();return Pg=e,Pg}var Ng,w2;function FP(){if(w2)return Ng;w2=1;var r=DP(),t=Jc(),e=Zc();function n(i){return typeof i.constructor=="function"&&!e(i)?r(t(i)):{}}return Ng=n,Ng}var Cg,x2;function Pq(){if(x2)return Cg;x2=1;var r=zs(),t=li(),e="[object Map]";function n(i){return t(i)&&r(i)==e}return Cg=n,Cg}var Rg,E2;function Nq(){if(E2)return Rg;E2=1;var r=Pq(),t=Kc(),e=S1(),n=e&&e.isMap,i=n?t(n):r;return Rg=i,Rg}var Lg,S2;function Cq(){if(S2)return Lg;S2=1;var r=zs(),t=li(),e="[object Set]";function n(i){return t(i)&&r(i)==e}return Lg=n,Lg}var Ig,_2;function Rq(){if(_2)return Ig;_2=1;var r=Cq(),t=Kc(),e=S1(),n=e&&e.isSet,i=n?t(n):r;return Ig=i,Ig}var Dg,M2;function BP(){if(M2)return Dg;M2=1;var r=Uc(),t=x1(),e=Hc(),n=vq(),i=mq(),a=kP(),s=OP(),o=bq(),l=wq(),u=CP(),c=xq(),h=zs(),d=Mq(),f=Aq(),g=FP(),p=Qe(),v=Bs(),y=Nq(),m=Er(),w=Rq(),S=ua(),_=Ha(),k=1,T=2,O=4,P="[object Arguments]",N="[object Array]",C="[object Boolean]",L="[object Date]",F="[object Error]",G="[object Function]",V="[object GeneratorFunction]",U="[object Map]",q="[object Number]",j="[object Object]",Z="[object RegExp]",nt="[object Set]",st="[object String]",ot="[object Symbol]",Pt="[object WeakMap]",K="[object ArrayBuffer]",W="[object DataView]",tt="[object Float32Array]",ct="[object Float64Array]",xt="[object Int8Array]",Nt="[object Int16Array]",Vt="[object Int32Array]",Me="[object Uint8Array]",un="[object Uint8ClampedArray]",ke="[object Uint16Array]",Ue="[object Uint32Array]",Xt={};Xt[P]=Xt[N]=Xt[K]=Xt[W]=Xt[C]=Xt[L]=Xt[tt]=Xt[ct]=Xt[xt]=Xt[Nt]=Xt[Vt]=Xt[U]=Xt[q]=Xt[j]=Xt[Z]=Xt[nt]=Xt[st]=Xt[ot]=Xt[Me]=Xt[un]=Xt[ke]=Xt[Ue]=!0,Xt[F]=Xt[G]=Xt[Pt]=!1;function cr(Qt,hr,be,Ka,dr,qe){var Ce,Fn=hr&k,Bn=hr&T,fr=hr&O;if(be&&(Ce=dr?be(Qt,Ka,dr,qe):be(Qt)),Ce!==void 0)return Ce;if(!m(Qt))return Qt;var ui=p(Qt);if(ui){if(Ce=d(Qt),!Fn)return s(Qt,Ce)}else{var qr=h(Qt),Za=qr==G||qr==V;if(v(Qt))return a(Qt,Fn);if(qr==j||qr==P||Za&&!dr){if(Ce=Bn||Za?{}:g(Qt),!Fn)return Bn?l(Qt,i(Ce,Qt)):o(Qt,n(Ce,Qt))}else{if(!Xt[qr])return dr?Qt:{};Ce=f(Qt,qr,Fn)}}qe||(qe=new r);var Ja=qe.get(Qt);if(Ja)return Ja;qe.set(Qt,Ce),w(Qt)?Qt.forEach(function($r){Ce.add(cr($r,hr,be,$r,Qt,qe))}):y(Qt)&&Qt.forEach(function($r,Gr){Ce.set(Gr,cr($r,hr,be,Gr,Qt,qe))});var Bh=fr?Bn?c:u:Bn?_:S,dl=ui?void 0:Bh(Qt);return t(dl||Qt,function($r,Gr){dl&&(Gr=$r,$r=Qt[Gr]),e(Ce,Gr,cr($r,hr,be,Gr,Qt,qe))}),Ce}return Dg=cr,Dg}var Fg,k2;function Lq(){if(k2)return Fg;k2=1;var r=BP(),t=4;function e(n){return r(n,t)}return Fg=e,Fg}var Bg,O2;function T1(){if(O2)return Bg;O2=1;function r(t){return function(){return t}}return Bg=r,Bg}var zg,T2;function Iq(){if(T2)return zg;T2=1;function r(t){return function(e,n,i){for(var a=-1,s=Object(e),o=i(e),l=o.length;l--;){var u=o[t?l:++a];if(n(s[u],u,s)===!1)break}return e}}return zg=r,zg}var jg,A2;function A1(){if(A2)return jg;A2=1;var r=Iq(),t=r();return jg=t,jg}var qg,P2;function P1(){if(P2)return qg;P2=1;var r=A1(),t=ua();function e(n,i){return n&&r(n,i,t)}return qg=e,qg}var $g,N2;function Dq(){if(N2)return $g;N2=1;var r=Oi();function t(e,n){return function(i,a){if(i==null)return i;if(!r(i))return e(i,a);for(var s=i.length,o=n?s:-1,l=Object(i);(n?o--:++o<s)&&a(l[o],o,l)!==!1;);return i}}return $g=t,$g}var Gg,C2;function Qc(){if(C2)return Gg;C2=1;var r=P1(),t=Dq(),e=t(r);return Gg=e,Gg}var Wg,R2;function Xa(){if(R2)return Wg;R2=1;function r(t){return t}return Wg=r,Wg}var Vg,L2;function zP(){if(L2)return Vg;L2=1;var r=Xa();function t(e){return typeof e=="function"?e:r}return Vg=t,Vg}var Ug,I2;function jP(){if(I2)return Ug;I2=1;var r=x1(),t=Qc(),e=zP(),n=Qe();function i(a,s){var o=n(a)?r:t;return o(a,e(s))}return Ug=i,Ug}var Yg,D2;function qP(){return D2||(D2=1,Yg=jP()),Yg}var Hg,F2;function Fq(){if(F2)return Hg;F2=1;var r=Qc();function t(e,n){var i=[];return r(e,function(a,s,o){n(a,s,o)&&i.push(a)}),i}return Hg=t,Hg}var Xg,B2;function Bq(){if(B2)return Xg;B2=1;var r="__lodash_hash_undefined__";function t(e){return this.__data__.set(e,r),this}return Xg=t,Xg}var Kg,z2;function zq(){if(z2)return Kg;z2=1;function r(t){return this.__data__.has(t)}return Kg=r,Kg}var Zg,j2;function $P(){if(j2)return Zg;j2=1;var r=w1(),t=Bq(),e=zq();function n(i){var a=-1,s=i==null?0:i.length;for(this.__data__=new r;++a<s;)this.add(i[a])}return n.prototype.add=n.prototype.push=t,n.prototype.has=e,Zg=n,Zg}var Jg,q2;function jq(){if(q2)return Jg;q2=1;function r(t,e){for(var n=-1,i=t==null?0:t.length;++n<i;)if(e(t[n],n,t))return!0;return!1}return Jg=r,Jg}var Qg,$2;function GP(){if($2)return Qg;$2=1;function r(t,e){return t.has(e)}return Qg=r,Qg}var tv,G2;function WP(){if(G2)return tv;G2=1;var r=$P(),t=jq(),e=GP(),n=1,i=2;function a(s,o,l,u,c,h){var d=l&n,f=s.length,g=o.length;if(f!=g&&!(d&&g>f))return!1;var p=h.get(s),v=h.get(o);if(p&&v)return p==o&&v==s;var y=-1,m=!0,w=l&i?new r:void 0;for(h.set(s,o),h.set(o,s);++y<f;){var S=s[y],_=o[y];if(u)var k=d?u(_,S,y,o,s,h):u(S,_,y,s,o,h);if(k!==void 0){if(k)continue;m=!1;break}if(w){if(!t(o,function(T,O){if(!e(w,O)&&(S===T||c(S,T,l,u,h)))return w.push(O)})){m=!1;break}}else if(!(S===_||c(S,_,l,u,h))){m=!1;break}}return h.delete(s),h.delete(o),m}return tv=a,tv}var ev,W2;function qq(){if(W2)return ev;W2=1;function r(t){var e=-1,n=Array(t.size);return t.forEach(function(i,a){n[++e]=[a,i]}),n}return ev=r,ev}var nv,V2;function N1(){if(V2)return nv;V2=1;function r(t){var e=-1,n=Array(t.size);return t.forEach(function(i){n[++e]=i}),n}return nv=r,nv}var rv,U2;function $q(){if(U2)return rv;U2=1;var r=Fs(),t=LP(),e=Ds(),n=WP(),i=qq(),a=N1(),s=1,o=2,l="[object Boolean]",u="[object Date]",c="[object Error]",h="[object Map]",d="[object Number]",f="[object RegExp]",g="[object Set]",p="[object String]",v="[object Symbol]",y="[object ArrayBuffer]",m="[object DataView]",w=r?r.prototype:void 0,S=w?w.valueOf:void 0;function _(k,T,O,P,N,C,L){switch(O){case m:if(k.byteLength!=T.byteLength||k.byteOffset!=T.byteOffset)return!1;k=k.buffer,T=T.buffer;case y:return!(k.byteLength!=T.byteLength||!C(new t(k),new t(T)));case l:case u:case d:return e(+k,+T);case c:return k.name==T.name&&k.message==T.message;case f:case p:return k==T+"";case h:var F=i;case g:var G=P&s;if(F||(F=a),k.size!=T.size&&!G)return!1;var V=L.get(k);if(V)return V==T;P|=o,L.set(k,T);var U=n(F(k),F(T),P,N,C,L);return L.delete(k),U;case v:if(S)return S.call(k)==S.call(T)}return!1}return rv=_,rv}var iv,Y2;function Gq(){if(Y2)return iv;Y2=1;var r=CP(),t=1,e=Object.prototype,n=e.hasOwnProperty;function i(a,s,o,l,u,c){var h=o&t,d=r(a),f=d.length,g=r(s),p=g.length;if(f!=p&&!h)return!1;for(var v=f;v--;){var y=d[v];if(!(h?y in s:n.call(s,y)))return!1}var m=c.get(a),w=c.get(s);if(m&&w)return m==s&&w==a;var S=!0;c.set(a,s),c.set(s,a);for(var _=h;++v<f;){y=d[v];var k=a[y],T=s[y];if(l)var O=h?l(T,k,y,s,a,c):l(k,T,y,a,s,c);if(!(O===void 0?k===T||u(k,T,o,l,c):O)){S=!1;break}_||(_=y=="constructor")}if(S&&!_){var P=a.constructor,N=s.constructor;P!=N&&"constructor"in a&&"constructor"in s&&!(typeof P=="function"&&P instanceof P&&typeof N=="function"&&N instanceof N)&&(S=!1)}return c.delete(a),c.delete(s),S}return iv=i,iv}var av,H2;function Wq(){if(H2)return av;H2=1;var r=Uc(),t=WP(),e=$q(),n=Gq(),i=zs(),a=Qe(),s=Bs(),o=ll(),l=1,u="[object Arguments]",c="[object Array]",h="[object Object]",d=Object.prototype,f=d.hasOwnProperty;function g(p,v,y,m,w,S){var _=a(p),k=a(v),T=_?c:i(p),O=k?c:i(v);T=T==u?h:T,O=O==u?h:O;var P=T==h,N=O==h,C=T==O;if(C&&s(p)){if(!s(v))return!1;_=!0,P=!1}if(C&&!P)return S||(S=new r),_||o(p)?t(p,v,y,m,w,S):e(p,v,T,y,m,w,S);if(!(y&l)){var L=P&&f.call(p,"__wrapped__"),F=N&&f.call(v,"__wrapped__");if(L||F){var G=L?p.value():p,V=F?v.value():v;return S||(S=new r),w(G,V,y,m,S)}}return C?(S||(S=new r),n(p,v,y,m,w,S)):!1}return av=g,av}var sv,X2;function VP(){if(X2)return sv;X2=1;var r=Wq(),t=li();function e(n,i,a,s,o){return n===i?!0:n==null||i==null||!t(n)&&!t(i)?n!==n&&i!==i:r(n,i,a,s,e,o)}return sv=e,sv}var ov,K2;function Vq(){if(K2)return ov;K2=1;var r=Uc(),t=VP(),e=1,n=2;function i(a,s,o,l){var u=o.length,c=u,h=!l;if(a==null)return!c;for(a=Object(a);u--;){var d=o[u];if(h&&d[2]?d[1]!==a[d[0]]:!(d[0]in a))return!1}for(;++u<c;){d=o[u];var f=d[0],g=a[f],p=d[1];if(h&&d[2]){if(g===void 0&&!(f in a))return!1}else{var v=new r;if(l)var y=l(g,p,f,a,s,v);if(!(y===void 0?t(p,g,e|n,l,v):y))return!1}}return!0}return ov=i,ov}var lv,Z2;function UP(){if(Z2)return lv;Z2=1;var r=Er();function t(e){return e===e&&!r(e)}return lv=t,lv}var uv,J2;function Uq(){if(J2)return uv;J2=1;var r=UP(),t=ua();function e(n){for(var i=t(n),a=i.length;a--;){var s=i[a],o=n[s];i[a]=[s,o,r(o)]}return i}return uv=e,uv}var cv,Q2;function YP(){if(Q2)return cv;Q2=1;function r(t,e){return function(n){return n==null?!1:n[t]===e&&(e!==void 0||t in Object(n))}}return cv=r,cv}var hv,tS;function Yq(){if(tS)return hv;tS=1;var r=Vq(),t=Uq(),e=YP();function n(i){var a=t(i);return a.length==1&&a[0][2]?e(a[0][0],a[0][1]):function(s){return s===i||r(s,i,a)}}return hv=n,hv}var dv,eS;function js(){if(eS)return dv;eS=1;var r=Ua(),t=li(),e="[object Symbol]";function n(i){return typeof i=="symbol"||t(i)&&r(i)==e}return dv=n,dv}var fv,nS;function C1(){if(nS)return fv;nS=1;var r=Qe(),t=js(),e=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,n=/^\w*$/;function i(a,s){if(r(a))return!1;var o=typeof a;return o=="number"||o=="symbol"||o=="boolean"||a==null||t(a)?!0:n.test(a)||!e.test(a)||s!=null&&a in Object(s)}return fv=i,fv}var gv,rS;function Hq(){if(rS)return gv;rS=1;var r=w1(),t="Expected a function";function e(n,i){if(typeof n!="function"||i!=null&&typeof i!="function")throw new TypeError(t);var a=function(){var s=arguments,o=i?i.apply(this,s):s[0],l=a.cache;if(l.has(o))return l.get(o);var u=n.apply(this,s);return a.cache=l.set(o,u)||l,u};return a.cache=new(e.Cache||r),a}return e.Cache=r,gv=e,gv}var vv,iS;function Xq(){if(iS)return vv;iS=1;var r=Hq(),t=500;function e(n){var i=r(n,function(s){return a.size===t&&a.clear(),s}),a=i.cache;return i}return vv=e,vv}var pv,aS;function Kq(){if(aS)return pv;aS=1;var r=Xq(),t=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,e=/\\(\\)?/g,n=r(function(i){var a=[];return i.charCodeAt(0)===46&&a.push(""),i.replace(t,function(s,o,l,u){a.push(l?u.replace(e,"$1"):o||s)}),a});return pv=n,pv}var yv,sS;function th(){if(sS)return yv;sS=1;function r(t,e){for(var n=-1,i=t==null?0:t.length,a=Array(i);++n<i;)a[n]=e(t[n],n,t);return a}return yv=r,yv}var mv,oS;function Zq(){if(oS)return mv;oS=1;var r=Fs(),t=th(),e=Qe(),n=js(),i=r?r.prototype:void 0,a=i?i.toString:void 0;function s(o){if(typeof o=="string")return o;if(e(o))return t(o,s)+"";if(n(o))return a?a.call(o):"";var l=o+"";return l=="0"&&1/o==-1/0?"-0":l}return mv=s,mv}var bv,lS;function HP(){if(lS)return bv;lS=1;var r=Zq();function t(e){return e==null?"":r(e)}return bv=t,bv}var wv,uS;function eh(){if(uS)return wv;uS=1;var r=Qe(),t=C1(),e=Kq(),n=HP();function i(a,s){return r(a)?a:t(a,s)?[a]:e(n(a))}return wv=i,wv}var xv,cS;function ul(){if(cS)return xv;cS=1;var r=js();function t(e){if(typeof e=="string"||r(e))return e;var n=e+"";return n=="0"&&1/e==-1/0?"-0":n}return xv=t,xv}var Ev,hS;function nh(){if(hS)return Ev;hS=1;var r=eh(),t=ul();function e(n,i){i=r(i,n);for(var a=0,s=i.length;n!=null&&a<s;)n=n[t(i[a++])];return a&&a==s?n:void 0}return Ev=e,Ev}var Sv,dS;function Jq(){if(dS)return Sv;dS=1;var r=nh();function t(e,n,i){var a=e==null?void 0:r(e,n);return a===void 0?i:a}return Sv=t,Sv}var _v,fS;function Qq(){if(fS)return _v;fS=1;function r(t,e){return t!=null&&e in Object(t)}return _v=r,_v}var Mv,gS;function XP(){if(gS)return Mv;gS=1;var r=eh(),t=ol(),e=Qe(),n=Xc(),i=E1(),a=ul();function s(o,l,u){l=r(l,o);for(var c=-1,h=l.length,d=!1;++c<h;){var f=a(l[c]);if(!(d=o!=null&&u(o,f)))break;o=o[f]}return d||++c!=h?d:(h=o==null?0:o.length,!!h&&i(h)&&n(f,h)&&(e(o)||t(o)))}return Mv=s,Mv}var kv,vS;function KP(){if(vS)return kv;vS=1;var r=Qq(),t=XP();function e(n,i){return n!=null&&t(n,i,r)}return kv=e,kv}var Ov,pS;function t$(){if(pS)return Ov;pS=1;var r=VP(),t=Jq(),e=KP(),n=C1(),i=UP(),a=YP(),s=ul(),o=1,l=2;function u(c,h){return n(c)&&i(h)?a(s(c),h):function(d){var f=t(d,c);return f===void 0&&f===h?e(d,c):r(h,f,o|l)}}return Ov=u,Ov}var Tv,yS;function ZP(){if(yS)return Tv;yS=1;function r(t){return function(e){return e==null?void 0:e[t]}}return Tv=r,Tv}var Av,mS;function e$(){if(mS)return Av;mS=1;var r=nh();function t(e){return function(n){return r(n,e)}}return Av=t,Av}var Pv,bS;function n$(){if(bS)return Pv;bS=1;var r=ZP(),t=e$(),e=C1(),n=ul();function i(a){return e(a)?r(n(a)):t(a)}return Pv=i,Pv}var Nv,wS;function Ti(){if(wS)return Nv;wS=1;var r=Yq(),t=t$(),e=Xa(),n=Qe(),i=n$();function a(s){return typeof s=="function"?s:s==null?e:typeof s=="object"?n(s)?t(s[0],s[1]):r(s):i(s)}return Nv=a,Nv}var Cv,xS;function JP(){if(xS)return Cv;xS=1;var r=TP(),t=Fq(),e=Ti(),n=Qe();function i(a,s){var o=n(a)?r:t;return o(a,e(s,3))}return Cv=i,Cv}var Rv,ES;function r$(){if(ES)return Rv;ES=1;var r=Object.prototype,t=r.hasOwnProperty;function e(n,i){return n!=null&&t.call(n,i)}return Rv=e,Rv}var Lv,SS;function QP(){if(SS)return Lv;SS=1;var r=r$(),t=XP();function e(n,i){return n!=null&&t(n,i,r)}return Lv=e,Lv}var Iv,_S;function i$(){if(_S)return Iv;_S=1;var r=_1(),t=zs(),e=ol(),n=Qe(),i=Oi(),a=Bs(),s=Zc(),o=ll(),l="[object Map]",u="[object Set]",c=Object.prototype,h=c.hasOwnProperty;function d(f){if(f==null)return!0;if(i(f)&&(n(f)||typeof f=="string"||typeof f.splice=="function"||a(f)||o(f)||e(f)))return!f.length;var g=t(f);if(g==l||g==u)return!f.size;if(s(f))return!r(f).length;for(var p in f)if(h.call(f,p))return!1;return!0}return Iv=d,Iv}var Dv,MS;function tN(){if(MS)return Dv;MS=1;function r(t){return t===void 0}return Dv=r,Dv}var Fv,kS;function eN(){if(kS)return Fv;kS=1;var r=Qc(),t=Oi();function e(n,i){var a=-1,s=t(n)?Array(n.length):[];return r(n,function(o,l,u){s[++a]=i(o,l,u)}),s}return Fv=e,Fv}var Bv,OS;function nN(){if(OS)return Bv;OS=1;var r=th(),t=Ti(),e=eN(),n=Qe();function i(a,s){var o=n(a)?r:e;return o(a,t(s,3))}return Bv=i,Bv}var zv,TS;function a$(){if(TS)return zv;TS=1;function r(t,e,n,i){var a=-1,s=t==null?0:t.length;for(i&&s&&(n=t[++a]);++a<s;)n=e(n,t[a],a,t);return n}return zv=r,zv}var jv,AS;function s$(){if(AS)return jv;AS=1;function r(t,e,n,i,a){return a(t,function(s,o,l){n=i?(i=!1,s):e(n,s,o,l)}),n}return jv=r,jv}var qv,PS;function rN(){if(PS)return qv;PS=1;var r=a$(),t=Qc(),e=Ti(),n=s$(),i=Qe();function a(s,o,l){var u=i(s)?r:n,c=arguments.length<3;return u(s,e(o,4),l,c,t)}return qv=a,qv}var $v,NS;function o$(){if(NS)return $v;NS=1;var r=Ua(),t=Qe(),e=li(),n="[object String]";function i(a){return typeof a=="string"||!t(a)&&e(a)&&r(a)==n}return $v=i,$v}var Gv,CS;function l$(){if(CS)return Gv;CS=1;var r=ZP(),t=r("length");return Gv=t,Gv}var Wv,RS;function u$(){if(RS)return Wv;RS=1;var r="\\ud800-\\udfff",t="\\u0300-\\u036f",e="\\ufe20-\\ufe2f",n="\\u20d0-\\u20ff",i=t+e+n,a="\\ufe0e\\ufe0f",s="\\u200d",o=RegExp("["+s+r+i+a+"]");function l(u){return o.test(u)}return Wv=l,Wv}var Vv,LS;function c$(){if(LS)return Vv;LS=1;var r="\\ud800-\\udfff",t="\\u0300-\\u036f",e="\\ufe20-\\ufe2f",n="\\u20d0-\\u20ff",i=t+e+n,a="\\ufe0e\\ufe0f",s="["+r+"]",o="["+i+"]",l="\\ud83c[\\udffb-\\udfff]",u="(?:"+o+"|"+l+")",c="[^"+r+"]",h="(?:\\ud83c[\\udde6-\\uddff]){2}",d="[\\ud800-\\udbff][\\udc00-\\udfff]",f="\\u200d",g=u+"?",p="["+a+"]?",v="(?:"+f+"(?:"+[c,h,d].join("|")+")"+p+g+")*",y=p+g+v,m="(?:"+[c+o+"?",o,h,d,s].join("|")+")",w=RegExp(l+"(?="+l+")|"+m+y,"g");function S(_){for(var k=w.lastIndex=0;w.test(_);)++k;return k}return Vv=S,Vv}var Uv,IS;function h$(){if(IS)return Uv;IS=1;var r=l$(),t=u$(),e=c$();function n(i){return t(i)?e(i):r(i)}return Uv=n,Uv}var Yv,DS;function d$(){if(DS)return Yv;DS=1;var r=_1(),t=zs(),e=Oi(),n=o$(),i=h$(),a="[object Map]",s="[object Set]";function o(l){if(l==null)return 0;if(e(l))return n(l)?i(l):l.length;var u=t(l);return u==a||u==s?l.size:r(l).length}return Yv=o,Yv}var Hv,FS;function f$(){if(FS)return Hv;FS=1;var r=x1(),t=DP(),e=P1(),n=Ti(),i=Jc(),a=Qe(),s=Bs(),o=al(),l=Er(),u=ll();function c(h,d,f){var g=a(h),p=g||s(h)||u(h);if(d=n(d,4),f==null){var v=h&&h.constructor;p?f=g?new v:[]:l(h)?f=o(v)?t(i(h)):{}:f={}}return(p?r:e)(h,function(y,m,w){return d(f,y,m,w)}),f}return Hv=c,Hv}var Xv,BS;function g$(){if(BS)return Xv;BS=1;var r=Fs(),t=ol(),e=Qe(),n=r?r.isConcatSpreadable:void 0;function i(a){return e(a)||t(a)||!!(n&&a&&a[n])}return Xv=i,Xv}var Kv,zS;function R1(){if(zS)return Kv;zS=1;var r=k1(),t=g$();function e(n,i,a,s,o){var l=-1,u=n.length;for(a||(a=t),o||(o=[]);++l<u;){var c=n[l];i>0&&a(c)?i>1?e(c,i-1,a,s,o):r(o,c):s||(o[o.length]=c)}return o}return Kv=e,Kv}var Zv,jS;function v$(){if(jS)return Zv;jS=1;function r(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}return Zv=r,Zv}var Jv,qS;function iN(){if(qS)return Jv;qS=1;var r=v$(),t=Math.max;function e(n,i,a){return i=t(i===void 0?n.length-1:i,0),function(){for(var s=arguments,o=-1,l=t(s.length-i,0),u=Array(l);++o<l;)u[o]=s[i+o];o=-1;for(var c=Array(i+1);++o<i;)c[o]=s[o];return c[i]=a(u),r(n,this,c)}}return Jv=e,Jv}var Qv,$S;function p$(){if($S)return Qv;$S=1;var r=T1(),t=SP(),e=Xa(),n=t?function(i,a){return t(i,"toString",{configurable:!0,enumerable:!1,value:r(a),writable:!0})}:e;return Qv=n,Qv}var tp,GS;function y$(){if(GS)return tp;GS=1;var r=800,t=16,e=Date.now;function n(i){var a=0,s=0;return function(){var o=e(),l=t-(o-s);if(s=o,l>0){if(++a>=r)return arguments[0]}else a=0;return i.apply(void 0,arguments)}}return tp=n,tp}var ep,WS;function aN(){if(WS)return ep;WS=1;var r=p$(),t=y$(),e=t(r);return ep=e,ep}var np,VS;function rh(){if(VS)return np;VS=1;var r=Xa(),t=iN(),e=aN();function n(i,a){return e(t(i,a,r),i+"")}return np=n,np}var rp,US;function sN(){if(US)return rp;US=1;function r(t,e,n,i){for(var a=t.length,s=n+(i?1:-1);i?s--:++s<a;)if(e(t[s],s,t))return s;return-1}return rp=r,rp}var ip,YS;function m$(){if(YS)return ip;YS=1;function r(t){return t!==t}return ip=r,ip}var ap,HS;function b$(){if(HS)return ap;HS=1;function r(t,e,n){for(var i=n-1,a=t.length;++i<a;)if(t[i]===e)return i;return-1}return ap=r,ap}var sp,XS;function w$(){if(XS)return sp;XS=1;var r=sN(),t=m$(),e=b$();function n(i,a,s){return a===a?e(i,a,s):r(i,t,s)}return sp=n,sp}var op,KS;function x$(){if(KS)return op;KS=1;var r=w$();function t(e,n){var i=e==null?0:e.length;return!!i&&r(e,n,0)>-1}return op=t,op}var lp,ZS;function E$(){if(ZS)return lp;ZS=1;function r(t,e,n){for(var i=-1,a=t==null?0:t.length;++i<a;)if(n(e,t[i]))return!0;return!1}return lp=r,lp}var up,JS;function S$(){if(JS)return up;JS=1;function r(){}return up=r,up}var cp,QS;function _$(){if(QS)return cp;QS=1;var r=RP(),t=S$(),e=N1(),n=1/0,i=r&&1/e(new r([,-0]))[1]==n?function(a){return new r(a)}:t;return cp=i,cp}var hp,t_;function M$(){if(t_)return hp;t_=1;var r=$P(),t=x$(),e=E$(),n=GP(),i=_$(),a=N1(),s=200;function o(l,u,c){var h=-1,d=t,f=l.length,g=!0,p=[],v=p;if(c)g=!1,d=e;else if(f>=s){var y=u?null:i(l);if(y)return a(y);g=!1,d=n,v=new r}else v=u?[]:p;t:for(;++h<f;){var m=l[h],w=u?u(m):m;if(m=c||m!==0?m:0,g&&w===w){for(var S=v.length;S--;)if(v[S]===w)continue t;u&&v.push(w),p.push(m)}else d(v,w,c)||(v!==p&&v.push(w),p.push(m))}return p}return hp=o,hp}var dp,e_;function oN(){if(e_)return dp;e_=1;var r=Oi(),t=li();function e(n){return t(n)&&r(n)}return dp=e,dp}var fp,n_;function k$(){if(n_)return fp;n_=1;var r=R1(),t=rh(),e=M$(),n=oN(),i=t(function(a){return e(r(a,1,n,!0))});return fp=i,fp}var gp,r_;function O$(){if(r_)return gp;r_=1;var r=th();function t(e,n){return r(n,function(i){return e[i]})}return gp=t,gp}var vp,i_;function lN(){if(i_)return vp;i_=1;var r=O$(),t=ua();function e(n){return n==null?[]:r(n,t(n))}return vp=e,vp}var pp,a_;function Sr(){if(a_)return pp;a_=1;var r;if(typeof Cm=="function")try{r={clone:Lq(),constant:T1(),each:qP(),filter:JP(),has:QP(),isArray:Qe(),isEmpty:i$(),isFunction:al(),isUndefined:tN(),keys:ua(),map:nN(),reduce:rN(),size:d$(),transform:f$(),union:k$(),values:lN()}}catch{}return r||(r=window._),pp=r,pp}var yp,s_;function L1(){if(s_)return yp;s_=1;var r=Sr();yp=i;var t="\0",e="\0",n="";function i(c){this._isDirected=r.has(c,"directed")?c.directed:!0,this._isMultigraph=r.has(c,"multigraph")?c.multigraph:!1,this._isCompound=r.has(c,"compound")?c.compound:!1,this._label=void 0,this._defaultNodeLabelFn=r.constant(void 0),this._defaultEdgeLabelFn=r.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[e]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}i.prototype._nodeCount=0,i.prototype._edgeCount=0,i.prototype.isDirected=function(){return this._isDirected},i.prototype.isMultigraph=function(){return this._isMultigraph},i.prototype.isCompound=function(){return this._isCompound},i.prototype.setGraph=function(c){return this._label=c,this},i.prototype.graph=function(){return this._label},i.prototype.setDefaultNodeLabel=function(c){return r.isFunction(c)||(c=r.constant(c)),this._defaultNodeLabelFn=c,this},i.prototype.nodeCount=function(){return this._nodeCount},i.prototype.nodes=function(){return r.keys(this._nodes)},i.prototype.sources=function(){var c=this;return r.filter(this.nodes(),function(h){return r.isEmpty(c._in[h])})},i.prototype.sinks=function(){var c=this;return r.filter(this.nodes(),function(h){return r.isEmpty(c._out[h])})},i.prototype.setNodes=function(c,h){var d=arguments,f=this;return r.each(c,function(g){d.length>1?f.setNode(g,h):f.setNode(g)}),this},i.prototype.setNode=function(c,h){return r.has(this._nodes,c)?(arguments.length>1&&(this._nodes[c]=h),this):(this._nodes[c]=arguments.length>1?h:this._defaultNodeLabelFn(c),this._isCompound&&(this._parent[c]=e,this._children[c]={},this._children[e][c]=!0),this._in[c]={},this._preds[c]={},this._out[c]={},this._sucs[c]={},++this._nodeCount,this)},i.prototype.node=function(c){return this._nodes[c]},i.prototype.hasNode=function(c){return r.has(this._nodes,c)},i.prototype.removeNode=function(c){var h=this;if(r.has(this._nodes,c)){var d=function(f){h.removeEdge(h._edgeObjs[f])};delete this._nodes[c],this._isCompound&&(this._removeFromParentsChildList(c),delete this._parent[c],r.each(this.children(c),function(f){h.setParent(f)}),delete this._children[c]),r.each(r.keys(this._in[c]),d),delete this._in[c],delete this._preds[c],r.each(r.keys(this._out[c]),d),delete this._out[c],delete this._sucs[c],--this._nodeCount}return this},i.prototype.setParent=function(c,h){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(r.isUndefined(h))h=e;else{h+="";for(var d=h;!r.isUndefined(d);d=this.parent(d))if(d===c)throw new Error("Setting "+h+" as parent of "+c+" would create a cycle");this.setNode(h)}return this.setNode(c),this._removeFromParentsChildList(c),this._parent[c]=h,this._children[h][c]=!0,this},i.prototype._removeFromParentsChildList=function(c){delete this._children[this._parent[c]][c]},i.prototype.parent=function(c){if(this._isCompound){var h=this._parent[c];if(h!==e)return h}},i.prototype.children=function(c){if(r.isUndefined(c)&&(c=e),this._isCompound){var h=this._children[c];if(h)return r.keys(h)}else{if(c===e)return this.nodes();if(this.hasNode(c))return[]}},i.prototype.predecessors=function(c){var h=this._preds[c];if(h)return r.keys(h)},i.prototype.successors=function(c){var h=this._sucs[c];if(h)return r.keys(h)},i.prototype.neighbors=function(c){var h=this.predecessors(c);if(h)return r.union(h,this.successors(c))},i.prototype.isLeaf=function(c){var h;return this.isDirected()?h=this.successors(c):h=this.neighbors(c),h.length===0},i.prototype.filterNodes=function(c){var h=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});h.setGraph(this.graph());var d=this;r.each(this._nodes,function(p,v){c(v)&&h.setNode(v,p)}),r.each(this._edgeObjs,function(p){h.hasNode(p.v)&&h.hasNode(p.w)&&h.setEdge(p,d.edge(p))});var f={};function g(p){var v=d.parent(p);return v===void 0||h.hasNode(v)?(f[p]=v,v):v in f?f[v]:g(v)}return this._isCompound&&r.each(h.nodes(),function(p){h.setParent(p,g(p))}),h},i.prototype.setDefaultEdgeLabel=function(c){return r.isFunction(c)||(c=r.constant(c)),this._defaultEdgeLabelFn=c,this},i.prototype.edgeCount=function(){return this._edgeCount},i.prototype.edges=function(){return r.values(this._edgeObjs)},i.prototype.setPath=function(c,h){var d=this,f=arguments;return r.reduce(c,function(g,p){return f.length>1?d.setEdge(g,p,h):d.setEdge(g,p),p}),this},i.prototype.setEdge=function(){var c,h,d,f,g=!1,p=arguments[0];typeof p=="object"&&p!==null&&"v"in p?(c=p.v,h=p.w,d=p.name,arguments.length===2&&(f=arguments[1],g=!0)):(c=p,h=arguments[1],d=arguments[3],arguments.length>2&&(f=arguments[2],g=!0)),c=""+c,h=""+h,r.isUndefined(d)||(d=""+d);var v=o(this._isDirected,c,h,d);if(r.has(this._edgeLabels,v))return g&&(this._edgeLabels[v]=f),this;if(!r.isUndefined(d)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(c),this.setNode(h),this._edgeLabels[v]=g?f:this._defaultEdgeLabelFn(c,h,d);var y=l(this._isDirected,c,h,d);return c=y.v,h=y.w,Object.freeze(y),this._edgeObjs[v]=y,a(this._preds[h],c),a(this._sucs[c],h),this._in[h][v]=y,this._out[c][v]=y,this._edgeCount++,this},i.prototype.edge=function(c,h,d){var f=arguments.length===1?u(this._isDirected,arguments[0]):o(this._isDirected,c,h,d);return this._edgeLabels[f]},i.prototype.hasEdge=function(c,h,d){var f=arguments.length===1?u(this._isDirected,arguments[0]):o(this._isDirected,c,h,d);return r.has(this._edgeLabels,f)},i.prototype.removeEdge=function(c,h,d){var f=arguments.length===1?u(this._isDirected,arguments[0]):o(this._isDirected,c,h,d),g=this._edgeObjs[f];return g&&(c=g.v,h=g.w,delete this._edgeLabels[f],delete this._edgeObjs[f],s(this._preds[h],c),s(this._sucs[c],h),delete this._in[h][f],delete this._out[c][f],this._edgeCount--),this},i.prototype.inEdges=function(c,h){var d=this._in[c];if(d){var f=r.values(d);return h?r.filter(f,function(g){return g.v===h}):f}},i.prototype.outEdges=function(c,h){var d=this._out[c];if(d){var f=r.values(d);return h?r.filter(f,function(g){return g.w===h}):f}},i.prototype.nodeEdges=function(c,h){var d=this.inEdges(c,h);if(d)return d.concat(this.outEdges(c,h))};function a(c,h){c[h]?c[h]++:c[h]=1}function s(c,h){--c[h]||delete c[h]}function o(c,h,d,f){var g=""+h,p=""+d;if(!c&&g>p){var v=g;g=p,p=v}return g+n+p+n+(r.isUndefined(f)?t:f)}function l(c,h,d,f){var g=""+h,p=""+d;if(!c&&g>p){var v=g;g=p,p=v}var y={v:g,w:p};return f&&(y.name=f),y}function u(c,h){return o(c,h.v,h.w,h.name)}return yp}var mp,o_;function T$(){return o_||(o_=1,mp="2.1.8"),mp}var bp,l_;function A$(){return l_||(l_=1,bp={Graph:L1(),version:T$()}),bp}var wp,u_;function P$(){if(u_)return wp;u_=1;var r=Sr(),t=L1();wp={write:e,read:a};function e(s){var o={options:{directed:s.isDirected(),multigraph:s.isMultigraph(),compound:s.isCompound()},nodes:n(s),edges:i(s)};return r.isUndefined(s.graph())||(o.value=r.clone(s.graph())),o}function n(s){return r.map(s.nodes(),function(o){var l=s.node(o),u=s.parent(o),c={v:o};return r.isUndefined(l)||(c.value=l),r.isUndefined(u)||(c.parent=u),c})}function i(s){return r.map(s.edges(),function(o){var l=s.edge(o),u={v:o.v,w:o.w};return r.isUndefined(o.name)||(u.name=o.name),r.isUndefined(l)||(u.value=l),u})}function a(s){var o=new t(s.options).setGraph(s.value);return r.each(s.nodes,function(l){o.setNode(l.v,l.value),l.parent&&o.setParent(l.v,l.parent)}),r.each(s.edges,function(l){o.setEdge({v:l.v,w:l.w,name:l.name},l.value)}),o}return wp}var xp,c_;function N$(){if(c_)return xp;c_=1;var r=Sr();xp=t;function t(e){var n={},i=[],a;function s(o){r.has(n,o)||(n[o]=!0,a.push(o),r.each(e.successors(o),s),r.each(e.predecessors(o),s))}return r.each(e.nodes(),function(o){a=[],s(o),a.length&&i.push(a)}),i}return xp}var Ep,h_;function uN(){if(h_)return Ep;h_=1;var r=Sr();Ep=t;function t(){this._arr=[],this._keyIndices={}}return t.prototype.size=function(){return this._arr.length},t.prototype.keys=function(){return this._arr.map(function(e){return e.key})},t.prototype.has=function(e){return r.has(this._keyIndices,e)},t.prototype.priority=function(e){var n=this._keyIndices[e];if(n!==void 0)return this._arr[n].priority},t.prototype.min=function(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key},t.prototype.add=function(e,n){var i=this._keyIndices;if(e=String(e),!r.has(i,e)){var a=this._arr,s=a.length;return i[e]=s,a.push({key:e,priority:n}),this._decrease(s),!0}return!1},t.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key},t.prototype.decrease=function(e,n){var i=this._keyIndices[e];if(n>this._arr[i].priority)throw new Error("New priority is greater than current priority. Key: "+e+" Old: "+this._arr[i].priority+" New: "+n);this._arr[i].priority=n,this._decrease(i)},t.prototype._heapify=function(e){var n=this._arr,i=2*e,a=i+1,s=e;i<n.length&&(s=n[i].priority<n[s].priority?i:s,a<n.length&&(s=n[a].priority<n[s].priority?a:s),s!==e&&(this._swap(e,s),this._heapify(s)))},t.prototype._decrease=function(e){for(var n=this._arr,i=n[e].priority,a;e!==0&&(a=e>>1,!(n[a].priority<i));)this._swap(e,a),e=a},t.prototype._swap=function(e,n){var i=this._arr,a=this._keyIndices,s=i[e],o=i[n];i[e]=o,i[n]=s,a[o.key]=e,a[s.key]=n},Ep}var Sp,d_;function cN(){if(d_)return Sp;d_=1;var r=Sr(),t=uN();Sp=n;var e=r.constant(1);function n(a,s,o,l){return i(a,String(s),o||e,l||function(u){return a.outEdges(u)})}function i(a,s,o,l){var u={},c=new t,h,d,f=function(g){var p=g.v!==h?g.v:g.w,v=u[p],y=o(g),m=d.distance+y;if(y<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+g+" Weight: "+y);m<v.distance&&(v.distance=m,v.predecessor=h,c.decrease(p,m))};for(a.nodes().forEach(function(g){var p=g===s?0:Number.POSITIVE_INFINITY;u[g]={distance:p},c.add(g,p)});c.size()>0&&(h=c.removeMin(),d=u[h],d.distance!==Number.POSITIVE_INFINITY);)l(h).forEach(f);return u}return Sp}var _p,f_;function C$(){if(f_)return _p;f_=1;var r=cN(),t=Sr();_p=e;function e(n,i,a){return t.transform(n.nodes(),function(s,o){s[o]=r(n,o,i,a)},{})}return _p}var Mp,g_;function hN(){if(g_)return Mp;g_=1;var r=Sr();Mp=t;function t(e){var n=0,i=[],a={},s=[];function o(l){var u=a[l]={onStack:!0,lowlink:n,index:n++};if(i.push(l),e.successors(l).forEach(function(d){r.has(a,d)?a[d].onStack&&(u.lowlink=Math.min(u.lowlink,a[d].index)):(o(d),u.lowlink=Math.min(u.lowlink,a[d].lowlink))}),u.lowlink===u.index){var c=[],h;do h=i.pop(),a[h].onStack=!1,c.push(h);while(l!==h);s.push(c)}}return e.nodes().forEach(function(l){r.has(a,l)||o(l)}),s}return Mp}var kp,v_;function R$(){if(v_)return kp;v_=1;var r=Sr(),t=hN();kp=e;function e(n){return r.filter(t(n),function(i){return i.length>1||i.length===1&&n.hasEdge(i[0],i[0])})}return kp}var Op,p_;function L$(){if(p_)return Op;p_=1;var r=Sr();Op=e;var t=r.constant(1);function e(i,a,s){return n(i,a||t,s||function(o){return i.outEdges(o)})}function n(i,a,s){var o={},l=i.nodes();return l.forEach(function(u){o[u]={},o[u][u]={distance:0},l.forEach(function(c){u!==c&&(o[u][c]={distance:Number.POSITIVE_INFINITY})}),s(u).forEach(function(c){var h=c.v===u?c.w:c.v,d=a(c);o[u][h]={distance:d,predecessor:u}})}),l.forEach(function(u){var c=o[u];l.forEach(function(h){var d=o[h];l.forEach(function(f){var g=d[u],p=c[f],v=d[f],y=g.distance+p.distance;y<v.distance&&(v.distance=y,v.predecessor=p.predecessor)})})}),o}return Op}var Tp,y_;function dN(){if(y_)return Tp;y_=1;var r=Sr();Tp=t,t.CycleException=e;function t(n){var i={},a={},s=[];function o(l){if(r.has(a,l))throw new e;r.has(i,l)||(a[l]=!0,i[l]=!0,r.each(n.predecessors(l),o),delete a[l],s.push(l))}if(r.each(n.sinks(),o),r.size(i)!==n.nodeCount())throw new e;return s}function e(){}return e.prototype=new Error,Tp}var Ap,m_;function I$(){if(m_)return Ap;m_=1;var r=dN();Ap=t;function t(e){try{r(e)}catch(n){if(n instanceof r.CycleException)return!1;throw n}return!0}return Ap}var Pp,b_;function fN(){if(b_)return Pp;b_=1;var r=Sr();Pp=t;function t(n,i,a){r.isArray(i)||(i=[i]);var s=(n.isDirected()?n.successors:n.neighbors).bind(n),o=[],l={};return r.each(i,function(u){if(!n.hasNode(u))throw new Error("Graph does not have node: "+u);e(n,u,a==="post",l,s,o)}),o}function e(n,i,a,s,o,l){r.has(s,i)||(s[i]=!0,a||l.push(i),r.each(o(i),function(u){e(n,u,a,s,o,l)}),a&&l.push(i))}return Pp}var Np,w_;function D$(){if(w_)return Np;w_=1;var r=fN();Np=t;function t(e,n){return r(e,n,"post")}return Np}var Cp,x_;function F$(){if(x_)return Cp;x_=1;var r=fN();Cp=t;function t(e,n){return r(e,n,"pre")}return Cp}var Rp,E_;function B$(){if(E_)return Rp;E_=1;var r=Sr(),t=L1(),e=uN();Rp=n;function n(i,a){var s=new t,o={},l=new e,u;function c(d){var f=d.v===u?d.w:d.v,g=l.priority(f);if(g!==void 0){var p=a(d);p<g&&(o[f]=u,l.decrease(f,p))}}if(i.nodeCount()===0)return s;r.each(i.nodes(),function(d){l.add(d,Number.POSITIVE_INFINITY),s.setNode(d)}),l.decrease(i.nodes()[0],0);for(var h=!1;l.size()>0;){if(u=l.removeMin(),r.has(o,u))s.setEdge(u,o[u]);else{if(h)throw new Error("Input graph is not connected: "+i);h=!0}i.nodeEdges(u).forEach(c)}return s}return Rp}var Lp,S_;function z$(){return S_||(S_=1,Lp={components:N$(),dijkstra:cN(),dijkstraAll:C$(),findCycles:R$(),floydWarshall:L$(),isAcyclic:I$(),postorder:D$(),preorder:F$(),prim:B$(),tarjan:hN(),topsort:dN()}),Lp}var Ip,__;function j$(){if(__)return Ip;__=1;var r=A$();return Ip={Graph:r.Graph,json:P$(),alg:z$(),version:r.version},Ip}var Dp,M_;function Dr(){if(M_)return Dp;M_=1;var r;if(typeof Cm=="function")try{r=j$()}catch{}return r||(r=window.graphlib),Dp=r,Dp}var Fp,k_;function q$(){if(k_)return Fp;k_=1;var r=BP(),t=1,e=4;function n(i){return r(i,t|e)}return Fp=n,Fp}var Bp,O_;function ih(){if(O_)return Bp;O_=1;var r=Ds(),t=Oi(),e=Xc(),n=Er();function i(a,s,o){if(!n(o))return!1;var l=typeof s;return(l=="number"?t(o)&&e(s,o.length):l=="string"&&s in o)?r(o[s],a):!1}return Bp=i,Bp}var zp,T_;function $$(){if(T_)return zp;T_=1;var r=rh(),t=Ds(),e=ih(),n=Ha(),i=Object.prototype,a=i.hasOwnProperty,s=r(function(o,l){o=Object(o);var u=-1,c=l.length,h=c>2?l[2]:void 0;for(h&&e(l[0],l[1],h)&&(c=1);++u<c;)for(var d=l[u],f=n(d),g=-1,p=f.length;++g<p;){var v=f[g],y=o[v];(y===void 0||t(y,i[v])&&!a.call(o,v))&&(o[v]=d[v])}return o});return zp=s,zp}var jp,A_;function G$(){if(A_)return jp;A_=1;var r=Ti(),t=Oi(),e=ua();function n(i){return function(a,s,o){var l=Object(a);if(!t(a)){var u=r(s,3);a=e(a),s=function(h){return u(l[h],h,l)}}var c=i(a,s,o);return c>-1?l[u?a[c]:c]:void 0}}return jp=n,jp}var qp,P_;function W$(){if(P_)return qp;P_=1;var r=/\s/;function t(e){for(var n=e.length;n--&&r.test(e.charAt(n)););return n}return qp=t,qp}var $p,N_;function V$(){if(N_)return $p;N_=1;var r=W$(),t=/^\s+/;function e(n){return n&&n.slice(0,r(n)+1).replace(t,"")}return $p=e,$p}var Gp,C_;function U$(){if(C_)return Gp;C_=1;var r=V$(),t=Er(),e=js(),n=NaN,i=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,s=/^0o[0-7]+$/i,o=parseInt;function l(u){if(typeof u=="number")return u;if(e(u))return n;if(t(u)){var c=typeof u.valueOf=="function"?u.valueOf():u;u=t(c)?c+"":c}if(typeof u!="string")return u===0?u:+u;u=r(u);var h=a.test(u);return h||s.test(u)?o(u.slice(2),h?2:8):i.test(u)?n:+u}return Gp=l,Gp}var Wp,R_;function gN(){if(R_)return Wp;R_=1;var r=U$(),t=1/0,e=17976931348623157e292;function n(i){if(!i)return i===0?i:0;if(i=r(i),i===t||i===-t){var a=i<0?-1:1;return a*e}return i===i?i:0}return Wp=n,Wp}var Vp,L_;function Y$(){if(L_)return Vp;L_=1;var r=gN();function t(e){var n=r(e),i=n%1;return n===n?i?n-i:n:0}return Vp=t,Vp}var Up,I_;function H$(){if(I_)return Up;I_=1;var r=sN(),t=Ti(),e=Y$(),n=Math.max;function i(a,s,o){var l=a==null?0:a.length;if(!l)return-1;var u=o==null?0:e(o);return u<0&&(u=n(l+u,0)),r(a,t(s,3),u)}return Up=i,Up}var Yp,D_;function X$(){if(D_)return Yp;D_=1;var r=G$(),t=H$(),e=r(t);return Yp=e,Yp}var Hp,F_;function vN(){if(F_)return Hp;F_=1;var r=R1();function t(e){var n=e==null?0:e.length;return n?r(e,1):[]}return Hp=t,Hp}var Xp,B_;function K$(){if(B_)return Xp;B_=1;var r=A1(),t=zP(),e=Ha();function n(i,a){return i==null?i:r(i,t(a),e)}return Xp=n,Xp}var Kp,z_;function Z$(){if(z_)return Kp;z_=1;function r(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}return Kp=r,Kp}var Zp,j_;function J$(){if(j_)return Zp;j_=1;var r=Yc(),t=P1(),e=Ti();function n(i,a){var s={};return a=e(a,3),t(i,function(o,l,u){r(s,l,a(o,l,u))}),s}return Zp=n,Zp}var Jp,q_;function I1(){if(q_)return Jp;q_=1;var r=js();function t(e,n,i){for(var a=-1,s=e.length;++a<s;){var o=e[a],l=n(o);if(l!=null&&(u===void 0?l===l&&!r(l):i(l,u)))var u=l,c=o}return c}return Jp=t,Jp}var Qp,$_;function Q$(){if($_)return Qp;$_=1;function r(t,e){return t>e}return Qp=r,Qp}var t0,G_;function tG(){if(G_)return t0;G_=1;var r=I1(),t=Q$(),e=Xa();function n(i){return i&&i.length?r(i,e,t):void 0}return t0=n,t0}var e0,W_;function pN(){if(W_)return e0;W_=1;var r=Yc(),t=Ds();function e(n,i,a){(a!==void 0&&!t(n[i],a)||a===void 0&&!(i in n))&&r(n,i,a)}return e0=e,e0}var n0,V_;function eG(){if(V_)return n0;V_=1;var r=Ua(),t=Jc(),e=li(),n="[object Object]",i=Function.prototype,a=Object.prototype,s=i.toString,o=a.hasOwnProperty,l=s.call(Object);function u(c){if(!e(c)||r(c)!=n)return!1;var h=t(c);if(h===null)return!0;var d=o.call(h,"constructor")&&h.constructor;return typeof d=="function"&&d instanceof d&&s.call(d)==l}return n0=u,n0}var r0,U_;function yN(){if(U_)return r0;U_=1;function r(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}return r0=r,r0}var i0,Y_;function nG(){if(Y_)return i0;Y_=1;var r=sl(),t=Ha();function e(n){return r(n,t(n))}return i0=e,i0}var a0,H_;function rG(){if(H_)return a0;H_=1;var r=pN(),t=kP(),e=IP(),n=OP(),i=FP(),a=ol(),s=Qe(),o=oN(),l=Bs(),u=al(),c=Er(),h=eG(),d=ll(),f=yN(),g=nG();function p(v,y,m,w,S,_,k){var T=f(v,m),O=f(y,m),P=k.get(O);if(P){r(v,m,P);return}var N=_?_(T,O,m+"",v,y,k):void 0,C=N===void 0;if(C){var L=s(O),F=!L&&l(O),G=!L&&!F&&d(O);N=O,L||F||G?s(T)?N=T:o(T)?N=n(T):F?(C=!1,N=t(O,!0)):G?(C=!1,N=e(O,!0)):N=[]:h(O)||a(O)?(N=T,a(T)?N=g(T):(!c(T)||u(T))&&(N=i(O))):C=!1}C&&(k.set(O,N),S(N,O,w,_,k),k.delete(O)),r(v,m,N)}return a0=p,a0}var s0,X_;function iG(){if(X_)return s0;X_=1;var r=Uc(),t=pN(),e=A1(),n=rG(),i=Er(),a=Ha(),s=yN();function o(l,u,c,h,d){l!==u&&e(u,function(f,g){if(d||(d=new r),i(f))n(l,u,g,c,o,h,d);else{var p=h?h(s(l,g),f,g+"",l,u,d):void 0;p===void 0&&(p=f),t(l,g,p)}},a)}return s0=o,s0}var o0,K_;function aG(){if(K_)return o0;K_=1;var r=rh(),t=ih();function e(n){return r(function(i,a){var s=-1,o=a.length,l=o>1?a[o-1]:void 0,u=o>2?a[2]:void 0;for(l=n.length>3&&typeof l=="function"?(o--,l):void 0,u&&t(a[0],a[1],u)&&(l=o<3?void 0:l,o=1),i=Object(i);++s<o;){var c=a[s];c&&n(i,c,s,l)}return i})}return o0=e,o0}var l0,Z_;function sG(){if(Z_)return l0;Z_=1;var r=iG(),t=aG(),e=t(function(n,i,a){r(n,i,a)});return l0=e,l0}var u0,J_;function mN(){if(J_)return u0;J_=1;function r(t,e){return t<e}return u0=r,u0}var c0,Q_;function oG(){if(Q_)return c0;Q_=1;var r=I1(),t=mN(),e=Xa();function n(i){return i&&i.length?r(i,e,t):void 0}return c0=n,c0}var h0,tM;function lG(){if(tM)return h0;tM=1;var r=I1(),t=Ti(),e=mN();function n(i,a){return i&&i.length?r(i,t(a,2),e):void 0}return h0=n,h0}var d0,eM;function uG(){if(eM)return d0;eM=1;var r=Br(),t=function(){return r.Date.now()};return d0=t,d0}var f0,nM;function cG(){if(nM)return f0;nM=1;var r=Hc(),t=eh(),e=Xc(),n=Er(),i=ul();function a(s,o,l,u){if(!n(s))return s;o=t(o,s);for(var c=-1,h=o.length,d=h-1,f=s;f!=null&&++c<h;){var g=i(o[c]),p=l;if(g==="__proto__"||g==="constructor"||g==="prototype")return s;if(c!=d){var v=f[g];p=u?u(v,g,f):void 0,p===void 0&&(p=n(v)?v:e(o[c+1])?[]:{})}r(f,g,p),f=f[g]}return s}return f0=a,f0}var g0,rM;function hG(){if(rM)return g0;rM=1;var r=nh(),t=cG(),e=eh();function n(i,a,s){for(var o=-1,l=a.length,u={};++o<l;){var c=a[o],h=r(i,c);s(h,c)&&t(u,e(c,i),h)}return u}return g0=n,g0}var v0,iM;function dG(){if(iM)return v0;iM=1;var r=hG(),t=KP();function e(n,i){return r(n,i,function(a,s){return t(n,s)})}return v0=e,v0}var p0,aM;function fG(){if(aM)return p0;aM=1;var r=vN(),t=iN(),e=aN();function n(i){return e(t(i,void 0,r),i+"")}return p0=n,p0}var y0,sM;function gG(){if(sM)return y0;sM=1;var r=dG(),t=fG(),e=t(function(n,i){return n==null?{}:r(n,i)});return y0=e,y0}var m0,oM;function vG(){if(oM)return m0;oM=1;var r=Math.ceil,t=Math.max;function e(n,i,a,s){for(var o=-1,l=t(r((i-n)/(a||1)),0),u=Array(l);l--;)u[s?l:++o]=n,n+=a;return u}return m0=e,m0}var b0,lM;function pG(){if(lM)return b0;lM=1;var r=vG(),t=ih(),e=gN();function n(i){return function(a,s,o){return o&&typeof o!="number"&&t(a,s,o)&&(s=o=void 0),a=e(a),s===void 0?(s=a,a=0):s=e(s),o=o===void 0?a<s?1:-1:e(o),r(a,s,o,i)}}return b0=n,b0}var w0,uM;function yG(){if(uM)return w0;uM=1;var r=pG(),t=r();return w0=t,w0}var x0,cM;function mG(){if(cM)return x0;cM=1;function r(t,e){var n=t.length;for(t.sort(e);n--;)t[n]=t[n].value;return t}return x0=r,x0}var E0,hM;function bG(){if(hM)return E0;hM=1;var r=js();function t(e,n){if(e!==n){var i=e!==void 0,a=e===null,s=e===e,o=r(e),l=n!==void 0,u=n===null,c=n===n,h=r(n);if(!u&&!h&&!o&&e>n||o&&l&&c&&!u&&!h||a&&l&&c||!i&&c||!s)return 1;if(!a&&!o&&!h&&e<n||h&&i&&s&&!a&&!o||u&&i&&s||!l&&s||!c)return-1}return 0}return E0=t,E0}var S0,dM;function wG(){if(dM)return S0;dM=1;var r=bG();function t(e,n,i){for(var a=-1,s=e.criteria,o=n.criteria,l=s.length,u=i.length;++a<l;){var c=r(s[a],o[a]);if(c){if(a>=u)return c;var h=i[a];return c*(h=="desc"?-1:1)}}return e.index-n.index}return S0=t,S0}var _0,fM;function xG(){if(fM)return _0;fM=1;var r=th(),t=nh(),e=Ti(),n=eN(),i=mG(),a=Kc(),s=wG(),o=Xa(),l=Qe();function u(c,h,d){h.length?h=r(h,function(p){return l(p)?function(v){return t(v,p.length===1?p[0]:p)}:p}):h=[o];var f=-1;h=r(h,a(e));var g=n(c,function(p,v,y){var m=r(h,function(w){return w(p)});return{criteria:m,index:++f,value:p}});return i(g,function(p,v){return s(p,v,d)})}return _0=u,_0}var M0,gM;function EG(){if(gM)return M0;gM=1;var r=R1(),t=xG(),e=rh(),n=ih(),i=e(function(a,s){if(a==null)return[];var o=s.length;return o>1&&n(a,s[0],s[1])?s=[]:o>2&&n(s[0],s[1],s[2])&&(s=[s[0]]),t(a,r(s,1),[])});return M0=i,M0}var k0,vM;function SG(){if(vM)return k0;vM=1;var r=HP(),t=0;function e(n){var i=++t;return r(n)+i}return k0=e,k0}var O0,pM;function _G(){if(pM)return O0;pM=1;function r(t,e,n){for(var i=-1,a=t.length,s=e.length,o={};++i<a;){var l=i<s?e[i]:void 0;n(o,t[i],l)}return o}return O0=r,O0}var T0,yM;function MG(){if(yM)return T0;yM=1;var r=Hc(),t=_G();function e(n,i){return t(n||[],i||[],r)}return T0=e,T0}var A0,mM;function Ne(){if(mM)return A0;mM=1;var r;if(typeof Cm=="function")try{r={cloneDeep:q$(),constant:T1(),defaults:$$(),each:qP(),filter:JP(),find:X$(),flatten:vN(),forEach:jP(),forIn:K$(),has:QP(),isUndefined:tN(),last:Z$(),map:nN(),mapValues:J$(),max:tG(),merge:sG(),min:oG(),minBy:lG(),now:uG(),pick:gG(),range:yG(),reduce:rN(),sortBy:EG(),uniqueId:SG(),values:lN(),zipObject:MG()}}catch{}return r||(r=window._),A0=r,A0}var P0,bM;function kG(){if(bM)return P0;bM=1,P0=r;function r(){var n={};n._next=n._prev=n,this._sentinel=n}r.prototype.dequeue=function(){var n=this._sentinel,i=n._prev;if(i!==n)return t(i),i},r.prototype.enqueue=function(n){var i=this._sentinel;n._prev&&n._next&&t(n),n._next=i._next,i._next._prev=n,i._next=n,n._prev=i},r.prototype.toString=function(){for(var n=[],i=this._sentinel,a=i._prev;a!==i;)n.push(JSON.stringify(a,e)),a=a._prev;return"["+n.join(", ")+"]"};function t(n){n._prev._next=n._next,n._next._prev=n._prev,delete n._next,delete n._prev}function e(n,i){if(n!=="_next"&&n!=="_prev")return i}return P0}var N0,wM;function OG(){if(wM)return N0;wM=1;var r=Ne(),t=Dr().Graph,e=kG();N0=i;var n=r.constant(1);function i(u,c){if(u.nodeCount()<=1)return[];var h=o(u,c||n),d=a(h.graph,h.buckets,h.zeroIdx);return r.flatten(r.map(d,function(f){return u.outEdges(f.v,f.w)}),!0)}function a(u,c,h){for(var d=[],f=c[c.length-1],g=c[0],p;u.nodeCount();){for(;p=g.dequeue();)s(u,c,h,p);for(;p=f.dequeue();)s(u,c,h,p);if(u.nodeCount()){for(var v=c.length-2;v>0;--v)if(p=c[v].dequeue(),p){d=d.concat(s(u,c,h,p,!0));break}}}return d}function s(u,c,h,d,f){var g=f?[]:void 0;return r.forEach(u.inEdges(d.v),function(p){var v=u.edge(p),y=u.node(p.v);f&&g.push({v:p.v,w:p.w}),y.out-=v,l(c,h,y)}),r.forEach(u.outEdges(d.v),function(p){var v=u.edge(p),y=p.w,m=u.node(y);m.in-=v,l(c,h,m)}),u.removeNode(d.v),g}function o(u,c){var h=new t,d=0,f=0;r.forEach(u.nodes(),function(v){h.setNode(v,{v,in:0,out:0})}),r.forEach(u.edges(),function(v){var y=h.edge(v.v,v.w)||0,m=c(v),w=y+m;h.setEdge(v.v,v.w,w),f=Math.max(f,h.node(v.v).out+=m),d=Math.max(d,h.node(v.w).in+=m)});var g=r.range(f+d+3).map(function(){return new e}),p=d+1;return r.forEach(h.nodes(),function(v){l(g,p,h.node(v))}),{graph:h,buckets:g,zeroIdx:p}}function l(u,c,h){h.out?h.in?u[h.out-h.in+c].enqueue(h):u[u.length-1].enqueue(h):u[0].enqueue(h)}return N0}var C0,xM;function TG(){if(xM)return C0;xM=1;var r=Ne(),t=OG();C0={run:e,undo:i};function e(a){var s=a.graph().acyclicer==="greedy"?t(a,o(a)):n(a);r.forEach(s,function(l){var u=a.edge(l);a.removeEdge(l),u.forwardName=l.name,u.reversed=!0,a.setEdge(l.w,l.v,u,r.uniqueId("rev"))});function o(l){return function(u){return l.edge(u).weight}}}function n(a){var s=[],o={},l={};function u(c){r.has(l,c)||(l[c]=!0,o[c]=!0,r.forEach(a.outEdges(c),function(h){r.has(o,h.w)?s.push(h):u(h.w)}),delete o[c])}return r.forEach(a.nodes(),u),s}function i(a){r.forEach(a.edges(),function(s){var o=a.edge(s);if(o.reversed){a.removeEdge(s);var l=o.forwardName;delete o.reversed,delete o.forwardName,a.setEdge(s.w,s.v,o,l)}})}return C0}var R0,EM;function Hn(){if(EM)return R0;EM=1;var r=Ne(),t=Dr().Graph;R0={addDummyNode:e,simplify:n,asNonCompoundGraph:i,successorWeights:a,predecessorWeights:s,intersectRect:o,buildLayerMatrix:l,normalizeRanks:u,removeEmptyRanks:c,addBorderNode:h,maxRank:d,partition:f,time:g,notime:p};function e(v,y,m,w){var S;do S=r.uniqueId(w);while(v.hasNode(S));return m.dummy=y,v.setNode(S,m),S}function n(v){var y=new t().setGraph(v.graph());return r.forEach(v.nodes(),function(m){y.setNode(m,v.node(m))}),r.forEach(v.edges(),function(m){var w=y.edge(m.v,m.w)||{weight:0,minlen:1},S=v.edge(m);y.setEdge(m.v,m.w,{weight:w.weight+S.weight,minlen:Math.max(w.minlen,S.minlen)})}),y}function i(v){var y=new t({multigraph:v.isMultigraph()}).setGraph(v.graph());return r.forEach(v.nodes(),function(m){v.children(m).length||y.setNode(m,v.node(m))}),r.forEach(v.edges(),function(m){y.setEdge(m,v.edge(m))}),y}function a(v){var y=r.map(v.nodes(),function(m){var w={};return r.forEach(v.outEdges(m),function(S){w[S.w]=(w[S.w]||0)+v.edge(S).weight}),w});return r.zipObject(v.nodes(),y)}function s(v){var y=r.map(v.nodes(),function(m){var w={};return r.forEach(v.inEdges(m),function(S){w[S.v]=(w[S.v]||0)+v.edge(S).weight}),w});return r.zipObject(v.nodes(),y)}function o(v,y){var m=v.x,w=v.y,S=y.x-m,_=y.y-w,k=v.width/2,T=v.height/2;if(!S&&!_)throw new Error("Not possible to find intersection inside of the rectangle");var O,P;return Math.abs(_)*k>Math.abs(S)*T?(_<0&&(T=-T),O=T*S/_,P=T):(S<0&&(k=-k),O=k,P=k*_/S),{x:m+O,y:w+P}}function l(v){var y=r.map(r.range(d(v)+1),function(){return[]});return r.forEach(v.nodes(),function(m){var w=v.node(m),S=w.rank;r.isUndefined(S)||(y[S][w.order]=m)}),y}function u(v){var y=r.min(r.map(v.nodes(),function(m){return v.node(m).rank}));r.forEach(v.nodes(),function(m){var w=v.node(m);r.has(w,"rank")&&(w.rank-=y)})}function c(v){var y=r.min(r.map(v.nodes(),function(_){return v.node(_).rank})),m=[];r.forEach(v.nodes(),function(_){var k=v.node(_).rank-y;m[k]||(m[k]=[]),m[k].push(_)});var w=0,S=v.graph().nodeRankFactor;r.forEach(m,function(_,k){r.isUndefined(_)&&k%S!==0?--w:w&&r.forEach(_,function(T){v.node(T).rank+=w})})}function h(v,y,m,w){var S={width:0,height:0};return arguments.length>=4&&(S.rank=m,S.order=w),e(v,"border",S,y)}function d(v){return r.max(r.map(v.nodes(),function(y){var m=v.node(y).rank;if(!r.isUndefined(m))return m}))}function f(v,y){var m={lhs:[],rhs:[]};return r.forEach(v,function(w){y(w)?m.lhs.push(w):m.rhs.push(w)}),m}function g(v,y){var m=r.now();try{return y()}finally{console.log(v+" time: "+(r.now()-m)+"ms")}}function p(v,y){return y()}return R0}var L0,SM;function AG(){if(SM)return L0;SM=1;var r=Ne(),t=Hn();L0={run:e,undo:i};function e(a){a.graph().dummyChains=[],r.forEach(a.edges(),function(s){n(a,s)})}function n(a,s){var o=s.v,l=a.node(o).rank,u=s.w,c=a.node(u).rank,h=s.name,d=a.edge(s),f=d.labelRank;if(c!==l+1){a.removeEdge(s);var g,p,v;for(v=0,++l;l<c;++v,++l)d.points=[],p={width:0,height:0,edgeLabel:d,edgeObj:s,rank:l},g=t.addDummyNode(a,"edge",p,"_d"),l===f&&(p.width=d.width,p.height=d.height,p.dummy="edge-label",p.labelpos=d.labelpos),a.setEdge(o,g,{weight:d.weight},h),v===0&&a.graph().dummyChains.push(g),o=g;a.setEdge(o,u,{weight:d.weight},h)}}function i(a){r.forEach(a.graph().dummyChains,function(s){var o=a.node(s),l=o.edgeLabel,u;for(a.setEdge(o.edgeObj,l);o.dummy;)u=a.successors(s)[0],a.removeNode(s),l.points.push({x:o.x,y:o.y}),o.dummy==="edge-label"&&(l.x=o.x,l.y=o.y,l.width=o.width,l.height=o.height),s=u,o=a.node(s)})}return L0}var I0,_M;function Ju(){if(_M)return I0;_M=1;var r=Ne();I0={longestPath:t,slack:e};function t(n){var i={};function a(s){var o=n.node(s);if(r.has(i,s))return o.rank;i[s]=!0;var l=r.min(r.map(n.outEdges(s),function(u){return a(u.w)-n.edge(u).minlen}));return(l===Number.POSITIVE_INFINITY||l===void 0||l===null)&&(l=0),o.rank=l}r.forEach(n.sources(),a)}function e(n,i){return n.node(i.w).rank-n.node(i.v).rank-n.edge(i).minlen}return I0}var D0,MM;function bN(){if(MM)return D0;MM=1;var r=Ne(),t=Dr().Graph,e=Ju().slack;D0=n;function n(o){var l=new t({directed:!1}),u=o.nodes()[0],c=o.nodeCount();l.setNode(u,{});for(var h,d;i(l,o)<c;)h=a(l,o),d=l.hasNode(h.v)?e(o,h):-e(o,h),s(l,o,d);return l}function i(o,l){function u(c){r.forEach(l.nodeEdges(c),function(h){var d=h.v,f=c===d?h.w:d;!o.hasNode(f)&&!e(l,h)&&(o.setNode(f,{}),o.setEdge(c,f,{}),u(f))})}return r.forEach(o.nodes(),u),o.nodeCount()}function a(o,l){return r.minBy(l.edges(),function(u){if(o.hasNode(u.v)!==o.hasNode(u.w))return e(l,u)})}function s(o,l,u){r.forEach(o.nodes(),function(c){l.node(c).rank+=u})}return D0}var F0,kM;function PG(){if(kM)return F0;kM=1;var r=Ne(),t=bN(),e=Ju().slack,n=Ju().longestPath,i=Dr().alg.preorder,a=Dr().alg.postorder,s=Hn().simplify;F0=o,o.initLowLimValues=h,o.initCutValues=l,o.calcCutValue=c,o.leaveEdge=f,o.enterEdge=g,o.exchangeEdges=p;function o(w){w=s(w),n(w);var S=t(w);h(S),l(S,w);for(var _,k;_=f(S);)k=g(S,w,_),p(S,w,_,k)}function l(w,S){var _=a(w,w.nodes());_=_.slice(0,_.length-1),r.forEach(_,function(k){u(w,S,k)})}function u(w,S,_){var k=w.node(_),T=k.parent;w.edge(_,T).cutvalue=c(w,S,_)}function c(w,S,_){var k=w.node(_),T=k.parent,O=!0,P=S.edge(_,T),N=0;return P||(O=!1,P=S.edge(T,_)),N=P.weight,r.forEach(S.nodeEdges(_),function(C){var L=C.v===_,F=L?C.w:C.v;if(F!==T){var G=L===O,V=S.edge(C).weight;if(N+=G?V:-V,y(w,_,F)){var U=w.edge(_,F).cutvalue;N+=G?-U:U}}}),N}function h(w,S){arguments.length<2&&(S=w.nodes()[0]),d(w,{},1,S)}function d(w,S,_,k,T){var O=_,P=w.node(k);return S[k]=!0,r.forEach(w.neighbors(k),function(N){r.has(S,N)||(_=d(w,S,_,N,k))}),P.low=O,P.lim=_++,T?P.parent=T:delete P.parent,_}function f(w){return r.find(w.edges(),function(S){return w.edge(S).cutvalue<0})}function g(w,S,_){var k=_.v,T=_.w;S.hasEdge(k,T)||(k=_.w,T=_.v);var O=w.node(k),P=w.node(T),N=O,C=!1;O.lim>P.lim&&(N=P,C=!0);var L=r.filter(S.edges(),function(F){return C===m(w,w.node(F.v),N)&&C!==m(w,w.node(F.w),N)});return r.minBy(L,function(F){return e(S,F)})}function p(w,S,_,k){var T=_.v,O=_.w;w.removeEdge(T,O),w.setEdge(k.v,k.w,{}),h(w),l(w,S),v(w,S)}function v(w,S){var _=r.find(w.nodes(),function(T){return!S.node(T).parent}),k=i(w,_);k=k.slice(1),r.forEach(k,function(T){var O=w.node(T).parent,P=S.edge(T,O),N=!1;P||(P=S.edge(O,T),N=!0),S.node(T).rank=S.node(O).rank+(N?P.minlen:-P.minlen)})}function y(w,S,_){return w.hasEdge(S,_)}function m(w,S,_){return _.low<=S.lim&&S.lim<=_.lim}return F0}var B0,OM;function NG(){if(OM)return B0;OM=1;var r=Ju(),t=r.longestPath,e=bN(),n=PG();B0=i;function i(l){switch(l.graph().ranker){case"network-simplex":o(l);break;case"tight-tree":s(l);break;case"longest-path":a(l);break;default:o(l)}}var a=t;function s(l){t(l),e(l)}function o(l){n(l)}return B0}var z0,TM;function CG(){if(TM)return z0;TM=1;var r=Ne();z0=t;function t(i){var a=n(i);r.forEach(i.graph().dummyChains,function(s){for(var o=i.node(s),l=o.edgeObj,u=e(i,a,l.v,l.w),c=u.path,h=u.lca,d=0,f=c[d],g=!0;s!==l.w;){if(o=i.node(s),g){for(;(f=c[d])!==h&&i.node(f).maxRank<o.rank;)d++;f===h&&(g=!1)}if(!g){for(;d<c.length-1&&i.node(f=c[d+1]).minRank<=o.rank;)d++;f=c[d]}i.setParent(s,f),s=i.successors(s)[0]}})}function e(i,a,s,o){var l=[],u=[],c=Math.min(a[s].low,a[o].low),h=Math.max(a[s].lim,a[o].lim),d,f;d=s;do d=i.parent(d),l.push(d);while(d&&(a[d].low>c||h>a[d].lim));for(f=d,d=o;(d=i.parent(d))!==f;)u.push(d);return{path:l.concat(u.reverse()),lca:f}}function n(i){var a={},s=0;function o(l){var u=s;r.forEach(i.children(l),o),a[l]={low:u,lim:s++}}return r.forEach(i.children(),o),a}return z0}var j0,AM;function RG(){if(AM)return j0;AM=1;var r=Ne(),t=Hn();j0={run:e,cleanup:s};function e(o){var l=t.addDummyNode(o,"root",{},"_root"),u=i(o),c=r.max(r.values(u))-1,h=2*c+1;o.graph().nestingRoot=l,r.forEach(o.edges(),function(f){o.edge(f).minlen*=h});var d=a(o)+1;r.forEach(o.children(),function(f){n(o,l,h,d,c,u,f)}),o.graph().nodeRankFactor=h}function n(o,l,u,c,h,d,f){var g=o.children(f);if(!g.length){f!==l&&o.setEdge(l,f,{weight:0,minlen:u});return}var p=t.addBorderNode(o,"_bt"),v=t.addBorderNode(o,"_bb"),y=o.node(f);o.setParent(p,f),y.borderTop=p,o.setParent(v,f),y.borderBottom=v,r.forEach(g,function(m){n(o,l,u,c,h,d,m);var w=o.node(m),S=w.borderTop?w.borderTop:m,_=w.borderBottom?w.borderBottom:m,k=w.borderTop?c:2*c,T=S!==_?1:h-d[f]+1;o.setEdge(p,S,{weight:k,minlen:T,nestingEdge:!0}),o.setEdge(_,v,{weight:k,minlen:T,nestingEdge:!0})}),o.parent(f)||o.setEdge(l,p,{weight:0,minlen:h+d[f]})}function i(o){var l={};function u(c,h){var d=o.children(c);d&&d.length&&r.forEach(d,function(f){u(f,h+1)}),l[c]=h}return r.forEach(o.children(),function(c){u(c,1)}),l}function a(o){return r.reduce(o.edges(),function(l,u){return l+o.edge(u).weight},0)}function s(o){var l=o.graph();o.removeNode(l.nestingRoot),delete l.nestingRoot,r.forEach(o.edges(),function(u){var c=o.edge(u);c.nestingEdge&&o.removeEdge(u)})}return j0}var q0,PM;function LG(){if(PM)return q0;PM=1;var r=Ne(),t=Hn();q0=e;function e(i){function a(s){var o=i.children(s),l=i.node(s);if(o.length&&r.forEach(o,a),r.has(l,"minRank")){l.borderLeft=[],l.borderRight=[];for(var u=l.minRank,c=l.maxRank+1;u<c;++u)n(i,"borderLeft","_bl",s,l,u),n(i,"borderRight","_br",s,l,u)}}r.forEach(i.children(),a)}function n(i,a,s,o,l,u){var c={width:0,height:0,rank:u,borderType:a},h=l[a][u-1],d=t.addDummyNode(i,"border",c,s);l[a][u]=d,i.setParent(d,o),h&&i.setEdge(h,d,{weight:1})}return q0}var $0,NM;function IG(){if(NM)return $0;NM=1;var r=Ne();$0={adjust:t,undo:e};function t(u){var c=u.graph().rankdir.toLowerCase();(c==="lr"||c==="rl")&&n(u)}function e(u){var c=u.graph().rankdir.toLowerCase();(c==="bt"||c==="rl")&&a(u),(c==="lr"||c==="rl")&&(o(u),n(u))}function n(u){r.forEach(u.nodes(),function(c){i(u.node(c))}),r.forEach(u.edges(),function(c){i(u.edge(c))})}function i(u){var c=u.width;u.width=u.height,u.height=c}function a(u){r.forEach(u.nodes(),function(c){s(u.node(c))}),r.forEach(u.edges(),function(c){var h=u.edge(c);r.forEach(h.points,s),r.has(h,"y")&&s(h)})}function s(u){u.y=-u.y}function o(u){r.forEach(u.nodes(),function(c){l(u.node(c))}),r.forEach(u.edges(),function(c){var h=u.edge(c);r.forEach(h.points,l),r.has(h,"x")&&l(h)})}function l(u){var c=u.x;u.x=u.y,u.y=c}return $0}var G0,CM;function DG(){if(CM)return G0;CM=1;var r=Ne();G0=t;function t(e){var n={},i=r.filter(e.nodes(),function(u){return!e.children(u).length}),a=r.max(r.map(i,function(u){return e.node(u).rank})),s=r.map(r.range(a+1),function(){return[]});function o(u){if(!r.has(n,u)){n[u]=!0;var c=e.node(u);s[c.rank].push(u),r.forEach(e.successors(u),o)}}var l=r.sortBy(i,function(u){return e.node(u).rank});return r.forEach(l,o),s}return G0}var W0,RM;function FG(){if(RM)return W0;RM=1;var r=Ne();W0=t;function t(n,i){for(var a=0,s=1;s<i.length;++s)a+=e(n,i[s-1],i[s]);return a}function e(n,i,a){for(var s=r.zipObject(a,r.map(a,function(d,f){return f})),o=r.flatten(r.map(i,function(d){return r.sortBy(r.map(n.outEdges(d),function(f){return{pos:s[f.w],weight:n.edge(f).weight}}),"pos")}),!0),l=1;l<a.length;)l<<=1;var u=2*l-1;l-=1;var c=r.map(new Array(u),function(){return 0}),h=0;return r.forEach(o.forEach(function(d){var f=d.pos+l;c[f]+=d.weight;for(var g=0;f>0;)f%2&&(g+=c[f+1]),f=f-1>>1,c[f]+=d.weight;h+=d.weight*g})),h}return W0}var V0,LM;function BG(){if(LM)return V0;LM=1;var r=Ne();V0=t;function t(e,n){return r.map(n,function(i){var a=e.inEdges(i);if(a.length){var s=r.reduce(a,function(o,l){var u=e.edge(l),c=e.node(l.v);return{sum:o.sum+u.weight*c.order,weight:o.weight+u.weight}},{sum:0,weight:0});return{v:i,barycenter:s.sum/s.weight,weight:s.weight}}else return{v:i}})}return V0}var U0,IM;function zG(){if(IM)return U0;IM=1;var r=Ne();U0=t;function t(i,a){var s={};r.forEach(i,function(l,u){var c=s[l.v]={indegree:0,in:[],out:[],vs:[l.v],i:u};r.isUndefined(l.barycenter)||(c.barycenter=l.barycenter,c.weight=l.weight)}),r.forEach(a.edges(),function(l){var u=s[l.v],c=s[l.w];!r.isUndefined(u)&&!r.isUndefined(c)&&(c.indegree++,u.out.push(s[l.w]))});var o=r.filter(s,function(l){return!l.indegree});return e(o)}function e(i){var a=[];function s(u){return function(c){c.merged||(r.isUndefined(c.barycenter)||r.isUndefined(u.barycenter)||c.barycenter>=u.barycenter)&&n(u,c)}}function o(u){return function(c){c.in.push(u),--c.indegree===0&&i.push(c)}}for(;i.length;){var l=i.pop();a.push(l),r.forEach(l.in.reverse(),s(l)),r.forEach(l.out,o(l))}return r.map(r.filter(a,function(u){return!u.merged}),function(u){return r.pick(u,["vs","i","barycenter","weight"])})}function n(i,a){var s=0,o=0;i.weight&&(s+=i.barycenter*i.weight,o+=i.weight),a.weight&&(s+=a.barycenter*a.weight,o+=a.weight),i.vs=a.vs.concat(i.vs),i.barycenter=s/o,i.weight=o,i.i=Math.min(a.i,i.i),a.merged=!0}return U0}var Y0,DM;function jG(){if(DM)return Y0;DM=1;var r=Ne(),t=Hn();Y0=e;function e(a,s){var o=t.partition(a,function(p){return r.has(p,"barycenter")}),l=o.lhs,u=r.sortBy(o.rhs,function(p){return-p.i}),c=[],h=0,d=0,f=0;l.sort(i(!!s)),f=n(c,u,f),r.forEach(l,function(p){f+=p.vs.length,c.push(p.vs),h+=p.barycenter*p.weight,d+=p.weight,f=n(c,u,f)});var g={vs:r.flatten(c,!0)};return d&&(g.barycenter=h/d,g.weight=d),g}function n(a,s,o){for(var l;s.length&&(l=r.last(s)).i<=o;)s.pop(),a.push(l.vs),o++;return o}function i(a){return function(s,o){return s.barycenter<o.barycenter?-1:s.barycenter>o.barycenter?1:a?o.i-s.i:s.i-o.i}}return Y0}var H0,FM;function qG(){if(FM)return H0;FM=1;var r=Ne(),t=BG(),e=zG(),n=jG();H0=i;function i(o,l,u,c){var h=o.children(l),d=o.node(l),f=d?d.borderLeft:void 0,g=d?d.borderRight:void 0,p={};f&&(h=r.filter(h,function(_){return _!==f&&_!==g}));var v=t(o,h);r.forEach(v,function(_){if(o.children(_.v).length){var k=i(o,_.v,u,c);p[_.v]=k,r.has(k,"barycenter")&&s(_,k)}});var y=e(v,u);a(y,p);var m=n(y,c);if(f&&(m.vs=r.flatten([f,m.vs,g],!0),o.predecessors(f).length)){var w=o.node(o.predecessors(f)[0]),S=o.node(o.predecessors(g)[0]);r.has(m,"barycenter")||(m.barycenter=0,m.weight=0),m.barycenter=(m.barycenter*m.weight+w.order+S.order)/(m.weight+2),m.weight+=2}return m}function a(o,l){r.forEach(o,function(u){u.vs=r.flatten(u.vs.map(function(c){return l[c]?l[c].vs:c}),!0)})}function s(o,l){r.isUndefined(o.barycenter)?(o.barycenter=l.barycenter,o.weight=l.weight):(o.barycenter=(o.barycenter*o.weight+l.barycenter*l.weight)/(o.weight+l.weight),o.weight+=l.weight)}return H0}var X0,BM;function $G(){if(BM)return X0;BM=1;var r=Ne(),t=Dr().Graph;X0=e;function e(i,a,s){var o=n(i),l=new t({compound:!0}).setGraph({root:o}).setDefaultNodeLabel(function(u){return i.node(u)});return r.forEach(i.nodes(),function(u){var c=i.node(u),h=i.parent(u);(c.rank===a||c.minRank<=a&&a<=c.maxRank)&&(l.setNode(u),l.setParent(u,h||o),r.forEach(i[s](u),function(d){var f=d.v===u?d.w:d.v,g=l.edge(f,u),p=r.isUndefined(g)?0:g.weight;l.setEdge(f,u,{weight:i.edge(d).weight+p})}),r.has(c,"minRank")&&l.setNode(u,{borderLeft:c.borderLeft[a],borderRight:c.borderRight[a]}))}),l}function n(i){for(var a;i.hasNode(a=r.uniqueId("_root")););return a}return X0}var K0,zM;function GG(){if(zM)return K0;zM=1;var r=Ne();K0=t;function t(e,n,i){var a={},s;r.forEach(i,function(o){for(var l=e.parent(o),u,c;l;){if(u=e.parent(l),u?(c=a[u],a[u]=l):(c=s,s=l),c&&c!==l){n.setEdge(c,l);return}l=u}})}return K0}var Z0,jM;function WG(){if(jM)return Z0;jM=1;var r=Ne(),t=DG(),e=FG(),n=qG(),i=$G(),a=GG(),s=Dr().Graph,o=Hn();Z0=l;function l(d){var f=o.maxRank(d),g=u(d,r.range(1,f+1),"inEdges"),p=u(d,r.range(f-1,-1,-1),"outEdges"),v=t(d);h(d,v);for(var y=Number.POSITIVE_INFINITY,m,w=0,S=0;S<4;++w,++S){c(w%2?g:p,w%4>=2),v=o.buildLayerMatrix(d);var _=e(d,v);_<y&&(S=0,m=r.cloneDeep(v),y=_)}h(d,m)}function u(d,f,g){return r.map(f,function(p){return i(d,p,g)})}function c(d,f){var g=new s;r.forEach(d,function(p){var v=p.graph().root,y=n(p,v,g,f);r.forEach(y.vs,function(m,w){p.node(m).order=w}),a(p,g,y.vs)})}function h(d,f){r.forEach(f,function(g){r.forEach(g,function(p,v){d.node(p).order=v})})}return Z0}var J0,qM;function VG(){if(qM)return J0;qM=1;var r=Ne(),t=Dr().Graph,e=Hn();J0={positionX:g,findType1Conflicts:n,findType2Conflicts:i,addConflict:s,hasConflict:o,verticalAlignment:l,horizontalCompaction:u,alignCoordinates:d,findSmallestWidthAlignment:h,balance:f};function n(y,m){var w={};function S(_,k){var T=0,O=0,P=_.length,N=r.last(k);return r.forEach(k,function(C,L){var F=a(y,C),G=F?y.node(F).order:P;(F||C===N)&&(r.forEach(k.slice(O,L+1),function(V){r.forEach(y.predecessors(V),function(U){var q=y.node(U),j=q.order;(j<T||G<j)&&!(q.dummy&&y.node(V).dummy)&&s(w,U,V)})}),O=L+1,T=G)}),k}return r.reduce(m,S),w}function i(y,m){var w={};function S(k,T,O,P,N){var C;r.forEach(r.range(T,O),function(L){C=k[L],y.node(C).dummy&&r.forEach(y.predecessors(C),function(F){var G=y.node(F);G.dummy&&(G.order<P||G.order>N)&&s(w,F,C)})})}function _(k,T){var O=-1,P,N=0;return r.forEach(T,function(C,L){if(y.node(C).dummy==="border"){var F=y.predecessors(C);F.length&&(P=y.node(F[0]).order,S(T,N,L,O,P),N=L,O=P)}S(T,N,T.length,P,k.length)}),T}return r.reduce(m,_),w}function a(y,m){if(y.node(m).dummy)return r.find(y.predecessors(m),function(w){return y.node(w).dummy})}function s(y,m,w){if(m>w){var S=m;m=w,w=S}var _=y[m];_||(y[m]=_={}),_[w]=!0}function o(y,m,w){if(m>w){var S=m;m=w,w=S}return r.has(y[m],w)}function l(y,m,w,S){var _={},k={},T={};return r.forEach(m,function(O){r.forEach(O,function(P,N){_[P]=P,k[P]=P,T[P]=N})}),r.forEach(m,function(O){var P=-1;r.forEach(O,function(N){var C=S(N);if(C.length){C=r.sortBy(C,function(U){return T[U]});for(var L=(C.length-1)/2,F=Math.floor(L),G=Math.ceil(L);F<=G;++F){var V=C[F];k[N]===N&&P<T[V]&&!o(w,N,V)&&(k[V]=N,k[N]=_[N]=_[V],P=T[V])}}})}),{root:_,align:k}}function u(y,m,w,S,_){var k={},T=c(y,m,w,_),O=_?"borderLeft":"borderRight";function P(L,F){for(var G=T.nodes(),V=G.pop(),U={};V;)U[V]?L(V):(U[V]=!0,G.push(V),G=G.concat(F(V))),V=G.pop()}function N(L){k[L]=T.inEdges(L).reduce(function(F,G){return Math.max(F,k[G.v]+T.edge(G))},0)}function C(L){var F=T.outEdges(L).reduce(function(V,U){return Math.min(V,k[U.w]-T.edge(U))},Number.POSITIVE_INFINITY),G=y.node(L);F!==Number.POSITIVE_INFINITY&&G.borderType!==O&&(k[L]=Math.max(k[L],F))}return P(N,T.predecessors.bind(T)),P(C,T.successors.bind(T)),r.forEach(S,function(L){k[L]=k[w[L]]}),k}function c(y,m,w,S){var _=new t,k=y.graph(),T=p(k.nodesep,k.edgesep,S);return r.forEach(m,function(O){var P;r.forEach(O,function(N){var C=w[N];if(_.setNode(C),P){var L=w[P],F=_.edge(L,C);_.setEdge(L,C,Math.max(T(y,N,P),F||0))}P=N})}),_}function h(y,m){return r.minBy(r.values(m),function(w){var S=Number.NEGATIVE_INFINITY,_=Number.POSITIVE_INFINITY;return r.forIn(w,function(k,T){var O=v(y,T)/2;S=Math.max(k+O,S),_=Math.min(k-O,_)}),S-_})}function d(y,m){var w=r.values(m),S=r.min(w),_=r.max(w);r.forEach(["u","d"],function(k){r.forEach(["l","r"],function(T){var O=k+T,P=y[O],N;if(P!==m){var C=r.values(P);N=T==="l"?S-r.min(C):_-r.max(C),N&&(y[O]=r.mapValues(P,function(L){return L+N}))}})})}function f(y,m){return r.mapValues(y.ul,function(w,S){if(m)return y[m.toLowerCase()][S];var _=r.sortBy(r.map(y,S));return(_[1]+_[2])/2})}function g(y){var m=e.buildLayerMatrix(y),w=r.merge(n(y,m),i(y,m)),S={},_;r.forEach(["u","d"],function(T){_=T==="u"?m:r.values(m).reverse(),r.forEach(["l","r"],function(O){O==="r"&&(_=r.map(_,function(L){return r.values(L).reverse()}));var P=(T==="u"?y.predecessors:y.successors).bind(y),N=l(y,_,w,P),C=u(y,_,N.root,N.align,O==="r");O==="r"&&(C=r.mapValues(C,function(L){return-L})),S[T+O]=C})});var k=h(y,S);return d(S,k),f(S,y.graph().align)}function p(y,m,w){return function(S,_,k){var T=S.node(_),O=S.node(k),P=0,N;if(P+=T.width/2,r.has(T,"labelpos"))switch(T.labelpos.toLowerCase()){case"l":N=-T.width/2;break;case"r":N=T.width/2;break}if(N&&(P+=w?N:-N),N=0,P+=(T.dummy?m:y)/2,P+=(O.dummy?m:y)/2,P+=O.width/2,r.has(O,"labelpos"))switch(O.labelpos.toLowerCase()){case"l":N=O.width/2;break;case"r":N=-O.width/2;break}return N&&(P+=w?N:-N),N=0,P}}function v(y,m){return y.node(m).width}return J0}var Q0,$M;function UG(){if($M)return Q0;$M=1;var r=Ne(),t=Hn(),e=VG().positionX;Q0=n;function n(a){a=t.asNonCompoundGraph(a),i(a),r.forEach(e(a),function(s,o){a.node(o).x=s})}function i(a){var s=t.buildLayerMatrix(a),o=a.graph().ranksep,l=0;r.forEach(s,function(u){var c=r.max(r.map(u,function(h){return a.node(h).height}));r.forEach(u,function(h){a.node(h).y=l+c/2}),l+=c+o})}return Q0}var ty,GM;function YG(){if(GM)return ty;GM=1;var r=Ne(),t=TG(),e=AG(),n=NG(),i=Hn().normalizeRanks,a=CG(),s=Hn().removeEmptyRanks,o=RG(),l=LG(),u=IG(),c=WG(),h=UG(),d=Hn(),f=Dr().Graph;ty=g;function g(K,W){var tt=W&&W.debugTiming?d.time:d.notime;tt("layout",function(){var ct=tt(" buildLayoutGraph",function(){return P(K)});tt(" runLayout",function(){p(ct,tt)}),tt(" updateInputGraph",function(){v(K,ct)})})}function p(K,W){W(" makeSpaceForEdgeLabels",function(){N(K)}),W(" removeSelfEdges",function(){Z(K)}),W(" acyclic",function(){t.run(K)}),W(" nestingGraph.run",function(){o.run(K)}),W(" rank",function(){n(d.asNonCompoundGraph(K))}),W(" injectEdgeLabelProxies",function(){C(K)}),W(" removeEmptyRanks",function(){s(K)}),W(" nestingGraph.cleanup",function(){o.cleanup(K)}),W(" normalizeRanks",function(){i(K)}),W(" assignRankMinMax",function(){L(K)}),W(" removeEdgeLabelProxies",function(){F(K)}),W(" normalize.run",function(){e.run(K)}),W(" parentDummyChains",function(){a(K)}),W(" addBorderSegments",function(){l(K)}),W(" order",function(){c(K)}),W(" insertSelfEdges",function(){nt(K)}),W(" adjustCoordinateSystem",function(){u.adjust(K)}),W(" position",function(){h(K)}),W(" positionSelfEdges",function(){st(K)}),W(" removeBorderNodes",function(){j(K)}),W(" normalize.undo",function(){e.undo(K)}),W(" fixupEdgeLabelCoords",function(){U(K)}),W(" undoCoordinateSystem",function(){u.undo(K)}),W(" translateGraph",function(){G(K)}),W(" assignNodeIntersects",function(){V(K)}),W(" reversePoints",function(){q(K)}),W(" acyclic.undo",function(){t.undo(K)})}function v(K,W){r.forEach(K.nodes(),function(tt){var ct=K.node(tt),xt=W.node(tt);ct&&(ct.x=xt.x,ct.y=xt.y,W.children(tt).length&&(ct.width=xt.width,ct.height=xt.height))}),r.forEach(K.edges(),function(tt){var ct=K.edge(tt),xt=W.edge(tt);ct.points=xt.points,r.has(xt,"x")&&(ct.x=xt.x,ct.y=xt.y)}),K.graph().width=W.graph().width,K.graph().height=W.graph().height}var y=["nodesep","edgesep","ranksep","marginx","marginy"],m={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},w=["acyclicer","ranker","rankdir","align"],S=["width","height"],_={width:0,height:0},k=["minlen","weight","width","height","labeloffset"],T={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},O=["labelpos"];function P(K){var W=new f({multigraph:!0,compound:!0}),tt=Pt(K.graph());return W.setGraph(r.merge({},m,ot(tt,y),r.pick(tt,w))),r.forEach(K.nodes(),function(ct){var xt=Pt(K.node(ct));W.setNode(ct,r.defaults(ot(xt,S),_)),W.setParent(ct,K.parent(ct))}),r.forEach(K.edges(),function(ct){var xt=Pt(K.edge(ct));W.setEdge(ct,r.merge({},T,ot(xt,k),r.pick(xt,O)))}),W}function N(K){var W=K.graph();W.ranksep/=2,r.forEach(K.edges(),function(tt){var ct=K.edge(tt);ct.minlen*=2,ct.labelpos.toLowerCase()!=="c"&&(W.rankdir==="TB"||W.rankdir==="BT"?ct.width+=ct.labeloffset:ct.height+=ct.labeloffset)})}function C(K){r.forEach(K.edges(),function(W){var tt=K.edge(W);if(tt.width&&tt.height){var ct=K.node(W.v),xt=K.node(W.w),Nt={rank:(xt.rank-ct.rank)/2+ct.rank,e:W};d.addDummyNode(K,"edge-proxy",Nt,"_ep")}})}function L(K){var W=0;r.forEach(K.nodes(),function(tt){var ct=K.node(tt);ct.borderTop&&(ct.minRank=K.node(ct.borderTop).rank,ct.maxRank=K.node(ct.borderBottom).rank,W=r.max(W,ct.maxRank))}),K.graph().maxRank=W}function F(K){r.forEach(K.nodes(),function(W){var tt=K.node(W);tt.dummy==="edge-proxy"&&(K.edge(tt.e).labelRank=tt.rank,K.removeNode(W))})}function G(K){var W=Number.POSITIVE_INFINITY,tt=0,ct=Number.POSITIVE_INFINITY,xt=0,Nt=K.graph(),Vt=Nt.marginx||0,Me=Nt.marginy||0;function un(ke){var Ue=ke.x,Xt=ke.y,cr=ke.width,Qt=ke.height;W=Math.min(W,Ue-cr/2),tt=Math.max(tt,Ue+cr/2),ct=Math.min(ct,Xt-Qt/2),xt=Math.max(xt,Xt+Qt/2)}r.forEach(K.nodes(),function(ke){un(K.node(ke))}),r.forEach(K.edges(),function(ke){var Ue=K.edge(ke);r.has(Ue,"x")&&un(Ue)}),W-=Vt,ct-=Me,r.forEach(K.nodes(),function(ke){var Ue=K.node(ke);Ue.x-=W,Ue.y-=ct}),r.forEach(K.edges(),function(ke){var Ue=K.edge(ke);r.forEach(Ue.points,function(Xt){Xt.x-=W,Xt.y-=ct}),r.has(Ue,"x")&&(Ue.x-=W),r.has(Ue,"y")&&(Ue.y-=ct)}),Nt.width=tt-W+Vt,Nt.height=xt-ct+Me}function V(K){r.forEach(K.edges(),function(W){var tt=K.edge(W),ct=K.node(W.v),xt=K.node(W.w),Nt,Vt;tt.points?(Nt=tt.points[0],Vt=tt.points[tt.points.length-1]):(tt.points=[],Nt=xt,Vt=ct),tt.points.unshift(d.intersectRect(ct,Nt)),tt.points.push(d.intersectRect(xt,Vt))})}function U(K){r.forEach(K.edges(),function(W){var tt=K.edge(W);if(r.has(tt,"x"))switch((tt.labelpos==="l"||tt.labelpos==="r")&&(tt.width-=tt.labeloffset),tt.labelpos){case"l":tt.x-=tt.width/2+tt.labeloffset;break;case"r":tt.x+=tt.width/2+tt.labeloffset;break}})}function q(K){r.forEach(K.edges(),function(W){var tt=K.edge(W);tt.reversed&&tt.points.reverse()})}function j(K){r.forEach(K.nodes(),function(W){if(K.children(W).length){var tt=K.node(W),ct=K.node(tt.borderTop),xt=K.node(tt.borderBottom),Nt=K.node(r.last(tt.borderLeft)),Vt=K.node(r.last(tt.borderRight));tt.width=Math.abs(Vt.x-Nt.x),tt.height=Math.abs(xt.y-ct.y),tt.x=Nt.x+tt.width/2,tt.y=ct.y+tt.height/2}}),r.forEach(K.nodes(),function(W){K.node(W).dummy==="border"&&K.removeNode(W)})}function Z(K){r.forEach(K.edges(),function(W){if(W.v===W.w){var tt=K.node(W.v);tt.selfEdges||(tt.selfEdges=[]),tt.selfEdges.push({e:W,label:K.edge(W)}),K.removeEdge(W)}})}function nt(K){var W=d.buildLayerMatrix(K);r.forEach(W,function(tt){var ct=0;r.forEach(tt,function(xt,Nt){var Vt=K.node(xt);Vt.order=Nt+ct,r.forEach(Vt.selfEdges,function(Me){d.addDummyNode(K,"selfedge",{width:Me.label.width,height:Me.label.height,rank:Vt.rank,order:Nt+ ++ct,e:Me.e,label:Me.label},"_se")}),delete Vt.selfEdges})})}function st(K){r.forEach(K.nodes(),function(W){var tt=K.node(W);if(tt.dummy==="selfedge"){var ct=K.node(tt.e.v),xt=ct.x+ct.width/2,Nt=ct.y,Vt=tt.x-xt,Me=ct.height/2;K.setEdge(tt.e,tt.label),K.removeNode(W),tt.label.points=[{x:xt+2*Vt/3,y:Nt-Me},{x:xt+5*Vt/6,y:Nt-Me},{x:xt+Vt,y:Nt},{x:xt+5*Vt/6,y:Nt+Me},{x:xt+2*Vt/3,y:Nt+Me}],tt.label.x=tt.x,tt.label.y=tt.y}})}function ot(K,W){return r.mapValues(r.pick(K,W),Number)}function Pt(K){var W={};return r.forEach(K,function(tt,ct){W[ct.toLowerCase()]=tt}),W}return ty}var ey,WM;function HG(){if(WM)return ey;WM=1;var r=Ne(),t=Hn(),e=Dr().Graph;ey={debugOrdering:n};function n(i){var a=t.buildLayerMatrix(i),s=new e({compound:!0,multigraph:!0}).setGraph({});return r.forEach(i.nodes(),function(o){s.setNode(o,{label:o}),s.setParent(o,"layer"+i.node(o).rank)}),r.forEach(i.edges(),function(o){s.setEdge(o.v,o.w,{},o.name)}),r.forEach(a,function(o,l){var u="layer"+l;s.setNode(u,{rank:"same"}),r.reduce(o,function(c,h){return s.setEdge(c,h,{style:"invis"}),h})}),s}return ey}var ny,VM;function XG(){return VM||(VM=1,ny="0.8.5"),ny}var ry,UM;function KG(){return UM||(UM=1,ry={graphlib:Dr(),layout:YG(),debug:HG(),util:{time:Hn().time,notime:Hn().notime},version:XG()}),ry}var wN=KG();const ZG=oc(wN);class ah{constructor(t){this.id="dagre",this.options={},Object.assign(this.options,ah.defaultOptions,t)}execute(t,e){return Ut(this,void 0,void 0,function*(){return this.genericDagreLayout(!1,t,Object.assign(Object.assign({},this.options),e))})}assign(t,e){return Ut(this,void 0,void 0,function*(){yield this.genericDagreLayout(!0,t,Object.assign(Object.assign({},this.options),e))})}genericDagreLayout(t,e,n){return Ut(this,void 0,void 0,function*(){const{nodeSize:i}=n,a=new wN.graphlib.Graph;a.setGraph(n),a.setDefaultEdgeLabel(()=>({}));const s=e.getAllNodes(),o=e.getAllEdges();[...s,...o].some(({id:u})=>Et(u))&&console.error("Dagre layout only support string id, it will convert number to string."),e.getAllNodes().forEach(u=>{const{id:c}=u,h=Object.assign({},u.data);if(i!==void 0){const[d,f]=il(kt(i)?i(u):i);Object.assign(h,{width:d,height:f})}a.setNode(c.toString(),h)}),e.getAllEdges().forEach(({id:u,source:c,target:h})=>{a.setEdge(c.toString(),h.toString(),{id:u})}),ZG.layout(a);const l={nodes:[],edges:[]};return a.nodes().forEach(u=>{const c=a.node(u);l.nodes.push({id:u,data:c}),t&&e.mergeNodeData(u,c)}),a.edges().forEach(u=>{const c=a.edge(u),{id:h}=c,d=ze(c,["id"]),{v:f,w:g}=u;l.edges.push({id:h,source:f,target:g,data:d}),t&&e.mergeEdgeData(h,d)}),l})}}ah.defaultOptions={};class D1{constructor(t){this.id=t.id||0,this.rx=t.rx,this.ry=t.ry,this.fx=0,this.fy=0,this.mass=t.mass,this.degree=t.degree,this.g=t.g||0}distanceTo(t){const e=this.rx-t.rx,n=this.ry-t.ry;return Math.hypot(e,n)}setPos(t,e){this.rx=t,this.ry=e}resetForce(){this.fx=0,this.fy=0}addForce(t){const e=t.rx-this.rx,n=t.ry-this.ry;let i=Math.hypot(e,n);i=i<1e-4?1e-4:i;const a=this.g*(this.degree+1)*(t.degree+1)/i;this.fx+=a*e/i,this.fy+=a*n/i}in(t){return t.contains(this.rx,this.ry)}add(t){const e=this.mass+t.mass,n=(this.rx*this.mass+t.rx*t.mass)/e,i=(this.ry*this.mass+t.ry*t.mass)/e,a=this.degree+t.degree,s={rx:n,ry:i,mass:e,degree:a};return new D1(s)}}class gs{constructor(t){this.xmid=t.xmid,this.ymid=t.ymid,this.length=t.length,this.massCenter=t.massCenter||[0,0],this.mass=t.mass||1}getLength(){return this.length}contains(t,e){const n=this.length/2;return t<=this.xmid+n&&t>=this.xmid-n&&e<=this.ymid+n&&e>=this.ymid-n}NW(){const t=this.xmid-this.length/4,e=this.ymid+this.length/4,n=this.length/2,i={xmid:t,ymid:e,length:n};return new gs(i)}NE(){const t=this.xmid+this.length/4,e=this.ymid+this.length/4,n=this.length/2,i={xmid:t,ymid:e,length:n};return new gs(i)}SW(){const t=this.xmid-this.length/4,e=this.ymid-this.length/4,n=this.length/2,i={xmid:t,ymid:e,length:n};return new gs(i)}SE(){const t=this.xmid+this.length/4,e=this.ymid-this.length/4,n=this.length/2,i={xmid:t,ymid:e,length:n};return new gs(i)}}class vs{constructor(t){this.body=null,this.quad=null,this.NW=null,this.NE=null,this.SW=null,this.SE=null,this.theta=.5,t!=null&&(this.quad=t)}insert(t){if(this.body==null){this.body=t;return}this._isExternal()?(this.quad&&(this.NW=new vs(this.quad.NW()),this.NE=new vs(this.quad.NE()),this.SW=new vs(this.quad.SW()),this.SE=new vs(this.quad.SE())),this._putBody(this.body),this._putBody(t),this.body=this.body.add(t)):(this.body=this.body.add(t),this._putBody(t))}_putBody(t){this.quad&&(t.in(this.quad.NW())&&this.NW?this.NW.insert(t):t.in(this.quad.NE())&&this.NE?this.NE.insert(t):t.in(this.quad.SW())&&this.SW?this.SW.insert(t):t.in(this.quad.SE())&&this.SE&&this.SE.insert(t))}_isExternal(){return this.NW==null&&this.NE==null&&this.SW==null&&this.SE==null}updateForce(t){if(!(this.body==null||t===this.body))if(this._isExternal())t.addForce(this.body);else{const e=this.quad?this.quad.getLength():0,n=this.body.distanceTo(t);e/n<this.theta?t.addForce(this.body):(this.NW&&this.NW.updateForce(t),this.NE&&this.NE.updateForce(t),this.SW&&this.SW.updateForce(t),this.SE&&this.SE.updateForce(t))}}}const JG={center:[0,0],width:300,height:300,kr:5,kg:1,mode:"normal",preventOverlap:!1,dissuadeHubs:!1,maxIteration:0,ks:.1,ksmax:10,tao:.1};class QG{constructor(t={}){this.options=t,this.id="forceAtlas2",this.options=Object.assign(Object.assign({},JG),t)}execute(t,e){return Ut(this,void 0,void 0,function*(){return this.genericForceAtlas2Layout(!1,t,e)})}assign(t,e){return Ut(this,void 0,void 0,function*(){yield this.genericForceAtlas2Layout(!0,t,e)})}genericForceAtlas2Layout(t,e,n){return Ut(this,void 0,void 0,function*(){const i=e.getAllEdges(),a=e.getAllNodes(),s=this.formatOptions(n,a.length),{width:o,height:l,prune:u,maxIteration:c,nodeSize:h,center:d}=s;if(!(a!=null&&a.length)||a.length===1)return Va(e,t,d);const f=a.map(y=>ir(y,[o,l])),g=i.filter(y=>{const{source:m,target:w}=y;return m!==w}),p=new ln({nodes:f,edges:g}),v=this.getSizes(p,h);if(this.run(p,e,c,v,t,s),u){for(let m=0;m<g.length;m+=1){const{source:w,target:S}=g[m],_=p.getDegree(w),k=p.getDegree(w);if(_<=1){const T=p.getNode(S);p.mergeNodeData(w,{x:T.data.x,y:T.data.y})}else if(k<=1){const T=p.getNode(w);p.mergeNodeData(S,{x:T.data.x,y:T.data.y})}}const y=Object.assign(Object.assign({},s),{prune:!1,barnesHut:!1});this.run(p,e,100,v,t,y)}return{nodes:f,edges:i}})}getSizes(t,e){const n=t.getAllNodes(),i={};for(let a=0;a<n.length;a+=1){const s=n[a];i[s.id]=p1(e,void 0)(s)}return i}formatOptions(t={},e){const n=Object.assign(Object.assign({},this.options),t),{center:i,width:a,height:s,barnesHut:o,prune:l,maxIteration:u,kr:c,kg:h}=n;return n.width=!a&&typeof window<"u"?window.innerWidth:a,n.height=!s&&typeof window<"u"?window.innerHeight:s,n.center=i||[n.width/2,n.height/2],o===void 0&&e>250&&(n.barnesHut=!0),l===void 0&&e>100&&(n.prune=!0),u===0&&!l?(n.maxIteration=250,e<=200&&e>100?n.maxIteration=1e3:e>200&&(n.maxIteration=1200)):u===0&&l&&(n.maxIteration=100,e<=200&&e>100?n.maxIteration=500:e>200&&(n.maxIteration=950)),c||(n.kr=50,e>100&&e<=500?n.kr=20:e>500&&(n.kr=1)),h||(n.kg=20,e>100&&e<=500?n.kg=10:e>500&&(n.kg=1)),n}run(t,e,n,i,a,s){const{kr:o,barnesHut:l,onTick:u}=s,c=t.getAllNodes();let h=0,d=n;const f={},g={},p={};for(let v=0;v<c.length;v+=1){const{data:y,id:m}=c[v];if(f[m]=[0,0],l){const w={id:v,rx:y.x,ry:y.y,mass:1,g:o,degree:t.getDegree(m)};p[m]=new D1(w)}}for(;d>0;)h=this.oneStep(t,{iter:d,preventOverlapIters:50,krPrime:100,sg:h,forces:f,preForces:g,bodies:p,sizes:i},s),d--,u==null||u({nodes:c,edges:e.getAllEdges()});return t}oneStep(t,e,n){const{iter:i,preventOverlapIters:a,krPrime:s,sg:o,preForces:l,bodies:u,sizes:c}=e;let{forces:h}=e;const{preventOverlap:d,barnesHut:f}=n,g=t.getAllNodes();for(let p=0;p<g.length;p+=1){const{id:v}=g[p];l[v]=[...h[v]],h[v]=[0,0]}return h=this.getAttrForces(t,i,a,c,h,n),f&&(d&&i>a||!d)?h=this.getOptRepGraForces(t,h,u,n):h=this.getRepGraForces(t,i,a,h,s,c,n),this.updatePos(t,h,l,o,n)}getAttrForces(t,e,n,i,a,s){const{preventOverlap:o,dissuadeHubs:l,mode:u,prune:c}=s,h=t.getAllEdges();for(let d=0;d<h.length;d+=1){const{source:f,target:g}=h[d],p=t.getNode(f),v=t.getNode(g),y=t.getDegree(f),m=t.getDegree(g);if(c&&(y<=1||m<=1))continue;const w=[v.data.x-p.data.x,v.data.y-p.data.y];let S=Math.hypot(w[0],w[1]);S=S<1e-4?1e-4:S,w[0]=w[0]/S,w[1]=w[1]/S,o&&e<n&&(S=S-i[f]-i[g]);let _=S,k=_;u==="linlog"&&(_=Math.log(1+S),k=_),l&&(_=S/y,k=S/m),o&&e<n&&S<=0?(_=0,k=0):o&&e<n&&S>0&&(_=S,k=S),a[f][0]+=_*w[0],a[g][0]-=k*w[0],a[f][1]+=_*w[1],a[g][1]-=k*w[1]}return a}getOptRepGraForces(t,e,n,i){const{kg:a,center:s,prune:o}=i,l=t.getAllNodes(),u=l.length;let c=9e10,h=-9e10,d=9e10,f=-9e10;for(let m=0;m<u;m+=1){const{id:w,data:S}=l[m];o&&t.getDegree(w)<=1||(n[w].setPos(S.x,S.y),S.x>=h&&(h=S.x),S.x<=c&&(c=S.x),S.y>=f&&(f=S.y),S.y<=d&&(d=S.y))}const g=Math.max(h-c,f-d),p={xmid:(h+c)/2,ymid:(f+d)/2,length:g,massCenter:s,mass:u},v=new gs(p),y=new vs(v);for(let m=0;m<u;m+=1){const{id:w}=l[m];o&&t.getDegree(w)<=1||n[w].in(v)&&y.insert(n[w])}for(let m=0;m<u;m+=1){const{id:w,data:S}=l[m],_=t.getDegree(w);if(o&&_<=1)continue;n[w].resetForce(),y.updateForce(n[w]),e[w][0]-=n[w].fx,e[w][1]-=n[w].fy;const k=[S.x-s[0],S.y-s[1]];let T=Math.hypot(k[0],k[1]);T=T<1e-4?1e-4:T,k[0]=k[0]/T,k[1]=k[1]/T;const O=a*(_+1);e[w][0]-=O*k[0],e[w][1]-=O*k[1]}return e}getRepGraForces(t,e,n,i,a,s,o){const{preventOverlap:l,kr:u,kg:c,center:h,prune:d}=o,f=t.getAllNodes(),g=f.length;for(let p=0;p<g;p+=1){const v=f[p],y=t.getDegree(v.id);for(let _=p+1;_<g;_+=1){const k=f[_],T=t.getDegree(k.id);if(d&&(y<=1||T<=1))continue;const O=[k.data.x-v.data.x,k.data.y-v.data.y];let P=Math.hypot(O[0],O[1]);P=P<1e-4?1e-4:P,O[0]=O[0]/P,O[1]=O[1]/P,l&&e<n&&(P=P-s[v.id]-s[k.id]);let N=u*(y+1)*(T+1)/P;l&&e<n&&P<0?N=a*(y+1)*(T+1):l&&e<n&&P===0?N=0:l&&e<n&&P>0&&(N=u*(y+1)*(T+1)/P),i[v.id][0]-=N*O[0],i[k.id][0]+=N*O[0],i[v.id][1]-=N*O[1],i[k.id][1]+=N*O[1]}const m=[v.data.x-h[0],v.data.y-h[1]],w=Math.hypot(m[0],m[1]);m[0]=m[0]/w,m[1]=m[1]/w;const S=c*(y+1);i[v.id][0]-=S*m[0],i[v.id][1]-=S*m[1]}return i}updatePos(t,e,n,i,a){const{ks:s,tao:o,prune:l,ksmax:u}=a,c=t.getAllNodes(),h=c.length,d=[],f=[];let g=0,p=0,v=i;for(let m=0;m<h;m+=1){const{id:w}=c[m],S=t.getDegree(w);if(l&&S<=1)continue;const _=[e[w][0]-n[w][0],e[w][1]-n[w][1]],k=Math.hypot(_[0],_[1]),T=[e[w][0]+n[w][0],e[w][1]+n[w][1]],O=Math.hypot(T[0],T[1]);d[m]=k,f[m]=O/2,g+=(S+1)*d[m],p+=(S+1)*f[m]}const y=v;v=o*p/g,y!==0&&(v=v>1.5*y?1.5*y:v);for(let m=0;m<h;m+=1){const{id:w,data:S}=c[m],_=t.getDegree(w);if(l&&_<=1||Et(S.fx)&&Et(S.fy))continue;let k=s*v/(1+v*Math.sqrt(d[m])),T=Math.hypot(e[w][0],e[w][1]);T=T<1e-4?1e-4:T;const O=u/T;k=k>O?O:k;const P=k*e[w][0],N=k*e[w][1];t.mergeNodeData(w,{x:S.x+P,y:S.y+N})}return v}}const tW={maxIteration:1e3,gravity:10,speed:5,clustering:!1,clusterGravity:10,width:300,height:300,nodeClusterBy:"cluster"},eW=800;class nW{constructor(t={}){this.options=t,this.id="fruchterman",this.timeInterval=0,this.running=!1,this.options=Object.assign(Object.assign({},tW),t)}execute(t,e){return Ut(this,void 0,void 0,function*(){return this.genericFruchtermanLayout(!1,t,e)})}assign(t,e){return Ut(this,void 0,void 0,function*(){yield this.genericFruchtermanLayout(!0,t,e)})}stop(){this.timeInterval&&typeof window<"u"&&window.clearInterval(this.timeInterval),this.running=!1}tick(t=this.options.maxIteration||1){if(this.lastResult)return this.lastResult;for(let n=0;n<t;n++)this.runOneStep(this.lastGraph,this.lastClusterMap,this.lastOptions);const e={nodes:this.lastLayoutNodes,edges:this.lastLayoutEdges};return this.lastAssign&&e.nodes.forEach(n=>this.lastGraph.mergeNodeData(n.id,{x:n.data.x,y:n.data.y,z:this.options.dimensions===3?n.data.z:void 0})),e}genericFruchtermanLayout(t,e,n){return Ut(this,void 0,void 0,function*(){if(this.running)return;const i=this.formatOptions(n),{dimensions:a,width:s,height:o,center:l,clustering:u,nodeClusterBy:c,maxIteration:h,onTick:d}=i,f=e.getAllNodes(),g=e.getAllEdges();if(!(f!=null&&f.length)){const w={nodes:[],edges:g};return this.lastResult=w,w}if(f.length===1){t&&e.mergeNodeData(f[0].id,{x:l[0],y:l[1],z:a===3?l[2]:void 0});const w={nodes:[Object.assign(Object.assign({},f[0]),{data:Object.assign(Object.assign({},f[0].data),{x:l[0],y:l[1],z:a===3?l[2]:void 0})})],edges:g};return this.lastResult=w,w}const p=f.map(w=>ir(w,[s,o])),v=new ln({nodes:p,edges:g}),y={};if(u&&p.forEach(w=>{const S=w.data[c];y[S]||(y[S]={name:S,cx:0,cy:0,count:0})}),this.lastLayoutNodes=p,this.lastLayoutEdges=g,this.lastAssign=t,this.lastGraph=v,this.lastOptions=i,this.lastClusterMap=y,typeof window>"u")return;let m=0;return new Promise(w=>{this.timeInterval=window.setInterval(()=>{if(!this.running){w({nodes:p,edges:g});return}this.runOneStep(v,y,i),t&&p.forEach(({id:S,data:_})=>e.mergeNodeData(S,{x:_.x,y:_.y,z:a===3?_.z:void 0})),d==null||d({nodes:p,edges:g}),m++,m>=h&&(window.clearInterval(this.timeInterval),w({nodes:p,edges:g}))},0),this.running=!0})})}formatOptions(t={}){const e=Object.assign(Object.assign({},this.options),t),{clustering:n,nodeClusterBy:i}=e,{center:a,width:s,height:o}=e;return e.width=!s&&typeof window<"u"?window.innerWidth:s,e.height=!o&&typeof window<"u"?window.innerHeight:o,e.center=a||[e.width/2,e.height/2],e.clustering=n&&!!i,e}runOneStep(t,e,n){const{dimensions:i,height:a,width:s,gravity:o,center:l,speed:u,clustering:c,nodeClusterBy:h,clusterGravity:d}=n,f=a*s,g=Math.sqrt(f)/10,p=t.getAllNodes(),v=f/(p.length+1),y=Math.sqrt(v),m={};if(this.applyCalculate(t,m,y,v),c){for(const S in e)e[S].cx=0,e[S].cy=0,e[S].count=0;p.forEach(S=>{const{data:_}=S,k=e[_[h]];Et(_.x)&&(k.cx+=_.x),Et(_.y)&&(k.cy+=_.y),k.count++});for(const S in e)e[S].cx/=e[S].count,e[S].cy/=e[S].count;const w=d||o;p.forEach((S,_)=>{const{id:k,data:T}=S;if(!Et(T.x)||!Et(T.y))return;const O=e[T[h]],P=Math.sqrt((T.x-O.cx)*(T.x-O.cx)+(T.y-O.cy)*(T.y-O.cy)),N=y*w;m[k].x-=N*(T.x-O.cx)/P,m[k].y-=N*(T.y-O.cy)/P})}p.forEach((w,S)=>{const{id:_,data:k}=w;if(!Et(k.x)||!Et(k.y))return;const T=.01*y*o;m[_].x-=T*(k.x-l[0]),m[_].y-=T*(k.y-l[1]),i===3&&(m[_].z-=T*(k.z-l[2]))}),p.forEach((w,S)=>{const{id:_,data:k}=w;if(Et(k.fx)&&Et(k.fy)){k.x=k.fx,k.y=k.fy,i===3&&(k.z=k.fz);return}if(!Et(k.x)||!Et(k.y))return;const T=Math.sqrt(m[_].x*m[_].x+m[_].y*m[_].y+(i===3?m[_].z*m[_].z:0));if(T>0){const O=Math.min(g*(u/eW),T);t.mergeNodeData(_,{x:k.x+m[_].x/T*O,y:k.y+m[_].y/T*O,z:i===3?k.z+m[_].z/T*O:void 0})}})}applyCalculate(t,e,n,i){this.calRepulsive(t,e,i),this.calAttractive(t,e,n)}calRepulsive(t,e,n){const i=t.getAllNodes();i.forEach(({data:a,id:s},o)=>{e[s]={x:0,y:0,z:0},i.forEach(({data:l,id:u},c)=>{if(o<=c||!Et(a.x)||!Et(l.x)||!Et(a.y)||!Et(l.y))return;let h=a.x-l.x,d=a.y-l.y,f=this.options.dimensions===3?a.z-l.z:0,g=h*h+d*d+f*f;g===0&&(g=1,h=.01,d=.01,f=.01);const p=n/g,v=h*p,y=d*p,m=f*p;e[s].x+=v,e[s].y+=y,e[u].x-=v,e[u].y-=y,this.options.dimensions===3&&(e[s].z+=m,e[u].z-=m)})})}calAttractive(t,e,n){t.getAllEdges().forEach(a=>{const{source:s,target:o}=a;if(!s||!o||s===o)return;const{data:l}=t.getNode(s),{data:u}=t.getNode(o);if(!Et(u.x)||!Et(l.x)||!Et(u.y)||!Et(l.y))return;const c=u.x-l.x,h=u.y-l.y,d=this.options.dimensions===3?u.z-l.z:0,f=Math.sqrt(c*c+h*h+d*d)/n,g=c*f,p=h*f,v=d*f;e[s].x+=g,e[s].y+=p,e[o].x-=g,e[o].y-=p,this.options.dimensions===3&&(e[s].z+=v,e[o].z-=v)})}}const rW={begin:[0,0],preventOverlap:!0,preventOverlapPadding:10,condense:!1,rows:void 0,cols:void 0,position:void 0,sortBy:"degree",nodeSize:30,width:300,height:300};class iW{constructor(t={}){this.options=t,this.id="grid",this.options=Object.assign(Object.assign({},rW),t)}execute(t,e){return Ut(this,void 0,void 0,function*(){return this.genericGridLayout(!1,t,e)})}assign(t,e){return Ut(this,void 0,void 0,function*(){yield this.genericGridLayout(!0,t,e)})}genericGridLayout(t,e,n){return Ut(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{begin:a=[0,0],condense:s,preventOverlapPadding:o,preventOverlap:l,rows:u,cols:c,nodeSpacing:h,nodeSize:d,width:f,height:g,position:p}=i;let{sortBy:v}=i;const y=e.getAllNodes(),m=e.getAllEdges(),w=y==null?void 0:y.length;if(!w||w===1)return Va(e,t,a);const S=y.map(V=>ir(V));v!=="id"&&(!ne(v)||S[0].data[v]===void 0)&&(v="degree"),v==="degree"?S.sort((V,U)=>e.getDegree(U.id,"both")-e.getDegree(V.id,"both")):v==="id"?S.sort((V,U)=>Et(U.id)&&Et(V.id)?U.id-V.id:`${V.id}`.localeCompare(`${U.id}`)):S.sort((V,U)=>U.data[v]-V.data[v]);const _=!f&&typeof window<"u"?window.innerWidth:f,k=!g&&typeof window<"u"?window.innerHeight:g,T=w,O={rows:u,cols:c};if(u!=null&&c!=null)O.rows=u,O.cols=c;else if(u!=null&&c==null)O.rows=u,O.cols=Math.ceil(T/O.rows);else if(u==null&&c!=null)O.cols=c,O.rows=Math.ceil(T/O.cols);else{const V=Math.sqrt(T*k/_);O.rows=Math.round(V),O.cols=Math.round(_/k*V)}if(O.rows=Math.max(O.rows,1),O.cols=Math.max(O.cols,1),O.cols*O.rows>T){const V=eu(O),U=nu(O);(V-1)*U>=T?eu(O,V-1):(U-1)*V>=T&&nu(O,U-1)}else for(;O.cols*O.rows<T;){const V=eu(O),U=nu(O);(U+1)*V>=T?nu(O,U+1):eu(O,V+1)}let P=s?0:_/O.cols,N=s?0:k/O.rows;if(l||h){const V=Aa(10,h),U=v1(30,d,!1);S.forEach(q=>{(!q.data.x||!q.data.y)&&(q.data.x=0,q.data.y=0);const j=e.getNode(q.id),[Z,nt]=il(U(j)||30),st=V!==void 0?V(q):o,ot=Z+st,Pt=nt+st;P=Math.max(P,ot),N=Math.max(N,Pt)})}const C={},L={row:0,col:0},F={};for(let V=0;V<S.length;V++){const U=S[V];let q;if(p&&(q=p(e.getNode(U.id))),q&&(q.row!==void 0||q.col!==void 0)){const j={row:q.row,col:q.col};if(j.col===void 0)for(j.col=0;pm(C,j);)j.col++;else if(j.row===void 0)for(j.row=0;pm(C,j);)j.row++;F[U.id]=j,xN(C,j)}aW(U,a,P,N,F,O,L,C)}const G={nodes:S,edges:m};return t&&S.forEach(V=>{e.mergeNodeData(V.id,{x:V.data.x,y:V.data.y})}),G})}}const eu=(r,t)=>{let e;const n=r.rows||5,i=r.cols||5;return t==null?e=Math.min(n,i):Math.min(n,i)===r.rows?r.rows=t:r.cols=t,e},nu=(r,t)=>{let e;const n=r.rows||5,i=r.cols||5;return t==null?e=Math.max(n,i):Math.max(n,i)===r.rows?r.rows=t:r.cols=t,e},pm=(r,t)=>r[`c-${t.row}-${t.col}`]||!1,xN=(r,t)=>r[`c-${t.row}-${t.col}`]=!0,YM=(r,t)=>{const e=r.cols||5;t.col++,t.col>=e&&(t.col=0,t.row++)},aW=(r,t,e,n,i,a,s,o)=>{let l,u;const c=i[r.id];if(c)l=c.col*e+e/2+t[0],u=c.row*n+n/2+t[1];else{for(;pm(o,s);)YM(a,s);l=s.col*e+e/2+t[0],u=s.row*n+n/2+t[1],xN(o,s),YM(a,s)}r.data.x=l,r.data.y=u},sW=(r,t,e)=>{try{const n=Wi.mul(Wi.pow(t,2),-.5),i=n.mean("row"),a=n.mean("column"),s=n.mean();n.add(s).subRowVector(i).subColumnVector(a);const o=new gP(n),l=Wi.sqrt(o.diagonalMatrix).diagonal();return o.leftSingularVectors.toJSON().map(u=>Wi.mul([u],[l]).toJSON()[0].splice(0,r))}catch{const i=[];for(let a=0;a<t.length;a++){const s=Math.random()*e,o=Math.random()*e;i.push([s,o])}return i}},oW=800,lW={iterations:10,height:10,width:10,speed:100,gravity:10,k:5},uW=(r,t)=>{const e=Object.assign(Object.assign({},lW),t),{positions:n,iterations:i,width:a,k:s,speed:o=100,strictRadial:l,focusIdx:u,radii:c=[],nodeSizeFunc:h}=e,d=r.getAllNodes(),f=[],g=a/10;for(let p=0;p<i;p++)n.forEach((v,y)=>{f[y]={x:0,y:0}}),cW(d,n,f,s,c,h),hW(n,f,o,l,u,g,a,c);return n},cW=(r,t,e,n,i,a)=>{t.forEach((s,o)=>{e[o]={x:0,y:0},t.forEach((l,u)=>{if(o===u||i[o]!==i[u])return;let c=s.x-l.x,h=s.y-l.y,d=Math.sqrt(c*c+h*h);if(d===0){d=1;const f=o>u?1:-1;c=.01*f,h=.01*f}if(d<a(r[o])/2+a(r[u])/2){const f=n*n/d;e[o].x+=c/d*f,e[o].y+=h/d*f}})})},hW=(r,t,e,n,i,a,s,o)=>{const l=a||s/10;return n&&t.forEach((u,c)=>{const h=r[c].x-r[i].x,d=r[c].y-r[i].y,f=Math.sqrt(h*h+d*d);let g=d/f,p=-h/f;const v=Math.sqrt(u.x*u.x+u.y*u.y);let y=Math.acos((g*u.x+p*u.y)/v);y>Math.PI/2&&(y-=Math.PI/2,g*=-1,p*=-1);const m=Math.cos(y)*v;u.x=g*m,u.y=p*m}),r.forEach((u,c)=>{if(c===i)return;const h=Math.sqrt(t[c].x*t[c].x+t[c].y*t[c].y);if(h>0&&c!==i){const d=Math.min(l*(e/oW),h);if(u.x+=t[c].x/h*d,u.y+=t[c].y/h*d,n){let f=u.x-r[i].x,g=u.y-r[i].y;const p=Math.sqrt(f*f+g*g);f=f/p*o[c],g=g/p*o[c],u.x=r[i].x+f,u.y=r[i].y+g}}}),r},dW={maxIteration:1e3,focusNode:null,unitRadius:null,linkDistance:50,preventOverlap:!1,strictRadial:!0,maxPreventOverlapIteration:200,sortStrength:10};class fW{constructor(t={}){this.options=t,this.id="radial",this.options=Object.assign(Object.assign({},dW),t)}execute(t,e){return Ut(this,void 0,void 0,function*(){return this.genericRadialLayout(!1,t,e)})}assign(t,e){return Ut(this,void 0,void 0,function*(){yield this.genericRadialLayout(!0,t,e)})}genericRadialLayout(t,e,n){return Ut(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{width:a,height:s,center:o,focusNode:l,unitRadius:u,nodeSize:c,nodeSpacing:h,strictRadial:d,preventOverlap:f,maxPreventOverlapIteration:g,sortBy:p,linkDistance:v=50,sortStrength:y=10,maxIteration:m=1e3}=i,w=e.getAllNodes(),S=e.getAllEdges(),_=!a&&typeof window<"u"?window.innerWidth:a,k=!s&&typeof window<"u"?window.innerHeight:s,T=o||[_/2,k/2];if(!(w!=null&&w.length)||w.length===1)return Va(e,t,T);let O=w[0];if(ne(l)){for(let ct=0;ct<w.length;ct++)if(w[ct].id===l){O=w[ct];break}}else O=l||w[0];const P=pW(w,O.id),N=uP({nodes:w,edges:S}),C=lP(N),L=mW(C,P);yW(C,P,L+1);const F=C[P];let G=_-T[0]>T[0]?T[0]:_-T[0],V=k-T[1]>T[1]?T[1]:k-T[1];G===0&&(G=_/2),V===0&&(V=k/2);const U=Math.min(G,V),q=Math.max(...F),j=[],Z=u||U/q;F.forEach((ct,xt)=>{j[xt]=ct*Z});const nt=gW(w,C,v,j,Z,p,y),st=vW(nt),ot=sW(v,nt,v);let Pt=ot.map(([ct,xt])=>({x:(isNaN(ct)?Math.random()*v:ct)-ot[P][0],y:(isNaN(xt)?Math.random()*v:xt)-ot[P][1]}));this.run(m,Pt,st,nt,j,P);let K;if(f){K=p1(c,h);const ct={nodes:w,nodeSizeFunc:K,positions:Pt,radii:j,height:k,width:_,strictRadial:!!d,focusIdx:P,iterations:g||200,k:Pt.length/4.5};Pt=uW(e,ct)}const W=[];return Pt.forEach((ct,xt)=>{const Nt=ir(w[xt]);Nt.data.x=ct.x+T[0],Nt.data.y=ct.y+T[1],W.push(Nt)}),t&&W.forEach(ct=>e.mergeNodeData(ct.id,{x:ct.data.x,y:ct.data.y})),{nodes:W,edges:S}})}run(t,e,n,i,a,s){for(let o=0;o<=t;o++){const l=o/t;this.oneIteration(l,e,a,i,n,s)}}oneIteration(t,e,n,i,a,s){const o=1-t;e.forEach((l,u)=>{const c=fx(l,{x:0,y:0}),h=c===0?0:1/c;if(u===s)return;let d=0,f=0,g=0;e.forEach((v,y)=>{if(u===y)return;const m=fx(l,v),w=m===0?0:1/m,S=i[y][u];g+=a[u][y],d+=a[u][y]*(v.x+S*(l.x-v.x)*w),f+=a[u][y]*(v.y+S*(l.y-v.y)*w)});const p=n[u]===0?0:1/n[u];g*=o,g+=t*p*p,d*=o,d+=t*p*l.x*h,l.x=d/g,f*=o,f+=t*p*l.y*h,l.y=f/g})}}const gW=(r,t,e,n,i,a,s)=>{if(!r)return[];const o=[];if(t){const l={};t.forEach((u,c)=>{const h=[];u.forEach((d,f)=>{var g,p;if(c===f)h.push(0);else if(n[c]===n[f])if(a==="data")h.push(d*(Math.abs(c-f)*s)/(n[c]/i));else if(a){let v,y;if(l[r[c].id])v=l[r[c].id];else{const m=(a==="id"?r[c].id:(g=r[c].data)===null||g===void 0?void 0:g[a])||0;ne(m)?v=m.charCodeAt(0):v=m,l[r[c].id]=v}if(l[r[f].id])y=l[r[f].id];else{const m=(a==="id"?r[f].id:(p=r[f].data)===null||p===void 0?void 0:p[a])||0;ne(m)?y=m.charCodeAt(0):y=m,l[r[f].id]=y}h.push(d*(Math.abs(v-y)*s)/(n[c]/i))}else h.push(d*e/(n[c]/i));else{const v=(e+i)/2;h.push(d*v)}}),o.push(h)})}return o},vW=r=>{const t=r.length,e=r[0].length,n=[];for(let i=0;i<t;i++){const a=[];for(let s=0;s<e;s++)r[i][s]!==0?a.push(1/(r[i][s]*r[i][s])):a.push(0);n.push(a)}return n},pW=(r,t)=>{let e=-1;return r.forEach((n,i)=>{n.id===t&&(e=i)}),Math.max(e,0)},yW=(r,t,e)=>{const n=r.length;for(let i=0;i<n;i++)if(r[t][i]===1/0){r[t][i]=e,r[i][t]=e;for(let a=0;a<n;a++)r[i][a]!==1/0&&r[t][a]===1/0&&(r[t][a]=e+r[i][a],r[a][t]=e+r[i][a])}for(let i=0;i<n;i++)if(i!==t){for(let a=0;a<n;a++)if(r[i][a]===1/0){let s=Math.abs(r[t][i]-r[t][a]);s=s===0?1:s,r[i][a]=s}}},mW=(r,t)=>{let e=0;for(let n=0;n<r[t].length;n++)r[t][n]!==1/0&&(e=r[t][n]>e?r[t][n]:e);return e},bW={center:[0,0],width:300,height:300};class wW{constructor(t={}){this.options=t,this.id="random",this.options=Object.assign(Object.assign({},bW),t)}execute(t,e){return Ut(this,void 0,void 0,function*(){return this.genericRandomLayout(!1,t,e)})}assign(t,e){return Ut(this,void 0,void 0,function*(){yield this.genericRandomLayout(!0,t,e)})}genericRandomLayout(t,e,n){return Ut(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{center:a,width:s,height:o}=i,l=e.getAllNodes(),u=.9,c=!s&&typeof window<"u"?window.innerWidth:s,h=!o&&typeof window<"u"?window.innerHeight:o,d=a||[c/2,h/2],f=[];return l&&l.forEach(p=>{f.push({id:p.id,data:{x:(Math.random()-.5)*u*c+d[0],y:(Math.random()-.5)*u*h+d[1]}})}),t&&f.forEach(p=>e.mergeNodeData(p.id,{x:p.data.x,y:p.data.y})),{nodes:f,edges:e.getAllEdges()}})}}const EN=Symbol("Comlink.proxy"),xW=Symbol("Comlink.endpoint"),SN=Symbol("Comlink.releaseProxy"),iy=Symbol("Comlink.finalizer"),bu=Symbol("Comlink.thrown"),_N=r=>typeof r=="object"&&r!==null||typeof r=="function",EW={canHandle:r=>_N(r)&&r[EN],serialize(r){const{port1:t,port2:e}=new MessageChannel;return kN(r,t),[e,[e]]},deserialize(r){return r.start(),TN(r)}},SW={canHandle:r=>_N(r)&&bu in r,serialize({value:r}){let t;return r instanceof Error?t={isError:!0,value:{message:r.message,name:r.name,stack:r.stack}}:t={isError:!1,value:r},[t,[]]},deserialize(r){throw r.isError?Object.assign(new Error(r.value.message),r.value):r.value}},MN=new Map([["proxy",EW],["throw",SW]]);function _W(r,t){for(const e of r)if(t===e||e==="*"||e instanceof RegExp&&e.test(t))return!0;return!1}function kN(r,t=globalThis,e=["*"]){t.addEventListener("message",function n(i){if(!i||!i.data)return;if(!_W(e,i.origin)){console.warn(`Invalid origin '${i.origin}' for comlink proxy`);return}const{id:a,type:s,path:o}=Object.assign({path:[]},i.data),l=(i.data.argumentList||[]).map(ba);let u;try{const c=o.slice(0,-1).reduce((d,f)=>d[f],r),h=o.reduce((d,f)=>d[f],r);switch(s){case"GET":u=h;break;case"SET":c[o.slice(-1)[0]]=ba(i.data.value),u=!0;break;case"APPLY":u=h.apply(c,l);break;case"CONSTRUCT":{const d=new h(...l);u=PW(d)}break;case"ENDPOINT":{const{port1:d,port2:f}=new MessageChannel;kN(r,f),u=AW(d,[d])}break;case"RELEASE":u=void 0;break;default:return}}catch(c){u={value:c,[bu]:0}}Promise.resolve(u).catch(c=>({value:c,[bu]:0})).then(c=>{const[h,d]=ec(c);t.postMessage(Object.assign(Object.assign({},h),{id:a}),d),s==="RELEASE"&&(t.removeEventListener("message",n),ON(t),iy in r&&typeof r[iy]=="function"&&r[iy]())}).catch(c=>{const[h,d]=ec({value:new TypeError("Unserializable return value"),[bu]:0});t.postMessage(Object.assign(Object.assign({},h),{id:a}),d)})}),t.start&&t.start()}function MW(r){return r.constructor.name==="MessagePort"}function ON(r){MW(r)&&r.close()}function TN(r,t){const e=new Map;return r.addEventListener("message",function(i){const{data:a}=i;if(!a||!a.id)return;const s=e.get(a.id);if(s)try{s(a)}finally{e.delete(a.id)}}),ym(r,e,[],t)}function ru(r){if(r)throw new Error("Proxy has been released and is not useable")}function AN(r){return hs(r,new Map,{type:"RELEASE"}).then(()=>{ON(r)})}const Qu=new WeakMap,tc="FinalizationRegistry"in globalThis&&new FinalizationRegistry(r=>{const t=(Qu.get(r)||0)-1;Qu.set(r,t),t===0&&AN(r)});function kW(r,t){const e=(Qu.get(t)||0)+1;Qu.set(t,e),tc&&tc.register(r,t,r)}function OW(r){tc&&tc.unregister(r)}function ym(r,t,e=[],n=function(){}){let i=!1;const a=new Proxy(n,{get(s,o){if(ru(i),o===SN)return()=>{OW(a),AN(r),t.clear(),i=!0};if(o==="then"){if(e.length===0)return{then:()=>a};const l=hs(r,t,{type:"GET",path:e.map(u=>u.toString())}).then(ba);return l.then.bind(l)}return ym(r,t,[...e,o])},set(s,o,l){ru(i);const[u,c]=ec(l);return hs(r,t,{type:"SET",path:[...e,o].map(h=>h.toString()),value:u},c).then(ba)},apply(s,o,l){ru(i);const u=e[e.length-1];if(u===xW)return hs(r,t,{type:"ENDPOINT"}).then(ba);if(u==="bind")return ym(r,t,e.slice(0,-1));const[c,h]=HM(l);return hs(r,t,{type:"APPLY",path:e.map(d=>d.toString()),argumentList:c},h).then(ba)},construct(s,o){ru(i);const[l,u]=HM(o);return hs(r,t,{type:"CONSTRUCT",path:e.map(c=>c.toString()),argumentList:l},u).then(ba)}});return kW(a,r),a}function TW(r){return Array.prototype.concat.apply([],r)}function HM(r){const t=r.map(ec);return[t.map(e=>e[0]),TW(t.map(e=>e[1]))]}const PN=new WeakMap;function AW(r,t){return PN.set(r,t),r}function PW(r){return Object.assign(r,{[EN]:!0})}function ec(r){for(const[t,e]of MN)if(e.canHandle(r)){const[n,i]=e.serialize(r);return[{type:"HANDLER",name:t,value:n},i]}return[{type:"RAW",value:r},PN.get(r)||[]]}function ba(r){switch(r.type){case"HANDLER":return MN.get(r.name).deserialize(r.value);case"RAW":return r.value}}function hs(r,t,e,n){return new Promise(i=>{const a=NW();t.set(a,i),r.start&&r.start(),r.postMessage(Object.assign({id:a},e),n)})}function NW(){return new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join("-")}class CW extends Pc{constructor(t,e,n){super(),this.graph=t,this.layout=e,this.options=n,this.spawnWorker()}spawnWorker(){this.proxy=TN(new Worker(new URL("https://registry.npmmirror.com/@gkd-kit/inspect/0.0.1752723549987/files/dist/assets/worker-DFsORLo-.js",import.meta.url),{type:"module"})),this.running&&(this.running=!1,this.execute())}execute(){var t;return Ut(this,void 0,void 0,function*(){if(this.running)return this;this.running=!0;const e=this.layout.options,{onTick:n}=e,i=ze(e,["onTick"]),a={};Object.keys(i).forEach(u=>{kt(i[u])||(a[u]=i[u])});const s={layout:{id:this.layout.id,options:a,iterations:(t=this.options)===null||t===void 0?void 0:t.iterations},nodes:this.graph.getAllNodes(),edges:this.graph.getAllEdges()},o=new Float32Array([0]),[l]=yield this.proxy.calculateLayout(s,[o]);return l})}stop(){return this.running=!1,this.proxy.stopLayout(),this}kill(){this.proxy[SN]()}isRunning(){return this.running}}var RW=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(s){s(a)})}return new(e||(e=Promise))(function(a,s){function o(c){try{u(n.next(c))}catch(h){s(h)}}function l(c){try{u(n.throw(c))}catch(h){s(h)}}function u(c){c.done?a(c.value):i(c.value).then(o,l)}u((n=n.apply(r,t||[])).next())})};class sh extends Nc{constructor(){super(...arguments),this.id="fishbone"}getRoot(){const t=this.context.model.getRootsData();if(!(Xr(t)||t.length>2))return t[0]}formatSize(t){const e=typeof t=="function"?t:()=>t;return n=>sr(e(n))}doLayout(t,e){const{hGap:n,getRibSep:i,vGap:a,nodeSize:s,height:o}=e,{model:l}=this.context,u=this.formatSize(s);let c=u(t)[0]+i(t);const h=(w,S=0)=>{var _;return S+=n*((w.children||[]).length+1),(_=w.children)===null||_===void 0||_.forEach(k=>{var T;(T=l.getNodeLikeDatum(k).children)===null||T===void 0||T.forEach(P=>{const N=l.getNodeLikeDatum(P);S=h(N,S)})}),S},d=w=>{if(w.depth===1)return c;const S=l.getParentData(w.id,"tree");if(is(w)){const _=l.getParentData(S.id,"tree"),k=p(w)-p(_);return d(S)+k*n/a}else{const _=(S.children||[]).indexOf(w.id),k=l.getNodeData((S.children||[]).slice(_));return f(S)-k.reduce((T,O)=>T+h(O),0)-u(S)[0]/2}},f=Ay(w=>{if(ay(w))return u(w)[0]/2;const S=l.getParentData(w.id,"tree");if(is(w))return d(w)+h(w)+u(w)[0]/2;{const _=p(w)-p(S),k=n/a;return d(w)+_*k}},w=>w.id),g=w=>p(l.getParentData(w,"tree")),p=Ay(w=>{if(ay(w))return o/2;if(is(w)){const S=l.getParentData(w.id,"tree"),_=S.children.indexOf(w.id);if(_===0)return g(S.id)+a;const k=l.getNodeLikeDatum(S.children[_-1]);if(Xr(k.children))return p(k)+a;const T=l.getDescendantsData(k.id);return Math.max(...T.map(O=>is(O)?g(O.id):p(O)))+a}else{if(Xr(w.children))return g(w.id)+a;const S=l.getNodeLikeDatum(w.children.slice(-1)[0]);if(Xr(S.children))return p(S)+a;const _=l.getDescendantsData(w.id).slice(-1)[0];return(is(_)?g(_.id):p(_))+a}},w=>w.id);let v=0;const y={nodes:[],edges:[]},m=w=>{var S;(S=w.children)===null||S===void 0||S.forEach(P=>m(l.getNodeLikeDatum(P)));const _=p(w),k=f(w);if(y.nodes.push({id:w.id,x:k,y:_}),ay(w))return;const T=l.getRelatedEdgesData(w.id,"in")[0],O=[d(w),is(w)?_:g(w.id)];y.edges.push({id:J(T),controlPoints:[O],relatedNodeId:w.id}),v=Math.max(v,k+i(w)),w.depth===1&&(c=v)};return m(t),y}placeAlterative(t,e){const n=(e.children||[]).filter((o,l)=>l%2!==0);if(n.length===0)return t;const{model:i}=this.context,a=t.nodes.find(o=>o.id===e.id).y,s=o=>{const l=i.getAncestorsData(o,"tree");if(Xr(l))return!1;const u=l.length===1?o:l[l.length-2].id;return n.includes(u)};t.nodes.forEach(o=>{s(o.id)&&(o.y=2*a-o.y)}),t.edges.forEach(o=>{s(o.relatedNodeId)&&(o.controlPoints=o.controlPoints.map(l=>[l[0],2*a-l[1]]))})}rightToLeft(t,e){return t.nodes.forEach(n=>n.x=e.width-n.x),t.edges.forEach(n=>{n.controlPoints=n.controlPoints.map(i=>[e.width-i[0],i[1]])}),t}execute(t,e){return RW(this,void 0,void 0,function*(){const n=Object.assign(Object.assign(Object.assign({},sh.defaultOptions),this.options),e),{direction:i,nodeSize:a}=n,s=this.getRoot();if(!s)return t;const o=this.formatSize(a);n.vGap||(n.vGap=Math.max(...(t.nodes||[]).map(d=>o(d)[1]))),n.hGap||(n.hGap=Math.max(...(t.nodes||[]).map(d=>o(d)[0])));let l=this.doLayout(s,n);this.placeAlterative(l,s),i==="RL"&&(l=this.rightToLeft(l,n));const{model:u}=this.context,c=[],h=[];return l.nodes.forEach(d=>{const{id:f,x:g,y:p}=d,v=u.getNodeLikeDatum(f);c.push(XM(v,{x:g,y:p}))}),l.edges.forEach(d=>{const{id:f,controlPoints:g}=d,p=u.getEdgeDatum(f);h.push(XM(p,{controlPoints:g}))}),{nodes:c,edges:h}})}}sh.defaultOptions={direction:"RL",getRibSep:()=>60};const XM=(r,t)=>Object.assign(Object.assign({},r),{style:Object.assign(Object.assign({},r.style||{}),t)}),ay=r=>r.depth===0,is=r=>(r.depth||(r.depth=0))%2===0;var LW=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(s){s(a)})}return new(e||(e=Promise))(function(a,s){function o(c){try{u(n.next(c))}catch(h){s(h)}}function l(c){try{u(n.throw(c))}catch(h){s(h)}}function u(c){c.done?a(c.value):i(c.value).then(o,l)}u((n=n.apply(r,t||[])).next())})};class oh extends Nc{constructor(){super(...arguments),this.id="snake"}formatSize(t,e){const n=typeof e=="function"?e:()=>e;return t.reduce((i,a)=>{const[s,o]=sr(n(a))||[0,0];return[Math.max(i[0],s),Math.max(i[1],o)]},[0,0])}validate(t){const{nodes:e=[],edges:n=[]}=t,i={},a={},s={};e.forEach(d=>{i[d.id]=0,a[d.id]=0,s[d.id]=[]}),n.forEach(d=>{i[d.target]++,a[d.source]++,s[d.source].push(d.target)});const o=new Set,l=d=>{o.has(d)||(o.add(d),s[d].forEach(l))};if(l(e[0].id),o.size!==e.length)return!1;const u=e.filter(d=>i[d.id]===0),c=e.filter(d=>a[d.id]===0);return!(u.length!==1||c.length!==1||e.filter(d=>i[d.id]===1&&a[d.id]===1).length!==e.length-2)}execute(t,e){return LW(this,void 0,void 0,function*(){var n;if(!this.validate(t))return t;const{nodeSize:i,padding:a,sortBy:s,cols:o,colGap:l,rowGap:u,clockwise:c,width:h,height:d}=Object.assign({},oh.defaultOptions,this.options,e),[f,g,p,v]=ai(a),y=this.formatSize(t.nodes||[],i),m=Math.ceil((t.nodes||[]).length/o);let w=l||(h-v-g-o*y[0])/(o-1),S=u||(d-f-p-m*y[1])/(m-1);return(S===1/0||S<0)&&(S=0),(w===1/0||w<0)&&(w=0),{nodes:((s?(n=t.nodes)===null||n===void 0?void 0:n.sort(s):IW(t))||[]).map((T,O)=>{const P=Math.floor(O/o),N=O%o,C=c?P%2===0?N:o-1-N:P%2===0?o-1-N:N,L=v+C*(y[0]+w)+y[0]/2,F=f+P*(y[1]+S)+y[1]/2;return{id:T.id,style:{x:L,y:F}}})}})}}oh.defaultOptions={padding:0,cols:5,clockwise:!0};function IW(r){const{nodes:t=[],edges:e=[]}=r,n={},i={};t.forEach(o=>{n[o.id]=0,i[o.id]=[]}),e.forEach(o=>{n[o.target]++,i[o.source].push(o.target)});const a=[],s=[];for(t.forEach(o=>{n[o.id]===0&&a.push(o.id)});a.length>0;){const o=a.shift(),l=t.find(u=>u.id===o);s.push(l),i[o].forEach(u=>{n[u]--,n[u]===0&&a.push(u)})}return s}const DW=["rgb(158, 1, 66)","rgb(213, 62, 79)","rgb(244, 109, 67)","rgb(253, 174, 97)","rgb(254, 224, 139)","rgb(255, 255, 191)","rgb(230, 245, 152)","rgb(171, 221, 164)","rgb(102, 194, 165)","rgb(50, 136, 189)","rgb(94, 79, 162)"],FW=["rgb(78, 121, 167)","rgb(242, 142, 44)","rgb(225, 87, 89)","rgb(118, 183, 178)","rgb(89, 161, 79)","rgb(237, 201, 73)","rgb(175, 122, 161)","rgb(255, 157, 167)","rgb(156, 117, 95)","rgb(186, 176, 171)"],BW=["rgb(255, 245, 235)","rgb(254, 230, 206)","rgb(253, 208, 162)","rgb(253, 174, 107)","rgb(253, 141, 60)","rgb(241, 105, 19)","rgb(217, 72, 1)","rgb(166, 54, 3)","rgb(127, 39, 4)"],zW=["rgb(247, 252, 245)","rgb(229, 245, 224)","rgb(199, 233, 192)","rgb(161, 217, 155)","rgb(116, 196, 118)","rgb(65, 171, 93)","rgb(35, 139, 69)","rgb(0, 109, 44)","rgb(0, 68, 27)"],jW=["rgb(247, 251, 255)","rgb(222, 235, 247)","rgb(198, 219, 239)","rgb(158, 202, 225)","rgb(107, 174, 214)","rgb(66, 146, 198)","rgb(33, 113, 181)","rgb(8, 81, 156)","rgb(8, 48, 107)"];class _n extends t1{}function qs(r,t=!0,e){const n=document.createElement("div");return n.setAttribute("class",`g6-${r}`),Object.assign(n.style,{position:"absolute",display:"block"}),t&&Object.assign(n.style,{position:"unset",gridArea:"1 / 1 / 2 / 2",inset:"0px",height:"100%",width:"100%",overflow:"hidden",pointerEvents:"none"}),e&&Object.assign(n.style,e),n}function mm(r,t="div",e={},n="",i=document.body){const a=document.getElementById(r);a&&a.remove();const s=document.createElement(t);return s.innerHTML=n,s.id=r,Object.assign(s.style,e),i.appendChild(s),s}var qW=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(s){s(a)})}return new(e||(e=Promise))(function(a,s){function o(c){try{u(n.next(c))}catch(h){s(h)}}function l(c){try{u(n.throw(c))}catch(h){s(h)}}function u(c){c.done?a(c.value):i(c.value).then(o,l)}u((n=n.apply(r,t||[])).next())})};class lh extends _n{constructor(t,e){super(t,Object.assign({},lh.defaultOptions,e)),this.$element=qs("background"),this.context.canvas.getContainer().prepend(this.$element),this.update(e)}update(t){const e=Object.create(null,{update:{get:()=>super.update}});return qW(this,void 0,void 0,function*(){e.update.call(this,t),Object.assign(this.$element.style,Dm(this.options,["key","type"]))})}destroy(){super.destroy(),this.$element.remove()}}lh.defaultOptions={transition:"background 0.5s",backgroundSize:"cover",zIndex:"-1"};function F1(r,t,e,n,i,a){const s=r,o=t,l=e-s,u=n-o;let c=i-s,h=a-o,d=c*l+h*u,f=0;d<=0?f=0:(c=l-c,h=u-h,d=c*l+h*u,d<=0?f=0:f=d*d/(l*l+u*u));const g=c*c+h*h-f;return g<0?0:g}function Ui(r,t,e,n){return(r-e)*(r-e)+(t-n)*(t-n)}function KM(r,t,e,n,i){return Ui(r,t,e,n)<i*i}function $W(r){if(!Number.isFinite(r))return e=>e;if(r===0)return Math.round;const t=Math.pow(10,r);return e=>Math.round(e*t)/t}function NN(r){const t=Math.min(r.x1,r.x2),e=Math.max(r.x1,r.x2),n=Math.min(r.y1,r.y2),i=Math.max(r.y1,r.y2);return{x:t,y:n,x2:e,y2:i,width:e-t,height:i-n}}class dn{constructor(t,e,n,i){this.x1=t,this.y1=e,this.x2=n,this.y2=i}equals(t){return this.x1===t.x1&&this.y1===t.y1&&this.x2===t.x2&&this.y2===t.y2}draw(t){t.moveTo(this.x1,this.y1),t.lineTo(this.x2,this.y2)}toString(){return`Line(from=(${this.x1},${this.y1}),to=(${this.x2},${this.y2}))`}static from(t){return new dn(t.x1,t.y1,t.x2,t.y2)}cuts(t,e){if(this.y1===this.y2||e<this.y1&&e<=this.y2||e>this.y1&&e>=this.y2||t>this.x1&&t>=this.x2)return!1;if(t<this.x1&&t<=this.x2)return!0;const n=this.x1+(e-this.y1)*(this.x2-this.x1)/(this.y2-this.y1);return t<=n}distSquare(t,e){return F1(this.x1,this.y1,this.x2,this.y2,t,e)}ptClose(t,e,n){if(this.x1<this.x2){if(t<this.x1-n||t>this.x2+n)return!1}else if(t<this.x2-n||t>this.x1+n)return!1;if(this.y1<this.y2){if(e<this.y1-n||e>this.y2+n)return!1}else if(e<this.y2-n||e>this.y1+n)return!1;return!0}}var Fe;(function(r){r[r.POINT=1]="POINT",r[r.PARALLEL=2]="PARALLEL",r[r.COINCIDENT=3]="COINCIDENT",r[r.NONE=4]="NONE"})(Fe||(Fe={}));class sy{constructor(t,e=0,n=0){this.state=t,this.x=e,this.y=n}}function iu(r,t){const e=(t.x2-t.x1)*(r.y1-t.y1)-(t.y2-t.y1)*(r.x1-t.x1),n=(r.x2-r.x1)*(r.y1-t.y1)-(r.y2-r.y1)*(r.x1-t.x1),i=(t.y2-t.y1)*(r.x2-r.x1)-(t.x2-t.x1)*(r.y2-r.y1);if(i){const a=e/i,s=n/i;return 0<=a&&a<=1&&0<=s&&s<=1?new sy(Fe.POINT,r.x1+a*(r.x2-r.x1),r.y1+a*(r.y2-r.y1)):new sy(Fe.NONE)}return new sy(e===0||n===0?Fe.COINCIDENT:Fe.PARALLEL)}function CN(r,t){const e=(t.x2-t.x1)*(r.y1-t.y1)-(t.y2-t.y1)*(r.x1-t.x1),n=(r.x2-r.x1)*(r.y1-t.y1)-(r.y2-r.y1)*(r.x1-t.x1),i=(t.y2-t.y1)*(r.x2-r.x1)-(t.x2-t.x1)*(r.y2-r.y1);if(i){const a=e/i,s=n/i;if(0<=a&&a<=1&&0<=s&&s<=1)return a}return Number.POSITIVE_INFINITY}function GW(r,t){function e(i,a,s,o){let l=CN(t,new dn(i,a,s,o));return l=Math.abs(l-.5),l>=0&&l<=1?1:0}let n=e(r.x,r.y,r.x2,r.y);return n+=e(r.x,r.y,r.x,r.y2),n>1||(n+=e(r.x,r.y2,r.x2,r.y2),n>1)?!0:(n+=e(r.x2,r.y,r.x2,r.y2),n>0)}var Be;(function(r){r[r.LEFT=0]="LEFT",r[r.TOP=1]="TOP",r[r.RIGHT=2]="RIGHT",r[r.BOTTOM=3]="BOTTOM"})(Be||(Be={}));function wu(r,t,e){const n=new Set;return r.width<=0?(n.add(Be.LEFT),n.add(Be.RIGHT)):t<r.x?n.add(Be.LEFT):t>r.x+r.width&&n.add(Be.RIGHT),r.height<=0?(n.add(Be.TOP),n.add(Be.BOTTOM)):e<r.y?n.add(Be.TOP):e>r.y+r.height&&n.add(Be.BOTTOM),n}function RN(r,t){let e=t.x1,n=t.y1;const i=t.x2,a=t.y2,s=Array.from(wu(r,i,a));if(s.length===0)return!0;let o=wu(r,e,n);for(;o.size!==0;){for(const l of s)if(o.has(l))return!1;if(o.has(Be.RIGHT)||o.has(Be.LEFT)){let l=r.x;o.has(Be.RIGHT)&&(l+=r.width),n=n+(l-e)*(a-n)/(i-e),e=l}else{let l=r.y;o.has(Be.BOTTOM)&&(l+=r.height),e=e+(l-n)*(i-e)/(a-n),n=l}o=wu(r,e,n)}return!0}function WW(r,t){let e=Number.POSITIVE_INFINITY,n=0;function i(a,s,o,l){let u=CN(t,new dn(a,s,o,l));u=Math.abs(u-.5),u>=0&&u<=1&&(n++,u<e&&(e=u))}return i(r.x,r.y,r.x2,r.y),i(r.x,r.y,r.x,r.y2),n>1||(i(r.x,r.y2,r.x2,r.y2),n>1)?e:(i(r.x2,r.y,r.x2,r.y2),n===0?-1:e)}function VW(r,t){let e=0;const n=iu(r,new dn(t.x,t.y,t.x2,t.y));e+=n.state===Fe.POINT?1:0;const i=iu(r,new dn(t.x,t.y,t.x,t.y2));e+=i.state===Fe.POINT?1:0;const a=iu(r,new dn(t.x,t.y2,t.x2,t.y2));e+=a.state===Fe.POINT?1:0;const s=iu(r,new dn(t.x2,t.y,t.x2,t.y2));return e+=s.state===Fe.POINT?1:0,{top:n,left:i,bottom:a,right:s,count:e}}class kn{constructor(t,e,n,i){this.x=t,this.y=e,this.width=n,this.height=i}get x2(){return this.x+this.width}get y2(){return this.y+this.height}get cx(){return this.x+this.width/2}get cy(){return this.y+this.height/2}get radius(){return Math.max(this.width,this.height)/2}static from(t){return new kn(t.x,t.y,t.width,t.height)}equals(t){return this.x===t.x&&this.y===t.y&&this.width===t.width&&this.height===t.height}clone(){return new kn(this.x,this.y,this.width,this.height)}add(t){const e=Math.min(this.x,t.x),n=Math.min(this.y,t.y),i=Math.max(this.x2,t.x+t.width),a=Math.max(this.y2,t.y+t.height);this.x=e,this.y=n,this.width=i-e,this.height=a-n}addPoint(t){const e=Math.min(this.x,t.x),n=Math.min(this.y,t.y),i=Math.max(this.x2,t.x),a=Math.max(this.y2,t.y);this.x=e,this.y=n,this.width=i-e,this.height=a-n}toString(){return`Rectangle[x=${this.x}, y=${this.y}, w=${this.width}, h=${this.height}]`}draw(t){t.rect(this.x,this.y,this.width,this.height)}containsPt(t,e){return t>=this.x&&t<=this.x2&&e>=this.y&&e<=this.y2}get area(){return this.width*this.height}intersects(t){return this.area<=0||t.width<=0||t.height<=0?!1:t.x+t.width>this.x&&t.y+t.height>this.y&&t.x<this.x2&&t.y<this.y2}distSquare(t,e){if(this.containsPt(t,e))return 0;const n=wu(this,t,e);return n.has(Be.TOP)?n.has(Be.LEFT)?Ui(t,e,this.x,this.y):n.has(Be.RIGHT)?Ui(t,e,this.x2,this.y):(this.y-e)*(this.y-e):n.has(Be.BOTTOM)?n.has(Be.LEFT)?Ui(t,e,this.x,this.y2):n.has(Be.RIGHT)?Ui(t,e,this.x2,this.y2):(e-this.y2)*(e-this.y2):n.has(Be.LEFT)?(this.x-t)*(this.x-t):n.has(Be.RIGHT)?(t-this.x2)*(t-this.x2):0}}function UW(r){if(r.length===0)return null;const t=r[0],e=new kn(t.x,t.y,0,0);for(const n of r)e.addPoint(n);return e}class nc{constructor(t,e,n){this.cx=t,this.cy=e,this.radius=n}get x(){return this.cx-this.radius}get x2(){return this.cx+this.radius}get width(){return this.radius*2}get y(){return this.cy-this.radius}get y2(){return this.cy+this.radius}get height(){return this.radius*2}static from(t){return new nc(t.cx,t.cy,t.radius)}containsPt(t,e){return Ui(this.cx,this.cy,t,e)<this.radius*this.radius}distSquare(t,e){const n=Ui(this.cx,this.cy,t,e);if(n<this.radius*this.radius)return 0;const i=Math.sqrt(n)-this.radius;return i*i}draw(t){t.ellipse(this.cx,this.cy,this.radius,this.radius,0,0,Math.PI*2)}}class Pa{constructor(t,e=0,n=0,i=0,a=0,s=10,o=10,l=new Float32Array(Math.max(0,s*o)).fill(0)){this.pixelGroup=t,this.i=e,this.j=n,this.pixelX=i,this.pixelY=a,this.width=s,this.height=o,this.area=l}createSub(t,e){return new Pa(this.pixelGroup,t.x,t.y,e.x,e.y,t.width,t.height)}static fromPixelRegion(t,e){return new Pa(e,0,0,t.x,t.y,Math.ceil(t.width/e),Math.ceil(t.height/e))}copy(t,e){return new Pa(this.pixelGroup,this.scaleX(e.x),this.scaleY(e.y),e.x,e.y,t.width,t.height,t.area)}boundX(t){return t<this.i?this.i:t>=this.width?this.width-1:t}boundY(t){return t<this.j?this.j:t>=this.height?this.height-1:t}scaleX(t){return this.boundX(Math.floor((t-this.pixelX)/this.pixelGroup))}scaleY(t){return this.boundY(Math.floor((t-this.pixelY)/this.pixelGroup))}scale(t){const e=this.scaleX(t.x),n=this.scaleY(t.y),i=this.boundX(Math.ceil((t.x+t.width-this.pixelX)/this.pixelGroup)),a=this.boundY(Math.ceil((t.y+t.height-this.pixelY)/this.pixelGroup)),s=i-e,o=a-n;return new kn(e,n,s,o)}invertScaleX(t){return Math.round(t*this.pixelGroup+this.pixelX)}invertScaleY(t){return Math.round(t*this.pixelGroup+this.pixelY)}addPadding(t,e){const n=Math.ceil(e/this.pixelGroup),i=this.boundX(t.x-n),a=this.boundY(t.y-n),s=this.boundX(t.x2+n),o=this.boundY(t.y2+n),l=s-i,u=o-a;return new kn(i,a,l,u)}get(t,e){return t<0||e<0||t>=this.width||e>=this.height?Number.NaN:this.area[t+e*this.width]}inc(t,e,n){t<0||e<0||t>=this.width||e>=this.height||(this.area[t+e*this.width]+=n)}set(t,e,n){t<0||e<0||t>=this.width||e>=this.height||(this.area[t+e*this.width]=n)}incArea(t,e){if(t.width<=0||t.height<=0||e===0)return;const n=this.width,i=t.width,a=Math.max(0,t.i),s=Math.max(0,t.j),o=Math.min(t.i+t.width,n),l=Math.min(t.j+t.height,this.height);if(!(l<=0||o<=0||a>=n||l>=this.height))for(let u=s;u<l;u++){const c=(u-t.j)*i,h=u*n;for(let d=a;d<o;d++){const f=t.area[d-t.i+c];f!==0&&(this.area[d+h]+=e*f)}}}fill(t){this.area.fill(t)}fillArea(t,e){const n=t.x+t.y*this.width;for(let i=0;i<t.height;i++){const a=n+i*this.width;this.area.fill(e,a,a+t.width)}}fillHorizontalLine(t,e,n,i){const a=t+e*this.width;this.area.fill(i,a,a+n)}fillVerticalLine(t,e,n,i){const a=t+e*this.width;for(let s=0;s<n;s++)this.area[a+s*this.width]=i}clear(){this.area.fill(0)}toString(){let t="";for(let e=0;e<this.height;e++){const n=e*this.width;for(let i=0;i<this.width;i++){const a=this.area[n+i];t+=a.toFixed(1).padStart(6),t+=" "}t+=`
|
|
13
|
+
${n}`)}function o(R,x,E){return(R>=0&&E?` ${l(R,x-1)}`:l(R,x)).padEnd(x)}function l(R,x){let E=R.toString();if(E.length<=x)return E;let b=R.toFixed(x);if(b.length>x&&(b=R.toFixed(Math.max(0,x-(b.length-x)))),b.length<=x&&!b.startsWith("0.000")&&!b.startsWith("-0.000"))return b;let M=R.toExponential(x);return M.length>x&&(M=R.toExponential(Math.max(0,x-(M.length-x)))),M.slice(0)}function u(R,x){R.prototype.add=function(b){return typeof b=="number"?this.addS(b):this.addM(b)},R.prototype.addS=function(b){for(let M=0;M<this.rows;M++)for(let A=0;A<this.columns;A++)this.set(M,A,this.get(M,A)+b);return this},R.prototype.addM=function(b){if(b=x.checkMatrix(b),this.rows!==b.rows||this.columns!==b.columns)throw new RangeError("Matrices dimensions must be equal");for(let M=0;M<this.rows;M++)for(let A=0;A<this.columns;A++)this.set(M,A,this.get(M,A)+b.get(M,A));return this},R.add=function(b,M){return new x(b).add(M)},R.prototype.sub=function(b){return typeof b=="number"?this.subS(b):this.subM(b)},R.prototype.subS=function(b){for(let M=0;M<this.rows;M++)for(let A=0;A<this.columns;A++)this.set(M,A,this.get(M,A)-b);return this},R.prototype.subM=function(b){if(b=x.checkMatrix(b),this.rows!==b.rows||this.columns!==b.columns)throw new RangeError("Matrices dimensions must be equal");for(let M=0;M<this.rows;M++)for(let A=0;A<this.columns;A++)this.set(M,A,this.get(M,A)-b.get(M,A));return this},R.sub=function(b,M){return new x(b).sub(M)},R.prototype.subtract=R.prototype.sub,R.prototype.subtractS=R.prototype.subS,R.prototype.subtractM=R.prototype.subM,R.subtract=R.sub,R.prototype.mul=function(b){return typeof b=="number"?this.mulS(b):this.mulM(b)},R.prototype.mulS=function(b){for(let M=0;M<this.rows;M++)for(let A=0;A<this.columns;A++)this.set(M,A,this.get(M,A)*b);return this},R.prototype.mulM=function(b){if(b=x.checkMatrix(b),this.rows!==b.rows||this.columns!==b.columns)throw new RangeError("Matrices dimensions must be equal");for(let M=0;M<this.rows;M++)for(let A=0;A<this.columns;A++)this.set(M,A,this.get(M,A)*b.get(M,A));return this},R.mul=function(b,M){return new x(b).mul(M)},R.prototype.multiply=R.prototype.mul,R.prototype.multiplyS=R.prototype.mulS,R.prototype.multiplyM=R.prototype.mulM,R.multiply=R.mul,R.prototype.div=function(b){return typeof b=="number"?this.divS(b):this.divM(b)},R.prototype.divS=function(b){for(let M=0;M<this.rows;M++)for(let A=0;A<this.columns;A++)this.set(M,A,this.get(M,A)/b);return this},R.prototype.divM=function(b){if(b=x.checkMatrix(b),this.rows!==b.rows||this.columns!==b.columns)throw new RangeError("Matrices dimensions must be equal");for(let M=0;M<this.rows;M++)for(let A=0;A<this.columns;A++)this.set(M,A,this.get(M,A)/b.get(M,A));return this},R.div=function(b,M){return new x(b).div(M)},R.prototype.divide=R.prototype.div,R.prototype.divideS=R.prototype.divS,R.prototype.divideM=R.prototype.divM,R.divide=R.div,R.prototype.mod=function(b){return typeof b=="number"?this.modS(b):this.modM(b)},R.prototype.modS=function(b){for(let M=0;M<this.rows;M++)for(let A=0;A<this.columns;A++)this.set(M,A,this.get(M,A)%b);return this},R.prototype.modM=function(b){if(b=x.checkMatrix(b),this.rows!==b.rows||this.columns!==b.columns)throw new RangeError("Matrices dimensions must be equal");for(let M=0;M<this.rows;M++)for(let A=0;A<this.columns;A++)this.set(M,A,this.get(M,A)%b.get(M,A));return this},R.mod=function(b,M){return new x(b).mod(M)},R.prototype.modulus=R.prototype.mod,R.prototype.modulusS=R.prototype.modS,R.prototype.modulusM=R.prototype.modM,R.modulus=R.mod,R.prototype.and=function(b){return typeof b=="number"?this.andS(b):this.andM(b)},R.prototype.andS=function(b){for(let M=0;M<this.rows;M++)for(let A=0;A<this.columns;A++)this.set(M,A,this.get(M,A)&b);return this},R.prototype.andM=function(b){if(b=x.checkMatrix(b),this.rows!==b.rows||this.columns!==b.columns)throw new RangeError("Matrices dimensions must be equal");for(let M=0;M<this.rows;M++)for(let A=0;A<this.columns;A++)this.set(M,A,this.get(M,A)&b.get(M,A));return this},R.and=function(b,M){return new x(b).and(M)},R.prototype.or=function(b){return typeof b=="number"?this.orS(b):this.orM(b)},R.prototype.orS=function(b){for(let M=0;M<this.rows;M++)for(let A=0;A<this.columns;A++)this.set(M,A,this.get(M,A)|b);return this},R.prototype.orM=function(b){if(b=x.checkMatrix(b),this.rows!==b.rows||this.columns!==b.columns)throw new RangeError("Matrices dimensions must be equal");for(let M=0;M<this.rows;M++)for(let A=0;A<this.columns;A++)this.set(M,A,this.get(M,A)|b.get(M,A));return this},R.or=function(b,M){return new x(b).or(M)},R.prototype.xor=function(b){return typeof b=="number"?this.xorS(b):this.xorM(b)},R.prototype.xorS=function(b){for(let M=0;M<this.rows;M++)for(let A=0;A<this.columns;A++)this.set(M,A,this.get(M,A)^b);return this},R.prototype.xorM=function(b){if(b=x.checkMatrix(b),this.rows!==b.rows||this.columns!==b.columns)throw new RangeError("Matrices dimensions must be equal");for(let M=0;M<this.rows;M++)for(let A=0;A<this.columns;A++)this.set(M,A,this.get(M,A)^b.get(M,A));return this},R.xor=function(b,M){return new x(b).xor(M)},R.prototype.leftShift=function(b){return typeof b=="number"?this.leftShiftS(b):this.leftShiftM(b)},R.prototype.leftShiftS=function(b){for(let M=0;M<this.rows;M++)for(let A=0;A<this.columns;A++)this.set(M,A,this.get(M,A)<<b);return this},R.prototype.leftShiftM=function(b){if(b=x.checkMatrix(b),this.rows!==b.rows||this.columns!==b.columns)throw new RangeError("Matrices dimensions must be equal");for(let M=0;M<this.rows;M++)for(let A=0;A<this.columns;A++)this.set(M,A,this.get(M,A)<<b.get(M,A));return this},R.leftShift=function(b,M){return new x(b).leftShift(M)},R.prototype.signPropagatingRightShift=function(b){return typeof b=="number"?this.signPropagatingRightShiftS(b):this.signPropagatingRightShiftM(b)},R.prototype.signPropagatingRightShiftS=function(b){for(let M=0;M<this.rows;M++)for(let A=0;A<this.columns;A++)this.set(M,A,this.get(M,A)>>b);return this},R.prototype.signPropagatingRightShiftM=function(b){if(b=x.checkMatrix(b),this.rows!==b.rows||this.columns!==b.columns)throw new RangeError("Matrices dimensions must be equal");for(let M=0;M<this.rows;M++)for(let A=0;A<this.columns;A++)this.set(M,A,this.get(M,A)>>b.get(M,A));return this},R.signPropagatingRightShift=function(b,M){return new x(b).signPropagatingRightShift(M)},R.prototype.rightShift=function(b){return typeof b=="number"?this.rightShiftS(b):this.rightShiftM(b)},R.prototype.rightShiftS=function(b){for(let M=0;M<this.rows;M++)for(let A=0;A<this.columns;A++)this.set(M,A,this.get(M,A)>>>b);return this},R.prototype.rightShiftM=function(b){if(b=x.checkMatrix(b),this.rows!==b.rows||this.columns!==b.columns)throw new RangeError("Matrices dimensions must be equal");for(let M=0;M<this.rows;M++)for(let A=0;A<this.columns;A++)this.set(M,A,this.get(M,A)>>>b.get(M,A));return this},R.rightShift=function(b,M){return new x(b).rightShift(M)},R.prototype.zeroFillRightShift=R.prototype.rightShift,R.prototype.zeroFillRightShiftS=R.prototype.rightShiftS,R.prototype.zeroFillRightShiftM=R.prototype.rightShiftM,R.zeroFillRightShift=R.rightShift,R.prototype.not=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,~this.get(b,M));return this},R.not=function(b){return new x(b).not()},R.prototype.abs=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.abs(this.get(b,M)));return this},R.abs=function(b){return new x(b).abs()},R.prototype.acos=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.acos(this.get(b,M)));return this},R.acos=function(b){return new x(b).acos()},R.prototype.acosh=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.acosh(this.get(b,M)));return this},R.acosh=function(b){return new x(b).acosh()},R.prototype.asin=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.asin(this.get(b,M)));return this},R.asin=function(b){return new x(b).asin()},R.prototype.asinh=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.asinh(this.get(b,M)));return this},R.asinh=function(b){return new x(b).asinh()},R.prototype.atan=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.atan(this.get(b,M)));return this},R.atan=function(b){return new x(b).atan()},R.prototype.atanh=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.atanh(this.get(b,M)));return this},R.atanh=function(b){return new x(b).atanh()},R.prototype.cbrt=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.cbrt(this.get(b,M)));return this},R.cbrt=function(b){return new x(b).cbrt()},R.prototype.ceil=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.ceil(this.get(b,M)));return this},R.ceil=function(b){return new x(b).ceil()},R.prototype.clz32=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.clz32(this.get(b,M)));return this},R.clz32=function(b){return new x(b).clz32()},R.prototype.cos=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.cos(this.get(b,M)));return this},R.cos=function(b){return new x(b).cos()},R.prototype.cosh=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.cosh(this.get(b,M)));return this},R.cosh=function(b){return new x(b).cosh()},R.prototype.exp=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.exp(this.get(b,M)));return this},R.exp=function(b){return new x(b).exp()},R.prototype.expm1=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.expm1(this.get(b,M)));return this},R.expm1=function(b){return new x(b).expm1()},R.prototype.floor=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.floor(this.get(b,M)));return this},R.floor=function(b){return new x(b).floor()},R.prototype.fround=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.fround(this.get(b,M)));return this},R.fround=function(b){return new x(b).fround()},R.prototype.log=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.log(this.get(b,M)));return this},R.log=function(b){return new x(b).log()},R.prototype.log1p=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.log1p(this.get(b,M)));return this},R.log1p=function(b){return new x(b).log1p()},R.prototype.log10=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.log10(this.get(b,M)));return this},R.log10=function(b){return new x(b).log10()},R.prototype.log2=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.log2(this.get(b,M)));return this},R.log2=function(b){return new x(b).log2()},R.prototype.round=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.round(this.get(b,M)));return this},R.round=function(b){return new x(b).round()},R.prototype.sign=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.sign(this.get(b,M)));return this},R.sign=function(b){return new x(b).sign()},R.prototype.sin=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.sin(this.get(b,M)));return this},R.sin=function(b){return new x(b).sin()},R.prototype.sinh=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.sinh(this.get(b,M)));return this},R.sinh=function(b){return new x(b).sinh()},R.prototype.sqrt=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.sqrt(this.get(b,M)));return this},R.sqrt=function(b){return new x(b).sqrt()},R.prototype.tan=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.tan(this.get(b,M)));return this},R.tan=function(b){return new x(b).tan()},R.prototype.tanh=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.tanh(this.get(b,M)));return this},R.tanh=function(b){return new x(b).tanh()},R.prototype.trunc=function(){for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.set(b,M,Math.trunc(this.get(b,M)));return this},R.trunc=function(b){return new x(b).trunc()},R.pow=function(b,M){return new x(b).pow(M)},R.prototype.pow=function(b){return typeof b=="number"?this.powS(b):this.powM(b)},R.prototype.powS=function(b){for(let M=0;M<this.rows;M++)for(let A=0;A<this.columns;A++)this.set(M,A,this.get(M,A)**b);return this},R.prototype.powM=function(b){if(b=x.checkMatrix(b),this.rows!==b.rows||this.columns!==b.columns)throw new RangeError("Matrices dimensions must be equal");for(let M=0;M<this.rows;M++)for(let A=0;A<this.columns;A++)this.set(M,A,this.get(M,A)**b.get(M,A));return this}}function c(R,x,E){let b=E?R.rows:R.rows-1;if(x<0||x>b)throw new RangeError("Row index out of range")}function h(R,x,E){let b=E?R.columns:R.columns-1;if(x<0||x>b)throw new RangeError("Column index out of range")}function d(R,x){if(x.to1DArray&&(x=x.to1DArray()),x.length!==R.columns)throw new RangeError("vector size must be the same as the number of columns");return x}function f(R,x){if(x.to1DArray&&(x=x.to1DArray()),x.length!==R.rows)throw new RangeError("vector size must be the same as the number of rows");return x}function g(R,x){if(!r.isAnyArray(x))throw new TypeError("row indices must be an array");for(let E=0;E<x.length;E++)if(x[E]<0||x[E]>=R.rows)throw new RangeError("row indices are out of range")}function p(R,x){if(!r.isAnyArray(x))throw new TypeError("column indices must be an array");for(let E=0;E<x.length;E++)if(x[E]<0||x[E]>=R.columns)throw new RangeError("column indices are out of range")}function v(R,x,E,b,M){if(arguments.length!==5)throw new RangeError("expected 4 arguments");if(m("startRow",x),m("endRow",E),m("startColumn",b),m("endColumn",M),x>E||b>M||x<0||x>=R.rows||E<0||E>=R.rows||b<0||b>=R.columns||M<0||M>=R.columns)throw new RangeError("Submatrix indices are out of range")}function y(R,x=0){let E=[];for(let b=0;b<R;b++)E.push(x);return E}function m(R,x){if(typeof x!="number")throw new TypeError(`${R} must be a number`)}function w(R){if(R.isEmpty())throw new Error("Empty matrix has no elements to index")}function S(R){let x=y(R.rows);for(let E=0;E<R.rows;++E)for(let b=0;b<R.columns;++b)x[E]+=R.get(E,b);return x}function _(R){let x=y(R.columns);for(let E=0;E<R.rows;++E)for(let b=0;b<R.columns;++b)x[b]+=R.get(E,b);return x}function k(R){let x=0;for(let E=0;E<R.rows;E++)for(let b=0;b<R.columns;b++)x+=R.get(E,b);return x}function T(R){let x=y(R.rows,1);for(let E=0;E<R.rows;++E)for(let b=0;b<R.columns;++b)x[E]*=R.get(E,b);return x}function O(R){let x=y(R.columns,1);for(let E=0;E<R.rows;++E)for(let b=0;b<R.columns;++b)x[b]*=R.get(E,b);return x}function P(R){let x=1;for(let E=0;E<R.rows;E++)for(let b=0;b<R.columns;b++)x*=R.get(E,b);return x}function N(R,x,E){const b=R.rows,M=R.columns,A=[];for(let I=0;I<b;I++){let D=0,B=0,z=0;for(let Q=0;Q<M;Q++)z=R.get(I,Q)-E[I],D+=z,B+=z*z;x?A.push((B-D*D/M)/(M-1)):A.push((B-D*D/M)/M)}return A}function C(R,x,E){const b=R.rows,M=R.columns,A=[];for(let I=0;I<M;I++){let D=0,B=0,z=0;for(let Q=0;Q<b;Q++)z=R.get(Q,I)-E[I],D+=z,B+=z*z;x?A.push((B-D*D/b)/(b-1)):A.push((B-D*D/b)/b)}return A}function L(R,x,E){const b=R.rows,M=R.columns,A=b*M;let I=0,D=0,B=0;for(let z=0;z<b;z++)for(let Q=0;Q<M;Q++)B=R.get(z,Q)-E,I+=B,D+=B*B;return x?(D-I*I/A)/(A-1):(D-I*I/A)/A}function F(R,x){for(let E=0;E<R.rows;E++)for(let b=0;b<R.columns;b++)R.set(E,b,R.get(E,b)-x[E])}function G(R,x){for(let E=0;E<R.rows;E++)for(let b=0;b<R.columns;b++)R.set(E,b,R.get(E,b)-x[b])}function V(R,x){for(let E=0;E<R.rows;E++)for(let b=0;b<R.columns;b++)R.set(E,b,R.get(E,b)-x)}function U(R){const x=[];for(let E=0;E<R.rows;E++){let b=0;for(let M=0;M<R.columns;M++)b+=R.get(E,M)**2/(R.columns-1);x.push(Math.sqrt(b))}return x}function q(R,x){for(let E=0;E<R.rows;E++)for(let b=0;b<R.columns;b++)R.set(E,b,R.get(E,b)/x[E])}function j(R){const x=[];for(let E=0;E<R.columns;E++){let b=0;for(let M=0;M<R.rows;M++)b+=R.get(M,E)**2/(R.rows-1);x.push(Math.sqrt(b))}return x}function Z(R,x){for(let E=0;E<R.rows;E++)for(let b=0;b<R.columns;b++)R.set(E,b,R.get(E,b)/x[b])}function nt(R){const x=R.size-1;let E=0;for(let b=0;b<R.columns;b++)for(let M=0;M<R.rows;M++)E+=R.get(M,b)**2/x;return Math.sqrt(E)}function st(R,x){for(let E=0;E<R.rows;E++)for(let b=0;b<R.columns;b++)R.set(E,b,R.get(E,b)/x)}class ot{static from1DArray(x,E,b){if(x*E!==b.length)throw new RangeError("data length does not match given dimensions");let A=new W(x,E);for(let I=0;I<x;I++)for(let D=0;D<E;D++)A.set(I,D,b[I*E+D]);return A}static rowVector(x){let E=new W(1,x.length);for(let b=0;b<x.length;b++)E.set(0,b,x[b]);return E}static columnVector(x){let E=new W(x.length,1);for(let b=0;b<x.length;b++)E.set(b,0,x[b]);return E}static zeros(x,E){return new W(x,E)}static ones(x,E){return new W(x,E).fill(1)}static rand(x,E,b={}){if(typeof b!="object")throw new TypeError("options must be an object");const{random:M=Math.random}=b;let A=new W(x,E);for(let I=0;I<x;I++)for(let D=0;D<E;D++)A.set(I,D,M());return A}static randInt(x,E,b={}){if(typeof b!="object")throw new TypeError("options must be an object");const{min:M=0,max:A=1e3,random:I=Math.random}=b;if(!Number.isInteger(M))throw new TypeError("min must be an integer");if(!Number.isInteger(A))throw new TypeError("max must be an integer");if(M>=A)throw new RangeError("min must be smaller than max");let D=A-M,B=new W(x,E);for(let z=0;z<x;z++)for(let Q=0;Q<E;Q++){let Y=M+Math.round(I()*D);B.set(z,Q,Y)}return B}static eye(x,E,b){E===void 0&&(E=x),b===void 0&&(b=1);let M=Math.min(x,E),A=this.zeros(x,E);for(let I=0;I<M;I++)A.set(I,I,b);return A}static diag(x,E,b){let M=x.length;E===void 0&&(E=M),b===void 0&&(b=E);let A=Math.min(M,E,b),I=this.zeros(E,b);for(let D=0;D<A;D++)I.set(D,D,x[D]);return I}static min(x,E){x=this.checkMatrix(x),E=this.checkMatrix(E);let b=x.rows,M=x.columns,A=new W(b,M);for(let I=0;I<b;I++)for(let D=0;D<M;D++)A.set(I,D,Math.min(x.get(I,D),E.get(I,D)));return A}static max(x,E){x=this.checkMatrix(x),E=this.checkMatrix(E);let b=x.rows,M=x.columns,A=new this(b,M);for(let I=0;I<b;I++)for(let D=0;D<M;D++)A.set(I,D,Math.max(x.get(I,D),E.get(I,D)));return A}static checkMatrix(x){return ot.isMatrix(x)?x:new W(x)}static isMatrix(x){return x!=null&&x.klass==="Matrix"}get size(){return this.rows*this.columns}apply(x){if(typeof x!="function")throw new TypeError("callback must be a function");for(let E=0;E<this.rows;E++)for(let b=0;b<this.columns;b++)x.call(this,E,b);return this}to1DArray(){let x=[];for(let E=0;E<this.rows;E++)for(let b=0;b<this.columns;b++)x.push(this.get(E,b));return x}to2DArray(){let x=[];for(let E=0;E<this.rows;E++){x.push([]);for(let b=0;b<this.columns;b++)x[E].push(this.get(E,b))}return x}toJSON(){return this.to2DArray()}isRowVector(){return this.rows===1}isColumnVector(){return this.columns===1}isVector(){return this.rows===1||this.columns===1}isSquare(){return this.rows===this.columns}isEmpty(){return this.rows===0||this.columns===0}isSymmetric(){if(this.isSquare()){for(let x=0;x<this.rows;x++)for(let E=0;E<=x;E++)if(this.get(x,E)!==this.get(E,x))return!1;return!0}return!1}isDistance(){if(!this.isSymmetric())return!1;for(let x=0;x<this.rows;x++)if(this.get(x,x)!==0)return!1;return!0}isEchelonForm(){let x=0,E=0,b=-1,M=!0,A=!1;for(;x<this.rows&&M;){for(E=0,A=!1;E<this.columns&&A===!1;)this.get(x,E)===0?E++:this.get(x,E)===1&&E>b?(A=!0,b=E):(M=!1,A=!0);x++}return M}isReducedEchelonForm(){let x=0,E=0,b=-1,M=!0,A=!1;for(;x<this.rows&&M;){for(E=0,A=!1;E<this.columns&&A===!1;)this.get(x,E)===0?E++:this.get(x,E)===1&&E>b?(A=!0,b=E):(M=!1,A=!0);for(let I=E+1;I<this.rows;I++)this.get(x,I)!==0&&(M=!1);x++}return M}echelonForm(){let x=this.clone(),E=0,b=0;for(;E<x.rows&&b<x.columns;){let M=E;for(let A=E;A<x.rows;A++)x.get(A,b)>x.get(M,b)&&(M=A);if(x.get(M,b)===0)b++;else{x.swapRows(E,M);let A=x.get(E,b);for(let I=b;I<x.columns;I++)x.set(E,I,x.get(E,I)/A);for(let I=E+1;I<x.rows;I++){let D=x.get(I,b)/x.get(E,b);x.set(I,b,0);for(let B=b+1;B<x.columns;B++)x.set(I,B,x.get(I,B)-x.get(E,B)*D)}E++,b++}}return x}reducedEchelonForm(){let x=this.echelonForm(),E=x.columns,b=x.rows,M=b-1;for(;M>=0;)if(x.maxRow(M)===0)M--;else{let A=0,I=!1;for(;A<b&&I===!1;)x.get(M,A)===1?I=!0:A++;for(let D=0;D<M;D++){let B=x.get(D,A);for(let z=A;z<E;z++){let Q=x.get(D,z)-B*x.get(M,z);x.set(D,z,Q)}}M--}return x}set(){throw new Error("set method is unimplemented")}get(){throw new Error("get method is unimplemented")}repeat(x={}){if(typeof x!="object")throw new TypeError("options must be an object");const{rows:E=1,columns:b=1}=x;if(!Number.isInteger(E)||E<=0)throw new TypeError("rows must be a positive integer");if(!Number.isInteger(b)||b<=0)throw new TypeError("columns must be a positive integer");let M=new W(this.rows*E,this.columns*b);for(let A=0;A<E;A++)for(let I=0;I<b;I++)M.setSubMatrix(this,this.rows*A,this.columns*I);return M}fill(x){for(let E=0;E<this.rows;E++)for(let b=0;b<this.columns;b++)this.set(E,b,x);return this}neg(){return this.mulS(-1)}getRow(x){c(this,x);let E=[];for(let b=0;b<this.columns;b++)E.push(this.get(x,b));return E}getRowVector(x){return W.rowVector(this.getRow(x))}setRow(x,E){c(this,x),E=d(this,E);for(let b=0;b<this.columns;b++)this.set(x,b,E[b]);return this}swapRows(x,E){c(this,x),c(this,E);for(let b=0;b<this.columns;b++){let M=this.get(x,b);this.set(x,b,this.get(E,b)),this.set(E,b,M)}return this}getColumn(x){h(this,x);let E=[];for(let b=0;b<this.rows;b++)E.push(this.get(b,x));return E}getColumnVector(x){return W.columnVector(this.getColumn(x))}setColumn(x,E){h(this,x),E=f(this,E);for(let b=0;b<this.rows;b++)this.set(b,x,E[b]);return this}swapColumns(x,E){h(this,x),h(this,E);for(let b=0;b<this.rows;b++){let M=this.get(b,x);this.set(b,x,this.get(b,E)),this.set(b,E,M)}return this}addRowVector(x){x=d(this,x);for(let E=0;E<this.rows;E++)for(let b=0;b<this.columns;b++)this.set(E,b,this.get(E,b)+x[b]);return this}subRowVector(x){x=d(this,x);for(let E=0;E<this.rows;E++)for(let b=0;b<this.columns;b++)this.set(E,b,this.get(E,b)-x[b]);return this}mulRowVector(x){x=d(this,x);for(let E=0;E<this.rows;E++)for(let b=0;b<this.columns;b++)this.set(E,b,this.get(E,b)*x[b]);return this}divRowVector(x){x=d(this,x);for(let E=0;E<this.rows;E++)for(let b=0;b<this.columns;b++)this.set(E,b,this.get(E,b)/x[b]);return this}addColumnVector(x){x=f(this,x);for(let E=0;E<this.rows;E++)for(let b=0;b<this.columns;b++)this.set(E,b,this.get(E,b)+x[E]);return this}subColumnVector(x){x=f(this,x);for(let E=0;E<this.rows;E++)for(let b=0;b<this.columns;b++)this.set(E,b,this.get(E,b)-x[E]);return this}mulColumnVector(x){x=f(this,x);for(let E=0;E<this.rows;E++)for(let b=0;b<this.columns;b++)this.set(E,b,this.get(E,b)*x[E]);return this}divColumnVector(x){x=f(this,x);for(let E=0;E<this.rows;E++)for(let b=0;b<this.columns;b++)this.set(E,b,this.get(E,b)/x[E]);return this}mulRow(x,E){c(this,x);for(let b=0;b<this.columns;b++)this.set(x,b,this.get(x,b)*E);return this}mulColumn(x,E){h(this,x);for(let b=0;b<this.rows;b++)this.set(b,x,this.get(b,x)*E);return this}max(x){if(this.isEmpty())return NaN;switch(x){case"row":{const E=new Array(this.rows).fill(Number.NEGATIVE_INFINITY);for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.get(b,M)>E[b]&&(E[b]=this.get(b,M));return E}case"column":{const E=new Array(this.columns).fill(Number.NEGATIVE_INFINITY);for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.get(b,M)>E[M]&&(E[M]=this.get(b,M));return E}case void 0:{let E=this.get(0,0);for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.get(b,M)>E&&(E=this.get(b,M));return E}default:throw new Error(`invalid option: ${x}`)}}maxIndex(){w(this);let x=this.get(0,0),E=[0,0];for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.get(b,M)>x&&(x=this.get(b,M),E[0]=b,E[1]=M);return E}min(x){if(this.isEmpty())return NaN;switch(x){case"row":{const E=new Array(this.rows).fill(Number.POSITIVE_INFINITY);for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.get(b,M)<E[b]&&(E[b]=this.get(b,M));return E}case"column":{const E=new Array(this.columns).fill(Number.POSITIVE_INFINITY);for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.get(b,M)<E[M]&&(E[M]=this.get(b,M));return E}case void 0:{let E=this.get(0,0);for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.get(b,M)<E&&(E=this.get(b,M));return E}default:throw new Error(`invalid option: ${x}`)}}minIndex(){w(this);let x=this.get(0,0),E=[0,0];for(let b=0;b<this.rows;b++)for(let M=0;M<this.columns;M++)this.get(b,M)<x&&(x=this.get(b,M),E[0]=b,E[1]=M);return E}maxRow(x){if(c(this,x),this.isEmpty())return NaN;let E=this.get(x,0);for(let b=1;b<this.columns;b++)this.get(x,b)>E&&(E=this.get(x,b));return E}maxRowIndex(x){c(this,x),w(this);let E=this.get(x,0),b=[x,0];for(let M=1;M<this.columns;M++)this.get(x,M)>E&&(E=this.get(x,M),b[1]=M);return b}minRow(x){if(c(this,x),this.isEmpty())return NaN;let E=this.get(x,0);for(let b=1;b<this.columns;b++)this.get(x,b)<E&&(E=this.get(x,b));return E}minRowIndex(x){c(this,x),w(this);let E=this.get(x,0),b=[x,0];for(let M=1;M<this.columns;M++)this.get(x,M)<E&&(E=this.get(x,M),b[1]=M);return b}maxColumn(x){if(h(this,x),this.isEmpty())return NaN;let E=this.get(0,x);for(let b=1;b<this.rows;b++)this.get(b,x)>E&&(E=this.get(b,x));return E}maxColumnIndex(x){h(this,x),w(this);let E=this.get(0,x),b=[0,x];for(let M=1;M<this.rows;M++)this.get(M,x)>E&&(E=this.get(M,x),b[0]=M);return b}minColumn(x){if(h(this,x),this.isEmpty())return NaN;let E=this.get(0,x);for(let b=1;b<this.rows;b++)this.get(b,x)<E&&(E=this.get(b,x));return E}minColumnIndex(x){h(this,x),w(this);let E=this.get(0,x),b=[0,x];for(let M=1;M<this.rows;M++)this.get(M,x)<E&&(E=this.get(M,x),b[0]=M);return b}diag(){let x=Math.min(this.rows,this.columns),E=[];for(let b=0;b<x;b++)E.push(this.get(b,b));return E}norm(x="frobenius"){switch(x){case"max":return this.max();case"frobenius":return Math.sqrt(this.dot(this));default:throw new RangeError(`unknown norm type: ${x}`)}}cumulativeSum(){let x=0;for(let E=0;E<this.rows;E++)for(let b=0;b<this.columns;b++)x+=this.get(E,b),this.set(E,b,x);return this}dot(x){ot.isMatrix(x)&&(x=x.to1DArray());let E=this.to1DArray();if(E.length!==x.length)throw new RangeError("vectors do not have the same size");let b=0;for(let M=0;M<E.length;M++)b+=E[M]*x[M];return b}mmul(x){x=W.checkMatrix(x);let E=this.rows,b=this.columns,M=x.columns,A=new W(E,M),I=new Float64Array(b);for(let D=0;D<M;D++){for(let B=0;B<b;B++)I[B]=x.get(B,D);for(let B=0;B<E;B++){let z=0;for(let Q=0;Q<b;Q++)z+=this.get(B,Q)*I[Q];A.set(B,D,z)}}return A}strassen2x2(x){x=W.checkMatrix(x);let E=new W(2,2);const b=this.get(0,0),M=x.get(0,0),A=this.get(0,1),I=x.get(0,1),D=this.get(1,0),B=x.get(1,0),z=this.get(1,1),Q=x.get(1,1),Y=(b+z)*(M+Q),at=(D+z)*M,mt=b*(I-Q),et=z*(B-M),lt=(b+A)*Q,_t=(D-b)*(M+I),H=(A-z)*(B+Q),yt=Y+et-lt+H,Tt=mt+lt,Dt=at+et,jt=Y-at+mt+_t;return E.set(0,0,yt),E.set(0,1,Tt),E.set(1,0,Dt),E.set(1,1,jt),E}strassen3x3(x){x=W.checkMatrix(x);let E=new W(3,3);const b=this.get(0,0),M=this.get(0,1),A=this.get(0,2),I=this.get(1,0),D=this.get(1,1),B=this.get(1,2),z=this.get(2,0),Q=this.get(2,1),Y=this.get(2,2),at=x.get(0,0),mt=x.get(0,1),et=x.get(0,2),lt=x.get(1,0),_t=x.get(1,1),H=x.get(1,2),yt=x.get(2,0),Tt=x.get(2,1),Dt=x.get(2,2),jt=(b+M+A-I-D-Q-Y)*_t,Oe=(b-I)*(-mt+_t),Ct=D*(-at+mt+lt-_t-H-yt+Dt),Lt=(-b+I+D)*(at-mt+_t),he=(I+D)*(-at+mt),X=b*at,gt=(-b+z+Q)*(at-et+H),Mt=(-b+z)*(et-H),vt=(z+Q)*(-at+et),Te=(b+M+A-D-B-z-Q)*H,re=Q*(-at+et+lt-_t-H-yt+Tt),we=(-A+Q+Y)*(_t+yt-Tt),Ae=(A-Y)*(_t-Tt),vn=A*yt,_r=(Q+Y)*(-yt+Tt),tn=(-A+D+B)*(H+yt-Dt),Wr=(A-B)*(H-Dt),ci=(D+B)*(-yt+Dt),te=M*lt,pn=B*Tt,Kn=I*et,Zn=z*mt,en=Y*Dt,AC=X+vn+te,PC=jt+Lt+he+X+we+vn+_r,NC=X+gt+vt+Te+vn+tn+ci,CC=Oe+Ct+Lt+X+vn+tn+Wr,RC=Oe+Lt+he+X+pn,LC=vn+tn+Wr+ci+Kn,IC=X+gt+Mt+re+we+Ae+vn,DC=we+Ae+vn+_r+Zn,FC=X+gt+Mt+vt+en;return E.set(0,0,AC),E.set(0,1,PC),E.set(0,2,NC),E.set(1,0,CC),E.set(1,1,RC),E.set(1,2,LC),E.set(2,0,IC),E.set(2,1,DC),E.set(2,2,FC),E}mmulStrassen(x){x=W.checkMatrix(x);let E=this.clone(),b=E.rows,M=E.columns,A=x.rows,I=x.columns;M!==A&&console.warn(`Multiplying ${b} x ${M} and ${A} x ${I} matrix: dimensions do not match.`);function D(Y,at,mt){let et=Y.rows,lt=Y.columns;if(et===at&<===mt)return Y;{let _t=ot.zeros(at,mt);return _t=_t.setSubMatrix(Y,0,0),_t}}let B=Math.max(b,A),z=Math.max(M,I);E=D(E,B,z),x=D(x,B,z);function Q(Y,at,mt,et){if(mt<=512||et<=512)return Y.mmul(at);mt%2===1&&et%2===1?(Y=D(Y,mt+1,et+1),at=D(at,mt+1,et+1)):mt%2===1?(Y=D(Y,mt+1,et),at=D(at,mt+1,et)):et%2===1&&(Y=D(Y,mt,et+1),at=D(at,mt,et+1));let lt=parseInt(Y.rows/2,10),_t=parseInt(Y.columns/2,10),H=Y.subMatrix(0,lt-1,0,_t-1),yt=at.subMatrix(0,lt-1,0,_t-1),Tt=Y.subMatrix(0,lt-1,_t,Y.columns-1),Dt=at.subMatrix(0,lt-1,_t,at.columns-1),jt=Y.subMatrix(lt,Y.rows-1,0,_t-1),Oe=at.subMatrix(lt,at.rows-1,0,_t-1),Ct=Y.subMatrix(lt,Y.rows-1,_t,Y.columns-1),Lt=at.subMatrix(lt,at.rows-1,_t,at.columns-1),he=Q(ot.add(H,Ct),ot.add(yt,Lt),lt,_t),X=Q(ot.add(jt,Ct),yt,lt,_t),gt=Q(H,ot.sub(Dt,Lt),lt,_t),Mt=Q(Ct,ot.sub(Oe,yt),lt,_t),vt=Q(ot.add(H,Tt),Lt,lt,_t),Te=Q(ot.sub(jt,H),ot.add(yt,Dt),lt,_t),re=Q(ot.sub(Tt,Ct),ot.add(Oe,Lt),lt,_t),we=ot.add(he,Mt);we.sub(vt),we.add(re);let Ae=ot.add(gt,vt),vn=ot.add(X,Mt),_r=ot.sub(he,X);_r.add(gt),_r.add(Te);let tn=ot.zeros(2*we.rows,2*we.columns);return tn=tn.setSubMatrix(we,0,0),tn=tn.setSubMatrix(Ae,we.rows,0),tn=tn.setSubMatrix(vn,0,we.columns),tn=tn.setSubMatrix(_r,we.rows,we.columns),tn.subMatrix(0,mt-1,0,et-1)}return Q(E,x,B,z)}scaleRows(x={}){if(typeof x!="object")throw new TypeError("options must be an object");const{min:E=0,max:b=1}=x;if(!Number.isFinite(E))throw new TypeError("min must be a number");if(!Number.isFinite(b))throw new TypeError("max must be a number");if(E>=b)throw new RangeError("min must be smaller than max");let M=new W(this.rows,this.columns);for(let A=0;A<this.rows;A++){const I=this.getRow(A);I.length>0&&t(I,{min:E,max:b,output:I}),M.setRow(A,I)}return M}scaleColumns(x={}){if(typeof x!="object")throw new TypeError("options must be an object");const{min:E=0,max:b=1}=x;if(!Number.isFinite(E))throw new TypeError("min must be a number");if(!Number.isFinite(b))throw new TypeError("max must be a number");if(E>=b)throw new RangeError("min must be smaller than max");let M=new W(this.rows,this.columns);for(let A=0;A<this.columns;A++){const I=this.getColumn(A);I.length&&t(I,{min:E,max:b,output:I}),M.setColumn(A,I)}return M}flipRows(){const x=Math.ceil(this.columns/2);for(let E=0;E<this.rows;E++)for(let b=0;b<x;b++){let M=this.get(E,b),A=this.get(E,this.columns-1-b);this.set(E,b,A),this.set(E,this.columns-1-b,M)}return this}flipColumns(){const x=Math.ceil(this.rows/2);for(let E=0;E<this.columns;E++)for(let b=0;b<x;b++){let M=this.get(b,E),A=this.get(this.rows-1-b,E);this.set(b,E,A),this.set(this.rows-1-b,E,M)}return this}kroneckerProduct(x){x=W.checkMatrix(x);let E=this.rows,b=this.columns,M=x.rows,A=x.columns,I=new W(E*M,b*A);for(let D=0;D<E;D++)for(let B=0;B<b;B++)for(let z=0;z<M;z++)for(let Q=0;Q<A;Q++)I.set(M*D+z,A*B+Q,this.get(D,B)*x.get(z,Q));return I}kroneckerSum(x){if(x=W.checkMatrix(x),!this.isSquare()||!x.isSquare())throw new Error("Kronecker Sum needs two Square Matrices");let E=this.rows,b=x.rows,M=this.kroneckerProduct(W.eye(b,b)),A=W.eye(E,E).kroneckerProduct(x);return M.add(A)}transpose(){let x=new W(this.columns,this.rows);for(let E=0;E<this.rows;E++)for(let b=0;b<this.columns;b++)x.set(b,E,this.get(E,b));return x}sortRows(x=Pt){for(let E=0;E<this.rows;E++)this.setRow(E,this.getRow(E).sort(x));return this}sortColumns(x=Pt){for(let E=0;E<this.columns;E++)this.setColumn(E,this.getColumn(E).sort(x));return this}subMatrix(x,E,b,M){v(this,x,E,b,M);let A=new W(E-x+1,M-b+1);for(let I=x;I<=E;I++)for(let D=b;D<=M;D++)A.set(I-x,D-b,this.get(I,D));return A}subMatrixRow(x,E,b){if(E===void 0&&(E=0),b===void 0&&(b=this.columns-1),E>b||E<0||E>=this.columns||b<0||b>=this.columns)throw new RangeError("Argument out of range");let M=new W(x.length,b-E+1);for(let A=0;A<x.length;A++)for(let I=E;I<=b;I++){if(x[A]<0||x[A]>=this.rows)throw new RangeError(`Row index out of range: ${x[A]}`);M.set(A,I-E,this.get(x[A],I))}return M}subMatrixColumn(x,E,b){if(E===void 0&&(E=0),b===void 0&&(b=this.rows-1),E>b||E<0||E>=this.rows||b<0||b>=this.rows)throw new RangeError("Argument out of range");let M=new W(b-E+1,x.length);for(let A=0;A<x.length;A++)for(let I=E;I<=b;I++){if(x[A]<0||x[A]>=this.columns)throw new RangeError(`Column index out of range: ${x[A]}`);M.set(I-E,A,this.get(I,x[A]))}return M}setSubMatrix(x,E,b){if(x=W.checkMatrix(x),x.isEmpty())return this;let M=E+x.rows-1,A=b+x.columns-1;v(this,E,M,b,A);for(let I=0;I<x.rows;I++)for(let D=0;D<x.columns;D++)this.set(E+I,b+D,x.get(I,D));return this}selection(x,E){g(this,x),p(this,E);let b=new W(x.length,E.length);for(let M=0;M<x.length;M++){let A=x[M];for(let I=0;I<E.length;I++){let D=E[I];b.set(M,I,this.get(A,D))}}return b}trace(){let x=Math.min(this.rows,this.columns),E=0;for(let b=0;b<x;b++)E+=this.get(b,b);return E}clone(){return this.constructor.copy(this,new W(this.rows,this.columns))}static copy(x,E){for(const[b,M,A]of x.entries())E.set(b,M,A);return E}sum(x){switch(x){case"row":return S(this);case"column":return _(this);case void 0:return k(this);default:throw new Error(`invalid option: ${x}`)}}product(x){switch(x){case"row":return T(this);case"column":return O(this);case void 0:return P(this);default:throw new Error(`invalid option: ${x}`)}}mean(x){const E=this.sum(x);switch(x){case"row":{for(let b=0;b<this.rows;b++)E[b]/=this.columns;return E}case"column":{for(let b=0;b<this.columns;b++)E[b]/=this.rows;return E}case void 0:return E/this.size;default:throw new Error(`invalid option: ${x}`)}}variance(x,E={}){if(typeof x=="object"&&(E=x,x=void 0),typeof E!="object")throw new TypeError("options must be an object");const{unbiased:b=!0,mean:M=this.mean(x)}=E;if(typeof b!="boolean")throw new TypeError("unbiased must be a boolean");switch(x){case"row":{if(!r.isAnyArray(M))throw new TypeError("mean must be an array");return N(this,b,M)}case"column":{if(!r.isAnyArray(M))throw new TypeError("mean must be an array");return C(this,b,M)}case void 0:{if(typeof M!="number")throw new TypeError("mean must be a number");return L(this,b,M)}default:throw new Error(`invalid option: ${x}`)}}standardDeviation(x,E){typeof x=="object"&&(E=x,x=void 0);const b=this.variance(x,E);if(x===void 0)return Math.sqrt(b);for(let M=0;M<b.length;M++)b[M]=Math.sqrt(b[M]);return b}center(x,E={}){if(typeof x=="object"&&(E=x,x=void 0),typeof E!="object")throw new TypeError("options must be an object");const{center:b=this.mean(x)}=E;switch(x){case"row":{if(!r.isAnyArray(b))throw new TypeError("center must be an array");return F(this,b),this}case"column":{if(!r.isAnyArray(b))throw new TypeError("center must be an array");return G(this,b),this}case void 0:{if(typeof b!="number")throw new TypeError("center must be a number");return V(this,b),this}default:throw new Error(`invalid option: ${x}`)}}scale(x,E={}){if(typeof x=="object"&&(E=x,x=void 0),typeof E!="object")throw new TypeError("options must be an object");let b=E.scale;switch(x){case"row":{if(b===void 0)b=U(this);else if(!r.isAnyArray(b))throw new TypeError("scale must be an array");return q(this,b),this}case"column":{if(b===void 0)b=j(this);else if(!r.isAnyArray(b))throw new TypeError("scale must be an array");return Z(this,b),this}case void 0:{if(b===void 0)b=nt(this);else if(typeof b!="number")throw new TypeError("scale must be a number");return st(this,b),this}default:throw new Error(`invalid option: ${x}`)}}toString(x){return a(this,x)}[Symbol.iterator](){return this.entries()}*entries(){for(let x=0;x<this.rows;x++)for(let E=0;E<this.columns;E++)yield[x,E,this.get(x,E)]}*values(){for(let x=0;x<this.rows;x++)for(let E=0;E<this.columns;E++)yield this.get(x,E)}}ot.prototype.klass="Matrix",typeof Symbol<"u"&&(ot.prototype[Symbol.for("nodejs.util.inspect.custom")]=i);function Pt(R,x){return R-x}function K(R){return R.every(x=>typeof x=="number")}ot.random=ot.rand,ot.randomInt=ot.randInt,ot.diagonal=ot.diag,ot.prototype.diagonal=ot.prototype.diag,ot.identity=ot.eye,ot.prototype.negate=ot.prototype.neg,ot.prototype.tensorProduct=ot.prototype.kroneckerProduct;class W extends ot{data;#t(x,E){if(this.data=[],Number.isInteger(E)&&E>=0)for(let b=0;b<x;b++)this.data.push(new Float64Array(E));else throw new TypeError("nColumns must be a positive integer");this.rows=x,this.columns=E}constructor(x,E){if(super(),W.isMatrix(x))this.#t(x.rows,x.columns),W.copy(x,this);else if(Number.isInteger(x)&&x>=0)this.#t(x,E);else if(r.isAnyArray(x)){const b=x;if(x=b.length,E=x?b[0].length:0,typeof E!="number")throw new TypeError("Data must be a 2D array with at least one element");this.data=[];for(let M=0;M<x;M++){if(b[M].length!==E)throw new RangeError("Inconsistent array dimensions");if(!K(b[M]))throw new TypeError("Input data contains non-numeric values");this.data.push(Float64Array.from(b[M]))}this.rows=x,this.columns=E}else throw new TypeError("First argument must be a positive number or an array")}set(x,E,b){return this.data[x][E]=b,this}get(x,E){return this.data[x][E]}removeRow(x){return c(this,x),this.data.splice(x,1),this.rows-=1,this}addRow(x,E){return E===void 0&&(E=x,x=this.rows),c(this,x,!0),E=Float64Array.from(d(this,E)),this.data.splice(x,0,E),this.rows+=1,this}removeColumn(x){h(this,x);for(let E=0;E<this.rows;E++){const b=new Float64Array(this.columns-1);for(let M=0;M<x;M++)b[M]=this.data[E][M];for(let M=x+1;M<this.columns;M++)b[M-1]=this.data[E][M];this.data[E]=b}return this.columns-=1,this}addColumn(x,E){typeof E>"u"&&(E=x,x=this.columns),h(this,x,!0),E=f(this,E);for(let b=0;b<this.rows;b++){const M=new Float64Array(this.columns+1);let A=0;for(;A<x;A++)M[A]=this.data[b][A];for(M[A++]=E[b];A<this.columns+1;A++)M[A]=this.data[b][A-1];this.data[b]=M}return this.columns+=1,this}}u(ot,W);class tt extends ot{#t;get size(){return this.#t.size}get rows(){return this.#t.rows}get columns(){return this.#t.columns}get diagonalSize(){return this.rows}static isSymmetricMatrix(x){return W.isMatrix(x)&&x.klassType==="SymmetricMatrix"}static zeros(x){return new this(x)}static ones(x){return new this(x).fill(1)}constructor(x){if(super(),W.isMatrix(x)){if(!x.isSymmetric())throw new TypeError("not symmetric data");this.#t=W.copy(x,new W(x.rows,x.rows))}else if(Number.isInteger(x)&&x>=0)this.#t=new W(x,x);else if(this.#t=new W(x),!this.isSymmetric())throw new TypeError("not symmetric data")}clone(){const x=new tt(this.diagonalSize);for(const[E,b,M]of this.upperRightEntries())x.set(E,b,M);return x}toMatrix(){return new W(this)}get(x,E){return this.#t.get(x,E)}set(x,E,b){return this.#t.set(x,E,b),this.#t.set(E,x,b),this}removeCross(x){return this.#t.removeRow(x),this.#t.removeColumn(x),this}addCross(x,E){E===void 0&&(E=x,x=this.diagonalSize);const b=E.slice();return b.splice(x,1),this.#t.addRow(x,b),this.#t.addColumn(x,E),this}applyMask(x){if(x.length!==this.diagonalSize)throw new RangeError("Mask size do not match with matrix size");const E=[];for(const[b,M]of x.entries())M||E.push(b);E.reverse();for(const b of E)this.removeCross(b);return this}toCompact(){const{diagonalSize:x}=this,E=new Array(x*(x+1)/2);for(let b=0,M=0,A=0;A<E.length;A++)E[A]=this.get(M,b),++b>=x&&(b=++M);return E}static fromCompact(x){const E=x.length,b=(Math.sqrt(8*E+1)-1)/2;if(!Number.isInteger(b))throw new TypeError(`This array is not a compact representation of a Symmetric Matrix, ${JSON.stringify(x)}`);const M=new tt(b);for(let A=0,I=0,D=0;D<E;D++)M.set(A,I,x[D]),++A>=b&&(A=++I);return M}*upperRightEntries(){for(let x=0,E=0;x<this.diagonalSize;void 0){const b=this.get(x,E);yield[x,E,b],++E>=this.diagonalSize&&(E=++x)}}*upperRightValues(){for(let x=0,E=0;x<this.diagonalSize;void 0)yield this.get(x,E),++E>=this.diagonalSize&&(E=++x)}}tt.prototype.klassType="SymmetricMatrix";class ct extends tt{static isDistanceMatrix(x){return tt.isSymmetricMatrix(x)&&x.klassSubType==="DistanceMatrix"}constructor(x){if(super(x),!this.isDistance())throw new TypeError("Provided arguments do no produce a distance matrix")}set(x,E,b){return x===E&&(b=0),super.set(x,E,b)}addCross(x,E){return E===void 0&&(E=x,x=this.diagonalSize),E=E.slice(),E[x]=0,super.addCross(x,E)}toSymmetricMatrix(){return new tt(this)}clone(){const x=new ct(this.diagonalSize);for(const[E,b,M]of this.upperRightEntries())E!==b&&x.set(E,b,M);return x}toCompact(){const{diagonalSize:x}=this,E=(x-1)*x/2,b=new Array(E);for(let M=1,A=0,I=0;I<b.length;I++)b[I]=this.get(A,M),++M>=x&&(M=++A+1);return b}static fromCompact(x){const E=x.length;if(E===0)return new this(0);const b=(Math.sqrt(8*E+1)+1)/2;if(!Number.isInteger(b))throw new TypeError(`This array is not a compact representation of a DistanceMatrix, ${JSON.stringify(x)}`);const M=new this(b);for(let A=1,I=0,D=0;D<E;D++)M.set(A,I,x[D]),++A>=b&&(A=++I+1);return M}}ct.prototype.klassSubType="DistanceMatrix";class xt extends ot{constructor(x,E,b){super(),this.matrix=x,this.rows=E,this.columns=b}}class Nt extends xt{constructor(x,E){h(x,E),super(x,x.rows,1),this.column=E}set(x,E,b){return this.matrix.set(x,this.column,b),this}get(x){return this.matrix.get(x,this.column)}}class Vt extends xt{constructor(x,E){p(x,E),super(x,x.rows,E.length),this.columnIndices=E}set(x,E,b){return this.matrix.set(x,this.columnIndices[E],b),this}get(x,E){return this.matrix.get(x,this.columnIndices[E])}}class Me extends xt{constructor(x){super(x,x.rows,x.columns)}set(x,E,b){return this.matrix.set(x,this.columns-E-1,b),this}get(x,E){return this.matrix.get(x,this.columns-E-1)}}class un extends xt{constructor(x){super(x,x.rows,x.columns)}set(x,E,b){return this.matrix.set(this.rows-x-1,E,b),this}get(x,E){return this.matrix.get(this.rows-x-1,E)}}class ke extends xt{constructor(x,E){c(x,E),super(x,1,x.columns),this.row=E}set(x,E,b){return this.matrix.set(this.row,E,b),this}get(x,E){return this.matrix.get(this.row,E)}}class Ue extends xt{constructor(x,E){g(x,E),super(x,E.length,x.columns),this.rowIndices=E}set(x,E,b){return this.matrix.set(this.rowIndices[x],E,b),this}get(x,E){return this.matrix.get(this.rowIndices[x],E)}}class Xt extends xt{constructor(x,E,b){g(x,E),p(x,b),super(x,E.length,b.length),this.rowIndices=E,this.columnIndices=b}set(x,E,b){return this.matrix.set(this.rowIndices[x],this.columnIndices[E],b),this}get(x,E){return this.matrix.get(this.rowIndices[x],this.columnIndices[E])}}class cr extends xt{constructor(x,E,b,M,A){v(x,E,b,M,A),super(x,b-E+1,A-M+1),this.startRow=E,this.startColumn=M}set(x,E,b){return this.matrix.set(this.startRow+x,this.startColumn+E,b),this}get(x,E){return this.matrix.get(this.startRow+x,this.startColumn+E)}}class Qt extends xt{constructor(x){super(x,x.columns,x.rows)}set(x,E,b){return this.matrix.set(E,x,b),this}get(x,E){return this.matrix.get(E,x)}}class hr extends ot{constructor(x,E={}){const{rows:b=1}=E;if(x.length%b!==0)throw new Error("the data length is not divisible by the number of rows");super(),this.rows=b,this.columns=x.length/b,this.data=x}set(x,E,b){let M=this._calculateIndex(x,E);return this.data[M]=b,this}get(x,E){let b=this._calculateIndex(x,E);return this.data[b]}_calculateIndex(x,E){return x*this.columns+E}}class be extends ot{constructor(x){super(),this.data=x,this.rows=x.length,this.columns=x[0].length}set(x,E,b){return this.data[x][E]=b,this}get(x,E){return this.data[x][E]}}function Ka(R,x){if(r.isAnyArray(R))return R[0]&&r.isAnyArray(R[0])?new be(R):new hr(R,x);throw new Error("the argument is not an array")}class dr{constructor(x){x=be.checkMatrix(x);let E=x.clone(),b=E.rows,M=E.columns,A=new Float64Array(b),I=1,D,B,z,Q,Y,at,mt,et,lt;for(D=0;D<b;D++)A[D]=D;for(et=new Float64Array(b),B=0;B<M;B++){for(D=0;D<b;D++)et[D]=E.get(D,B);for(D=0;D<b;D++){for(lt=Math.min(D,B),Y=0,z=0;z<lt;z++)Y+=E.get(D,z)*et[z];et[D]-=Y,E.set(D,B,et[D])}for(Q=B,D=B+1;D<b;D++)Math.abs(et[D])>Math.abs(et[Q])&&(Q=D);if(Q!==B){for(z=0;z<M;z++)at=E.get(Q,z),E.set(Q,z,E.get(B,z)),E.set(B,z,at);mt=A[Q],A[Q]=A[B],A[B]=mt,I=-I}if(B<b&&E.get(B,B)!==0)for(D=B+1;D<b;D++)E.set(D,B,E.get(D,B)/E.get(B,B))}this.LU=E,this.pivotVector=A,this.pivotSign=I}isSingular(){let x=this.LU,E=x.columns;for(let b=0;b<E;b++)if(x.get(b,b)===0)return!0;return!1}solve(x){x=W.checkMatrix(x);let E=this.LU;if(E.rows!==x.rows)throw new Error("Invalid matrix dimensions");if(this.isSingular())throw new Error("LU matrix is singular");let M=x.columns,A=x.subMatrixRow(this.pivotVector,0,M-1),I=E.columns,D,B,z;for(z=0;z<I;z++)for(D=z+1;D<I;D++)for(B=0;B<M;B++)A.set(D,B,A.get(D,B)-A.get(z,B)*E.get(D,z));for(z=I-1;z>=0;z--){for(B=0;B<M;B++)A.set(z,B,A.get(z,B)/E.get(z,z));for(D=0;D<z;D++)for(B=0;B<M;B++)A.set(D,B,A.get(D,B)-A.get(z,B)*E.get(D,z))}return A}get determinant(){let x=this.LU;if(!x.isSquare())throw new Error("Matrix must be square");let E=this.pivotSign,b=x.columns;for(let M=0;M<b;M++)E*=x.get(M,M);return E}get lowerTriangularMatrix(){let x=this.LU,E=x.rows,b=x.columns,M=new W(E,b);for(let A=0;A<E;A++)for(let I=0;I<b;I++)A>I?M.set(A,I,x.get(A,I)):A===I?M.set(A,I,1):M.set(A,I,0);return M}get upperTriangularMatrix(){let x=this.LU,E=x.rows,b=x.columns,M=new W(E,b);for(let A=0;A<E;A++)for(let I=0;I<b;I++)A<=I?M.set(A,I,x.get(A,I)):M.set(A,I,0);return M}get pivotPermutationVector(){return Array.from(this.pivotVector)}}function qe(R,x){let E=0;return Math.abs(R)>Math.abs(x)?(E=x/R,Math.abs(R)*Math.sqrt(1+E*E)):x!==0?(E=R/x,Math.abs(x)*Math.sqrt(1+E*E)):0}class Ce{constructor(x){x=be.checkMatrix(x);let E=x.clone(),b=x.rows,M=x.columns,A=new Float64Array(M),I,D,B,z;for(B=0;B<M;B++){let Q=0;for(I=B;I<b;I++)Q=qe(Q,E.get(I,B));if(Q!==0){for(E.get(B,B)<0&&(Q=-Q),I=B;I<b;I++)E.set(I,B,E.get(I,B)/Q);for(E.set(B,B,E.get(B,B)+1),D=B+1;D<M;D++){for(z=0,I=B;I<b;I++)z+=E.get(I,B)*E.get(I,D);for(z=-z/E.get(B,B),I=B;I<b;I++)E.set(I,D,E.get(I,D)+z*E.get(I,B))}}A[B]=-Q}this.QR=E,this.Rdiag=A}solve(x){x=W.checkMatrix(x);let E=this.QR,b=E.rows;if(x.rows!==b)throw new Error("Matrix row dimensions must agree");if(!this.isFullRank())throw new Error("Matrix is rank deficient");let M=x.columns,A=x.clone(),I=E.columns,D,B,z,Q;for(z=0;z<I;z++)for(B=0;B<M;B++){for(Q=0,D=z;D<b;D++)Q+=E.get(D,z)*A.get(D,B);for(Q=-Q/E.get(z,z),D=z;D<b;D++)A.set(D,B,A.get(D,B)+Q*E.get(D,z))}for(z=I-1;z>=0;z--){for(B=0;B<M;B++)A.set(z,B,A.get(z,B)/this.Rdiag[z]);for(D=0;D<z;D++)for(B=0;B<M;B++)A.set(D,B,A.get(D,B)-A.get(z,B)*E.get(D,z))}return A.subMatrix(0,I-1,0,M-1)}isFullRank(){let x=this.QR.columns;for(let E=0;E<x;E++)if(this.Rdiag[E]===0)return!1;return!0}get upperTriangularMatrix(){let x=this.QR,E=x.columns,b=new W(E,E),M,A;for(M=0;M<E;M++)for(A=0;A<E;A++)M<A?b.set(M,A,x.get(M,A)):M===A?b.set(M,A,this.Rdiag[M]):b.set(M,A,0);return b}get orthogonalMatrix(){let x=this.QR,E=x.rows,b=x.columns,M=new W(E,b),A,I,D,B;for(D=b-1;D>=0;D--){for(A=0;A<E;A++)M.set(A,D,0);for(M.set(D,D,1),I=D;I<b;I++)if(x.get(D,D)!==0){for(B=0,A=D;A<E;A++)B+=x.get(A,D)*M.get(A,I);for(B=-B/x.get(D,D),A=D;A<E;A++)M.set(A,I,M.get(A,I)+B*x.get(A,D))}}return M}}class Fn{constructor(x,E={}){if(x=be.checkMatrix(x),x.isEmpty())throw new Error("Matrix must be non-empty");let b=x.rows,M=x.columns;const{computeLeftSingularVectors:A=!0,computeRightSingularVectors:I=!0,autoTranspose:D=!1}=E;let B=!!A,z=!!I,Q=!1,Y;if(b<M)if(!D)Y=x.clone(),console.warn("Computing SVD on a matrix with more columns than rows. Consider enabling autoTranspose");else{Y=x.transpose(),b=Y.rows,M=Y.columns,Q=!0;let X=B;B=z,z=X}else Y=x.clone();let at=Math.min(b,M),mt=Math.min(b+1,M),et=new Float64Array(mt),lt=new W(b,at),_t=new W(M,M),H=new Float64Array(M),yt=new Float64Array(b),Tt=new Float64Array(mt);for(let X=0;X<mt;X++)Tt[X]=X;let Dt=Math.min(b-1,M),jt=Math.max(0,Math.min(M-2,b)),Oe=Math.max(Dt,jt);for(let X=0;X<Oe;X++){if(X<Dt){et[X]=0;for(let gt=X;gt<b;gt++)et[X]=qe(et[X],Y.get(gt,X));if(et[X]!==0){Y.get(X,X)<0&&(et[X]=-et[X]);for(let gt=X;gt<b;gt++)Y.set(gt,X,Y.get(gt,X)/et[X]);Y.set(X,X,Y.get(X,X)+1)}et[X]=-et[X]}for(let gt=X+1;gt<M;gt++){if(X<Dt&&et[X]!==0){let Mt=0;for(let vt=X;vt<b;vt++)Mt+=Y.get(vt,X)*Y.get(vt,gt);Mt=-Mt/Y.get(X,X);for(let vt=X;vt<b;vt++)Y.set(vt,gt,Y.get(vt,gt)+Mt*Y.get(vt,X))}H[gt]=Y.get(X,gt)}if(B&&X<Dt)for(let gt=X;gt<b;gt++)lt.set(gt,X,Y.get(gt,X));if(X<jt){H[X]=0;for(let gt=X+1;gt<M;gt++)H[X]=qe(H[X],H[gt]);if(H[X]!==0){H[X+1]<0&&(H[X]=0-H[X]);for(let gt=X+1;gt<M;gt++)H[gt]/=H[X];H[X+1]+=1}if(H[X]=-H[X],X+1<b&&H[X]!==0){for(let gt=X+1;gt<b;gt++)yt[gt]=0;for(let gt=X+1;gt<b;gt++)for(let Mt=X+1;Mt<M;Mt++)yt[gt]+=H[Mt]*Y.get(gt,Mt);for(let gt=X+1;gt<M;gt++){let Mt=-H[gt]/H[X+1];for(let vt=X+1;vt<b;vt++)Y.set(vt,gt,Y.get(vt,gt)+Mt*yt[vt])}}if(z)for(let gt=X+1;gt<M;gt++)_t.set(gt,X,H[gt])}}let Ct=Math.min(M,b+1);if(Dt<M&&(et[Dt]=Y.get(Dt,Dt)),b<Ct&&(et[Ct-1]=0),jt+1<Ct&&(H[jt]=Y.get(jt,Ct-1)),H[Ct-1]=0,B){for(let X=Dt;X<at;X++){for(let gt=0;gt<b;gt++)lt.set(gt,X,0);lt.set(X,X,1)}for(let X=Dt-1;X>=0;X--)if(et[X]!==0){for(let gt=X+1;gt<at;gt++){let Mt=0;for(let vt=X;vt<b;vt++)Mt+=lt.get(vt,X)*lt.get(vt,gt);Mt=-Mt/lt.get(X,X);for(let vt=X;vt<b;vt++)lt.set(vt,gt,lt.get(vt,gt)+Mt*lt.get(vt,X))}for(let gt=X;gt<b;gt++)lt.set(gt,X,-lt.get(gt,X));lt.set(X,X,1+lt.get(X,X));for(let gt=0;gt<X-1;gt++)lt.set(gt,X,0)}else{for(let gt=0;gt<b;gt++)lt.set(gt,X,0);lt.set(X,X,1)}}if(z)for(let X=M-1;X>=0;X--){if(X<jt&&H[X]!==0)for(let gt=X+1;gt<M;gt++){let Mt=0;for(let vt=X+1;vt<M;vt++)Mt+=_t.get(vt,X)*_t.get(vt,gt);Mt=-Mt/_t.get(X+1,X);for(let vt=X+1;vt<M;vt++)_t.set(vt,gt,_t.get(vt,gt)+Mt*_t.get(vt,X))}for(let gt=0;gt<M;gt++)_t.set(gt,X,0);_t.set(X,X,1)}let Lt=Ct-1,he=Number.EPSILON;for(;Ct>0;){let X,gt;for(X=Ct-2;X>=-1&&X!==-1;X--){const Mt=Number.MIN_VALUE+he*Math.abs(et[X]+Math.abs(et[X+1]));if(Math.abs(H[X])<=Mt||Number.isNaN(H[X])){H[X]=0;break}}if(X===Ct-2)gt=4;else{let Mt;for(Mt=Ct-1;Mt>=X&&Mt!==X;Mt--){let vt=(Mt!==Ct?Math.abs(H[Mt]):0)+(Mt!==X+1?Math.abs(H[Mt-1]):0);if(Math.abs(et[Mt])<=he*vt){et[Mt]=0;break}}Mt===X?gt=3:Mt===Ct-1?gt=1:(gt=2,X=Mt)}switch(X++,gt){case 1:{let Mt=H[Ct-2];H[Ct-2]=0;for(let vt=Ct-2;vt>=X;vt--){let Te=qe(et[vt],Mt),re=et[vt]/Te,we=Mt/Te;if(et[vt]=Te,vt!==X&&(Mt=-we*H[vt-1],H[vt-1]=re*H[vt-1]),z)for(let Ae=0;Ae<M;Ae++)Te=re*_t.get(Ae,vt)+we*_t.get(Ae,Ct-1),_t.set(Ae,Ct-1,-we*_t.get(Ae,vt)+re*_t.get(Ae,Ct-1)),_t.set(Ae,vt,Te)}break}case 2:{let Mt=H[X-1];H[X-1]=0;for(let vt=X;vt<Ct;vt++){let Te=qe(et[vt],Mt),re=et[vt]/Te,we=Mt/Te;if(et[vt]=Te,Mt=-we*H[vt],H[vt]=re*H[vt],B)for(let Ae=0;Ae<b;Ae++)Te=re*lt.get(Ae,vt)+we*lt.get(Ae,X-1),lt.set(Ae,X-1,-we*lt.get(Ae,vt)+re*lt.get(Ae,X-1)),lt.set(Ae,vt,Te)}break}case 3:{const Mt=Math.max(Math.abs(et[Ct-1]),Math.abs(et[Ct-2]),Math.abs(H[Ct-2]),Math.abs(et[X]),Math.abs(H[X])),vt=et[Ct-1]/Mt,Te=et[Ct-2]/Mt,re=H[Ct-2]/Mt,we=et[X]/Mt,Ae=H[X]/Mt,vn=((Te+vt)*(Te-vt)+re*re)/2,_r=vt*re*(vt*re);let tn=0;(vn!==0||_r!==0)&&(vn<0?tn=0-Math.sqrt(vn*vn+_r):tn=Math.sqrt(vn*vn+_r),tn=_r/(vn+tn));let Wr=(we+vt)*(we-vt)+tn,ci=we*Ae;for(let te=X;te<Ct-1;te++){let pn=qe(Wr,ci);pn===0&&(pn=Number.MIN_VALUE);let Kn=Wr/pn,Zn=ci/pn;if(te!==X&&(H[te-1]=pn),Wr=Kn*et[te]+Zn*H[te],H[te]=Kn*H[te]-Zn*et[te],ci=Zn*et[te+1],et[te+1]=Kn*et[te+1],z)for(let en=0;en<M;en++)pn=Kn*_t.get(en,te)+Zn*_t.get(en,te+1),_t.set(en,te+1,-Zn*_t.get(en,te)+Kn*_t.get(en,te+1)),_t.set(en,te,pn);if(pn=qe(Wr,ci),pn===0&&(pn=Number.MIN_VALUE),Kn=Wr/pn,Zn=ci/pn,et[te]=pn,Wr=Kn*H[te]+Zn*et[te+1],et[te+1]=-Zn*H[te]+Kn*et[te+1],ci=Zn*H[te+1],H[te+1]=Kn*H[te+1],B&&te<b-1)for(let en=0;en<b;en++)pn=Kn*lt.get(en,te)+Zn*lt.get(en,te+1),lt.set(en,te+1,-Zn*lt.get(en,te)+Kn*lt.get(en,te+1)),lt.set(en,te,pn)}H[Ct-2]=Wr;break}case 4:{if(et[X]<=0&&(et[X]=et[X]<0?-et[X]:0,z))for(let Mt=0;Mt<=Lt;Mt++)_t.set(Mt,X,-_t.get(Mt,X));for(;X<Lt&&!(et[X]>=et[X+1]);){let Mt=et[X];if(et[X]=et[X+1],et[X+1]=Mt,z&&X<M-1)for(let vt=0;vt<M;vt++)Mt=_t.get(vt,X+1),_t.set(vt,X+1,_t.get(vt,X)),_t.set(vt,X,Mt);if(B&&X<b-1)for(let vt=0;vt<b;vt++)Mt=lt.get(vt,X+1),lt.set(vt,X+1,lt.get(vt,X)),lt.set(vt,X,Mt);X++}Ct--;break}}}if(Q){let X=_t;_t=lt,lt=X}this.m=b,this.n=M,this.s=et,this.U=lt,this.V=_t}solve(x){let E=x,b=this.threshold,M=this.s.length,A=W.zeros(M,M);for(let at=0;at<M;at++)Math.abs(this.s[at])<=b?A.set(at,at,0):A.set(at,at,1/this.s[at]);let I=this.U,D=this.rightSingularVectors,B=D.mmul(A),z=D.rows,Q=I.rows,Y=W.zeros(z,Q);for(let at=0;at<z;at++)for(let mt=0;mt<Q;mt++){let et=0;for(let lt=0;lt<M;lt++)et+=B.get(at,lt)*I.get(mt,lt);Y.set(at,mt,et)}return Y.mmul(E)}solveForDiagonal(x){return this.solve(W.diag(x))}inverse(){let x=this.V,E=this.threshold,b=x.rows,M=x.columns,A=new W(b,this.s.length);for(let Q=0;Q<b;Q++)for(let Y=0;Y<M;Y++)Math.abs(this.s[Y])>E&&A.set(Q,Y,x.get(Q,Y)/this.s[Y]);let I=this.U,D=I.rows,B=I.columns,z=new W(b,D);for(let Q=0;Q<b;Q++)for(let Y=0;Y<D;Y++){let at=0;for(let mt=0;mt<B;mt++)at+=A.get(Q,mt)*I.get(Y,mt);z.set(Q,Y,at)}return z}get condition(){return this.s[0]/this.s[Math.min(this.m,this.n)-1]}get norm2(){return this.s[0]}get rank(){let x=Math.max(this.m,this.n)*this.s[0]*Number.EPSILON,E=0,b=this.s;for(let M=0,A=b.length;M<A;M++)b[M]>x&&E++;return E}get diagonal(){return Array.from(this.s)}get threshold(){return Number.EPSILON/2*Math.max(this.m,this.n)*this.s[0]}get leftSingularVectors(){return this.U}get rightSingularVectors(){return this.V}get diagonalMatrix(){return W.diag(this.s)}}function Bn(R,x=!1){return R=be.checkMatrix(R),x?new Fn(R).inverse():fr(R,W.eye(R.rows))}function fr(R,x,E=!1){return R=be.checkMatrix(R),x=be.checkMatrix(x),E?new Fn(R).solve(x):R.isSquare()?new dr(R).solve(x):new Ce(R).solve(x)}function ui(R){if(R=W.checkMatrix(R),R.isSquare()){if(R.columns===0)return 1;let x,E,b,M;if(R.columns===2)return x=R.get(0,0),E=R.get(0,1),b=R.get(1,0),M=R.get(1,1),x*M-E*b;if(R.columns===3){let A,I,D;return A=new Xt(R,[1,2],[1,2]),I=new Xt(R,[1,2],[0,2]),D=new Xt(R,[1,2],[0,1]),x=R.get(0,0),E=R.get(0,1),b=R.get(0,2),x*ui(A)-E*ui(I)+b*ui(D)}else return new dr(R).determinant}else throw Error("determinant can only be calculated for a square matrix")}function qr(R,x){let E=[];for(let b=0;b<R;b++)b!==x&&E.push(b);return E}function Za(R,x,E,b=1e-9,M=1e-9){if(R>M)return new Array(x.rows+1).fill(0);{let A=x.addRow(E,[0]);for(let I=0;I<A.rows;I++)Math.abs(A.get(I,0))<b&&A.set(I,0,0);return A.to1DArray()}}function Ja(R,x={}){const{thresholdValue:E=1e-9,thresholdError:b=1e-9}=x;R=W.checkMatrix(R);let M=R.rows,A=new W(M,M);for(let I=0;I<M;I++){let D=W.columnVector(R.getRow(I)),B=R.subMatrixRow(qr(M,I)).transpose(),Q=new Fn(B).solve(D),Y=W.sub(D,B.mmul(Q)).abs().max();A.setRow(I,Za(Y,Q,I,E,b))}return A}function Bh(R,x=Number.EPSILON){if(R=W.checkMatrix(R),R.isEmpty())return R.transpose();let E=new Fn(R,{autoTranspose:!0}),b=E.leftSingularVectors,M=E.rightSingularVectors,A=E.diagonal;for(let I=0;I<A.length;I++)Math.abs(A[I])>x?A[I]=1/A[I]:A[I]=0;return M.mmul(W.diag(A).mmul(b.transpose()))}function dl(R,x=R,E={}){R=new W(R);let b=!1;if(typeof x=="object"&&!W.isMatrix(x)&&!r.isAnyArray(x)?(E=x,x=R,b=!0):x=new W(x),R.rows!==x.rows)throw new TypeError("Both matrices must have the same number of rows");const{center:M=!0}=E;M&&(R=R.center("column"),b||(x=x.center("column")));const A=R.transpose().mmul(x);for(let I=0;I<A.rows;I++)for(let D=0;D<A.columns;D++)A.set(I,D,A.get(I,D)*(1/(R.rows-1)));return A}function $r(R,x=R,E={}){R=new W(R);let b=!1;if(typeof x=="object"&&!W.isMatrix(x)&&!r.isAnyArray(x)?(E=x,x=R,b=!0):x=new W(x),R.rows!==x.rows)throw new TypeError("Both matrices must have the same number of rows");const{center:M=!0,scale:A=!0}=E;M&&(R.center("column"),b||x.center("column")),A&&(R.scale("column"),b||x.scale("column"));const I=R.standardDeviation("column",{unbiased:!0}),D=b?I:x.standardDeviation("column",{unbiased:!0}),B=R.transpose().mmul(x);for(let z=0;z<B.rows;z++)for(let Q=0;Q<B.columns;Q++)B.set(z,Q,B.get(z,Q)*(1/(I[z]*D[Q]))*(1/(R.rows-1)));return B}class Gr{constructor(x,E={}){const{assumeSymmetric:b=!1}=E;if(x=be.checkMatrix(x),!x.isSquare())throw new Error("Matrix is not a square matrix");if(x.isEmpty())throw new Error("Matrix must be non-empty");let M=x.columns,A=new W(M,M),I=new Float64Array(M),D=new Float64Array(M),B=x,z,Q,Y=!1;if(b?Y=!0:Y=x.isSymmetric(),Y){for(z=0;z<M;z++)for(Q=0;Q<M;Q++)A.set(z,Q,B.get(z,Q));MC(M,D,I,A),kC(M,D,I,A)}else{let at=new W(M,M),mt=new Float64Array(M);for(Q=0;Q<M;Q++)for(z=0;z<M;z++)at.set(z,Q,B.get(z,Q));OC(M,at,mt,A),TC(M,D,I,A,at)}this.n=M,this.e=D,this.d=I,this.V=A}get realEigenvalues(){return Array.from(this.d)}get imaginaryEigenvalues(){return Array.from(this.e)}get eigenvectorMatrix(){return this.V}get diagonalMatrix(){let x=this.n,E=this.e,b=this.d,M=new W(x,x),A,I;for(A=0;A<x;A++){for(I=0;I<x;I++)M.set(A,I,0);M.set(A,A,b[A]),E[A]>0?M.set(A,A+1,E[A]):E[A]<0&&M.set(A,A-1,E[A])}return M}}function MC(R,x,E,b){let M,A,I,D,B,z,Q,Y;for(B=0;B<R;B++)E[B]=b.get(R-1,B);for(D=R-1;D>0;D--){for(Y=0,I=0,z=0;z<D;z++)Y=Y+Math.abs(E[z]);if(Y===0)for(x[D]=E[D-1],B=0;B<D;B++)E[B]=b.get(D-1,B),b.set(D,B,0),b.set(B,D,0);else{for(z=0;z<D;z++)E[z]/=Y,I+=E[z]*E[z];for(M=E[D-1],A=Math.sqrt(I),M>0&&(A=-A),x[D]=Y*A,I=I-M*A,E[D-1]=M-A,B=0;B<D;B++)x[B]=0;for(B=0;B<D;B++){for(M=E[B],b.set(B,D,M),A=x[B]+b.get(B,B)*M,z=B+1;z<=D-1;z++)A+=b.get(z,B)*E[z],x[z]+=b.get(z,B)*M;x[B]=A}for(M=0,B=0;B<D;B++)x[B]/=I,M+=x[B]*E[B];for(Q=M/(I+I),B=0;B<D;B++)x[B]-=Q*E[B];for(B=0;B<D;B++){for(M=E[B],A=x[B],z=B;z<=D-1;z++)b.set(z,B,b.get(z,B)-(M*x[z]+A*E[z]));E[B]=b.get(D-1,B),b.set(D,B,0)}}E[D]=I}for(D=0;D<R-1;D++){if(b.set(R-1,D,b.get(D,D)),b.set(D,D,1),I=E[D+1],I!==0){for(z=0;z<=D;z++)E[z]=b.get(z,D+1)/I;for(B=0;B<=D;B++){for(A=0,z=0;z<=D;z++)A+=b.get(z,D+1)*b.get(z,B);for(z=0;z<=D;z++)b.set(z,B,b.get(z,B)-A*E[z])}}for(z=0;z<=D;z++)b.set(z,D+1,0)}for(B=0;B<R;B++)E[B]=b.get(R-1,B),b.set(R-1,B,0);b.set(R-1,R-1,1),x[0]=0}function kC(R,x,E,b){let M,A,I,D,B,z,Q,Y,at,mt,et,lt,_t,H,yt,Tt;for(I=1;I<R;I++)x[I-1]=x[I];x[R-1]=0;let Dt=0,jt=0,Oe=Number.EPSILON;for(z=0;z<R;z++){for(jt=Math.max(jt,Math.abs(E[z])+Math.abs(x[z])),Q=z;Q<R&&!(Math.abs(x[Q])<=Oe*jt);)Q++;if(Q>z)do{for(M=E[z],Y=(E[z+1]-M)/(2*x[z]),at=qe(Y,1),Y<0&&(at=-at),E[z]=x[z]/(Y+at),E[z+1]=x[z]*(Y+at),mt=E[z+1],A=M-E[z],I=z+2;I<R;I++)E[I]-=A;for(Dt=Dt+A,Y=E[Q],et=1,lt=et,_t=et,H=x[z+1],yt=0,Tt=0,I=Q-1;I>=z;I--)for(_t=lt,lt=et,Tt=yt,M=et*x[I],A=et*Y,at=qe(Y,x[I]),x[I+1]=yt*at,yt=x[I]/at,et=Y/at,Y=et*E[I]-yt*M,E[I+1]=A+yt*(et*M+yt*E[I]),B=0;B<R;B++)A=b.get(B,I+1),b.set(B,I+1,yt*b.get(B,I)+et*A),b.set(B,I,et*b.get(B,I)-yt*A);Y=-yt*Tt*_t*H*x[z]/mt,x[z]=yt*Y,E[z]=et*Y}while(Math.abs(x[z])>Oe*jt);E[z]=E[z]+Dt,x[z]=0}for(I=0;I<R-1;I++){for(B=I,Y=E[I],D=I+1;D<R;D++)E[D]<Y&&(B=D,Y=E[D]);if(B!==I)for(E[B]=E[I],E[I]=Y,D=0;D<R;D++)Y=b.get(D,I),b.set(D,I,b.get(D,B)),b.set(D,B,Y)}}function OC(R,x,E,b){let M=0,A=R-1,I,D,B,z,Q,Y,at;for(Y=M+1;Y<=A-1;Y++){for(at=0,z=Y;z<=A;z++)at=at+Math.abs(x.get(z,Y-1));if(at!==0){for(B=0,z=A;z>=Y;z--)E[z]=x.get(z,Y-1)/at,B+=E[z]*E[z];for(D=Math.sqrt(B),E[Y]>0&&(D=-D),B=B-E[Y]*D,E[Y]=E[Y]-D,Q=Y;Q<R;Q++){for(I=0,z=A;z>=Y;z--)I+=E[z]*x.get(z,Q);for(I=I/B,z=Y;z<=A;z++)x.set(z,Q,x.get(z,Q)-I*E[z])}for(z=0;z<=A;z++){for(I=0,Q=A;Q>=Y;Q--)I+=E[Q]*x.get(z,Q);for(I=I/B,Q=Y;Q<=A;Q++)x.set(z,Q,x.get(z,Q)-I*E[Q])}E[Y]=at*E[Y],x.set(Y,Y-1,at*D)}}for(z=0;z<R;z++)for(Q=0;Q<R;Q++)b.set(z,Q,z===Q?1:0);for(Y=A-1;Y>=M+1;Y--)if(x.get(Y,Y-1)!==0){for(z=Y+1;z<=A;z++)E[z]=x.get(z,Y-1);for(Q=Y;Q<=A;Q++){for(D=0,z=Y;z<=A;z++)D+=E[z]*b.get(z,Q);for(D=D/E[Y]/x.get(Y,Y-1),z=Y;z<=A;z++)b.set(z,Q,b.get(z,Q)+D*E[z])}}}function TC(R,x,E,b,M){let A=R-1,I=0,D=R-1,B=Number.EPSILON,z=0,Q=0,Y=0,at=0,mt=0,et=0,lt=0,_t=0,H,yt,Tt,Dt,jt,Oe,Ct,Lt,he,X,gt,Mt,vt,Te,re;for(H=0;H<R;H++)for((H<I||H>D)&&(E[H]=M.get(H,H),x[H]=0),yt=Math.max(H-1,0);yt<R;yt++)Q=Q+Math.abs(M.get(H,yt));for(;A>=I;){for(Dt=A;Dt>I&&(et=Math.abs(M.get(Dt-1,Dt-1))+Math.abs(M.get(Dt,Dt)),et===0&&(et=Q),!(Math.abs(M.get(Dt,Dt-1))<B*et));)Dt--;if(Dt===A)M.set(A,A,M.get(A,A)+z),E[A]=M.get(A,A),x[A]=0,A--,_t=0;else if(Dt===A-1){if(Ct=M.get(A,A-1)*M.get(A-1,A),Y=(M.get(A-1,A-1)-M.get(A,A))/2,at=Y*Y+Ct,lt=Math.sqrt(Math.abs(at)),M.set(A,A,M.get(A,A)+z),M.set(A-1,A-1,M.get(A-1,A-1)+z),Lt=M.get(A,A),at>=0){for(lt=Y>=0?Y+lt:Y-lt,E[A-1]=Lt+lt,E[A]=E[A-1],lt!==0&&(E[A]=Lt-Ct/lt),x[A-1]=0,x[A]=0,Lt=M.get(A,A-1),et=Math.abs(Lt)+Math.abs(lt),Y=Lt/et,at=lt/et,mt=Math.sqrt(Y*Y+at*at),Y=Y/mt,at=at/mt,yt=A-1;yt<R;yt++)lt=M.get(A-1,yt),M.set(A-1,yt,at*lt+Y*M.get(A,yt)),M.set(A,yt,at*M.get(A,yt)-Y*lt);for(H=0;H<=A;H++)lt=M.get(H,A-1),M.set(H,A-1,at*lt+Y*M.get(H,A)),M.set(H,A,at*M.get(H,A)-Y*lt);for(H=I;H<=D;H++)lt=b.get(H,A-1),b.set(H,A-1,at*lt+Y*b.get(H,A)),b.set(H,A,at*b.get(H,A)-Y*lt)}else E[A-1]=Lt+Y,E[A]=Lt+Y,x[A-1]=lt,x[A]=-lt;A=A-2,_t=0}else{if(Lt=M.get(A,A),he=0,Ct=0,Dt<A&&(he=M.get(A-1,A-1),Ct=M.get(A,A-1)*M.get(A-1,A)),_t===10){for(z+=Lt,H=I;H<=A;H++)M.set(H,H,M.get(H,H)-Lt);et=Math.abs(M.get(A,A-1))+Math.abs(M.get(A-1,A-2)),Lt=he=.75*et,Ct=-.4375*et*et}if(_t===30&&(et=(he-Lt)/2,et=et*et+Ct,et>0)){for(et=Math.sqrt(et),he<Lt&&(et=-et),et=Lt-Ct/((he-Lt)/2+et),H=I;H<=A;H++)M.set(H,H,M.get(H,H)-et);z+=et,Lt=he=Ct=.964}for(_t=_t+1,jt=A-2;jt>=Dt&&(lt=M.get(jt,jt),mt=Lt-lt,et=he-lt,Y=(mt*et-Ct)/M.get(jt+1,jt)+M.get(jt,jt+1),at=M.get(jt+1,jt+1)-lt-mt-et,mt=M.get(jt+2,jt+1),et=Math.abs(Y)+Math.abs(at)+Math.abs(mt),Y=Y/et,at=at/et,mt=mt/et,!(jt===Dt||Math.abs(M.get(jt,jt-1))*(Math.abs(at)+Math.abs(mt))<B*(Math.abs(Y)*(Math.abs(M.get(jt-1,jt-1))+Math.abs(lt)+Math.abs(M.get(jt+1,jt+1))))));)jt--;for(H=jt+2;H<=A;H++)M.set(H,H-2,0),H>jt+2&&M.set(H,H-3,0);for(Tt=jt;Tt<=A-1&&(Te=Tt!==A-1,Tt!==jt&&(Y=M.get(Tt,Tt-1),at=M.get(Tt+1,Tt-1),mt=Te?M.get(Tt+2,Tt-1):0,Lt=Math.abs(Y)+Math.abs(at)+Math.abs(mt),Lt!==0&&(Y=Y/Lt,at=at/Lt,mt=mt/Lt)),Lt!==0);Tt++)if(et=Math.sqrt(Y*Y+at*at+mt*mt),Y<0&&(et=-et),et!==0){for(Tt!==jt?M.set(Tt,Tt-1,-et*Lt):Dt!==jt&&M.set(Tt,Tt-1,-M.get(Tt,Tt-1)),Y=Y+et,Lt=Y/et,he=at/et,lt=mt/et,at=at/Y,mt=mt/Y,yt=Tt;yt<R;yt++)Y=M.get(Tt,yt)+at*M.get(Tt+1,yt),Te&&(Y=Y+mt*M.get(Tt+2,yt),M.set(Tt+2,yt,M.get(Tt+2,yt)-Y*lt)),M.set(Tt,yt,M.get(Tt,yt)-Y*Lt),M.set(Tt+1,yt,M.get(Tt+1,yt)-Y*he);for(H=0;H<=Math.min(A,Tt+3);H++)Y=Lt*M.get(H,Tt)+he*M.get(H,Tt+1),Te&&(Y=Y+lt*M.get(H,Tt+2),M.set(H,Tt+2,M.get(H,Tt+2)-Y*mt)),M.set(H,Tt,M.get(H,Tt)-Y),M.set(H,Tt+1,M.get(H,Tt+1)-Y*at);for(H=I;H<=D;H++)Y=Lt*b.get(H,Tt)+he*b.get(H,Tt+1),Te&&(Y=Y+lt*b.get(H,Tt+2),b.set(H,Tt+2,b.get(H,Tt+2)-Y*mt)),b.set(H,Tt,b.get(H,Tt)-Y),b.set(H,Tt+1,b.get(H,Tt+1)-Y*at)}}}if(Q!==0){for(A=R-1;A>=0;A--)if(Y=E[A],at=x[A],at===0)for(Dt=A,M.set(A,A,1),H=A-1;H>=0;H--){for(Ct=M.get(H,H)-Y,mt=0,yt=Dt;yt<=A;yt++)mt=mt+M.get(H,yt)*M.get(yt,A);if(x[H]<0)lt=Ct,et=mt;else if(Dt=H,x[H]===0?M.set(H,A,Ct!==0?-mt/Ct:-mt/(B*Q)):(Lt=M.get(H,H+1),he=M.get(H+1,H),at=(E[H]-Y)*(E[H]-Y)+x[H]*x[H],Oe=(Lt*et-lt*mt)/at,M.set(H,A,Oe),M.set(H+1,A,Math.abs(Lt)>Math.abs(lt)?(-mt-Ct*Oe)/Lt:(-et-he*Oe)/lt)),Oe=Math.abs(M.get(H,A)),B*Oe*Oe>1)for(yt=H;yt<=A;yt++)M.set(yt,A,M.get(yt,A)/Oe)}else if(at<0)for(Dt=A-1,Math.abs(M.get(A,A-1))>Math.abs(M.get(A-1,A))?(M.set(A-1,A-1,at/M.get(A,A-1)),M.set(A-1,A,-(M.get(A,A)-Y)/M.get(A,A-1))):(re=fl(0,-M.get(A-1,A),M.get(A-1,A-1)-Y,at),M.set(A-1,A-1,re[0]),M.set(A-1,A,re[1])),M.set(A,A-1,0),M.set(A,A,1),H=A-2;H>=0;H--){for(X=0,gt=0,yt=Dt;yt<=A;yt++)X=X+M.get(H,yt)*M.get(yt,A-1),gt=gt+M.get(H,yt)*M.get(yt,A);if(Ct=M.get(H,H)-Y,x[H]<0)lt=Ct,mt=X,et=gt;else if(Dt=H,x[H]===0?(re=fl(-X,-gt,Ct,at),M.set(H,A-1,re[0]),M.set(H,A,re[1])):(Lt=M.get(H,H+1),he=M.get(H+1,H),Mt=(E[H]-Y)*(E[H]-Y)+x[H]*x[H]-at*at,vt=(E[H]-Y)*2*at,Mt===0&&vt===0&&(Mt=B*Q*(Math.abs(Ct)+Math.abs(at)+Math.abs(Lt)+Math.abs(he)+Math.abs(lt))),re=fl(Lt*mt-lt*X+at*gt,Lt*et-lt*gt-at*X,Mt,vt),M.set(H,A-1,re[0]),M.set(H,A,re[1]),Math.abs(Lt)>Math.abs(lt)+Math.abs(at)?(M.set(H+1,A-1,(-X-Ct*M.get(H,A-1)+at*M.get(H,A))/Lt),M.set(H+1,A,(-gt-Ct*M.get(H,A)-at*M.get(H,A-1))/Lt)):(re=fl(-mt-he*M.get(H,A-1),-et-he*M.get(H,A),lt,at),M.set(H+1,A-1,re[0]),M.set(H+1,A,re[1]))),Oe=Math.max(Math.abs(M.get(H,A-1)),Math.abs(M.get(H,A))),B*Oe*Oe>1)for(yt=H;yt<=A;yt++)M.set(yt,A-1,M.get(yt,A-1)/Oe),M.set(yt,A,M.get(yt,A)/Oe)}for(H=0;H<R;H++)if(H<I||H>D)for(yt=H;yt<R;yt++)b.set(H,yt,M.get(H,yt));for(yt=R-1;yt>=I;yt--)for(H=I;H<=D;H++){for(lt=0,Tt=I;Tt<=Math.min(yt,D);Tt++)lt=lt+b.get(H,Tt)*M.get(Tt,yt);b.set(H,yt,lt)}}}function fl(R,x,E,b){let M,A;return Math.abs(E)>Math.abs(b)?(M=b/E,A=E+M*b,[(R+M*x)/A,(x-M*R)/A]):(M=E/b,A=b+M*E,[(M*R+x)/A,(M*x-R)/A])}class eb{constructor(x){if(x=be.checkMatrix(x),!x.isSymmetric())throw new Error("Matrix is not symmetric");let E=x,b=E.rows,M=new W(b,b),A=!0,I,D,B;for(D=0;D<b;D++){let z=0;for(B=0;B<D;B++){let Q=0;for(I=0;I<B;I++)Q+=M.get(B,I)*M.get(D,I);Q=(E.get(D,B)-Q)/M.get(B,B),M.set(D,B,Q),z=z+Q*Q}for(z=E.get(D,D)-z,A&=z>0,M.set(D,D,Math.sqrt(Math.max(z,0))),B=D+1;B<b;B++)M.set(D,B,0)}this.L=M,this.positiveDefinite=!!A}isPositiveDefinite(){return this.positiveDefinite}solve(x){x=be.checkMatrix(x);let E=this.L,b=E.rows;if(x.rows!==b)throw new Error("Matrix dimensions do not match");if(this.isPositiveDefinite()===!1)throw new Error("Matrix is not positive definite");let M=x.columns,A=x.clone(),I,D,B;for(B=0;B<b;B++)for(D=0;D<M;D++){for(I=0;I<B;I++)A.set(B,D,A.get(B,D)-A.get(I,D)*E.get(B,I));A.set(B,D,A.get(B,D)/E.get(B,B))}for(B=b-1;B>=0;B--)for(D=0;D<M;D++){for(I=B+1;I<b;I++)A.set(B,D,A.get(B,D)-A.get(I,D)*E.get(I,B));A.set(B,D,A.get(B,D)/E.get(B,B))}return A}get lowerTriangularMatrix(){return this.L}}class nb{constructor(x,E={}){x=be.checkMatrix(x);let{Y:b}=E;const{scaleScores:M=!1,maxIterations:A=1e3,terminationCriteria:I=1e-10}=E;let D;if(b){if(r.isAnyArray(b)&&typeof b[0]=="number"?b=W.columnVector(b):b=be.checkMatrix(b),b.rows!==x.rows)throw new Error("Y should have the same number of rows as X");D=b.getColumnVector(0)}else D=x.getColumnVector(0);let B=1,z,Q,Y,at;for(let mt=0;mt<A&&B>I;mt++)Y=x.transpose().mmul(D).div(D.transpose().mmul(D).get(0,0)),Y=Y.div(Y.norm()),z=x.mmul(Y).div(Y.transpose().mmul(Y).get(0,0)),mt>0&&(B=z.clone().sub(at).pow(2).sum()),at=z.clone(),b?(Q=b.transpose().mmul(z).div(z.transpose().mmul(z).get(0,0)),Q=Q.div(Q.norm()),D=b.mmul(Q).div(Q.transpose().mmul(Q).get(0,0))):D=z;if(b){let mt=x.transpose().mmul(z).div(z.transpose().mmul(z).get(0,0));mt=mt.div(mt.norm());let et=x.clone().sub(z.clone().mmul(mt.transpose())),lt=D.transpose().mmul(z).div(z.transpose().mmul(z).get(0,0)),_t=b.clone().sub(z.clone().mulS(lt.get(0,0)).mmul(Q.transpose()));this.t=z,this.p=mt.transpose(),this.w=Y.transpose(),this.q=Q,this.u=D,this.s=z.transpose().mmul(z),this.xResidual=et,this.yResidual=_t,this.betas=lt}else this.w=Y.transpose(),this.s=z.transpose().mmul(z).sqrt(),M?this.t=z.clone().div(this.s.get(0,0)):this.t=z,this.xResidual=x.sub(z.mmul(Y.transpose()))}}return Kt.AbstractMatrix=ot,Kt.CHO=eb,Kt.CholeskyDecomposition=eb,Kt.DistanceMatrix=ct,Kt.EVD=Gr,Kt.EigenvalueDecomposition=Gr,Kt.LU=dr,Kt.LuDecomposition=dr,Kt.Matrix=W,Kt.MatrixColumnSelectionView=Vt,Kt.MatrixColumnView=Nt,Kt.MatrixFlipColumnView=Me,Kt.MatrixFlipRowView=un,Kt.MatrixRowSelectionView=Ue,Kt.MatrixRowView=ke,Kt.MatrixSelectionView=Xt,Kt.MatrixSubView=cr,Kt.MatrixTransposeView=Qt,Kt.NIPALS=nb,Kt.Nipals=nb,Kt.QR=Ce,Kt.QrDecomposition=Ce,Kt.SVD=Fn,Kt.SingularValueDecomposition=Fn,Kt.SymmetricMatrix=tt,Kt.WrapperMatrix1D=hr,Kt.WrapperMatrix2D=be,Kt.correlation=$r,Kt.covariance=dl,Kt.default=W,Kt.determinant=ui,Kt.inverse=Bn,Kt.linearDependencies=Ja,Kt.pseudoInverse=Bh,Kt.solve=fr,Kt.wrap=Ka,Kt}var jc=r9();const wx=oc(jc),Wi=jc.Matrix,gP=jc.SingularValueDecomposition;wx.Matrix?wx.Matrix:jc.Matrix;const i9={center:[0,0],linkDistance:50};class vP{constructor(t={}){this.options=t,this.id="mds",this.options=Object.assign(Object.assign({},i9),t)}execute(t,e){return Ut(this,void 0,void 0,function*(){return this.genericMDSLayout(!1,t,e)})}assign(t,e){return Ut(this,void 0,void 0,function*(){yield this.genericMDSLayout(!0,t,e)})}genericMDSLayout(t,e,n){return Ut(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{center:a=[0,0],linkDistance:s=50}=i,o=e.getAllNodes(),l=e.getAllEdges();if(!(o!=null&&o.length)||o.length===1)return Va(e,t,a);const u=uP({nodes:o,edges:l}),c=lP(u);a9(c);const h=Xj(c,s),d=s9(h),f=[];return d.forEach((p,v)=>{const y=ir(o[v]);y.data.x=p[0]+a[0],y.data.y=p[1]+a[1],f.push(y)}),t&&f.forEach(p=>e.mergeNodeData(p.id,{x:p.data.x,y:p.data.y})),{nodes:f,edges:l}})}}const a9=r=>{let t=-999999;r.forEach(e=>{e.forEach(n=>{n!==1/0&&t<n&&(t=n)})}),r.forEach((e,n)=>{e.forEach((i,a)=>{i===1/0&&(r[n][a]=t)})})},s9=r=>{const e=Wi.mul(Wi.pow(r,2),-.5),n=e.mean("row"),i=e.mean("column"),a=e.mean();e.add(a).subRowVector(n).subColumnVector(i);const s=new gP(e),o=Wi.sqrt(s.diagonalMatrix).diagonal();return s.leftSingularVectors.toJSON().map(l=>Wi.mul([l],[o]).toJSON()[0].splice(0,2))};function fm(r){return!!r.tick&&!!r.stop}const o9={gForce:!0,force2:!0,d3force:!0,fruchterman:!0,forceAtlas2:!0,force:!0,"graphin-force":!0},l9={center:[0,0],comboPadding:10,treeKey:"combo"};class u9{constructor(t={}){this.options=t,this.id="comboCombined",this.options=Object.assign(Object.assign({},l9),t)}execute(t,e){return Ut(this,void 0,void 0,function*(){return this.genericComboCombinedLayout(!1,t,e)})}assign(t,e){return Ut(this,void 0,void 0,function*(){yield this.genericComboCombinedLayout(!0,t,e)})}genericComboCombinedLayout(t,e,n){return Ut(this,void 0,void 0,function*(){const i=this.initVals(Object.assign(Object.assign({},this.options),n)),{center:a,treeKey:s,outerLayout:o}=i,l=e.getAllNodes().filter(O=>!O.data._isCombo),u=e.getAllNodes().filter(O=>O.data._isCombo),c=e.getAllEdges(),h=l==null?void 0:l.length;if(!h||h===1)return Va(e,t,a);const d=[],f=new Map;l.forEach(O=>{f.set(O.id,O)});const g=new Map;u.forEach(O=>{g.set(O.id,O)});const p=new Map,v=this.getInnerGraphs(e,s,f,g,c,i,p);yield Promise.all(v);const y=new Map,m=[],w=new Map;let S=!0;e.getRoots(s).forEach(O=>{const P=p.get(O.id),N=g.get(O.id)||f.get(O.id),C={id:O.id,data:Object.assign(Object.assign({},O.data),{x:P.data.x||N.data.x,y:P.data.y||N.data.y,fx:P.data.fx||N.data.fx,fy:P.data.fy||N.data.fy,mass:P.data.mass||N.data.mass,size:P.data.size})};m.push(C),y.set(O.id,!0),!isNaN(C.data.x)&&C.data.x!==0&&!isNaN(C.data.y)&&C.data.y!==0?S=!1:(C.data.x=Math.random()*100,C.data.y=Math.random()*100),cm(e,[O],L=>{L.id!==O.id&&w.set(L.id,O.id)},"TB",s)});const _=[];c.forEach(O=>{const P=w.get(O.source)||O.source,N=w.get(O.target)||O.target;P!==N&&y.has(P)&&y.has(N)&&_.push({id:O.id,source:P,target:N,data:{}})});let k;if(m!=null&&m.length){if(m.length===1)m[0].data.x=a[0],m[0].data.y=a[1];else{const O=new ln({nodes:m,edges:_}),P=o||new fP;S&&o9[P.id]&&(yield(m.length<100?new vP:new dm).assign(O));const N=Object.assign({center:a,kg:5,preventOverlap:!0,animate:!1},P.id==="force"?{gravity:1,factor:4,linkDistance:(C,L,F)=>{const G=Math.max(...L.data.size)||32,V=Math.max(...F.data.size)||32;return G/2+V/2+200}}:{});k=yield xx(P,O,N)}p.forEach(O=>{var P;const N=k.nodes.find(F=>F.id===O.id);if(N){const{x:F,y:G}=N.data;O.data.visited=!0,O.data.x=F,O.data.y=G,d.push({id:O.id,data:{x:F,y:G}})}const{x:C,y:L}=O.data;(P=O.data.nodes)===null||P===void 0||P.forEach(F=>{d.push({id:F.id,data:{x:F.data.x+C,y:F.data.y+L}})})}),p.forEach(({data:O})=>{const{x:P,y:N,visited:C,nodes:L}=O;L==null||L.forEach(F=>{if(!C){const G=d.find(V=>V.id===F.id);G.data.x+=P||0,G.data.y+=N||0}})})}return t&&d.forEach(O=>{e.mergeNodeData(O.id,{x:O.data.x,y:O.data.y})}),{nodes:d,edges:c}})}initVals(t){const e=Object.assign({},t),{nodeSize:n,spacing:i,comboPadding:a}=t;let s,o;if(Et(i)?o=()=>i:kt(i)?o=i:o=()=>0,e.spacing=o,!n)s=u=>{const c=o(u);return u.size?vi(u.size)?((u.size[0]>u.size[1]?u.size[0]:u.size[1])+c)/2:Ve(u.size)?((u.size.width>u.size.height?u.size.width:u.size.height)+c)/2:(u.size+c)/2:32+c/2};else if(kt(n))s=u=>{const c=n(u),h=o(u);return vi(u.size)?((u.size[0]>u.size[1]?u.size[0]:u.size[1])+h)/2:((c||32)+h)/2};else if(vi(n)){const c=(n[0]>n[1]?n[0]:n[1])/2;s=h=>c+o(h)/2}else{const u=n/2;s=c=>u+o(c)/2}e.nodeSize=s;let l;return Et(a)?l=()=>a:vi(a)?l=()=>Math.max.apply(null,a):kt(a)?l=a:l=()=>0,e.comboPadding=l,e}getInnerGraphs(t,e,n,i,a,s,o){const{nodeSize:l,comboPadding:u,spacing:c,innerLayout:h}=s,d=h||new dm({}),f={center:[0,0],preventOverlap:!0,nodeSpacing:c},g=[],p=v=>{let y=(u==null?void 0:u(v))||10;return vi(y)&&(y=Math.max(...y)),{size:y?[y*2,y*2]:[30,30],padding:y}};return t.getRoots(e).forEach(v=>{o.set(v.id,{id:v.id,data:{nodes:[],size:p(v).size}});let y=Promise.resolve();cm(t,[v],m=>{var w;if(!m.data._isCombo)return;const{size:S,padding:_}=p(m);if(!(!((w=t.getChildren(m.id,e))===null||w===void 0)&&w.length))o.set(m.id,{id:m.id,data:Object.assign(Object.assign({},m.data),{size:S})});else{const k=o.get(m.id);o.set(m.id,{id:m.id,data:Object.assign({nodes:[]},k==null?void 0:k.data)});const T=new Map,O=t.getChildren(m.id,e).map(C=>{if(C.data._isCombo)return o.has(C.id)||o.set(C.id,{id:C.id,data:Object.assign({},C.data)}),T.set(C.id,!0),o.get(C.id);const L=n.get(C.id)||i.get(C.id);return T.set(C.id,!0),{id:C.id,data:Object.assign(Object.assign({},L.data),C.data)}}),P={nodes:O,edges:a.filter(C=>T.has(C.source)&&T.has(C.target))};let N=1/0;O.forEach(C=>{var L;let{size:F}=C.data;F||(F=((L=o.get(C.id))===null||L===void 0?void 0:L.data.size)||(l==null?void 0:l(C))||[30,30]),Et(F)&&(F=[F,F]);const[G,V]=F;N>G&&(N=G),N>V&&(N=V),C.data.size=F}),y=y.then(()=>Ut(this,void 0,void 0,function*(){const C=new ln(P);yield xx(d,C,f,!0);const{minX:L,minY:F,maxX:G,maxY:V}=Kj(O),U={x:(G+L)/2,y:(V+F)/2};P.nodes.forEach(j=>{j.data.x-=U.x,j.data.y-=U.y});const q=[Math.max(G-L,N)+_*2,Math.max(V-F,N)+_*2];o.get(m.id).data.size=q,o.get(m.id).data.nodes=O}))}return!0},"BT",e),g.push(y)}),g}}function xx(r,t,e,n){var i;return Ut(this,void 0,void 0,function*(){return fm(r)?(r.execute(t,e),r.stop(),r.tick((i=e.iterations)!==null&&i!==void 0?i:300)):n?yield r.assign(t,e):yield r.execute(t,e)})}function c9(r,t){var e,n=1;r==null&&(r=0),t==null&&(t=0);function i(){var a,s=e.length,o,l=0,u=0;for(a=0;a<s;++a)o=e[a],l+=o.x,u+=o.y;for(l=(l/s-r)*n,u=(u/s-t)*n,a=0;a<s;++a)o=e[a],o.x-=l,o.y-=u}return i.initialize=function(a){e=a},i.x=function(a){return arguments.length?(r=+a,i):r},i.y=function(a){return arguments.length?(t=+a,i):t},i.strength=function(a){return arguments.length?(n=+a,i):n},i}function sn(r){return function(){return r}}function Vi(r){return(r()-.5)*1e-6}function h9(r){return r.x+r.vx}function d9(r){return r.y+r.vy}function f9(r){var t,e,n,i=1,a=1;typeof r!="function"&&(r=sn(r==null?1:+r));function s(){for(var u,c=t.length,h,d,f,g,p,v,y=0;y<a;++y)for(h=zc(t,h9,d9).visitAfter(o),u=0;u<c;++u)d=t[u],p=e[d.index],v=p*p,f=d.x+d.vx,g=d.y+d.vy,h.visit(m);function m(w,S,_,k,T){var O=w.data,P=w.r,N=p+P;if(O){if(O.index>d.index){var C=f-O.x-O.vx,L=g-O.y-O.vy,F=C*C+L*L;F<N*N&&(C===0&&(C=Vi(n),F+=C*C),L===0&&(L=Vi(n),F+=L*L),F=(N-(F=Math.sqrt(F)))/F*i,d.vx+=(C*=F)*(N=(P*=P)/(v+P)),d.vy+=(L*=F)*N,O.vx-=C*(N=1-N),O.vy-=L*N)}return}return S>f+N||k<f-N||_>g+N||T<g-N}}function o(u){if(u.data)return u.r=e[u.data.index];for(var c=u.r=0;c<4;++c)u[c]&&u[c].r>u.r&&(u.r=u[c].r)}function l(){if(t){var u,c=t.length,h;for(e=new Array(c),u=0;u<c;++u)h=t[u],e[h.index]=+r(h,u,t)}}return s.initialize=function(u,c){t=u,n=c,l()},s.iterations=function(u){return arguments.length?(a=+u,s):a},s.strength=function(u){return arguments.length?(i=+u,s):i},s.radius=function(u){return arguments.length?(r=typeof u=="function"?u:sn(+u),l(),s):r},s}function g9(r){return r.index}function Ex(r,t){var e=r.get(t);if(!e)throw new Error("node not found: "+t);return e}function v9(r){var t=g9,e=h,n,i=sn(30),a,s,o,l,u,c=1;r==null&&(r=[]);function h(v){return 1/Math.min(o[v.source.index],o[v.target.index])}function d(v){for(var y=0,m=r.length;y<c;++y)for(var w=0,S,_,k,T,O,P,N;w<m;++w)S=r[w],_=S.source,k=S.target,T=k.x+k.vx-_.x-_.vx||Vi(u),O=k.y+k.vy-_.y-_.vy||Vi(u),P=Math.sqrt(T*T+O*O),P=(P-a[w])/P*v*n[w],T*=P,O*=P,k.vx-=T*(N=l[w]),k.vy-=O*N,_.vx+=T*(N=1-N),_.vy+=O*N}function f(){if(s){var v,y=s.length,m=r.length,w=new Map(s.map((_,k)=>[t(_,k,s),_])),S;for(v=0,o=new Array(y);v<m;++v)S=r[v],S.index=v,typeof S.source!="object"&&(S.source=Ex(w,S.source)),typeof S.target!="object"&&(S.target=Ex(w,S.target)),o[S.source.index]=(o[S.source.index]||0)+1,o[S.target.index]=(o[S.target.index]||0)+1;for(v=0,l=new Array(m);v<m;++v)S=r[v],l[v]=o[S.source.index]/(o[S.source.index]+o[S.target.index]);n=new Array(m),g(),a=new Array(m),p()}}function g(){if(s)for(var v=0,y=r.length;v<y;++v)n[v]=+e(r[v],v,r)}function p(){if(s)for(var v=0,y=r.length;v<y;++v)a[v]=+i(r[v],v,r)}return d.initialize=function(v,y){s=v,u=y,f()},d.links=function(v){return arguments.length?(r=v,f(),d):r},d.id=function(v){return arguments.length?(t=v,d):t},d.iterations=function(v){return arguments.length?(c=+v,d):c},d.strength=function(v){return arguments.length?(e=typeof v=="function"?v:sn(+v),g(),d):e},d.distance=function(v){return arguments.length?(i=typeof v=="function"?v:sn(+v),p(),d):i},d}var p9={value:()=>{}};function pP(){for(var r=0,t=arguments.length,e={},n;r<t;++r){if(!(n=arguments[r]+"")||n in e||/[\s.]/.test(n))throw new Error("illegal type: "+n);e[n]=[]}return new mu(e)}function mu(r){this._=r}function y9(r,t){return r.trim().split(/^|\s+/).map(function(e){var n="",i=e.indexOf(".");if(i>=0&&(n=e.slice(i+1),e=e.slice(0,i)),e&&!t.hasOwnProperty(e))throw new Error("unknown type: "+e);return{type:e,name:n}})}mu.prototype=pP.prototype={constructor:mu,on:function(r,t){var e=this._,n=y9(r+"",e),i,a=-1,s=n.length;if(arguments.length<2){for(;++a<s;)if((i=(r=n[a]).type)&&(i=m9(e[i],r.name)))return i;return}if(t!=null&&typeof t!="function")throw new Error("invalid callback: "+t);for(;++a<s;)if(i=(r=n[a]).type)e[i]=Sx(e[i],r.name,t);else if(t==null)for(i in e)e[i]=Sx(e[i],r.name,null);return this},copy:function(){var r={},t=this._;for(var e in t)r[e]=t[e].slice();return new mu(r)},call:function(r,t){if((i=arguments.length-2)>0)for(var e=new Array(i),n=0,i,a;n<i;++n)e[n]=arguments[n+2];if(!this._.hasOwnProperty(r))throw new Error("unknown type: "+r);for(a=this._[r],n=0,i=a.length;n<i;++n)a[n].value.apply(t,e)},apply:function(r,t,e){if(!this._.hasOwnProperty(r))throw new Error("unknown type: "+r);for(var n=this._[r],i=0,a=n.length;i<a;++i)n[i].value.apply(t,e)}};function m9(r,t){for(var e=0,n=r.length,i;e<n;++e)if((i=r[e]).name===t)return i.value}function Sx(r,t,e){for(var n=0,i=r.length;n<i;++n)if(r[n].name===t){r[n]=p9,r=r.slice(0,n).concat(r.slice(n+1));break}return e!=null&&r.push({name:t,value:e}),r}var As=0,so=0,Zs=0,yP=1e3,Ku,oo,Zu=0,za=0,qc=0,Fo=typeof performance=="object"&&performance.now?performance:Date,mP=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(r){setTimeout(r,17)};function bP(){return za||(mP(b9),za=Fo.now()+qc)}function b9(){za=0}function gm(){this._call=this._time=this._next=null}gm.prototype=wP.prototype={constructor:gm,restart:function(r,t,e){if(typeof r!="function")throw new TypeError("callback is not a function");e=(e==null?bP():+e)+(t==null?0:+t),!this._next&&oo!==this&&(oo?oo._next=this:Ku=this,oo=this),this._call=r,this._time=e,vm()},stop:function(){this._call&&(this._call=null,this._time=1/0,vm())}};function wP(r,t,e){var n=new gm;return n.restart(r,t,e),n}function w9(){bP(),++As;for(var r=Ku,t;r;)(t=za-r._time)>=0&&r._call.call(void 0,t),r=r._next;--As}function _x(){za=(Zu=Fo.now())+qc,As=so=0;try{w9()}finally{As=0,E9(),za=0}}function x9(){var r=Fo.now(),t=r-Zu;t>yP&&(qc-=t,Zu=r)}function E9(){for(var r,t=Ku,e,n=1/0;t;)t._call?(n>t._time&&(n=t._time),r=t,t=t._next):(e=t._next,t._next=null,t=r?r._next=e:Ku=e);oo=r,vm(n)}function vm(r){if(!As){so&&(so=clearTimeout(so));var t=r-za;t>24?(r<1/0&&(so=setTimeout(_x,r-Fo.now()-qc)),Zs&&(Zs=clearInterval(Zs))):(Zs||(Zu=Fo.now(),Zs=setInterval(x9,yP)),As=1,mP(_x))}}const S9=1664525,_9=1013904223,Mx=4294967296;function M9(){let r=1;return()=>(r=(S9*r+_9)%Mx)/Mx}function k9(r){return r.x}function O9(r){return r.y}var T9=10,A9=Math.PI*(3-Math.sqrt(5));function P9(r){var t,e=1,n=.001,i=1-Math.pow(n,1/300),a=0,s=.6,o=new Map,l=wP(h),u=pP("tick","end"),c=M9();r==null&&(r=[]);function h(){d(),u.call("tick",t),e<n&&(l.stop(),u.call("end",t))}function d(p){var v,y=r.length,m;p===void 0&&(p=1);for(var w=0;w<p;++w)for(e+=(a-e)*i,o.forEach(function(S){S(e)}),v=0;v<y;++v)m=r[v],m.fx==null?m.x+=m.vx*=s:(m.x=m.fx,m.vx=0),m.fy==null?m.y+=m.vy*=s:(m.y=m.fy,m.vy=0);return t}function f(){for(var p=0,v=r.length,y;p<v;++p){if(y=r[p],y.index=p,y.fx!=null&&(y.x=y.fx),y.fy!=null&&(y.y=y.fy),isNaN(y.x)||isNaN(y.y)){var m=T9*Math.sqrt(.5+p),w=p*A9;y.x=m*Math.cos(w),y.y=m*Math.sin(w)}(isNaN(y.vx)||isNaN(y.vy))&&(y.vx=y.vy=0)}}function g(p){return p.initialize&&p.initialize(r,c),p}return f(),t={tick:d,restart:function(){return l.restart(h),t},stop:function(){return l.stop(),t},nodes:function(p){return arguments.length?(r=p,f(),o.forEach(g),t):r},alpha:function(p){return arguments.length?(e=+p,t):e},alphaMin:function(p){return arguments.length?(n=+p,t):n},alphaDecay:function(p){return arguments.length?(i=+p,t):+i},alphaTarget:function(p){return arguments.length?(a=+p,t):a},velocityDecay:function(p){return arguments.length?(s=1-p,t):1-s},randomSource:function(p){return arguments.length?(c=p,o.forEach(g),t):c},force:function(p,v){return arguments.length>1?(v==null?o.delete(p):o.set(p,g(v)),t):o.get(p)},find:function(p,v,y){var m=0,w=r.length,S,_,k,T,O;for(y==null?y=1/0:y*=y,m=0;m<w;++m)T=r[m],S=p-T.x,_=v-T.y,k=S*S+_*_,k<y&&(O=T,y=k);return O},on:function(p,v){return arguments.length>1?(u.on(p,v),t):u.on(p)}}}function N9(){var r,t,e,n,i=sn(-30),a,s=1,o=1/0,l=.81;function u(f){var g,p=r.length,v=zc(r,k9,O9).visitAfter(h);for(n=f,g=0;g<p;++g)t=r[g],v.visit(d)}function c(){if(r){var f,g=r.length,p;for(a=new Array(g),f=0;f<g;++f)p=r[f],a[p.index]=+i(p,f,r)}}function h(f){var g=0,p,v,y=0,m,w,S;if(f.length){for(m=w=S=0;S<4;++S)(p=f[S])&&(v=Math.abs(p.value))&&(g+=p.value,y+=v,m+=v*p.x,w+=v*p.y);f.x=m/y,f.y=w/y}else{p=f,p.x=p.data.x,p.y=p.data.y;do g+=a[p.data.index];while(p=p.next)}f.value=g}function d(f,g,p,v){if(!f.value)return!0;var y=f.x-t.x,m=f.y-t.y,w=v-g,S=y*y+m*m;if(w*w/l<S)return S<o&&(y===0&&(y=Vi(e),S+=y*y),m===0&&(m=Vi(e),S+=m*m),S<s&&(S=Math.sqrt(s*S)),t.vx+=y*f.value*n/S,t.vy+=m*f.value*n/S),!0;if(f.length||S>=o)return;(f.data!==t||f.next)&&(y===0&&(y=Vi(e),S+=y*y),m===0&&(m=Vi(e),S+=m*m),S<s&&(S=Math.sqrt(s*S)));do f.data!==t&&(w=a[f.data.index]*n/S,t.vx+=y*w,t.vy+=m*w);while(f=f.next)}return u.initialize=function(f,g){r=f,e=g,c()},u.strength=function(f){return arguments.length?(i=typeof f=="function"?f:sn(+f),c(),u):i},u.distanceMin=function(f){return arguments.length?(s=f*f,u):Math.sqrt(s)},u.distanceMax=function(f){return arguments.length?(o=f*f,u):Math.sqrt(o)},u.theta=function(f){return arguments.length?(l=f*f,u):Math.sqrt(l)},u}function C9(r,t,e){var n,i=sn(.1),a,s;typeof r!="function"&&(r=sn(+r)),t==null&&(t=0),e==null&&(e=0);function o(u){for(var c=0,h=n.length;c<h;++c){var d=n[c],f=d.x-t||1e-6,g=d.y-e||1e-6,p=Math.sqrt(f*f+g*g),v=(s[c]-p)*a[c]*u/p;d.vx+=f*v,d.vy+=g*v}}function l(){if(n){var u,c=n.length;for(a=new Array(c),s=new Array(c),u=0;u<c;++u)s[u]=+r(n[u],u,n),a[u]=isNaN(s[u])?0:+i(n[u],u,n)}}return o.initialize=function(u){n=u,l()},o.strength=function(u){return arguments.length?(i=typeof u=="function"?u:sn(+u),l(),o):i},o.radius=function(u){return arguments.length?(r=typeof u=="function"?u:sn(+u),l(),o):r},o.x=function(u){return arguments.length?(t=+u,o):t},o.y=function(u){return arguments.length?(e=+u,o):e},o}function R9(r){var t=sn(.1),e,n,i;typeof r!="function"&&(r=sn(r==null?0:+r));function a(o){for(var l=0,u=e.length,c;l<u;++l)c=e[l],c.vx+=(i[l]-c.x)*n[l]*o}function s(){if(e){var o,l=e.length;for(n=new Array(l),i=new Array(l),o=0;o<l;++o)n[o]=isNaN(i[o]=+r(e[o],o,e))?0:+t(e[o],o,e)}}return a.initialize=function(o){e=o,s()},a.strength=function(o){return arguments.length?(t=typeof o=="function"?o:sn(+o),s(),a):t},a.x=function(o){return arguments.length?(r=typeof o=="function"?o:sn(+o),s(),a):r},a}function L9(r){var t=sn(.1),e,n,i;typeof r!="function"&&(r=sn(r==null?0:+r));function a(o){for(var l=0,u=e.length,c;l<u;++l)c=e[l],c.vy+=(i[l]-c.y)*n[l]*o}function s(){if(e){var o,l=e.length;for(n=new Array(l),i=new Array(l),o=0;o<l;++o)n[o]=isNaN(i[o]=+r(e[o],o,e))?0:+t(e[o],o,e)}}return a.initialize=function(o){e=o,s()},a.strength=function(o){return arguments.length?(t=typeof o=="function"?o:sn(+o),s(),a):t},a.y=function(o){return arguments.length?(r=typeof o=="function"?o:sn(+o),s(),a):r},a}class I9{constructor(t){this.id="d3-force",this.config={inputNodeAttrs:["x","y","vx","vy","fx","fy"],outputNodeAttrs:["x","y","vx","vy"],simulationAttrs:["alpha","alphaMin","alphaDecay","alphaTarget","velocityDecay","randomSource"]},this.forceMap={link:v9,manyBody:N9,center:c9,collide:f9,radial:C9,x:R9,y:L9},this.options={link:{id:e=>e.id},manyBody:{},center:{x:0,y:0}},this.context={options:{},assign:!1,nodes:[],edges:[]},In(this.options,t),this.options.forceSimulation&&(this.simulation=this.options.forceSimulation)}execute(t,e){return Ut(this,void 0,void 0,function*(){return this.genericLayout(!1,t,e)})}assign(t,e){return Ut(this,void 0,void 0,function*(){yield this.genericLayout(!0,t,e)})}stop(){this.simulation.stop()}tick(t){return this.simulation.tick(t),this.getResult()}restart(){this.simulation.restart()}setFixedPosition(t,e){const n=this.context.nodes.find(i=>i.id===t);n&&e.forEach((i,a)=>{if(typeof i=="number"||i===null){const s=["fx","fy","fz"][a];n[s]=i}})}getOptions(t){var e,n;const i=In({},this.options,t);return i.collide&&((e=i.collide)===null||e===void 0?void 0:e.radius)===void 0&&(i.collide=i.collide||{},i.collide.radius=(n=i.nodeSize)!==null&&n!==void 0?n:10),i.iterations===void 0&&(i.link&&i.link.iterations===void 0&&(i.iterations=i.link.iterations),i.collide&&i.collide.iterations===void 0&&(i.iterations=i.collide.iterations)),this.context.options=i,i}genericLayout(t,e,n){var i;return Ut(this,void 0,void 0,function*(){const a=this.getOptions(n),s=e.getAllNodes().map(({id:c,data:h})=>Object.assign(Object.assign({id:c},h),Ca(h.data,this.config.inputNodeAttrs))),o=e.getAllEdges().map(c=>Object.assign({},c));Object.assign(this.context,{assign:t,nodes:s,edges:o,graph:e});const l=new Promise(c=>{this.resolver=c}),u=this.setSimulation(a);return u.nodes(s),(i=u.force("link"))===null||i===void 0||i.links(o),l})}getResult(){const{assign:t,nodes:e,edges:n,graph:i}=this.context,a=e.map(o=>({id:o.id,data:Object.assign(Object.assign({},o.data),Ca(o,this.config.outputNodeAttrs))})),s=n.map(({id:o,source:l,target:u,data:c})=>({id:o,source:typeof l=="object"?l.id:l,target:typeof u=="object"?u.id:u,data:c}));return t&&a.forEach(o=>i.mergeNodeData(o.id,o.data)),{nodes:a,edges:s}}initSimulation(){return P9()}setSimulation(t){const e=this.simulation||this.options.forceSimulation||this.initSimulation();return this.simulation||(this.simulation=e.on("tick",()=>{var n;return(n=t.onTick)===null||n===void 0?void 0:n.call(t,this.getResult())}).on("end",()=>{var n;return(n=this.resolver)===null||n===void 0?void 0:n.call(this,this.getResult())})),kx(e,this.config.simulationAttrs.map(n=>[n,t[n]])),Object.entries(this.forceMap).forEach(([n,i])=>{const a=n;if(t[n]){let s=e.force(a);s||(s=i(),e.force(a,s)),kx(s,Object.entries(t[a]))}else e.force(a,null)}),e}}const kx=(r,t)=>t.reduce((e,[n,i])=>!e[n]||i===void 0?e:e[n].call(r,i),r);var jd,Ox;function D9(){if(Ox)return jd;Ox=1;function r(){this.__data__=[],this.size=0}return jd=r,jd}var qd,Tx;function Ds(){if(Tx)return qd;Tx=1;function r(t,e){return t===e||t!==t&&e!==e}return qd=r,qd}var $d,Ax;function $c(){if(Ax)return $d;Ax=1;var r=Ds();function t(e,n){for(var i=e.length;i--;)if(r(e[i][0],n))return i;return-1}return $d=t,$d}var Gd,Px;function F9(){if(Px)return Gd;Px=1;var r=$c(),t=Array.prototype,e=t.splice;function n(i){var a=this.__data__,s=r(a,i);if(s<0)return!1;var o=a.length-1;return s==o?a.pop():e.call(a,s,1),--this.size,!0}return Gd=n,Gd}var Wd,Nx;function B9(){if(Nx)return Wd;Nx=1;var r=$c();function t(e){var n=this.__data__,i=r(n,e);return i<0?void 0:n[i][1]}return Wd=t,Wd}var Vd,Cx;function z9(){if(Cx)return Vd;Cx=1;var r=$c();function t(e){return r(this.__data__,e)>-1}return Vd=t,Vd}var Ud,Rx;function j9(){if(Rx)return Ud;Rx=1;var r=$c();function t(e,n){var i=this.__data__,a=r(i,e);return a<0?(++this.size,i.push([e,n])):i[a][1]=n,this}return Ud=t,Ud}var Yd,Lx;function Gc(){if(Lx)return Yd;Lx=1;var r=D9(),t=F9(),e=B9(),n=z9(),i=j9();function a(s){var o=-1,l=s==null?0:s.length;for(this.clear();++o<l;){var u=s[o];this.set(u[0],u[1])}}return a.prototype.clear=r,a.prototype.delete=t,a.prototype.get=e,a.prototype.has=n,a.prototype.set=i,Yd=a,Yd}var Hd,Ix;function q9(){if(Ix)return Hd;Ix=1;var r=Gc();function t(){this.__data__=new r,this.size=0}return Hd=t,Hd}var Xd,Dx;function $9(){if(Dx)return Xd;Dx=1;function r(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}return Xd=r,Xd}var Kd,Fx;function G9(){if(Fx)return Kd;Fx=1;function r(t){return this.__data__.get(t)}return Kd=r,Kd}var Zd,Bx;function W9(){if(Bx)return Zd;Bx=1;function r(t){return this.__data__.has(t)}return Zd=r,Zd}var Jd,zx;function xP(){if(zx)return Jd;zx=1;var r=typeof gl=="object"&&gl&&gl.Object===Object&≷return Jd=r,Jd}var Qd,jx;function Br(){if(jx)return Qd;jx=1;var r=xP(),t=typeof self=="object"&&self&&self.Object===Object&&self,e=r||t||Function("return this")();return Qd=e,Qd}var tf,qx;function Fs(){if(qx)return tf;qx=1;var r=Br(),t=r.Symbol;return tf=t,tf}var ef,$x;function V9(){if($x)return ef;$x=1;var r=Fs(),t=Object.prototype,e=t.hasOwnProperty,n=t.toString,i=r?r.toStringTag:void 0;function a(s){var o=e.call(s,i),l=s[i];try{s[i]=void 0;var u=!0}catch{}var c=n.call(s);return u&&(o?s[i]=l:delete s[i]),c}return ef=a,ef}var nf,Gx;function U9(){if(Gx)return nf;Gx=1;var r=Object.prototype,t=r.toString;function e(n){return t.call(n)}return nf=e,nf}var rf,Wx;function Ua(){if(Wx)return rf;Wx=1;var r=Fs(),t=V9(),e=U9(),n="[object Null]",i="[object Undefined]",a=r?r.toStringTag:void 0;function s(o){return o==null?o===void 0?i:n:a&&a in Object(o)?t(o):e(o)}return rf=s,rf}var af,Vx;function Er(){if(Vx)return af;Vx=1;function r(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}return af=r,af}var sf,Ux;function al(){if(Ux)return sf;Ux=1;var r=Ua(),t=Er(),e="[object AsyncFunction]",n="[object Function]",i="[object GeneratorFunction]",a="[object Proxy]";function s(o){if(!t(o))return!1;var l=r(o);return l==n||l==i||l==e||l==a}return sf=s,sf}var of,Yx;function Y9(){if(Yx)return of;Yx=1;var r=Br(),t=r["__core-js_shared__"];return of=t,of}var lf,Hx;function H9(){if(Hx)return lf;Hx=1;var r=Y9(),t=function(){var n=/[^.]+$/.exec(r&&r.keys&&r.keys.IE_PROTO||"");return n?"Symbol(src)_1."+n:""}();function e(n){return!!t&&t in n}return lf=e,lf}var uf,Xx;function EP(){if(Xx)return uf;Xx=1;var r=Function.prototype,t=r.toString;function e(n){if(n!=null){try{return t.call(n)}catch{}try{return n+""}catch{}}return""}return uf=e,uf}var cf,Kx;function X9(){if(Kx)return cf;Kx=1;var r=al(),t=H9(),e=Er(),n=EP(),i=/[\\^$.*+?()[\]{}|]/g,a=/^\[object .+?Constructor\]$/,s=Function.prototype,o=Object.prototype,l=s.toString,u=o.hasOwnProperty,c=RegExp("^"+l.call(u).replace(i,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function h(d){if(!e(d)||t(d))return!1;var f=r(d)?c:a;return f.test(n(d))}return cf=h,cf}var hf,Zx;function K9(){if(Zx)return hf;Zx=1;function r(t,e){return t==null?void 0:t[e]}return hf=r,hf}var df,Jx;function Ya(){if(Jx)return df;Jx=1;var r=X9(),t=K9();function e(n,i){var a=t(n,i);return r(a)?a:void 0}return df=e,df}var ff,Qx;function b1(){if(Qx)return ff;Qx=1;var r=Ya(),t=Br(),e=r(t,"Map");return ff=e,ff}var gf,tE;function Wc(){if(tE)return gf;tE=1;var r=Ya(),t=r(Object,"create");return gf=t,gf}var vf,eE;function Z9(){if(eE)return vf;eE=1;var r=Wc();function t(){this.__data__=r?r(null):{},this.size=0}return vf=t,vf}var pf,nE;function J9(){if(nE)return pf;nE=1;function r(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}return pf=r,pf}var yf,rE;function Q9(){if(rE)return yf;rE=1;var r=Wc(),t="__lodash_hash_undefined__",e=Object.prototype,n=e.hasOwnProperty;function i(a){var s=this.__data__;if(r){var o=s[a];return o===t?void 0:o}return n.call(s,a)?s[a]:void 0}return yf=i,yf}var mf,iE;function tq(){if(iE)return mf;iE=1;var r=Wc(),t=Object.prototype,e=t.hasOwnProperty;function n(i){var a=this.__data__;return r?a[i]!==void 0:e.call(a,i)}return mf=n,mf}var bf,aE;function eq(){if(aE)return bf;aE=1;var r=Wc(),t="__lodash_hash_undefined__";function e(n,i){var a=this.__data__;return this.size+=this.has(n)?0:1,a[n]=r&&i===void 0?t:i,this}return bf=e,bf}var wf,sE;function nq(){if(sE)return wf;sE=1;var r=Z9(),t=J9(),e=Q9(),n=tq(),i=eq();function a(s){var o=-1,l=s==null?0:s.length;for(this.clear();++o<l;){var u=s[o];this.set(u[0],u[1])}}return a.prototype.clear=r,a.prototype.delete=t,a.prototype.get=e,a.prototype.has=n,a.prototype.set=i,wf=a,wf}var xf,oE;function rq(){if(oE)return xf;oE=1;var r=nq(),t=Gc(),e=b1();function n(){this.size=0,this.__data__={hash:new r,map:new(e||t),string:new r}}return xf=n,xf}var Ef,lE;function iq(){if(lE)return Ef;lE=1;function r(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}return Ef=r,Ef}var Sf,uE;function Vc(){if(uE)return Sf;uE=1;var r=iq();function t(e,n){var i=e.__data__;return r(n)?i[typeof n=="string"?"string":"hash"]:i.map}return Sf=t,Sf}var _f,cE;function aq(){if(cE)return _f;cE=1;var r=Vc();function t(e){var n=r(this,e).delete(e);return this.size-=n?1:0,n}return _f=t,_f}var Mf,hE;function sq(){if(hE)return Mf;hE=1;var r=Vc();function t(e){return r(this,e).get(e)}return Mf=t,Mf}var kf,dE;function oq(){if(dE)return kf;dE=1;var r=Vc();function t(e){return r(this,e).has(e)}return kf=t,kf}var Of,fE;function lq(){if(fE)return Of;fE=1;var r=Vc();function t(e,n){var i=r(this,e),a=i.size;return i.set(e,n),this.size+=i.size==a?0:1,this}return Of=t,Of}var Tf,gE;function w1(){if(gE)return Tf;gE=1;var r=rq(),t=aq(),e=sq(),n=oq(),i=lq();function a(s){var o=-1,l=s==null?0:s.length;for(this.clear();++o<l;){var u=s[o];this.set(u[0],u[1])}}return a.prototype.clear=r,a.prototype.delete=t,a.prototype.get=e,a.prototype.has=n,a.prototype.set=i,Tf=a,Tf}var Af,vE;function uq(){if(vE)return Af;vE=1;var r=Gc(),t=b1(),e=w1(),n=200;function i(a,s){var o=this.__data__;if(o instanceof r){var l=o.__data__;if(!t||l.length<n-1)return l.push([a,s]),this.size=++o.size,this;o=this.__data__=new e(l)}return o.set(a,s),this.size=o.size,this}return Af=i,Af}var Pf,pE;function Uc(){if(pE)return Pf;pE=1;var r=Gc(),t=q9(),e=$9(),n=G9(),i=W9(),a=uq();function s(o){var l=this.__data__=new r(o);this.size=l.size}return s.prototype.clear=t,s.prototype.delete=e,s.prototype.get=n,s.prototype.has=i,s.prototype.set=a,Pf=s,Pf}var Nf,yE;function x1(){if(yE)return Nf;yE=1;function r(t,e){for(var n=-1,i=t==null?0:t.length;++n<i&&e(t[n],n,t)!==!1;);return t}return Nf=r,Nf}var Cf,mE;function SP(){if(mE)return Cf;mE=1;var r=Ya(),t=function(){try{var e=r(Object,"defineProperty");return e({},"",{}),e}catch{}}();return Cf=t,Cf}var Rf,bE;function Yc(){if(bE)return Rf;bE=1;var r=SP();function t(e,n,i){n=="__proto__"&&r?r(e,n,{configurable:!0,enumerable:!0,value:i,writable:!0}):e[n]=i}return Rf=t,Rf}var Lf,wE;function Hc(){if(wE)return Lf;wE=1;var r=Yc(),t=Ds(),e=Object.prototype,n=e.hasOwnProperty;function i(a,s,o){var l=a[s];(!(n.call(a,s)&&t(l,o))||o===void 0&&!(s in a))&&r(a,s,o)}return Lf=i,Lf}var If,xE;function sl(){if(xE)return If;xE=1;var r=Hc(),t=Yc();function e(n,i,a,s){var o=!a;a||(a={});for(var l=-1,u=i.length;++l<u;){var c=i[l],h=s?s(a[c],n[c],c,a,n):void 0;h===void 0&&(h=n[c]),o?t(a,c,h):r(a,c,h)}return a}return If=e,If}var Df,EE;function cq(){if(EE)return Df;EE=1;function r(t,e){for(var n=-1,i=Array(t);++n<t;)i[n]=e(n);return i}return Df=r,Df}var Ff,SE;function li(){if(SE)return Ff;SE=1;function r(t){return t!=null&&typeof t=="object"}return Ff=r,Ff}var Bf,_E;function hq(){if(_E)return Bf;_E=1;var r=Ua(),t=li(),e="[object Arguments]";function n(i){return t(i)&&r(i)==e}return Bf=n,Bf}var zf,ME;function ol(){if(ME)return zf;ME=1;var r=hq(),t=li(),e=Object.prototype,n=e.hasOwnProperty,i=e.propertyIsEnumerable,a=r(function(){return arguments}())?r:function(s){return t(s)&&n.call(s,"callee")&&!i.call(s,"callee")};return zf=a,zf}var jf,kE;function Qe(){if(kE)return jf;kE=1;var r=Array.isArray;return jf=r,jf}var lo={exports:{}},qf,OE;function dq(){if(OE)return qf;OE=1;function r(){return!1}return qf=r,qf}lo.exports;var TE;function Bs(){return TE||(TE=1,function(r,t){var e=Br(),n=dq(),i=t&&!t.nodeType&&t,a=i&&!0&&r&&!r.nodeType&&r,s=a&&a.exports===i,o=s?e.Buffer:void 0,l=o?o.isBuffer:void 0,u=l||n;r.exports=u}(lo,lo.exports)),lo.exports}var $f,AE;function Xc(){if(AE)return $f;AE=1;var r=9007199254740991,t=/^(?:0|[1-9]\d*)$/;function e(n,i){var a=typeof n;return i=i??r,!!i&&(a=="number"||a!="symbol"&&t.test(n))&&n>-1&&n%1==0&&n<i}return $f=e,$f}var Gf,PE;function E1(){if(PE)return Gf;PE=1;var r=9007199254740991;function t(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=r}return Gf=t,Gf}var Wf,NE;function fq(){if(NE)return Wf;NE=1;var r=Ua(),t=E1(),e=li(),n="[object Arguments]",i="[object Array]",a="[object Boolean]",s="[object Date]",o="[object Error]",l="[object Function]",u="[object Map]",c="[object Number]",h="[object Object]",d="[object RegExp]",f="[object Set]",g="[object String]",p="[object WeakMap]",v="[object ArrayBuffer]",y="[object DataView]",m="[object Float32Array]",w="[object Float64Array]",S="[object Int8Array]",_="[object Int16Array]",k="[object Int32Array]",T="[object Uint8Array]",O="[object Uint8ClampedArray]",P="[object Uint16Array]",N="[object Uint32Array]",C={};C[m]=C[w]=C[S]=C[_]=C[k]=C[T]=C[O]=C[P]=C[N]=!0,C[n]=C[i]=C[v]=C[a]=C[y]=C[s]=C[o]=C[l]=C[u]=C[c]=C[h]=C[d]=C[f]=C[g]=C[p]=!1;function L(F){return e(F)&&t(F.length)&&!!C[r(F)]}return Wf=L,Wf}var Vf,CE;function Kc(){if(CE)return Vf;CE=1;function r(t){return function(e){return t(e)}}return Vf=r,Vf}var uo={exports:{}};uo.exports;var RE;function S1(){return RE||(RE=1,function(r,t){var e=xP(),n=t&&!t.nodeType&&t,i=n&&!0&&r&&!r.nodeType&&r,a=i&&i.exports===n,s=a&&e.process,o=function(){try{var l=i&&i.require&&i.require("util").types;return l||s&&s.binding&&s.binding("util")}catch{}}();r.exports=o}(uo,uo.exports)),uo.exports}var Uf,LE;function ll(){if(LE)return Uf;LE=1;var r=fq(),t=Kc(),e=S1(),n=e&&e.isTypedArray,i=n?t(n):r;return Uf=i,Uf}var Yf,IE;function _P(){if(IE)return Yf;IE=1;var r=cq(),t=ol(),e=Qe(),n=Bs(),i=Xc(),a=ll(),s=Object.prototype,o=s.hasOwnProperty;function l(u,c){var h=e(u),d=!h&&t(u),f=!h&&!d&&n(u),g=!h&&!d&&!f&&a(u),p=h||d||f||g,v=p?r(u.length,String):[],y=v.length;for(var m in u)(c||o.call(u,m))&&!(p&&(m=="length"||f&&(m=="offset"||m=="parent")||g&&(m=="buffer"||m=="byteLength"||m=="byteOffset")||i(m,y)))&&v.push(m);return v}return Yf=l,Yf}var Hf,DE;function Zc(){if(DE)return Hf;DE=1;var r=Object.prototype;function t(e){var n=e&&e.constructor,i=typeof n=="function"&&n.prototype||r;return e===i}return Hf=t,Hf}var Xf,FE;function MP(){if(FE)return Xf;FE=1;function r(t,e){return function(n){return t(e(n))}}return Xf=r,Xf}var Kf,BE;function gq(){if(BE)return Kf;BE=1;var r=MP(),t=r(Object.keys,Object);return Kf=t,Kf}var Zf,zE;function _1(){if(zE)return Zf;zE=1;var r=Zc(),t=gq(),e=Object.prototype,n=e.hasOwnProperty;function i(a){if(!r(a))return t(a);var s=[];for(var o in Object(a))n.call(a,o)&&o!="constructor"&&s.push(o);return s}return Zf=i,Zf}var Jf,jE;function Oi(){if(jE)return Jf;jE=1;var r=al(),t=E1();function e(n){return n!=null&&t(n.length)&&!r(n)}return Jf=e,Jf}var Qf,qE;function ua(){if(qE)return Qf;qE=1;var r=_P(),t=_1(),e=Oi();function n(i){return e(i)?r(i):t(i)}return Qf=n,Qf}var tg,$E;function vq(){if($E)return tg;$E=1;var r=sl(),t=ua();function e(n,i){return n&&r(i,t(i),n)}return tg=e,tg}var eg,GE;function pq(){if(GE)return eg;GE=1;function r(t){var e=[];if(t!=null)for(var n in Object(t))e.push(n);return e}return eg=r,eg}var ng,WE;function yq(){if(WE)return ng;WE=1;var r=Er(),t=Zc(),e=pq(),n=Object.prototype,i=n.hasOwnProperty;function a(s){if(!r(s))return e(s);var o=t(s),l=[];for(var u in s)u=="constructor"&&(o||!i.call(s,u))||l.push(u);return l}return ng=a,ng}var rg,VE;function Ha(){if(VE)return rg;VE=1;var r=_P(),t=yq(),e=Oi();function n(i){return e(i)?r(i,!0):t(i)}return rg=n,rg}var ig,UE;function mq(){if(UE)return ig;UE=1;var r=sl(),t=Ha();function e(n,i){return n&&r(i,t(i),n)}return ig=e,ig}var co={exports:{}};co.exports;var YE;function kP(){return YE||(YE=1,function(r,t){var e=Br(),n=t&&!t.nodeType&&t,i=n&&!0&&r&&!r.nodeType&&r,a=i&&i.exports===n,s=a?e.Buffer:void 0,o=s?s.allocUnsafe:void 0;function l(u,c){if(c)return u.slice();var h=u.length,d=o?o(h):new u.constructor(h);return u.copy(d),d}r.exports=l}(co,co.exports)),co.exports}var ag,HE;function OP(){if(HE)return ag;HE=1;function r(t,e){var n=-1,i=t.length;for(e||(e=Array(i));++n<i;)e[n]=t[n];return e}return ag=r,ag}var sg,XE;function TP(){if(XE)return sg;XE=1;function r(t,e){for(var n=-1,i=t==null?0:t.length,a=0,s=[];++n<i;){var o=t[n];e(o,n,t)&&(s[a++]=o)}return s}return sg=r,sg}var og,KE;function AP(){if(KE)return og;KE=1;function r(){return[]}return og=r,og}var lg,ZE;function M1(){if(ZE)return lg;ZE=1;var r=TP(),t=AP(),e=Object.prototype,n=e.propertyIsEnumerable,i=Object.getOwnPropertySymbols,a=i?function(s){return s==null?[]:(s=Object(s),r(i(s),function(o){return n.call(s,o)}))}:t;return lg=a,lg}var ug,JE;function bq(){if(JE)return ug;JE=1;var r=sl(),t=M1();function e(n,i){return r(n,t(n),i)}return ug=e,ug}var cg,QE;function k1(){if(QE)return cg;QE=1;function r(t,e){for(var n=-1,i=e.length,a=t.length;++n<i;)t[a+n]=e[n];return t}return cg=r,cg}var hg,t2;function Jc(){if(t2)return hg;t2=1;var r=MP(),t=r(Object.getPrototypeOf,Object);return hg=t,hg}var dg,e2;function PP(){if(e2)return dg;e2=1;var r=k1(),t=Jc(),e=M1(),n=AP(),i=Object.getOwnPropertySymbols,a=i?function(s){for(var o=[];s;)r(o,e(s)),s=t(s);return o}:n;return dg=a,dg}var fg,n2;function wq(){if(n2)return fg;n2=1;var r=sl(),t=PP();function e(n,i){return r(n,t(n),i)}return fg=e,fg}var gg,r2;function NP(){if(r2)return gg;r2=1;var r=k1(),t=Qe();function e(n,i,a){var s=i(n);return t(n)?s:r(s,a(n))}return gg=e,gg}var vg,i2;function CP(){if(i2)return vg;i2=1;var r=NP(),t=M1(),e=ua();function n(i){return r(i,e,t)}return vg=n,vg}var pg,a2;function xq(){if(a2)return pg;a2=1;var r=NP(),t=PP(),e=Ha();function n(i){return r(i,e,t)}return pg=n,pg}var yg,s2;function Eq(){if(s2)return yg;s2=1;var r=Ya(),t=Br(),e=r(t,"DataView");return yg=e,yg}var mg,o2;function Sq(){if(o2)return mg;o2=1;var r=Ya(),t=Br(),e=r(t,"Promise");return mg=e,mg}var bg,l2;function RP(){if(l2)return bg;l2=1;var r=Ya(),t=Br(),e=r(t,"Set");return bg=e,bg}var wg,u2;function _q(){if(u2)return wg;u2=1;var r=Ya(),t=Br(),e=r(t,"WeakMap");return wg=e,wg}var xg,c2;function zs(){if(c2)return xg;c2=1;var r=Eq(),t=b1(),e=Sq(),n=RP(),i=_q(),a=Ua(),s=EP(),o="[object Map]",l="[object Object]",u="[object Promise]",c="[object Set]",h="[object WeakMap]",d="[object DataView]",f=s(r),g=s(t),p=s(e),v=s(n),y=s(i),m=a;return(r&&m(new r(new ArrayBuffer(1)))!=d||t&&m(new t)!=o||e&&m(e.resolve())!=u||n&&m(new n)!=c||i&&m(new i)!=h)&&(m=function(w){var S=a(w),_=S==l?w.constructor:void 0,k=_?s(_):"";if(k)switch(k){case f:return d;case g:return o;case p:return u;case v:return c;case y:return h}return S}),xg=m,xg}var Eg,h2;function Mq(){if(h2)return Eg;h2=1;var r=Object.prototype,t=r.hasOwnProperty;function e(n){var i=n.length,a=new n.constructor(i);return i&&typeof n[0]=="string"&&t.call(n,"index")&&(a.index=n.index,a.input=n.input),a}return Eg=e,Eg}var Sg,d2;function LP(){if(d2)return Sg;d2=1;var r=Br(),t=r.Uint8Array;return Sg=t,Sg}var _g,f2;function O1(){if(f2)return _g;f2=1;var r=LP();function t(e){var n=new e.constructor(e.byteLength);return new r(n).set(new r(e)),n}return _g=t,_g}var Mg,g2;function kq(){if(g2)return Mg;g2=1;var r=O1();function t(e,n){var i=n?r(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.byteLength)}return Mg=t,Mg}var kg,v2;function Oq(){if(v2)return kg;v2=1;var r=/\w*$/;function t(e){var n=new e.constructor(e.source,r.exec(e));return n.lastIndex=e.lastIndex,n}return kg=t,kg}var Og,p2;function Tq(){if(p2)return Og;p2=1;var r=Fs(),t=r?r.prototype:void 0,e=t?t.valueOf:void 0;function n(i){return e?Object(e.call(i)):{}}return Og=n,Og}var Tg,y2;function IP(){if(y2)return Tg;y2=1;var r=O1();function t(e,n){var i=n?r(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.length)}return Tg=t,Tg}var Ag,m2;function Aq(){if(m2)return Ag;m2=1;var r=O1(),t=kq(),e=Oq(),n=Tq(),i=IP(),a="[object Boolean]",s="[object Date]",o="[object Map]",l="[object Number]",u="[object RegExp]",c="[object Set]",h="[object String]",d="[object Symbol]",f="[object ArrayBuffer]",g="[object DataView]",p="[object Float32Array]",v="[object Float64Array]",y="[object Int8Array]",m="[object Int16Array]",w="[object Int32Array]",S="[object Uint8Array]",_="[object Uint8ClampedArray]",k="[object Uint16Array]",T="[object Uint32Array]";function O(P,N,C){var L=P.constructor;switch(N){case f:return r(P);case a:case s:return new L(+P);case g:return t(P,C);case p:case v:case y:case m:case w:case S:case _:case k:case T:return i(P,C);case o:return new L;case l:case h:return new L(P);case u:return e(P);case c:return new L;case d:return n(P)}}return Ag=O,Ag}var Pg,b2;function DP(){if(b2)return Pg;b2=1;var r=Er(),t=Object.create,e=function(){function n(){}return function(i){if(!r(i))return{};if(t)return t(i);n.prototype=i;var a=new n;return n.prototype=void 0,a}}();return Pg=e,Pg}var Ng,w2;function FP(){if(w2)return Ng;w2=1;var r=DP(),t=Jc(),e=Zc();function n(i){return typeof i.constructor=="function"&&!e(i)?r(t(i)):{}}return Ng=n,Ng}var Cg,x2;function Pq(){if(x2)return Cg;x2=1;var r=zs(),t=li(),e="[object Map]";function n(i){return t(i)&&r(i)==e}return Cg=n,Cg}var Rg,E2;function Nq(){if(E2)return Rg;E2=1;var r=Pq(),t=Kc(),e=S1(),n=e&&e.isMap,i=n?t(n):r;return Rg=i,Rg}var Lg,S2;function Cq(){if(S2)return Lg;S2=1;var r=zs(),t=li(),e="[object Set]";function n(i){return t(i)&&r(i)==e}return Lg=n,Lg}var Ig,_2;function Rq(){if(_2)return Ig;_2=1;var r=Cq(),t=Kc(),e=S1(),n=e&&e.isSet,i=n?t(n):r;return Ig=i,Ig}var Dg,M2;function BP(){if(M2)return Dg;M2=1;var r=Uc(),t=x1(),e=Hc(),n=vq(),i=mq(),a=kP(),s=OP(),o=bq(),l=wq(),u=CP(),c=xq(),h=zs(),d=Mq(),f=Aq(),g=FP(),p=Qe(),v=Bs(),y=Nq(),m=Er(),w=Rq(),S=ua(),_=Ha(),k=1,T=2,O=4,P="[object Arguments]",N="[object Array]",C="[object Boolean]",L="[object Date]",F="[object Error]",G="[object Function]",V="[object GeneratorFunction]",U="[object Map]",q="[object Number]",j="[object Object]",Z="[object RegExp]",nt="[object Set]",st="[object String]",ot="[object Symbol]",Pt="[object WeakMap]",K="[object ArrayBuffer]",W="[object DataView]",tt="[object Float32Array]",ct="[object Float64Array]",xt="[object Int8Array]",Nt="[object Int16Array]",Vt="[object Int32Array]",Me="[object Uint8Array]",un="[object Uint8ClampedArray]",ke="[object Uint16Array]",Ue="[object Uint32Array]",Xt={};Xt[P]=Xt[N]=Xt[K]=Xt[W]=Xt[C]=Xt[L]=Xt[tt]=Xt[ct]=Xt[xt]=Xt[Nt]=Xt[Vt]=Xt[U]=Xt[q]=Xt[j]=Xt[Z]=Xt[nt]=Xt[st]=Xt[ot]=Xt[Me]=Xt[un]=Xt[ke]=Xt[Ue]=!0,Xt[F]=Xt[G]=Xt[Pt]=!1;function cr(Qt,hr,be,Ka,dr,qe){var Ce,Fn=hr&k,Bn=hr&T,fr=hr&O;if(be&&(Ce=dr?be(Qt,Ka,dr,qe):be(Qt)),Ce!==void 0)return Ce;if(!m(Qt))return Qt;var ui=p(Qt);if(ui){if(Ce=d(Qt),!Fn)return s(Qt,Ce)}else{var qr=h(Qt),Za=qr==G||qr==V;if(v(Qt))return a(Qt,Fn);if(qr==j||qr==P||Za&&!dr){if(Ce=Bn||Za?{}:g(Qt),!Fn)return Bn?l(Qt,i(Ce,Qt)):o(Qt,n(Ce,Qt))}else{if(!Xt[qr])return dr?Qt:{};Ce=f(Qt,qr,Fn)}}qe||(qe=new r);var Ja=qe.get(Qt);if(Ja)return Ja;qe.set(Qt,Ce),w(Qt)?Qt.forEach(function($r){Ce.add(cr($r,hr,be,$r,Qt,qe))}):y(Qt)&&Qt.forEach(function($r,Gr){Ce.set(Gr,cr($r,hr,be,Gr,Qt,qe))});var Bh=fr?Bn?c:u:Bn?_:S,dl=ui?void 0:Bh(Qt);return t(dl||Qt,function($r,Gr){dl&&(Gr=$r,$r=Qt[Gr]),e(Ce,Gr,cr($r,hr,be,Gr,Qt,qe))}),Ce}return Dg=cr,Dg}var Fg,k2;function Lq(){if(k2)return Fg;k2=1;var r=BP(),t=4;function e(n){return r(n,t)}return Fg=e,Fg}var Bg,O2;function T1(){if(O2)return Bg;O2=1;function r(t){return function(){return t}}return Bg=r,Bg}var zg,T2;function Iq(){if(T2)return zg;T2=1;function r(t){return function(e,n,i){for(var a=-1,s=Object(e),o=i(e),l=o.length;l--;){var u=o[t?l:++a];if(n(s[u],u,s)===!1)break}return e}}return zg=r,zg}var jg,A2;function A1(){if(A2)return jg;A2=1;var r=Iq(),t=r();return jg=t,jg}var qg,P2;function P1(){if(P2)return qg;P2=1;var r=A1(),t=ua();function e(n,i){return n&&r(n,i,t)}return qg=e,qg}var $g,N2;function Dq(){if(N2)return $g;N2=1;var r=Oi();function t(e,n){return function(i,a){if(i==null)return i;if(!r(i))return e(i,a);for(var s=i.length,o=n?s:-1,l=Object(i);(n?o--:++o<s)&&a(l[o],o,l)!==!1;);return i}}return $g=t,$g}var Gg,C2;function Qc(){if(C2)return Gg;C2=1;var r=P1(),t=Dq(),e=t(r);return Gg=e,Gg}var Wg,R2;function Xa(){if(R2)return Wg;R2=1;function r(t){return t}return Wg=r,Wg}var Vg,L2;function zP(){if(L2)return Vg;L2=1;var r=Xa();function t(e){return typeof e=="function"?e:r}return Vg=t,Vg}var Ug,I2;function jP(){if(I2)return Ug;I2=1;var r=x1(),t=Qc(),e=zP(),n=Qe();function i(a,s){var o=n(a)?r:t;return o(a,e(s))}return Ug=i,Ug}var Yg,D2;function qP(){return D2||(D2=1,Yg=jP()),Yg}var Hg,F2;function Fq(){if(F2)return Hg;F2=1;var r=Qc();function t(e,n){var i=[];return r(e,function(a,s,o){n(a,s,o)&&i.push(a)}),i}return Hg=t,Hg}var Xg,B2;function Bq(){if(B2)return Xg;B2=1;var r="__lodash_hash_undefined__";function t(e){return this.__data__.set(e,r),this}return Xg=t,Xg}var Kg,z2;function zq(){if(z2)return Kg;z2=1;function r(t){return this.__data__.has(t)}return Kg=r,Kg}var Zg,j2;function $P(){if(j2)return Zg;j2=1;var r=w1(),t=Bq(),e=zq();function n(i){var a=-1,s=i==null?0:i.length;for(this.__data__=new r;++a<s;)this.add(i[a])}return n.prototype.add=n.prototype.push=t,n.prototype.has=e,Zg=n,Zg}var Jg,q2;function jq(){if(q2)return Jg;q2=1;function r(t,e){for(var n=-1,i=t==null?0:t.length;++n<i;)if(e(t[n],n,t))return!0;return!1}return Jg=r,Jg}var Qg,$2;function GP(){if($2)return Qg;$2=1;function r(t,e){return t.has(e)}return Qg=r,Qg}var tv,G2;function WP(){if(G2)return tv;G2=1;var r=$P(),t=jq(),e=GP(),n=1,i=2;function a(s,o,l,u,c,h){var d=l&n,f=s.length,g=o.length;if(f!=g&&!(d&&g>f))return!1;var p=h.get(s),v=h.get(o);if(p&&v)return p==o&&v==s;var y=-1,m=!0,w=l&i?new r:void 0;for(h.set(s,o),h.set(o,s);++y<f;){var S=s[y],_=o[y];if(u)var k=d?u(_,S,y,o,s,h):u(S,_,y,s,o,h);if(k!==void 0){if(k)continue;m=!1;break}if(w){if(!t(o,function(T,O){if(!e(w,O)&&(S===T||c(S,T,l,u,h)))return w.push(O)})){m=!1;break}}else if(!(S===_||c(S,_,l,u,h))){m=!1;break}}return h.delete(s),h.delete(o),m}return tv=a,tv}var ev,W2;function qq(){if(W2)return ev;W2=1;function r(t){var e=-1,n=Array(t.size);return t.forEach(function(i,a){n[++e]=[a,i]}),n}return ev=r,ev}var nv,V2;function N1(){if(V2)return nv;V2=1;function r(t){var e=-1,n=Array(t.size);return t.forEach(function(i){n[++e]=i}),n}return nv=r,nv}var rv,U2;function $q(){if(U2)return rv;U2=1;var r=Fs(),t=LP(),e=Ds(),n=WP(),i=qq(),a=N1(),s=1,o=2,l="[object Boolean]",u="[object Date]",c="[object Error]",h="[object Map]",d="[object Number]",f="[object RegExp]",g="[object Set]",p="[object String]",v="[object Symbol]",y="[object ArrayBuffer]",m="[object DataView]",w=r?r.prototype:void 0,S=w?w.valueOf:void 0;function _(k,T,O,P,N,C,L){switch(O){case m:if(k.byteLength!=T.byteLength||k.byteOffset!=T.byteOffset)return!1;k=k.buffer,T=T.buffer;case y:return!(k.byteLength!=T.byteLength||!C(new t(k),new t(T)));case l:case u:case d:return e(+k,+T);case c:return k.name==T.name&&k.message==T.message;case f:case p:return k==T+"";case h:var F=i;case g:var G=P&s;if(F||(F=a),k.size!=T.size&&!G)return!1;var V=L.get(k);if(V)return V==T;P|=o,L.set(k,T);var U=n(F(k),F(T),P,N,C,L);return L.delete(k),U;case v:if(S)return S.call(k)==S.call(T)}return!1}return rv=_,rv}var iv,Y2;function Gq(){if(Y2)return iv;Y2=1;var r=CP(),t=1,e=Object.prototype,n=e.hasOwnProperty;function i(a,s,o,l,u,c){var h=o&t,d=r(a),f=d.length,g=r(s),p=g.length;if(f!=p&&!h)return!1;for(var v=f;v--;){var y=d[v];if(!(h?y in s:n.call(s,y)))return!1}var m=c.get(a),w=c.get(s);if(m&&w)return m==s&&w==a;var S=!0;c.set(a,s),c.set(s,a);for(var _=h;++v<f;){y=d[v];var k=a[y],T=s[y];if(l)var O=h?l(T,k,y,s,a,c):l(k,T,y,a,s,c);if(!(O===void 0?k===T||u(k,T,o,l,c):O)){S=!1;break}_||(_=y=="constructor")}if(S&&!_){var P=a.constructor,N=s.constructor;P!=N&&"constructor"in a&&"constructor"in s&&!(typeof P=="function"&&P instanceof P&&typeof N=="function"&&N instanceof N)&&(S=!1)}return c.delete(a),c.delete(s),S}return iv=i,iv}var av,H2;function Wq(){if(H2)return av;H2=1;var r=Uc(),t=WP(),e=$q(),n=Gq(),i=zs(),a=Qe(),s=Bs(),o=ll(),l=1,u="[object Arguments]",c="[object Array]",h="[object Object]",d=Object.prototype,f=d.hasOwnProperty;function g(p,v,y,m,w,S){var _=a(p),k=a(v),T=_?c:i(p),O=k?c:i(v);T=T==u?h:T,O=O==u?h:O;var P=T==h,N=O==h,C=T==O;if(C&&s(p)){if(!s(v))return!1;_=!0,P=!1}if(C&&!P)return S||(S=new r),_||o(p)?t(p,v,y,m,w,S):e(p,v,T,y,m,w,S);if(!(y&l)){var L=P&&f.call(p,"__wrapped__"),F=N&&f.call(v,"__wrapped__");if(L||F){var G=L?p.value():p,V=F?v.value():v;return S||(S=new r),w(G,V,y,m,S)}}return C?(S||(S=new r),n(p,v,y,m,w,S)):!1}return av=g,av}var sv,X2;function VP(){if(X2)return sv;X2=1;var r=Wq(),t=li();function e(n,i,a,s,o){return n===i?!0:n==null||i==null||!t(n)&&!t(i)?n!==n&&i!==i:r(n,i,a,s,e,o)}return sv=e,sv}var ov,K2;function Vq(){if(K2)return ov;K2=1;var r=Uc(),t=VP(),e=1,n=2;function i(a,s,o,l){var u=o.length,c=u,h=!l;if(a==null)return!c;for(a=Object(a);u--;){var d=o[u];if(h&&d[2]?d[1]!==a[d[0]]:!(d[0]in a))return!1}for(;++u<c;){d=o[u];var f=d[0],g=a[f],p=d[1];if(h&&d[2]){if(g===void 0&&!(f in a))return!1}else{var v=new r;if(l)var y=l(g,p,f,a,s,v);if(!(y===void 0?t(p,g,e|n,l,v):y))return!1}}return!0}return ov=i,ov}var lv,Z2;function UP(){if(Z2)return lv;Z2=1;var r=Er();function t(e){return e===e&&!r(e)}return lv=t,lv}var uv,J2;function Uq(){if(J2)return uv;J2=1;var r=UP(),t=ua();function e(n){for(var i=t(n),a=i.length;a--;){var s=i[a],o=n[s];i[a]=[s,o,r(o)]}return i}return uv=e,uv}var cv,Q2;function YP(){if(Q2)return cv;Q2=1;function r(t,e){return function(n){return n==null?!1:n[t]===e&&(e!==void 0||t in Object(n))}}return cv=r,cv}var hv,tS;function Yq(){if(tS)return hv;tS=1;var r=Vq(),t=Uq(),e=YP();function n(i){var a=t(i);return a.length==1&&a[0][2]?e(a[0][0],a[0][1]):function(s){return s===i||r(s,i,a)}}return hv=n,hv}var dv,eS;function js(){if(eS)return dv;eS=1;var r=Ua(),t=li(),e="[object Symbol]";function n(i){return typeof i=="symbol"||t(i)&&r(i)==e}return dv=n,dv}var fv,nS;function C1(){if(nS)return fv;nS=1;var r=Qe(),t=js(),e=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,n=/^\w*$/;function i(a,s){if(r(a))return!1;var o=typeof a;return o=="number"||o=="symbol"||o=="boolean"||a==null||t(a)?!0:n.test(a)||!e.test(a)||s!=null&&a in Object(s)}return fv=i,fv}var gv,rS;function Hq(){if(rS)return gv;rS=1;var r=w1(),t="Expected a function";function e(n,i){if(typeof n!="function"||i!=null&&typeof i!="function")throw new TypeError(t);var a=function(){var s=arguments,o=i?i.apply(this,s):s[0],l=a.cache;if(l.has(o))return l.get(o);var u=n.apply(this,s);return a.cache=l.set(o,u)||l,u};return a.cache=new(e.Cache||r),a}return e.Cache=r,gv=e,gv}var vv,iS;function Xq(){if(iS)return vv;iS=1;var r=Hq(),t=500;function e(n){var i=r(n,function(s){return a.size===t&&a.clear(),s}),a=i.cache;return i}return vv=e,vv}var pv,aS;function Kq(){if(aS)return pv;aS=1;var r=Xq(),t=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,e=/\\(\\)?/g,n=r(function(i){var a=[];return i.charCodeAt(0)===46&&a.push(""),i.replace(t,function(s,o,l,u){a.push(l?u.replace(e,"$1"):o||s)}),a});return pv=n,pv}var yv,sS;function th(){if(sS)return yv;sS=1;function r(t,e){for(var n=-1,i=t==null?0:t.length,a=Array(i);++n<i;)a[n]=e(t[n],n,t);return a}return yv=r,yv}var mv,oS;function Zq(){if(oS)return mv;oS=1;var r=Fs(),t=th(),e=Qe(),n=js(),i=r?r.prototype:void 0,a=i?i.toString:void 0;function s(o){if(typeof o=="string")return o;if(e(o))return t(o,s)+"";if(n(o))return a?a.call(o):"";var l=o+"";return l=="0"&&1/o==-1/0?"-0":l}return mv=s,mv}var bv,lS;function HP(){if(lS)return bv;lS=1;var r=Zq();function t(e){return e==null?"":r(e)}return bv=t,bv}var wv,uS;function eh(){if(uS)return wv;uS=1;var r=Qe(),t=C1(),e=Kq(),n=HP();function i(a,s){return r(a)?a:t(a,s)?[a]:e(n(a))}return wv=i,wv}var xv,cS;function ul(){if(cS)return xv;cS=1;var r=js();function t(e){if(typeof e=="string"||r(e))return e;var n=e+"";return n=="0"&&1/e==-1/0?"-0":n}return xv=t,xv}var Ev,hS;function nh(){if(hS)return Ev;hS=1;var r=eh(),t=ul();function e(n,i){i=r(i,n);for(var a=0,s=i.length;n!=null&&a<s;)n=n[t(i[a++])];return a&&a==s?n:void 0}return Ev=e,Ev}var Sv,dS;function Jq(){if(dS)return Sv;dS=1;var r=nh();function t(e,n,i){var a=e==null?void 0:r(e,n);return a===void 0?i:a}return Sv=t,Sv}var _v,fS;function Qq(){if(fS)return _v;fS=1;function r(t,e){return t!=null&&e in Object(t)}return _v=r,_v}var Mv,gS;function XP(){if(gS)return Mv;gS=1;var r=eh(),t=ol(),e=Qe(),n=Xc(),i=E1(),a=ul();function s(o,l,u){l=r(l,o);for(var c=-1,h=l.length,d=!1;++c<h;){var f=a(l[c]);if(!(d=o!=null&&u(o,f)))break;o=o[f]}return d||++c!=h?d:(h=o==null?0:o.length,!!h&&i(h)&&n(f,h)&&(e(o)||t(o)))}return Mv=s,Mv}var kv,vS;function KP(){if(vS)return kv;vS=1;var r=Qq(),t=XP();function e(n,i){return n!=null&&t(n,i,r)}return kv=e,kv}var Ov,pS;function t$(){if(pS)return Ov;pS=1;var r=VP(),t=Jq(),e=KP(),n=C1(),i=UP(),a=YP(),s=ul(),o=1,l=2;function u(c,h){return n(c)&&i(h)?a(s(c),h):function(d){var f=t(d,c);return f===void 0&&f===h?e(d,c):r(h,f,o|l)}}return Ov=u,Ov}var Tv,yS;function ZP(){if(yS)return Tv;yS=1;function r(t){return function(e){return e==null?void 0:e[t]}}return Tv=r,Tv}var Av,mS;function e$(){if(mS)return Av;mS=1;var r=nh();function t(e){return function(n){return r(n,e)}}return Av=t,Av}var Pv,bS;function n$(){if(bS)return Pv;bS=1;var r=ZP(),t=e$(),e=C1(),n=ul();function i(a){return e(a)?r(n(a)):t(a)}return Pv=i,Pv}var Nv,wS;function Ti(){if(wS)return Nv;wS=1;var r=Yq(),t=t$(),e=Xa(),n=Qe(),i=n$();function a(s){return typeof s=="function"?s:s==null?e:typeof s=="object"?n(s)?t(s[0],s[1]):r(s):i(s)}return Nv=a,Nv}var Cv,xS;function JP(){if(xS)return Cv;xS=1;var r=TP(),t=Fq(),e=Ti(),n=Qe();function i(a,s){var o=n(a)?r:t;return o(a,e(s,3))}return Cv=i,Cv}var Rv,ES;function r$(){if(ES)return Rv;ES=1;var r=Object.prototype,t=r.hasOwnProperty;function e(n,i){return n!=null&&t.call(n,i)}return Rv=e,Rv}var Lv,SS;function QP(){if(SS)return Lv;SS=1;var r=r$(),t=XP();function e(n,i){return n!=null&&t(n,i,r)}return Lv=e,Lv}var Iv,_S;function i$(){if(_S)return Iv;_S=1;var r=_1(),t=zs(),e=ol(),n=Qe(),i=Oi(),a=Bs(),s=Zc(),o=ll(),l="[object Map]",u="[object Set]",c=Object.prototype,h=c.hasOwnProperty;function d(f){if(f==null)return!0;if(i(f)&&(n(f)||typeof f=="string"||typeof f.splice=="function"||a(f)||o(f)||e(f)))return!f.length;var g=t(f);if(g==l||g==u)return!f.size;if(s(f))return!r(f).length;for(var p in f)if(h.call(f,p))return!1;return!0}return Iv=d,Iv}var Dv,MS;function tN(){if(MS)return Dv;MS=1;function r(t){return t===void 0}return Dv=r,Dv}var Fv,kS;function eN(){if(kS)return Fv;kS=1;var r=Qc(),t=Oi();function e(n,i){var a=-1,s=t(n)?Array(n.length):[];return r(n,function(o,l,u){s[++a]=i(o,l,u)}),s}return Fv=e,Fv}var Bv,OS;function nN(){if(OS)return Bv;OS=1;var r=th(),t=Ti(),e=eN(),n=Qe();function i(a,s){var o=n(a)?r:e;return o(a,t(s,3))}return Bv=i,Bv}var zv,TS;function a$(){if(TS)return zv;TS=1;function r(t,e,n,i){var a=-1,s=t==null?0:t.length;for(i&&s&&(n=t[++a]);++a<s;)n=e(n,t[a],a,t);return n}return zv=r,zv}var jv,AS;function s$(){if(AS)return jv;AS=1;function r(t,e,n,i,a){return a(t,function(s,o,l){n=i?(i=!1,s):e(n,s,o,l)}),n}return jv=r,jv}var qv,PS;function rN(){if(PS)return qv;PS=1;var r=a$(),t=Qc(),e=Ti(),n=s$(),i=Qe();function a(s,o,l){var u=i(s)?r:n,c=arguments.length<3;return u(s,e(o,4),l,c,t)}return qv=a,qv}var $v,NS;function o$(){if(NS)return $v;NS=1;var r=Ua(),t=Qe(),e=li(),n="[object String]";function i(a){return typeof a=="string"||!t(a)&&e(a)&&r(a)==n}return $v=i,$v}var Gv,CS;function l$(){if(CS)return Gv;CS=1;var r=ZP(),t=r("length");return Gv=t,Gv}var Wv,RS;function u$(){if(RS)return Wv;RS=1;var r="\\ud800-\\udfff",t="\\u0300-\\u036f",e="\\ufe20-\\ufe2f",n="\\u20d0-\\u20ff",i=t+e+n,a="\\ufe0e\\ufe0f",s="\\u200d",o=RegExp("["+s+r+i+a+"]");function l(u){return o.test(u)}return Wv=l,Wv}var Vv,LS;function c$(){if(LS)return Vv;LS=1;var r="\\ud800-\\udfff",t="\\u0300-\\u036f",e="\\ufe20-\\ufe2f",n="\\u20d0-\\u20ff",i=t+e+n,a="\\ufe0e\\ufe0f",s="["+r+"]",o="["+i+"]",l="\\ud83c[\\udffb-\\udfff]",u="(?:"+o+"|"+l+")",c="[^"+r+"]",h="(?:\\ud83c[\\udde6-\\uddff]){2}",d="[\\ud800-\\udbff][\\udc00-\\udfff]",f="\\u200d",g=u+"?",p="["+a+"]?",v="(?:"+f+"(?:"+[c,h,d].join("|")+")"+p+g+")*",y=p+g+v,m="(?:"+[c+o+"?",o,h,d,s].join("|")+")",w=RegExp(l+"(?="+l+")|"+m+y,"g");function S(_){for(var k=w.lastIndex=0;w.test(_);)++k;return k}return Vv=S,Vv}var Uv,IS;function h$(){if(IS)return Uv;IS=1;var r=l$(),t=u$(),e=c$();function n(i){return t(i)?e(i):r(i)}return Uv=n,Uv}var Yv,DS;function d$(){if(DS)return Yv;DS=1;var r=_1(),t=zs(),e=Oi(),n=o$(),i=h$(),a="[object Map]",s="[object Set]";function o(l){if(l==null)return 0;if(e(l))return n(l)?i(l):l.length;var u=t(l);return u==a||u==s?l.size:r(l).length}return Yv=o,Yv}var Hv,FS;function f$(){if(FS)return Hv;FS=1;var r=x1(),t=DP(),e=P1(),n=Ti(),i=Jc(),a=Qe(),s=Bs(),o=al(),l=Er(),u=ll();function c(h,d,f){var g=a(h),p=g||s(h)||u(h);if(d=n(d,4),f==null){var v=h&&h.constructor;p?f=g?new v:[]:l(h)?f=o(v)?t(i(h)):{}:f={}}return(p?r:e)(h,function(y,m,w){return d(f,y,m,w)}),f}return Hv=c,Hv}var Xv,BS;function g$(){if(BS)return Xv;BS=1;var r=Fs(),t=ol(),e=Qe(),n=r?r.isConcatSpreadable:void 0;function i(a){return e(a)||t(a)||!!(n&&a&&a[n])}return Xv=i,Xv}var Kv,zS;function R1(){if(zS)return Kv;zS=1;var r=k1(),t=g$();function e(n,i,a,s,o){var l=-1,u=n.length;for(a||(a=t),o||(o=[]);++l<u;){var c=n[l];i>0&&a(c)?i>1?e(c,i-1,a,s,o):r(o,c):s||(o[o.length]=c)}return o}return Kv=e,Kv}var Zv,jS;function v$(){if(jS)return Zv;jS=1;function r(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}return Zv=r,Zv}var Jv,qS;function iN(){if(qS)return Jv;qS=1;var r=v$(),t=Math.max;function e(n,i,a){return i=t(i===void 0?n.length-1:i,0),function(){for(var s=arguments,o=-1,l=t(s.length-i,0),u=Array(l);++o<l;)u[o]=s[i+o];o=-1;for(var c=Array(i+1);++o<i;)c[o]=s[o];return c[i]=a(u),r(n,this,c)}}return Jv=e,Jv}var Qv,$S;function p$(){if($S)return Qv;$S=1;var r=T1(),t=SP(),e=Xa(),n=t?function(i,a){return t(i,"toString",{configurable:!0,enumerable:!1,value:r(a),writable:!0})}:e;return Qv=n,Qv}var tp,GS;function y$(){if(GS)return tp;GS=1;var r=800,t=16,e=Date.now;function n(i){var a=0,s=0;return function(){var o=e(),l=t-(o-s);if(s=o,l>0){if(++a>=r)return arguments[0]}else a=0;return i.apply(void 0,arguments)}}return tp=n,tp}var ep,WS;function aN(){if(WS)return ep;WS=1;var r=p$(),t=y$(),e=t(r);return ep=e,ep}var np,VS;function rh(){if(VS)return np;VS=1;var r=Xa(),t=iN(),e=aN();function n(i,a){return e(t(i,a,r),i+"")}return np=n,np}var rp,US;function sN(){if(US)return rp;US=1;function r(t,e,n,i){for(var a=t.length,s=n+(i?1:-1);i?s--:++s<a;)if(e(t[s],s,t))return s;return-1}return rp=r,rp}var ip,YS;function m$(){if(YS)return ip;YS=1;function r(t){return t!==t}return ip=r,ip}var ap,HS;function b$(){if(HS)return ap;HS=1;function r(t,e,n){for(var i=n-1,a=t.length;++i<a;)if(t[i]===e)return i;return-1}return ap=r,ap}var sp,XS;function w$(){if(XS)return sp;XS=1;var r=sN(),t=m$(),e=b$();function n(i,a,s){return a===a?e(i,a,s):r(i,t,s)}return sp=n,sp}var op,KS;function x$(){if(KS)return op;KS=1;var r=w$();function t(e,n){var i=e==null?0:e.length;return!!i&&r(e,n,0)>-1}return op=t,op}var lp,ZS;function E$(){if(ZS)return lp;ZS=1;function r(t,e,n){for(var i=-1,a=t==null?0:t.length;++i<a;)if(n(e,t[i]))return!0;return!1}return lp=r,lp}var up,JS;function S$(){if(JS)return up;JS=1;function r(){}return up=r,up}var cp,QS;function _$(){if(QS)return cp;QS=1;var r=RP(),t=S$(),e=N1(),n=1/0,i=r&&1/e(new r([,-0]))[1]==n?function(a){return new r(a)}:t;return cp=i,cp}var hp,t_;function M$(){if(t_)return hp;t_=1;var r=$P(),t=x$(),e=E$(),n=GP(),i=_$(),a=N1(),s=200;function o(l,u,c){var h=-1,d=t,f=l.length,g=!0,p=[],v=p;if(c)g=!1,d=e;else if(f>=s){var y=u?null:i(l);if(y)return a(y);g=!1,d=n,v=new r}else v=u?[]:p;t:for(;++h<f;){var m=l[h],w=u?u(m):m;if(m=c||m!==0?m:0,g&&w===w){for(var S=v.length;S--;)if(v[S]===w)continue t;u&&v.push(w),p.push(m)}else d(v,w,c)||(v!==p&&v.push(w),p.push(m))}return p}return hp=o,hp}var dp,e_;function oN(){if(e_)return dp;e_=1;var r=Oi(),t=li();function e(n){return t(n)&&r(n)}return dp=e,dp}var fp,n_;function k$(){if(n_)return fp;n_=1;var r=R1(),t=rh(),e=M$(),n=oN(),i=t(function(a){return e(r(a,1,n,!0))});return fp=i,fp}var gp,r_;function O$(){if(r_)return gp;r_=1;var r=th();function t(e,n){return r(n,function(i){return e[i]})}return gp=t,gp}var vp,i_;function lN(){if(i_)return vp;i_=1;var r=O$(),t=ua();function e(n){return n==null?[]:r(n,t(n))}return vp=e,vp}var pp,a_;function Sr(){if(a_)return pp;a_=1;var r;if(typeof Cm=="function")try{r={clone:Lq(),constant:T1(),each:qP(),filter:JP(),has:QP(),isArray:Qe(),isEmpty:i$(),isFunction:al(),isUndefined:tN(),keys:ua(),map:nN(),reduce:rN(),size:d$(),transform:f$(),union:k$(),values:lN()}}catch{}return r||(r=window._),pp=r,pp}var yp,s_;function L1(){if(s_)return yp;s_=1;var r=Sr();yp=i;var t="\0",e="\0",n="";function i(c){this._isDirected=r.has(c,"directed")?c.directed:!0,this._isMultigraph=r.has(c,"multigraph")?c.multigraph:!1,this._isCompound=r.has(c,"compound")?c.compound:!1,this._label=void 0,this._defaultNodeLabelFn=r.constant(void 0),this._defaultEdgeLabelFn=r.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[e]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}i.prototype._nodeCount=0,i.prototype._edgeCount=0,i.prototype.isDirected=function(){return this._isDirected},i.prototype.isMultigraph=function(){return this._isMultigraph},i.prototype.isCompound=function(){return this._isCompound},i.prototype.setGraph=function(c){return this._label=c,this},i.prototype.graph=function(){return this._label},i.prototype.setDefaultNodeLabel=function(c){return r.isFunction(c)||(c=r.constant(c)),this._defaultNodeLabelFn=c,this},i.prototype.nodeCount=function(){return this._nodeCount},i.prototype.nodes=function(){return r.keys(this._nodes)},i.prototype.sources=function(){var c=this;return r.filter(this.nodes(),function(h){return r.isEmpty(c._in[h])})},i.prototype.sinks=function(){var c=this;return r.filter(this.nodes(),function(h){return r.isEmpty(c._out[h])})},i.prototype.setNodes=function(c,h){var d=arguments,f=this;return r.each(c,function(g){d.length>1?f.setNode(g,h):f.setNode(g)}),this},i.prototype.setNode=function(c,h){return r.has(this._nodes,c)?(arguments.length>1&&(this._nodes[c]=h),this):(this._nodes[c]=arguments.length>1?h:this._defaultNodeLabelFn(c),this._isCompound&&(this._parent[c]=e,this._children[c]={},this._children[e][c]=!0),this._in[c]={},this._preds[c]={},this._out[c]={},this._sucs[c]={},++this._nodeCount,this)},i.prototype.node=function(c){return this._nodes[c]},i.prototype.hasNode=function(c){return r.has(this._nodes,c)},i.prototype.removeNode=function(c){var h=this;if(r.has(this._nodes,c)){var d=function(f){h.removeEdge(h._edgeObjs[f])};delete this._nodes[c],this._isCompound&&(this._removeFromParentsChildList(c),delete this._parent[c],r.each(this.children(c),function(f){h.setParent(f)}),delete this._children[c]),r.each(r.keys(this._in[c]),d),delete this._in[c],delete this._preds[c],r.each(r.keys(this._out[c]),d),delete this._out[c],delete this._sucs[c],--this._nodeCount}return this},i.prototype.setParent=function(c,h){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(r.isUndefined(h))h=e;else{h+="";for(var d=h;!r.isUndefined(d);d=this.parent(d))if(d===c)throw new Error("Setting "+h+" as parent of "+c+" would create a cycle");this.setNode(h)}return this.setNode(c),this._removeFromParentsChildList(c),this._parent[c]=h,this._children[h][c]=!0,this},i.prototype._removeFromParentsChildList=function(c){delete this._children[this._parent[c]][c]},i.prototype.parent=function(c){if(this._isCompound){var h=this._parent[c];if(h!==e)return h}},i.prototype.children=function(c){if(r.isUndefined(c)&&(c=e),this._isCompound){var h=this._children[c];if(h)return r.keys(h)}else{if(c===e)return this.nodes();if(this.hasNode(c))return[]}},i.prototype.predecessors=function(c){var h=this._preds[c];if(h)return r.keys(h)},i.prototype.successors=function(c){var h=this._sucs[c];if(h)return r.keys(h)},i.prototype.neighbors=function(c){var h=this.predecessors(c);if(h)return r.union(h,this.successors(c))},i.prototype.isLeaf=function(c){var h;return this.isDirected()?h=this.successors(c):h=this.neighbors(c),h.length===0},i.prototype.filterNodes=function(c){var h=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});h.setGraph(this.graph());var d=this;r.each(this._nodes,function(p,v){c(v)&&h.setNode(v,p)}),r.each(this._edgeObjs,function(p){h.hasNode(p.v)&&h.hasNode(p.w)&&h.setEdge(p,d.edge(p))});var f={};function g(p){var v=d.parent(p);return v===void 0||h.hasNode(v)?(f[p]=v,v):v in f?f[v]:g(v)}return this._isCompound&&r.each(h.nodes(),function(p){h.setParent(p,g(p))}),h},i.prototype.setDefaultEdgeLabel=function(c){return r.isFunction(c)||(c=r.constant(c)),this._defaultEdgeLabelFn=c,this},i.prototype.edgeCount=function(){return this._edgeCount},i.prototype.edges=function(){return r.values(this._edgeObjs)},i.prototype.setPath=function(c,h){var d=this,f=arguments;return r.reduce(c,function(g,p){return f.length>1?d.setEdge(g,p,h):d.setEdge(g,p),p}),this},i.prototype.setEdge=function(){var c,h,d,f,g=!1,p=arguments[0];typeof p=="object"&&p!==null&&"v"in p?(c=p.v,h=p.w,d=p.name,arguments.length===2&&(f=arguments[1],g=!0)):(c=p,h=arguments[1],d=arguments[3],arguments.length>2&&(f=arguments[2],g=!0)),c=""+c,h=""+h,r.isUndefined(d)||(d=""+d);var v=o(this._isDirected,c,h,d);if(r.has(this._edgeLabels,v))return g&&(this._edgeLabels[v]=f),this;if(!r.isUndefined(d)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(c),this.setNode(h),this._edgeLabels[v]=g?f:this._defaultEdgeLabelFn(c,h,d);var y=l(this._isDirected,c,h,d);return c=y.v,h=y.w,Object.freeze(y),this._edgeObjs[v]=y,a(this._preds[h],c),a(this._sucs[c],h),this._in[h][v]=y,this._out[c][v]=y,this._edgeCount++,this},i.prototype.edge=function(c,h,d){var f=arguments.length===1?u(this._isDirected,arguments[0]):o(this._isDirected,c,h,d);return this._edgeLabels[f]},i.prototype.hasEdge=function(c,h,d){var f=arguments.length===1?u(this._isDirected,arguments[0]):o(this._isDirected,c,h,d);return r.has(this._edgeLabels,f)},i.prototype.removeEdge=function(c,h,d){var f=arguments.length===1?u(this._isDirected,arguments[0]):o(this._isDirected,c,h,d),g=this._edgeObjs[f];return g&&(c=g.v,h=g.w,delete this._edgeLabels[f],delete this._edgeObjs[f],s(this._preds[h],c),s(this._sucs[c],h),delete this._in[h][f],delete this._out[c][f],this._edgeCount--),this},i.prototype.inEdges=function(c,h){var d=this._in[c];if(d){var f=r.values(d);return h?r.filter(f,function(g){return g.v===h}):f}},i.prototype.outEdges=function(c,h){var d=this._out[c];if(d){var f=r.values(d);return h?r.filter(f,function(g){return g.w===h}):f}},i.prototype.nodeEdges=function(c,h){var d=this.inEdges(c,h);if(d)return d.concat(this.outEdges(c,h))};function a(c,h){c[h]?c[h]++:c[h]=1}function s(c,h){--c[h]||delete c[h]}function o(c,h,d,f){var g=""+h,p=""+d;if(!c&&g>p){var v=g;g=p,p=v}return g+n+p+n+(r.isUndefined(f)?t:f)}function l(c,h,d,f){var g=""+h,p=""+d;if(!c&&g>p){var v=g;g=p,p=v}var y={v:g,w:p};return f&&(y.name=f),y}function u(c,h){return o(c,h.v,h.w,h.name)}return yp}var mp,o_;function T$(){return o_||(o_=1,mp="2.1.8"),mp}var bp,l_;function A$(){return l_||(l_=1,bp={Graph:L1(),version:T$()}),bp}var wp,u_;function P$(){if(u_)return wp;u_=1;var r=Sr(),t=L1();wp={write:e,read:a};function e(s){var o={options:{directed:s.isDirected(),multigraph:s.isMultigraph(),compound:s.isCompound()},nodes:n(s),edges:i(s)};return r.isUndefined(s.graph())||(o.value=r.clone(s.graph())),o}function n(s){return r.map(s.nodes(),function(o){var l=s.node(o),u=s.parent(o),c={v:o};return r.isUndefined(l)||(c.value=l),r.isUndefined(u)||(c.parent=u),c})}function i(s){return r.map(s.edges(),function(o){var l=s.edge(o),u={v:o.v,w:o.w};return r.isUndefined(o.name)||(u.name=o.name),r.isUndefined(l)||(u.value=l),u})}function a(s){var o=new t(s.options).setGraph(s.value);return r.each(s.nodes,function(l){o.setNode(l.v,l.value),l.parent&&o.setParent(l.v,l.parent)}),r.each(s.edges,function(l){o.setEdge({v:l.v,w:l.w,name:l.name},l.value)}),o}return wp}var xp,c_;function N$(){if(c_)return xp;c_=1;var r=Sr();xp=t;function t(e){var n={},i=[],a;function s(o){r.has(n,o)||(n[o]=!0,a.push(o),r.each(e.successors(o),s),r.each(e.predecessors(o),s))}return r.each(e.nodes(),function(o){a=[],s(o),a.length&&i.push(a)}),i}return xp}var Ep,h_;function uN(){if(h_)return Ep;h_=1;var r=Sr();Ep=t;function t(){this._arr=[],this._keyIndices={}}return t.prototype.size=function(){return this._arr.length},t.prototype.keys=function(){return this._arr.map(function(e){return e.key})},t.prototype.has=function(e){return r.has(this._keyIndices,e)},t.prototype.priority=function(e){var n=this._keyIndices[e];if(n!==void 0)return this._arr[n].priority},t.prototype.min=function(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key},t.prototype.add=function(e,n){var i=this._keyIndices;if(e=String(e),!r.has(i,e)){var a=this._arr,s=a.length;return i[e]=s,a.push({key:e,priority:n}),this._decrease(s),!0}return!1},t.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key},t.prototype.decrease=function(e,n){var i=this._keyIndices[e];if(n>this._arr[i].priority)throw new Error("New priority is greater than current priority. Key: "+e+" Old: "+this._arr[i].priority+" New: "+n);this._arr[i].priority=n,this._decrease(i)},t.prototype._heapify=function(e){var n=this._arr,i=2*e,a=i+1,s=e;i<n.length&&(s=n[i].priority<n[s].priority?i:s,a<n.length&&(s=n[a].priority<n[s].priority?a:s),s!==e&&(this._swap(e,s),this._heapify(s)))},t.prototype._decrease=function(e){for(var n=this._arr,i=n[e].priority,a;e!==0&&(a=e>>1,!(n[a].priority<i));)this._swap(e,a),e=a},t.prototype._swap=function(e,n){var i=this._arr,a=this._keyIndices,s=i[e],o=i[n];i[e]=o,i[n]=s,a[o.key]=e,a[s.key]=n},Ep}var Sp,d_;function cN(){if(d_)return Sp;d_=1;var r=Sr(),t=uN();Sp=n;var e=r.constant(1);function n(a,s,o,l){return i(a,String(s),o||e,l||function(u){return a.outEdges(u)})}function i(a,s,o,l){var u={},c=new t,h,d,f=function(g){var p=g.v!==h?g.v:g.w,v=u[p],y=o(g),m=d.distance+y;if(y<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+g+" Weight: "+y);m<v.distance&&(v.distance=m,v.predecessor=h,c.decrease(p,m))};for(a.nodes().forEach(function(g){var p=g===s?0:Number.POSITIVE_INFINITY;u[g]={distance:p},c.add(g,p)});c.size()>0&&(h=c.removeMin(),d=u[h],d.distance!==Number.POSITIVE_INFINITY);)l(h).forEach(f);return u}return Sp}var _p,f_;function C$(){if(f_)return _p;f_=1;var r=cN(),t=Sr();_p=e;function e(n,i,a){return t.transform(n.nodes(),function(s,o){s[o]=r(n,o,i,a)},{})}return _p}var Mp,g_;function hN(){if(g_)return Mp;g_=1;var r=Sr();Mp=t;function t(e){var n=0,i=[],a={},s=[];function o(l){var u=a[l]={onStack:!0,lowlink:n,index:n++};if(i.push(l),e.successors(l).forEach(function(d){r.has(a,d)?a[d].onStack&&(u.lowlink=Math.min(u.lowlink,a[d].index)):(o(d),u.lowlink=Math.min(u.lowlink,a[d].lowlink))}),u.lowlink===u.index){var c=[],h;do h=i.pop(),a[h].onStack=!1,c.push(h);while(l!==h);s.push(c)}}return e.nodes().forEach(function(l){r.has(a,l)||o(l)}),s}return Mp}var kp,v_;function R$(){if(v_)return kp;v_=1;var r=Sr(),t=hN();kp=e;function e(n){return r.filter(t(n),function(i){return i.length>1||i.length===1&&n.hasEdge(i[0],i[0])})}return kp}var Op,p_;function L$(){if(p_)return Op;p_=1;var r=Sr();Op=e;var t=r.constant(1);function e(i,a,s){return n(i,a||t,s||function(o){return i.outEdges(o)})}function n(i,a,s){var o={},l=i.nodes();return l.forEach(function(u){o[u]={},o[u][u]={distance:0},l.forEach(function(c){u!==c&&(o[u][c]={distance:Number.POSITIVE_INFINITY})}),s(u).forEach(function(c){var h=c.v===u?c.w:c.v,d=a(c);o[u][h]={distance:d,predecessor:u}})}),l.forEach(function(u){var c=o[u];l.forEach(function(h){var d=o[h];l.forEach(function(f){var g=d[u],p=c[f],v=d[f],y=g.distance+p.distance;y<v.distance&&(v.distance=y,v.predecessor=p.predecessor)})})}),o}return Op}var Tp,y_;function dN(){if(y_)return Tp;y_=1;var r=Sr();Tp=t,t.CycleException=e;function t(n){var i={},a={},s=[];function o(l){if(r.has(a,l))throw new e;r.has(i,l)||(a[l]=!0,i[l]=!0,r.each(n.predecessors(l),o),delete a[l],s.push(l))}if(r.each(n.sinks(),o),r.size(i)!==n.nodeCount())throw new e;return s}function e(){}return e.prototype=new Error,Tp}var Ap,m_;function I$(){if(m_)return Ap;m_=1;var r=dN();Ap=t;function t(e){try{r(e)}catch(n){if(n instanceof r.CycleException)return!1;throw n}return!0}return Ap}var Pp,b_;function fN(){if(b_)return Pp;b_=1;var r=Sr();Pp=t;function t(n,i,a){r.isArray(i)||(i=[i]);var s=(n.isDirected()?n.successors:n.neighbors).bind(n),o=[],l={};return r.each(i,function(u){if(!n.hasNode(u))throw new Error("Graph does not have node: "+u);e(n,u,a==="post",l,s,o)}),o}function e(n,i,a,s,o,l){r.has(s,i)||(s[i]=!0,a||l.push(i),r.each(o(i),function(u){e(n,u,a,s,o,l)}),a&&l.push(i))}return Pp}var Np,w_;function D$(){if(w_)return Np;w_=1;var r=fN();Np=t;function t(e,n){return r(e,n,"post")}return Np}var Cp,x_;function F$(){if(x_)return Cp;x_=1;var r=fN();Cp=t;function t(e,n){return r(e,n,"pre")}return Cp}var Rp,E_;function B$(){if(E_)return Rp;E_=1;var r=Sr(),t=L1(),e=uN();Rp=n;function n(i,a){var s=new t,o={},l=new e,u;function c(d){var f=d.v===u?d.w:d.v,g=l.priority(f);if(g!==void 0){var p=a(d);p<g&&(o[f]=u,l.decrease(f,p))}}if(i.nodeCount()===0)return s;r.each(i.nodes(),function(d){l.add(d,Number.POSITIVE_INFINITY),s.setNode(d)}),l.decrease(i.nodes()[0],0);for(var h=!1;l.size()>0;){if(u=l.removeMin(),r.has(o,u))s.setEdge(u,o[u]);else{if(h)throw new Error("Input graph is not connected: "+i);h=!0}i.nodeEdges(u).forEach(c)}return s}return Rp}var Lp,S_;function z$(){return S_||(S_=1,Lp={components:N$(),dijkstra:cN(),dijkstraAll:C$(),findCycles:R$(),floydWarshall:L$(),isAcyclic:I$(),postorder:D$(),preorder:F$(),prim:B$(),tarjan:hN(),topsort:dN()}),Lp}var Ip,__;function j$(){if(__)return Ip;__=1;var r=A$();return Ip={Graph:r.Graph,json:P$(),alg:z$(),version:r.version},Ip}var Dp,M_;function Dr(){if(M_)return Dp;M_=1;var r;if(typeof Cm=="function")try{r=j$()}catch{}return r||(r=window.graphlib),Dp=r,Dp}var Fp,k_;function q$(){if(k_)return Fp;k_=1;var r=BP(),t=1,e=4;function n(i){return r(i,t|e)}return Fp=n,Fp}var Bp,O_;function ih(){if(O_)return Bp;O_=1;var r=Ds(),t=Oi(),e=Xc(),n=Er();function i(a,s,o){if(!n(o))return!1;var l=typeof s;return(l=="number"?t(o)&&e(s,o.length):l=="string"&&s in o)?r(o[s],a):!1}return Bp=i,Bp}var zp,T_;function $$(){if(T_)return zp;T_=1;var r=rh(),t=Ds(),e=ih(),n=Ha(),i=Object.prototype,a=i.hasOwnProperty,s=r(function(o,l){o=Object(o);var u=-1,c=l.length,h=c>2?l[2]:void 0;for(h&&e(l[0],l[1],h)&&(c=1);++u<c;)for(var d=l[u],f=n(d),g=-1,p=f.length;++g<p;){var v=f[g],y=o[v];(y===void 0||t(y,i[v])&&!a.call(o,v))&&(o[v]=d[v])}return o});return zp=s,zp}var jp,A_;function G$(){if(A_)return jp;A_=1;var r=Ti(),t=Oi(),e=ua();function n(i){return function(a,s,o){var l=Object(a);if(!t(a)){var u=r(s,3);a=e(a),s=function(h){return u(l[h],h,l)}}var c=i(a,s,o);return c>-1?l[u?a[c]:c]:void 0}}return jp=n,jp}var qp,P_;function W$(){if(P_)return qp;P_=1;var r=/\s/;function t(e){for(var n=e.length;n--&&r.test(e.charAt(n)););return n}return qp=t,qp}var $p,N_;function V$(){if(N_)return $p;N_=1;var r=W$(),t=/^\s+/;function e(n){return n&&n.slice(0,r(n)+1).replace(t,"")}return $p=e,$p}var Gp,C_;function U$(){if(C_)return Gp;C_=1;var r=V$(),t=Er(),e=js(),n=NaN,i=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,s=/^0o[0-7]+$/i,o=parseInt;function l(u){if(typeof u=="number")return u;if(e(u))return n;if(t(u)){var c=typeof u.valueOf=="function"?u.valueOf():u;u=t(c)?c+"":c}if(typeof u!="string")return u===0?u:+u;u=r(u);var h=a.test(u);return h||s.test(u)?o(u.slice(2),h?2:8):i.test(u)?n:+u}return Gp=l,Gp}var Wp,R_;function gN(){if(R_)return Wp;R_=1;var r=U$(),t=1/0,e=17976931348623157e292;function n(i){if(!i)return i===0?i:0;if(i=r(i),i===t||i===-t){var a=i<0?-1:1;return a*e}return i===i?i:0}return Wp=n,Wp}var Vp,L_;function Y$(){if(L_)return Vp;L_=1;var r=gN();function t(e){var n=r(e),i=n%1;return n===n?i?n-i:n:0}return Vp=t,Vp}var Up,I_;function H$(){if(I_)return Up;I_=1;var r=sN(),t=Ti(),e=Y$(),n=Math.max;function i(a,s,o){var l=a==null?0:a.length;if(!l)return-1;var u=o==null?0:e(o);return u<0&&(u=n(l+u,0)),r(a,t(s,3),u)}return Up=i,Up}var Yp,D_;function X$(){if(D_)return Yp;D_=1;var r=G$(),t=H$(),e=r(t);return Yp=e,Yp}var Hp,F_;function vN(){if(F_)return Hp;F_=1;var r=R1();function t(e){var n=e==null?0:e.length;return n?r(e,1):[]}return Hp=t,Hp}var Xp,B_;function K$(){if(B_)return Xp;B_=1;var r=A1(),t=zP(),e=Ha();function n(i,a){return i==null?i:r(i,t(a),e)}return Xp=n,Xp}var Kp,z_;function Z$(){if(z_)return Kp;z_=1;function r(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}return Kp=r,Kp}var Zp,j_;function J$(){if(j_)return Zp;j_=1;var r=Yc(),t=P1(),e=Ti();function n(i,a){var s={};return a=e(a,3),t(i,function(o,l,u){r(s,l,a(o,l,u))}),s}return Zp=n,Zp}var Jp,q_;function I1(){if(q_)return Jp;q_=1;var r=js();function t(e,n,i){for(var a=-1,s=e.length;++a<s;){var o=e[a],l=n(o);if(l!=null&&(u===void 0?l===l&&!r(l):i(l,u)))var u=l,c=o}return c}return Jp=t,Jp}var Qp,$_;function Q$(){if($_)return Qp;$_=1;function r(t,e){return t>e}return Qp=r,Qp}var t0,G_;function tG(){if(G_)return t0;G_=1;var r=I1(),t=Q$(),e=Xa();function n(i){return i&&i.length?r(i,e,t):void 0}return t0=n,t0}var e0,W_;function pN(){if(W_)return e0;W_=1;var r=Yc(),t=Ds();function e(n,i,a){(a!==void 0&&!t(n[i],a)||a===void 0&&!(i in n))&&r(n,i,a)}return e0=e,e0}var n0,V_;function eG(){if(V_)return n0;V_=1;var r=Ua(),t=Jc(),e=li(),n="[object Object]",i=Function.prototype,a=Object.prototype,s=i.toString,o=a.hasOwnProperty,l=s.call(Object);function u(c){if(!e(c)||r(c)!=n)return!1;var h=t(c);if(h===null)return!0;var d=o.call(h,"constructor")&&h.constructor;return typeof d=="function"&&d instanceof d&&s.call(d)==l}return n0=u,n0}var r0,U_;function yN(){if(U_)return r0;U_=1;function r(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}return r0=r,r0}var i0,Y_;function nG(){if(Y_)return i0;Y_=1;var r=sl(),t=Ha();function e(n){return r(n,t(n))}return i0=e,i0}var a0,H_;function rG(){if(H_)return a0;H_=1;var r=pN(),t=kP(),e=IP(),n=OP(),i=FP(),a=ol(),s=Qe(),o=oN(),l=Bs(),u=al(),c=Er(),h=eG(),d=ll(),f=yN(),g=nG();function p(v,y,m,w,S,_,k){var T=f(v,m),O=f(y,m),P=k.get(O);if(P){r(v,m,P);return}var N=_?_(T,O,m+"",v,y,k):void 0,C=N===void 0;if(C){var L=s(O),F=!L&&l(O),G=!L&&!F&&d(O);N=O,L||F||G?s(T)?N=T:o(T)?N=n(T):F?(C=!1,N=t(O,!0)):G?(C=!1,N=e(O,!0)):N=[]:h(O)||a(O)?(N=T,a(T)?N=g(T):(!c(T)||u(T))&&(N=i(O))):C=!1}C&&(k.set(O,N),S(N,O,w,_,k),k.delete(O)),r(v,m,N)}return a0=p,a0}var s0,X_;function iG(){if(X_)return s0;X_=1;var r=Uc(),t=pN(),e=A1(),n=rG(),i=Er(),a=Ha(),s=yN();function o(l,u,c,h,d){l!==u&&e(u,function(f,g){if(d||(d=new r),i(f))n(l,u,g,c,o,h,d);else{var p=h?h(s(l,g),f,g+"",l,u,d):void 0;p===void 0&&(p=f),t(l,g,p)}},a)}return s0=o,s0}var o0,K_;function aG(){if(K_)return o0;K_=1;var r=rh(),t=ih();function e(n){return r(function(i,a){var s=-1,o=a.length,l=o>1?a[o-1]:void 0,u=o>2?a[2]:void 0;for(l=n.length>3&&typeof l=="function"?(o--,l):void 0,u&&t(a[0],a[1],u)&&(l=o<3?void 0:l,o=1),i=Object(i);++s<o;){var c=a[s];c&&n(i,c,s,l)}return i})}return o0=e,o0}var l0,Z_;function sG(){if(Z_)return l0;Z_=1;var r=iG(),t=aG(),e=t(function(n,i,a){r(n,i,a)});return l0=e,l0}var u0,J_;function mN(){if(J_)return u0;J_=1;function r(t,e){return t<e}return u0=r,u0}var c0,Q_;function oG(){if(Q_)return c0;Q_=1;var r=I1(),t=mN(),e=Xa();function n(i){return i&&i.length?r(i,e,t):void 0}return c0=n,c0}var h0,tM;function lG(){if(tM)return h0;tM=1;var r=I1(),t=Ti(),e=mN();function n(i,a){return i&&i.length?r(i,t(a,2),e):void 0}return h0=n,h0}var d0,eM;function uG(){if(eM)return d0;eM=1;var r=Br(),t=function(){return r.Date.now()};return d0=t,d0}var f0,nM;function cG(){if(nM)return f0;nM=1;var r=Hc(),t=eh(),e=Xc(),n=Er(),i=ul();function a(s,o,l,u){if(!n(s))return s;o=t(o,s);for(var c=-1,h=o.length,d=h-1,f=s;f!=null&&++c<h;){var g=i(o[c]),p=l;if(g==="__proto__"||g==="constructor"||g==="prototype")return s;if(c!=d){var v=f[g];p=u?u(v,g,f):void 0,p===void 0&&(p=n(v)?v:e(o[c+1])?[]:{})}r(f,g,p),f=f[g]}return s}return f0=a,f0}var g0,rM;function hG(){if(rM)return g0;rM=1;var r=nh(),t=cG(),e=eh();function n(i,a,s){for(var o=-1,l=a.length,u={};++o<l;){var c=a[o],h=r(i,c);s(h,c)&&t(u,e(c,i),h)}return u}return g0=n,g0}var v0,iM;function dG(){if(iM)return v0;iM=1;var r=hG(),t=KP();function e(n,i){return r(n,i,function(a,s){return t(n,s)})}return v0=e,v0}var p0,aM;function fG(){if(aM)return p0;aM=1;var r=vN(),t=iN(),e=aN();function n(i){return e(t(i,void 0,r),i+"")}return p0=n,p0}var y0,sM;function gG(){if(sM)return y0;sM=1;var r=dG(),t=fG(),e=t(function(n,i){return n==null?{}:r(n,i)});return y0=e,y0}var m0,oM;function vG(){if(oM)return m0;oM=1;var r=Math.ceil,t=Math.max;function e(n,i,a,s){for(var o=-1,l=t(r((i-n)/(a||1)),0),u=Array(l);l--;)u[s?l:++o]=n,n+=a;return u}return m0=e,m0}var b0,lM;function pG(){if(lM)return b0;lM=1;var r=vG(),t=ih(),e=gN();function n(i){return function(a,s,o){return o&&typeof o!="number"&&t(a,s,o)&&(s=o=void 0),a=e(a),s===void 0?(s=a,a=0):s=e(s),o=o===void 0?a<s?1:-1:e(o),r(a,s,o,i)}}return b0=n,b0}var w0,uM;function yG(){if(uM)return w0;uM=1;var r=pG(),t=r();return w0=t,w0}var x0,cM;function mG(){if(cM)return x0;cM=1;function r(t,e){var n=t.length;for(t.sort(e);n--;)t[n]=t[n].value;return t}return x0=r,x0}var E0,hM;function bG(){if(hM)return E0;hM=1;var r=js();function t(e,n){if(e!==n){var i=e!==void 0,a=e===null,s=e===e,o=r(e),l=n!==void 0,u=n===null,c=n===n,h=r(n);if(!u&&!h&&!o&&e>n||o&&l&&c&&!u&&!h||a&&l&&c||!i&&c||!s)return 1;if(!a&&!o&&!h&&e<n||h&&i&&s&&!a&&!o||u&&i&&s||!l&&s||!c)return-1}return 0}return E0=t,E0}var S0,dM;function wG(){if(dM)return S0;dM=1;var r=bG();function t(e,n,i){for(var a=-1,s=e.criteria,o=n.criteria,l=s.length,u=i.length;++a<l;){var c=r(s[a],o[a]);if(c){if(a>=u)return c;var h=i[a];return c*(h=="desc"?-1:1)}}return e.index-n.index}return S0=t,S0}var _0,fM;function xG(){if(fM)return _0;fM=1;var r=th(),t=nh(),e=Ti(),n=eN(),i=mG(),a=Kc(),s=wG(),o=Xa(),l=Qe();function u(c,h,d){h.length?h=r(h,function(p){return l(p)?function(v){return t(v,p.length===1?p[0]:p)}:p}):h=[o];var f=-1;h=r(h,a(e));var g=n(c,function(p,v,y){var m=r(h,function(w){return w(p)});return{criteria:m,index:++f,value:p}});return i(g,function(p,v){return s(p,v,d)})}return _0=u,_0}var M0,gM;function EG(){if(gM)return M0;gM=1;var r=R1(),t=xG(),e=rh(),n=ih(),i=e(function(a,s){if(a==null)return[];var o=s.length;return o>1&&n(a,s[0],s[1])?s=[]:o>2&&n(s[0],s[1],s[2])&&(s=[s[0]]),t(a,r(s,1),[])});return M0=i,M0}var k0,vM;function SG(){if(vM)return k0;vM=1;var r=HP(),t=0;function e(n){var i=++t;return r(n)+i}return k0=e,k0}var O0,pM;function _G(){if(pM)return O0;pM=1;function r(t,e,n){for(var i=-1,a=t.length,s=e.length,o={};++i<a;){var l=i<s?e[i]:void 0;n(o,t[i],l)}return o}return O0=r,O0}var T0,yM;function MG(){if(yM)return T0;yM=1;var r=Hc(),t=_G();function e(n,i){return t(n||[],i||[],r)}return T0=e,T0}var A0,mM;function Ne(){if(mM)return A0;mM=1;var r;if(typeof Cm=="function")try{r={cloneDeep:q$(),constant:T1(),defaults:$$(),each:qP(),filter:JP(),find:X$(),flatten:vN(),forEach:jP(),forIn:K$(),has:QP(),isUndefined:tN(),last:Z$(),map:nN(),mapValues:J$(),max:tG(),merge:sG(),min:oG(),minBy:lG(),now:uG(),pick:gG(),range:yG(),reduce:rN(),sortBy:EG(),uniqueId:SG(),values:lN(),zipObject:MG()}}catch{}return r||(r=window._),A0=r,A0}var P0,bM;function kG(){if(bM)return P0;bM=1,P0=r;function r(){var n={};n._next=n._prev=n,this._sentinel=n}r.prototype.dequeue=function(){var n=this._sentinel,i=n._prev;if(i!==n)return t(i),i},r.prototype.enqueue=function(n){var i=this._sentinel;n._prev&&n._next&&t(n),n._next=i._next,i._next._prev=n,i._next=n,n._prev=i},r.prototype.toString=function(){for(var n=[],i=this._sentinel,a=i._prev;a!==i;)n.push(JSON.stringify(a,e)),a=a._prev;return"["+n.join(", ")+"]"};function t(n){n._prev._next=n._next,n._next._prev=n._prev,delete n._next,delete n._prev}function e(n,i){if(n!=="_next"&&n!=="_prev")return i}return P0}var N0,wM;function OG(){if(wM)return N0;wM=1;var r=Ne(),t=Dr().Graph,e=kG();N0=i;var n=r.constant(1);function i(u,c){if(u.nodeCount()<=1)return[];var h=o(u,c||n),d=a(h.graph,h.buckets,h.zeroIdx);return r.flatten(r.map(d,function(f){return u.outEdges(f.v,f.w)}),!0)}function a(u,c,h){for(var d=[],f=c[c.length-1],g=c[0],p;u.nodeCount();){for(;p=g.dequeue();)s(u,c,h,p);for(;p=f.dequeue();)s(u,c,h,p);if(u.nodeCount()){for(var v=c.length-2;v>0;--v)if(p=c[v].dequeue(),p){d=d.concat(s(u,c,h,p,!0));break}}}return d}function s(u,c,h,d,f){var g=f?[]:void 0;return r.forEach(u.inEdges(d.v),function(p){var v=u.edge(p),y=u.node(p.v);f&&g.push({v:p.v,w:p.w}),y.out-=v,l(c,h,y)}),r.forEach(u.outEdges(d.v),function(p){var v=u.edge(p),y=p.w,m=u.node(y);m.in-=v,l(c,h,m)}),u.removeNode(d.v),g}function o(u,c){var h=new t,d=0,f=0;r.forEach(u.nodes(),function(v){h.setNode(v,{v,in:0,out:0})}),r.forEach(u.edges(),function(v){var y=h.edge(v.v,v.w)||0,m=c(v),w=y+m;h.setEdge(v.v,v.w,w),f=Math.max(f,h.node(v.v).out+=m),d=Math.max(d,h.node(v.w).in+=m)});var g=r.range(f+d+3).map(function(){return new e}),p=d+1;return r.forEach(h.nodes(),function(v){l(g,p,h.node(v))}),{graph:h,buckets:g,zeroIdx:p}}function l(u,c,h){h.out?h.in?u[h.out-h.in+c].enqueue(h):u[u.length-1].enqueue(h):u[0].enqueue(h)}return N0}var C0,xM;function TG(){if(xM)return C0;xM=1;var r=Ne(),t=OG();C0={run:e,undo:i};function e(a){var s=a.graph().acyclicer==="greedy"?t(a,o(a)):n(a);r.forEach(s,function(l){var u=a.edge(l);a.removeEdge(l),u.forwardName=l.name,u.reversed=!0,a.setEdge(l.w,l.v,u,r.uniqueId("rev"))});function o(l){return function(u){return l.edge(u).weight}}}function n(a){var s=[],o={},l={};function u(c){r.has(l,c)||(l[c]=!0,o[c]=!0,r.forEach(a.outEdges(c),function(h){r.has(o,h.w)?s.push(h):u(h.w)}),delete o[c])}return r.forEach(a.nodes(),u),s}function i(a){r.forEach(a.edges(),function(s){var o=a.edge(s);if(o.reversed){a.removeEdge(s);var l=o.forwardName;delete o.reversed,delete o.forwardName,a.setEdge(s.w,s.v,o,l)}})}return C0}var R0,EM;function Hn(){if(EM)return R0;EM=1;var r=Ne(),t=Dr().Graph;R0={addDummyNode:e,simplify:n,asNonCompoundGraph:i,successorWeights:a,predecessorWeights:s,intersectRect:o,buildLayerMatrix:l,normalizeRanks:u,removeEmptyRanks:c,addBorderNode:h,maxRank:d,partition:f,time:g,notime:p};function e(v,y,m,w){var S;do S=r.uniqueId(w);while(v.hasNode(S));return m.dummy=y,v.setNode(S,m),S}function n(v){var y=new t().setGraph(v.graph());return r.forEach(v.nodes(),function(m){y.setNode(m,v.node(m))}),r.forEach(v.edges(),function(m){var w=y.edge(m.v,m.w)||{weight:0,minlen:1},S=v.edge(m);y.setEdge(m.v,m.w,{weight:w.weight+S.weight,minlen:Math.max(w.minlen,S.minlen)})}),y}function i(v){var y=new t({multigraph:v.isMultigraph()}).setGraph(v.graph());return r.forEach(v.nodes(),function(m){v.children(m).length||y.setNode(m,v.node(m))}),r.forEach(v.edges(),function(m){y.setEdge(m,v.edge(m))}),y}function a(v){var y=r.map(v.nodes(),function(m){var w={};return r.forEach(v.outEdges(m),function(S){w[S.w]=(w[S.w]||0)+v.edge(S).weight}),w});return r.zipObject(v.nodes(),y)}function s(v){var y=r.map(v.nodes(),function(m){var w={};return r.forEach(v.inEdges(m),function(S){w[S.v]=(w[S.v]||0)+v.edge(S).weight}),w});return r.zipObject(v.nodes(),y)}function o(v,y){var m=v.x,w=v.y,S=y.x-m,_=y.y-w,k=v.width/2,T=v.height/2;if(!S&&!_)throw new Error("Not possible to find intersection inside of the rectangle");var O,P;return Math.abs(_)*k>Math.abs(S)*T?(_<0&&(T=-T),O=T*S/_,P=T):(S<0&&(k=-k),O=k,P=k*_/S),{x:m+O,y:w+P}}function l(v){var y=r.map(r.range(d(v)+1),function(){return[]});return r.forEach(v.nodes(),function(m){var w=v.node(m),S=w.rank;r.isUndefined(S)||(y[S][w.order]=m)}),y}function u(v){var y=r.min(r.map(v.nodes(),function(m){return v.node(m).rank}));r.forEach(v.nodes(),function(m){var w=v.node(m);r.has(w,"rank")&&(w.rank-=y)})}function c(v){var y=r.min(r.map(v.nodes(),function(_){return v.node(_).rank})),m=[];r.forEach(v.nodes(),function(_){var k=v.node(_).rank-y;m[k]||(m[k]=[]),m[k].push(_)});var w=0,S=v.graph().nodeRankFactor;r.forEach(m,function(_,k){r.isUndefined(_)&&k%S!==0?--w:w&&r.forEach(_,function(T){v.node(T).rank+=w})})}function h(v,y,m,w){var S={width:0,height:0};return arguments.length>=4&&(S.rank=m,S.order=w),e(v,"border",S,y)}function d(v){return r.max(r.map(v.nodes(),function(y){var m=v.node(y).rank;if(!r.isUndefined(m))return m}))}function f(v,y){var m={lhs:[],rhs:[]};return r.forEach(v,function(w){y(w)?m.lhs.push(w):m.rhs.push(w)}),m}function g(v,y){var m=r.now();try{return y()}finally{console.log(v+" time: "+(r.now()-m)+"ms")}}function p(v,y){return y()}return R0}var L0,SM;function AG(){if(SM)return L0;SM=1;var r=Ne(),t=Hn();L0={run:e,undo:i};function e(a){a.graph().dummyChains=[],r.forEach(a.edges(),function(s){n(a,s)})}function n(a,s){var o=s.v,l=a.node(o).rank,u=s.w,c=a.node(u).rank,h=s.name,d=a.edge(s),f=d.labelRank;if(c!==l+1){a.removeEdge(s);var g,p,v;for(v=0,++l;l<c;++v,++l)d.points=[],p={width:0,height:0,edgeLabel:d,edgeObj:s,rank:l},g=t.addDummyNode(a,"edge",p,"_d"),l===f&&(p.width=d.width,p.height=d.height,p.dummy="edge-label",p.labelpos=d.labelpos),a.setEdge(o,g,{weight:d.weight},h),v===0&&a.graph().dummyChains.push(g),o=g;a.setEdge(o,u,{weight:d.weight},h)}}function i(a){r.forEach(a.graph().dummyChains,function(s){var o=a.node(s),l=o.edgeLabel,u;for(a.setEdge(o.edgeObj,l);o.dummy;)u=a.successors(s)[0],a.removeNode(s),l.points.push({x:o.x,y:o.y}),o.dummy==="edge-label"&&(l.x=o.x,l.y=o.y,l.width=o.width,l.height=o.height),s=u,o=a.node(s)})}return L0}var I0,_M;function Ju(){if(_M)return I0;_M=1;var r=Ne();I0={longestPath:t,slack:e};function t(n){var i={};function a(s){var o=n.node(s);if(r.has(i,s))return o.rank;i[s]=!0;var l=r.min(r.map(n.outEdges(s),function(u){return a(u.w)-n.edge(u).minlen}));return(l===Number.POSITIVE_INFINITY||l===void 0||l===null)&&(l=0),o.rank=l}r.forEach(n.sources(),a)}function e(n,i){return n.node(i.w).rank-n.node(i.v).rank-n.edge(i).minlen}return I0}var D0,MM;function bN(){if(MM)return D0;MM=1;var r=Ne(),t=Dr().Graph,e=Ju().slack;D0=n;function n(o){var l=new t({directed:!1}),u=o.nodes()[0],c=o.nodeCount();l.setNode(u,{});for(var h,d;i(l,o)<c;)h=a(l,o),d=l.hasNode(h.v)?e(o,h):-e(o,h),s(l,o,d);return l}function i(o,l){function u(c){r.forEach(l.nodeEdges(c),function(h){var d=h.v,f=c===d?h.w:d;!o.hasNode(f)&&!e(l,h)&&(o.setNode(f,{}),o.setEdge(c,f,{}),u(f))})}return r.forEach(o.nodes(),u),o.nodeCount()}function a(o,l){return r.minBy(l.edges(),function(u){if(o.hasNode(u.v)!==o.hasNode(u.w))return e(l,u)})}function s(o,l,u){r.forEach(o.nodes(),function(c){l.node(c).rank+=u})}return D0}var F0,kM;function PG(){if(kM)return F0;kM=1;var r=Ne(),t=bN(),e=Ju().slack,n=Ju().longestPath,i=Dr().alg.preorder,a=Dr().alg.postorder,s=Hn().simplify;F0=o,o.initLowLimValues=h,o.initCutValues=l,o.calcCutValue=c,o.leaveEdge=f,o.enterEdge=g,o.exchangeEdges=p;function o(w){w=s(w),n(w);var S=t(w);h(S),l(S,w);for(var _,k;_=f(S);)k=g(S,w,_),p(S,w,_,k)}function l(w,S){var _=a(w,w.nodes());_=_.slice(0,_.length-1),r.forEach(_,function(k){u(w,S,k)})}function u(w,S,_){var k=w.node(_),T=k.parent;w.edge(_,T).cutvalue=c(w,S,_)}function c(w,S,_){var k=w.node(_),T=k.parent,O=!0,P=S.edge(_,T),N=0;return P||(O=!1,P=S.edge(T,_)),N=P.weight,r.forEach(S.nodeEdges(_),function(C){var L=C.v===_,F=L?C.w:C.v;if(F!==T){var G=L===O,V=S.edge(C).weight;if(N+=G?V:-V,y(w,_,F)){var U=w.edge(_,F).cutvalue;N+=G?-U:U}}}),N}function h(w,S){arguments.length<2&&(S=w.nodes()[0]),d(w,{},1,S)}function d(w,S,_,k,T){var O=_,P=w.node(k);return S[k]=!0,r.forEach(w.neighbors(k),function(N){r.has(S,N)||(_=d(w,S,_,N,k))}),P.low=O,P.lim=_++,T?P.parent=T:delete P.parent,_}function f(w){return r.find(w.edges(),function(S){return w.edge(S).cutvalue<0})}function g(w,S,_){var k=_.v,T=_.w;S.hasEdge(k,T)||(k=_.w,T=_.v);var O=w.node(k),P=w.node(T),N=O,C=!1;O.lim>P.lim&&(N=P,C=!0);var L=r.filter(S.edges(),function(F){return C===m(w,w.node(F.v),N)&&C!==m(w,w.node(F.w),N)});return r.minBy(L,function(F){return e(S,F)})}function p(w,S,_,k){var T=_.v,O=_.w;w.removeEdge(T,O),w.setEdge(k.v,k.w,{}),h(w),l(w,S),v(w,S)}function v(w,S){var _=r.find(w.nodes(),function(T){return!S.node(T).parent}),k=i(w,_);k=k.slice(1),r.forEach(k,function(T){var O=w.node(T).parent,P=S.edge(T,O),N=!1;P||(P=S.edge(O,T),N=!0),S.node(T).rank=S.node(O).rank+(N?P.minlen:-P.minlen)})}function y(w,S,_){return w.hasEdge(S,_)}function m(w,S,_){return _.low<=S.lim&&S.lim<=_.lim}return F0}var B0,OM;function NG(){if(OM)return B0;OM=1;var r=Ju(),t=r.longestPath,e=bN(),n=PG();B0=i;function i(l){switch(l.graph().ranker){case"network-simplex":o(l);break;case"tight-tree":s(l);break;case"longest-path":a(l);break;default:o(l)}}var a=t;function s(l){t(l),e(l)}function o(l){n(l)}return B0}var z0,TM;function CG(){if(TM)return z0;TM=1;var r=Ne();z0=t;function t(i){var a=n(i);r.forEach(i.graph().dummyChains,function(s){for(var o=i.node(s),l=o.edgeObj,u=e(i,a,l.v,l.w),c=u.path,h=u.lca,d=0,f=c[d],g=!0;s!==l.w;){if(o=i.node(s),g){for(;(f=c[d])!==h&&i.node(f).maxRank<o.rank;)d++;f===h&&(g=!1)}if(!g){for(;d<c.length-1&&i.node(f=c[d+1]).minRank<=o.rank;)d++;f=c[d]}i.setParent(s,f),s=i.successors(s)[0]}})}function e(i,a,s,o){var l=[],u=[],c=Math.min(a[s].low,a[o].low),h=Math.max(a[s].lim,a[o].lim),d,f;d=s;do d=i.parent(d),l.push(d);while(d&&(a[d].low>c||h>a[d].lim));for(f=d,d=o;(d=i.parent(d))!==f;)u.push(d);return{path:l.concat(u.reverse()),lca:f}}function n(i){var a={},s=0;function o(l){var u=s;r.forEach(i.children(l),o),a[l]={low:u,lim:s++}}return r.forEach(i.children(),o),a}return z0}var j0,AM;function RG(){if(AM)return j0;AM=1;var r=Ne(),t=Hn();j0={run:e,cleanup:s};function e(o){var l=t.addDummyNode(o,"root",{},"_root"),u=i(o),c=r.max(r.values(u))-1,h=2*c+1;o.graph().nestingRoot=l,r.forEach(o.edges(),function(f){o.edge(f).minlen*=h});var d=a(o)+1;r.forEach(o.children(),function(f){n(o,l,h,d,c,u,f)}),o.graph().nodeRankFactor=h}function n(o,l,u,c,h,d,f){var g=o.children(f);if(!g.length){f!==l&&o.setEdge(l,f,{weight:0,minlen:u});return}var p=t.addBorderNode(o,"_bt"),v=t.addBorderNode(o,"_bb"),y=o.node(f);o.setParent(p,f),y.borderTop=p,o.setParent(v,f),y.borderBottom=v,r.forEach(g,function(m){n(o,l,u,c,h,d,m);var w=o.node(m),S=w.borderTop?w.borderTop:m,_=w.borderBottom?w.borderBottom:m,k=w.borderTop?c:2*c,T=S!==_?1:h-d[f]+1;o.setEdge(p,S,{weight:k,minlen:T,nestingEdge:!0}),o.setEdge(_,v,{weight:k,minlen:T,nestingEdge:!0})}),o.parent(f)||o.setEdge(l,p,{weight:0,minlen:h+d[f]})}function i(o){var l={};function u(c,h){var d=o.children(c);d&&d.length&&r.forEach(d,function(f){u(f,h+1)}),l[c]=h}return r.forEach(o.children(),function(c){u(c,1)}),l}function a(o){return r.reduce(o.edges(),function(l,u){return l+o.edge(u).weight},0)}function s(o){var l=o.graph();o.removeNode(l.nestingRoot),delete l.nestingRoot,r.forEach(o.edges(),function(u){var c=o.edge(u);c.nestingEdge&&o.removeEdge(u)})}return j0}var q0,PM;function LG(){if(PM)return q0;PM=1;var r=Ne(),t=Hn();q0=e;function e(i){function a(s){var o=i.children(s),l=i.node(s);if(o.length&&r.forEach(o,a),r.has(l,"minRank")){l.borderLeft=[],l.borderRight=[];for(var u=l.minRank,c=l.maxRank+1;u<c;++u)n(i,"borderLeft","_bl",s,l,u),n(i,"borderRight","_br",s,l,u)}}r.forEach(i.children(),a)}function n(i,a,s,o,l,u){var c={width:0,height:0,rank:u,borderType:a},h=l[a][u-1],d=t.addDummyNode(i,"border",c,s);l[a][u]=d,i.setParent(d,o),h&&i.setEdge(h,d,{weight:1})}return q0}var $0,NM;function IG(){if(NM)return $0;NM=1;var r=Ne();$0={adjust:t,undo:e};function t(u){var c=u.graph().rankdir.toLowerCase();(c==="lr"||c==="rl")&&n(u)}function e(u){var c=u.graph().rankdir.toLowerCase();(c==="bt"||c==="rl")&&a(u),(c==="lr"||c==="rl")&&(o(u),n(u))}function n(u){r.forEach(u.nodes(),function(c){i(u.node(c))}),r.forEach(u.edges(),function(c){i(u.edge(c))})}function i(u){var c=u.width;u.width=u.height,u.height=c}function a(u){r.forEach(u.nodes(),function(c){s(u.node(c))}),r.forEach(u.edges(),function(c){var h=u.edge(c);r.forEach(h.points,s),r.has(h,"y")&&s(h)})}function s(u){u.y=-u.y}function o(u){r.forEach(u.nodes(),function(c){l(u.node(c))}),r.forEach(u.edges(),function(c){var h=u.edge(c);r.forEach(h.points,l),r.has(h,"x")&&l(h)})}function l(u){var c=u.x;u.x=u.y,u.y=c}return $0}var G0,CM;function DG(){if(CM)return G0;CM=1;var r=Ne();G0=t;function t(e){var n={},i=r.filter(e.nodes(),function(u){return!e.children(u).length}),a=r.max(r.map(i,function(u){return e.node(u).rank})),s=r.map(r.range(a+1),function(){return[]});function o(u){if(!r.has(n,u)){n[u]=!0;var c=e.node(u);s[c.rank].push(u),r.forEach(e.successors(u),o)}}var l=r.sortBy(i,function(u){return e.node(u).rank});return r.forEach(l,o),s}return G0}var W0,RM;function FG(){if(RM)return W0;RM=1;var r=Ne();W0=t;function t(n,i){for(var a=0,s=1;s<i.length;++s)a+=e(n,i[s-1],i[s]);return a}function e(n,i,a){for(var s=r.zipObject(a,r.map(a,function(d,f){return f})),o=r.flatten(r.map(i,function(d){return r.sortBy(r.map(n.outEdges(d),function(f){return{pos:s[f.w],weight:n.edge(f).weight}}),"pos")}),!0),l=1;l<a.length;)l<<=1;var u=2*l-1;l-=1;var c=r.map(new Array(u),function(){return 0}),h=0;return r.forEach(o.forEach(function(d){var f=d.pos+l;c[f]+=d.weight;for(var g=0;f>0;)f%2&&(g+=c[f+1]),f=f-1>>1,c[f]+=d.weight;h+=d.weight*g})),h}return W0}var V0,LM;function BG(){if(LM)return V0;LM=1;var r=Ne();V0=t;function t(e,n){return r.map(n,function(i){var a=e.inEdges(i);if(a.length){var s=r.reduce(a,function(o,l){var u=e.edge(l),c=e.node(l.v);return{sum:o.sum+u.weight*c.order,weight:o.weight+u.weight}},{sum:0,weight:0});return{v:i,barycenter:s.sum/s.weight,weight:s.weight}}else return{v:i}})}return V0}var U0,IM;function zG(){if(IM)return U0;IM=1;var r=Ne();U0=t;function t(i,a){var s={};r.forEach(i,function(l,u){var c=s[l.v]={indegree:0,in:[],out:[],vs:[l.v],i:u};r.isUndefined(l.barycenter)||(c.barycenter=l.barycenter,c.weight=l.weight)}),r.forEach(a.edges(),function(l){var u=s[l.v],c=s[l.w];!r.isUndefined(u)&&!r.isUndefined(c)&&(c.indegree++,u.out.push(s[l.w]))});var o=r.filter(s,function(l){return!l.indegree});return e(o)}function e(i){var a=[];function s(u){return function(c){c.merged||(r.isUndefined(c.barycenter)||r.isUndefined(u.barycenter)||c.barycenter>=u.barycenter)&&n(u,c)}}function o(u){return function(c){c.in.push(u),--c.indegree===0&&i.push(c)}}for(;i.length;){var l=i.pop();a.push(l),r.forEach(l.in.reverse(),s(l)),r.forEach(l.out,o(l))}return r.map(r.filter(a,function(u){return!u.merged}),function(u){return r.pick(u,["vs","i","barycenter","weight"])})}function n(i,a){var s=0,o=0;i.weight&&(s+=i.barycenter*i.weight,o+=i.weight),a.weight&&(s+=a.barycenter*a.weight,o+=a.weight),i.vs=a.vs.concat(i.vs),i.barycenter=s/o,i.weight=o,i.i=Math.min(a.i,i.i),a.merged=!0}return U0}var Y0,DM;function jG(){if(DM)return Y0;DM=1;var r=Ne(),t=Hn();Y0=e;function e(a,s){var o=t.partition(a,function(p){return r.has(p,"barycenter")}),l=o.lhs,u=r.sortBy(o.rhs,function(p){return-p.i}),c=[],h=0,d=0,f=0;l.sort(i(!!s)),f=n(c,u,f),r.forEach(l,function(p){f+=p.vs.length,c.push(p.vs),h+=p.barycenter*p.weight,d+=p.weight,f=n(c,u,f)});var g={vs:r.flatten(c,!0)};return d&&(g.barycenter=h/d,g.weight=d),g}function n(a,s,o){for(var l;s.length&&(l=r.last(s)).i<=o;)s.pop(),a.push(l.vs),o++;return o}function i(a){return function(s,o){return s.barycenter<o.barycenter?-1:s.barycenter>o.barycenter?1:a?o.i-s.i:s.i-o.i}}return Y0}var H0,FM;function qG(){if(FM)return H0;FM=1;var r=Ne(),t=BG(),e=zG(),n=jG();H0=i;function i(o,l,u,c){var h=o.children(l),d=o.node(l),f=d?d.borderLeft:void 0,g=d?d.borderRight:void 0,p={};f&&(h=r.filter(h,function(_){return _!==f&&_!==g}));var v=t(o,h);r.forEach(v,function(_){if(o.children(_.v).length){var k=i(o,_.v,u,c);p[_.v]=k,r.has(k,"barycenter")&&s(_,k)}});var y=e(v,u);a(y,p);var m=n(y,c);if(f&&(m.vs=r.flatten([f,m.vs,g],!0),o.predecessors(f).length)){var w=o.node(o.predecessors(f)[0]),S=o.node(o.predecessors(g)[0]);r.has(m,"barycenter")||(m.barycenter=0,m.weight=0),m.barycenter=(m.barycenter*m.weight+w.order+S.order)/(m.weight+2),m.weight+=2}return m}function a(o,l){r.forEach(o,function(u){u.vs=r.flatten(u.vs.map(function(c){return l[c]?l[c].vs:c}),!0)})}function s(o,l){r.isUndefined(o.barycenter)?(o.barycenter=l.barycenter,o.weight=l.weight):(o.barycenter=(o.barycenter*o.weight+l.barycenter*l.weight)/(o.weight+l.weight),o.weight+=l.weight)}return H0}var X0,BM;function $G(){if(BM)return X0;BM=1;var r=Ne(),t=Dr().Graph;X0=e;function e(i,a,s){var o=n(i),l=new t({compound:!0}).setGraph({root:o}).setDefaultNodeLabel(function(u){return i.node(u)});return r.forEach(i.nodes(),function(u){var c=i.node(u),h=i.parent(u);(c.rank===a||c.minRank<=a&&a<=c.maxRank)&&(l.setNode(u),l.setParent(u,h||o),r.forEach(i[s](u),function(d){var f=d.v===u?d.w:d.v,g=l.edge(f,u),p=r.isUndefined(g)?0:g.weight;l.setEdge(f,u,{weight:i.edge(d).weight+p})}),r.has(c,"minRank")&&l.setNode(u,{borderLeft:c.borderLeft[a],borderRight:c.borderRight[a]}))}),l}function n(i){for(var a;i.hasNode(a=r.uniqueId("_root")););return a}return X0}var K0,zM;function GG(){if(zM)return K0;zM=1;var r=Ne();K0=t;function t(e,n,i){var a={},s;r.forEach(i,function(o){for(var l=e.parent(o),u,c;l;){if(u=e.parent(l),u?(c=a[u],a[u]=l):(c=s,s=l),c&&c!==l){n.setEdge(c,l);return}l=u}})}return K0}var Z0,jM;function WG(){if(jM)return Z0;jM=1;var r=Ne(),t=DG(),e=FG(),n=qG(),i=$G(),a=GG(),s=Dr().Graph,o=Hn();Z0=l;function l(d){var f=o.maxRank(d),g=u(d,r.range(1,f+1),"inEdges"),p=u(d,r.range(f-1,-1,-1),"outEdges"),v=t(d);h(d,v);for(var y=Number.POSITIVE_INFINITY,m,w=0,S=0;S<4;++w,++S){c(w%2?g:p,w%4>=2),v=o.buildLayerMatrix(d);var _=e(d,v);_<y&&(S=0,m=r.cloneDeep(v),y=_)}h(d,m)}function u(d,f,g){return r.map(f,function(p){return i(d,p,g)})}function c(d,f){var g=new s;r.forEach(d,function(p){var v=p.graph().root,y=n(p,v,g,f);r.forEach(y.vs,function(m,w){p.node(m).order=w}),a(p,g,y.vs)})}function h(d,f){r.forEach(f,function(g){r.forEach(g,function(p,v){d.node(p).order=v})})}return Z0}var J0,qM;function VG(){if(qM)return J0;qM=1;var r=Ne(),t=Dr().Graph,e=Hn();J0={positionX:g,findType1Conflicts:n,findType2Conflicts:i,addConflict:s,hasConflict:o,verticalAlignment:l,horizontalCompaction:u,alignCoordinates:d,findSmallestWidthAlignment:h,balance:f};function n(y,m){var w={};function S(_,k){var T=0,O=0,P=_.length,N=r.last(k);return r.forEach(k,function(C,L){var F=a(y,C),G=F?y.node(F).order:P;(F||C===N)&&(r.forEach(k.slice(O,L+1),function(V){r.forEach(y.predecessors(V),function(U){var q=y.node(U),j=q.order;(j<T||G<j)&&!(q.dummy&&y.node(V).dummy)&&s(w,U,V)})}),O=L+1,T=G)}),k}return r.reduce(m,S),w}function i(y,m){var w={};function S(k,T,O,P,N){var C;r.forEach(r.range(T,O),function(L){C=k[L],y.node(C).dummy&&r.forEach(y.predecessors(C),function(F){var G=y.node(F);G.dummy&&(G.order<P||G.order>N)&&s(w,F,C)})})}function _(k,T){var O=-1,P,N=0;return r.forEach(T,function(C,L){if(y.node(C).dummy==="border"){var F=y.predecessors(C);F.length&&(P=y.node(F[0]).order,S(T,N,L,O,P),N=L,O=P)}S(T,N,T.length,P,k.length)}),T}return r.reduce(m,_),w}function a(y,m){if(y.node(m).dummy)return r.find(y.predecessors(m),function(w){return y.node(w).dummy})}function s(y,m,w){if(m>w){var S=m;m=w,w=S}var _=y[m];_||(y[m]=_={}),_[w]=!0}function o(y,m,w){if(m>w){var S=m;m=w,w=S}return r.has(y[m],w)}function l(y,m,w,S){var _={},k={},T={};return r.forEach(m,function(O){r.forEach(O,function(P,N){_[P]=P,k[P]=P,T[P]=N})}),r.forEach(m,function(O){var P=-1;r.forEach(O,function(N){var C=S(N);if(C.length){C=r.sortBy(C,function(U){return T[U]});for(var L=(C.length-1)/2,F=Math.floor(L),G=Math.ceil(L);F<=G;++F){var V=C[F];k[N]===N&&P<T[V]&&!o(w,N,V)&&(k[V]=N,k[N]=_[N]=_[V],P=T[V])}}})}),{root:_,align:k}}function u(y,m,w,S,_){var k={},T=c(y,m,w,_),O=_?"borderLeft":"borderRight";function P(L,F){for(var G=T.nodes(),V=G.pop(),U={};V;)U[V]?L(V):(U[V]=!0,G.push(V),G=G.concat(F(V))),V=G.pop()}function N(L){k[L]=T.inEdges(L).reduce(function(F,G){return Math.max(F,k[G.v]+T.edge(G))},0)}function C(L){var F=T.outEdges(L).reduce(function(V,U){return Math.min(V,k[U.w]-T.edge(U))},Number.POSITIVE_INFINITY),G=y.node(L);F!==Number.POSITIVE_INFINITY&&G.borderType!==O&&(k[L]=Math.max(k[L],F))}return P(N,T.predecessors.bind(T)),P(C,T.successors.bind(T)),r.forEach(S,function(L){k[L]=k[w[L]]}),k}function c(y,m,w,S){var _=new t,k=y.graph(),T=p(k.nodesep,k.edgesep,S);return r.forEach(m,function(O){var P;r.forEach(O,function(N){var C=w[N];if(_.setNode(C),P){var L=w[P],F=_.edge(L,C);_.setEdge(L,C,Math.max(T(y,N,P),F||0))}P=N})}),_}function h(y,m){return r.minBy(r.values(m),function(w){var S=Number.NEGATIVE_INFINITY,_=Number.POSITIVE_INFINITY;return r.forIn(w,function(k,T){var O=v(y,T)/2;S=Math.max(k+O,S),_=Math.min(k-O,_)}),S-_})}function d(y,m){var w=r.values(m),S=r.min(w),_=r.max(w);r.forEach(["u","d"],function(k){r.forEach(["l","r"],function(T){var O=k+T,P=y[O],N;if(P!==m){var C=r.values(P);N=T==="l"?S-r.min(C):_-r.max(C),N&&(y[O]=r.mapValues(P,function(L){return L+N}))}})})}function f(y,m){return r.mapValues(y.ul,function(w,S){if(m)return y[m.toLowerCase()][S];var _=r.sortBy(r.map(y,S));return(_[1]+_[2])/2})}function g(y){var m=e.buildLayerMatrix(y),w=r.merge(n(y,m),i(y,m)),S={},_;r.forEach(["u","d"],function(T){_=T==="u"?m:r.values(m).reverse(),r.forEach(["l","r"],function(O){O==="r"&&(_=r.map(_,function(L){return r.values(L).reverse()}));var P=(T==="u"?y.predecessors:y.successors).bind(y),N=l(y,_,w,P),C=u(y,_,N.root,N.align,O==="r");O==="r"&&(C=r.mapValues(C,function(L){return-L})),S[T+O]=C})});var k=h(y,S);return d(S,k),f(S,y.graph().align)}function p(y,m,w){return function(S,_,k){var T=S.node(_),O=S.node(k),P=0,N;if(P+=T.width/2,r.has(T,"labelpos"))switch(T.labelpos.toLowerCase()){case"l":N=-T.width/2;break;case"r":N=T.width/2;break}if(N&&(P+=w?N:-N),N=0,P+=(T.dummy?m:y)/2,P+=(O.dummy?m:y)/2,P+=O.width/2,r.has(O,"labelpos"))switch(O.labelpos.toLowerCase()){case"l":N=O.width/2;break;case"r":N=-O.width/2;break}return N&&(P+=w?N:-N),N=0,P}}function v(y,m){return y.node(m).width}return J0}var Q0,$M;function UG(){if($M)return Q0;$M=1;var r=Ne(),t=Hn(),e=VG().positionX;Q0=n;function n(a){a=t.asNonCompoundGraph(a),i(a),r.forEach(e(a),function(s,o){a.node(o).x=s})}function i(a){var s=t.buildLayerMatrix(a),o=a.graph().ranksep,l=0;r.forEach(s,function(u){var c=r.max(r.map(u,function(h){return a.node(h).height}));r.forEach(u,function(h){a.node(h).y=l+c/2}),l+=c+o})}return Q0}var ty,GM;function YG(){if(GM)return ty;GM=1;var r=Ne(),t=TG(),e=AG(),n=NG(),i=Hn().normalizeRanks,a=CG(),s=Hn().removeEmptyRanks,o=RG(),l=LG(),u=IG(),c=WG(),h=UG(),d=Hn(),f=Dr().Graph;ty=g;function g(K,W){var tt=W&&W.debugTiming?d.time:d.notime;tt("layout",function(){var ct=tt(" buildLayoutGraph",function(){return P(K)});tt(" runLayout",function(){p(ct,tt)}),tt(" updateInputGraph",function(){v(K,ct)})})}function p(K,W){W(" makeSpaceForEdgeLabels",function(){N(K)}),W(" removeSelfEdges",function(){Z(K)}),W(" acyclic",function(){t.run(K)}),W(" nestingGraph.run",function(){o.run(K)}),W(" rank",function(){n(d.asNonCompoundGraph(K))}),W(" injectEdgeLabelProxies",function(){C(K)}),W(" removeEmptyRanks",function(){s(K)}),W(" nestingGraph.cleanup",function(){o.cleanup(K)}),W(" normalizeRanks",function(){i(K)}),W(" assignRankMinMax",function(){L(K)}),W(" removeEdgeLabelProxies",function(){F(K)}),W(" normalize.run",function(){e.run(K)}),W(" parentDummyChains",function(){a(K)}),W(" addBorderSegments",function(){l(K)}),W(" order",function(){c(K)}),W(" insertSelfEdges",function(){nt(K)}),W(" adjustCoordinateSystem",function(){u.adjust(K)}),W(" position",function(){h(K)}),W(" positionSelfEdges",function(){st(K)}),W(" removeBorderNodes",function(){j(K)}),W(" normalize.undo",function(){e.undo(K)}),W(" fixupEdgeLabelCoords",function(){U(K)}),W(" undoCoordinateSystem",function(){u.undo(K)}),W(" translateGraph",function(){G(K)}),W(" assignNodeIntersects",function(){V(K)}),W(" reversePoints",function(){q(K)}),W(" acyclic.undo",function(){t.undo(K)})}function v(K,W){r.forEach(K.nodes(),function(tt){var ct=K.node(tt),xt=W.node(tt);ct&&(ct.x=xt.x,ct.y=xt.y,W.children(tt).length&&(ct.width=xt.width,ct.height=xt.height))}),r.forEach(K.edges(),function(tt){var ct=K.edge(tt),xt=W.edge(tt);ct.points=xt.points,r.has(xt,"x")&&(ct.x=xt.x,ct.y=xt.y)}),K.graph().width=W.graph().width,K.graph().height=W.graph().height}var y=["nodesep","edgesep","ranksep","marginx","marginy"],m={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},w=["acyclicer","ranker","rankdir","align"],S=["width","height"],_={width:0,height:0},k=["minlen","weight","width","height","labeloffset"],T={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},O=["labelpos"];function P(K){var W=new f({multigraph:!0,compound:!0}),tt=Pt(K.graph());return W.setGraph(r.merge({},m,ot(tt,y),r.pick(tt,w))),r.forEach(K.nodes(),function(ct){var xt=Pt(K.node(ct));W.setNode(ct,r.defaults(ot(xt,S),_)),W.setParent(ct,K.parent(ct))}),r.forEach(K.edges(),function(ct){var xt=Pt(K.edge(ct));W.setEdge(ct,r.merge({},T,ot(xt,k),r.pick(xt,O)))}),W}function N(K){var W=K.graph();W.ranksep/=2,r.forEach(K.edges(),function(tt){var ct=K.edge(tt);ct.minlen*=2,ct.labelpos.toLowerCase()!=="c"&&(W.rankdir==="TB"||W.rankdir==="BT"?ct.width+=ct.labeloffset:ct.height+=ct.labeloffset)})}function C(K){r.forEach(K.edges(),function(W){var tt=K.edge(W);if(tt.width&&tt.height){var ct=K.node(W.v),xt=K.node(W.w),Nt={rank:(xt.rank-ct.rank)/2+ct.rank,e:W};d.addDummyNode(K,"edge-proxy",Nt,"_ep")}})}function L(K){var W=0;r.forEach(K.nodes(),function(tt){var ct=K.node(tt);ct.borderTop&&(ct.minRank=K.node(ct.borderTop).rank,ct.maxRank=K.node(ct.borderBottom).rank,W=r.max(W,ct.maxRank))}),K.graph().maxRank=W}function F(K){r.forEach(K.nodes(),function(W){var tt=K.node(W);tt.dummy==="edge-proxy"&&(K.edge(tt.e).labelRank=tt.rank,K.removeNode(W))})}function G(K){var W=Number.POSITIVE_INFINITY,tt=0,ct=Number.POSITIVE_INFINITY,xt=0,Nt=K.graph(),Vt=Nt.marginx||0,Me=Nt.marginy||0;function un(ke){var Ue=ke.x,Xt=ke.y,cr=ke.width,Qt=ke.height;W=Math.min(W,Ue-cr/2),tt=Math.max(tt,Ue+cr/2),ct=Math.min(ct,Xt-Qt/2),xt=Math.max(xt,Xt+Qt/2)}r.forEach(K.nodes(),function(ke){un(K.node(ke))}),r.forEach(K.edges(),function(ke){var Ue=K.edge(ke);r.has(Ue,"x")&&un(Ue)}),W-=Vt,ct-=Me,r.forEach(K.nodes(),function(ke){var Ue=K.node(ke);Ue.x-=W,Ue.y-=ct}),r.forEach(K.edges(),function(ke){var Ue=K.edge(ke);r.forEach(Ue.points,function(Xt){Xt.x-=W,Xt.y-=ct}),r.has(Ue,"x")&&(Ue.x-=W),r.has(Ue,"y")&&(Ue.y-=ct)}),Nt.width=tt-W+Vt,Nt.height=xt-ct+Me}function V(K){r.forEach(K.edges(),function(W){var tt=K.edge(W),ct=K.node(W.v),xt=K.node(W.w),Nt,Vt;tt.points?(Nt=tt.points[0],Vt=tt.points[tt.points.length-1]):(tt.points=[],Nt=xt,Vt=ct),tt.points.unshift(d.intersectRect(ct,Nt)),tt.points.push(d.intersectRect(xt,Vt))})}function U(K){r.forEach(K.edges(),function(W){var tt=K.edge(W);if(r.has(tt,"x"))switch((tt.labelpos==="l"||tt.labelpos==="r")&&(tt.width-=tt.labeloffset),tt.labelpos){case"l":tt.x-=tt.width/2+tt.labeloffset;break;case"r":tt.x+=tt.width/2+tt.labeloffset;break}})}function q(K){r.forEach(K.edges(),function(W){var tt=K.edge(W);tt.reversed&&tt.points.reverse()})}function j(K){r.forEach(K.nodes(),function(W){if(K.children(W).length){var tt=K.node(W),ct=K.node(tt.borderTop),xt=K.node(tt.borderBottom),Nt=K.node(r.last(tt.borderLeft)),Vt=K.node(r.last(tt.borderRight));tt.width=Math.abs(Vt.x-Nt.x),tt.height=Math.abs(xt.y-ct.y),tt.x=Nt.x+tt.width/2,tt.y=ct.y+tt.height/2}}),r.forEach(K.nodes(),function(W){K.node(W).dummy==="border"&&K.removeNode(W)})}function Z(K){r.forEach(K.edges(),function(W){if(W.v===W.w){var tt=K.node(W.v);tt.selfEdges||(tt.selfEdges=[]),tt.selfEdges.push({e:W,label:K.edge(W)}),K.removeEdge(W)}})}function nt(K){var W=d.buildLayerMatrix(K);r.forEach(W,function(tt){var ct=0;r.forEach(tt,function(xt,Nt){var Vt=K.node(xt);Vt.order=Nt+ct,r.forEach(Vt.selfEdges,function(Me){d.addDummyNode(K,"selfedge",{width:Me.label.width,height:Me.label.height,rank:Vt.rank,order:Nt+ ++ct,e:Me.e,label:Me.label},"_se")}),delete Vt.selfEdges})})}function st(K){r.forEach(K.nodes(),function(W){var tt=K.node(W);if(tt.dummy==="selfedge"){var ct=K.node(tt.e.v),xt=ct.x+ct.width/2,Nt=ct.y,Vt=tt.x-xt,Me=ct.height/2;K.setEdge(tt.e,tt.label),K.removeNode(W),tt.label.points=[{x:xt+2*Vt/3,y:Nt-Me},{x:xt+5*Vt/6,y:Nt-Me},{x:xt+Vt,y:Nt},{x:xt+5*Vt/6,y:Nt+Me},{x:xt+2*Vt/3,y:Nt+Me}],tt.label.x=tt.x,tt.label.y=tt.y}})}function ot(K,W){return r.mapValues(r.pick(K,W),Number)}function Pt(K){var W={};return r.forEach(K,function(tt,ct){W[ct.toLowerCase()]=tt}),W}return ty}var ey,WM;function HG(){if(WM)return ey;WM=1;var r=Ne(),t=Hn(),e=Dr().Graph;ey={debugOrdering:n};function n(i){var a=t.buildLayerMatrix(i),s=new e({compound:!0,multigraph:!0}).setGraph({});return r.forEach(i.nodes(),function(o){s.setNode(o,{label:o}),s.setParent(o,"layer"+i.node(o).rank)}),r.forEach(i.edges(),function(o){s.setEdge(o.v,o.w,{},o.name)}),r.forEach(a,function(o,l){var u="layer"+l;s.setNode(u,{rank:"same"}),r.reduce(o,function(c,h){return s.setEdge(c,h,{style:"invis"}),h})}),s}return ey}var ny,VM;function XG(){return VM||(VM=1,ny="0.8.5"),ny}var ry,UM;function KG(){return UM||(UM=1,ry={graphlib:Dr(),layout:YG(),debug:HG(),util:{time:Hn().time,notime:Hn().notime},version:XG()}),ry}var wN=KG();const ZG=oc(wN);class ah{constructor(t){this.id="dagre",this.options={},Object.assign(this.options,ah.defaultOptions,t)}execute(t,e){return Ut(this,void 0,void 0,function*(){return this.genericDagreLayout(!1,t,Object.assign(Object.assign({},this.options),e))})}assign(t,e){return Ut(this,void 0,void 0,function*(){yield this.genericDagreLayout(!0,t,Object.assign(Object.assign({},this.options),e))})}genericDagreLayout(t,e,n){return Ut(this,void 0,void 0,function*(){const{nodeSize:i}=n,a=new wN.graphlib.Graph;a.setGraph(n),a.setDefaultEdgeLabel(()=>({}));const s=e.getAllNodes(),o=e.getAllEdges();[...s,...o].some(({id:u})=>Et(u))&&console.error("Dagre layout only support string id, it will convert number to string."),e.getAllNodes().forEach(u=>{const{id:c}=u,h=Object.assign({},u.data);if(i!==void 0){const[d,f]=il(kt(i)?i(u):i);Object.assign(h,{width:d,height:f})}a.setNode(c.toString(),h)}),e.getAllEdges().forEach(({id:u,source:c,target:h})=>{a.setEdge(c.toString(),h.toString(),{id:u})}),ZG.layout(a);const l={nodes:[],edges:[]};return a.nodes().forEach(u=>{const c=a.node(u);l.nodes.push({id:u,data:c}),t&&e.mergeNodeData(u,c)}),a.edges().forEach(u=>{const c=a.edge(u),{id:h}=c,d=ze(c,["id"]),{v:f,w:g}=u;l.edges.push({id:h,source:f,target:g,data:d}),t&&e.mergeEdgeData(h,d)}),l})}}ah.defaultOptions={};class D1{constructor(t){this.id=t.id||0,this.rx=t.rx,this.ry=t.ry,this.fx=0,this.fy=0,this.mass=t.mass,this.degree=t.degree,this.g=t.g||0}distanceTo(t){const e=this.rx-t.rx,n=this.ry-t.ry;return Math.hypot(e,n)}setPos(t,e){this.rx=t,this.ry=e}resetForce(){this.fx=0,this.fy=0}addForce(t){const e=t.rx-this.rx,n=t.ry-this.ry;let i=Math.hypot(e,n);i=i<1e-4?1e-4:i;const a=this.g*(this.degree+1)*(t.degree+1)/i;this.fx+=a*e/i,this.fy+=a*n/i}in(t){return t.contains(this.rx,this.ry)}add(t){const e=this.mass+t.mass,n=(this.rx*this.mass+t.rx*t.mass)/e,i=(this.ry*this.mass+t.ry*t.mass)/e,a=this.degree+t.degree,s={rx:n,ry:i,mass:e,degree:a};return new D1(s)}}class gs{constructor(t){this.xmid=t.xmid,this.ymid=t.ymid,this.length=t.length,this.massCenter=t.massCenter||[0,0],this.mass=t.mass||1}getLength(){return this.length}contains(t,e){const n=this.length/2;return t<=this.xmid+n&&t>=this.xmid-n&&e<=this.ymid+n&&e>=this.ymid-n}NW(){const t=this.xmid-this.length/4,e=this.ymid+this.length/4,n=this.length/2,i={xmid:t,ymid:e,length:n};return new gs(i)}NE(){const t=this.xmid+this.length/4,e=this.ymid+this.length/4,n=this.length/2,i={xmid:t,ymid:e,length:n};return new gs(i)}SW(){const t=this.xmid-this.length/4,e=this.ymid-this.length/4,n=this.length/2,i={xmid:t,ymid:e,length:n};return new gs(i)}SE(){const t=this.xmid+this.length/4,e=this.ymid-this.length/4,n=this.length/2,i={xmid:t,ymid:e,length:n};return new gs(i)}}class vs{constructor(t){this.body=null,this.quad=null,this.NW=null,this.NE=null,this.SW=null,this.SE=null,this.theta=.5,t!=null&&(this.quad=t)}insert(t){if(this.body==null){this.body=t;return}this._isExternal()?(this.quad&&(this.NW=new vs(this.quad.NW()),this.NE=new vs(this.quad.NE()),this.SW=new vs(this.quad.SW()),this.SE=new vs(this.quad.SE())),this._putBody(this.body),this._putBody(t),this.body=this.body.add(t)):(this.body=this.body.add(t),this._putBody(t))}_putBody(t){this.quad&&(t.in(this.quad.NW())&&this.NW?this.NW.insert(t):t.in(this.quad.NE())&&this.NE?this.NE.insert(t):t.in(this.quad.SW())&&this.SW?this.SW.insert(t):t.in(this.quad.SE())&&this.SE&&this.SE.insert(t))}_isExternal(){return this.NW==null&&this.NE==null&&this.SW==null&&this.SE==null}updateForce(t){if(!(this.body==null||t===this.body))if(this._isExternal())t.addForce(this.body);else{const e=this.quad?this.quad.getLength():0,n=this.body.distanceTo(t);e/n<this.theta?t.addForce(this.body):(this.NW&&this.NW.updateForce(t),this.NE&&this.NE.updateForce(t),this.SW&&this.SW.updateForce(t),this.SE&&this.SE.updateForce(t))}}}const JG={center:[0,0],width:300,height:300,kr:5,kg:1,mode:"normal",preventOverlap:!1,dissuadeHubs:!1,maxIteration:0,ks:.1,ksmax:10,tao:.1};class QG{constructor(t={}){this.options=t,this.id="forceAtlas2",this.options=Object.assign(Object.assign({},JG),t)}execute(t,e){return Ut(this,void 0,void 0,function*(){return this.genericForceAtlas2Layout(!1,t,e)})}assign(t,e){return Ut(this,void 0,void 0,function*(){yield this.genericForceAtlas2Layout(!0,t,e)})}genericForceAtlas2Layout(t,e,n){return Ut(this,void 0,void 0,function*(){const i=e.getAllEdges(),a=e.getAllNodes(),s=this.formatOptions(n,a.length),{width:o,height:l,prune:u,maxIteration:c,nodeSize:h,center:d}=s;if(!(a!=null&&a.length)||a.length===1)return Va(e,t,d);const f=a.map(y=>ir(y,[o,l])),g=i.filter(y=>{const{source:m,target:w}=y;return m!==w}),p=new ln({nodes:f,edges:g}),v=this.getSizes(p,h);if(this.run(p,e,c,v,t,s),u){for(let m=0;m<g.length;m+=1){const{source:w,target:S}=g[m],_=p.getDegree(w),k=p.getDegree(w);if(_<=1){const T=p.getNode(S);p.mergeNodeData(w,{x:T.data.x,y:T.data.y})}else if(k<=1){const T=p.getNode(w);p.mergeNodeData(S,{x:T.data.x,y:T.data.y})}}const y=Object.assign(Object.assign({},s),{prune:!1,barnesHut:!1});this.run(p,e,100,v,t,y)}return{nodes:f,edges:i}})}getSizes(t,e){const n=t.getAllNodes(),i={};for(let a=0;a<n.length;a+=1){const s=n[a];i[s.id]=p1(e,void 0)(s)}return i}formatOptions(t={},e){const n=Object.assign(Object.assign({},this.options),t),{center:i,width:a,height:s,barnesHut:o,prune:l,maxIteration:u,kr:c,kg:h}=n;return n.width=!a&&typeof window<"u"?window.innerWidth:a,n.height=!s&&typeof window<"u"?window.innerHeight:s,n.center=i||[n.width/2,n.height/2],o===void 0&&e>250&&(n.barnesHut=!0),l===void 0&&e>100&&(n.prune=!0),u===0&&!l?(n.maxIteration=250,e<=200&&e>100?n.maxIteration=1e3:e>200&&(n.maxIteration=1200)):u===0&&l&&(n.maxIteration=100,e<=200&&e>100?n.maxIteration=500:e>200&&(n.maxIteration=950)),c||(n.kr=50,e>100&&e<=500?n.kr=20:e>500&&(n.kr=1)),h||(n.kg=20,e>100&&e<=500?n.kg=10:e>500&&(n.kg=1)),n}run(t,e,n,i,a,s){const{kr:o,barnesHut:l,onTick:u}=s,c=t.getAllNodes();let h=0,d=n;const f={},g={},p={};for(let v=0;v<c.length;v+=1){const{data:y,id:m}=c[v];if(f[m]=[0,0],l){const w={id:v,rx:y.x,ry:y.y,mass:1,g:o,degree:t.getDegree(m)};p[m]=new D1(w)}}for(;d>0;)h=this.oneStep(t,{iter:d,preventOverlapIters:50,krPrime:100,sg:h,forces:f,preForces:g,bodies:p,sizes:i},s),d--,u==null||u({nodes:c,edges:e.getAllEdges()});return t}oneStep(t,e,n){const{iter:i,preventOverlapIters:a,krPrime:s,sg:o,preForces:l,bodies:u,sizes:c}=e;let{forces:h}=e;const{preventOverlap:d,barnesHut:f}=n,g=t.getAllNodes();for(let p=0;p<g.length;p+=1){const{id:v}=g[p];l[v]=[...h[v]],h[v]=[0,0]}return h=this.getAttrForces(t,i,a,c,h,n),f&&(d&&i>a||!d)?h=this.getOptRepGraForces(t,h,u,n):h=this.getRepGraForces(t,i,a,h,s,c,n),this.updatePos(t,h,l,o,n)}getAttrForces(t,e,n,i,a,s){const{preventOverlap:o,dissuadeHubs:l,mode:u,prune:c}=s,h=t.getAllEdges();for(let d=0;d<h.length;d+=1){const{source:f,target:g}=h[d],p=t.getNode(f),v=t.getNode(g),y=t.getDegree(f),m=t.getDegree(g);if(c&&(y<=1||m<=1))continue;const w=[v.data.x-p.data.x,v.data.y-p.data.y];let S=Math.hypot(w[0],w[1]);S=S<1e-4?1e-4:S,w[0]=w[0]/S,w[1]=w[1]/S,o&&e<n&&(S=S-i[f]-i[g]);let _=S,k=_;u==="linlog"&&(_=Math.log(1+S),k=_),l&&(_=S/y,k=S/m),o&&e<n&&S<=0?(_=0,k=0):o&&e<n&&S>0&&(_=S,k=S),a[f][0]+=_*w[0],a[g][0]-=k*w[0],a[f][1]+=_*w[1],a[g][1]-=k*w[1]}return a}getOptRepGraForces(t,e,n,i){const{kg:a,center:s,prune:o}=i,l=t.getAllNodes(),u=l.length;let c=9e10,h=-9e10,d=9e10,f=-9e10;for(let m=0;m<u;m+=1){const{id:w,data:S}=l[m];o&&t.getDegree(w)<=1||(n[w].setPos(S.x,S.y),S.x>=h&&(h=S.x),S.x<=c&&(c=S.x),S.y>=f&&(f=S.y),S.y<=d&&(d=S.y))}const g=Math.max(h-c,f-d),p={xmid:(h+c)/2,ymid:(f+d)/2,length:g,massCenter:s,mass:u},v=new gs(p),y=new vs(v);for(let m=0;m<u;m+=1){const{id:w}=l[m];o&&t.getDegree(w)<=1||n[w].in(v)&&y.insert(n[w])}for(let m=0;m<u;m+=1){const{id:w,data:S}=l[m],_=t.getDegree(w);if(o&&_<=1)continue;n[w].resetForce(),y.updateForce(n[w]),e[w][0]-=n[w].fx,e[w][1]-=n[w].fy;const k=[S.x-s[0],S.y-s[1]];let T=Math.hypot(k[0],k[1]);T=T<1e-4?1e-4:T,k[0]=k[0]/T,k[1]=k[1]/T;const O=a*(_+1);e[w][0]-=O*k[0],e[w][1]-=O*k[1]}return e}getRepGraForces(t,e,n,i,a,s,o){const{preventOverlap:l,kr:u,kg:c,center:h,prune:d}=o,f=t.getAllNodes(),g=f.length;for(let p=0;p<g;p+=1){const v=f[p],y=t.getDegree(v.id);for(let _=p+1;_<g;_+=1){const k=f[_],T=t.getDegree(k.id);if(d&&(y<=1||T<=1))continue;const O=[k.data.x-v.data.x,k.data.y-v.data.y];let P=Math.hypot(O[0],O[1]);P=P<1e-4?1e-4:P,O[0]=O[0]/P,O[1]=O[1]/P,l&&e<n&&(P=P-s[v.id]-s[k.id]);let N=u*(y+1)*(T+1)/P;l&&e<n&&P<0?N=a*(y+1)*(T+1):l&&e<n&&P===0?N=0:l&&e<n&&P>0&&(N=u*(y+1)*(T+1)/P),i[v.id][0]-=N*O[0],i[k.id][0]+=N*O[0],i[v.id][1]-=N*O[1],i[k.id][1]+=N*O[1]}const m=[v.data.x-h[0],v.data.y-h[1]],w=Math.hypot(m[0],m[1]);m[0]=m[0]/w,m[1]=m[1]/w;const S=c*(y+1);i[v.id][0]-=S*m[0],i[v.id][1]-=S*m[1]}return i}updatePos(t,e,n,i,a){const{ks:s,tao:o,prune:l,ksmax:u}=a,c=t.getAllNodes(),h=c.length,d=[],f=[];let g=0,p=0,v=i;for(let m=0;m<h;m+=1){const{id:w}=c[m],S=t.getDegree(w);if(l&&S<=1)continue;const _=[e[w][0]-n[w][0],e[w][1]-n[w][1]],k=Math.hypot(_[0],_[1]),T=[e[w][0]+n[w][0],e[w][1]+n[w][1]],O=Math.hypot(T[0],T[1]);d[m]=k,f[m]=O/2,g+=(S+1)*d[m],p+=(S+1)*f[m]}const y=v;v=o*p/g,y!==0&&(v=v>1.5*y?1.5*y:v);for(let m=0;m<h;m+=1){const{id:w,data:S}=c[m],_=t.getDegree(w);if(l&&_<=1||Et(S.fx)&&Et(S.fy))continue;let k=s*v/(1+v*Math.sqrt(d[m])),T=Math.hypot(e[w][0],e[w][1]);T=T<1e-4?1e-4:T;const O=u/T;k=k>O?O:k;const P=k*e[w][0],N=k*e[w][1];t.mergeNodeData(w,{x:S.x+P,y:S.y+N})}return v}}const tW={maxIteration:1e3,gravity:10,speed:5,clustering:!1,clusterGravity:10,width:300,height:300,nodeClusterBy:"cluster"},eW=800;class nW{constructor(t={}){this.options=t,this.id="fruchterman",this.timeInterval=0,this.running=!1,this.options=Object.assign(Object.assign({},tW),t)}execute(t,e){return Ut(this,void 0,void 0,function*(){return this.genericFruchtermanLayout(!1,t,e)})}assign(t,e){return Ut(this,void 0,void 0,function*(){yield this.genericFruchtermanLayout(!0,t,e)})}stop(){this.timeInterval&&typeof window<"u"&&window.clearInterval(this.timeInterval),this.running=!1}tick(t=this.options.maxIteration||1){if(this.lastResult)return this.lastResult;for(let n=0;n<t;n++)this.runOneStep(this.lastGraph,this.lastClusterMap,this.lastOptions);const e={nodes:this.lastLayoutNodes,edges:this.lastLayoutEdges};return this.lastAssign&&e.nodes.forEach(n=>this.lastGraph.mergeNodeData(n.id,{x:n.data.x,y:n.data.y,z:this.options.dimensions===3?n.data.z:void 0})),e}genericFruchtermanLayout(t,e,n){return Ut(this,void 0,void 0,function*(){if(this.running)return;const i=this.formatOptions(n),{dimensions:a,width:s,height:o,center:l,clustering:u,nodeClusterBy:c,maxIteration:h,onTick:d}=i,f=e.getAllNodes(),g=e.getAllEdges();if(!(f!=null&&f.length)){const w={nodes:[],edges:g};return this.lastResult=w,w}if(f.length===1){t&&e.mergeNodeData(f[0].id,{x:l[0],y:l[1],z:a===3?l[2]:void 0});const w={nodes:[Object.assign(Object.assign({},f[0]),{data:Object.assign(Object.assign({},f[0].data),{x:l[0],y:l[1],z:a===3?l[2]:void 0})})],edges:g};return this.lastResult=w,w}const p=f.map(w=>ir(w,[s,o])),v=new ln({nodes:p,edges:g}),y={};if(u&&p.forEach(w=>{const S=w.data[c];y[S]||(y[S]={name:S,cx:0,cy:0,count:0})}),this.lastLayoutNodes=p,this.lastLayoutEdges=g,this.lastAssign=t,this.lastGraph=v,this.lastOptions=i,this.lastClusterMap=y,typeof window>"u")return;let m=0;return new Promise(w=>{this.timeInterval=window.setInterval(()=>{if(!this.running){w({nodes:p,edges:g});return}this.runOneStep(v,y,i),t&&p.forEach(({id:S,data:_})=>e.mergeNodeData(S,{x:_.x,y:_.y,z:a===3?_.z:void 0})),d==null||d({nodes:p,edges:g}),m++,m>=h&&(window.clearInterval(this.timeInterval),w({nodes:p,edges:g}))},0),this.running=!0})})}formatOptions(t={}){const e=Object.assign(Object.assign({},this.options),t),{clustering:n,nodeClusterBy:i}=e,{center:a,width:s,height:o}=e;return e.width=!s&&typeof window<"u"?window.innerWidth:s,e.height=!o&&typeof window<"u"?window.innerHeight:o,e.center=a||[e.width/2,e.height/2],e.clustering=n&&!!i,e}runOneStep(t,e,n){const{dimensions:i,height:a,width:s,gravity:o,center:l,speed:u,clustering:c,nodeClusterBy:h,clusterGravity:d}=n,f=a*s,g=Math.sqrt(f)/10,p=t.getAllNodes(),v=f/(p.length+1),y=Math.sqrt(v),m={};if(this.applyCalculate(t,m,y,v),c){for(const S in e)e[S].cx=0,e[S].cy=0,e[S].count=0;p.forEach(S=>{const{data:_}=S,k=e[_[h]];Et(_.x)&&(k.cx+=_.x),Et(_.y)&&(k.cy+=_.y),k.count++});for(const S in e)e[S].cx/=e[S].count,e[S].cy/=e[S].count;const w=d||o;p.forEach((S,_)=>{const{id:k,data:T}=S;if(!Et(T.x)||!Et(T.y))return;const O=e[T[h]],P=Math.sqrt((T.x-O.cx)*(T.x-O.cx)+(T.y-O.cy)*(T.y-O.cy)),N=y*w;m[k].x-=N*(T.x-O.cx)/P,m[k].y-=N*(T.y-O.cy)/P})}p.forEach((w,S)=>{const{id:_,data:k}=w;if(!Et(k.x)||!Et(k.y))return;const T=.01*y*o;m[_].x-=T*(k.x-l[0]),m[_].y-=T*(k.y-l[1]),i===3&&(m[_].z-=T*(k.z-l[2]))}),p.forEach((w,S)=>{const{id:_,data:k}=w;if(Et(k.fx)&&Et(k.fy)){k.x=k.fx,k.y=k.fy,i===3&&(k.z=k.fz);return}if(!Et(k.x)||!Et(k.y))return;const T=Math.sqrt(m[_].x*m[_].x+m[_].y*m[_].y+(i===3?m[_].z*m[_].z:0));if(T>0){const O=Math.min(g*(u/eW),T);t.mergeNodeData(_,{x:k.x+m[_].x/T*O,y:k.y+m[_].y/T*O,z:i===3?k.z+m[_].z/T*O:void 0})}})}applyCalculate(t,e,n,i){this.calRepulsive(t,e,i),this.calAttractive(t,e,n)}calRepulsive(t,e,n){const i=t.getAllNodes();i.forEach(({data:a,id:s},o)=>{e[s]={x:0,y:0,z:0},i.forEach(({data:l,id:u},c)=>{if(o<=c||!Et(a.x)||!Et(l.x)||!Et(a.y)||!Et(l.y))return;let h=a.x-l.x,d=a.y-l.y,f=this.options.dimensions===3?a.z-l.z:0,g=h*h+d*d+f*f;g===0&&(g=1,h=.01,d=.01,f=.01);const p=n/g,v=h*p,y=d*p,m=f*p;e[s].x+=v,e[s].y+=y,e[u].x-=v,e[u].y-=y,this.options.dimensions===3&&(e[s].z+=m,e[u].z-=m)})})}calAttractive(t,e,n){t.getAllEdges().forEach(a=>{const{source:s,target:o}=a;if(!s||!o||s===o)return;const{data:l}=t.getNode(s),{data:u}=t.getNode(o);if(!Et(u.x)||!Et(l.x)||!Et(u.y)||!Et(l.y))return;const c=u.x-l.x,h=u.y-l.y,d=this.options.dimensions===3?u.z-l.z:0,f=Math.sqrt(c*c+h*h+d*d)/n,g=c*f,p=h*f,v=d*f;e[s].x+=g,e[s].y+=p,e[o].x-=g,e[o].y-=p,this.options.dimensions===3&&(e[s].z+=v,e[o].z-=v)})}}const rW={begin:[0,0],preventOverlap:!0,preventOverlapPadding:10,condense:!1,rows:void 0,cols:void 0,position:void 0,sortBy:"degree",nodeSize:30,width:300,height:300};class iW{constructor(t={}){this.options=t,this.id="grid",this.options=Object.assign(Object.assign({},rW),t)}execute(t,e){return Ut(this,void 0,void 0,function*(){return this.genericGridLayout(!1,t,e)})}assign(t,e){return Ut(this,void 0,void 0,function*(){yield this.genericGridLayout(!0,t,e)})}genericGridLayout(t,e,n){return Ut(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{begin:a=[0,0],condense:s,preventOverlapPadding:o,preventOverlap:l,rows:u,cols:c,nodeSpacing:h,nodeSize:d,width:f,height:g,position:p}=i;let{sortBy:v}=i;const y=e.getAllNodes(),m=e.getAllEdges(),w=y==null?void 0:y.length;if(!w||w===1)return Va(e,t,a);const S=y.map(V=>ir(V));v!=="id"&&(!ne(v)||S[0].data[v]===void 0)&&(v="degree"),v==="degree"?S.sort((V,U)=>e.getDegree(U.id,"both")-e.getDegree(V.id,"both")):v==="id"?S.sort((V,U)=>Et(U.id)&&Et(V.id)?U.id-V.id:`${V.id}`.localeCompare(`${U.id}`)):S.sort((V,U)=>U.data[v]-V.data[v]);const _=!f&&typeof window<"u"?window.innerWidth:f,k=!g&&typeof window<"u"?window.innerHeight:g,T=w,O={rows:u,cols:c};if(u!=null&&c!=null)O.rows=u,O.cols=c;else if(u!=null&&c==null)O.rows=u,O.cols=Math.ceil(T/O.rows);else if(u==null&&c!=null)O.cols=c,O.rows=Math.ceil(T/O.cols);else{const V=Math.sqrt(T*k/_);O.rows=Math.round(V),O.cols=Math.round(_/k*V)}if(O.rows=Math.max(O.rows,1),O.cols=Math.max(O.cols,1),O.cols*O.rows>T){const V=eu(O),U=nu(O);(V-1)*U>=T?eu(O,V-1):(U-1)*V>=T&&nu(O,U-1)}else for(;O.cols*O.rows<T;){const V=eu(O),U=nu(O);(U+1)*V>=T?nu(O,U+1):eu(O,V+1)}let P=s?0:_/O.cols,N=s?0:k/O.rows;if(l||h){const V=Aa(10,h),U=v1(30,d,!1);S.forEach(q=>{(!q.data.x||!q.data.y)&&(q.data.x=0,q.data.y=0);const j=e.getNode(q.id),[Z,nt]=il(U(j)||30),st=V!==void 0?V(q):o,ot=Z+st,Pt=nt+st;P=Math.max(P,ot),N=Math.max(N,Pt)})}const C={},L={row:0,col:0},F={};for(let V=0;V<S.length;V++){const U=S[V];let q;if(p&&(q=p(e.getNode(U.id))),q&&(q.row!==void 0||q.col!==void 0)){const j={row:q.row,col:q.col};if(j.col===void 0)for(j.col=0;pm(C,j);)j.col++;else if(j.row===void 0)for(j.row=0;pm(C,j);)j.row++;F[U.id]=j,xN(C,j)}aW(U,a,P,N,F,O,L,C)}const G={nodes:S,edges:m};return t&&S.forEach(V=>{e.mergeNodeData(V.id,{x:V.data.x,y:V.data.y})}),G})}}const eu=(r,t)=>{let e;const n=r.rows||5,i=r.cols||5;return t==null?e=Math.min(n,i):Math.min(n,i)===r.rows?r.rows=t:r.cols=t,e},nu=(r,t)=>{let e;const n=r.rows||5,i=r.cols||5;return t==null?e=Math.max(n,i):Math.max(n,i)===r.rows?r.rows=t:r.cols=t,e},pm=(r,t)=>r[`c-${t.row}-${t.col}`]||!1,xN=(r,t)=>r[`c-${t.row}-${t.col}`]=!0,YM=(r,t)=>{const e=r.cols||5;t.col++,t.col>=e&&(t.col=0,t.row++)},aW=(r,t,e,n,i,a,s,o)=>{let l,u;const c=i[r.id];if(c)l=c.col*e+e/2+t[0],u=c.row*n+n/2+t[1];else{for(;pm(o,s);)YM(a,s);l=s.col*e+e/2+t[0],u=s.row*n+n/2+t[1],xN(o,s),YM(a,s)}r.data.x=l,r.data.y=u},sW=(r,t,e)=>{try{const n=Wi.mul(Wi.pow(t,2),-.5),i=n.mean("row"),a=n.mean("column"),s=n.mean();n.add(s).subRowVector(i).subColumnVector(a);const o=new gP(n),l=Wi.sqrt(o.diagonalMatrix).diagonal();return o.leftSingularVectors.toJSON().map(u=>Wi.mul([u],[l]).toJSON()[0].splice(0,r))}catch{const i=[];for(let a=0;a<t.length;a++){const s=Math.random()*e,o=Math.random()*e;i.push([s,o])}return i}},oW=800,lW={iterations:10,height:10,width:10,speed:100,gravity:10,k:5},uW=(r,t)=>{const e=Object.assign(Object.assign({},lW),t),{positions:n,iterations:i,width:a,k:s,speed:o=100,strictRadial:l,focusIdx:u,radii:c=[],nodeSizeFunc:h}=e,d=r.getAllNodes(),f=[],g=a/10;for(let p=0;p<i;p++)n.forEach((v,y)=>{f[y]={x:0,y:0}}),cW(d,n,f,s,c,h),hW(n,f,o,l,u,g,a,c);return n},cW=(r,t,e,n,i,a)=>{t.forEach((s,o)=>{e[o]={x:0,y:0},t.forEach((l,u)=>{if(o===u||i[o]!==i[u])return;let c=s.x-l.x,h=s.y-l.y,d=Math.sqrt(c*c+h*h);if(d===0){d=1;const f=o>u?1:-1;c=.01*f,h=.01*f}if(d<a(r[o])/2+a(r[u])/2){const f=n*n/d;e[o].x+=c/d*f,e[o].y+=h/d*f}})})},hW=(r,t,e,n,i,a,s,o)=>{const l=a||s/10;return n&&t.forEach((u,c)=>{const h=r[c].x-r[i].x,d=r[c].y-r[i].y,f=Math.sqrt(h*h+d*d);let g=d/f,p=-h/f;const v=Math.sqrt(u.x*u.x+u.y*u.y);let y=Math.acos((g*u.x+p*u.y)/v);y>Math.PI/2&&(y-=Math.PI/2,g*=-1,p*=-1);const m=Math.cos(y)*v;u.x=g*m,u.y=p*m}),r.forEach((u,c)=>{if(c===i)return;const h=Math.sqrt(t[c].x*t[c].x+t[c].y*t[c].y);if(h>0&&c!==i){const d=Math.min(l*(e/oW),h);if(u.x+=t[c].x/h*d,u.y+=t[c].y/h*d,n){let f=u.x-r[i].x,g=u.y-r[i].y;const p=Math.sqrt(f*f+g*g);f=f/p*o[c],g=g/p*o[c],u.x=r[i].x+f,u.y=r[i].y+g}}}),r},dW={maxIteration:1e3,focusNode:null,unitRadius:null,linkDistance:50,preventOverlap:!1,strictRadial:!0,maxPreventOverlapIteration:200,sortStrength:10};class fW{constructor(t={}){this.options=t,this.id="radial",this.options=Object.assign(Object.assign({},dW),t)}execute(t,e){return Ut(this,void 0,void 0,function*(){return this.genericRadialLayout(!1,t,e)})}assign(t,e){return Ut(this,void 0,void 0,function*(){yield this.genericRadialLayout(!0,t,e)})}genericRadialLayout(t,e,n){return Ut(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{width:a,height:s,center:o,focusNode:l,unitRadius:u,nodeSize:c,nodeSpacing:h,strictRadial:d,preventOverlap:f,maxPreventOverlapIteration:g,sortBy:p,linkDistance:v=50,sortStrength:y=10,maxIteration:m=1e3}=i,w=e.getAllNodes(),S=e.getAllEdges(),_=!a&&typeof window<"u"?window.innerWidth:a,k=!s&&typeof window<"u"?window.innerHeight:s,T=o||[_/2,k/2];if(!(w!=null&&w.length)||w.length===1)return Va(e,t,T);let O=w[0];if(ne(l)){for(let ct=0;ct<w.length;ct++)if(w[ct].id===l){O=w[ct];break}}else O=l||w[0];const P=pW(w,O.id),N=uP({nodes:w,edges:S}),C=lP(N),L=mW(C,P);yW(C,P,L+1);const F=C[P];let G=_-T[0]>T[0]?T[0]:_-T[0],V=k-T[1]>T[1]?T[1]:k-T[1];G===0&&(G=_/2),V===0&&(V=k/2);const U=Math.min(G,V),q=Math.max(...F),j=[],Z=u||U/q;F.forEach((ct,xt)=>{j[xt]=ct*Z});const nt=gW(w,C,v,j,Z,p,y),st=vW(nt),ot=sW(v,nt,v);let Pt=ot.map(([ct,xt])=>({x:(isNaN(ct)?Math.random()*v:ct)-ot[P][0],y:(isNaN(xt)?Math.random()*v:xt)-ot[P][1]}));this.run(m,Pt,st,nt,j,P);let K;if(f){K=p1(c,h);const ct={nodes:w,nodeSizeFunc:K,positions:Pt,radii:j,height:k,width:_,strictRadial:!!d,focusIdx:P,iterations:g||200,k:Pt.length/4.5};Pt=uW(e,ct)}const W=[];return Pt.forEach((ct,xt)=>{const Nt=ir(w[xt]);Nt.data.x=ct.x+T[0],Nt.data.y=ct.y+T[1],W.push(Nt)}),t&&W.forEach(ct=>e.mergeNodeData(ct.id,{x:ct.data.x,y:ct.data.y})),{nodes:W,edges:S}})}run(t,e,n,i,a,s){for(let o=0;o<=t;o++){const l=o/t;this.oneIteration(l,e,a,i,n,s)}}oneIteration(t,e,n,i,a,s){const o=1-t;e.forEach((l,u)=>{const c=fx(l,{x:0,y:0}),h=c===0?0:1/c;if(u===s)return;let d=0,f=0,g=0;e.forEach((v,y)=>{if(u===y)return;const m=fx(l,v),w=m===0?0:1/m,S=i[y][u];g+=a[u][y],d+=a[u][y]*(v.x+S*(l.x-v.x)*w),f+=a[u][y]*(v.y+S*(l.y-v.y)*w)});const p=n[u]===0?0:1/n[u];g*=o,g+=t*p*p,d*=o,d+=t*p*l.x*h,l.x=d/g,f*=o,f+=t*p*l.y*h,l.y=f/g})}}const gW=(r,t,e,n,i,a,s)=>{if(!r)return[];const o=[];if(t){const l={};t.forEach((u,c)=>{const h=[];u.forEach((d,f)=>{var g,p;if(c===f)h.push(0);else if(n[c]===n[f])if(a==="data")h.push(d*(Math.abs(c-f)*s)/(n[c]/i));else if(a){let v,y;if(l[r[c].id])v=l[r[c].id];else{const m=(a==="id"?r[c].id:(g=r[c].data)===null||g===void 0?void 0:g[a])||0;ne(m)?v=m.charCodeAt(0):v=m,l[r[c].id]=v}if(l[r[f].id])y=l[r[f].id];else{const m=(a==="id"?r[f].id:(p=r[f].data)===null||p===void 0?void 0:p[a])||0;ne(m)?y=m.charCodeAt(0):y=m,l[r[f].id]=y}h.push(d*(Math.abs(v-y)*s)/(n[c]/i))}else h.push(d*e/(n[c]/i));else{const v=(e+i)/2;h.push(d*v)}}),o.push(h)})}return o},vW=r=>{const t=r.length,e=r[0].length,n=[];for(let i=0;i<t;i++){const a=[];for(let s=0;s<e;s++)r[i][s]!==0?a.push(1/(r[i][s]*r[i][s])):a.push(0);n.push(a)}return n},pW=(r,t)=>{let e=-1;return r.forEach((n,i)=>{n.id===t&&(e=i)}),Math.max(e,0)},yW=(r,t,e)=>{const n=r.length;for(let i=0;i<n;i++)if(r[t][i]===1/0){r[t][i]=e,r[i][t]=e;for(let a=0;a<n;a++)r[i][a]!==1/0&&r[t][a]===1/0&&(r[t][a]=e+r[i][a],r[a][t]=e+r[i][a])}for(let i=0;i<n;i++)if(i!==t){for(let a=0;a<n;a++)if(r[i][a]===1/0){let s=Math.abs(r[t][i]-r[t][a]);s=s===0?1:s,r[i][a]=s}}},mW=(r,t)=>{let e=0;for(let n=0;n<r[t].length;n++)r[t][n]!==1/0&&(e=r[t][n]>e?r[t][n]:e);return e},bW={center:[0,0],width:300,height:300};class wW{constructor(t={}){this.options=t,this.id="random",this.options=Object.assign(Object.assign({},bW),t)}execute(t,e){return Ut(this,void 0,void 0,function*(){return this.genericRandomLayout(!1,t,e)})}assign(t,e){return Ut(this,void 0,void 0,function*(){yield this.genericRandomLayout(!0,t,e)})}genericRandomLayout(t,e,n){return Ut(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{center:a,width:s,height:o}=i,l=e.getAllNodes(),u=.9,c=!s&&typeof window<"u"?window.innerWidth:s,h=!o&&typeof window<"u"?window.innerHeight:o,d=a||[c/2,h/2],f=[];return l&&l.forEach(p=>{f.push({id:p.id,data:{x:(Math.random()-.5)*u*c+d[0],y:(Math.random()-.5)*u*h+d[1]}})}),t&&f.forEach(p=>e.mergeNodeData(p.id,{x:p.data.x,y:p.data.y})),{nodes:f,edges:e.getAllEdges()}})}}const EN=Symbol("Comlink.proxy"),xW=Symbol("Comlink.endpoint"),SN=Symbol("Comlink.releaseProxy"),iy=Symbol("Comlink.finalizer"),bu=Symbol("Comlink.thrown"),_N=r=>typeof r=="object"&&r!==null||typeof r=="function",EW={canHandle:r=>_N(r)&&r[EN],serialize(r){const{port1:t,port2:e}=new MessageChannel;return kN(r,t),[e,[e]]},deserialize(r){return r.start(),TN(r)}},SW={canHandle:r=>_N(r)&&bu in r,serialize({value:r}){let t;return r instanceof Error?t={isError:!0,value:{message:r.message,name:r.name,stack:r.stack}}:t={isError:!1,value:r},[t,[]]},deserialize(r){throw r.isError?Object.assign(new Error(r.value.message),r.value):r.value}},MN=new Map([["proxy",EW],["throw",SW]]);function _W(r,t){for(const e of r)if(t===e||e==="*"||e instanceof RegExp&&e.test(t))return!0;return!1}function kN(r,t=globalThis,e=["*"]){t.addEventListener("message",function n(i){if(!i||!i.data)return;if(!_W(e,i.origin)){console.warn(`Invalid origin '${i.origin}' for comlink proxy`);return}const{id:a,type:s,path:o}=Object.assign({path:[]},i.data),l=(i.data.argumentList||[]).map(ba);let u;try{const c=o.slice(0,-1).reduce((d,f)=>d[f],r),h=o.reduce((d,f)=>d[f],r);switch(s){case"GET":u=h;break;case"SET":c[o.slice(-1)[0]]=ba(i.data.value),u=!0;break;case"APPLY":u=h.apply(c,l);break;case"CONSTRUCT":{const d=new h(...l);u=PW(d)}break;case"ENDPOINT":{const{port1:d,port2:f}=new MessageChannel;kN(r,f),u=AW(d,[d])}break;case"RELEASE":u=void 0;break;default:return}}catch(c){u={value:c,[bu]:0}}Promise.resolve(u).catch(c=>({value:c,[bu]:0})).then(c=>{const[h,d]=ec(c);t.postMessage(Object.assign(Object.assign({},h),{id:a}),d),s==="RELEASE"&&(t.removeEventListener("message",n),ON(t),iy in r&&typeof r[iy]=="function"&&r[iy]())}).catch(c=>{const[h,d]=ec({value:new TypeError("Unserializable return value"),[bu]:0});t.postMessage(Object.assign(Object.assign({},h),{id:a}),d)})}),t.start&&t.start()}function MW(r){return r.constructor.name==="MessagePort"}function ON(r){MW(r)&&r.close()}function TN(r,t){const e=new Map;return r.addEventListener("message",function(i){const{data:a}=i;if(!a||!a.id)return;const s=e.get(a.id);if(s)try{s(a)}finally{e.delete(a.id)}}),ym(r,e,[],t)}function ru(r){if(r)throw new Error("Proxy has been released and is not useable")}function AN(r){return hs(r,new Map,{type:"RELEASE"}).then(()=>{ON(r)})}const Qu=new WeakMap,tc="FinalizationRegistry"in globalThis&&new FinalizationRegistry(r=>{const t=(Qu.get(r)||0)-1;Qu.set(r,t),t===0&&AN(r)});function kW(r,t){const e=(Qu.get(t)||0)+1;Qu.set(t,e),tc&&tc.register(r,t,r)}function OW(r){tc&&tc.unregister(r)}function ym(r,t,e=[],n=function(){}){let i=!1;const a=new Proxy(n,{get(s,o){if(ru(i),o===SN)return()=>{OW(a),AN(r),t.clear(),i=!0};if(o==="then"){if(e.length===0)return{then:()=>a};const l=hs(r,t,{type:"GET",path:e.map(u=>u.toString())}).then(ba);return l.then.bind(l)}return ym(r,t,[...e,o])},set(s,o,l){ru(i);const[u,c]=ec(l);return hs(r,t,{type:"SET",path:[...e,o].map(h=>h.toString()),value:u},c).then(ba)},apply(s,o,l){ru(i);const u=e[e.length-1];if(u===xW)return hs(r,t,{type:"ENDPOINT"}).then(ba);if(u==="bind")return ym(r,t,e.slice(0,-1));const[c,h]=HM(l);return hs(r,t,{type:"APPLY",path:e.map(d=>d.toString()),argumentList:c},h).then(ba)},construct(s,o){ru(i);const[l,u]=HM(o);return hs(r,t,{type:"CONSTRUCT",path:e.map(c=>c.toString()),argumentList:l},u).then(ba)}});return kW(a,r),a}function TW(r){return Array.prototype.concat.apply([],r)}function HM(r){const t=r.map(ec);return[t.map(e=>e[0]),TW(t.map(e=>e[1]))]}const PN=new WeakMap;function AW(r,t){return PN.set(r,t),r}function PW(r){return Object.assign(r,{[EN]:!0})}function ec(r){for(const[t,e]of MN)if(e.canHandle(r)){const[n,i]=e.serialize(r);return[{type:"HANDLER",name:t,value:n},i]}return[{type:"RAW",value:r},PN.get(r)||[]]}function ba(r){switch(r.type){case"HANDLER":return MN.get(r.name).deserialize(r.value);case"RAW":return r.value}}function hs(r,t,e,n){return new Promise(i=>{const a=NW();t.set(a,i),r.start&&r.start(),r.postMessage(Object.assign({id:a},e),n)})}function NW(){return new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join("-")}class CW extends Pc{constructor(t,e,n){super(),this.graph=t,this.layout=e,this.options=n,this.spawnWorker()}spawnWorker(){this.proxy=TN(new Worker(new URL("https://registry.npmmirror.com/@gkd-kit/inspect/0.0.1753264900098/files/dist/assets/worker-DFsORLo-.js",import.meta.url),{type:"module"})),this.running&&(this.running=!1,this.execute())}execute(){var t;return Ut(this,void 0,void 0,function*(){if(this.running)return this;this.running=!0;const e=this.layout.options,{onTick:n}=e,i=ze(e,["onTick"]),a={};Object.keys(i).forEach(u=>{kt(i[u])||(a[u]=i[u])});const s={layout:{id:this.layout.id,options:a,iterations:(t=this.options)===null||t===void 0?void 0:t.iterations},nodes:this.graph.getAllNodes(),edges:this.graph.getAllEdges()},o=new Float32Array([0]),[l]=yield this.proxy.calculateLayout(s,[o]);return l})}stop(){return this.running=!1,this.proxy.stopLayout(),this}kill(){this.proxy[SN]()}isRunning(){return this.running}}var RW=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(s){s(a)})}return new(e||(e=Promise))(function(a,s){function o(c){try{u(n.next(c))}catch(h){s(h)}}function l(c){try{u(n.throw(c))}catch(h){s(h)}}function u(c){c.done?a(c.value):i(c.value).then(o,l)}u((n=n.apply(r,t||[])).next())})};class sh extends Nc{constructor(){super(...arguments),this.id="fishbone"}getRoot(){const t=this.context.model.getRootsData();if(!(Xr(t)||t.length>2))return t[0]}formatSize(t){const e=typeof t=="function"?t:()=>t;return n=>sr(e(n))}doLayout(t,e){const{hGap:n,getRibSep:i,vGap:a,nodeSize:s,height:o}=e,{model:l}=this.context,u=this.formatSize(s);let c=u(t)[0]+i(t);const h=(w,S=0)=>{var _;return S+=n*((w.children||[]).length+1),(_=w.children)===null||_===void 0||_.forEach(k=>{var T;(T=l.getNodeLikeDatum(k).children)===null||T===void 0||T.forEach(P=>{const N=l.getNodeLikeDatum(P);S=h(N,S)})}),S},d=w=>{if(w.depth===1)return c;const S=l.getParentData(w.id,"tree");if(is(w)){const _=l.getParentData(S.id,"tree"),k=p(w)-p(_);return d(S)+k*n/a}else{const _=(S.children||[]).indexOf(w.id),k=l.getNodeData((S.children||[]).slice(_));return f(S)-k.reduce((T,O)=>T+h(O),0)-u(S)[0]/2}},f=Ay(w=>{if(ay(w))return u(w)[0]/2;const S=l.getParentData(w.id,"tree");if(is(w))return d(w)+h(w)+u(w)[0]/2;{const _=p(w)-p(S),k=n/a;return d(w)+_*k}},w=>w.id),g=w=>p(l.getParentData(w,"tree")),p=Ay(w=>{if(ay(w))return o/2;if(is(w)){const S=l.getParentData(w.id,"tree"),_=S.children.indexOf(w.id);if(_===0)return g(S.id)+a;const k=l.getNodeLikeDatum(S.children[_-1]);if(Xr(k.children))return p(k)+a;const T=l.getDescendantsData(k.id);return Math.max(...T.map(O=>is(O)?g(O.id):p(O)))+a}else{if(Xr(w.children))return g(w.id)+a;const S=l.getNodeLikeDatum(w.children.slice(-1)[0]);if(Xr(S.children))return p(S)+a;const _=l.getDescendantsData(w.id).slice(-1)[0];return(is(_)?g(_.id):p(_))+a}},w=>w.id);let v=0;const y={nodes:[],edges:[]},m=w=>{var S;(S=w.children)===null||S===void 0||S.forEach(P=>m(l.getNodeLikeDatum(P)));const _=p(w),k=f(w);if(y.nodes.push({id:w.id,x:k,y:_}),ay(w))return;const T=l.getRelatedEdgesData(w.id,"in")[0],O=[d(w),is(w)?_:g(w.id)];y.edges.push({id:J(T),controlPoints:[O],relatedNodeId:w.id}),v=Math.max(v,k+i(w)),w.depth===1&&(c=v)};return m(t),y}placeAlterative(t,e){const n=(e.children||[]).filter((o,l)=>l%2!==0);if(n.length===0)return t;const{model:i}=this.context,a=t.nodes.find(o=>o.id===e.id).y,s=o=>{const l=i.getAncestorsData(o,"tree");if(Xr(l))return!1;const u=l.length===1?o:l[l.length-2].id;return n.includes(u)};t.nodes.forEach(o=>{s(o.id)&&(o.y=2*a-o.y)}),t.edges.forEach(o=>{s(o.relatedNodeId)&&(o.controlPoints=o.controlPoints.map(l=>[l[0],2*a-l[1]]))})}rightToLeft(t,e){return t.nodes.forEach(n=>n.x=e.width-n.x),t.edges.forEach(n=>{n.controlPoints=n.controlPoints.map(i=>[e.width-i[0],i[1]])}),t}execute(t,e){return RW(this,void 0,void 0,function*(){const n=Object.assign(Object.assign(Object.assign({},sh.defaultOptions),this.options),e),{direction:i,nodeSize:a}=n,s=this.getRoot();if(!s)return t;const o=this.formatSize(a);n.vGap||(n.vGap=Math.max(...(t.nodes||[]).map(d=>o(d)[1]))),n.hGap||(n.hGap=Math.max(...(t.nodes||[]).map(d=>o(d)[0])));let l=this.doLayout(s,n);this.placeAlterative(l,s),i==="RL"&&(l=this.rightToLeft(l,n));const{model:u}=this.context,c=[],h=[];return l.nodes.forEach(d=>{const{id:f,x:g,y:p}=d,v=u.getNodeLikeDatum(f);c.push(XM(v,{x:g,y:p}))}),l.edges.forEach(d=>{const{id:f,controlPoints:g}=d,p=u.getEdgeDatum(f);h.push(XM(p,{controlPoints:g}))}),{nodes:c,edges:h}})}}sh.defaultOptions={direction:"RL",getRibSep:()=>60};const XM=(r,t)=>Object.assign(Object.assign({},r),{style:Object.assign(Object.assign({},r.style||{}),t)}),ay=r=>r.depth===0,is=r=>(r.depth||(r.depth=0))%2===0;var LW=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(s){s(a)})}return new(e||(e=Promise))(function(a,s){function o(c){try{u(n.next(c))}catch(h){s(h)}}function l(c){try{u(n.throw(c))}catch(h){s(h)}}function u(c){c.done?a(c.value):i(c.value).then(o,l)}u((n=n.apply(r,t||[])).next())})};class oh extends Nc{constructor(){super(...arguments),this.id="snake"}formatSize(t,e){const n=typeof e=="function"?e:()=>e;return t.reduce((i,a)=>{const[s,o]=sr(n(a))||[0,0];return[Math.max(i[0],s),Math.max(i[1],o)]},[0,0])}validate(t){const{nodes:e=[],edges:n=[]}=t,i={},a={},s={};e.forEach(d=>{i[d.id]=0,a[d.id]=0,s[d.id]=[]}),n.forEach(d=>{i[d.target]++,a[d.source]++,s[d.source].push(d.target)});const o=new Set,l=d=>{o.has(d)||(o.add(d),s[d].forEach(l))};if(l(e[0].id),o.size!==e.length)return!1;const u=e.filter(d=>i[d.id]===0),c=e.filter(d=>a[d.id]===0);return!(u.length!==1||c.length!==1||e.filter(d=>i[d.id]===1&&a[d.id]===1).length!==e.length-2)}execute(t,e){return LW(this,void 0,void 0,function*(){var n;if(!this.validate(t))return t;const{nodeSize:i,padding:a,sortBy:s,cols:o,colGap:l,rowGap:u,clockwise:c,width:h,height:d}=Object.assign({},oh.defaultOptions,this.options,e),[f,g,p,v]=ai(a),y=this.formatSize(t.nodes||[],i),m=Math.ceil((t.nodes||[]).length/o);let w=l||(h-v-g-o*y[0])/(o-1),S=u||(d-f-p-m*y[1])/(m-1);return(S===1/0||S<0)&&(S=0),(w===1/0||w<0)&&(w=0),{nodes:((s?(n=t.nodes)===null||n===void 0?void 0:n.sort(s):IW(t))||[]).map((T,O)=>{const P=Math.floor(O/o),N=O%o,C=c?P%2===0?N:o-1-N:P%2===0?o-1-N:N,L=v+C*(y[0]+w)+y[0]/2,F=f+P*(y[1]+S)+y[1]/2;return{id:T.id,style:{x:L,y:F}}})}})}}oh.defaultOptions={padding:0,cols:5,clockwise:!0};function IW(r){const{nodes:t=[],edges:e=[]}=r,n={},i={};t.forEach(o=>{n[o.id]=0,i[o.id]=[]}),e.forEach(o=>{n[o.target]++,i[o.source].push(o.target)});const a=[],s=[];for(t.forEach(o=>{n[o.id]===0&&a.push(o.id)});a.length>0;){const o=a.shift(),l=t.find(u=>u.id===o);s.push(l),i[o].forEach(u=>{n[u]--,n[u]===0&&a.push(u)})}return s}const DW=["rgb(158, 1, 66)","rgb(213, 62, 79)","rgb(244, 109, 67)","rgb(253, 174, 97)","rgb(254, 224, 139)","rgb(255, 255, 191)","rgb(230, 245, 152)","rgb(171, 221, 164)","rgb(102, 194, 165)","rgb(50, 136, 189)","rgb(94, 79, 162)"],FW=["rgb(78, 121, 167)","rgb(242, 142, 44)","rgb(225, 87, 89)","rgb(118, 183, 178)","rgb(89, 161, 79)","rgb(237, 201, 73)","rgb(175, 122, 161)","rgb(255, 157, 167)","rgb(156, 117, 95)","rgb(186, 176, 171)"],BW=["rgb(255, 245, 235)","rgb(254, 230, 206)","rgb(253, 208, 162)","rgb(253, 174, 107)","rgb(253, 141, 60)","rgb(241, 105, 19)","rgb(217, 72, 1)","rgb(166, 54, 3)","rgb(127, 39, 4)"],zW=["rgb(247, 252, 245)","rgb(229, 245, 224)","rgb(199, 233, 192)","rgb(161, 217, 155)","rgb(116, 196, 118)","rgb(65, 171, 93)","rgb(35, 139, 69)","rgb(0, 109, 44)","rgb(0, 68, 27)"],jW=["rgb(247, 251, 255)","rgb(222, 235, 247)","rgb(198, 219, 239)","rgb(158, 202, 225)","rgb(107, 174, 214)","rgb(66, 146, 198)","rgb(33, 113, 181)","rgb(8, 81, 156)","rgb(8, 48, 107)"];class _n extends t1{}function qs(r,t=!0,e){const n=document.createElement("div");return n.setAttribute("class",`g6-${r}`),Object.assign(n.style,{position:"absolute",display:"block"}),t&&Object.assign(n.style,{position:"unset",gridArea:"1 / 1 / 2 / 2",inset:"0px",height:"100%",width:"100%",overflow:"hidden",pointerEvents:"none"}),e&&Object.assign(n.style,e),n}function mm(r,t="div",e={},n="",i=document.body){const a=document.getElementById(r);a&&a.remove();const s=document.createElement(t);return s.innerHTML=n,s.id=r,Object.assign(s.style,e),i.appendChild(s),s}var qW=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(s){s(a)})}return new(e||(e=Promise))(function(a,s){function o(c){try{u(n.next(c))}catch(h){s(h)}}function l(c){try{u(n.throw(c))}catch(h){s(h)}}function u(c){c.done?a(c.value):i(c.value).then(o,l)}u((n=n.apply(r,t||[])).next())})};class lh extends _n{constructor(t,e){super(t,Object.assign({},lh.defaultOptions,e)),this.$element=qs("background"),this.context.canvas.getContainer().prepend(this.$element),this.update(e)}update(t){const e=Object.create(null,{update:{get:()=>super.update}});return qW(this,void 0,void 0,function*(){e.update.call(this,t),Object.assign(this.$element.style,Dm(this.options,["key","type"]))})}destroy(){super.destroy(),this.$element.remove()}}lh.defaultOptions={transition:"background 0.5s",backgroundSize:"cover",zIndex:"-1"};function F1(r,t,e,n,i,a){const s=r,o=t,l=e-s,u=n-o;let c=i-s,h=a-o,d=c*l+h*u,f=0;d<=0?f=0:(c=l-c,h=u-h,d=c*l+h*u,d<=0?f=0:f=d*d/(l*l+u*u));const g=c*c+h*h-f;return g<0?0:g}function Ui(r,t,e,n){return(r-e)*(r-e)+(t-n)*(t-n)}function KM(r,t,e,n,i){return Ui(r,t,e,n)<i*i}function $W(r){if(!Number.isFinite(r))return e=>e;if(r===0)return Math.round;const t=Math.pow(10,r);return e=>Math.round(e*t)/t}function NN(r){const t=Math.min(r.x1,r.x2),e=Math.max(r.x1,r.x2),n=Math.min(r.y1,r.y2),i=Math.max(r.y1,r.y2);return{x:t,y:n,x2:e,y2:i,width:e-t,height:i-n}}class dn{constructor(t,e,n,i){this.x1=t,this.y1=e,this.x2=n,this.y2=i}equals(t){return this.x1===t.x1&&this.y1===t.y1&&this.x2===t.x2&&this.y2===t.y2}draw(t){t.moveTo(this.x1,this.y1),t.lineTo(this.x2,this.y2)}toString(){return`Line(from=(${this.x1},${this.y1}),to=(${this.x2},${this.y2}))`}static from(t){return new dn(t.x1,t.y1,t.x2,t.y2)}cuts(t,e){if(this.y1===this.y2||e<this.y1&&e<=this.y2||e>this.y1&&e>=this.y2||t>this.x1&&t>=this.x2)return!1;if(t<this.x1&&t<=this.x2)return!0;const n=this.x1+(e-this.y1)*(this.x2-this.x1)/(this.y2-this.y1);return t<=n}distSquare(t,e){return F1(this.x1,this.y1,this.x2,this.y2,t,e)}ptClose(t,e,n){if(this.x1<this.x2){if(t<this.x1-n||t>this.x2+n)return!1}else if(t<this.x2-n||t>this.x1+n)return!1;if(this.y1<this.y2){if(e<this.y1-n||e>this.y2+n)return!1}else if(e<this.y2-n||e>this.y1+n)return!1;return!0}}var Fe;(function(r){r[r.POINT=1]="POINT",r[r.PARALLEL=2]="PARALLEL",r[r.COINCIDENT=3]="COINCIDENT",r[r.NONE=4]="NONE"})(Fe||(Fe={}));class sy{constructor(t,e=0,n=0){this.state=t,this.x=e,this.y=n}}function iu(r,t){const e=(t.x2-t.x1)*(r.y1-t.y1)-(t.y2-t.y1)*(r.x1-t.x1),n=(r.x2-r.x1)*(r.y1-t.y1)-(r.y2-r.y1)*(r.x1-t.x1),i=(t.y2-t.y1)*(r.x2-r.x1)-(t.x2-t.x1)*(r.y2-r.y1);if(i){const a=e/i,s=n/i;return 0<=a&&a<=1&&0<=s&&s<=1?new sy(Fe.POINT,r.x1+a*(r.x2-r.x1),r.y1+a*(r.y2-r.y1)):new sy(Fe.NONE)}return new sy(e===0||n===0?Fe.COINCIDENT:Fe.PARALLEL)}function CN(r,t){const e=(t.x2-t.x1)*(r.y1-t.y1)-(t.y2-t.y1)*(r.x1-t.x1),n=(r.x2-r.x1)*(r.y1-t.y1)-(r.y2-r.y1)*(r.x1-t.x1),i=(t.y2-t.y1)*(r.x2-r.x1)-(t.x2-t.x1)*(r.y2-r.y1);if(i){const a=e/i,s=n/i;if(0<=a&&a<=1&&0<=s&&s<=1)return a}return Number.POSITIVE_INFINITY}function GW(r,t){function e(i,a,s,o){let l=CN(t,new dn(i,a,s,o));return l=Math.abs(l-.5),l>=0&&l<=1?1:0}let n=e(r.x,r.y,r.x2,r.y);return n+=e(r.x,r.y,r.x,r.y2),n>1||(n+=e(r.x,r.y2,r.x2,r.y2),n>1)?!0:(n+=e(r.x2,r.y,r.x2,r.y2),n>0)}var Be;(function(r){r[r.LEFT=0]="LEFT",r[r.TOP=1]="TOP",r[r.RIGHT=2]="RIGHT",r[r.BOTTOM=3]="BOTTOM"})(Be||(Be={}));function wu(r,t,e){const n=new Set;return r.width<=0?(n.add(Be.LEFT),n.add(Be.RIGHT)):t<r.x?n.add(Be.LEFT):t>r.x+r.width&&n.add(Be.RIGHT),r.height<=0?(n.add(Be.TOP),n.add(Be.BOTTOM)):e<r.y?n.add(Be.TOP):e>r.y+r.height&&n.add(Be.BOTTOM),n}function RN(r,t){let e=t.x1,n=t.y1;const i=t.x2,a=t.y2,s=Array.from(wu(r,i,a));if(s.length===0)return!0;let o=wu(r,e,n);for(;o.size!==0;){for(const l of s)if(o.has(l))return!1;if(o.has(Be.RIGHT)||o.has(Be.LEFT)){let l=r.x;o.has(Be.RIGHT)&&(l+=r.width),n=n+(l-e)*(a-n)/(i-e),e=l}else{let l=r.y;o.has(Be.BOTTOM)&&(l+=r.height),e=e+(l-n)*(i-e)/(a-n),n=l}o=wu(r,e,n)}return!0}function WW(r,t){let e=Number.POSITIVE_INFINITY,n=0;function i(a,s,o,l){let u=CN(t,new dn(a,s,o,l));u=Math.abs(u-.5),u>=0&&u<=1&&(n++,u<e&&(e=u))}return i(r.x,r.y,r.x2,r.y),i(r.x,r.y,r.x,r.y2),n>1||(i(r.x,r.y2,r.x2,r.y2),n>1)?e:(i(r.x2,r.y,r.x2,r.y2),n===0?-1:e)}function VW(r,t){let e=0;const n=iu(r,new dn(t.x,t.y,t.x2,t.y));e+=n.state===Fe.POINT?1:0;const i=iu(r,new dn(t.x,t.y,t.x,t.y2));e+=i.state===Fe.POINT?1:0;const a=iu(r,new dn(t.x,t.y2,t.x2,t.y2));e+=a.state===Fe.POINT?1:0;const s=iu(r,new dn(t.x2,t.y,t.x2,t.y2));return e+=s.state===Fe.POINT?1:0,{top:n,left:i,bottom:a,right:s,count:e}}class kn{constructor(t,e,n,i){this.x=t,this.y=e,this.width=n,this.height=i}get x2(){return this.x+this.width}get y2(){return this.y+this.height}get cx(){return this.x+this.width/2}get cy(){return this.y+this.height/2}get radius(){return Math.max(this.width,this.height)/2}static from(t){return new kn(t.x,t.y,t.width,t.height)}equals(t){return this.x===t.x&&this.y===t.y&&this.width===t.width&&this.height===t.height}clone(){return new kn(this.x,this.y,this.width,this.height)}add(t){const e=Math.min(this.x,t.x),n=Math.min(this.y,t.y),i=Math.max(this.x2,t.x+t.width),a=Math.max(this.y2,t.y+t.height);this.x=e,this.y=n,this.width=i-e,this.height=a-n}addPoint(t){const e=Math.min(this.x,t.x),n=Math.min(this.y,t.y),i=Math.max(this.x2,t.x),a=Math.max(this.y2,t.y);this.x=e,this.y=n,this.width=i-e,this.height=a-n}toString(){return`Rectangle[x=${this.x}, y=${this.y}, w=${this.width}, h=${this.height}]`}draw(t){t.rect(this.x,this.y,this.width,this.height)}containsPt(t,e){return t>=this.x&&t<=this.x2&&e>=this.y&&e<=this.y2}get area(){return this.width*this.height}intersects(t){return this.area<=0||t.width<=0||t.height<=0?!1:t.x+t.width>this.x&&t.y+t.height>this.y&&t.x<this.x2&&t.y<this.y2}distSquare(t,e){if(this.containsPt(t,e))return 0;const n=wu(this,t,e);return n.has(Be.TOP)?n.has(Be.LEFT)?Ui(t,e,this.x,this.y):n.has(Be.RIGHT)?Ui(t,e,this.x2,this.y):(this.y-e)*(this.y-e):n.has(Be.BOTTOM)?n.has(Be.LEFT)?Ui(t,e,this.x,this.y2):n.has(Be.RIGHT)?Ui(t,e,this.x2,this.y2):(e-this.y2)*(e-this.y2):n.has(Be.LEFT)?(this.x-t)*(this.x-t):n.has(Be.RIGHT)?(t-this.x2)*(t-this.x2):0}}function UW(r){if(r.length===0)return null;const t=r[0],e=new kn(t.x,t.y,0,0);for(const n of r)e.addPoint(n);return e}class nc{constructor(t,e,n){this.cx=t,this.cy=e,this.radius=n}get x(){return this.cx-this.radius}get x2(){return this.cx+this.radius}get width(){return this.radius*2}get y(){return this.cy-this.radius}get y2(){return this.cy+this.radius}get height(){return this.radius*2}static from(t){return new nc(t.cx,t.cy,t.radius)}containsPt(t,e){return Ui(this.cx,this.cy,t,e)<this.radius*this.radius}distSquare(t,e){const n=Ui(this.cx,this.cy,t,e);if(n<this.radius*this.radius)return 0;const i=Math.sqrt(n)-this.radius;return i*i}draw(t){t.ellipse(this.cx,this.cy,this.radius,this.radius,0,0,Math.PI*2)}}class Pa{constructor(t,e=0,n=0,i=0,a=0,s=10,o=10,l=new Float32Array(Math.max(0,s*o)).fill(0)){this.pixelGroup=t,this.i=e,this.j=n,this.pixelX=i,this.pixelY=a,this.width=s,this.height=o,this.area=l}createSub(t,e){return new Pa(this.pixelGroup,t.x,t.y,e.x,e.y,t.width,t.height)}static fromPixelRegion(t,e){return new Pa(e,0,0,t.x,t.y,Math.ceil(t.width/e),Math.ceil(t.height/e))}copy(t,e){return new Pa(this.pixelGroup,this.scaleX(e.x),this.scaleY(e.y),e.x,e.y,t.width,t.height,t.area)}boundX(t){return t<this.i?this.i:t>=this.width?this.width-1:t}boundY(t){return t<this.j?this.j:t>=this.height?this.height-1:t}scaleX(t){return this.boundX(Math.floor((t-this.pixelX)/this.pixelGroup))}scaleY(t){return this.boundY(Math.floor((t-this.pixelY)/this.pixelGroup))}scale(t){const e=this.scaleX(t.x),n=this.scaleY(t.y),i=this.boundX(Math.ceil((t.x+t.width-this.pixelX)/this.pixelGroup)),a=this.boundY(Math.ceil((t.y+t.height-this.pixelY)/this.pixelGroup)),s=i-e,o=a-n;return new kn(e,n,s,o)}invertScaleX(t){return Math.round(t*this.pixelGroup+this.pixelX)}invertScaleY(t){return Math.round(t*this.pixelGroup+this.pixelY)}addPadding(t,e){const n=Math.ceil(e/this.pixelGroup),i=this.boundX(t.x-n),a=this.boundY(t.y-n),s=this.boundX(t.x2+n),o=this.boundY(t.y2+n),l=s-i,u=o-a;return new kn(i,a,l,u)}get(t,e){return t<0||e<0||t>=this.width||e>=this.height?Number.NaN:this.area[t+e*this.width]}inc(t,e,n){t<0||e<0||t>=this.width||e>=this.height||(this.area[t+e*this.width]+=n)}set(t,e,n){t<0||e<0||t>=this.width||e>=this.height||(this.area[t+e*this.width]=n)}incArea(t,e){if(t.width<=0||t.height<=0||e===0)return;const n=this.width,i=t.width,a=Math.max(0,t.i),s=Math.max(0,t.j),o=Math.min(t.i+t.width,n),l=Math.min(t.j+t.height,this.height);if(!(l<=0||o<=0||a>=n||l>=this.height))for(let u=s;u<l;u++){const c=(u-t.j)*i,h=u*n;for(let d=a;d<o;d++){const f=t.area[d-t.i+c];f!==0&&(this.area[d+h]+=e*f)}}}fill(t){this.area.fill(t)}fillArea(t,e){const n=t.x+t.y*this.width;for(let i=0;i<t.height;i++){const a=n+i*this.width;this.area.fill(e,a,a+t.width)}}fillHorizontalLine(t,e,n,i){const a=t+e*this.width;this.area.fill(i,a,a+n)}fillVerticalLine(t,e,n,i){const a=t+e*this.width;for(let s=0;s<n;s++)this.area[a+s*this.width]=i}clear(){this.area.fill(0)}toString(){let t="";for(let e=0;e<this.height;e++){const n=e*this.width;for(let i=0;i<this.width;i++){const a=this.area[n+i];t+=a.toFixed(1).padStart(6),t+=" "}t+=`
|
|
14
14
|
`}return t}draw(t,e=!0){if(this.width<=0||this.height<=0)return;t.save(),e&&t.translate(this.pixelX,this.pixelY);const n=this.area.reduce((s,o)=>Math.min(s,o),Number.POSITIVE_INFINITY),i=this.area.reduce((s,o)=>Math.max(s,o),Number.NEGATIVE_INFINITY),a=s=>(s-n)/(i-n);t.scale(this.pixelGroup,this.pixelGroup);for(let s=0;s<this.width;s++)for(let o=0;o<this.height;o++){const l=this.area[s+o*this.width];t.fillStyle=`rgba(0, 0, 0, ${a(l)})`,t.fillRect(s,o,1,1)}t.restore()}drawThreshold(t,e,n=!0){if(!(this.width<=0||this.height<=0)){t.save(),n&&t.translate(this.pixelX,this.pixelY),t.scale(this.pixelGroup,this.pixelGroup);for(let i=0;i<this.width;i++)for(let a=0;a<this.height;a++){const s=this.area[i+a*this.width];t.fillStyle=s>e?"black":"white",t.fillRect(i,a,1,1)}t.restore()}}}function LN(r,t){const e=n=>({x:n.x-t,y:n.y-t,width:n.width+2*t,height:n.height+2*t});return Array.isArray(r)?r.map(e):e(r)}function ZM(r,t,e){return IN(Object.assign(NN(r),{distSquare:(n,i)=>F1(r.x1,r.y1,r.x2,r.y2,n,i)}),t,e)}function IN(r,t,e){const n=LN(r,e),i=t.scale(n),a=t.createSub(i,n);return YW(a,t,e,(s,o)=>r.distSquare(s,o)),a}function YW(r,t,e,n){const i=e*e;for(let a=0;a<r.height;a++)for(let s=0;s<r.width;s++){const o=t.invertScaleX(r.i+s),l=t.invertScaleY(r.j+a),u=n(o,l);if(u===0){r.set(s,a,i);continue}if(u<i){const c=e-Math.sqrt(u);r.set(s,a,c*c)}}return r}function HW(r,t,e){const n=t.scale(r),i=t.addPadding(n,e),a=t.createSub(i,{x:r.x-e,y:r.y-e}),s=n.x-i.x,o=n.y-i.y,l=i.x2-n.x2,u=i.y2-n.y2,c=i.width-s-l,h=i.height-o-u,d=e*e;a.fillArea({x:s,y:o,width:c+1,height:h+1},d);const f=[0],g=Math.max(o,s,l,u);{const m=t.invertScaleX(n.x+n.width/2);for(let w=1;w<g;w++){const S=t.invertScaleY(n.y-w),_=r.distSquare(m,S);if(_<d){const k=e-Math.sqrt(_);f.push(k*k)}else break}}const p=[],v=Math.max(s,l),y=Math.max(o,l);for(let m=1;m<v;m++){const w=t.invertScaleX(n.x-m),S=[];for(let _=1;_<y;_++){const k=t.invertScaleY(n.y-_),T=r.distSquare(w,k);if(T<d){const O=e-Math.sqrt(T);S.push(O*O)}else S.push(0)}p.push(S)}for(let m=1;m<Math.min(o,f.length);m++){const w=f[m];a.fillHorizontalLine(s,o-m,c+1,w)}for(let m=1;m<Math.min(u,f.length);m++){const w=f[m];a.fillHorizontalLine(s,o+h+m,c+1,w)}for(let m=1;m<Math.min(s,f.length);m++){const w=f[m];a.fillVerticalLine(s-m,o,h+1,w)}for(let m=1;m<Math.min(u,f.length);m++){const w=f[m];a.fillVerticalLine(s+c+m,o,h+1,w)}for(let m=1;m<s;m++){const w=p[m-1],S=s-m;for(let _=1;_<o;_++)a.set(S,o-_,w[_-1]);for(let _=1;_<u;_++)a.set(S,o+h+_,w[_-1])}for(let m=1;m<l;m++){const w=p[m-1],S=s+c+m;for(let _=1;_<o;_++)a.set(S,o-_,w[_-1]);for(let _=1;_<u;_++)a.set(S,o+h+_,w[_-1])}return a}function xe(r,t){return{x:r,y:t}}function XW(r,t,e,n){if(r.length===0)return[];const i=t7(r);return i.map((a,s)=>{const o=i.slice(0,s);return KW(t,a,o,e,n)}).flat()}function KW(r,t,e,n,i){const a=xe(t.cx,t.cy),s=QW(a,e,r);if(s==null)return[];const o=new dn(a.x,a.y,s.cx,s.cy),l=ZW(o,r,n,i);return JW(l,r)}function ZW(r,t,e,n){const i=[],a=[];a.push(r);let s=!0;for(let o=0;o<e&&s;o++)for(s=!1;!s&&a.length>0;){const l=a.pop(),u=DN(t,l),c=u?VW(l,u):null;if(!u||!c||c.count!==2){s||i.push(l);continue}let h=n,d=su(u,h,c,!0),f=Ni(d,a)||Ni(d,i),g=au(d,t);for(;!f&&g&&h>=1;)h/=1.5,d=su(u,h,c,!0),f=Ni(d,a)||Ni(d,i),g=au(d,t);if(d&&!f&&!g&&(a.push(new dn(l.x1,l.y1,d.x,d.y)),a.push(new dn(d.x,d.y,l.x2,l.y2)),s=!0),s)continue;h=n,d=su(u,h,c,!1);let p=Ni(d,a)||Ni(d,i);for(g=au(d,t);!p&&g&&h>=1;)h/=1.5,d=su(u,h,c,!1),p=Ni(d,a)||Ni(d,i),g=au(d,t);d&&!p&&(a.push(new dn(l.x1,l.y1,d.x,d.y)),a.push(new dn(d.x,d.y,l.x2,l.y2)),s=!0),s||i.push(l)}for(;a.length>0;)i.push(a.pop());return i}function JW(r,t){const e=[];for(;r.length>0;){const n=r.pop();if(r.length===0){e.push(n);break}const i=r.pop(),a=new dn(n.x1,n.y1,i.x2,i.y2);DN(t,a)?(e.push(n),r.push(i)):r.push(a)}return e}function QW(r,t,e){let n=Number.POSITIVE_INFINITY;return t.reduce((i,a)=>{const s=Ui(r.x,r.y,a.cx,a.cy);if(s>n)return i;const o=new dn(r.x,r.y,a.cx,a.cy),l=e7(e,o);return s*(l+1)*(l+1)<n&&(i=a,n=s*(l+1)*(l+1)),i},null)}function t7(r){if(r.length<2)return r;let t=0,e=0;return r.forEach(n=>{t+=n.cx,e+=n.cy}),t/=r.length,e/=r.length,r.map(n=>{const i=t-n.cx,a=e-n.cy,s=i*i+a*a;return[n,s]}).sort((n,i)=>n[1]-i[1]).map(n=>n[0])}function au(r,t){return t.some(e=>e.containsPt(r.x,r.y))}function Ni(r,t){return t.some(e=>!!(KM(e.x1,e.y1,r.x,r.y,.001)||KM(e.x2,e.y2,r.x,r.y,.001)))}function DN(r,t){let e=Number.POSITIVE_INFINITY,n=null;for(const i of r){if(!RN(i,t))continue;const a=WW(i,t);a>=0&&a<e&&(n=i,e=a)}return n}function e7(r,t){return r.reduce((e,n)=>RN(n,t)&&GW(n,t)?e+1:e,0)}function su(r,t,e,n){const i=e.top,a=e.left,s=e.bottom,o=e.right;if(n){if(a.state===Fe.POINT){if(i.state===Fe.POINT)return xe(r.x-t,r.y-t);if(s.state===Fe.POINT)return xe(r.x-t,r.y2+t);const d=r.width*r.height;return r.width*((a.y-r.y+(o.y-r.y))*.5)<d*.5?a.y>o.y?xe(r.x-t,r.y-t):xe(r.x2+t,r.y-t):a.y<o.y?xe(r.x-t,r.y2+t):xe(r.x2+t,r.y2+t)}if(o.state===Fe.POINT){if(i.state===Fe.POINT)return xe(r.x2+t,r.y-t);if(s.state===Fe.POINT)return xe(r.x2+t,r.y2+t)}const c=r.height*r.width;return r.height*((i.x-r.x+(o.x-r.x))*.5)<c*.5?i.x>s.x?xe(r.x-t,r.y-t):xe(r.x-t,r.y2+t):i.x<s.x?xe(r.x2+t,r.y-t):xe(r.x2+t,r.y2+t)}if(a.state===Fe.POINT){if(i.state===Fe.POINT)return xe(r.x2+t,r.y2+t);if(s.state===Fe.POINT)return xe(r.x2+t,r.y-t);const c=r.height*r.width;return r.width*((a.y-r.y+(o.y-r.y))*.5)<c*.5?a.y>o.y?xe(r.x2+t,r.y2+t):xe(r.x-t,r.y2+t):a.y<o.y?xe(r.x2+t,r.y-t):xe(r.x-t,r.y-t)}if(o.state===Fe.POINT){if(i.state===Fe.POINT)return xe(r.x-t,r.y2+t);if(s.state===Fe.POINT)return xe(r.x-t,r.y-t)}const l=r.height*r.width;return r.height*((i.x-r.x+(o.x-r.x))*.5)<l*.5?i.x>s.x?xe(r.x2+t,r.y2+t):xe(r.x2+t,r.y-t):i.x<s.x?xe(r.x-t,r.y2+t):xe(r.x-t,r.y-t)}function n7(r,t,e,n){if(!(r.closed?e<r.length:e<r.length-1))return!1;const a=r.get(t),s=r.get(e+1);for(let o=t+1;o<=e;o++){const l=r.get(o);if(F1(a.x,a.y,s.x,s.y,l.x,l.y)>n)return!1}return!0}function r7(r=0){return t=>{if(r<0||t.length<3)return t;const e=[];let n=0;const i=r*r;for(;n<t.length;){let a=n+1;for(;n7(t,n,a,i);)a++;e.push(t.get(n)),n=a}return new $s(e)}}function i7(r,t){switch(r){case-2:return(((-t+3)*t-3)*t+1)/6;case-1:return((3*t-6)*t*t+4)/6;case 0:return(((-3*t+3)*t+3)*t+1)/6;case 1:return t*t*t/6;default:throw new Error("unknown error")}}function a7(r=6){function a(s,o,l){let u=0,c=0;for(let h=-2;h<=1;h++){const d=s.get(o+h),f=i7(h,l);u+=f*d.x,c+=f*d.y}return{x:u,y:c}}return s=>{if(s.length<3)return s;const o=[],l=s.closed,u=s.length+3-1+(l?0:2);o.push(a(s,2-(l?0:2),0));for(let c=2-(l?0:2);c<u;c++)for(let h=1;h<=r;h++)o.push(a(s,c,h/r));return new $s(o)}}function s7(r=8){return t=>{let e=r,n=t.length;if(e>1)for(n=Math.floor(t.length/e);n<3&&e>1;)e-=1,n=Math.floor(t.length/e);const i=[];for(let a=0,s=0;s<n;s++,a+=e)i.push(t.get(a));return new $s(i)}}class $s{constructor(t=[],e=!0){this.points=t,this.closed=e}get(t){const e=t,n=this.points.length;return t<0?this.closed?this.get(t+n):this.points[0]:t>=n?this.closed?this.get(t-n):this.points[n-1]:this.points[e]}get length(){return this.points.length}toString(t=1/0){const e=this.points;if(e.length===0)return"";const n=typeof t=="function"?t:$W(t);let i="M";for(const a of e)i+=`${n(a.x)},${n(a.y)} L`;return i=i.slice(0,-1),this.closed&&(i+=" Z"),i}draw(t){const e=this.points;if(e.length!==0){t.beginPath(),t.moveTo(e[0].x,e[0].y);for(const n of e)t.lineTo(n.x,n.y);this.closed&&t.closePath()}}sample(t){return s7(t)(this)}simplify(t){return r7(t)(this)}bSplines(t){return a7(t)(this)}apply(t){return t(this)}containsElements(t){const e=UW(this.points);return e?t.every(n=>e.containsPt(n.cx,n.cy)&&this.withinArea(n.cx,n.cy)):!1}withinArea(t,e){if(this.length===0)return!1;let n=0;const i=this.points[0],a=new dn(i.x,i.y,i.x,i.y);for(let s=1;s<this.points.length;s++){const o=this.points[s];a.x1=a.x2,a.y1=a.y2,a.x2=o.x,a.y2=o.y,a.cuts(t,e)&&n++}return a.x1=a.x2,a.y1=a.y2,a.x2=i.x,a.y2=i.y,a.cuts(t,e)&&n++,n%2===1}}class o7{constructor(t=0){this.count=0,this.arr=[],this.set=new Set,this.arr.length=t}add(t){this.set.add(`${t.x}x${t.y}`),this.arr[this.count++]=t}contains(t){return this.set.has(`${t.x}x${t.y}`)}isFirst(t){if(this.count===0)return!1;const e=this.arr[0];return e!=null&&e.x===t.x&&e.y===t.y}path(){return new $s(this.arr.slice(0,this.count))}clear(){this.set.clear(),this.count=0}get(t){return this.arr[t]}get length(){return this.count}}const Js=0,ou=1,lu=2,oy=3;function l7(r,t){const e=(Math.floor(r.width)+Math.floor(r.height))*2,n=new o7(e);function i(l,u,c,h){const d=r.get(l,u);return Number.isNaN(d)?Number.NaN:d>t?c+h:c}function a(l,u){let c=Js;return c=i(l,u,c,1),c=i(l+1,u,c,2),c=i(l,u+1,c,4),c=i(l+1,u+1,c,8),Number.isNaN(c)?-1:c}let s=ou;function o(l,u){let c=l,h=u,d=r.invertScaleX(c),f=r.invertScaleY(h);for(let g=0;g<r.width*r.height;g++){const p={x:d,y:f};if(n.contains(p)){if(n.isFirst(p))return!0}else n.add(p);const v=a(c,h);switch(v){case-1:return!0;case 0:case 3:case 2:case 7:s=lu;break;case 12:case 14:case 4:s=oy;break;case 6:s=s===Js?oy:lu;break;case 1:case 13:case 5:s=Js;break;case 9:s=s===lu?Js:ou;break;case 10:case 8:case 11:s=ou;break;default:return console.warn("Marching squares invalid state: "+v),!0}switch(s){case Js:h--,f-=r.pixelGroup;break;case ou:h++,f+=r.pixelGroup;break;case oy:c--,d-=r.pixelGroup;break;case lu:c++,d+=r.pixelGroup;break;default:return console.warn("Marching squares invalid state: "+v),!0}}return!0}for(let l=0;l<r.width;l++)for(let u=0;u<r.height;u++){if(r.get(l,u)<=t)continue;const c=a(l,u);if(!(c<0||c===15)&&o(l,u))return n.path()}return null}const uh={maxRoutingIterations:100,maxMarchingIterations:20,pixelGroup:4,edgeR0:10,edgeR1:20,nodeR0:15,nodeR1:50,morphBuffer:10,threshold:1,memberInfluenceFactor:1,edgeInfluenceFactor:1,nonMemberInfluenceFactor:-.8,virtualEdges:!0};function xo(r){return r!=null&&typeof r.radius=="number"}function JM(r,t){if(xo(r)!==xo(t))return!1;if(xo(r)){const n=t;return r.cx===n.cx&&r.cy===n.cy&&r.radius===n.radius}const e=t;return r.x===e.x&&r.y===e.y&&r.width===e.width&&r.height===e.height}var Or;(function(r){r[r.MEMBERS=0]="MEMBERS",r[r.NON_MEMBERS=1]="NON_MEMBERS",r[r.EDGES=2]="EDGES"})(Or||(Or={}));let QM=class{constructor(t={}){this.dirty=new Set,this.members=[],this.nonMembers=[],this.virtualEdges=[],this.edges=[],this.activeRegion=new kn(0,0,0,0),this.potentialArea=new Pa(1,0,0,0,0,0,0),this.o=Object.assign({},uh,t)}pushMember(...t){if(t.length!==0){this.dirty.add(Or.MEMBERS);for(const e of t)this.members.push({raw:e,obj:xo(e)?nc.from(e):kn.from(e),area:null})}}removeMember(t){const e=this.members.findIndex(n=>JM(n.raw,t));return e<0?!1:(this.members.splice(e,1),this.dirty.add(Or.MEMBERS),!0)}removeNonMember(t){const e=this.nonMembers.findIndex(n=>JM(n.raw,t));return e<0?!1:(this.nonMembers.splice(e,1),this.dirty.add(Or.NON_MEMBERS),!0)}removeEdge(t){const e=this.edges.findIndex(n=>n.obj.equals(t));return e<0?!1:(this.edges.splice(e,1),this.dirty.add(Or.NON_MEMBERS),!0)}pushNonMember(...t){if(t.length!==0){this.dirty.add(Or.NON_MEMBERS);for(const e of t)this.nonMembers.push({raw:e,obj:xo(e)?nc.from(e):kn.from(e),area:null})}}pushEdge(...t){if(t.length!==0){this.dirty.add(Or.EDGES);for(const e of t)this.edges.push({raw:e,obj:dn.from(e),area:null})}}update(){const t=this.dirty.has(Or.MEMBERS),e=this.dirty.has(Or.NON_MEMBERS);let n=this.dirty.has(Or.EDGES);this.dirty.clear();const i=this.members.map(u=>u.obj);if(this.o.virtualEdges&&(t||e)){const u=this.nonMembers.map(d=>d.obj),c=XW(i,u,this.o.maxRoutingIterations,this.o.morphBuffer),h=new Map(this.virtualEdges.map(d=>[d.obj.toString(),d.area]));this.virtualEdges=c.map(d=>{var f;return{raw:d,obj:d,area:(f=h.get(d.toString()))!==null&&f!==void 0?f:null}}),n=!0}let a=!1;if(t||n){const u=this.virtualEdges.concat(this.edges).map(f=>f.obj),c=c7(i,u),h=Math.max(this.o.edgeR1,this.o.nodeR1)+this.o.morphBuffer,d=kn.from(LN(c,h));d.equals(this.activeRegion)||(a=!0,this.activeRegion=d)}if(a){const u=Math.ceil(this.activeRegion.width/this.o.pixelGroup),c=Math.ceil(this.activeRegion.height/this.o.pixelGroup);this.activeRegion.x!==this.potentialArea.pixelX||this.activeRegion.y!==this.potentialArea.pixelY?(this.potentialArea=Pa.fromPixelRegion(this.activeRegion,this.o.pixelGroup),this.members.forEach(h=>h.area=null),this.nonMembers.forEach(h=>h.area=null),this.edges.forEach(h=>h.area=null),this.virtualEdges.forEach(h=>h.area=null)):(u!==this.potentialArea.width||c!==this.potentialArea.height)&&(this.potentialArea=Pa.fromPixelRegion(this.activeRegion,this.o.pixelGroup))}const s=new Map,o=u=>{if(u.area){const c=`${u.obj.width}x${u.obj.height}x${u.obj instanceof kn?"R":"C"}`;s.set(c,u.area)}},l=u=>{if(u.area)return;const c=`${u.obj.width}x${u.obj.height}x${u.obj instanceof kn?"R":"C"}`;if(s.has(c)){const d=s.get(c);u.area=this.potentialArea.copy(d,{x:u.obj.x-this.o.nodeR1,y:u.obj.y-this.o.nodeR1});return}const h=u.obj instanceof kn?HW(u.obj,this.potentialArea,this.o.nodeR1):IN(u.obj,this.potentialArea,this.o.nodeR1);u.area=h,s.set(c,h)};this.members.forEach(o),this.nonMembers.forEach(o),this.members.forEach(l),this.nonMembers.forEach(u=>{this.activeRegion.intersects(u.obj)?l(u):u.area=null}),this.edges.forEach(u=>{u.area||(u.area=ZM(u.obj,this.potentialArea,this.o.edgeR1))}),this.virtualEdges.forEach(u=>{u.area||(u.area=ZM(u.obj,this.potentialArea,this.o.edgeR1))})}drawMembers(t){for(const e of this.members)e.obj.draw(t)}drawNonMembers(t){for(const e of this.nonMembers)e.obj.draw(t)}drawEdges(t){for(const e of this.edges)e.obj.draw(t)}drawPotentialArea(t,e=!0){this.potentialArea.draw(t,e)}compute(){if(this.members.length===0)return new $s([]);this.dirty.size>0&&this.update();const{o:t,potentialArea:e}=this,n=this.members.map(o=>o.area),i=this.virtualEdges.concat(this.edges).map(o=>o.area),a=this.nonMembers.filter(o=>o.area!=null).map(o=>o.area),s=this.members.map(o=>o.obj);return u7(e,n,i,a,o=>o.containsElements(s),t)}};function u7(r,t,e,n,i,a={}){const s=Object.assign({},uh,a);let o=s.threshold,l=s.memberInfluenceFactor,u=s.edgeInfluenceFactor,c=s.nonMemberInfluenceFactor;const h=(s.nodeR0-s.nodeR1)*(s.nodeR0-s.nodeR1),d=(s.edgeR0-s.edgeR1)*(s.edgeR0-s.edgeR1);for(let f=0;f<s.maxMarchingIterations;f++){if(r.clear(),l!==0){const p=l/h;for(const v of t)r.incArea(v,p)}if(u!==0){const p=u/d;for(const v of e)r.incArea(v,p)}if(c!==0){const p=c/h;for(const v of n)r.incArea(v,p)}const g=l7(r,o);if(g&&i(g))return g;if(o*=.95,f<=s.maxMarchingIterations*.5)l*=1.2,u*=1.2;else if(c!==0&&n.length>0)c*=.8;else break}return new $s([])}function c7(r,t){if(r.length===0)return new kn(0,0,0,0);const e=kn.from(r[0]);for(const n of r)e.add(n);for(const n of t)e.add(NN(n));return e}var h7=function(r,t){var e={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&t.indexOf(n)<0&&(e[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(e[n[i]]=r[n[i]]);return e};class ch extends _n{constructor(t,e){super(t,In({},ch.defaultOptions,e)),this.members=new Map,this.avoidMembers=new Map,this.bubbleSetOptions={},this.drawBubbleSets=()=>{const{style:n,bubbleSetOptions:i}=this.parseOptions();De(this.bubbleSetOptions,i)||this.init(),this.bubbleSetOptions=Object.assign({},i);const a=Object.assign(Object.assign({},n),{d:this.getPath()});this.shape?this.shape.update(a):(this.shape=new Jo({style:a}),this.context.canvas.appendChild(this.shape))},this.updateBubbleSetsPath=n=>{if(!this.shape)return;const i=J(n.data);[...this.options.members,...this.options.avoidMembers].includes(i)&&this.shape.update(Object.assign(Object.assign({},this.parseOptions().style),{d:this.getPath(i)}))},this.getPath=n=>{const{graph:i}=this.context,a=this.options.members,s=[...this.members.keys()],o=this.options.avoidMembers,l=[...this.avoidMembers.keys()];if(!n&&De(a,s)&&De(o,l))return this.path;const{enter:u=[],exit:c=[]}=Xi(s,a,v=>v),{enter:h=[],exit:d=[]}=Xi(l,o,v=>v);n&&(c.push(n),u.push(n));const f=(v,y,m)=>{v.forEach(w=>{const S=m?this.members:this.avoidMembers,_=m?"pushMember":"pushNonMember",k=m?"removeMember":"removeNonMember";if(y){let T;i.getElementType(w)==="edge"?([T]=f7(i,w),this.bubbleSets.pushEdge(T)):([T]=d7(i,w),this.bubbleSets[_](T)),S.set(w,T)}else{const T=S.get(w);T&&(i.getElementType(w)==="edge"?this.bubbleSets.removeEdge(T):this.bubbleSets[k](T),S.delete(w))}})};f(c,!1,!0),f(u,!0,!0),f(d,!1,!1),f(h,!0,!1);const p=this.bubbleSets.compute().sample(8).simplify(0).bSplines().simplify(0);return this.path=bA(p.points.map(bn)),this.path},this.bindEvents(),this.bubbleSets=new QM(this.options)}bindEvents(){this.context.graph.on(pt.AFTER_RENDER,this.drawBubbleSets),this.context.graph.on(pt.AFTER_ELEMENT_UPDATE,this.updateBubbleSetsPath)}init(){this.bubbleSets=new QM(this.options),this.members=new Map,this.avoidMembers=new Map}parseOptions(){const t=this.options,{type:e,key:n,members:i,avoidMembers:a}=t,s=h7(t,["type","key","members","avoidMembers"]),o=Object.keys(s).reduce((l,u)=>(u in uh?l.bubbleSetOptions[u]=s[u]:l.style[u]=s[u],l),{style:{},bubbleSetOptions:{}});return Object.assign({type:e,key:n,members:i,avoidMembers:a},o)}addMember(t){const e=Array.isArray(t)?t:[t];e.some(n=>this.options.avoidMembers.includes(n))&&(this.options.avoidMembers=this.options.avoidMembers.filter(n=>!e.includes(n))),this.options.members=[...new Set([...this.options.members,...e])],this.drawBubbleSets()}removeMember(t){const e=Array.isArray(t)?t:[t];this.options.members=this.options.members.filter(n=>!e.includes(n)),this.drawBubbleSets()}updateMember(t){this.options.members=kt(t)?t(this.options.members):t,this.drawBubbleSets()}getMember(){return this.options.members}addAvoidMember(t){const e=Array.isArray(t)?t:[t];e.some(n=>this.options.members.includes(n))&&(this.options.members=this.options.members.filter(n=>!e.includes(n))),this.options.avoidMembers=[...new Set([...this.options.avoidMembers,...e])],this.drawBubbleSets()}removeAvoidMember(t){const e=Array.isArray(t)?t:[t];this.options.avoidMembers.some(n=>e.includes(n))&&(this.options.avoidMembers=this.options.avoidMembers.filter(n=>!e.includes(n)),this.drawBubbleSets())}updateAvoidMember(t){this.options.avoidMembers=Array.isArray(t)?t:[t],this.drawBubbleSets()}getAvoidMember(){return this.options.avoidMembers}destroy(){this.context.graph.off(pt.AFTER_RENDER,this.drawBubbleSets),this.context.graph.off(pt.AFTER_ELEMENT_UPDATE,this.updateBubbleSetsPath),this.shape.destroy(),super.destroy()}}ch.defaultOptions=Object.assign({members:[],avoidMembers:[],fill:"lightblue",fillOpacity:.2,stroke:"blue",strokeOpacity:.2},uh);const d7=(r,t)=>(Array.isArray(t)?t:[t]).map(n=>{const i=r.getElementRenderBounds(n);return new kn(i.min[0],i.min[1],si(i),oi(i))}),f7=(r,t)=>(Array.isArray(t)?t:[t]).map(n=>{const i=r.getEdgeData(n),a=r.getElementPosition(i.source),s=r.getElementPosition(i.target);return dn.from({x1:a[0],y1:a[1],x2:s[0],y2:s[1]})});function g7(r){return`
|
|
15
15
|
<ul class="g6-contextmenu-ul">
|
|
16
16
|
${r.map(t=>`<li class="g6-contextmenu-li" value="${t.value}">${t.name}</li>`).join("")}
|
|
@@ -131,4 +131,4 @@ YYYY`):jn(e,"MM月");case"year":return jn(e,"YYYY");default:return jn(e,"YYYY-MM
|
|
|
131
131
|
<use xlink:href="#${e.id}"></use>
|
|
132
132
|
</svg>
|
|
133
133
|
</div>`}).join("")})}}Ph.defaultOptions={position:"top-left"};var tO=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(s){s(a)})}return new(e||(e=Promise))(function(a,s){function o(c){try{u(n.next(c))}catch(h){s(h)}}function l(c){try{u(n.throw(c))}catch(h){s(h)}}function u(c){c.done?a(c.value):i(c.value).then(o,l)}u((n=n.apply(r,t||[])).next())})};class Nh extends _n{constructor(t,e){super(t,Object.assign({},Nh.defaultOptions,e)),this.currentTarget=null,this.tooltipElement=null,this.container=null,this.isEnable=(n,i)=>{const{enable:a}=this.options;return typeof a=="function"?a(n,i):a},this.onClick=n=>{const{target:{id:i}}=n;this.currentTarget===i?this.hide(n):this.show(n)},this.onPointerMove=n=>{const{target:i}=n;!this.currentTarget||i.id===this.currentTarget||this.show(n)},this.onPointerLeave=n=>{this.hide(n)},this.onCanvasMove=n=>{this.hide(n)},this.onPointerOver=n=>{this.show(n)},this.showById=n=>tO(this,void 0,void 0,function*(){const i={target:{id:n}};yield this.show(i)}),this.getElementData=(n,i)=>{const{model:a}=this.context;switch(i){case"node":return a.getNodeData([n]);case"edge":return a.getEdgeData([n]);case"combo":return a.getComboData([n]);default:return[]}},this.show=n=>tO(this,void 0,void 0,function*(){var i,a;const{client:s,target:{id:o}}=n;if(nl(n.target))return;const l=this.context.graph.getElementType(o),{getContent:u,title:c}=this.options,h=this.getElementData(o,l);if(!this.tooltipElement||!this.isEnable(n,h))return;let d={};if(u){if(d.content=yield u(n,h),!d.content)return}else{const p=this.context.graph.getElementRenderStyle(o),v=l==="node"?p.fill:p.stroke;d={title:c||l,data:h.map(y=>({name:"ID",value:y.id||`${y.source} -> ${y.target}`,color:v}))}}this.currentTarget=o;let f,g;if(s)f=s.x,g=s.y;else{const p=Vn(h,"0.style",{x:0,y:0});f=p.x,g=p.y}(a=(i=this.options).onOpenChange)===null||a===void 0||a.call(i,!0),this.tooltipElement.update(Object.assign(Object.assign(Object.assign({},this.tooltipStyleProps),{x:f,y:g,style:{".tooltip":{visibility:"visible"}}}),d))}),this.hide=n=>{var i,a,s,o,l;if(!n){(a=(i=this.options).onOpenChange)===null||a===void 0||a.call(i,!1),(s=this.tooltipElement)===null||s===void 0||s.hide(),this.currentTarget=null;return}if(!this.tooltipElement||!this.currentTarget)return;const{client:{x:u,y:c}}=n;(l=(o=this.options).onOpenChange)===null||l===void 0||l.call(o,!1),this.tooltipElement.hide(u,c),this.currentTarget=null},this.initTooltip=()=>{var n;const i=new QY({className:"tooltip",style:this.tooltipStyleProps});return(n=this.container)===null||n===void 0||n.appendChild(i.HTMLTooltipElement),i},this.render(),this.bindEvents()}getEvents(){return this.options.trigger==="click"?{"node:click":this.onClick,"edge:click":this.onClick,"combo:click":this.onClick,"canvas:click":this.onPointerLeave,contextmenu:this.onPointerLeave,drag:this.onPointerLeave}:{"node:pointerover":this.onPointerOver,"node:pointermove":this.onPointerMove,"canvas:pointermove":this.onCanvasMove,"edge:pointerover":this.onPointerOver,"edge:pointermove":this.onPointerMove,"combo:pointerover":this.onPointerOver,"combo:pointermove":this.onPointerMove,contextmenu:this.onPointerLeave,"node:drag":this.onPointerLeave}}update(t){var e;this.unbindEvents(),super.update(t),this.tooltipElement&&((e=this.container)===null||e===void 0||e.removeChild(this.tooltipElement.HTMLTooltipElement)),this.tooltipElement=this.initTooltip(),this.bindEvents()}render(){const{canvas:t}=this.context,e=t.getContainer();e&&(this.container=e,this.tooltipElement=this.initTooltip())}unbindEvents(){const{graph:t}=this.context,e=this.getEvents();Object.keys(e).forEach(n=>{t.off(n,e[n])})}bindEvents(){const{graph:t}=this.context,e=this.getEvents();Object.keys(e).forEach(n=>{t.on(n,e[n])})}get tooltipStyleProps(){const{canvas:t}=this.context,{center:e}=t.getBounds(),n=t.getContainer(),{top:i,left:a}=n.getBoundingClientRect(),{style:s,position:o,enterable:l,container:u={x:-a,y:-i},title:c,offset:h}=this.options,[d,f]=e,[g,p]=t.getSize();return{x:d,y:f,container:u,title:c,bounding:{x:0,y:0,width:g,height:p},position:o,enterable:l,offset:h,style:s}}destroy(){var t;this.unbindEvents(),this.tooltipElement&&((t=this.container)===null||t===void 0||t.removeChild(this.tooltipElement.HTMLTooltipElement)),super.destroy()}}Nh.defaultOptions={trigger:"hover",position:"top-right",enterable:!1,enable:!0,offset:[10,10],style:{".tooltip":{visibility:"hidden"}}};var bC=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(s){s(a)})}return new(e||(e=Promise))(function(a,s){function o(c){try{u(n.next(c))}catch(h){s(h)}}function l(c){try{u(n.throw(c))}catch(h){s(h)}}function u(c){c.done?a(c.value):i(c.value).then(o,l)}u((n=n.apply(r,t||[])).next())})};let as;function wC(r,t){return as||(as=document.createElement("canvas")),as.width=r,as.height=t,as.getContext("2d").clearRect(0,0,r,t),as}function AH(r,t,e,n){return bC(this,void 0,void 0,function*(){const i=wC(r,t),a=i.getContext("2d"),{rotate:s,opacity:o,textFill:l,textFontSize:u,textFontFamily:c,textFontVariant:h,textFontWeight:d,textAlign:f,textBaseline:g}=n;return a.textAlign=f,a.textBaseline=g,a.translate(r/2,t/2),a.font=`${u}px ${c} ${h} ${d}`,s&&a.rotate(s),o&&(a.globalAlpha=o),l&&(a.fillStyle=l,a.fillText(`${e}`,0,0)),i.toDataURL()})}function PH(r,t,e,n){return bC(this,void 0,void 0,function*(){const i=wC(r,t),a=i.getContext("2d"),{rotate:s,opacity:o}=n;s&&a.rotate(s),o&&(a.globalAlpha=o);const l=new Image;return l.crossOrigin="anonymous",l.src=e,new Promise(u=>{l.onload=function(){const c=r>l.width?(r-l.width)/2:0,h=t>l.height?(t-l.height)/2:0;a.drawImage(l,0,0,l.width,l.height,c,h,r-c*2,t-h*2),u(i.toDataURL())}})})}var NH=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(s){s(a)})}return new(e||(e=Promise))(function(a,s){function o(c){try{u(n.next(c))}catch(h){s(h)}}function l(c){try{u(n.throw(c))}catch(h){s(h)}}function u(c){c.done?a(c.value):i(c.value).then(o,l)}u((n=n.apply(r,t||[])).next())})},CH=function(r,t){var e={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&t.indexOf(n)<0&&(e[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(e[n[i]]=r[n[i]]);return e};class Ch extends _n{constructor(t,e){super(t,Object.assign({},Ch.defaultOptions,e)),this.$element=qs("watermark"),this.context.canvas.getContainer().appendChild(this.$element),this.update(e)}update(t){const e=Object.create(null,{update:{get:()=>super.update}});return NH(this,void 0,void 0,function*(){e.update.call(this,t);const n=this.options,{width:i,height:a,text:s,imageURL:o}=n,l=CH(n,["width","height","text","imageURL"]);Object.keys(l).forEach(c=>{c.startsWith("background")&&(this.$element.style[c]=t[c])});const u=o?yield PH(i,a,o,l):yield AH(i,a,s,l);this.$element.style.backgroundImage=`url(${u})`})}destroy(){super.destroy(),this.$element.remove()}}Ch.defaultOptions={width:200,height:100,opacity:.2,rotate:Math.PI/12,text:"",textFill:"#000",textFontSize:16,textAlign:"center",textBaseline:"middle",backgroundRepeat:"repeat"};const RH=["#7E92B5","#F4664A","#FFBE3A"],LH={type:"group",color:["#1783FF","#00C9C9","#F08F56","#D580FF","#7863FF","#DB9D0D","#60C42D","#FF80CA","#2491B3","#17C76F"]},IH={type:"group",color:["#99ADD1","#1783FF","#00C9C9","#F08F56","#D580FF","#7863FF","#DB9D0D","#60C42D","#FF80CA","#2491B3","#17C76F"]};function xC(r){const{bgColor:t,textColor:e,nodeColor:n,nodeColorDisabled:i,nodeStroke:a,nodeHaloStrokeOpacityActive:s=.15,nodeHaloStrokeOpacitySelected:o=.25,nodeOpacityDisabled:l=.06,nodeIconOpacityInactive:u=.85,nodeOpacityInactive:c=.25,nodeBadgePalette:h=RH,nodePaletteOptions:d=LH,edgeColor:f,edgeColorDisabled:g,edgePaletteOptions:p=IH,comboColor:v,comboColorDisabled:y,comboStroke:m,comboStrokeDisabled:w,edgeColorInactive:S}=r;return{background:t,node:{palette:d,style:{donutOpacity:1,badgeBackgroundOpacity:1,badgeFill:"#fff",badgeFontSize:8,badgePadding:[0,4],badgePalette:h,fill:n,fillOpacity:1,halo:!1,iconFill:"#fff",iconOpacity:1,labelBackground:!1,labelBackgroundFill:t,labelBackgroundLineWidth:0,labelBackgroundOpacity:.75,labelFill:e,labelFillOpacity:.85,labelLineHeight:16,labelPadding:[0,2],labelFontSize:12,labelFontWeight:400,labelOpacity:1,labelOffsetY:2,lineWidth:0,portFill:n,portLineWidth:1,portStroke:a,portStrokeOpacity:.65,size:32,stroke:a,strokeOpacity:1,zIndex:2},state:{selected:{halo:!0,haloLineWidth:24,haloStrokeOpacity:o,labelFontSize:12,labelFontWeight:"bold",lineWidth:4,stroke:a},active:{halo:!0,haloLineWidth:12,haloStrokeOpacity:s},highlight:{labelFontWeight:"bold",lineWidth:4,stroke:a,strokeOpacity:.85},inactive:{badgeBackgroundOpacity:c,donutOpacity:c,fillOpacity:c,iconOpacity:u,labelFill:e,labelFillOpacity:c,strokeOpacity:c},disabled:{badgeBackgroundOpacity:.25,donutOpacity:l,fill:i,fillOpacity:l,iconFill:i,iconOpacity:.25,labelFill:e,labelFillOpacity:.25,strokeOpacity:l}},animation:{enter:"fade",exit:"fade",show:"fade",hide:"fade",expand:"node-expand",collapse:"node-collapse",update:[{fields:["x","y","fill","stroke"]}],translate:[{fields:["x","y"]}]}},edge:{palette:p,style:{badgeBackgroundFill:f,badgeFill:"#fff",badgeFontSize:8,badgeOffsetX:10,fillOpacity:1,halo:!1,haloLineWidth:12,haloStrokeOpacity:1,increasedLineWidthForHitTesting:2,labelBackground:!1,labelBackgroundFill:t,labelBackgroundLineWidth:0,labelBackgroundOpacity:.75,labelBackgroundPadding:[4,4,4,4],labelFill:e,labelFontSize:12,labelFontWeight:400,labelOpacity:1,labelPlacement:"center",labelTextBaseline:"middle",lineWidth:1,stroke:f,strokeOpacity:1,zIndex:1},state:{selected:{halo:!0,haloStrokeOpacity:.25,labelFontSize:14,labelFontWeight:"bold",lineWidth:3},active:{halo:!0,haloStrokeOpacity:.15},highlight:{labelFontWeight:"bold",lineWidth:3},inactive:{stroke:S,fillOpacity:.08,labelOpacity:.25,strokeOpacity:.08,badgeBackgroundOpacity:.25},disabled:{stroke:g,fillOpacity:.45,strokeOpacity:.45,labelOpacity:.25,badgeBackgroundOpacity:.45}},animation:{enter:"fade",exit:"fade",expand:"path-in",collapse:"path-out",show:"fade",hide:"fade",update:[{fields:["sourceNode","targetNode"]},{fields:["stroke"],shape:"key"}],translate:[{fields:["sourceNode","targetNode"]}]}},combo:{style:{collapsedMarkerFill:t,collapsedMarkerFontSize:12,collapsedMarkerFillOpacity:1,collapsedSize:32,collapsedFillOpacity:1,fill:v,halo:!1,haloLineWidth:12,haloStroke:m,haloStrokeOpacity:.25,labelBackground:!1,labelBackgroundFill:t,labelBackgroundLineWidth:0,labelBackgroundOpacity:.75,labelBackgroundPadding:[2,4,2,4],labelFill:e,labelFontSize:12,labelFontWeight:400,labelOpacity:1,lineDash:0,lineWidth:1,fillOpacity:.04,strokeOpacity:1,padding:10,stroke:m},state:{selected:{halo:!0,labelFontSize:14,labelFontWeight:700,lineWidth:4},active:{halo:!0},highlight:{labelFontWeight:700,lineWidth:4},inactive:{fillOpacity:.65,labelOpacity:.25,strokeOpacity:.65},disabled:{fill:y,fillOpacity:.25,labelOpacity:.25,stroke:w,strokeOpacity:.25}},animation:{enter:"fade",exit:"fade",show:"fade",hide:"fade",expand:"combo-expand",collapse:"combo-collapse",update:[{fields:["x","y"]},{fields:["fill","stroke","lineWidth"],shape:"key"}],translate:[{fields:["x","y"]}]}}}}const DH={type:"group",color:["#637088","#0F55A6","#008383","#9C5D38","#8B53A6","#4E40A6","#8F6608","#3E801D","#A65383","#175E75","#0F8248"]},FH={bgColor:"#000000",comboColor:"#fdfdfd",comboColorDisabled:"#d0e4ff",comboStroke:"#99add1",comboStrokeDisabled:"#969696",edgeColor:"#637088",edgeColorDisabled:"#637088",edgeColorInactive:"#D0E4FF",edgePaletteOptions:DH,nodeColor:"#1783ff",nodeColorDisabled:"#D0E4FF",nodeHaloStrokeOpacityActive:.25,nodeHaloStrokeOpacitySelected:.45,nodeIconOpacityInactive:.45,nodeOpacityDisabled:.25,nodeOpacityInactive:.45,nodeStroke:"#d0e4ff",textColor:"#ffffff"},BH=xC(FH),zH={bgColor:"#ffffff",comboColor:"#99ADD1",comboColorDisabled:"#f0f0f0",comboStroke:"#99add1",comboStrokeDisabled:"#d9d9d9",edgeColor:"#99add1",edgeColorDisabled:"#d9d9d9",edgeColorInactive:"#1B324F",nodeColor:"#1783ff",nodeColorDisabled:"#1B324F",nodeHaloStrokeOpacityActive:.15,nodeHaloStrokeOpacitySelected:.25,nodeIconOpacityInactive:.85,nodeOpacityDisabled:.06,nodeOpacityInactive:.25,nodeStroke:"#000000",textColor:"#000000"},jH=xC(zH);class ca extends t1{beforeDraw(t,e){return t}afterLayout(t,e){}}class qH extends ca{beforeDraw(t){const{model:e}=this.context,n=t.add.combos,i=a=>{const s=[];return a.forEach((o,l)=>{const c=e.getAncestorsData(l,"combo").map(h=>J(h)).reverse();s.push([l,o,c.length])}),new Map(s.sort(([,,o],[,,l])=>l-o).map(([o,l])=>[o,l]))};return t.add.combos=i(n),t.update.combos=i(t.update.combos),t}}function ar(r,t,e,n,i){const a=J(n),s=`${e}s`,o=i?n:r.add[s].get(a)||r.update[s].get(a)||r.remove[s].get(a)||n;Object.entries(r).forEach(([l,u])=>{t===l?u[s].set(a,o):u[s].delete(a)})}function Su(r,t){return Object.keys(r).every(e=>r[e]===t[e])}class $H extends ca{beforeDraw(t,e){if(e.stage==="visibility"||!this.context.model.model.hasTreeStructure(ue))return t;const{model:n}=this.context,{add:i,update:a}=t,s=[...t.update.combos.entries(),...t.add.combos.entries()];for(;s.length;){const[o,l]=s.pop();if(Un(l)){const u=n.getDescendantsData(o),c=u.map(J),{internal:h,external:d}=am(c,f=>n.getRelatedEdgesData(f));u.forEach(f=>{const g=J(f),p=s.findIndex(([y])=>y===g);p!==-1&&s.splice(p,1);const v=n.getElementType(g);ar(t,"remove",v,f)}),h.forEach(f=>ar(t,"remove","edge",f)),d.forEach(f=>{var g;const p=J(f);((g=this.context.element)===null||g===void 0?void 0:g.getElement(p))?a.edges.set(p,f):i.edges.set(p,f)})}else{const u=n.getChildrenData(o),c=u.map(J),{edges:h}=am(c,d=>n.getRelatedEdgesData(d));[...u,...h].forEach(d=>{var f;const g=J(d),p=n.getElementType(g);((f=this.context.element)===null||f===void 0?void 0:f.getElement(g))?ar(t,"update",p,d):ar(t,"add",p,d),p==="combo"&&s.push([g,d])})}}return t}}const eO=(r,t,e,n)=>{const i=`${e}s`,a=J(n);!r.add[i].has(a)&&!r.update[i].has(a)&&r[t][i].set(J(n),n)};class GH extends ca{getElement(t){return this.context.element.getElement(t)}handleExpand(t,e){if(eO(e,"add","node",t),Un(t))return;const n=J(t);eO(e,"add","node",t),this.context.model.getRelatedEdgesData(n).forEach(s=>{ar(e,"add","edge",s)}),this.context.model.getChildrenData(n).forEach(s=>{this.handleExpand(s,e)})}beforeDraw(t){const{graph:e,model:n}=this.context;if(!n.model.hasTreeStructure(nr))return t;const{add:{nodes:i,edges:a},update:{nodes:s}}=t,o=new Map,l=new Map;i.forEach((c,h)=>{Un(c)&&o.set(h,c)}),a.forEach(c=>{if(e.getElementType(c.source)!=="node")return;const h=e.getNodeData(c.source);Un(h)&&o.set(c.source,h)}),s.forEach((c,h)=>{const d=this.getElement(h);if(!d)return;const f=d.attributes.collapsed;Un(c)?f||o.set(h,c):f&&l.set(h,c)});const u=new Set;return o.forEach((c,h)=>{n.getDescendantsData(h).forEach(f=>{const g=J(f);if(u.has(g))return;ar(t,"remove","node",f),n.getRelatedEdgesData(g).forEach(v=>{ar(t,"remove","edge",v)}),u.add(g)})}),l.forEach((c,h)=>{if(n.getAncestorsData(h,nr).some(Un)){ar(t,"remove","node",c);return}this.handleExpand(c,t)}),t}}function EC(r,t,e){Zy[r][t]&&ii.warn(`The extension ${t} of ${r} has been registered before, and will be overridden.`),Object.assign(Zy[r],{[t]:e})}var SC=function(){function r(t){ht(this,r),this.dragndropPluginOptions=t}return dt(r,[{key:"apply",value:function(e){var n=this,i=e.renderingService,a=e.renderingContext,s=a.root.ownerDocument,o=s.defaultView,l=function(c){var h=c.target,d=h===s,f=d&&n.dragndropPluginOptions.isDocumentDraggable?s:h.closest&&h.closest("[draggable=true]");if(f){var g=!1,p=c.timeStamp,v=[c.clientX,c.clientY],y=null,m=[c.clientX,c.clientY],w=function(){var _=ta(wn().mark(function k(T){var O,P,N,C,L,F;return wn().wrap(function(V){for(;;)switch(V.prev=V.next){case 0:if(g){V.next=8;break}if(O=T.timeStamp-p,P=$n([T.clientX,T.clientY],v),!(O<=n.dragndropPluginOptions.dragstartTimeThreshold||P<=n.dragndropPluginOptions.dragstartDistanceThreshold)){V.next=5;break}return V.abrupt("return");case 5:T.type="dragstart",f.dispatchEvent(T),g=!0;case 8:if(T.type="drag",T.dx=T.clientX-m[0],T.dy=T.clientY-m[1],f.dispatchEvent(T),m=[T.clientX,T.clientY],d){V.next=21;break}return N=n.dragndropPluginOptions.overlap==="pointer"?[T.canvasX,T.canvasY]:h.getBounds().center,V.next=17,s.elementsFromPoint(N[0],N[1]);case 17:C=V.sent,L=C[C.indexOf(h)+1],F=(L==null?void 0:L.closest("[droppable=true]"))||(n.dragndropPluginOptions.isDocumentDroppable?s:null),y!==F&&(y&&(T.type="dragleave",T.target=y,y.dispatchEvent(T)),F&&(T.type="dragenter",T.target=F,F.dispatchEvent(T)),y=F,y&&(T.type="dragover",T.target=y,y.dispatchEvent(T)));case 21:case"end":return V.stop()}},k)}));return function(T){return _.apply(this,arguments)}}();o.addEventListener("pointermove",w);var S=function(k){if(g){k.detail={preventClick:!0};var T=k.clone();y&&(T.type="drop",T.target=y,y.dispatchEvent(T)),T.type="dragend",f.dispatchEvent(T),g=!1}o.removeEventListener("pointermove",w)};h.addEventListener("pointerup",S,{once:!0}),h.addEventListener("pointerupoutside",S,{once:!0})}};i.hooks.init.tap(r.tag,function(){o.addEventListener("pointerdown",l)}),i.hooks.destroy.tap(r.tag,function(){o.removeEventListener("pointerdown",l)})}}])}();SC.tag="Dragndrop";var WH=function(r){function t(){var e,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return ht(this,t),e=Gt(this,t),e.name="dragndrop",e.options=n,e}return Wt(t,r),dt(t,[{key:"init",value:function(){this.addRenderingPlugin(new SC($t({overlap:"pointer",isDocumentDraggable:!1,isDocumentDroppable:!1,dragstartDistanceThreshold:0,dragstartTimeThreshold:0},this.options)))}},{key:"destroy",value:function(){this.removeAllRenderingPlugins()}},{key:"setOptions",value:function(n){Object.assign(this.plugins[0].dragndropPluginOptions,n)}}])}(ra),nO=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(s){s(a)})}return new(e||(e=Promise))(function(a,s){function o(c){try{u(n.next(c))}catch(h){s(h)}}function l(c){try{u(n.throw(c))}catch(h){s(h)}}function u(c){c.done?a(c.value):i(c.value).then(o,l)}u((n=n.apply(r,t||[])).next())})},rO=function(r,t){var e={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&t.indexOf(n)<0&&(e[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(e[n[i]]=r[n[i]]);return e};const iO=["main"],aO=["background","main","label","transient"];function VH(r){return r.main}class sO{getConfig(){return this.config}getLayer(t="main"){return this.extends.layers[t]||VH(this.getLayers())}getLayers(){return this.extends.layers}getRenderer(t){return this.extends.renderers[t]}getCamera(t="main"){return this.getLayer(t).getCamera()}getRoot(t="main"){return this.getLayer(t).getRoot()}getContextService(t="main"){return this.getLayer(t).getContextService()}setCursor(t){this.config.cursor=t,this.getLayer().setCursor(t)}get document(){return this.getLayer().document}get context(){return this.getLayer().context}constructor(t){this.config={enableMultiLayer:!0},Object.assign(this.config,t);const e=this.config,{renderer:n,background:i,cursor:a,enableMultiLayer:s}=e,o=rO(e,["renderer","background","cursor","enableMultiLayer"]),l=s?aO:iO,u=oO(n,l),c=Object.fromEntries(l.map(h=>{const d=new Ky(Object.assign(Object.assign({},o),{supportsMutipleCanvasesInOneContainer:s,renderer:u[h],background:s?h==="background"?i:void 0:i}));return[h,d]}));lO(c),this.extends={config:this.config,renderer:n,renderers:u,layers:c}}get ready(){return Promise.all(Object.entries(this.getLayers()).map(([,t])=>t.ready))}resize(t,e){Object.assign(this.extends.config,{width:t,height:e}),Object.values(this.getLayers()).forEach(n=>{const i=n.getCamera(),a=i.getPosition(),s=i.getFocalPoint();n.resize(t,e),i.setPosition(a),i.setFocalPoint(s)})}getBounds(t){return Xo(Object.values(this.getLayers()).map(e=>t?e.getRoot().childNodes.find(i=>i.classList.includes(t)):e.getRoot()).filter(e=>(e==null?void 0:e.childNodes.length)>0).map(e=>e.getBounds()))}getContainer(){const t=this.extends.config.container;return typeof t=="string"?document.getElementById(t):t}getSize(){return[this.extends.config.width||0,this.extends.config.height||0]}appendChild(t,e){var n;const i=((n=t.style)===null||n===void 0?void 0:n.$layer)||"main";return this.getLayer(i).appendChild(t,e)}setRenderer(t){if(t===this.extends.renderer)return;const e=oO(t,this.config.enableMultiLayer?aO:iO);this.extends.renderers=e,Object.entries(e).forEach(([n,i])=>this.getLayer(n).setRenderer(i)),lO(this.getLayers())}getCanvasByViewport(t){return bn(this.getLayer().viewport2Canvas(Nr(t)))}getViewportByCanvas(t){return bn(this.getLayer().canvas2Viewport(Nr(t)))}getViewportByClient(t){return bn(this.getLayer().client2Viewport(Nr(t)))}getClientByViewport(t){return bn(this.getLayer().viewport2Client(Nr(t)))}getClientByCanvas(t){return this.getClientByViewport(this.getViewportByCanvas(t))}getCanvasByClient(t){const e=this.getLayer(),n=e.client2Viewport(Nr(t));return bn(e.viewport2Canvas(n))}toDataURL(){return nO(this,arguments,void 0,function*(t={}){const e=globalThis.devicePixelRatio||1,{mode:n="viewport"}=t,i=rO(t,["mode"]);let[a,s,o,l]=[0,0,0,0];if(n==="viewport")[o,l]=this.getSize();else if(n==="overall"){const y=this.getBounds(),m=ia(y);[a,s]=y.min,[o,l]=m}const u=Ly('<div id="virtual-image"></div>'),c=new Ky({width:o,height:l,renderer:new Co,devicePixelRatio:e,container:u,background:this.extends.config.background});yield c.ready,c.appendChild(this.getLayer("background").getRoot().cloneNode(!0)),c.appendChild(this.getRoot().cloneNode(!0));const h=this.getLayer("label").getRoot().cloneNode(!0),d=c.viewport2Canvas({x:0,y:0}),f=this.getCanvasByViewport([0,0]);h.translate([f[0]-d.x,f[1]-d.y]),h.scale(1/this.getCamera().getZoom()),c.appendChild(h),c.appendChild(this.getLayer("transient").getRoot().cloneNode(!0));const g=this.getCamera(),p=c.getCamera();if(n==="viewport")p.setZoom(g.getZoom()),p.setPosition(g.getPosition()),p.setFocalPoint(g.getFocalPoint());else if(n==="overall"){const[y,m,w]=p.getPosition(),[S,_,k]=p.getFocalPoint();p.setPosition([y+a,m+s,w]),p.setFocalPoint([S+a,_+s,k])}const v=c.getContextService();return new Promise(y=>{c.addEventListener(er.RERENDER,()=>nO(this,void 0,void 0,function*(){yield new Promise(w=>setTimeout(w,300));const m=yield v.toDataURL(i);y(m)}))})})}destroy(){Object.values(this.getLayers()).forEach(t=>{t.getCamera().cancelLandmarkAnimation(),t.destroy()})}}function oO(r,t){return Object.fromEntries(t.map(e=>{const n=(r==null?void 0:r(e))||new Co;return n instanceof Co&&n.setConfig({enableDirtyRectangleRendering:!1}),e==="main"?n.registerPlugin(new WH({isDocumentDraggable:!0,isDocumentDroppable:!0,dragstartDistanceThreshold:10,dragstartTimeThreshold:100})):n.unregisterPlugin(n.getPlugin("dom-interaction")),[e,n]}))}function lO(r){Object.entries(r).forEach(([t,e])=>{const n=e.getContextService().getDomElement();n!=null&&n.style&&(n.style.gridArea="1 / 1 / 2 / 2",n.style.outline="none",n.tabIndex=1,t!=="main"&&(n.style.pointerEvents="none")),n!=null&&n.parentElement&&(n.parentElement.style.display="grid",n.parentElement.style.isolation="isolate")})}const ss=r=>r?parseInt(r):0;function UH(r){const t=getComputedStyle(r),e=r.clientWidth||ss(t.width),n=r.clientHeight||ss(t.height),i=ss(t.paddingLeft)+ss(t.paddingRight),a=ss(t.paddingTop)+ss(t.paddingBottom);return[e-i,n-a]}function uO(r){if(!r)return[0,0];let t=640,e=480;const[n,i]=UH(r);t=n||t,e=i||e;const a=1,s=1;return[Math.max(Et(t)?t:a,a),Math.max(Et(e)?e:s,s)]}class Rh{constructor(t){this.type=t}}class Xe extends Rh{constructor(t,e){super(t),this.data=e}}class br extends Rh{constructor(t,e,n,i){super(t),this.animationType=e,this.animation=n,this.data=i}}class os extends Rh{constructor(t,e,n){super(t),this.elementType=e,this.data=n}}class hu extends Rh{constructor(t,e){super(t),this.data=e}}function rn(r,t){r.emit(t.type,t)}function YH(r){if(!r)return null;if(r instanceof LT)return{type:"canvas",element:r};let t=r;for(;t;){if(el(t))return{type:"node",element:t};if(qA(t))return{type:"edge",element:t};if(c1(t))return{type:"combo",element:t};t=t.parentElement}return null}function cO(r){var t;return((t=r==null?void 0:r.style)===null||t===void 0?void 0:t.zIndex)||0}const So="cachedStyle",Q1=r=>`__${r}__`;function HH(r,t){const e=Array.isArray(t)?t:[t];Vn(r,So)||ko(r,So,{}),e.forEach(n=>{ko(Vn(r,So),Q1(n),r.attributes[n])})}function hO(r,t){return Vn(r,[So,Q1(t)])}function XH(r,t){return Q1(t)in(Vn(r,So)||{})}class KH{constructor(t){this.tasks=[],this.animations=new Set,this.context=t}getTasks(){const t=[...this.tasks];return this.tasks=[],t}add(t,e){this.tasks.push([t,e])}animate(t,e,n){var i,a,s;(i=e==null?void 0:e.before)===null||i===void 0||i.call(e);const o=this.getTasks().map(([u,c])=>{var h,d,f;const{element:g,elementType:p,stage:v}=u,y=BF(this.context.options,p,v,t);(h=c==null?void 0:c.before)===null||h===void 0||h.call(c);const m=y.length?jF(g,this.inferStyle(u,n),y):null;return m?((d=c==null?void 0:c.beforeAnimate)===null||d===void 0||d.call(c,m),m.finished.then(()=>{var w,S;(w=c==null?void 0:c.afterAnimate)===null||w===void 0||w.call(c,m),(S=c==null?void 0:c.after)===null||S===void 0||S.call(c),this.animations.delete(m)})):(f=c==null?void 0:c.after)===null||f===void 0||f.call(c),m}).filter(Boolean);o.forEach(u=>this.animations.add(u));const l=Km(o);return l?((a=e==null?void 0:e.beforeAnimate)===null||a===void 0||a.call(e,l),l.finished.then(()=>{var u,c;(u=e==null?void 0:e.afterAnimate)===null||u===void 0||u.call(e,l),(c=e==null?void 0:e.after)===null||c===void 0||c.call(e),this.release()})):(s=e==null?void 0:e.after)===null||s===void 0||s.call(e),l}inferStyle(t,e){var n,i;const{element:a,elementType:s,stage:o,originalStyle:l,updatedStyle:u={}}=t;t.modifiedStyle||(t.modifiedStyle=Object.assign(Object.assign({},l),u));const{modifiedStyle:c}=t,h={},d={};if(o==="enter")Object.assign(h,{opacity:0});else if(o==="exit")Object.assign(d,{opacity:0});else if(o==="show")Object.assign(h,{opacity:0}),Object.assign(d,{opacity:(n=hO(a,"opacity"))!==null&&n!==void 0?n:Po("opacity")});else if(o==="hide")Object.assign(h,{opacity:(i=hO(a,"opacity"))!==null&&i!==void 0?i:Po("opacity")}),Object.assign(d,{opacity:0});else if(o==="collapse"){const{collapse:f}=e||{},{target:g,descendants:p,position:v}=f;if(s==="node"){if(p.includes(a.id)){const[y,m,w]=v;Object.assign(d,{x:y,y:m,z:w})}}else if(s==="combo"){if(a.id===g||p.includes(a.id)){const[y,m]=v;Object.assign(d,{x:y,y:m,childrenNode:l.childrenNode})}}else s==="edge"&&Object.assign(d,{sourceNode:c.sourceNode,targetNode:c.targetNode})}else if(o==="expand"){const{expand:f}=e||{},{target:g,descendants:p,position:v}=f;if(s==="node"){if(a.id===g||p.includes(a.id)){const[y,m,w]=v;Object.assign(h,{x:y,y:m,z:w})}}else if(s==="combo"){if(a.id===g||p.includes(a.id)){const[y,m,w]=v;Object.assign(h,{x:y,y:m,z:w,childrenNode:c.childrenNode})}}else s==="edge"&&Object.assign(h,{sourceNode:c.sourceNode,targetNode:c.targetNode})}return[Object.keys(h).length>0?Object.assign({},l,h):l,Object.keys(d).length>0?Object.assign({},c,d):c]}stop(){this.animations.forEach(t=>t.cancel())}clear(){this.tasks=[]}release(){var t,e;const{canvas:n}=this.context,i=(e=(t=n.document)===null||t===void 0?void 0:t.timeline)===null||e===void 0?void 0:e.animationsWithPromises;i&&(n.document.timeline.animationsWithPromises=i.filter(a=>a.playState!=="finished"))}destroy(){this.stop(),this.animations.clear(),this.tasks=[]}}class ZH{constructor(t){this.batchCount=0,this.context=t}emit(t){const{graph:e}=this.context;e.emit(t.type,t)}startBatch(t=!0){this.batchCount++,this.batchCount===1&&this.emit(new Xe(pt.BATCH_START,{initiate:t}))}endBatch(){this.batchCount--,this.batchCount===0&&this.emit(new Xe(pt.BATCH_END))}get isBatching(){return this.batchCount>0}destroy(){this.context=null}}class JH extends Qm{constructor(t){super(t),this.currentTarget=null,this.currentTargetType=null,this.category="behavior",this.forwardCanvasEvents=e=>{const{target:n}=e,i=YH(n);if(!i)return;const{graph:a,canvas:s}=this.context,{type:o,element:l}=i;if("destroyed"in l&&(nl(l)||l.destroyed))return;const{type:u,detail:c,button:h}=e,d=Object.assign(Object.assign({},e),{target:l,targetType:o,originalTarget:n});u===it.POINTER_MOVE&&(this.currentTarget!==l&&(this.currentTarget&&a.emit(`${this.currentTargetType}:${it.POINTER_LEAVE}`,Object.assign(Object.assign({},d),{type:it.POINTER_LEAVE,target:this.currentTarget,targetType:this.currentTargetType})),l&&(Object.assign(d,{type:it.POINTER_ENTER}),a.emit(`${o}:${it.POINTER_ENTER}`,d))),this.currentTarget=l,this.currentTargetType=o),u===it.CLICK&&h===2||(a.emit(`${o}:${u}`,d),a.emit(u,d)),u===it.CLICK&&c===2&&(Object.assign(d,{type:it.DBLCLICK}),a.emit(`${o}:${it.DBLCLICK}`,d),a.emit(it.DBLCLICK,d)),u===it.POINTER_DOWN&&h===2&&(Object.assign(d,{type:it.CONTEXT_MENU,preventDefault:()=>{var f;(f=s.getContainer())===null||f===void 0||f.addEventListener(it.CONTEXT_MENU,g=>g.preventDefault(),{once:!0})}}),a.emit(`${o}:${it.CONTEXT_MENU}`,d),a.emit(it.CONTEXT_MENU,d))},this.forwardContainerEvents=e=>{this.context.graph.emit(e.type,e)},this.forwardEvents(),this.setBehaviors(this.context.options.behaviors||[])}setBehaviors(t){this.setExtensions(t)}forwardEvents(){const t=this.context.canvas.getContainer();t&&[fs.KEY_DOWN,fs.KEY_UP].forEach(n=>{t.addEventListener(n,this.forwardContainerEvents)});const e=this.context.canvas.document;e&&[it.CLICK,it.DBLCLICK,it.POINTER_OVER,it.POINTER_LEAVE,it.POINTER_ENTER,it.POINTER_MOVE,it.POINTER_OUT,it.POINTER_DOWN,it.POINTER_UP,it.CONTEXT_MENU,it.DRAG_START,it.DRAG,it.DRAG_END,it.DRAG_ENTER,it.DRAG_OVER,it.DRAG_LEAVE,it.DROP,it.WHEEL].forEach(n=>{e.addEventListener(n,this.forwardCanvasEvents)})}destroy(){const t=this.context.canvas.getContainer();t&&[fs.KEY_DOWN,fs.KEY_UP].forEach(e=>{t.removeEventListener(e,this.forwardContainerEvents)}),this.context.canvas.document.removeAllEventListeners(),super.destroy()}}var qo=function(r,t){var e={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&t.indexOf(n)<0&&(e[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(e[n[i]]=r[n[i]]);return e};function Li(r,t){const{data:e,style:n}=r,i=qo(r,["data","style"]),{data:a,style:s}=t,o=qo(t,["data","style"]),l=Object.assign(Object.assign({},i),o);return(e||a)&&Object.assign(l,{data:Object.assign(Object.assign({},e),a)}),(n||s)&&Object.assign(l,{style:Object.assign(Object.assign({},n),s)}),l}function by(r){const{data:t,style:e}=r,i=qo(r,["data","style"]);return t&&(i.data=Object.assign({},t)),e&&(i.style=Object.assign({},e)),i}function ls(r={},t={}){const{states:e=[],data:n={},style:i={},children:a=[]}=r,s=qo(r,["states","data","style","children"]),{states:o=[],data:l={},style:u={},children:c=[]}=t,h=qo(t,["states","data","style","children"]),d=(g,p)=>g.length!==p.length?!1:g.every((v,y)=>v===p[y]),f=(g,p)=>{const v=Object.keys(g),y=Object.keys(p);return v.length!==y.length?!1:v.every(m=>g[m]===p[m])};return!(!f(s,h)||!d(a,c)||!d(e,o)||!f(n,l)||!f(i,u))}var QH=function(r,t){var e={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&t.indexOf(n)<0&&(e[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(e[n[i]]=r[n[i]]);return e};function wy(r){const{id:t=J(r),style:e,data:n}=r,i=QH(r,["id","style","data"]),a=Object.assign(Object.assign({},r),{style:Object.assign({},e),data:Object.assign({},n)});return UF(r)?Object.assign({id:t,data:a},i):{id:t,data:a}}function cn(r){return r.data}function tX(r){if(r.hasTreeStructure(nr))return;r.attachTreeStructure(nr);const t=r.getAllEdges();for(const e of t){const{source:n,target:i}=e;r.setParent(i,n,nr)}}class eX{constructor(){this.latestRemovedComboIds=new Set,this.comboIds=new Set,this.changes=[],this.batchCount=0,this.isTraceless=!1,this.enableUpdateNodeLikeHierarchy=!0,this.model=new ln}pushChange(t){if(this.isTraceless)return;const{type:e}=t;if(e===Ee.NodeUpdated||e===Ee.EdgeUpdated||e===Ee.ComboUpdated){const{value:n,original:i}=t;this.changes.push({value:by(n),original:by(i),type:e})}else this.changes.push({value:by(t.value),type:e})}getChanges(){return this.changes}clearChanges(){this.changes=[]}batch(t){this.batchCount++,this.model.batch(t),this.batchCount--}isBatching(){return this.batchCount>0}silence(t){this.isTraceless=!0,t(),this.isTraceless=!1}isCombo(t){return this.comboIds.has(t)||this.latestRemovedComboIds.has(t)}getData(){return{nodes:this.getNodeData(),edges:this.getEdgeData(),combos:this.getComboData()}}getNodeData(t){return this.model.getAllNodes().reduce((e,n)=>{const i=cn(n);return this.isCombo(J(i))||(t===void 0||t.includes(J(i)))&&e.push(i),e},[])}getEdgeDatum(t){return cn(this.model.getEdge(t))}getEdgeData(t){return this.model.getAllEdges().reduce((e,n)=>{const i=cn(n);return(t===void 0||t.includes(J(i)))&&e.push(i),e},[])}getComboData(t){return this.model.getAllNodes().reduce((e,n)=>{const i=cn(n);return this.isCombo(J(i))&&(t===void 0||t.includes(J(i)))&&e.push(i),e},[])}getRootsData(t=nr){return this.model.getRoots(t).map(cn)}getAncestorsData(t,e){const{model:n}=this;return!n.hasNode(t)||!n.hasTreeStructure(e)?[]:n.getAncestors(t,e).map(cn)}getDescendantsData(t){const e=this.getElementDataById(t),n=[];return Ta(e,i=>{i!==e&&n.push(i)},i=>this.getChildrenData(J(i)),"TB"),n}getParentData(t,e){const{model:n}=this;if(!e){ii.warn("The hierarchy structure key is not specified");return}if(!n.hasNode(t)||!n.hasTreeStructure(e))return;const i=n.getParent(t,e);return i?cn(i):void 0}getChildrenData(t){const e=this.getElementType(t)==="node"?nr:ue,{model:n}=this;return!n.hasNode(t)||!n.hasTreeStructure(e)?[]:n.getChildren(t,e).map(cn)}getElementsDataByType(t){return t==="node"?this.getNodeData():t==="edge"?this.getEdgeData():t==="combo"?this.getComboData():[]}getElementDataById(t){return this.getElementType(t)==="edge"?this.getEdgeDatum(t):this.getNodeLikeDatum(t)}getNodeLikeDatum(t){const e=this.model.getNode(t);return cn(e)}getNodeLikeData(t){return this.model.getAllNodes().reduce((e,n)=>{const i=cn(n);return t?t.includes(J(i))&&e.push(i):e.push(i),e},[])}getElementDataByState(t,e){return this.getElementsDataByType(t).filter(i=>{var a;return(a=i.states)===null||a===void 0?void 0:a.includes(e)})}getElementState(t){var e;return((e=this.getElementDataById(t))===null||e===void 0?void 0:e.states)||[]}hasNode(t){return this.model.hasNode(t)&&!this.isCombo(t)}hasEdge(t){return this.model.hasEdge(t)}hasCombo(t){return this.model.hasNode(t)&&this.isCombo(t)}getRelatedEdgesData(t,e="both"){return this.model.getRelatedEdges(t,e).map(cn)}getNeighborNodesData(t){return this.model.getNeighbors(t).map(cn)}setData(t){const{nodes:e=[],edges:n=[],combos:i=[]}=t,{nodes:a,edges:s,combos:o}=this.getData(),l=Xi(a,e,h=>J(h),ls),u=Xi(s,n,h=>J(h),ls),c=Xi(o,i,h=>J(h),ls);this.batch(()=>{const h={nodes:l.enter,edges:u.enter,combos:c.enter};this.addData(h),this.computeZIndex(h,"add",!0);const d={nodes:l.update,edges:u.update,combos:c.update};this.updateData(d),this.computeZIndex(d,"update",!0);const f={nodes:l.exit.map(J),edges:u.exit.map(J),combos:c.exit.map(J)};this.removeData(f)})}addData(t){const{nodes:e,edges:n,combos:i}=t;this.batch(()=>{this.addComboData(i),this.addNodeData(e),this.addEdgeData(n)}),this.computeZIndex(t,"add")}addNodeData(t=[]){t.length&&(this.model.addNodes(t.map(e=>(this.pushChange({value:e,type:Ee.NodeAdded}),wy(e)))),this.updateNodeLikeHierarchy(t),this.computeZIndex({nodes:t},"add"))}addEdgeData(t=[]){t.length&&(this.model.addEdges(t.map(e=>(this.pushChange({value:e,type:Ee.EdgeAdded}),wy(e)))),this.computeZIndex({edges:t},"add"))}addComboData(t=[]){if(!t.length)return;const{model:e}=this;e.hasTreeStructure(ue)||e.attachTreeStructure(ue),e.addNodes(t.map(n=>(this.comboIds.add(J(n)),this.pushChange({value:n,type:Ee.ComboAdded}),wy(n)))),this.updateNodeLikeHierarchy(t),this.computeZIndex({combos:t},"add")}addChildrenData(t,e){const n=this.getNodeLikeDatum(t),i=e.map(J);this.addNodeData(e),this.updateNodeData([{id:t,children:[...n.children||[],...i]}]),this.addEdgeData(i.map(a=>({source:t,target:a})))}computeZIndex(t,e,n=!1){!n&&this.isBatching()||this.batch(()=>{const{nodes:i=[],edges:a=[],combos:s=[]}=t;s.forEach(o=>{var l,u,c;const h=J(o);if(e==="add"&&Et((l=o.style)===null||l===void 0?void 0:l.zIndex)||e==="update"&&!("combo"in o))return;const d=this.getParentData(h,ue),f=d?((c=(u=d.style)===null||u===void 0?void 0:u.zIndex)!==null&&c!==void 0?c:0)+1:0;this.preventUpdateNodeLikeHierarchy(()=>{this.updateComboData([{id:h,style:{zIndex:f}}])})}),i.forEach(o=>{var l,u,c;const h=J(o);if(e==="add"&&Et((l=o.style)===null||l===void 0?void 0:l.zIndex)||e==="update"&&!("combo"in o)&&!("children"in o))return;let d=0;const f=this.getParentData(h,ue);if(f)d=(((u=f.style)===null||u===void 0?void 0:u.zIndex)||0)+1;else{const g=this.getParentData(h,nr);g&&(d=((c=g==null?void 0:g.style)===null||c===void 0?void 0:c.zIndex)||0)}this.preventUpdateNodeLikeHierarchy(()=>{this.updateNodeData([{id:h,style:{zIndex:d}}])})}),a.forEach(o=>{var l,u,c,h,d;if(Et((l=o.style)===null||l===void 0?void 0:l.zIndex))return;let{id:f,source:g,target:p}=o;if(!f)f=J(o);else{const m=this.getEdgeDatum(f);g=m.source,p=m.target}if(!g||!p)return;const v=((c=(u=this.getNodeLikeDatum(g))===null||u===void 0?void 0:u.style)===null||c===void 0?void 0:c.zIndex)||0,y=((d=(h=this.getNodeLikeDatum(p))===null||h===void 0?void 0:h.style)===null||d===void 0?void 0:d.zIndex)||0;this.updateEdgeData([{id:J(o),style:{zIndex:Math.max(v,y)-1}}])})})}getFrontZIndex(t){var e;const n=this.getElementType(t),i=this.getElementDataById(t),a=this.getData();if(Object.assign(a,{[`${n}s`]:a[`${n}s`].filter(s=>J(s)!==t)}),n==="combo"&&!Un(i)){const s=new Set(this.getAncestorsData(t,ue).map(J));a.nodes=a.nodes.filter(o=>!s.has(J(o))),a.combos=a.combos.filter(o=>!s.has(J(o))),a.edges=a.edges.filter(({source:o,target:l})=>!s.has(o)&&!s.has(l))}return Math.max(((e=i.style)===null||e===void 0?void 0:e.zIndex)||0,0,...Object.values(a).flat().map(s=>{var o;return(((o=s==null?void 0:s.style)===null||o===void 0?void 0:o.zIndex)||0)+1}))}updateNodeLikeHierarchy(t){if(!this.enableUpdateNodeLikeHierarchy)return;const{model:e}=this;t.forEach(n=>{const i=J(n),a=Gl(n);a!==void 0&&(e.hasTreeStructure(ue)||e.attachTreeStructure(ue),a===null&&this.refreshComboData(i),this.setParent(i,Gl(n),ue));const s=n.children||[];if(s.length){e.hasTreeStructure(nr)||e.attachTreeStructure(nr);const o=s.filter(l=>e.hasNode(l));o.forEach(l=>this.setParent(l,i,nr)),o.length!==s.length&&this.updateNodeData([{id:i,children:o}])}})}preventUpdateNodeLikeHierarchy(t){this.enableUpdateNodeLikeHierarchy=!1,t(),this.enableUpdateNodeLikeHierarchy=!0}updateData(t){const{nodes:e,edges:n,combos:i}=t;this.batch(()=>{this.updateNodeData(e),this.updateComboData(i),this.updateEdgeData(n)}),this.computeZIndex(t,"update")}updateNodeData(t=[]){if(!t.length)return;const{model:e}=this;this.batch(()=>{const n=[];t.forEach(i=>{const a=J(i),s=cn(e.getNode(a));if(ls(s,i))return;const o=Li(s,i);this.pushChange({value:o,original:s,type:Ee.NodeUpdated}),e.mergeNodeData(a,o),n.push(o)}),this.updateNodeLikeHierarchy(n)}),this.computeZIndex({nodes:t},"update")}refreshData(){const{nodes:t,edges:e,combos:n}=this.getData();t.forEach(i=>{this.pushChange({value:i,original:i,type:Ee.NodeUpdated})}),e.forEach(i=>{this.pushChange({value:i,original:i,type:Ee.EdgeUpdated})}),n.forEach(i=>{this.pushChange({value:i,original:i,type:Ee.ComboUpdated})})}syncNodeLikeDatum(t){const{model:e}=this,n=J(t);if(!e.hasNode(n))return;const i=cn(e.getNode(n)),a=Li(i,t);e.mergeNodeData(n,a)}syncEdgeDatum(t){const{model:e}=this,n=J(t);if(!e.hasEdge(n))return;const i=cn(e.getEdge(n)),a=Li(i,t);e.mergeEdgeData(n,a)}updateEdgeData(t=[]){if(!t.length)return;const{model:e}=this;this.batch(()=>{t.forEach(n=>{const i=J(n),a=cn(e.getEdge(i));if(ls(a,n))return;n.source&&a.source!==n.source&&e.updateEdgeSource(i,n.source),n.target&&a.target!==n.target&&e.updateEdgeTarget(i,n.target);const s=Li(a,n);this.pushChange({value:s,original:a,type:Ee.EdgeUpdated}),e.mergeEdgeData(i,s)})}),this.computeZIndex({edges:t},"update")}updateComboData(t=[]){if(!t.length)return;const{model:e}=this;e.batch(()=>{const n=[];t.forEach(i=>{const a=J(i),s=cn(e.getNode(a));if(ls(s,i))return;const o=Li(s,i);this.pushChange({value:o,original:s,type:Ee.ComboUpdated}),e.mergeNodeData(a,o),n.push(o)}),this.updateNodeLikeHierarchy(n)}),this.computeZIndex({combos:t},"update")}setParent(t,e,n,i=!0){if(t===e)return;const a=this.getNodeLikeDatum(t),s=Gl(a);if(s!==e&&n===ue){const o={id:t,combo:e};this.isCombo(t)?this.syncNodeLikeDatum(o):this.syncNodeLikeDatum(o)}this.model.setParent(t,e,n),i&&n===ue&&oL([s,e]).forEach(o=>{o!==void 0&&this.refreshComboData(o)})}refreshComboData(t){const e=this.getComboData([t])[0],n=this.getAncestorsData(t,ue);e&&this.pushChange({value:e,original:e,type:Ee.ComboUpdated}),n.forEach(i=>{this.pushChange({value:i,original:i,type:Ee.ComboUpdated})})}getElementPosition(t){const e=this.getElementDataById(t);return an(e)}translateNodeLikeBy(t,e){this.isCombo(t)?this.translateComboBy(t,e):this.translateNodeBy(t,e)}translateNodeLikeTo(t,e){this.isCombo(t)?this.translateComboTo(t,e):this.translateNodeTo(t,e)}translateNodeBy(t,e){const n=this.getElementPosition(t),i=zt(n,[...e,0].slice(0,3));this.translateNodeTo(t,i)}translateNodeTo(t,e){const[n=0,i=0,a=0]=e;this.preventUpdateNodeLikeHierarchy(()=>{this.updateNodeData([{id:t,style:{x:n,y:i,z:a}}])})}translateComboBy(t,e){const[n=0,i=0,a=0]=e;if([n,i,a].some(isNaN)||[n,i,a].every(l=>l===0))return;const s=this.getComboData([t])[0];if(!s)return;const o=new Set;Ta(s,l=>{const u=J(l);if(o.has(u))return;o.add(u);const[c,h,d]=an(l),f=Li(l,{style:{x:c+n,y:h+i,z:d+a}});this.pushChange({value:f,original:l,type:this.isCombo(u)?Ee.ComboUpdated:Ee.NodeUpdated}),this.model.mergeNodeData(u,f)},l=>this.getChildrenData(J(l)),"BT")}translateComboTo(t,e){var n;if(e.some(isNaN))return;const[i=0,a=0,s=0]=e,o=(n=this.getComboData([t]))===null||n===void 0?void 0:n[0];if(!o)return;const[l,u,c]=an(o),h=i-l,d=a-u,f=s-c;Ta(o,g=>{const p=J(g),[v,y,m]=an(g),w=Li(g,{style:{x:v+h,y:y+d,z:m+f}});this.pushChange({value:w,original:g,type:this.isCombo(p)?Ee.ComboUpdated:Ee.NodeUpdated}),this.model.mergeNodeData(p,w)},g=>this.getChildrenData(J(g)),"BT")}removeData(t){const{nodes:e,edges:n,combos:i}=t;this.batch(()=>{this.removeEdgeData(n),this.removeNodeData(e),this.removeComboData(i),this.latestRemovedComboIds=new Set(i)})}removeNodeData(t=[]){t.length&&this.batch(()=>{t.forEach(e=>{this.removeEdgeData(this.getRelatedEdgesData(e).map(J)),this.pushChange({value:this.getNodeData([e])[0],type:Ee.NodeRemoved}),this.removeNodeLikeHierarchy(e)}),this.model.removeNodes(t)})}removeEdgeData(t=[]){t.length&&(t.forEach(e=>this.pushChange({value:this.getEdgeData([e])[0],type:Ee.EdgeRemoved})),this.model.removeEdges(t))}removeComboData(t=[]){t.length&&this.batch(()=>{t.forEach(e=>{this.pushChange({value:this.getComboData([e])[0],type:Ee.ComboRemoved}),this.removeNodeLikeHierarchy(e),this.comboIds.delete(e)}),this.model.removeNodes(t)})}removeNodeLikeHierarchy(t){if(this.model.hasTreeStructure(ue)){const e=Gl(this.getNodeLikeDatum(t));this.setParent(t,void 0,ue,!1),this.model.getChildren(t,ue).forEach(n=>{const i=cn(n),a=J(i);this.setParent(J(i),e,ue,!1);const s=Li(i,{id:J(i),combo:e});this.pushChange({value:s,original:i,type:this.isCombo(a)?Ee.ComboUpdated:Ee.NodeUpdated}),this.model.mergeNodeData(J(i),s)}),Rt(e)||this.refreshComboData(e)}}getElementType(t){if(this.model.hasNode(t))return this.isCombo(t)?"combo":"node";if(this.model.hasEdge(t))return"edge";throw new Error(mi(`Unknown element type of id: ${t}`))}destroy(){const{model:t}=this,e=t.getAllNodes(),n=t.getAllEdges();t.removeEdges(n.map(i=>i.id)),t.removeNodes(e.map(i=>i.id)),this.context={}}}var eo=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(s){s(a)})}return new(e||(e=Promise))(function(a,s){function o(c){try{u(n.next(c))}catch(h){s(h)}}function l(c){try{u(n.throw(c))}catch(h){s(h)}}function u(c){c.done?a(c.value):i(c.value).then(o,l)}u((n=n.apply(r,t||[])).next())})};class nX{constructor(t){this.elementMap={},this.shapeTypeMap={},this.paletteStyle={},this.defaultStyle={},this.stateStyle={},this.visibilityCache=new WeakMap,this.context=t}init(){this.initContainer()}initContainer(){if(!this.container||this.container.destroyed){const{canvas:t}=this.context;this.container=t.appendChild(new on({className:"elements"}))}}emit(t,e){e.silence||rn(this.context.graph,t)}forEachElementData(t){Ba.forEach(e=>{const n=this.context.model.getElementsDataByType(e);t(e,n)})}getElementType(t,e){var n;const{options:i,graph:a}=this.context,s=((n=i[t])===null||n===void 0?void 0:n.type)||e.type;return s?typeof s=="string"?s:s.call(a,e):t==="edge"?"line":"circle"}getTheme(t){return UT(this.context.options)[t]||{}}getThemeStyle(t){return this.getTheme(t).style||{}}getThemeStateStyle(t,e){const{state:n={}}=this.getTheme(t);return Object.assign({},...e.map(i=>n[i]||{}))}computePaletteStyle(){const{options:t}=this.context;this.paletteStyle={},this.forEachElementData((e,n)=>{var i,a;const s=Object.assign({},fw((i=this.getTheme(e))===null||i===void 0?void 0:i.palette),fw((a=t[e])===null||a===void 0?void 0:a.palette));s!=null&&s.field&&Object.assign(this.paletteStyle,jB(n,s))})}getPaletteStyle(t,e){const n=this.paletteStyle[e];return n?t==="edge"?{stroke:n}:{fill:n}:{}}computeElementDefaultStyle(t,e){var n;const{options:i}=this.context,a=((n=i[t])===null||n===void 0?void 0:n.style)||{};"transform"in a&&Array.isArray(a.transform)&&(a.transform=[...a.transform]),this.defaultStyle[J(e.datum)]=dw(a,e)}computeElementsDefaultStyle(t){const{graph:e}=this.context;this.forEachElementData((n,i)=>{const a=i.length;for(let s=0;s<a;s++){const o=i[s];(t===void 0||t.includes(J(o)))&&this.computeElementDefaultStyle(n,{datum:o,graph:e})}})}getDefaultStyle(t){return this.defaultStyle[t]||{}}getElementState(t){try{const{model:e}=this.context;return e.getElementState(t)}catch{return[]}}getElementStateStyle(t,e,n){var i,a;const{options:s}=this.context,o=((a=(i=s[t])===null||i===void 0?void 0:i.state)===null||a===void 0?void 0:a[e])||{};return dw(o,n)}computeElementStatesStyle(t,e,n){this.stateStyle[J(n.datum)]=Object.assign({},...e.map(i=>this.getElementStateStyle(t,i,n)))}computeElementsStatesStyle(t){const{graph:e}=this.context;this.forEachElementData((n,i)=>{const a=i.length;for(let s=0;s<a;s++){const o=i[s];if(t===void 0||t.includes(J(o))){const l=this.getElementState(J(o));this.computeElementStatesStyle(n,l,{datum:o,graph:e})}}})}getStateStyle(t){return this.stateStyle[t]||{}}computeStyle(t,e){t&&["translate","zIndex"].includes(t)||(this.computePaletteStyle(),this.computeElementsDefaultStyle(e),this.computeElementsStatesStyle(e))}getElement(t){return this.elementMap[t]}getNodes(){return this.context.model.getNodeData().map(({id:t})=>this.elementMap[t])}getEdges(){return this.context.model.getEdgeData().map(t=>this.elementMap[J(t)])}getCombos(){return this.context.model.getComboData().map(({id:t})=>this.elementMap[t])}getElementComputedStyle(t,e){const n=J(e),i=this.getThemeStyle(t),a=this.getPaletteStyle(t,n),s=e.style||{},o=this.getDefaultStyle(n),l=this.getThemeStateStyle(t,this.getElementState(n)),u=this.getStateStyle(n),c=Object.assign({},i,a,s,o,l,u);if(t==="combo"){const h=this.context.model.getChildrenData(n),f=!!c.collapsed?[]:h.map(J).filter(g=>this.getElement(g));Object.assign(c,{childrenNode:f,childrenData:h})}return c}getDrawData(t){this.init();const e=this.computeChangesAndDrawData(t);if(!e)return null;const{type:n="draw",stage:i=n}=t;return this.markDestroyElement(e.drawData),this.computeStyle(i),{type:n,stage:i,data:e}}draw(t={animation:!0}){const e=this.getDrawData(t);if(!e)return;const{data:{drawData:{add:n,update:i,remove:a}}}=e;return this.destroyElements(a,t),this.createElements(n,t),this.updateElements(i,t),this.setAnimationTask(t,e)}preLayoutDraw(){return eo(this,arguments,void 0,function*(t={animation:!0}){var e,n;const i=this.getDrawData(t);if(!i)return;const{data:{drawData:a}}=i;yield(n=(e=this.context.layout)===null||e===void 0?void 0:e.preLayout)===null||n===void 0?void 0:n.call(e,a);const{add:s,update:o,remove:l}=a;return this.destroyElements(l,t),this.createElements(s,t),this.updateElements(o,t),this.setAnimationTask(t,i)})}setAnimationTask(t,e){const{animation:n,silence:i}=t,{data:{dataChanges:a,drawData:s},stage:o,type:l}=e;return this.context.animation.animate(n,i?{}:{before:()=>this.emit(new Xe(pt.BEFORE_DRAW,{dataChanges:a,animation:n,stage:o,render:l==="render"}),t),beforeAnimate:u=>this.emit(new br(pt.BEFORE_ANIMATE,qn.DRAW,u,s),t),afterAnimate:u=>this.emit(new br(pt.AFTER_ANIMATE,qn.DRAW,u,s),t),after:()=>this.emit(new Xe(pt.AFTER_DRAW,{dataChanges:a,animation:n,stage:o,render:l==="render",firstRender:this.context.graph.rendered===!1}),t)})}computeChangesAndDrawData(t){const{model:e}=this.context,n=e.getChanges(),i=B1(n);if(i.length===0)return null;const{NodeAdded:a=[],NodeUpdated:s=[],NodeRemoved:o=[],EdgeAdded:l=[],EdgeUpdated:u=[],EdgeRemoved:c=[],ComboAdded:h=[],ComboUpdated:d=[],ComboRemoved:f=[]}=lc(i,y=>y.type),g=y=>new Map(y.map(m=>{const w=m.value;return[J(w),w]})),p={add:{nodes:g(a),edges:g(l),combos:g(h)},update:{nodes:g(s),edges:g(u),combos:g(d)},remove:{nodes:g(o),edges:g(c),combos:g(f)}},v=this.transformData(p,t);return e.clearChanges(),{dataChanges:n,drawData:v}}transformData(t,e){const n=this.context.transform.getTransformInstance();return Object.values(n).reduce((i,a)=>a.beforeDraw(i,e),t)}createElement(t,e,n){var i;const a=J(e);if(this.getElement(a))return;const o=this.getElementType(t,e),l=this.getElementComputedStyle(t,e),u=Ei(t,o);if(!u)return ii.warn(`The element ${o} of ${t} is not registered.`);this.emit(new os(pt.BEFORE_ELEMENT_CREATE,t,e),n);const c=this.container.appendChild(new u({id:a,context:this.context,style:l}));this.shapeTypeMap[a]=o,this.elementMap[a]=c;const{stage:h="enter"}=n;(i=this.context.animation)===null||i===void 0||i.add({element:c,elementType:t,stage:h,originalStyle:Object.assign({},c.attributes),updatedStyle:l},{after:()=>{var d;this.emit(new os(pt.AFTER_ELEMENT_CREATE,t,e),n),(d=c.onCreate)===null||d===void 0||d.call(c)}})}createElements(t,e){const{nodes:n,edges:i,combos:a}=t;[["node",n],["combo",a],["edge",i]].forEach(([o,l])=>{l.forEach(u=>this.createElement(o,u,e))})}getUpdateStageStyle(t,e,n){const{stage:i="update"}=n;if(i==="translate")if(t==="node"||t==="combo"){const{style:{x:a=0,y:s=0,z:o=0}={}}=e;return{x:a,y:s,z:o}}else return{};return this.getElementComputedStyle(t,e)}updateElement(t,e,n){var i;const a=J(e),{stage:s="update"}=n,o=this.getElement(a);if(!o)return()=>null;this.emit(new os(pt.BEFORE_ELEMENT_UPDATE,t,e),n);const l=this.getElementType(t,e),u=this.getUpdateStageStyle(t,e,n);this.shapeTypeMap[a]!==l&&(o.destroy(),delete this.shapeTypeMap[a],delete this.elementMap[a],this.createElement(t,e,{animation:!1,silence:!0}));const c=s!=="visibility"?s:u.visibility==="hidden"?"hide":"show";c==="hide"&&delete u.visibility,(i=this.context.animation)===null||i===void 0||i.add({element:o,elementType:t,stage:c,originalStyle:Object.assign({},o.attributes),updatedStyle:u},{before:()=>{const h=this.elementMap[a];s!=="collapse"&&om(h,u),s==="visibility"&&(XH(h,"opacity")||HH(h,"opacity"),this.visibilityCache.set(h,c==="show"?"visible":"hidden"),c==="show"&&Da(h,"visible"))},after:()=>{var h;const d=this.elementMap[a];s==="collapse"&&om(d,u),c==="hide"&&Da(d,this.visibilityCache.get(d)),this.emit(new os(pt.AFTER_ELEMENT_UPDATE,t,e),n),(h=d.onUpdate)===null||h===void 0||h.call(d)}})}updateElements(t,e){const{nodes:n,edges:i,combos:a}=t;[["node",n],["combo",a],["edge",i]].forEach(([o,l])=>{l.forEach(u=>this.updateElement(o,u,e))})}markDestroyElement(t){Object.values(t.remove).forEach(e=>{e.forEach(n=>{const i=J(n),a=this.getElement(i);a&&F4(a)})})}destroyElement(t,e,n){var i;const{stage:a="exit"}=n,s=J(e),o=this.elementMap[s];if(!o)return()=>null;this.emit(new os(pt.BEFORE_ELEMENT_DESTROY,t,e),n),(i=this.context.animation)===null||i===void 0||i.add({element:o,elementType:t,stage:a,originalStyle:Object.assign({},o.attributes),updatedStyle:{}},{after:()=>{var l;this.clearElement(s),o.destroy(),(l=o.onDestroy)===null||l===void 0||l.call(o),this.emit(new os(pt.AFTER_ELEMENT_DESTROY,t,e),n)}})}destroyElements(t,e){const{nodes:n,edges:i,combos:a}=t;[["combo",a],["edge",i],["node",n]].forEach(([o,l])=>{l.forEach(u=>this.destroyElement(o,u,e))})}clearElement(t){delete this.paletteStyle[t],delete this.defaultStyle[t],delete this.stateStyle[t],delete this.elementMap[t],delete this.shapeTypeMap[t]}alignLayoutResultToElement(t,e){var n,i;const a=(n=t.nodes)===null||n===void 0?void 0:n.find(s=>J(s)===e);if(a){const s=an(this.context.model.getNodeLikeDatum(e)),o=an(a),l=le(s,o);(i=t.nodes)===null||i===void 0||i.forEach(u=>{var c,h,d;!((c=u.style)===null||c===void 0)&&c.x&&(u.style.x+=l[0]),!((h=u.style)===null||h===void 0)&&h.y&&(u.style.y+=l[1]),!((d=u.style)===null||d===void 0)&&d.z&&(u.style.z+=l[2]||0)})}}collapseNode(t,e){return eo(this,void 0,void 0,function*(){var n;const{animation:i}=e,{model:a}=this.context,s=this.computeChangesAndDrawData({stage:"collapse",animation:i});if(!s)return;const{drawData:o}=s,{add:l,remove:u,update:c}=o;this.markDestroyElement(o);const h={animation:i,stage:"collapse",data:o};this.destroyElements(u,h),this.createElements(l,h),this.updateElements(c,h),yield(n=this.context.animation.animate(i,{beforeAnimate:d=>this.emit(new br(pt.BEFORE_ANIMATE,qn.COLLAPSE,d,o),h),afterAnimate:d=>this.emit(new br(pt.AFTER_ANIMATE,qn.COLLAPSE,d,o),h)},{collapse:{target:t,descendants:Array.from(u.nodes).map(([,d])=>J(d)),position:an(c.nodes.get(t))}}))===null||n===void 0?void 0:n.finished})}expandNode(t,e){return eo(this,void 0,void 0,function*(){var n;const{model:i,layout:a}=this.context,{animation:s,align:o}=e,l=an(i.getNodeData([t])[0]),u=this.computeChangesAndDrawData({stage:"expand",animation:s});if(this.createElements(u.drawData.add,{animation:!1,stage:"expand",target:t}),this.context.animation.clear(),this.computeStyle("expand"),!u)return;const{drawData:c}=u,{update:h,add:d}=c,f={animation:s,stage:"expand",data:c};d.edges.forEach(g=>h.edges.set(J(g),g)),d.nodes.forEach(g=>h.nodes.set(J(g),g)),this.updateElements(h,f),yield(n=this.context.animation.animate(s,{beforeAnimate:g=>this.emit(new br(pt.BEFORE_ANIMATE,qn.EXPAND,g,c),f),afterAnimate:g=>this.emit(new br(pt.AFTER_ANIMATE,qn.EXPAND,g,c),f)},{expand:{target:t,descendants:Array.from(d.nodes).map(([,g])=>J(g)),position:l}}))===null||n===void 0?void 0:n.finished})}collapseCombo(t,e){return eo(this,void 0,void 0,function*(){var n;const{model:i,element:a}=this.context;if(i.getAncestorsData(t,ue).some(p=>Un(p)))return;const s=a.getElement(t),o=s.getComboPosition(Object.assign(Object.assign({},s.attributes),{collapsed:!0})),l=this.computeChangesAndDrawData({stage:"collapse",animation:e});if(!l)return;const{dataChanges:u,drawData:c}=l;this.markDestroyElement(c);const{update:h,remove:d}=c,f={animation:e,stage:"collapse",data:c};this.destroyElements(d,f),this.updateElements(h,f);const g=p=>Array.from(p).map(([,v])=>J(v));yield(n=this.context.animation.animate(e,{before:()=>this.emit(new Xe(pt.BEFORE_DRAW,{dataChanges:u,animation:e}),f),beforeAnimate:p=>this.emit(new br(pt.BEFORE_ANIMATE,qn.COLLAPSE,p,c),f),afterAnimate:p=>this.emit(new br(pt.AFTER_ANIMATE,qn.COLLAPSE,p,c),f),after:()=>this.emit(new Xe(pt.AFTER_DRAW,{dataChanges:u,animation:e}),f)},{collapse:{target:t,descendants:[...g(d.nodes),...g(d.combos)],position:o}}))===null||n===void 0?void 0:n.finished})}expandCombo(t,e){return eo(this,void 0,void 0,function*(){var n;const{model:i}=this.context,a=an(i.getComboData([t])[0]);this.computeStyle("expand");const s=this.computeChangesAndDrawData({stage:"expand",animation:e});if(!s)return;const{dataChanges:o,drawData:l}=s,{add:u,update:c}=l,h={animation:e,stage:"expand",data:l,target:t};this.createElements(u,h),this.updateElements(c,h);const d=f=>Array.from(f).map(([,g])=>J(g));yield(n=this.context.animation.animate(e,{before:()=>this.emit(new Xe(pt.BEFORE_DRAW,{dataChanges:o,animation:e}),h),beforeAnimate:f=>this.emit(new br(pt.BEFORE_ANIMATE,qn.EXPAND,f,l),h),afterAnimate:f=>this.emit(new br(pt.AFTER_ANIMATE,qn.EXPAND,f,l),h),after:()=>this.emit(new Xe(pt.AFTER_DRAW,{dataChanges:o,animation:e}),h)},{expand:{target:t,descendants:[...d(u.nodes),...d(u.combos)],position:a}}))===null||n===void 0?void 0:n.finished})}clear(){this.container.destroy(),this.initContainer(),this.elementMap={},this.shapeTypeMap={},this.defaultStyle={},this.stateStyle={},this.paletteStyle={}}destroy(){this.clear(),this.container.destroy(),this.context={}}}var us=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(s){s(a)})}return new(e||(e=Promise))(function(a,s){function o(c){try{u(n.next(c))}catch(h){s(h)}}function l(c){try{u(n.throw(c))}catch(h){s(h)}}function u(c){c.done?a(c.value):i(c.value).then(o,l)}u((n=n.apply(r,t||[])).next())})},rX=function(r,t){var e={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&t.indexOf(n)<0&&(e[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(e[n[i]]=r[n[i]]);return e};class iX{get presetOptions(){return{animation:!!YT(this.context.options,!0)}}get options(){const{options:t}=this.context;return t.layout}constructor(t){this.instances=[],this.context=t}getLayoutInstance(){return this.instances}preLayout(t){return us(this,void 0,void 0,function*(){var e,n,i,a;const{graph:s,model:o}=this.context,{add:l}=t;rn(s,new Xe(pt.BEFORE_LAYOUT,{type:"pre"}));const u=yield(e=this.context.layout)===null||e===void 0?void 0:e.simulate();(n=u==null?void 0:u.nodes)===null||n===void 0||n.forEach(c=>{const h=J(c),d=l.nodes.get(h);o.syncNodeLikeDatum(c),d&&Object.assign(d.style,c.style)}),(i=u==null?void 0:u.edges)===null||i===void 0||i.forEach(c=>{const h=J(c),d=l.edges.get(h);o.syncEdgeDatum(c),d&&Object.assign(d.style,c.style)}),(a=u==null?void 0:u.combos)===null||a===void 0||a.forEach(c=>{const h=J(c),d=l.combos.get(h);o.syncNodeLikeDatum(c),d&&Object.assign(d.style,c.style)}),rn(s,new Xe(pt.AFTER_LAYOUT,{type:"pre"})),this.transformDataAfterLayout("pre",t)})}postLayout(){return us(this,arguments,void 0,function*(t=this.options){if(!t)return;const e=Array.isArray(t)?t:[t],{graph:n}=this.context;rn(n,new Xe(pt.BEFORE_LAYOUT,{type:"post"}));for(let i=0;i<e.length;i++){const a=e[i],s=this.getLayoutData(a),o=Object.assign(Object.assign({},this.presetOptions),a);rn(n,new Xe(pt.BEFORE_STAGE_LAYOUT,{options:o,index:i}));const l=yield this.stepLayout(s,o,i);rn(n,new Xe(pt.AFTER_STAGE_LAYOUT,{options:o,index:i})),a.animation||this.updateElementPosition(l,!1)}rn(n,new Xe(pt.AFTER_LAYOUT,{type:"post"})),this.transformDataAfterLayout("post")})}transformDataAfterLayout(t,e){const n=this.context.transform.getTransformInstance();Object.values(n).forEach(i=>i.afterLayout(t,e))}simulate(){return us(this,void 0,void 0,function*(){if(!this.options)return{};const t=Array.isArray(this.options)?this.options:[this.options];let e={};for(let n=0;n<t.length;n++){const i=t[n],a=this.getLayoutData(i);e=yield this.stepLayout(a,Object.assign(Object.assign(Object.assign({},this.presetOptions),i),{animation:!1}),n)}return e})}stepLayout(t,e,n){return us(this,void 0,void 0,function*(){return W4(e)?yield this.treeLayout(t,e,n):yield this.graphLayout(t,e,n)})}graphLayout(t,e,n){return us(this,void 0,void 0,function*(){const{animation:i,enableWorker:a,iterations:s=300}=e,o=this.initGraphLayout(e);if(!o)return{};if(this.instances[n]=o,this.instance=o,a){const u=o;return this.supervisor=new CW(u.graphData2LayoutModel(t),u.instance,{iterations:s}),yu(yield this.supervisor.execute())}if(fm(o))return i?yield o.execute(t,{onTick:u=>{this.updateElementPosition(u,!1)}}):(o.execute(t),o.stop(),o.tick(s));const l=yield o.execute(t);if(i){const u=this.updateElementPosition(l,i);yield u==null?void 0:u.finished}return l})}treeLayout(t,e,n){return us(this,void 0,void 0,function*(){const{type:i,animation:a}=e,s=Ei("layout",i);if(!s)return{};const{nodes:o=[],edges:l=[]}=t,u=new ln({nodes:o.map(g=>({id:J(g),data:g.data||{}})),edges:l.map(g=>({id:J(g),source:g.source,target:g.target,data:g.data||{}}))});tX(u);const c={nodes:[],edges:[]},h={nodes:[],edges:[]};u.getRoots(nr).forEach(g=>{Ta(g,w=>{w.children=u.getSuccessors(w.id)},w=>u.getSuccessors(w.id),"TB");const p=s(g,e),{x:v,y,z:m=0}=p;Ta(p,w=>{const{id:S,x:_,y:k,z:T=0}=w;c.nodes.push({id:S,style:{x:v,y,z:m}}),h.nodes.push({id:S,style:{x:_,y:k,z:T}})},w=>w.children,"TB")});const f=this.inferTreeLayoutOffset(h);if(dO(h,f),a){dO(c,f),this.updateElementPosition(c,!1);const g=this.updateElementPosition(h,a);yield g==null?void 0:g.finished}return h})}inferTreeLayoutOffset(t){var e;let[n,i]=[1/0,-1/0],[a,s]=[1/0,-1/0];(e=t.nodes)===null||e===void 0||e.forEach(p=>{const{x:v=0,y=0}=p.style||{};n=Math.min(n,v),i=Math.max(i,v),a=Math.min(a,y),s=Math.max(s,y)});const{canvas:o}=this.context,l=o.getSize(),[u,c]=o.getCanvasByViewport([0,0]),[h,d]=o.getCanvasByViewport(l);if(n>=u&&i<=h&&a>=c&&s<=d)return[0,0];const f=(u+h)/2,g=(c+d)/2;return[f-(n+i)/2,g-(a+s)/2]}stopLayout(){this.instance&&fm(this.instance)&&(this.instance.stop(),this.instance=void 0),this.supervisor&&(this.supervisor.stop(),this.supervisor=void 0),this.animationResult&&(this.animationResult.finish(),this.animationResult=void 0)}getLayoutData(t){const{nodeFilter:e=()=>!0,preLayout:n=!1,isLayoutInvisibleNodes:i=!1}=t,{nodes:a,edges:s,combos:o}=this.context.model.getData(),{element:l,model:u}=this.context,c=p=>l.getElement(p),h=n?p=>{var v;return!i&&(((v=p.style)===null||v===void 0?void 0:v.visibility)==="hidden"||u.getAncestorsData(p.id,nr).some(Un)||u.getAncestorsData(p.id,ue).some(Un))?!1:e(p)}:p=>{const v=J(p),y=c(v);return!y||nl(y)?!1:e(p)},d=a.filter(h),f=new Map(d.map(p=>[J(p),p]));o.forEach(p=>f.set(J(p),p));const g=s.filter(({source:p,target:v})=>f.has(p)&&f.has(v));return{nodes:d,edges:g,combos:o}}initGraphLayout(t){var e;const{element:n,viewport:i}=this.context,{type:a,enableWorker:s,animation:o,iterations:l}=t,u=rX(t,["type","enableWorker","animation","iterations"]),[c,h]=i.getCanvasSize(),d=[c/2,h/2],f=(e=t==null?void 0:t.nodeSize)!==null&&e!==void 0?e:m=>{const w=n==null?void 0:n.getElement(m.id);return w?w.attributes.size:n==null?void 0:n.getElementComputedStyle("node",m).size},g=Ei("layout",a);if(!g)return ii.warn(`The layout of ${a} is not registered.`);const p=Object.getPrototypeOf(g.prototype)===Nc.prototype?g:U4(g,this.context),v=new p(this.context),y={nodeSize:f,width:c,height:h,center:d};switch(v.id){case"d3-force":case"d3-force-3d":Object.assign(y,{center:{x:c/2,y:h/2,z:0}});break}return In(v.options,y,u),v}updateElementPosition(t,e){const{model:n,element:i}=this.context;return i?(n.updateData(t),i.draw({animation:e,silence:!0})):null}destroy(){var t;this.stopLayout(),this.context={},(t=this.supervisor)===null||t===void 0||t.kill(),this.supervisor=void 0,this.instance=void 0,this.instances=[],this.animationResult=void 0}}const dO=(r,t)=>{var e;const[n,i]=t;(e=r.nodes)===null||e===void 0||e.forEach(a=>{if(a.style){const{x:s=0,y:o=0}=a.style;a.style.x=s+n,a.style.y=o+i}else a.style={x:n,y:i}})};function aX(r){return[sX].reduce((e,n)=>n(e),r)}function sX(r){return!r.layout||Array.isArray(r.layout)||"preLayout"in r.layout||["antv-dagre","combo-combined","compact-box","circular","concentric","dagre","fishbone","grid","indented","mds","radial","random","snake","dendrogram","mindmap"].includes(r.layout.type)&&(r.layout.preLayout=!0),r}class oX extends Qm{constructor(t){super(t),this.category="plugin",this.setPlugins(this.context.options.plugins||[])}setPlugins(t){this.setExtensions(t)}getPluginInstance(t){const e=this.extensionMap[t];if(e)return e;ii.warn(`Cannot find the plugin ${t}, will try to find it by type.`);const n=this.extensions.find(i=>i.type===t);if(n)return this.extensionMap[n.key]}}const du=["update-related-edges","collapse-expand-node","collapse-expand-combo","get-edge-actual-ends","arrange-draw-order"];class lX extends Qm{constructor(t){super(t),this.category="transform",this.setTransforms(this.context.options.transforms||[])}getTransforms(){}setTransforms(t){this.setExtensions([...du.slice(0,du.length-1),...t,du[du.length-1]])}getTransformInstance(t){return t?this.extensionMap[t]:this.extensionMap}}var no=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(s){s(a)})}return new(e||(e=Promise))(function(a,s){function o(c){try{u(n.next(c))}catch(h){s(h)}}function l(c){try{u(n.throw(c))}catch(h){s(h)}}function u(c){c.done?a(c.value):i(c.value).then(o,l)}u((n=n.apply(r,t||[])).next())})};class uX{get padding(){return ai(this.context.options.padding)}get paddingOffset(){const[t,e,n,i]=this.padding,[a,s,o]=[(i-e)/2,(t-n)/2,0];return[a,s,o]}constructor(t){this.landmarkCounter=0,this.context=t;const[e,n]=this.paddingOffset,{zoom:i,rotation:a,x:s=e,y:o=n}=t.options;this.transform({mode:"absolute",scale:i,translate:[s,o],rotate:a},!1)}get camera(){const{canvas:t}=this.context;return new Proxy(t.getCamera(),{get:(e,n)=>{const a=Object.entries(t.getLayers()).filter(([o])=>!["main"].includes(o)).map(([,o])=>o.getCamera()),s=e[n];if(typeof s=="function")return(...o)=>{const l=s.apply(e,o);return a.forEach(u=>{u[n].apply(u,o)}),l}}})}createLandmark(t){return this.camera.createLandmark(`landmark-${this.landmarkCounter++}`,t)}getAnimation(t){const e=YT(this.context.options,t);return e?Ca(Object.assign({},e),["easing","duration"]):!1}getCanvasSize(){const{canvas:t}=this.context,{width:e=0,height:n=0}=t.getConfig();return[e,n]}getCanvasCenter(){const{canvas:t}=this.context,{width:e=0,height:n=0}=t.getConfig();return[e/2,n/2,0]}getViewportCenter(){const[t,e]=this.camera.getPosition();return[t,e,0]}getGraphCenter(){return this.context.graph.getViewportByCanvas(this.getCanvasCenter())}getZoom(){return this.camera.getZoom()}getRotation(){return this.camera.getRoll()}getTranslateOptions(t){const{camera:e}=this,{mode:n,translate:i=[]}=t,a=this.getZoom(),s=e.getPosition(),o=e.getFocalPoint(),[l,u]=this.getCanvasCenter(),[c=0,h=0,d=0]=i,f=Ir([-c,-h,-d],a);return n==="relative"?{position:zt(s,f),focalPoint:zt(o,f)}:{position:zt([l,u,s[2]],f),focalPoint:zt([l,u,o[2]],f)}}getRotateOptions(t){const{mode:e,rotate:n=0}=t;return{roll:e==="relative"?this.camera.getRoll()+n:n}}getZoomOptions(t){const{zoomRange:e}=this.context.options,n=this.camera.getZoom(),{mode:i,scale:a=1}=t;return Ie(i==="relative"?n*a:a,...e)}transform(t,e){return no(this,void 0,void 0,function*(){const{graph:n}=this.context,{translate:i,rotate:a,scale:s,origin:o}=t;this.cancelAnimation();const l=this.getAnimation(e);if(rn(n,new hu(pt.BEFORE_TRANSFORM,t)),!a&&s&&!i&&o&&!l){this.camera.setZoomByViewportPoint(this.getZoomOptions(t),o),rn(n,new hu(pt.AFTER_TRANSFORM,t));return}const u={};if(i&&Object.assign(u,this.getTranslateOptions(t)),Et(a)&&Object.assign(u,this.getRotateOptions(t)),Et(s)&&Object.assign(u,{zoom:this.getZoomOptions(t)}),l)return rn(n,new br(pt.BEFORE_ANIMATE,qn.TRANSFORM,null,t)),new Promise(c=>{this.transformResolver=c,this.camera.gotoLandmark(this.createLandmark(u),Object.assign(Object.assign({},l),{onfinish:()=>{rn(n,new br(pt.AFTER_ANIMATE,qn.TRANSFORM,null,t)),rn(n,new hu(pt.AFTER_TRANSFORM,t)),this.transformResolver=void 0,c()}}))});this.camera.gotoLandmark(this.createLandmark(u),{duration:0}),rn(n,new hu(pt.AFTER_TRANSFORM,t))})}fitView(t,e){return no(this,void 0,void 0,function*(){const[n,i,a,s]=this.padding,{when:o="always",direction:l="both"}=t||{},[u,c]=this.context.canvas.getSize(),h=u-s-i,d=c-n-a,f=this.context.canvas.getBounds(),g=this.getBBoxInViewport(f),[p,v]=ia(g),y=l==="x"&&p>=h||l==="y"&&v>=d||l==="both"&&p>=h&&v>=d;if(o==="overflow"&&!y)return yield this.fitCenter({animation:e});const m=h/p,w=d/v,S=l==="x"?m:l==="y"?w:Math.min(m,w),_=this.getAnimation(e);yield this.transform({mode:"relative",scale:S,translate:zt(le(this.getCanvasCenter(),this.getBBoxInViewport(f).center),Ir(this.paddingOffset,S))},_)})}fitCenter(t){return no(this,void 0,void 0,function*(){const e=this.context.canvas.getBounds();yield this.focus(e,t)})}focusElements(t){return no(this,arguments,void 0,function*(e,n={}){const{element:i}=this.context;if(!i)return;const a=o=>n.shapes?o.getShape(n.shapes).getRenderBounds():o.getRenderBounds(),s=Xo(e.map(o=>a(i.getElement(o))));yield this.focus(s,n)})}focus(t,e){return no(this,void 0,void 0,function*(){const n=this.context.graph.getViewportByCanvas(t.center),i=e.position||this.getCanvasCenter(),a=le(i,n);yield this.transform({mode:"relative",translate:zt(a,this.paddingOffset)},e.animation)})}getBBoxInViewport(t){const{min:e,max:n}=t,{graph:i}=this.context,[a,s]=i.getViewportByCanvas(e),[o,l]=i.getViewportByCanvas(n),u=new ge;return u.setMinMax([a,s,0],[o,l,0]),u}isInViewport(t,e=!1,n=0){const{graph:i}=this.context,a=this.getCanvasSize(),[s,o]=i.getCanvasByViewport([0,0]),[l,u]=i.getCanvasByViewport(a);let c=new ge;return c.setMinMax([s,o,0],[l,u,0]),n&&(c=aa(c,n)),Ts(t)?Lr(t,c):e?XF(t,c):c.intersects(t)}cancelAnimation(){var t,e;!((t=this.camera.landmarks)===null||t===void 0)&&t.length&&this.camera.cancelLandmarkAnimation(),(e=this.transformResolver)===null||e===void 0||e.call(this)}}var de=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(s){s(a)})}return new(e||(e=Promise))(function(a,s){function o(c){try{u(n.next(c))}catch(h){s(h)}}function l(c){try{u(n.throw(c))}catch(h){s(h)}}function u(c){c.done?a(c.value):i(c.value).then(o,l)}u((n=n.apply(r,t||[])).next())})};class Lh extends Pc{constructor(t){var e;super(),this.options={},this.rendered=!1,this.destroyed=!1,this.context={model:new eX},this.isCollapsingExpanding=!1,this.onResize=$o(()=>{this.resize()},300),this._setOptions(Object.assign({},Lh.defaultOptions,t),!0),this.context.graph=this,this.options.autoResize&&((e=globalThis.addEventListener)===null||e===void 0||e.call(globalThis,"resize",this.onResize))}getOptions(){return this.options}setOptions(t){this._setOptions(t,!1)}_setOptions(t,e){if(this.updateCanvas(t),Object.assign(this.options,aX(t)),e){const{data:d}=t;d&&this.addData(d);return}const{behaviors:n,combo:i,data:a,edge:s,layout:o,node:l,plugins:u,theme:c,transforms:h}=t;n&&this.setBehaviors(n),a&&this.setData(a),l&&this.setNode(l),s&&this.setEdge(s),i&&this.setCombo(i),o&&this.setLayout(o),c&&this.setTheme(c),u&&this.setPlugins(u),h&&this.setTransforms(h)}getSize(){return this.context.canvas?this.context.canvas.getSize():[this.options.width||0,this.options.height||0]}setSize(t,e){t&&(this.options.width=t),e&&(this.options.height=e),this.resize(t,e)}setZoomRange(t){this.options.zoomRange=t}getZoomRange(){return this.options.zoomRange}setNode(t){this.options.node=t,this.context.model.refreshData()}setEdge(t){this.options.edge=t,this.context.model.refreshData()}setCombo(t){this.options.combo=t,this.context.model.refreshData()}getTheme(){return this.options.theme}setTheme(t){this.options.theme=kt(t)?t(this.getTheme()):t}setLayout(t){this.options.layout=kt(t)?t(this.getLayout()):t}getLayout(){return this.options.layout}setBehaviors(t){var e;this.options.behaviors=kt(t)?t(this.getBehaviors()):t,(e=this.context.behavior)===null||e===void 0||e.setBehaviors(this.options.behaviors)}updateBehavior(t){this.setBehaviors(e=>e.map(n=>typeof n=="object"&&n.key===t.key?Object.assign(Object.assign({},n),t):n))}getBehaviors(){return this.options.behaviors||[]}setPlugins(t){var e;this.options.plugins=kt(t)?t(this.getPlugins()):t,(e=this.context.plugin)===null||e===void 0||e.setPlugins(this.options.plugins)}updatePlugin(t){this.setPlugins(e=>e.map(n=>typeof n=="object"&&n.key===t.key?Object.assign(Object.assign({},n),t):n))}getPlugins(){return this.options.plugins||[]}getPluginInstance(t){return this.context.plugin.getPluginInstance(t)}setTransforms(t){var e;this.options.transforms=kt(t)?t(this.getTransforms()):t,(e=this.context.transform)===null||e===void 0||e.setTransforms(this.options.transforms)}updateTransform(t){this.setTransforms(e=>e.map(n=>typeof n=="object"&&n.key===t.key?Object.assign(Object.assign({},n),t):n)),this.context.model.refreshData()}getTransforms(){return this.options.transforms||[]}getData(){return this.context.model.getData()}getElementData(t){return Array.isArray(t)?t.map(e=>this.context.model.getElementDataById(e)):this.context.model.getElementDataById(t)}getNodeData(t){return t===void 0?this.context.model.getNodeData():Array.isArray(t)?this.context.model.getNodeData(t):this.context.model.getNodeLikeDatum(t)}getEdgeData(t){return t===void 0?this.context.model.getEdgeData():Array.isArray(t)?this.context.model.getEdgeData(t):this.context.model.getEdgeDatum(t)}getComboData(t){return t===void 0?this.context.model.getComboData():Array.isArray(t)?this.context.model.getComboData(t):this.context.model.getNodeLikeDatum(t)}setData(t){this.context.model.setData(kt(t)?t(this.getData()):t)}addData(t){this.context.model.addData(kt(t)?t(this.getData()):t)}addNodeData(t){this.context.model.addNodeData(kt(t)?t(this.getNodeData()):t)}addEdgeData(t){this.context.model.addEdgeData(kt(t)?t(this.getEdgeData()):t)}addComboData(t){this.context.model.addComboData(kt(t)?t(this.getComboData()):t)}addChildrenData(t,e){this.context.model.addChildrenData(t,e)}updateData(t){this.context.model.updateData(kt(t)?t(this.getData()):t)}updateNodeData(t){this.context.model.updateNodeData(kt(t)?t(this.getNodeData()):t)}updateEdgeData(t){this.context.model.updateEdgeData(kt(t)?t(this.getEdgeData()):t)}updateComboData(t){this.context.model.updateComboData(kt(t)?t(this.getComboData()):t)}removeData(t){this.context.model.removeData(kt(t)?t(this.getData()):t)}removeNodeData(t){this.context.model.removeNodeData(kt(t)?t(this.getNodeData()):t)}removeEdgeData(t){this.context.model.removeEdgeData(kt(t)?t(this.getEdgeData()):t)}removeComboData(t){this.context.model.removeComboData(kt(t)?t(this.getComboData()):t)}getElementType(t){return this.context.model.getElementType(t)}getRelatedEdgesData(t,e="both"){return this.context.model.getRelatedEdgesData(t,e)}getNeighborNodesData(t){return this.context.model.getNeighborNodesData(t)}getAncestorsData(t,e){return this.context.model.getAncestorsData(t,e)}getParentData(t,e){return this.context.model.getParentData(t,e)}getChildrenData(t){return this.context.model.getChildrenData(t)}getDescendantsData(t){return this.context.model.getDescendantsData(t)}getElementDataByState(t,e){return this.context.model.getElementDataByState(t,e)}initCanvas(){return de(this,void 0,void 0,function*(){var t;if(this.context.canvas)return yield this.context.canvas.ready;const{container:e="container",width:n,height:i,renderer:a,cursor:s,background:o,canvas:l,devicePixelRatio:u=(t=globalThis.devicePixelRatio)!==null&&t!==void 0?t:1}=this.options;if(e instanceof sO)this.context.canvas=e,s&&e.setCursor(s),a&&e.setRenderer(a),yield e.ready;else{const c=ne(e)?document.getElementById(e):e,h=uO(c);this.emit(pt.BEFORE_CANVAS_INIT,{container:c,width:n,height:i});const d=Object.assign(Object.assign({},l),{container:c,width:n||h[0],height:i||h[1],background:o,renderer:a,cursor:s,devicePixelRatio:u}),f=new sO(d);this.context.canvas=f,yield f.ready,this.emit(pt.AFTER_CANVAS_INIT,{canvas:f})}})}updateCanvas(t){var e,n;const{renderer:i,cursor:a,height:s,width:o}=t,l=this.context.canvas;l&&(i&&(this.emit(pt.BEFORE_RENDERER_CHANGE,{renderer:this.options.renderer}),l.setRenderer(i),this.emit(pt.AFTER_RENDERER_CHANGE,{renderer:i})),a&&l.setCursor(a),(Et(o)||Et(s))&&this.setSize((e=o??this.options.width)!==null&&e!==void 0?e:0,(n=s??this.options.height)!==null&&n!==void 0?n:0))}initRuntime(){this.context.options=this.options,this.context.batch||(this.context.batch=new ZH(this.context)),this.context.plugin||(this.context.plugin=new oX(this.context)),this.context.viewport||(this.context.viewport=new uX(this.context)),this.context.transform||(this.context.transform=new lX(this.context)),this.context.element||(this.context.element=new nX(this.context)),this.context.animation||(this.context.animation=new KH(this.context)),this.context.layout||(this.context.layout=new iX(this.context)),this.context.behavior||(this.context.behavior=new JH(this.context))}prepare(){return de(this,void 0,void 0,function*(){if(yield Promise.resolve(),this.destroyed){console.error(mi("The graph instance has been destroyed"));return}yield this.initCanvas(),this.initRuntime()})}render(){return de(this,void 0,void 0,function*(){if(yield this.prepare(),rn(this,new Xe(pt.BEFORE_RENDER)),this.options.layout)if(!this.rendered&&V4(this.options.layout)){const t=yield this.context.element.preLayoutDraw({type:"render"});yield Promise.all([t==null?void 0:t.finished,this.autoFit()])}else{const t=this.context.element.draw({type:"render"});yield Promise.all([t==null?void 0:t.finished,this.context.layout.postLayout()]),yield this.autoFit()}else{const t=this.context.element.draw({type:"render"});yield Promise.all([t==null?void 0:t.finished,this.autoFit()])}this.rendered=!0,rn(this,new Xe(pt.AFTER_RENDER))})}draw(){return de(this,void 0,void 0,function*(){var t;yield this.prepare(),yield(t=this.context.element.draw())===null||t===void 0?void 0:t.finished})}layout(t){return de(this,void 0,void 0,function*(){yield this.context.layout.postLayout(t)})}stopLayout(){this.context.layout.stopLayout()}clear(){return de(this,void 0,void 0,function*(){const{model:t,element:e}=this.context;t.setData({}),t.clearChanges(),e==null||e.clear()})}destroy(){var t;rn(this,new Xe(pt.BEFORE_DESTROY));const{layout:e,animation:n,element:i,model:a,canvas:s,behavior:o,plugin:l}=this.context;l==null||l.destroy(),o==null||o.destroy(),e==null||e.destroy(),n==null||n.destroy(),i==null||i.destroy(),a.destroy(),s==null||s.destroy(),this.options={},this.context={},this.off(),(t=globalThis.removeEventListener)===null||t===void 0||t.call(globalThis,"resize",this.onResize),this.destroyed=!0,rn(this,new Xe(pt.AFTER_DESTROY))}getCanvas(){return this.context.canvas}resize(t,e){var n;const i=uO((n=this.context.canvas)===null||n===void 0?void 0:n.getContainer()),a=[t||i[0],e||i[1]];if(!this.context.canvas)return;const s=this.context.canvas.getSize();De(a,s)||(rn(this,new Xe(pt.BEFORE_SIZE_CHANGE,{size:a})),this.context.canvas.resize(...a),rn(this,new Xe(pt.AFTER_SIZE_CHANGE,{size:a})))}fitView(t,e){return de(this,void 0,void 0,function*(){var n;yield(n=this.context.viewport)===null||n===void 0?void 0:n.fitView(t,e)})}fitCenter(t){return de(this,void 0,void 0,function*(){var e;yield(e=this.context.viewport)===null||e===void 0?void 0:e.fitCenter({animation:t})})}autoFit(){return de(this,void 0,void 0,function*(){const{autoFit:t}=this.context.options;if(t)if(ne(t))t==="view"?yield this.fitView():t==="center"&&(yield this.fitCenter());else{const{type:e,animation:n}=t;e==="view"?yield this.fitView(t.options,n):e==="center"&&(yield this.fitCenter(n))}})}focusElement(t,e){return de(this,void 0,void 0,function*(){var n;yield(n=this.context.viewport)===null||n===void 0?void 0:n.focusElements(Array.isArray(t)?t:[t],{animation:e})})}zoomBy(t,e,n){return de(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"relative",scale:t,origin:n},e)})}zoomTo(t,e,n){return de(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"absolute",scale:t,origin:n},e)})}getZoom(){return this.context.viewport.getZoom()}rotateBy(t,e,n){return de(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"relative",rotate:t,origin:n},e)})}rotateTo(t,e,n){return de(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"absolute",rotate:t,origin:n},e)})}getRotation(){return this.context.viewport.getRotation()}translateBy(t,e){return de(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"relative",translate:t},e)})}translateTo(t,e){return de(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"absolute",translate:t},e)})}getPosition(){return le([0,0],this.getCanvasByViewport([0,0]))}translateElementBy(t,e){return de(this,arguments,void 0,function*(n,i,a=!0){var s,o;const[l,u]=Ve(n)?[n,(s=i)!==null&&s!==void 0?s:!0]:[{[n]:i},a];Object.entries(l).forEach(([c,h])=>this.context.model.translateNodeLikeBy(c,h)),yield(o=this.context.element.draw({animation:u,stage:"translate"}))===null||o===void 0?void 0:o.finished})}translateElementTo(t,e){return de(this,arguments,void 0,function*(n,i,a=!0){var s,o;const[l,u]=Ve(n)?[n,(s=i)!==null&&s!==void 0?s:!0]:[{[n]:i},a];Object.entries(l).forEach(([c,h])=>this.context.model.translateNodeLikeTo(c,h)),yield(o=this.context.element.draw({animation:u,stage:"translate"}))===null||o===void 0?void 0:o.finished})}getElementPosition(t){return this.context.model.getElementPosition(t)}getElementRenderStyle(t){return Dm(this.context.element.getElement(t).attributes,["context"])}setElementVisibility(t,e){return de(this,arguments,void 0,function*(n,i,a=!0){var s,o;const[l,u]=Ve(n)?[n,(s=i)!==null&&s!==void 0?s:!0]:[{[n]:i},a],c={nodes:[],edges:[],combos:[]};Object.entries(l).forEach(([f,g])=>{const p=this.getElementType(f);c[`${p}s`].push({id:f,style:{visibility:g}})});const{model:h,element:d}=this.context;h.preventUpdateNodeLikeHierarchy(()=>{h.updateData(c)}),yield(o=d.draw({animation:u,stage:"visibility"}))===null||o===void 0?void 0:o.finished})}showElement(t,e){return de(this,void 0,void 0,function*(){const n=Array.isArray(t)?t:[t];yield this.setElementVisibility(Object.fromEntries(n.map(i=>[i,"visible"])),e)})}hideElement(t,e){return de(this,void 0,void 0,function*(){const n=Array.isArray(t)?t:[t];yield this.setElementVisibility(Object.fromEntries(n.map(i=>[i,"hidden"])),e)})}getElementVisibility(t){var e,n;const i=this.context.element.getElement(t);return(n=(e=i==null?void 0:i.style)===null||e===void 0?void 0:e.visibility)!==null&&n!==void 0?n:"visible"}setElementZIndex(t,e){return de(this,void 0,void 0,function*(){var n;const i={nodes:[],edges:[],combos:[]},a=Ve(t)?t:{[t]:e};Object.entries(a).forEach(([l,u])=>{const c=this.getElementType(l);i[`${c}s`].push({id:l,style:{zIndex:u}})});const{model:s,element:o}=this.context;s.preventUpdateNodeLikeHierarchy(()=>s.updateData(i)),yield(n=o.draw({animation:!1,stage:"zIndex"}))===null||n===void 0?void 0:n.finished})}frontElement(t){return de(this,void 0,void 0,function*(){const e=Array.isArray(t)?t:[t],{model:n}=this.context,i={};e.map(a=>{const s=n.getFrontZIndex(a);if(n.getElementType(a)==="combo"){const l=n.getAncestorsData(a,ue).at(-1)||this.getComboData(a),u=[l,...n.getDescendantsData(J(l))],c=s-cO(l);u.forEach(d=>{i[J(d)]=this.getElementZIndex(J(d))+c});const{internal:h}=am(u.map(J),d=>n.getRelatedEdgesData(d));h.forEach(d=>{const f=J(d);i[f]=this.getElementZIndex(f)+c})}else i[a]=s}),yield this.setElementZIndex(i)})}getElementZIndex(t){return cO(this.context.model.getElementDataById(t))}setElementState(t,e){return de(this,arguments,void 0,function*(n,i,a=!0){var s,o;const[l,u]=Ve(n)?[n,(s=i)!==null&&s!==void 0?s:!0]:[{[n]:i},a],c=d=>d?Array.isArray(d)?d:[d]:[],h={nodes:[],edges:[],combos:[]};Object.entries(l).forEach(([d,f])=>{const g=this.getElementType(d);h[`${g}s`].push({id:d,states:c(f)})}),this.updateData(h),yield(o=this.context.element.draw({animation:u,stage:"state"}))===null||o===void 0?void 0:o.finished})}getElementState(t){return this.context.model.getElementState(t)}getElementRenderBounds(t){return this.context.element.getElement(t).getRenderBounds()}collapseElement(t){return de(this,arguments,void 0,function*(e,n=!0){const{model:i,element:a}=this.context;if(Un(i.getNodeLikeData([e])[0])||this.isCollapsingExpanding)return;typeof n=="boolean"&&(n={animation:n,align:!0});const s=i.getElementType(e);yield this.frontElement(e),this.isCollapsingExpanding=!0,i.updateData(s==="node"?{nodes:[{id:e,style:{collapsed:!0}}]}:{combos:[{id:e,style:{collapsed:!0}}]}),s==="node"?yield a.collapseNode(e,n):s==="combo"&&(yield a.collapseCombo(e,!!n.animation)),this.isCollapsingExpanding=!1})}expandElement(t){return de(this,arguments,void 0,function*(e,n=!0){const{model:i,element:a}=this.context;if(!Un(i.getNodeLikeData([e])[0])||this.isCollapsingExpanding)return;typeof n=="boolean"&&(n={animation:n,align:!0});const s=i.getElementType(e);this.isCollapsingExpanding=!0,i.updateData(s==="node"?{nodes:[{id:e,style:{collapsed:!1}}]}:{combos:[{id:e,style:{collapsed:!1}}]}),s==="node"?yield a.expandNode(e,n):s==="combo"&&(yield a.expandCombo(e,!!n.animation)),this.isCollapsingExpanding=!1})}setElementCollapsibility(t,e){const n=this.getElementType(t);n==="node"?this.updateNodeData([{id:t,style:{collapsed:e}}]):n==="combo"&&this.updateComboData([{id:t,style:{collapsed:e}}])}toDataURL(){return de(this,arguments,void 0,function*(t={}){return this.context.canvas.toDataURL(t)})}getCanvasByViewport(t){return this.context.canvas.getCanvasByViewport(t)}getViewportByCanvas(t){return this.context.canvas.getViewportByCanvas(t)}getClientByCanvas(t){return this.context.canvas.getClientByCanvas(t)}getCanvasByClient(t){return this.context.canvas.getCanvasByClient(t)}getViewportCenter(){return this.context.viewport.getViewportCenter()}getCanvasCenter(){return this.context.viewport.getCanvasCenter()}on(t,e,n){return super.on(t,e,n)}once(t,e){return super.once(t,e)}off(t,e){return super.off(t,e)}}Lh.defaultOptions={autoResize:!1,theme:"light",rotation:0,zoom:1,zoomRange:[.01,10]};var cX=function(r,t){var e={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&t.indexOf(n)<0&&(e[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(e[n[i]]=r[n[i]]);return e};function hX(r,t){const{getNodeData:e=(o,l)=>{if(o.depth=l,!o.children)return o;const{children:u}=o,c=cX(o,["children"]);return Object.assign(Object.assign({},c),{children:u.map(h=>h.id)})},getEdgeData:n=(o,l)=>({source:o.id,target:l.id}),getChildren:i=o=>o.children||[]}={},a=[],s=[];return Ta(r,(o,l)=>{a.push(e(o,l));const u=i(o);for(const c of u)s.push(n(o,c))},o=>i(o),"TB"),{nodes:a,edges:s}}class dX extends ca{beforeDraw(t){const{add:e,update:n}=t,{model:i}=this.context;return[...e.edges.entries(),...n.edges.entries()].forEach(([,a])=>{_C(i,a)}),t}}const _C=(r,t)=>{const{source:e,target:n}=t,i=r.getElementDataById(e),a=r.getElementDataById(n),s=Mw(i,h=>r.getParentData(h,ue)),o=Mw(a,h=>r.getParentData(h,ue)),l=J(s),u=J(o),c={sourceNode:l,targetNode:u};return t.style?Object.assign(t.style,c):t.style=c,t},fX=(r,t,e)=>{const[n,i]=t,[a,s]=e;if(i===n)return a;const o=(r-n)/(i-n);return a+o*(s-a)},gX=(r,t,e)=>{const[n,i]=t,[a,s]=e,o=Math.log(r-n+1)/Math.log(i-n+1);return a+o*(s-a)},vX=(r,t,e,n=2)=>{const[i,a]=t,[s,o]=e,l=Math.pow((r-i)/(a-i),n);return s+l*(o-s)},pX=(r,t,e)=>{const[n,i]=t,[a,s]=e,o=Math.sqrt((r-n)/(i-n));return a+o*(s-a)};class Ih extends ca{constructor(t,e){super(t,In({},Ih.defaultOptions,e)),this.assignSizeByCentrality=(n,i,a,s,o,l)=>{const u=[i,a],c=[s[0],o[0]],h=[s[1],o[1]],d=[s[2],o[2]],f=(g,p)=>{if(typeof l=="function")return l(g,u,p);switch(l){case"linear":return fX(g,u,p);case"log":return gX(g,u,p);case"pow":return vX(g,u,p,2);case"sqrt":return pX(g,u,p);default:return p[0]}};return[f(n,c),f(n,h),f(n,d)]}}beforeDraw(t){const{model:e}=this.context,n=e.getNodeData(),i=sr(this.options.maxSize),a=sr(this.options.minSize),s=this.getCentralities(this.options.centrality),o=s.size>0?Math.max(...s.values()):0,l=s.size>0?Math.min(...s.values()):0;return n.forEach(u=>{var c;const h=this.assignSizeByCentrality(s.get(J(u))||0,l,o,a,i,this.options.scale),d=(c=this.context.element)===null||c===void 0?void 0:c.getElement(J(u)),f={size:h};this.assignLabelStyle(f,h,u,d),(!d||!Su(f,d.attributes))&&ar(t,d?"update":"add","node",In(u,{style:f}),!0)}),t}assignLabelStyle(t,e,n,i){var a;const s=i?i.config.style:(a=this.context.element)===null||a===void 0?void 0:a.getElementComputedStyle("node",n);if(Object.assign(t,Ca(s,["labelFontSize","labelLineHeight"])),this.options.mapLabelSize){const o=this.getLabelSizeByNodeSize(e,1/0,Number(t.labelFontSize));Object.assign(t,{labelFontSize:o,labelLineHeight:o+HF(t.labelPadding)})}return t}getLabelSizeByNodeSize(t,e,n){const i=Math.min(...t)/2,[a,s]=Array.isArray(this.options.mapLabelSize)?this.options.mapLabelSize:[n,e];return Math.min(s,Math.max(i,a))}getCentralities(t){const{model:e}=this.context,n=e.getData();if(typeof t=="function")return t(n);const i=e.getRelatedEdgesData.bind(e);return iA(n,i,t)}}Ih.defaultOptions={centrality:{type:"degree"},maxSize:80,minSize:20,scale:"linear",mapLabelSize:!1};class Dh extends ca{constructor(t,e){super(t,Object.assign({},Dh.defaultOptions,e))}get ref(){return this.context.model.getRootsData()[0]}afterLayout(){var t;const e=an(this.ref),{graph:n,model:i}=this.context;(t=i.getData().nodes)===null||t===void 0||t.forEach(s=>{var o;if(J(s)===J(this.ref))return;const l=sA(le(an(s),e)),u=Math.abs(l)>Math.PI/2,c=!s.children||s.children.length===0,h=J(s),d=(o=this.context.element)===null||o===void 0?void 0:o.getElement(h);if(!d||!d.isVisible())return;const f=sr(n.getElementRenderStyle(h).size)[0]/2,g=(c?1:-1)*(f+this.options.offset),p=[["translate",g*Math.cos(l),g*Math.sin(l)],["rotate",u?Gn(l)+180:Gn(l)]];i.updateNodeData([{id:J(s),style:{labelTextAlign:u===c?"right":"left",labelTextBaseline:"middle",labelTransform:p}}])}),n.draw()}}Dh.defaultOptions={offset:5};const yX="quadratic",fO=["top","top-right","right","right-bottom","bottom","bottom-left","left","left-top"];class Fh extends ca{constructor(t,e){super(t,Object.assign({},Fh.defaultOptions,e)),this.cacheMergeStyle=new Map,this.getAffectedParallelEdges=n=>{const{add:{edges:i},update:{nodes:a,edges:s,combos:o},remove:{edges:l}}=n,{model:u}=this.context,c=new Map,h=(g,p)=>{u.getRelatedEdgesData(p).forEach(y=>!c.has(J(y))&&c.set(J(y),y))};a.forEach(h),o.forEach(h);const d=g=>{const p=u.getEdgeData().map(y=>_C(u,y));mX(g,p).forEach(y=>!c.has(J(y))&&c.set(J(y),y))};if(l.size&&l.forEach(d),i.size&&i.forEach(d),s.size){const g=FN(B1(u.getChanges())).update.edges;s.forEach(p=>{var v;d(p);const y=(v=g.find(m=>J(m.value)===J(p)))===null||v===void 0?void 0:v.original;y&&!tb(p,y)&&d(y)})}Xr(this.options.edges)||c.forEach((g,p)=>!this.options.edges.includes(p)&&c.delete(p));const f=u.getEdgeData().map(J);return new Map([...c].sort((g,p)=>f.indexOf(g[0])-f.indexOf(p[0])))},this.applyBundlingStyle=(n,i,a)=>{const{edgeMap:s,reverses:o}=gO(i);s.forEach(l=>{l.forEach((u,c,h)=>{var d;const f=h.length,g=u.style||{};if(u.source===u.target){const y=fO.length;g.loopPlacement=fO[c%y],g.loopDist=Math.floor(c/y)*a+50}else if(f===1)g.curveOffset=0;else{const y=(c%2===0?1:-1)*(o[`${u.source}|${u.target}|${c}`]?-1:1);g.curveOffset=f%2===1?y*Math.ceil(c/2)*a*2:y*(Math.floor(c/2)*a*2+a)}const p=Object.assign(u,{type:yX,style:g}),v=(d=this.context.element)===null||d===void 0?void 0:d.getElement(J(u));(!v||!Su(p.style,v.attributes))&&ar(n,v?"update":"add","edge",p,!0)})})},this.resetEdgeStyle=n=>{const i=n.style||{},a=this.cacheMergeStyle.get(J(n))||{};return Object.keys(a).forEach(s=>{De(i[s],a[s])&&(n[s]?i[s]=n[s]:delete i[s])}),Object.assign(n,{style:i})},this.applyMergingStyle=(n,i)=>{const{edgeMap:a,reverses:s}=gO(i);a.forEach(o=>{var l;if(o.length===1){const c=o[0],h=(l=this.context.element)===null||l===void 0?void 0:l.getElement(J(c)),d=this.resetEdgeStyle(c);(!h||!Su(d,h.attributes))&&ar(n,h?"update":"add","edge",d);return}const u=o.map(({source:c,target:h,style:d={}},f)=>{const{startArrow:g,endArrow:p}=d,v={},[y,m]=s[`${c}|${h}|${f}`]?["endArrow","startArrow"]:["startArrow","endArrow"];return Mo(g)&&(v[y]=g),Mo(p)&&(v[m]=p),v}).reduce((c,h)=>Object.assign(Object.assign({},c),h),{});o.forEach((c,h,d)=>{var f;if(h!==0){ar(n,"remove","edge",c);return}const g=Object.assign({},kt(this.options.style)?this.options.style(d):this.options.style,{childrenData:d});this.cacheMergeStyle.set(J(c),g);const p=Object.assign(Object.assign({},c),{type:"line",style:Object.assign(Object.assign(Object.assign({},c.style),u),g)}),v=(f=this.context.element)===null||f===void 0?void 0:f.getElement(J(c));(!v||!Su(p.style,v.attributes))&&ar(n,v?"update":"add","edge",p,!0)})})}}beforeDraw(t){const e=this.getAffectedParallelEdges(t);return e.size===0||(this.options.mode==="bundle"?this.applyBundlingStyle(t,e,this.options.distance):this.applyMergingStyle(t,e)),t}}Fh.defaultOptions={mode:"bundle",distance:15};const gO=r=>{const t=new Map,e=new Set,n={},i=new Map;for(const[a,s]of r){if(e.has(a))continue;const{source:o,target:l}=s,u=`${o}-${l}`;t.has(u)||(t.set(u,[]),i.set(u,new Set));const c=t.get(u),h=i.get(u);c&&h&&!h.has(a)&&(c.push(s),h.add(a),e.add(a));for(const[d,f]of r)if(!(e.has(d)||d===a)&&tb(s,f)){const g=t.get(u),p=i.get(u);g&&p&&!p.has(d)&&(g.push(f),p.add(d),o===f.target&&l===f.source&&(n[`${f.source}|${f.target}|${g.length-1}`]=!0),e.add(d))}}return{edgeMap:t,reverses:n}},mX=(r,t,e)=>t.filter(n=>tb(n,r)),tb=(r,t)=>{const{sourceNode:e,targetNode:n}=r.style||{},{sourceNode:i,targetNode:a}=t.style||{};return e===i&&n===a||e===a&&n===i};class bX extends ca{beforeDraw(t,e){const{stage:n}=e;if(n==="visibility")return t;const{model:i}=this.context,{update:{nodes:a,edges:s,combos:o}}=t,l=(u,c)=>{i.getRelatedEdgesData(c).forEach(d=>!s.has(J(d))&&s.set(J(d),d))};return a.forEach(l),o.forEach(l),t}}const wX={animation:{"combo-collapse":ZT,"combo-expand":VF,"node-collapse":XT,"node-expand":GF,"path-in":KT,"path-out":WF,fade:qF,translate:$F},behavior:{"brush-select":Ko,"click-select":yc,"collapse-expand":Oc,"create-edge":Tc,"drag-canvas":Ac,"drag-element-force":H4,"drag-element":rl,"fix-element-size":Cc,"focus-element":Rc,"hover-activate":Lc,"lasso-select":K4,"auto-adapt-label":gc,"optimize-viewport-transform":Ic,"scroll-canvas":Dc,"zoom-canvas":Fc},combo:{circle:H5,rect:X5},edge:{cubic:Wa,line:BA,polyline:kc,quadratic:tl,"cubic-horizontal":Sc,"cubic-radial":_c,"cubic-vertical":Mc},layout:{"antv-dagre":Jj,"combo-combined":u9,"compact-box":tu.compactBox,"d3-force":I9,"force-atlas2":QG,circular:e8,concentric:dm,dagre:ah,dendrogram:tu.dendrogram,fishbone:sh,force:fP,fruchterman:nW,grid:iW,indented:tu.indented,mds:vP,mindmap:tu.mindmap,radial:fW,random:wW,snake:oh},node:{circle:Qo,diamond:ZB,ellipse:wc,hexagon:n5,html:xc,image:NA,rect:U5,star:Y5,donut:bc,triangle:Ec},palette:{spectral:DW,tableau:FW,oranges:BW,greens:zW,blues:jW},theme:{dark:BH,light:jH},plugin:{"bubble-sets":ch,"edge-bundling":dh,"edge-filter-lens":fh,"grid-line":ph,background:lh,contextmenu:hh,fisheye:gh,fullscreen:vh,history:yh,hull:bh,legend:kh,minimap:Oh,snapline:Th,timebar:Ah,toolbar:Ph,tooltip:Nh,watermark:Ch},transform:{"arrange-draw-order":qH,"collapse-expand-combo":$H,"collapse-expand-node":GH,"get-edge-actual-ends":dX,"map-node-size":Ih,"place-radial-labels":Dh,"process-parallel-edges":Fh,"update-related-edges":bX},shape:{circle:ki,ellipse:Uo,group:on,html:Yo,image:i1,line:Ia,path:rr,polygon:$a,polyline:dc,rect:xn,text:Ga,label:sa,badge:Rs}};function xX(){Object.entries(wX).forEach(([r,t])=>{Object.entries(t).forEach(([e,n])=>{EC(r,e,n)})})}xX();class Na extends tl{static tyoe="ant-quadratic";static lineDashGap=5;onCreate(){this.shapeMap.key.animate([{lineDashOffset:Na.lineDashGap*2},{lineDashOffset:0}],{duration:500,iterations:1/0,delay:0})}}EC(Os.EDGE,Na.tyoe,Na);const AX=GC({__name:"TrackGraph",props:{nodes:{},queryResult:{},showUnitResults:{},filterUnitResults:{}},setup(r){const t=r,e=WC(),n=v=>t.nodes[v],i=Ws(()=>sR(t.queryResult.unitResults.asJsReadonlyArrayView().flatMap(v=>v.context.toArray()),v=>v.id)),a=Ws(()=>qC(t.nodes,i.value)),s=v=>({id:v.id.toString(),children:a.value.getChildren(v).map(s)}),o=Ws(()=>hX(s(a.value.topNode))),l=v=>a.value.getChildren(v).length>0,u=Ws(()=>{const v={},y={},m=P=>{const N=`#${P.source.id}-${P.target.id}`,C=v[N]||0;v[N]=C+1;const L=N+(C>0?`-${C}`:"");return y[L]=P,{id:L,source:String(P.source.id),target:String(P.target.id)}},S=t.showUnitResults.map(P=>({result:P,pathList:P.getNodeConnectPath(XC).asJsReadonlyArrayView().concat()})).map(({result:P,pathList:N})=>{const C=N.map(L=>m(L));return{result:P,edgeGroup:C}}),_=S.flatMap(P=>P.edgeGroup),k=P=>y[P.id].formatConnectOffset,T=P=>S.findIndex(N=>N.edgeGroup.some(C=>C.id===P.id));return{groupList:S,edgeList:_,getLabel:k,getColor:P=>{const N=t.showUnitResults.indexOf(S[T(P)].result);return rb[N%rb.length]},getGroupIndex:T}}),c=v=>{var y;return((y=v.id)==null?void 0:y[0])==="#"},h=(v,y,m,w)=>Math.sqrt(Math.pow(Math.abs(v-m),2)+Math.pow(Math.abs(y-w),2)),d=(v,y)=>{var S,_,k,T;const m=v.getNodeData(y.source),w=v.getNodeData(y.target);return h(((S=m.style)==null?void 0:S.x)||0,((_=m.style)==null?void 0:_.y)||0,((k=w.style)==null?void 0:k.x)||0,((T=w.style)==null?void 0:T.y)||0)},f=/\d+/,g=VC();UC(()=>{g.value&&g.value.destroy()}),ib(e,async()=>{if(!e.value)return;const v=new Lh({container:e.value,data:o.value,autoFit:"view",padding:[24,48],animation:!1,node:{type(y){const m=n(y.id);return l(m)?"triangle":"rect"},style(y){const m=n(y.id),w=t.queryResult.target.id===m.id,S=a.value.isPlaceholder(m),_=$C(m);return{size:l(m)?4:1,direction:l(m)?"down":void 0,fill:l(m)?"#767C82":"#E3E3E3",pointerEvents:"none",labelPlacement:"right",labelText:a.value.getLabel(m),labelOffsetX:2,labelFontWeight:_&&!S?"bold":void 0,labelOpacity:S?.5:void 0,labelPointerEvents:"none",labelStroke:w?"#0FF":void 0}}},edge:{type(y){return c(y)?Na.tyoe:"polyline"},style(y){if(c(y)){const m=d(v,y),w=u.value.getLabel(y),S=w.match(f);return{curveOffset:30*(Number(y.source)>Number(y.target)?1:-1),stroke:u.value.getColor(y)||"#FF7FFF",zIndex:1+u.value.getGroupIndex(y),pointerEvents:"none",endArrow:!0,endArrowOpacity:.5,endArrowPointerEvents:"none",labelText:w,labelFill:"#F00",labelFontSize:S&&m<50?8:12,labelBackground:!0,labelBackgroundStroke:"#FF00FF",labelPadding:S?[0,1,-2,0]:[0,0,-1,0],labelBackgroundLineWidth:1,labelBackgroundRadius:2,labelBackgroundPointerEvents:"none",labelOffsetX:m<50?-5:0,labelPointerEvents:"none",lineDash:[Na.lineDashGap,Na.lineDashGap]}}return{router:{type:"orth"},stroke:"#E3E3E3",pointerEvents:"none"}}},layout:{type:"indented",direction:"LR",indent:20,getHeight:()=>0},behaviors:["drag-canvas","zoom-canvas"]});await v.render(),g.value=v});const p=Ws(()=>{const v=t.filterUnitResults;return v!=null&&v.length?u.value.groupList.filter(y=>v.includes(y.result)).flatMap(y=>y.edgeGroup):[]});return ib([g,p],async([v,y],[m,w])=>{if(v){if(y!==w){const S=w.filter(k=>!y.some(T=>T.id===k.id)),_=y.filter(k=>!w.some(T=>T.id===k.id));if(!S.length&&!_.length)return;v.removeEdgeData(S.map(k=>k.id)),await v.draw(),v.addEdgeData(_)}else v.addEdgeData(y);await v.draw()}}),(v,y)=>(HC(),YC("div",{ref_key:"el",ref:e,class:"TrackGraph"},null,512))}});export{AX as default};
|
|
134
|
-
//# sourceMappingURL=TrackGraph-
|
|
134
|
+
//# sourceMappingURL=TrackGraph-Cj0YVzGl.js.map
|