/
clustergrammer-gl.min.js
25 lines (25 loc) · 778 KB
/
clustergrammer-gl.min.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
var CGM=function(t){var n={};function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,e),i.l=!0,i.exports}return e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:r})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(e.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var i in t)e.d(r,i,function(n){return t[n]}.bind(null,i));return r},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p="",e(e.s=106)}([function(t,n,e){"use strict";var r="http://www.w3.org/1999/xhtml",i={svg:"http://www.w3.org/2000/svg",xhtml:r,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},o=function(t){var n=t+="",e=n.indexOf(":");return e>=0&&"xmlns"!==(n=t.slice(0,e))&&(t=t.slice(e+1)),i.hasOwnProperty(n)?{space:i[n],local:t}:t};function a(t){return function(){var n=this.ownerDocument,e=this.namespaceURI;return e===r&&n.documentElement.namespaceURI===r?n.createElement(t):n.createElementNS(e,t)}}function u(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}var s=function(t){var n=o(t);return(n.local?u:a)(n)};function f(){}var c=function(t){return null==t?f:function(){return this.querySelector(t)}};function l(){return[]}var h=function(t){return null==t?l:function(){return this.querySelectorAll(t)}},p=function(t){return function(){return this.matches(t)}};if("undefined"!=typeof document){var d=document.documentElement;if(!d.matches){var v=d.webkitMatchesSelector||d.msMatchesSelector||d.mozMatchesSelector||d.oMatchesSelector;p=function(t){return function(){return v.call(this,t)}}}}var m=p,g=function(t){return new Array(t.length)};function y(t,n){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=n}y.prototype={constructor:y,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,n){return this._parent.insertBefore(t,n)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};function _(t,n,e,r,i,o){for(var a,u=0,s=n.length,f=o.length;u<f;++u)(a=n[u])?(a.__data__=o[u],r[u]=a):e[u]=new y(t,o[u]);for(;u<s;++u)(a=n[u])&&(i[u]=a)}function b(t,n,e,r,i,o,a){var u,s,f,c={},l=n.length,h=o.length,p=new Array(l);for(u=0;u<l;++u)(s=n[u])&&(p[u]=f="$"+a.call(s,s.__data__,u,n),f in c?i[u]=s:c[f]=s);for(u=0;u<h;++u)(s=c[f="$"+a.call(t,o[u],u,o)])?(r[u]=s,s.__data__=o[u],c[f]=null):e[u]=new y(t,o[u]);for(u=0;u<l;++u)(s=n[u])&&c[p[u]]===s&&(i[u]=s)}function x(t,n){return t<n?-1:t>n?1:t>=n?0:NaN}function w(t){return function(){this.removeAttribute(t)}}function M(t){return function(){this.removeAttributeNS(t.space,t.local)}}function k(t,n){return function(){this.setAttribute(t,n)}}function A(t,n){return function(){this.setAttributeNS(t.space,t.local,n)}}function z(t,n){return function(){var e=n.apply(this,arguments);null==e?this.removeAttribute(t):this.setAttribute(t,e)}}function E(t,n){return function(){var e=n.apply(this,arguments);null==e?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,e)}}var S=function(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView};function N(t){return function(){this.style.removeProperty(t)}}function T(t,n,e){return function(){this.style.setProperty(t,n,e)}}function C(t,n,e){return function(){var r=n.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,e)}}function j(t,n){return t.style.getPropertyValue(n)||S(t).getComputedStyle(t,null).getPropertyValue(n)}function O(t){return function(){delete this[t]}}function P(t,n){return function(){this[t]=n}}function B(t,n){return function(){var e=n.apply(this,arguments);null==e?delete this[t]:this[t]=e}}function R(t){return t.trim().split(/^|\s+/)}function I(t){return t.classList||new D(t)}function D(t){this._node=t,this._names=R(t.getAttribute("class")||"")}function F(t,n){for(var e=I(t),r=-1,i=n.length;++r<i;)e.add(n[r])}function U(t,n){for(var e=I(t),r=-1,i=n.length;++r<i;)e.remove(n[r])}function L(t){return function(){F(this,t)}}function q(t){return function(){U(this,t)}}function H(t,n){return function(){(n.apply(this,arguments)?F:U)(this,t)}}D.prototype={add:function(t){this._names.indexOf(t)<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var n=this._names.indexOf(t);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function Y(){this.textContent=""}function V(t){return function(){this.textContent=t}}function W(t){return function(){var n=t.apply(this,arguments);this.textContent=null==n?"":n}}function X(){this.innerHTML=""}function G(t){return function(){this.innerHTML=t}}function Z(t){return function(){var n=t.apply(this,arguments);this.innerHTML=null==n?"":n}}function $(){this.nextSibling&&this.parentNode.appendChild(this)}function Q(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function K(){return null}function J(){var t=this.parentNode;t&&t.removeChild(this)}function tt(){return this.parentNode.insertBefore(this.cloneNode(!1),this.nextSibling)}function nt(){return this.parentNode.insertBefore(this.cloneNode(!0),this.nextSibling)}var et={},rt=null;"undefined"!=typeof document&&("onmouseenter"in document.documentElement||(et={mouseenter:"mouseover",mouseleave:"mouseout"}));function it(t,n,e){return t=ot(t,n,e),function(n){var e=n.relatedTarget;e&&(e===this||8&e.compareDocumentPosition(this))||t.call(this,n)}}function ot(t,n,e){return function(r){var i=rt;rt=r;try{t.call(this,this.__data__,n,e)}finally{rt=i}}}function at(t){return t.trim().split(/^|\s+/).map((function(t){var n="",e=t.indexOf(".");return e>=0&&(n=t.slice(e+1),t=t.slice(0,e)),{type:t,name:n}}))}function ut(t){return function(){var n=this.__on;if(n){for(var e,r=0,i=-1,o=n.length;r<o;++r)e=n[r],t.type&&e.type!==t.type||e.name!==t.name?n[++i]=e:this.removeEventListener(e.type,e.listener,e.capture);++i?n.length=i:delete this.__on}}}function st(t,n,e){var r=et.hasOwnProperty(t.type)?it:ot;return function(i,o,a){var u,s=this.__on,f=r(n,o,a);if(s)for(var c=0,l=s.length;c<l;++c)if((u=s[c]).type===t.type&&u.name===t.name)return this.removeEventListener(u.type,u.listener,u.capture),this.addEventListener(u.type,u.listener=f,u.capture=e),void(u.value=n);this.addEventListener(t.type,f,e),u={type:t.type,name:t.name,value:n,listener:f,capture:e},s?s.push(u):this.__on=[u]}}function ft(t,n,e,r){var i=rt;t.sourceEvent=rt,rt=t;try{return n.apply(e,r)}finally{rt=i}}function ct(t,n,e){var r=S(t),i=r.CustomEvent;"function"==typeof i?i=new i(n,e):(i=r.document.createEvent("Event"),e?(i.initEvent(n,e.bubbles,e.cancelable),i.detail=e.detail):i.initEvent(n,!1,!1)),t.dispatchEvent(i)}function lt(t,n){return function(){return ct(this,t,n)}}function ht(t,n){return function(){return ct(this,t,n.apply(this,arguments))}}var pt=[null];function dt(t,n){this._groups=t,this._parents=n}function vt(){return new dt([[document.documentElement]],pt)}dt.prototype=vt.prototype={constructor:dt,select:function(t){"function"!=typeof t&&(t=c(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o,a,u=n[i],s=u.length,f=r[i]=new Array(s),l=0;l<s;++l)(o=u[l])&&(a=t.call(o,o.__data__,l,u))&&("__data__"in o&&(a.__data__=o.__data__),f[l]=a);return new dt(r,this._parents)},selectAll:function(t){"function"!=typeof t&&(t=h(t));for(var n=this._groups,e=n.length,r=[],i=[],o=0;o<e;++o)for(var a,u=n[o],s=u.length,f=0;f<s;++f)(a=u[f])&&(r.push(t.call(a,a.__data__,f,u)),i.push(a));return new dt(r,i)},filter:function(t){"function"!=typeof t&&(t=m(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o,a=n[i],u=a.length,s=r[i]=[],f=0;f<u;++f)(o=a[f])&&t.call(o,o.__data__,f,a)&&s.push(o);return new dt(r,this._parents)},data:function(t,n){if(!t)return d=new Array(this.size()),c=-1,this.each((function(t){d[++c]=t})),d;var e,r=n?b:_,i=this._parents,o=this._groups;"function"!=typeof t&&(e=t,t=function(){return e});for(var a=o.length,u=new Array(a),s=new Array(a),f=new Array(a),c=0;c<a;++c){var l=i[c],h=o[c],p=h.length,d=t.call(l,l&&l.__data__,c,i),v=d.length,m=s[c]=new Array(v),g=u[c]=new Array(v);r(l,h,m,g,f[c]=new Array(p),d,n);for(var y,x,w=0,M=0;w<v;++w)if(y=m[w]){for(w>=M&&(M=w+1);!(x=g[M])&&++M<v;);y._next=x||null}}return(u=new dt(u,i))._enter=s,u._exit=f,u},enter:function(){return new dt(this._enter||this._groups.map(g),this._parents)},exit:function(){return new dt(this._exit||this._groups.map(g),this._parents)},merge:function(t){for(var n=this._groups,e=t._groups,r=n.length,i=e.length,o=Math.min(r,i),a=new Array(r),u=0;u<o;++u)for(var s,f=n[u],c=e[u],l=f.length,h=a[u]=new Array(l),p=0;p<l;++p)(s=f[p]||c[p])&&(h[p]=s);for(;u<r;++u)a[u]=n[u];return new dt(a,this._parents)},order:function(){for(var t=this._groups,n=-1,e=t.length;++n<e;)for(var r,i=t[n],o=i.length-1,a=i[o];--o>=0;)(r=i[o])&&(a&&a!==r.nextSibling&&a.parentNode.insertBefore(r,a),a=r);return this},sort:function(t){function n(n,e){return n&&e?t(n.__data__,e.__data__):!n-!e}t||(t=x);for(var e=this._groups,r=e.length,i=new Array(r),o=0;o<r;++o){for(var a,u=e[o],s=u.length,f=i[o]=new Array(s),c=0;c<s;++c)(a=u[c])&&(f[c]=a);f.sort(n)}return new dt(i,this._parents).order()},call:function(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this},nodes:function(){var t=new Array(this.size()),n=-1;return this.each((function(){t[++n]=this})),t},node:function(){for(var t=this._groups,n=0,e=t.length;n<e;++n)for(var r=t[n],i=0,o=r.length;i<o;++i){var a=r[i];if(a)return a}return null},size:function(){var t=0;return this.each((function(){++t})),t},empty:function(){return!this.node()},each:function(t){for(var n=this._groups,e=0,r=n.length;e<r;++e)for(var i,o=n[e],a=0,u=o.length;a<u;++a)(i=o[a])&&t.call(i,i.__data__,a,o);return this},attr:function(t,n){var e=o(t);if(arguments.length<2){var r=this.node();return e.local?r.getAttributeNS(e.space,e.local):r.getAttribute(e)}return this.each((null==n?e.local?M:w:"function"==typeof n?e.local?E:z:e.local?A:k)(e,n))},style:function(t,n,e){return arguments.length>1?this.each((null==n?N:"function"==typeof n?C:T)(t,n,null==e?"":e)):j(this.node(),t)},property:function(t,n){return arguments.length>1?this.each((null==n?O:"function"==typeof n?B:P)(t,n)):this.node()[t]},classed:function(t,n){var e=R(t+"");if(arguments.length<2){for(var r=I(this.node()),i=-1,o=e.length;++i<o;)if(!r.contains(e[i]))return!1;return!0}return this.each(("function"==typeof n?H:n?L:q)(e,n))},text:function(t){return arguments.length?this.each(null==t?Y:("function"==typeof t?W:V)(t)):this.node().textContent},html:function(t){return arguments.length?this.each(null==t?X:("function"==typeof t?Z:G)(t)):this.node().innerHTML},raise:function(){return this.each($)},lower:function(){return this.each(Q)},append:function(t){var n="function"==typeof t?t:s(t);return this.select((function(){return this.appendChild(n.apply(this,arguments))}))},insert:function(t,n){var e="function"==typeof t?t:s(t),r=null==n?K:"function"==typeof n?n:c(n);return this.select((function(){return this.insertBefore(e.apply(this,arguments),r.apply(this,arguments)||null)}))},remove:function(){return this.each(J)},clone:function(t){return this.select(t?nt:tt)},datum:function(t){return arguments.length?this.property("__data__",t):this.node().__data__},on:function(t,n,e){var r,i,o=at(t+""),a=o.length;if(!(arguments.length<2)){for(u=n?st:ut,null==e&&(e=!1),r=0;r<a;++r)this.each(u(o[r],n,e));return this}var u=this.node().__on;if(u)for(var s,f=0,c=u.length;f<c;++f)for(r=0,s=u[f];r<a;++r)if((i=o[r]).type===s.type&&i.name===s.name)return s.value},dispatch:function(t,n){return this.each(("function"==typeof n?ht:lt)(t,n))}};var mt=vt,gt=function(t){return"string"==typeof t?new dt([[document.querySelector(t)]],[document.documentElement]):new dt([[t]],pt)},yt=function(t){return gt(s(t).call(document.documentElement))},_t=0;function bt(){return new xt}function xt(){this._="@"+(++_t).toString(36)}xt.prototype=bt.prototype={constructor:xt,get:function(t){for(var n=this._;!(n in t);)if(!(t=t.parentNode))return;return t[n]},set:function(t,n){return t[this._]=n},remove:function(t){return this._ in t&&delete t[this._]},toString:function(){return this._}};var wt=function(){for(var t,n=rt;t=n.sourceEvent;)n=t;return n},Mt=function(t,n){var e=t.ownerSVGElement||t;if(e.createSVGPoint){var r=e.createSVGPoint();return r.x=n.clientX,r.y=n.clientY,[(r=r.matrixTransform(t.getScreenCTM().inverse())).x,r.y]}var i=t.getBoundingClientRect();return[n.clientX-i.left-t.clientLeft,n.clientY-i.top-t.clientTop]},kt=function(t){var n=wt();return n.changedTouches&&(n=n.changedTouches[0]),Mt(t,n)},At=function(t){return"string"==typeof t?new dt([document.querySelectorAll(t)],[document.documentElement]):new dt([null==t?[]:t],pt)},zt=function(t,n,e){arguments.length<3&&(e=n,n=wt().changedTouches);for(var r,i=0,o=n?n.length:0;i<o;++i)if((r=n[i]).identifier===e)return Mt(t,r);return null},Et=function(t,n){null==n&&(n=wt().touches);for(var e=0,r=n?n.length:0,i=new Array(r);e<r;++e)i[e]=Mt(t,n[e]);return i};e.d(n,"b",(function(){return yt})),e.d(n,"c",(function(){return s})),e.d(n,"f",(function(){return bt})),e.d(n,"g",(function(){return m})),e.d(n,"h",(function(){return kt})),e.d(n,"i",(function(){return o})),e.d(n,"j",(function(){return i})),e.d(n,"a",(function(){return Mt})),e.d(n,"k",(function(){return gt})),e.d(n,"l",(function(){return At})),e.d(n,"m",(function(){return mt})),e.d(n,"n",(function(){return c})),e.d(n,"o",(function(){return h})),e.d(n,"p",(function(){return j})),e.d(n,"q",(function(){return zt})),e.d(n,"r",(function(){return Et})),e.d(n,"s",(function(){return S})),e.d(n,"e",(function(){return rt})),e.d(n,"d",(function(){return ft}))},function(t,n,e){"use strict";e.r(n);var r=function(t,n){return t<n?-1:t>n?1:t>=n?0:NaN},i=function(t){var n;return 1===t.length&&(n=t,t=function(t,e){return r(n(t),e)}),{left:function(n,e,r,i){for(null==r&&(r=0),null==i&&(i=n.length);r<i;){var o=r+i>>>1;t(n[o],e)<0?r=o+1:i=o}return r},right:function(n,e,r,i){for(null==r&&(r=0),null==i&&(i=n.length);r<i;){var o=r+i>>>1;t(n[o],e)>0?i=o:r=o+1}return r}}};var o=i(r),a=o.right,u=o.left,s=a,f=function(t,n){null==n&&(n=c);for(var e=0,r=t.length-1,i=t[0],o=new Array(r<0?0:r);e<r;)o[e]=n(i,i=t[++e]);return o};function c(t,n){return[t,n]}var l=function(t,n,e){var r,i,o,a,u=t.length,s=n.length,f=new Array(u*s);for(null==e&&(e=c),r=o=0;r<u;++r)for(a=t[r],i=0;i<s;++i,++o)f[o]=e(a,n[i]);return f},h=function(t,n){return n<t?-1:n>t?1:n>=t?0:NaN},p=function(t){return null===t?NaN:+t},d=function(t,n){var e,r,i=t.length,o=0,a=-1,u=0,s=0;if(null==n)for(;++a<i;)isNaN(e=p(t[a]))||(s+=(r=e-u)*(e-(u+=r/++o)));else for(;++a<i;)isNaN(e=p(n(t[a],a,t)))||(s+=(r=e-u)*(e-(u+=r/++o)));if(o>1)return s/(o-1)},v=function(t,n){var e=d(t,n);return e?Math.sqrt(e):e},m=function(t,n){var e,r,i,o=t.length,a=-1;if(null==n){for(;++a<o;)if(null!=(e=t[a])&&e>=e)for(r=i=e;++a<o;)null!=(e=t[a])&&(r>e&&(r=e),i<e&&(i=e))}else for(;++a<o;)if(null!=(e=n(t[a],a,t))&&e>=e)for(r=i=e;++a<o;)null!=(e=n(t[a],a,t))&&(r>e&&(r=e),i<e&&(i=e));return[r,i]},g=Array.prototype,y=g.slice,_=g.map,b=function(t){return function(){return t}},x=function(t){return t},w=function(t,n,e){t=+t,n=+n,e=(i=arguments.length)<2?(n=t,t=0,1):i<3?1:+e;for(var r=-1,i=0|Math.max(0,Math.ceil((n-t)/e)),o=new Array(i);++r<i;)o[r]=t+r*e;return o},M=Math.sqrt(50),k=Math.sqrt(10),A=Math.sqrt(2),z=function(t,n,e){var r,i,o,a,u=-1;if(e=+e,(t=+t)===(n=+n)&&e>0)return[t];if((r=n<t)&&(i=t,t=n,n=i),0===(a=E(t,n,e))||!isFinite(a))return[];if(a>0)for(t=Math.ceil(t/a),n=Math.floor(n/a),o=new Array(i=Math.ceil(n-t+1));++u<i;)o[u]=(t+u)*a;else for(t=Math.floor(t*a),n=Math.ceil(n*a),o=new Array(i=Math.ceil(t-n+1));++u<i;)o[u]=(t-u)/a;return r&&o.reverse(),o};function E(t,n,e){var r=(n-t)/Math.max(0,e),i=Math.floor(Math.log(r)/Math.LN10),o=r/Math.pow(10,i);return i>=0?(o>=M?10:o>=k?5:o>=A?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(o>=M?10:o>=k?5:o>=A?2:1)}function S(t,n,e){var r=Math.abs(n-t)/Math.max(0,e),i=Math.pow(10,Math.floor(Math.log(r)/Math.LN10)),o=r/i;return o>=M?i*=10:o>=k?i*=5:o>=A&&(i*=2),n<t?-i:i}var N=function(t){return Math.ceil(Math.log(t.length)/Math.LN2)+1},T=function(){var t=x,n=m,e=N;function r(r){var i,o,a=r.length,u=new Array(a);for(i=0;i<a;++i)u[i]=t(r[i],i,r);var f=n(u),c=f[0],l=f[1],h=e(u,c,l);Array.isArray(h)||(h=S(c,l,h),h=w(Math.ceil(c/h)*h,l,h));for(var p=h.length;h[0]<=c;)h.shift(),--p;for(;h[p-1]>l;)h.pop(),--p;var d,v=new Array(p+1);for(i=0;i<=p;++i)(d=v[i]=[]).x0=i>0?h[i-1]:c,d.x1=i<p?h[i]:l;for(i=0;i<a;++i)c<=(o=u[i])&&o<=l&&v[s(h,o,0,p)].push(r[i]);return v}return r.value=function(n){return arguments.length?(t="function"==typeof n?n:b(n),r):t},r.domain=function(t){return arguments.length?(n="function"==typeof t?t:b([t[0],t[1]]),r):n},r.thresholds=function(t){return arguments.length?(e="function"==typeof t?t:Array.isArray(t)?b(y.call(t)):b(t),r):e},r},C=function(t,n,e){if(null==e&&(e=p),r=t.length){if((n=+n)<=0||r<2)return+e(t[0],0,t);if(n>=1)return+e(t[r-1],r-1,t);var r,i=(r-1)*n,o=Math.floor(i),a=+e(t[o],o,t);return a+(+e(t[o+1],o+1,t)-a)*(i-o)}},j=function(t,n,e){return t=_.call(t,p).sort(r),Math.ceil((e-n)/(2*(C(t,.75)-C(t,.25))*Math.pow(t.length,-1/3)))},O=function(t,n,e){return Math.ceil((e-n)/(3.5*v(t)*Math.pow(t.length,-1/3)))},P=function(t,n){var e,r,i=t.length,o=-1;if(null==n){for(;++o<i;)if(null!=(e=t[o])&&e>=e)for(r=e;++o<i;)null!=(e=t[o])&&e>r&&(r=e)}else for(;++o<i;)if(null!=(e=n(t[o],o,t))&&e>=e)for(r=e;++o<i;)null!=(e=n(t[o],o,t))&&e>r&&(r=e);return r},B=function(t,n){var e,r=t.length,i=r,o=-1,a=0;if(null==n)for(;++o<r;)isNaN(e=p(t[o]))?--i:a+=e;else for(;++o<r;)isNaN(e=p(n(t[o],o,t)))?--i:a+=e;if(i)return a/i},R=function(t,n){var e,i=t.length,o=-1,a=[];if(null==n)for(;++o<i;)isNaN(e=p(t[o]))||a.push(e);else for(;++o<i;)isNaN(e=p(n(t[o],o,t)))||a.push(e);return C(a.sort(r),.5)},I=function(t){for(var n,e,r,i=t.length,o=-1,a=0;++o<i;)a+=t[o].length;for(e=new Array(a);--i>=0;)for(n=(r=t[i]).length;--n>=0;)e[--a]=r[n];return e},D=function(t,n){var e,r,i=t.length,o=-1;if(null==n){for(;++o<i;)if(null!=(e=t[o])&&e>=e)for(r=e;++o<i;)null!=(e=t[o])&&r>e&&(r=e)}else for(;++o<i;)if(null!=(e=n(t[o],o,t))&&e>=e)for(r=e;++o<i;)null!=(e=n(t[o],o,t))&&r>e&&(r=e);return r},F=function(t,n){for(var e=n.length,r=new Array(e);e--;)r[e]=t[n[e]];return r},U=function(t,n){if(e=t.length){var e,i,o=0,a=0,u=t[a];for(null==n&&(n=r);++o<e;)(n(i=t[o],u)<0||0!==n(u,u))&&(u=i,a=o);return 0===n(u,u)?a:void 0}},L=function(t,n,e){for(var r,i,o=(null==e?t.length:e)-(n=null==n?0:+n);o;)i=Math.random()*o--|0,r=t[o+n],t[o+n]=t[i+n],t[i+n]=r;return t},q=function(t,n){var e,r=t.length,i=-1,o=0;if(null==n)for(;++i<r;)(e=+t[i])&&(o+=e);else for(;++i<r;)(e=+n(t[i],i,t))&&(o+=e);return o},H=function(t){if(!(i=t.length))return[];for(var n=-1,e=D(t,Y),r=new Array(e);++n<e;)for(var i,o=-1,a=r[n]=new Array(i);++o<i;)a[o]=t[o][n];return r};function Y(t){return t.length}var V=function(){return H(arguments)},W=Array.prototype.slice,X=function(t){return t};function G(t){return"translate("+(t+.5)+",0)"}function Z(t){return"translate(0,"+(t+.5)+")"}function $(t){return function(n){return+t(n)}}function Q(t){var n=Math.max(0,t.bandwidth()-1)/2;return t.round()&&(n=Math.round(n)),function(e){return+t(e)+n}}function K(){return!this.__axis}function J(t,n){var e=[],r=null,i=null,o=6,a=6,u=3,s=1===t||4===t?-1:1,f=4===t||2===t?"x":"y",c=1===t||3===t?G:Z;function l(l){var h=null==r?n.ticks?n.ticks.apply(n,e):n.domain():r,p=null==i?n.tickFormat?n.tickFormat.apply(n,e):X:i,d=Math.max(o,0)+u,v=n.range(),m=+v[0]+.5,g=+v[v.length-1]+.5,y=(n.bandwidth?Q:$)(n.copy()),_=l.selection?l.selection():l,b=_.selectAll(".domain").data([null]),x=_.selectAll(".tick").data(h,n).order(),w=x.exit(),M=x.enter().append("g").attr("class","tick"),k=x.select("line"),A=x.select("text");b=b.merge(b.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),x=x.merge(M),k=k.merge(M.append("line").attr("stroke","currentColor").attr(f+"2",s*o)),A=A.merge(M.append("text").attr("fill","currentColor").attr(f,s*d).attr("dy",1===t?"0em":3===t?"0.71em":"0.32em")),l!==_&&(b=b.transition(l),x=x.transition(l),k=k.transition(l),A=A.transition(l),w=w.transition(l).attr("opacity",1e-6).attr("transform",(function(t){return isFinite(t=y(t))?c(t):this.getAttribute("transform")})),M.attr("opacity",1e-6).attr("transform",(function(t){var n=this.parentNode.__axis;return c(n&&isFinite(n=n(t))?n:y(t))}))),w.remove(),b.attr("d",4===t||2==t?a?"M"+s*a+","+m+"H0.5V"+g+"H"+s*a:"M0.5,"+m+"V"+g:a?"M"+m+","+s*a+"V0.5H"+g+"V"+s*a:"M"+m+",0.5H"+g),x.attr("opacity",1).attr("transform",(function(t){return c(y(t))})),k.attr(f+"2",s*o),A.attr(f,s*d).text(p),_.filter(K).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",2===t?"start":4===t?"end":"middle"),_.each((function(){this.__axis=y}))}return l.scale=function(t){return arguments.length?(n=t,l):n},l.ticks=function(){return e=W.call(arguments),l},l.tickArguments=function(t){return arguments.length?(e=null==t?[]:W.call(t),l):e.slice()},l.tickValues=function(t){return arguments.length?(r=null==t?null:W.call(t),l):r&&r.slice()},l.tickFormat=function(t){return arguments.length?(i=t,l):i},l.tickSize=function(t){return arguments.length?(o=a=+t,l):o},l.tickSizeInner=function(t){return arguments.length?(o=+t,l):o},l.tickSizeOuter=function(t){return arguments.length?(a=+t,l):a},l.tickPadding=function(t){return arguments.length?(u=+t,l):u},l}function tt(t){return J(1,t)}function nt(t){return J(2,t)}function et(t){return J(3,t)}function rt(t){return J(4,t)}var it={value:function(){}};function ot(){for(var t,n=0,e=arguments.length,r={};n<e;++n){if(!(t=arguments[n]+"")||t in r||/[\s.]/.test(t))throw new Error("illegal type: "+t);r[t]=[]}return new at(r)}function at(t){this._=t}function ut(t,n){return t.trim().split(/^|\s+/).map((function(t){var e="",r=t.indexOf(".");if(r>=0&&(e=t.slice(r+1),t=t.slice(0,r)),t&&!n.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:e}}))}function st(t,n){for(var e,r=0,i=t.length;r<i;++r)if((e=t[r]).name===n)return e.value}function ft(t,n,e){for(var r=0,i=t.length;r<i;++r)if(t[r].name===n){t[r]=it,t=t.slice(0,r).concat(t.slice(r+1));break}return null!=e&&t.push({name:n,value:e}),t}at.prototype=ot.prototype={constructor:at,on:function(t,n){var e,r=this._,i=ut(t+"",r),o=-1,a=i.length;if(!(arguments.length<2)){if(null!=n&&"function"!=typeof n)throw new Error("invalid callback: "+n);for(;++o<a;)if(e=(t=i[o]).type)r[e]=ft(r[e],t.name,n);else if(null==n)for(e in r)r[e]=ft(r[e],t.name,null);return this}for(;++o<a;)if((e=(t=i[o]).type)&&(e=st(r[e],t.name)))return e},copy:function(){var t={},n=this._;for(var e in n)t[e]=n[e].slice();return new at(t)},call:function(t,n){if((e=arguments.length-2)>0)for(var e,r,i=new Array(e),o=0;o<e;++o)i[o]=arguments[o+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(o=0,e=(r=this._[t]).length;o<e;++o)r[o].value.apply(n,i)},apply:function(t,n,e){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var r=this._[t],i=0,o=r.length;i<o;++i)r[i].value.apply(n,e)}};var ct=ot,lt=e(0);function ht(){lt.e.stopImmediatePropagation()}var pt=function(){lt.e.preventDefault(),lt.e.stopImmediatePropagation()},dt=function(t){var n=t.document.documentElement,e=Object(lt.k)(t).on("dragstart.drag",pt,!0);"onselectstart"in n?e.on("selectstart.drag",pt,!0):(n.__noselect=n.style.MozUserSelect,n.style.MozUserSelect="none")};function vt(t,n){var e=t.document.documentElement,r=Object(lt.k)(t).on("dragstart.drag",null);n&&(r.on("click.drag",pt,!0),setTimeout((function(){r.on("click.drag",null)}),0)),"onselectstart"in e?r.on("selectstart.drag",null):(e.style.MozUserSelect=e.__noselect,delete e.__noselect)}var mt=function(t,n,e){t.prototype=n.prototype=e,e.constructor=t};function gt(t,n){var e=Object.create(t.prototype);for(var r in n)e[r]=n[r];return e}function yt(){}var _t="\\s*([+-]?\\d+)\\s*",bt="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",xt="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",wt=/^#([0-9a-f]{3,8})$/,Mt=new RegExp("^rgb\\("+[_t,_t,_t]+"\\)$"),kt=new RegExp("^rgb\\("+[xt,xt,xt]+"\\)$"),At=new RegExp("^rgba\\("+[_t,_t,_t,bt]+"\\)$"),zt=new RegExp("^rgba\\("+[xt,xt,xt,bt]+"\\)$"),Et=new RegExp("^hsl\\("+[bt,xt,xt]+"\\)$"),St=new RegExp("^hsla\\("+[bt,xt,xt,bt]+"\\)$"),Nt={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};function Tt(){return this.rgb().formatHex()}function Ct(){return this.rgb().formatRgb()}function jt(t){var n,e;return t=(t+"").trim().toLowerCase(),(n=wt.exec(t))?(e=n[1].length,n=parseInt(n[1],16),6===e?Ot(n):3===e?new It(n>>8&15|n>>4&240,n>>4&15|240&n,(15&n)<<4|15&n,1):8===e?new It(n>>24&255,n>>16&255,n>>8&255,(255&n)/255):4===e?new It(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|240&n,((15&n)<<4|15&n)/255):null):(n=Mt.exec(t))?new It(n[1],n[2],n[3],1):(n=kt.exec(t))?new It(255*n[1]/100,255*n[2]/100,255*n[3]/100,1):(n=At.exec(t))?Pt(n[1],n[2],n[3],n[4]):(n=zt.exec(t))?Pt(255*n[1]/100,255*n[2]/100,255*n[3]/100,n[4]):(n=Et.exec(t))?Lt(n[1],n[2]/100,n[3]/100,1):(n=St.exec(t))?Lt(n[1],n[2]/100,n[3]/100,n[4]):Nt.hasOwnProperty(t)?Ot(Nt[t]):"transparent"===t?new It(NaN,NaN,NaN,0):null}function Ot(t){return new It(t>>16&255,t>>8&255,255&t,1)}function Pt(t,n,e,r){return r<=0&&(t=n=e=NaN),new It(t,n,e,r)}function Bt(t){return t instanceof yt||(t=jt(t)),t?new It((t=t.rgb()).r,t.g,t.b,t.opacity):new It}function Rt(t,n,e,r){return 1===arguments.length?Bt(t):new It(t,n,e,null==r?1:r)}function It(t,n,e,r){this.r=+t,this.g=+n,this.b=+e,this.opacity=+r}function Dt(){return"#"+Ut(this.r)+Ut(this.g)+Ut(this.b)}function Ft(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?")":", "+t+")")}function Ut(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?"0":"")+t.toString(16)}function Lt(t,n,e,r){return r<=0?t=n=e=NaN:e<=0||e>=1?t=n=NaN:n<=0&&(t=NaN),new Yt(t,n,e,r)}function qt(t){if(t instanceof Yt)return new Yt(t.h,t.s,t.l,t.opacity);if(t instanceof yt||(t=jt(t)),!t)return new Yt;if(t instanceof Yt)return t;var n=(t=t.rgb()).r/255,e=t.g/255,r=t.b/255,i=Math.min(n,e,r),o=Math.max(n,e,r),a=NaN,u=o-i,s=(o+i)/2;return u?(a=n===o?(e-r)/u+6*(e<r):e===o?(r-n)/u+2:(n-e)/u+4,u/=s<.5?o+i:2-o-i,a*=60):u=s>0&&s<1?0:a,new Yt(a,u,s,t.opacity)}function Ht(t,n,e,r){return 1===arguments.length?qt(t):new Yt(t,n,e,null==r?1:r)}function Yt(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}function Vt(t,n,e){return 255*(t<60?n+(e-n)*t/60:t<180?e:t<240?n+(e-n)*(240-t)/60:n)}function Wt(t,n,e,r,i){var o=t*t,a=o*t;return((1-3*t+3*o-a)*n+(4-6*o+3*a)*e+(1+3*t+3*o-3*a)*r+a*i)/6}mt(yt,jt,{copy:function(t){return Object.assign(new this.constructor,this,t)},displayable:function(){return this.rgb().displayable()},hex:Tt,formatHex:Tt,formatHsl:function(){return qt(this).formatHsl()},formatRgb:Ct,toString:Ct}),mt(It,Rt,gt(yt,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new It(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new It(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){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:Dt,formatHex:Dt,formatRgb:Ft,toString:Ft})),mt(Yt,Ht,gt(yt,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new Yt(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new Yt(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),n=isNaN(t)||isNaN(this.s)?0:this.s,e=this.l,r=e+(e<.5?e:1-e)*n,i=2*e-r;return new It(Vt(t>=240?t-240:t+120,i,r),Vt(t,i,r),Vt(t<120?t+240:t-120,i,r),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"hsl(":"hsla(")+(this.h||0)+", "+100*(this.s||0)+"%, "+100*(this.l||0)+"%"+(1===t?")":", "+t+")")}}));var Xt=function(t){var n=t.length-1;return function(e){var r=e<=0?e=0:e>=1?(e=1,n-1):Math.floor(e*n),i=t[r],o=t[r+1],a=r>0?t[r-1]:2*i-o,u=r<n-1?t[r+2]:2*o-i;return Wt((e-r/n)*n,a,i,o,u)}},Gt=function(t){var n=t.length;return function(e){var r=Math.floor(((e%=1)<0?++e:e)*n),i=t[(r+n-1)%n],o=t[r%n],a=t[(r+1)%n],u=t[(r+2)%n];return Wt((e-r/n)*n,i,o,a,u)}},Zt=function(t){return function(){return t}};function $t(t,n){return function(e){return t+e*n}}function Qt(t,n){var e=n-t;return e?$t(t,e>180||e<-180?e-360*Math.round(e/360):e):Zt(isNaN(t)?n:t)}function Kt(t){return 1==(t=+t)?Jt:function(n,e){return e-n?function(t,n,e){return t=Math.pow(t,e),n=Math.pow(n,e)-t,e=1/e,function(r){return Math.pow(t+r*n,e)}}(n,e,t):Zt(isNaN(n)?e:n)}}function Jt(t,n){var e=n-t;return e?$t(t,e):Zt(isNaN(t)?n:t)}var tn=function t(n){var e=Kt(n);function r(t,n){var r=e((t=Rt(t)).r,(n=Rt(n)).r),i=e(t.g,n.g),o=e(t.b,n.b),a=Jt(t.opacity,n.opacity);return function(n){return t.r=r(n),t.g=i(n),t.b=o(n),t.opacity=a(n),t+""}}return r.gamma=t,r}(1);function nn(t){return function(n){var e,r,i=n.length,o=new Array(i),a=new Array(i),u=new Array(i);for(e=0;e<i;++e)r=Rt(n[e]),o[e]=r.r||0,a[e]=r.g||0,u[e]=r.b||0;return o=t(o),a=t(a),u=t(u),r.opacity=1,function(t){return r.r=o(t),r.g=a(t),r.b=u(t),r+""}}}var en=nn(Xt),rn=nn(Gt),on=function(t,n){n||(n=[]);var e,r=t?Math.min(n.length,t.length):0,i=n.slice();return function(o){for(e=0;e<r;++e)i[e]=t[e]*(1-o)+n[e]*o;return i}};function an(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}var un=function(t,n){return(an(n)?on:sn)(t,n)};function sn(t,n){var e,r=n?n.length:0,i=t?Math.min(r,t.length):0,o=new Array(i),a=new Array(r);for(e=0;e<i;++e)o[e]=gn(t[e],n[e]);for(;e<r;++e)a[e]=n[e];return function(t){for(e=0;e<i;++e)a[e]=o[e](t);return a}}var fn=function(t,n){var e=new Date;return t=+t,n=+n,function(r){return e.setTime(t*(1-r)+n*r),e}},cn=function(t,n){return t=+t,n=+n,function(e){return t*(1-e)+n*e}},ln=function(t,n){var e,r={},i={};for(e in null!==t&&"object"==typeof t||(t={}),null!==n&&"object"==typeof n||(n={}),n)e in t?r[e]=gn(t[e],n[e]):i[e]=n[e];return function(t){for(e in r)i[e]=r[e](t);return i}},hn=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,pn=new RegExp(hn.source,"g");var dn,vn,mn=function(t,n){var e,r,i,o=hn.lastIndex=pn.lastIndex=0,a=-1,u=[],s=[];for(t+="",n+="";(e=hn.exec(t))&&(r=pn.exec(n));)(i=r.index)>o&&(i=n.slice(o,i),u[a]?u[a]+=i:u[++a]=i),(e=e[0])===(r=r[0])?u[a]?u[a]+=r:u[++a]=r:(u[++a]=null,s.push({i:a,x:cn(e,r)})),o=pn.lastIndex;return o<n.length&&(i=n.slice(o),u[a]?u[a]+=i:u[++a]=i),u.length<2?s[0]?function(t){return function(n){return t(n)+""}}(s[0].x):function(t){return function(){return t}}(n):(n=s.length,function(t){for(var e,r=0;r<n;++r)u[(e=s[r]).i]=e.x(t);return u.join("")})},gn=function(t,n){var e,r=typeof n;return null==n||"boolean"===r?Zt(n):("number"===r?cn:"string"===r?(e=jt(n))?(n=e,tn):mn:n instanceof jt?tn:n instanceof Date?fn:an(n)?on:Array.isArray(n)?sn:"function"!=typeof n.valueOf&&"function"!=typeof n.toString||isNaN(n)?ln:cn)(t,n)},yn=0,_n=0,bn=0,xn=0,wn=0,Mn=0,kn="object"==typeof performance&&performance.now?performance:Date,An="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function zn(){return wn||(An(En),wn=kn.now()+Mn)}function En(){wn=0}function Sn(){this._call=this._time=this._next=null}function Nn(t,n,e){var r=new Sn;return r.restart(t,n,e),r}function Tn(){zn(),++yn;for(var t,n=dn;n;)(t=wn-n._time)>=0&&n._call.call(null,t),n=n._next;--yn}function Cn(){wn=(xn=kn.now())+Mn,yn=_n=0;try{Tn()}finally{yn=0,function(){var t,n,e=dn,r=1/0;for(;e;)e._call?(r>e._time&&(r=e._time),t=e,e=e._next):(n=e._next,e._next=null,e=t?t._next=n:dn=n);vn=t,On(r)}(),wn=0}}function jn(){var t=kn.now(),n=t-xn;n>1e3&&(Mn-=n,xn=t)}function On(t){yn||(_n&&(_n=clearTimeout(_n)),t-wn>24?(t<1/0&&(_n=setTimeout(Cn,t-kn.now()-Mn)),bn&&(bn=clearInterval(bn))):(bn||(xn=kn.now(),bn=setInterval(jn,1e3)),yn=1,An(Cn)))}Sn.prototype=Nn.prototype={constructor:Sn,restart:function(t,n,e){if("function"!=typeof t)throw new TypeError("callback is not a function");e=(null==e?zn():+e)+(null==n?0:+n),this._next||vn===this||(vn?vn._next=this:dn=this,vn=this),this._call=t,this._time=e,On()},stop:function(){this._call&&(this._call=null,this._time=1/0,On())}};var Pn=function(t,n,e){var r=new Sn;return n=null==n?0:+n,r.restart((function(e){r.stop(),t(e+n)}),n,e),r},Bn=ct("start","end","cancel","interrupt"),Rn=[],In=function(t,n,e,r,i,o){var a=t.__transition;if(a){if(e in a)return}else t.__transition={};!function(t,n,e){var r,i=t.__transition;function o(s){var f,c,l,h;if(1!==e.state)return u();for(f in i)if((h=i[f]).name===e.name){if(3===h.state)return Pn(o);4===h.state?(h.state=6,h.timer.stop(),h.on.call("interrupt",t,t.__data__,h.index,h.group),delete i[f]):+f<n&&(h.state=6,h.timer.stop(),h.on.call("cancel",t,t.__data__,h.index,h.group),delete i[f])}if(Pn((function(){3===e.state&&(e.state=4,e.timer.restart(a,e.delay,e.time),a(s))})),e.state=2,e.on.call("start",t,t.__data__,e.index,e.group),2===e.state){for(e.state=3,r=new Array(l=e.tween.length),f=0,c=-1;f<l;++f)(h=e.tween[f].value.call(t,t.__data__,e.index,e.group))&&(r[++c]=h);r.length=c+1}}function a(n){for(var i=n<e.duration?e.ease.call(null,n/e.duration):(e.timer.restart(u),e.state=5,1),o=-1,a=r.length;++o<a;)r[o].call(t,i);5===e.state&&(e.on.call("end",t,t.__data__,e.index,e.group),u())}function u(){for(var r in e.state=6,e.timer.stop(),delete i[n],i)return;delete t.__transition}i[n]=e,e.timer=Nn((function(t){e.state=1,e.timer.restart(o,e.delay,e.time),e.delay<=t&&o(t-e.delay)}),0,e.time)}(t,e,{name:n,index:r,group:i,on:Bn,tween:Rn,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:0})};function Dn(t,n){var e=Un(t,n);if(e.state>0)throw new Error("too late; already scheduled");return e}function Fn(t,n){var e=Un(t,n);if(e.state>3)throw new Error("too late; already running");return e}function Un(t,n){var e=t.__transition;if(!e||!(e=e[n]))throw new Error("transition not found");return e}var Ln,qn,Hn,Yn,Vn=function(t,n){var e,r,i,o=t.__transition,a=!0;if(o){for(i in n=null==n?null:n+"",o)(e=o[i]).name===n?(r=e.state>2&&e.state<5,e.state=6,e.timer.stop(),e.on.call(r?"interrupt":"cancel",t,t.__data__,e.index,e.group),delete o[i]):a=!1;a&&delete t.__transition}},Wn=180/Math.PI,Xn={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1},Gn=function(t,n,e,r,i,o){var a,u,s;return(a=Math.sqrt(t*t+n*n))&&(t/=a,n/=a),(s=t*e+n*r)&&(e-=t*s,r-=n*s),(u=Math.sqrt(e*e+r*r))&&(e/=u,r/=u,s/=u),t*r<n*e&&(t=-t,n=-n,s=-s,a=-a),{translateX:i,translateY:o,rotate:Math.atan2(n,t)*Wn,skewX:Math.atan(s)*Wn,scaleX:a,scaleY:u}};function Zn(t,n,e,r){function i(t){return t.length?t.pop()+" ":""}return function(o,a){var u=[],s=[];return o=t(o),a=t(a),function(t,r,i,o,a,u){if(t!==i||r!==o){var s=a.push("translate(",null,n,null,e);u.push({i:s-4,x:cn(t,i)},{i:s-2,x:cn(r,o)})}else(i||o)&&a.push("translate("+i+n+o+e)}(o.translateX,o.translateY,a.translateX,a.translateY,u,s),function(t,n,e,o){t!==n?(t-n>180?n+=360:n-t>180&&(t+=360),o.push({i:e.push(i(e)+"rotate(",null,r)-2,x:cn(t,n)})):n&&e.push(i(e)+"rotate("+n+r)}(o.rotate,a.rotate,u,s),function(t,n,e,o){t!==n?o.push({i:e.push(i(e)+"skewX(",null,r)-2,x:cn(t,n)}):n&&e.push(i(e)+"skewX("+n+r)}(o.skewX,a.skewX,u,s),function(t,n,e,r,o,a){if(t!==e||n!==r){var u=o.push(i(o)+"scale(",null,",",null,")");a.push({i:u-4,x:cn(t,e)},{i:u-2,x:cn(n,r)})}else 1===e&&1===r||o.push(i(o)+"scale("+e+","+r+")")}(o.scaleX,o.scaleY,a.scaleX,a.scaleY,u,s),o=a=null,function(t){for(var n,e=-1,r=s.length;++e<r;)u[(n=s[e]).i]=n.x(t);return u.join("")}}}var $n=Zn((function(t){return"none"===t?Xn:(Ln||(Ln=document.createElement("DIV"),qn=document.documentElement,Hn=document.defaultView),Ln.style.transform=t,t=Hn.getComputedStyle(qn.appendChild(Ln),null).getPropertyValue("transform"),qn.removeChild(Ln),t=t.slice(7,-1).split(","),Gn(+t[0],+t[1],+t[2],+t[3],+t[4],+t[5]))}),"px, ","px)","deg)"),Qn=Zn((function(t){return null==t?Xn:(Yn||(Yn=document.createElementNS("http://www.w3.org/2000/svg","g")),Yn.setAttribute("transform",t),(t=Yn.transform.baseVal.consolidate())?(t=t.matrix,Gn(t.a,t.b,t.c,t.d,t.e,t.f)):Xn)}),", ",")",")");function Kn(t,n){var e,r;return function(){var i=Fn(this,t),o=i.tween;if(o!==e)for(var a=0,u=(r=e=o).length;a<u;++a)if(r[a].name===n){(r=r.slice()).splice(a,1);break}i.tween=r}}function Jn(t,n,e){var r,i;if("function"!=typeof e)throw new Error;return function(){var o=Fn(this,t),a=o.tween;if(a!==r){i=(r=a).slice();for(var u={name:n,value:e},s=0,f=i.length;s<f;++s)if(i[s].name===n){i[s]=u;break}s===f&&i.push(u)}o.tween=i}}function te(t,n,e){var r=t._id;return t.each((function(){var t=Fn(this,r);(t.value||(t.value={}))[n]=e.apply(this,arguments)})),function(t){return Un(t,r).value[n]}}var ne=function(t,n){var e;return("number"==typeof n?cn:n instanceof jt?tn:(e=jt(n))?(n=e,tn):mn)(t,n)};function ee(t){return function(){this.removeAttribute(t)}}function re(t){return function(){this.removeAttributeNS(t.space,t.local)}}function ie(t,n,e){var r,i,o=e+"";return function(){var a=this.getAttribute(t);return a===o?null:a===r?i:i=n(r=a,e)}}function oe(t,n,e){var r,i,o=e+"";return function(){var a=this.getAttributeNS(t.space,t.local);return a===o?null:a===r?i:i=n(r=a,e)}}function ae(t,n,e){var r,i,o;return function(){var a,u,s=e(this);if(null!=s)return(a=this.getAttribute(t))===(u=s+"")?null:a===r&&u===i?o:(i=u,o=n(r=a,s));this.removeAttribute(t)}}function ue(t,n,e){var r,i,o;return function(){var a,u,s=e(this);if(null!=s)return(a=this.getAttributeNS(t.space,t.local))===(u=s+"")?null:a===r&&u===i?o:(i=u,o=n(r=a,s));this.removeAttributeNS(t.space,t.local)}}function se(t,n){return function(e){this.setAttribute(t,n.call(this,e))}}function fe(t,n){return function(e){this.setAttributeNS(t.space,t.local,n.call(this,e))}}function ce(t,n){var e,r;function i(){var i=n.apply(this,arguments);return i!==r&&(e=(r=i)&&fe(t,i)),e}return i._value=n,i}function le(t,n){var e,r;function i(){var i=n.apply(this,arguments);return i!==r&&(e=(r=i)&&se(t,i)),e}return i._value=n,i}function he(t,n){return function(){Dn(this,t).delay=+n.apply(this,arguments)}}function pe(t,n){return n=+n,function(){Dn(this,t).delay=n}}function de(t,n){return function(){Fn(this,t).duration=+n.apply(this,arguments)}}function ve(t,n){return n=+n,function(){Fn(this,t).duration=n}}function me(t,n){if("function"!=typeof n)throw new Error;return function(){Fn(this,t).ease=n}}function ge(t,n,e){var r,i,o=function(t){return(t+"").trim().split(/^|\s+/).every((function(t){var n=t.indexOf(".");return n>=0&&(t=t.slice(0,n)),!t||"start"===t}))}(n)?Dn:Fn;return function(){var a=o(this,t),u=a.on;u!==r&&(i=(r=u).copy()).on(n,e),a.on=i}}var ye=lt.m.prototype.constructor;function _e(t){return function(){this.style.removeProperty(t)}}function be(t,n,e){return function(r){this.style.setProperty(t,n.call(this,r),e)}}function xe(t,n,e){var r,i;function o(){var o=n.apply(this,arguments);return o!==i&&(r=(i=o)&&be(t,o,e)),r}return o._value=n,o}function we(t){return function(n){this.textContent=t.call(this,n)}}function Me(t){var n,e;function r(){var r=t.apply(this,arguments);return r!==e&&(n=(e=r)&&we(r)),n}return r._value=t,r}var ke=0;function Ae(t,n,e,r){this._groups=t,this._parents=n,this._name=e,this._id=r}function ze(t){return Object(lt.m)().transition(t)}function Ee(){return++ke}var Se=lt.m.prototype;function Ne(t){return t*t*t}function Te(t){return--t*t*t+1}function Ce(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}Ae.prototype=ze.prototype={constructor:Ae,select:function(t){var n=this._name,e=this._id;"function"!=typeof t&&(t=Object(lt.n)(t));for(var r=this._groups,i=r.length,o=new Array(i),a=0;a<i;++a)for(var u,s,f=r[a],c=f.length,l=o[a]=new Array(c),h=0;h<c;++h)(u=f[h])&&(s=t.call(u,u.__data__,h,f))&&("__data__"in u&&(s.__data__=u.__data__),l[h]=s,In(l[h],n,e,h,l,Un(u,e)));return new Ae(o,this._parents,n,e)},selectAll:function(t){var n=this._name,e=this._id;"function"!=typeof t&&(t=Object(lt.o)(t));for(var r=this._groups,i=r.length,o=[],a=[],u=0;u<i;++u)for(var s,f=r[u],c=f.length,l=0;l<c;++l)if(s=f[l]){for(var h,p=t.call(s,s.__data__,l,f),d=Un(s,e),v=0,m=p.length;v<m;++v)(h=p[v])&&In(h,n,e,v,p,d);o.push(p),a.push(s)}return new Ae(o,a,n,e)},filter:function(t){"function"!=typeof t&&(t=Object(lt.g)(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o,a=n[i],u=a.length,s=r[i]=[],f=0;f<u;++f)(o=a[f])&&t.call(o,o.__data__,f,a)&&s.push(o);return new Ae(r,this._parents,this._name,this._id)},merge:function(t){if(t._id!==this._id)throw new Error;for(var n=this._groups,e=t._groups,r=n.length,i=e.length,o=Math.min(r,i),a=new Array(r),u=0;u<o;++u)for(var s,f=n[u],c=e[u],l=f.length,h=a[u]=new Array(l),p=0;p<l;++p)(s=f[p]||c[p])&&(h[p]=s);for(;u<r;++u)a[u]=n[u];return new Ae(a,this._parents,this._name,this._id)},selection:function(){return new ye(this._groups,this._parents)},transition:function(){for(var t=this._name,n=this._id,e=Ee(),r=this._groups,i=r.length,o=0;o<i;++o)for(var a,u=r[o],s=u.length,f=0;f<s;++f)if(a=u[f]){var c=Un(a,n);In(a,t,e,f,u,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}return new Ae(r,this._parents,t,e)},call:Se.call,nodes:Se.nodes,node:Se.node,size:Se.size,empty:Se.empty,each:Se.each,on:function(t,n){var e=this._id;return arguments.length<2?Un(this.node(),e).on.on(t):this.each(ge(e,t,n))},attr:function(t,n){var e=Object(lt.i)(t),r="transform"===e?Qn:ne;return this.attrTween(t,"function"==typeof n?(e.local?ue:ae)(e,r,te(this,"attr."+t,n)):null==n?(e.local?re:ee)(e):(e.local?oe:ie)(e,r,n))},attrTween:function(t,n){var e="attr."+t;if(arguments.length<2)return(e=this.tween(e))&&e._value;if(null==n)return this.tween(e,null);if("function"!=typeof n)throw new Error;var r=Object(lt.i)(t);return this.tween(e,(r.local?ce:le)(r,n))},style:function(t,n,e){var r="transform"==(t+="")?$n:ne;return null==n?this.styleTween(t,function(t,n){var e,r,i;return function(){var o=Object(lt.p)(this,t),a=(this.style.removeProperty(t),Object(lt.p)(this,t));return o===a?null:o===e&&a===r?i:i=n(e=o,r=a)}}(t,r)).on("end.style."+t,_e(t)):"function"==typeof n?this.styleTween(t,function(t,n,e){var r,i,o;return function(){var a=Object(lt.p)(this,t),u=e(this),s=u+"";return null==u&&(this.style.removeProperty(t),s=u=Object(lt.p)(this,t)),a===s?null:a===r&&s===i?o:(i=s,o=n(r=a,u))}}(t,r,te(this,"style."+t,n))).each(function(t,n){var e,r,i,o,a="style."+n,u="end."+a;return function(){var s=Fn(this,t),f=s.on,c=null==s.value[a]?o||(o=_e(n)):void 0;f===e&&i===c||(r=(e=f).copy()).on(u,i=c),s.on=r}}(this._id,t)):this.styleTween(t,function(t,n,e){var r,i,o=e+"";return function(){var a=Object(lt.p)(this,t);return a===o?null:a===r?i:i=n(r=a,e)}}(t,r,n),e).on("end.style."+t,null)},styleTween:function(t,n,e){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==n)return this.tween(r,null);if("function"!=typeof n)throw new Error;return this.tween(r,xe(t,n,null==e?"":e))},text:function(t){return this.tween("text","function"==typeof t?function(t){return function(){var n=t(this);this.textContent=null==n?"":n}}(te(this,"text",t)):function(t){return function(){this.textContent=t}}(null==t?"":t+""))},textTween:function(t){var n="text";if(arguments.length<1)return(n=this.tween(n))&&n._value;if(null==t)return this.tween(n,null);if("function"!=typeof t)throw new Error;return this.tween(n,Me(t))},remove:function(){return this.on("end.remove",(t=this._id,function(){var n=this.parentNode;for(var e in this.__transition)if(+e!==t)return;n&&n.removeChild(this)}));var t},tween:function(t,n){var e=this._id;if(t+="",arguments.length<2){for(var r,i=Un(this.node(),e).tween,o=0,a=i.length;o<a;++o)if((r=i[o]).name===t)return r.value;return null}return this.each((null==n?Kn:Jn)(e,t,n))},delay:function(t){var n=this._id;return arguments.length?this.each(("function"==typeof t?he:pe)(n,t)):Un(this.node(),n).delay},duration:function(t){var n=this._id;return arguments.length?this.each(("function"==typeof t?de:ve)(n,t)):Un(this.node(),n).duration},ease:function(t){var n=this._id;return arguments.length?this.each(me(n,t)):Un(this.node(),n).ease},end:function(){var t,n,e=this,r=e._id,i=e.size();return new Promise((function(o,a){var u={value:a},s={value:function(){0==--i&&o()}};e.each((function(){var e=Fn(this,r),i=e.on;i!==t&&((n=(t=i).copy())._.cancel.push(u),n._.interrupt.push(u),n._.end.push(s)),e.on=n}))}))}};var je={time:null,delay:0,duration:250,ease:Ce};function Oe(t,n){for(var e;!(e=t.__transition)||!(e=e[n]);)if(!(t=t.parentNode))return je.time=zn(),je;return e}lt.m.prototype.interrupt=function(t){return this.each((function(){Vn(this,t)}))},lt.m.prototype.transition=function(t){var n,e;t instanceof Ae?(n=t._id,t=t._name):(n=Ee(),(e=je).time=zn(),t=null==t?null:t+"");for(var r=this._groups,i=r.length,o=0;o<i;++o)for(var a,u=r[o],s=u.length,f=0;f<s;++f)(a=u[f])&&In(a,t,n,f,u,e||Oe(a,n));return new Ae(r,this._parents,t,n)};var Pe=[null],Be=function(t,n){var e,r,i=t.__transition;if(i)for(r in n=null==n?null:n+"",i)if((e=i[r]).state>1&&e.name===n)return new Ae([[t]],Pe,n,+r);return null},Re=function(t){return function(){return t}},Ie=function(t,n,e){this.target=t,this.type=n,this.selection=e};function De(){lt.e.stopImmediatePropagation()}var Fe=function(){lt.e.preventDefault(),lt.e.stopImmediatePropagation()},Ue={name:"drag"},Le={name:"space"},qe={name:"handle"},He={name:"center"};function Ye(t){return[+t[0],+t[1]]}function Ve(t){return[Ye(t[0]),Ye(t[1])]}function We(t){return function(n){return Object(lt.q)(n,lt.e.touches,t)}}var Xe={name:"x",handles:["w","e"].map(nr),input:function(t,n){return null==t?null:[[+t[0],n[0][1]],[+t[1],n[1][1]]]},output:function(t){return t&&[t[0][0],t[1][0]]}},Ge={name:"y",handles:["n","s"].map(nr),input:function(t,n){return null==t?null:[[n[0][0],+t[0]],[n[1][0],+t[1]]]},output:function(t){return t&&[t[0][1],t[1][1]]}},Ze={name:"xy",handles:["n","w","e","s","nw","ne","sw","se"].map(nr),input:function(t){return null==t?null:Ve(t)},output:function(t){return t}},$e={overlay:"crosshair",selection:"move",n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},Qe={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},Ke={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},Je={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},tr={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1};function nr(t){return{type:t}}function er(){return!lt.e.ctrlKey&&!lt.e.button}function rr(){var t=this.ownerSVGElement||this;return t.hasAttribute("viewBox")?[[(t=t.viewBox.baseVal).x,t.y],[t.x+t.width,t.y+t.height]]:[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]}function ir(){return navigator.maxTouchPoints||"ontouchstart"in this}function or(t){for(;!t.__brush;)if(!(t=t.parentNode))return;return t.__brush}function ar(t){return t[0][0]===t[1][0]||t[0][1]===t[1][1]}function ur(t){var n=t.__brush;return n?n.dim.output(n.selection):null}function sr(){return lr(Xe)}function fr(){return lr(Ge)}var cr=function(){return lr(Ze)};function lr(t){var n,e=rr,r=er,i=ir,o=!0,a=ct("start","brush","end"),u=6;function s(n){var e=n.property("__brush",v).selectAll(".overlay").data([nr("overlay")]);e.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",$e.overlay).merge(e).each((function(){var t=or(this).extent;Object(lt.k)(this).attr("x",t[0][0]).attr("y",t[0][1]).attr("width",t[1][0]-t[0][0]).attr("height",t[1][1]-t[0][1])})),n.selectAll(".selection").data([nr("selection")]).enter().append("rect").attr("class","selection").attr("cursor",$e.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var r=n.selectAll(".handle").data(t.handles,(function(t){return t.type}));r.exit().remove(),r.enter().append("rect").attr("class",(function(t){return"handle handle--"+t.type})).attr("cursor",(function(t){return $e[t.type]})),n.each(f).attr("fill","none").attr("pointer-events","all").on("mousedown.brush",h).filter(i).on("touchstart.brush",h).on("touchmove.brush",p).on("touchend.brush touchcancel.brush",d).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function f(){var t=Object(lt.k)(this),n=or(this).selection;n?(t.selectAll(".selection").style("display",null).attr("x",n[0][0]).attr("y",n[0][1]).attr("width",n[1][0]-n[0][0]).attr("height",n[1][1]-n[0][1]),t.selectAll(".handle").style("display",null).attr("x",(function(t){return"e"===t.type[t.type.length-1]?n[1][0]-u/2:n[0][0]-u/2})).attr("y",(function(t){return"s"===t.type[0]?n[1][1]-u/2:n[0][1]-u/2})).attr("width",(function(t){return"n"===t.type||"s"===t.type?n[1][0]-n[0][0]+u:u})).attr("height",(function(t){return"e"===t.type||"w"===t.type?n[1][1]-n[0][1]+u:u}))):t.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}function c(t,n,e){return!e&&t.__brush.emitter||new l(t,n)}function l(t,n){this.that=t,this.args=n,this.state=t.__brush,this.active=0}function h(){if((!n||lt.e.touches)&&r.apply(this,arguments)){var e,i,a,u,s,l,h,p,d,v,m,g=this,y=lt.e.target.__data__.type,_="selection"===(o&<.e.metaKey?y="overlay":y)?Ue:o&<.e.altKey?He:qe,b=t===Ge?null:Je[y],x=t===Xe?null:tr[y],w=or(g),M=w.extent,k=w.selection,A=M[0][0],z=M[0][1],E=M[1][0],S=M[1][1],N=0,T=0,C=b&&x&&o&<.e.shiftKey,j=lt.e.touches?We(lt.e.changedTouches[0].identifier):lt.h,O=j(g),P=O,B=c(g,arguments,!0).beforestart();"overlay"===y?(k&&(d=!0),w.selection=k=[[e=t===Ge?A:O[0],a=t===Xe?z:O[1]],[s=t===Ge?E:e,h=t===Xe?S:a]]):(e=k[0][0],a=k[0][1],s=k[1][0],h=k[1][1]),i=e,u=a,l=s,p=h;var R=Object(lt.k)(g).attr("pointer-events","none"),I=R.selectAll(".overlay").attr("cursor",$e[y]);if(lt.e.touches)B.moved=F,B.ended=L;else{var D=Object(lt.k)(lt.e.view).on("mousemove.brush",F,!0).on("mouseup.brush",L,!0);o&&D.on("keydown.brush",q,!0).on("keyup.brush",H,!0),dt(lt.e.view)}De(),Vn(g),f.call(g),B.start()}function F(){var t=j(g);!C||v||m||(Math.abs(t[0]-P[0])>Math.abs(t[1]-P[1])?m=!0:v=!0),P=t,d=!0,Fe(),U()}function U(){var t;switch(N=P[0]-O[0],T=P[1]-O[1],_){case Le:case Ue:b&&(N=Math.max(A-e,Math.min(E-s,N)),i=e+N,l=s+N),x&&(T=Math.max(z-a,Math.min(S-h,T)),u=a+T,p=h+T);break;case qe:b<0?(N=Math.max(A-e,Math.min(E-e,N)),i=e+N,l=s):b>0&&(N=Math.max(A-s,Math.min(E-s,N)),i=e,l=s+N),x<0?(T=Math.max(z-a,Math.min(S-a,T)),u=a+T,p=h):x>0&&(T=Math.max(z-h,Math.min(S-h,T)),u=a,p=h+T);break;case He:b&&(i=Math.max(A,Math.min(E,e-N*b)),l=Math.max(A,Math.min(E,s+N*b))),x&&(u=Math.max(z,Math.min(S,a-T*x)),p=Math.max(z,Math.min(S,h+T*x)))}l<i&&(b*=-1,t=e,e=s,s=t,t=i,i=l,l=t,y in Qe&&I.attr("cursor",$e[y=Qe[y]])),p<u&&(x*=-1,t=a,a=h,h=t,t=u,u=p,p=t,y in Ke&&I.attr("cursor",$e[y=Ke[y]])),w.selection&&(k=w.selection),v&&(i=k[0][0],l=k[1][0]),m&&(u=k[0][1],p=k[1][1]),k[0][0]===i&&k[0][1]===u&&k[1][0]===l&&k[1][1]===p||(w.selection=[[i,u],[l,p]],f.call(g),B.brush())}function L(){if(De(),lt.e.touches){if(lt.e.touches.length)return;n&&clearTimeout(n),n=setTimeout((function(){n=null}),500)}else vt(lt.e.view,d),D.on("keydown.brush keyup.brush mousemove.brush mouseup.brush",null);R.attr("pointer-events","all"),I.attr("cursor",$e.overlay),w.selection&&(k=w.selection),ar(k)&&(w.selection=null,f.call(g)),B.end()}function q(){switch(lt.e.keyCode){case 16:C=b&&x;break;case 18:_===qe&&(b&&(s=l-N*b,e=i+N*b),x&&(h=p-T*x,a=u+T*x),_=He,U());break;case 32:_!==qe&&_!==He||(b<0?s=l-N:b>0&&(e=i-N),x<0?h=p-T:x>0&&(a=u-T),_=Le,I.attr("cursor",$e.selection),U());break;default:return}Fe()}function H(){switch(lt.e.keyCode){case 16:C&&(v=m=C=!1,U());break;case 18:_===He&&(b<0?s=l:b>0&&(e=i),x<0?h=p:x>0&&(a=u),_=qe,U());break;case 32:_===Le&&(lt.e.altKey?(b&&(s=l-N*b,e=i+N*b),x&&(h=p-T*x,a=u+T*x),_=He):(b<0?s=l:b>0&&(e=i),x<0?h=p:x>0&&(a=u),_=qe),I.attr("cursor",$e[y]),U());break;default:return}Fe()}}function p(){c(this,arguments).moved()}function d(){c(this,arguments).ended()}function v(){var n=this.__brush||{selection:null};return n.extent=Ve(e.apply(this,arguments)),n.dim=t,n}return s.move=function(n,e){n.selection?n.on("start.brush",(function(){c(this,arguments).beforestart().start()})).on("interrupt.brush end.brush",(function(){c(this,arguments).end()})).tween("brush",(function(){var n=this,r=n.__brush,i=c(n,arguments),o=r.selection,a=t.input("function"==typeof e?e.apply(this,arguments):e,r.extent),u=gn(o,a);function s(t){r.selection=1===t&&null===a?null:u(t),f.call(n),i.brush()}return null!==o&&null!==a?s:s(1)})):n.each((function(){var n=this,r=arguments,i=n.__brush,o=t.input("function"==typeof e?e.apply(n,r):e,i.extent),a=c(n,r).beforestart();Vn(n),i.selection=null===o?null:o,f.call(n),a.start().brush().end()}))},s.clear=function(t){s.move(t,null)},l.prototype={beforestart:function(){return 1==++this.active&&(this.state.emitter=this,this.starting=!0),this},start:function(){return this.starting?(this.starting=!1,this.emit("start")):this.emit("brush"),this},brush:function(){return this.emit("brush"),this},end:function(){return 0==--this.active&&(delete this.state.emitter,this.emit("end")),this},emit:function(n){Object(lt.d)(new Ie(s,n,t.output(this.state.selection)),a.apply,a,[n,this.that,this.args])}},s.extent=function(t){return arguments.length?(e="function"==typeof t?t:Re(Ve(t)),s):e},s.filter=function(t){return arguments.length?(r="function"==typeof t?t:Re(!!t),s):r},s.touchable=function(t){return arguments.length?(i="function"==typeof t?t:Re(!!t),s):i},s.handleSize=function(t){return arguments.length?(u=+t,s):u},s.keyModifiers=function(t){return arguments.length?(o=!!t,s):o},s.on=function(){var t=a.on.apply(a,arguments);return t===a?s:t},s}var hr=Math.cos,pr=Math.sin,dr=Math.PI,vr=dr/2,mr=2*dr,gr=Math.max;function yr(t){return function(n,e){return t(n.source.value+n.target.value,e.source.value+e.target.value)}}var _r=function(){var t=0,n=null,e=null,r=null;function i(i){var o,a,u,s,f,c,l=i.length,h=[],p=w(l),d=[],v=[],m=v.groups=new Array(l),g=new Array(l*l);for(o=0,f=-1;++f<l;){for(a=0,c=-1;++c<l;)a+=i[f][c];h.push(a),d.push(w(l)),o+=a}for(n&&p.sort((function(t,e){return n(h[t],h[e])})),e&&d.forEach((function(t,n){t.sort((function(t,r){return e(i[n][t],i[n][r])}))})),s=(o=gr(0,mr-t*l)/o)?t:mr/l,a=0,f=-1;++f<l;){for(u=a,c=-1;++c<l;){var y=p[f],_=d[y][c],b=i[y][_],x=a,M=a+=b*o;g[_*l+y]={index:y,subindex:_,startAngle:x,endAngle:M,value:b}}m[y]={index:y,startAngle:u,endAngle:a,value:h[y]},a+=s}for(f=-1;++f<l;)for(c=f-1;++c<l;){var k=g[c*l+f],A=g[f*l+c];(k.value||A.value)&&v.push(k.value<A.value?{source:A,target:k}:{source:k,target:A})}return r?v.sort(r):v}return i.padAngle=function(n){return arguments.length?(t=gr(0,n),i):t},i.sortGroups=function(t){return arguments.length?(n=t,i):n},i.sortSubgroups=function(t){return arguments.length?(e=t,i):e},i.sortChords=function(t){return arguments.length?(null==t?r=null:(r=yr(t))._=t,i):r&&r._},i},br=Array.prototype.slice,xr=function(t){return function(){return t}},wr=Math.PI,Mr=2*wr,kr=Mr-1e-6;function Ar(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function zr(){return new Ar}Ar.prototype=zr.prototype={constructor:Ar,moveTo:function(t,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,n){this._+="L"+(this._x1=+t)+","+(this._y1=+n)},quadraticCurveTo:function(t,n,e,r){this._+="Q"+ +t+","+ +n+","+(this._x1=+e)+","+(this._y1=+r)},bezierCurveTo:function(t,n,e,r,i,o){this._+="C"+ +t+","+ +n+","+ +e+","+ +r+","+(this._x1=+i)+","+(this._y1=+o)},arcTo:function(t,n,e,r,i){t=+t,n=+n,e=+e,r=+r,i=+i;var o=this._x1,a=this._y1,u=e-t,s=r-n,f=o-t,c=a-n,l=f*f+c*c;if(i<0)throw new Error("negative radius: "+i);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=n);else if(l>1e-6)if(Math.abs(c*u-s*f)>1e-6&&i){var h=e-o,p=r-a,d=u*u+s*s,v=h*h+p*p,m=Math.sqrt(d),g=Math.sqrt(l),y=i*Math.tan((wr-Math.acos((d+l-v)/(2*m*g)))/2),_=y/g,b=y/m;Math.abs(_-1)>1e-6&&(this._+="L"+(t+_*f)+","+(n+_*c)),this._+="A"+i+","+i+",0,0,"+ +(c*h>f*p)+","+(this._x1=t+b*u)+","+(this._y1=n+b*s)}else this._+="L"+(this._x1=t)+","+(this._y1=n);else;},arc:function(t,n,e,r,i,o){t=+t,n=+n,o=!!o;var a=(e=+e)*Math.cos(r),u=e*Math.sin(r),s=t+a,f=n+u,c=1^o,l=o?r-i:i-r;if(e<0)throw new Error("negative radius: "+e);null===this._x1?this._+="M"+s+","+f:(Math.abs(this._x1-s)>1e-6||Math.abs(this._y1-f)>1e-6)&&(this._+="L"+s+","+f),e&&(l<0&&(l=l%Mr+Mr),l>kr?this._+="A"+e+","+e+",0,1,"+c+","+(t-a)+","+(n-u)+"A"+e+","+e+",0,1,"+c+","+(this._x1=s)+","+(this._y1=f):l>1e-6&&(this._+="A"+e+","+e+",0,"+ +(l>=wr)+","+c+","+(this._x1=t+e*Math.cos(i))+","+(this._y1=n+e*Math.sin(i))))},rect:function(t,n,e,r){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)+"h"+ +e+"v"+ +r+"h"+-e+"Z"},toString:function(){return this._}};var Er=zr;function Sr(t){return t.source}function Nr(t){return t.target}function Tr(t){return t.radius}function Cr(t){return t.startAngle}function jr(t){return t.endAngle}var Or=function(){var t=Sr,n=Nr,e=Tr,r=Cr,i=jr,o=null;function a(){var a,u=br.call(arguments),s=t.apply(this,u),f=n.apply(this,u),c=+e.apply(this,(u[0]=s,u)),l=r.apply(this,u)-vr,h=i.apply(this,u)-vr,p=c*hr(l),d=c*pr(l),v=+e.apply(this,(u[0]=f,u)),m=r.apply(this,u)-vr,g=i.apply(this,u)-vr;if(o||(o=a=Er()),o.moveTo(p,d),o.arc(0,0,c,l,h),l===m&&h===g||(o.quadraticCurveTo(0,0,v*hr(m),v*pr(m)),o.arc(0,0,v,m,g)),o.quadraticCurveTo(0,0,p,d),o.closePath(),a)return o=null,a+""||null}return a.radius=function(t){return arguments.length?(e="function"==typeof t?t:xr(+t),a):e},a.startAngle=function(t){return arguments.length?(r="function"==typeof t?t:xr(+t),a):r},a.endAngle=function(t){return arguments.length?(i="function"==typeof t?t:xr(+t),a):i},a.source=function(n){return arguments.length?(t=n,a):t},a.target=function(t){return arguments.length?(n=t,a):n},a.context=function(t){return arguments.length?(o=null==t?null:t,a):o},a},Pr=e(5),Br=Math.PI/180,Rr=180/Math.PI;function Ir(t){if(t instanceof Ur)return new Ur(t.l,t.a,t.b,t.opacity);if(t instanceof Gr)return Zr(t);t instanceof It||(t=Bt(t));var n,e,r=Yr(t.r),i=Yr(t.g),o=Yr(t.b),a=Lr((.2225045*r+.7168786*i+.0606169*o)/1);return r===i&&i===o?n=e=a:(n=Lr((.4360747*r+.3850649*i+.1430804*o)/.96422),e=Lr((.0139322*r+.0971045*i+.7141733*o)/.82521)),new Ur(116*a-16,500*(n-a),200*(a-e),t.opacity)}function Dr(t,n){return new Ur(t,0,0,null==n?1:n)}function Fr(t,n,e,r){return 1===arguments.length?Ir(t):new Ur(t,n,e,null==r?1:r)}function Ur(t,n,e,r){this.l=+t,this.a=+n,this.b=+e,this.opacity=+r}function Lr(t){return t>6/29*(6/29)*(6/29)?Math.pow(t,1/3):t/(6/29*3*(6/29))+4/29}function qr(t){return t>6/29?t*t*t:6/29*3*(6/29)*(t-4/29)}function Hr(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function Yr(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Vr(t){if(t instanceof Gr)return new Gr(t.h,t.c,t.l,t.opacity);if(t instanceof Ur||(t=Ir(t)),0===t.a&&0===t.b)return new Gr(NaN,0<t.l&&t.l<100?0:NaN,t.l,t.opacity);var n=Math.atan2(t.b,t.a)*Rr;return new Gr(n<0?n+360:n,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function Wr(t,n,e,r){return 1===arguments.length?Vr(t):new Gr(e,n,t,null==r?1:r)}function Xr(t,n,e,r){return 1===arguments.length?Vr(t):new Gr(t,n,e,null==r?1:r)}function Gr(t,n,e,r){this.h=+t,this.c=+n,this.l=+e,this.opacity=+r}function Zr(t){if(isNaN(t.h))return new Ur(t.l,0,0,t.opacity);var n=t.h*Br;return new Ur(t.l,Math.cos(n)*t.c,Math.sin(n)*t.c,t.opacity)}mt(Ur,Fr,gt(yt,{brighter:function(t){return new Ur(this.l+18*(null==t?1:t),this.a,this.b,this.opacity)},darker:function(t){return new Ur(this.l-18*(null==t?1:t),this.a,this.b,this.opacity)},rgb:function(){var t=(this.l+16)/116,n=isNaN(this.a)?t:t+this.a/500,e=isNaN(this.b)?t:t-this.b/200;return new It(Hr(3.1338561*(n=.96422*qr(n))-1.6168667*(t=1*qr(t))-.4906146*(e=.82521*qr(e))),Hr(-.9787684*n+1.9161415*t+.033454*e),Hr(.0719453*n-.2289914*t+1.4052427*e),this.opacity)}})),mt(Gr,Xr,gt(yt,{brighter:function(t){return new Gr(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker:function(t){return new Gr(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb:function(){return Zr(this).rgb()}}));var $r=-.29227,Qr=-1.7884503806,Kr=3.5172982438,Jr=-.6557636667999999;function ti(t){if(t instanceof ei)return new ei(t.h,t.s,t.l,t.opacity);t instanceof It||(t=Bt(t));var n=t.r/255,e=t.g/255,r=t.b/255,i=(Jr*r+Qr*n-Kr*e)/(Jr+Qr-Kr),o=r-i,a=(1.97294*(e-i)-$r*o)/-.90649,u=Math.sqrt(a*a+o*o)/(1.97294*i*(1-i)),s=u?Math.atan2(a,o)*Rr-120:NaN;return new ei(s<0?s+360:s,u,i,t.opacity)}function ni(t,n,e,r){return 1===arguments.length?ti(t):new ei(t,n,e,null==r?1:r)}function ei(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}mt(ei,ni,gt(yt,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new ei(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new ei(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*Br,n=+this.l,e=isNaN(this.s)?0:this.s*n*(1-n),r=Math.cos(t),i=Math.sin(t);return new It(255*(n+e*(-.14861*r+1.78277*i)),255*(n+e*($r*r+-.90649*i)),255*(n+e*(1.97294*r)),this.opacity)}}));var ri=Array.prototype.slice,ii=function(t,n){return t-n},oi=function(t){return function(){return t}},ai=function(t,n){for(var e,r=-1,i=n.length;++r<i;)if(e=ui(t,n[r]))return e;return 0};function ui(t,n){for(var e=n[0],r=n[1],i=-1,o=0,a=t.length,u=a-1;o<a;u=o++){var s=t[o],f=s[0],c=s[1],l=t[u],h=l[0],p=l[1];if(si(s,l,n))return 0;c>r!=p>r&&e<(h-f)*(r-c)/(p-c)+f&&(i=-i)}return i}function si(t,n,e){var r,i,o,a;return function(t,n,e){return(n[0]-t[0])*(e[1]-t[1])==(e[0]-t[0])*(n[1]-t[1])}(t,n,e)&&(i=t[r=+(t[0]===n[0])],o=e[r],a=n[r],i<=o&&o<=a||a<=o&&o<=i)}var fi=function(){},ci=[[],[[[1,1.5],[.5,1]]],[[[1.5,1],[1,1.5]]],[[[1.5,1],[.5,1]]],[[[1,.5],[1.5,1]]],[[[1,1.5],[.5,1]],[[1,.5],[1.5,1]]],[[[1,.5],[1,1.5]]],[[[1,.5],[.5,1]]],[[[.5,1],[1,.5]]],[[[1,1.5],[1,.5]]],[[[.5,1],[1,.5]],[[1.5,1],[1,1.5]]],[[[1.5,1],[1,.5]]],[[[.5,1],[1.5,1]]],[[[1,1.5],[1.5,1]]],[[[.5,1],[1,1.5]]],[]],li=function(){var t=1,n=1,e=N,r=u;function i(t){var n=e(t);if(Array.isArray(n))n=n.slice().sort(ii);else{var r=m(t),i=r[0],a=r[1];n=S(i,a,n),n=w(Math.floor(i/n)*n,Math.floor(a/n)*n,n)}return n.map((function(n){return o(t,n)}))}function o(e,i){var o=[],u=[];return function(e,r,i){var o,u,s,f,c,l,h=new Array,p=new Array;o=u=-1,f=e[0]>=r,ci[f<<1].forEach(d);for(;++o<t-1;)s=f,f=e[o+1]>=r,ci[s|f<<1].forEach(d);ci[f<<0].forEach(d);for(;++u<n-1;){for(o=-1,f=e[u*t+t]>=r,c=e[u*t]>=r,ci[f<<1|c<<2].forEach(d);++o<t-1;)s=f,f=e[u*t+t+o+1]>=r,l=c,c=e[u*t+o+1]>=r,ci[s|f<<1|c<<2|l<<3].forEach(d);ci[f|c<<3].forEach(d)}o=-1,c=e[u*t]>=r,ci[c<<2].forEach(d);for(;++o<t-1;)l=c,c=e[u*t+o+1]>=r,ci[c<<2|l<<3].forEach(d);function d(t){var n,e,r=[t[0][0]+o,t[0][1]+u],s=[t[1][0]+o,t[1][1]+u],f=a(r),c=a(s);(n=p[f])?(e=h[c])?(delete p[n.end],delete h[e.start],n===e?(n.ring.push(s),i(n.ring)):h[n.start]=p[e.end]={start:n.start,end:e.end,ring:n.ring.concat(e.ring)}):(delete p[n.end],n.ring.push(s),p[n.end=c]=n):(n=h[c])?(e=p[f])?(delete h[n.start],delete p[e.end],n===e?(n.ring.push(s),i(n.ring)):h[e.start]=p[n.end]={start:e.start,end:n.end,ring:e.ring.concat(n.ring)}):(delete h[n.start],n.ring.unshift(r),h[n.start=f]=n):h[f]=p[c]={start:f,end:c,ring:[r,s]}}ci[c<<3].forEach(d)}(e,i,(function(t){r(t,e,i),function(t){for(var n=0,e=t.length,r=t[e-1][1]*t[0][0]-t[e-1][0]*t[0][1];++n<e;)r+=t[n-1][1]*t[n][0]-t[n-1][0]*t[n][1];return r}(t)>0?o.push([t]):u.push(t)})),u.forEach((function(t){for(var n,e=0,r=o.length;e<r;++e)if(-1!==ai((n=o[e])[0],t))return void n.push(t)})),{type:"MultiPolygon",value:i,coordinates:o}}function a(n){return 2*n[0]+n[1]*(t+1)*4}function u(e,r,i){e.forEach((function(e){var o,a=e[0],u=e[1],s=0|a,f=0|u,c=r[f*t+s];a>0&&a<t&&s===a&&(o=r[f*t+s-1],e[0]=a+(i-o)/(c-o)-.5),u>0&&u<n&&f===u&&(o=r[(f-1)*t+s],e[1]=u+(i-o)/(c-o)-.5)}))}return i.contour=o,i.size=function(e){if(!arguments.length)return[t,n];var r=Math.ceil(e[0]),o=Math.ceil(e[1]);if(!(r>0&&o>0))throw new Error("invalid size");return t=r,n=o,i},i.thresholds=function(t){return arguments.length?(e="function"==typeof t?t:Array.isArray(t)?oi(ri.call(t)):oi(t),i):e},i.smooth=function(t){return arguments.length?(r=t?u:fi,i):r===u},i};function hi(t,n,e){for(var r=t.width,i=t.height,o=1+(e<<1),a=0;a<i;++a)for(var u=0,s=0;u<r+e;++u)u<r&&(s+=t.data[u+a*r]),u>=e&&(u>=o&&(s-=t.data[u-o+a*r]),n.data[u-e+a*r]=s/Math.min(u+1,r-1+o-u,o))}function pi(t,n,e){for(var r=t.width,i=t.height,o=1+(e<<1),a=0;a<r;++a)for(var u=0,s=0;u<i+e;++u)u<i&&(s+=t.data[a+u*r]),u>=e&&(u>=o&&(s-=t.data[a+(u-o)*r]),n.data[a+(u-e)*r]=s/Math.min(u+1,i-1+o-u,o))}function di(t){return t[0]}function vi(t){return t[1]}function mi(){return 1}var gi=function(){var t=di,n=vi,e=mi,r=960,i=500,o=20,a=2,u=3*o,s=r+2*u>>a,f=i+2*u>>a,c=oi(20);function l(r){var i=new Float32Array(s*f),l=new Float32Array(s*f);r.forEach((function(r,o,c){var l=+t(r,o,c)+u>>a,h=+n(r,o,c)+u>>a,p=+e(r,o,c);l>=0&&l<s&&h>=0&&h<f&&(i[l+h*s]+=p)})),hi({width:s,height:f,data:i},{width:s,height:f,data:l},o>>a),pi({width:s,height:f,data:l},{width:s,height:f,data:i},o>>a),hi({width:s,height:f,data:i},{width:s,height:f,data:l},o>>a),pi({width:s,height:f,data:l},{width:s,height:f,data:i},o>>a),hi({width:s,height:f,data:i},{width:s,height:f,data:l},o>>a),pi({width:s,height:f,data:l},{width:s,height:f,data:i},o>>a);var p=c(i);if(!Array.isArray(p)){var d=P(i);p=S(0,d,p),(p=w(0,Math.floor(d/p)*p,p)).shift()}return li().thresholds(p).size([s,f])(i).map(h)}function h(t){return t.value*=Math.pow(2,-2*a),t.coordinates.forEach(p),t}function p(t){t.forEach(d)}function d(t){t.forEach(v)}function v(t){t[0]=t[0]*Math.pow(2,a)-u,t[1]=t[1]*Math.pow(2,a)-u}function m(){return s=r+2*(u=3*o)>>a,f=i+2*u>>a,l}return l.x=function(n){return arguments.length?(t="function"==typeof n?n:oi(+n),l):t},l.y=function(t){return arguments.length?(n="function"==typeof t?t:oi(+t),l):n},l.weight=function(t){return arguments.length?(e="function"==typeof t?t:oi(+t),l):e},l.size=function(t){if(!arguments.length)return[r,i];var n=Math.ceil(t[0]),e=Math.ceil(t[1]);if(!(n>=0||n>=0))throw new Error("invalid size");return r=n,i=e,m()},l.cellSize=function(t){if(!arguments.length)return 1<<a;if(!((t=+t)>=1))throw new Error("invalid cell size");return a=Math.floor(Math.log(t)/Math.LN2),m()},l.thresholds=function(t){return arguments.length?(c="function"==typeof t?t:Array.isArray(t)?oi(ri.call(t)):oi(t),l):c},l.bandwidth=function(t){if(!arguments.length)return Math.sqrt(o*(o+1));if(!((t=+t)>=0))throw new Error("invalid bandwidth");return o=Math.round((Math.sqrt(4*t*t+1)-1)/2),m()},l},yi=function(t){return function(){return t}};function _i(t,n,e,r,i,o,a,u,s,f){this.target=t,this.type=n,this.subject=e,this.identifier=r,this.active=i,this.x=o,this.y=a,this.dx=u,this.dy=s,this._=f}function bi(){return!lt.e.ctrlKey&&!lt.e.button}function xi(){return this.parentNode}function wi(t){return null==t?{x:lt.e.x,y:lt.e.y}:t}function Mi(){return navigator.maxTouchPoints||"ontouchstart"in this}_i.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};var ki=function(){var t,n,e,r,i=bi,o=xi,a=wi,u=Mi,s={},f=ct("start","drag","end"),c=0,l=0;function h(t){t.on("mousedown.drag",p).filter(u).on("touchstart.drag",m).on("touchmove.drag",g).on("touchend.drag touchcancel.drag",y).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function p(){if(!r&&i.apply(this,arguments)){var a=_("mouse",o.apply(this,arguments),lt.h,this,arguments);a&&(Object(lt.k)(lt.e.view).on("mousemove.drag",d,!0).on("mouseup.drag",v,!0),dt(lt.e.view),ht(),e=!1,t=lt.e.clientX,n=lt.e.clientY,a("start"))}}function d(){if(pt(),!e){var r=lt.e.clientX-t,i=lt.e.clientY-n;e=r*r+i*i>l}s.mouse("drag")}function v(){Object(lt.k)(lt.e.view).on("mousemove.drag mouseup.drag",null),vt(lt.e.view,e),pt(),s.mouse("end")}function m(){if(i.apply(this,arguments)){var t,n,e=lt.e.changedTouches,r=o.apply(this,arguments),a=e.length;for(t=0;t<a;++t)(n=_(e[t].identifier,r,lt.q,this,arguments))&&(ht(),n("start"))}}function g(){var t,n,e=lt.e.changedTouches,r=e.length;for(t=0;t<r;++t)(n=s[e[t].identifier])&&(pt(),n("drag"))}function y(){var t,n,e=lt.e.changedTouches,i=e.length;for(r&&clearTimeout(r),r=setTimeout((function(){r=null}),500),t=0;t<i;++t)(n=s[e[t].identifier])&&(ht(),n("end"))}function _(t,n,e,r,i){var o,u,l,p=e(n,t),d=f.copy();if(Object(lt.d)(new _i(h,"beforestart",o,t,c,p[0],p[1],0,0,d),(function(){return null!=(lt.e.subject=o=a.apply(r,i))&&(u=o.x-p[0]||0,l=o.y-p[1]||0,!0)})))return function a(f){var v,m=p;switch(f){case"start":s[t]=a,v=c++;break;case"end":delete s[t],--c;case"drag":p=e(n,t),v=c}Object(lt.d)(new _i(h,f,o,t,v,p[0]+u,p[1]+l,p[0]-m[0],p[1]-m[1],d),d.apply,d,[f,r,i])}}return h.filter=function(t){return arguments.length?(i="function"==typeof t?t:yi(!!t),h):i},h.container=function(t){return arguments.length?(o="function"==typeof t?t:yi(t),h):o},h.subject=function(t){return arguments.length?(a="function"==typeof t?t:yi(t),h):a},h.touchable=function(t){return arguments.length?(u="function"==typeof t?t:yi(!!t),h):u},h.on=function(){var t=f.on.apply(f,arguments);return t===f?h:t},h.clickDistance=function(t){return arguments.length?(l=(t=+t)*t,h):Math.sqrt(l)},h},Ai={},zi={};function Ei(t){return new Function("d","return {"+t.map((function(t,n){return JSON.stringify(t)+": d["+n+'] || ""'})).join(",")+"}")}function Si(t){var n=Object.create(null),e=[];return t.forEach((function(t){for(var r in t)r in n||e.push(n[r]=r)})),e}function Ni(t,n){var e=t+"",r=e.length;return r<n?new Array(n-r+1).join(0)+e:e}function Ti(t){var n,e=t.getUTCHours(),r=t.getUTCMinutes(),i=t.getUTCSeconds(),o=t.getUTCMilliseconds();return isNaN(t)?"Invalid Date":((n=t.getUTCFullYear())<0?"-"+Ni(-n,6):n>9999?"+"+Ni(n,6):Ni(n,4))+"-"+Ni(t.getUTCMonth()+1,2)+"-"+Ni(t.getUTCDate(),2)+(o?"T"+Ni(e,2)+":"+Ni(r,2)+":"+Ni(i,2)+"."+Ni(o,3)+"Z":i?"T"+Ni(e,2)+":"+Ni(r,2)+":"+Ni(i,2)+"Z":r||e?"T"+Ni(e,2)+":"+Ni(r,2)+"Z":"")}var Ci=function(t){var n=new RegExp('["'+t+"\n\r]"),e=t.charCodeAt(0);function r(t,n){var r,i=[],o=t.length,a=0,u=0,s=o<=0,f=!1;function c(){if(s)return zi;if(f)return f=!1,Ai;var n,r,i=a;if(34===t.charCodeAt(i)){for(;a++<o&&34!==t.charCodeAt(a)||34===t.charCodeAt(++a););return(n=a)>=o?s=!0:10===(r=t.charCodeAt(a++))?f=!0:13===r&&(f=!0,10===t.charCodeAt(a)&&++a),t.slice(i+1,n-1).replace(/""/g,'"')}for(;a<o;){if(10===(r=t.charCodeAt(n=a++)))f=!0;else if(13===r)f=!0,10===t.charCodeAt(a)&&++a;else if(r!==e)continue;return t.slice(i,n)}return s=!0,t.slice(i,o)}for(10===t.charCodeAt(o-1)&&--o,13===t.charCodeAt(o-1)&&--o;(r=c())!==zi;){for(var l=[];r!==Ai&&r!==zi;)l.push(r),r=c();n&&null==(l=n(l,u++))||i.push(l)}return i}function i(n,e){return n.map((function(n){return e.map((function(t){return a(n[t])})).join(t)}))}function o(n){return n.map(a).join(t)}function a(t){return null==t?"":t instanceof Date?Ti(t):n.test(t+="")?'"'+t.replace(/"/g,'""')+'"':t}return{parse:function(t,n){var e,i,o=r(t,(function(t,r){if(e)return e(t,r-1);i=t,e=n?function(t,n){var e=Ei(t);return function(r,i){return n(e(r),i,t)}}(t,n):Ei(t)}));return o.columns=i||[],o},parseRows:r,format:function(n,e){return null==e&&(e=Si(n)),[e.map(a).join(t)].concat(i(n,e)).join("\n")},formatBody:function(t,n){return null==n&&(n=Si(t)),i(t,n).join("\n")},formatRows:function(t){return t.map(o).join("\n")},formatRow:o,formatValue:a}},ji=Ci(","),Oi=ji.parse,Pi=ji.parseRows,Bi=ji.format,Ri=ji.formatBody,Ii=ji.formatRows,Di=ji.formatRow,Fi=ji.formatValue,Ui=Ci("\t"),Li=Ui.parse,qi=Ui.parseRows,Hi=Ui.format,Yi=Ui.formatBody,Vi=Ui.formatRows,Wi=Ui.formatRow,Xi=Ui.formatValue;function Gi(t){for(var n in t){var e,r,i=t[n].trim();if(i)if("true"===i)i=!0;else if("false"===i)i=!1;else if("NaN"===i)i=NaN;else if(isNaN(e=+i)){if(!(r=i.match(/^([-+]\d{2})?\d{4}(-\d{2}(-\d{2})?)?(T\d{2}:\d{2}(:\d{2}(\.\d{3})?)?(Z|[-+]\d{2}:\d{2})?)?$/)))continue;Zi&&r[4]&&!r[7]&&(i=i.replace(/-/g,"/").replace(/T/," ")),i=new Date(i)}else i=e;else i=null;t[n]=i}return t}var Zi=new Date("2019-01-01T00:00").getHours()||new Date("2019-07-01T00:00").getHours();function $i(t){return+t}function Qi(t){return t*t}function Ki(t){return t*(2-t)}function Ji(t){return((t*=2)<=1?t*t:--t*(2-t)+1)/2}var to=function t(n){function e(t){return Math.pow(t,n)}return n=+n,e.exponent=t,e}(3),no=function t(n){function e(t){return 1-Math.pow(1-t,n)}return n=+n,e.exponent=t,e}(3),eo=function t(n){function e(t){return((t*=2)<=1?Math.pow(t,n):2-Math.pow(2-t,n))/2}return n=+n,e.exponent=t,e}(3),ro=Math.PI,io=ro/2;function oo(t){return 1-Math.cos(t*io)}function ao(t){return Math.sin(t*io)}function uo(t){return(1-Math.cos(ro*t))/2}function so(t){return Math.pow(2,10*t-10)}function fo(t){return 1-Math.pow(2,-10*t)}function co(t){return((t*=2)<=1?Math.pow(2,10*t-10):2-Math.pow(2,10-10*t))/2}function lo(t){return 1-Math.sqrt(1-t*t)}function ho(t){return Math.sqrt(1- --t*t)}function po(t){return((t*=2)<=1?1-Math.sqrt(1-t*t):Math.sqrt(1-(t-=2)*t)+1)/2}function vo(t){return 1-mo(1-t)}function mo(t){return(t=+t)<4/11?7.5625*t*t:t<8/11?7.5625*(t-=6/11)*t+.75:t<10/11?7.5625*(t-=9/11)*t+.9375:7.5625*(t-=21/22)*t+63/64}function go(t){return((t*=2)<=1?1-mo(1-t):mo(t-1)+1)/2}var yo=function t(n){function e(t){return t*t*((n+1)*t-n)}return n=+n,e.overshoot=t,e}(1.70158),_o=function t(n){function e(t){return--t*t*((n+1)*t+n)+1}return n=+n,e.overshoot=t,e}(1.70158),bo=function t(n){function e(t){return((t*=2)<1?t*t*((n+1)*t-n):(t-=2)*t*((n+1)*t+n)+2)/2}return n=+n,e.overshoot=t,e}(1.70158),xo=2*Math.PI,wo=function t(n,e){var r=Math.asin(1/(n=Math.max(1,n)))*(e/=xo);function i(t){return n*Math.pow(2,10*--t)*Math.sin((r-t)/e)}return i.amplitude=function(n){return t(n,e*xo)},i.period=function(e){return t(n,e)},i}(1,.3),Mo=function t(n,e){var r=Math.asin(1/(n=Math.max(1,n)))*(e/=xo);function i(t){return 1-n*Math.pow(2,-10*(t=+t))*Math.sin((t+r)/e)}return i.amplitude=function(n){return t(n,e*xo)},i.period=function(e){return t(n,e)},i}(1,.3),ko=function t(n,e){var r=Math.asin(1/(n=Math.max(1,n)))*(e/=xo);function i(t){return((t=2*t-1)<0?n*Math.pow(2,10*t)*Math.sin((r-t)/e):2-n*Math.pow(2,-10*t)*Math.sin((r+t)/e))/2}return i.amplitude=function(n){return t(n,e*xo)},i.period=function(e){return t(n,e)},i}(1,.3);function Ao(t){if(!t.ok)throw new Error(t.status+" "+t.statusText);return t.blob()}var zo=function(t,n){return fetch(t,n).then(Ao)};function Eo(t){if(!t.ok)throw new Error(t.status+" "+t.statusText);return t.arrayBuffer()}var So=function(t,n){return fetch(t,n).then(Eo)};function No(t){if(!t.ok)throw new Error(t.status+" "+t.statusText);return t.text()}var To=function(t,n){return fetch(t,n).then(No)};function Co(t){return function(n,e,r){return 2===arguments.length&&"function"==typeof e&&(r=e,e=void 0),To(n,e).then((function(n){return t(n,r)}))}}function jo(t,n,e,r){3===arguments.length&&"function"==typeof e&&(r=e,e=void 0);var i=Ci(t);return To(n,e).then((function(t){return i.parse(t,r)}))}var Oo=Co(Oi),Po=Co(Li),Bo=function(t,n){return new Promise((function(e,r){var i=new Image;for(var o in n)i[o]=n[o];i.onerror=r,i.onload=function(){e(i)},i.src=t}))};function Ro(t){if(!t.ok)throw new Error(t.status+" "+t.statusText);return t.json()}var Io=function(t,n){return fetch(t,n).then(Ro)};function Do(t){return function(n,e){return To(n,e).then((function(n){return(new DOMParser).parseFromString(n,t)}))}}var Fo=Do("application/xml"),Uo=Do("text/html"),Lo=Do("image/svg+xml"),qo=function(t,n){var e;function r(){var r,i,o=e.length,a=0,u=0;for(r=0;r<o;++r)a+=(i=e[r]).x,u+=i.y;for(a=a/o-t,u=u/o-n,r=0;r<o;++r)(i=e[r]).x-=a,i.y-=u}return null==t&&(t=0),null==n&&(n=0),r.initialize=function(t){e=t},r.x=function(n){return arguments.length?(t=+n,r):t},r.y=function(t){return arguments.length?(n=+t,r):n},r},Ho=function(t){return function(){return t}},Yo=function(){return 1e-6*(Math.random()-.5)};function Vo(t,n,e,r){if(isNaN(n)||isNaN(e))return t;var i,o,a,u,s,f,c,l,h,p=t._root,d={data:r},v=t._x0,m=t._y0,g=t._x1,y=t._y1;if(!p)return t._root=d,t;for(;p.length;)if((f=n>=(o=(v+g)/2))?v=o:g=o,(c=e>=(a=(m+y)/2))?m=a:y=a,i=p,!(p=p[l=c<<1|f]))return i[l]=d,t;if(u=+t._x.call(null,p.data),s=+t._y.call(null,p.data),n===u&&e===s)return d.next=p,i?i[l]=d:t._root=d,t;do{i=i?i[l]=new Array(4):t._root=new Array(4),(f=n>=(o=(v+g)/2))?v=o:g=o,(c=e>=(a=(m+y)/2))?m=a:y=a}while((l=c<<1|f)==(h=(s>=a)<<1|u>=o));return i[h]=p,i[l]=d,t}var Wo=function(t,n,e,r,i){this.node=t,this.x0=n,this.y0=e,this.x1=r,this.y1=i};function Xo(t){return t[0]}function Go(t){return t[1]}function Zo(t,n,e){var r=new $o(null==n?Xo:n,null==e?Go:e,NaN,NaN,NaN,NaN);return null==t?r:r.addAll(t)}function $o(t,n,e,r,i,o){this._x=t,this._y=n,this._x0=e,this._y0=r,this._x1=i,this._y1=o,this._root=void 0}function Qo(t){for(var n={data:t.data},e=n;t=t.next;)e=e.next={data:t.data};return n}var Ko=Zo.prototype=$o.prototype;function Jo(t){return t.x+t.vx}function ta(t){return t.y+t.vy}Ko.copy=function(){var t,n,e=new $o(this._x,this._y,this._x0,this._y0,this._x1,this._y1),r=this._root;if(!r)return e;if(!r.length)return e._root=Qo(r),e;for(t=[{source:r,target:e._root=new Array(4)}];r=t.pop();)for(var i=0;i<4;++i)(n=r.source[i])&&(n.length?t.push({source:n,target:r.target[i]=new Array(4)}):r.target[i]=Qo(n));return e},Ko.add=function(t){var n=+this._x.call(null,t),e=+this._y.call(null,t);return Vo(this.cover(n,e),n,e,t)},Ko.addAll=function(t){var n,e,r,i,o=t.length,a=new Array(o),u=new Array(o),s=1/0,f=1/0,c=-1/0,l=-1/0;for(e=0;e<o;++e)isNaN(r=+this._x.call(null,n=t[e]))||isNaN(i=+this._y.call(null,n))||(a[e]=r,u[e]=i,r<s&&(s=r),r>c&&(c=r),i<f&&(f=i),i>l&&(l=i));if(s>c||f>l)return this;for(this.cover(s,f).cover(c,l),e=0;e<o;++e)Vo(this,a[e],u[e],t[e]);return this},Ko.cover=function(t,n){if(isNaN(t=+t)||isNaN(n=+n))return this;var e=this._x0,r=this._y0,i=this._x1,o=this._y1;if(isNaN(e))i=(e=Math.floor(t))+1,o=(r=Math.floor(n))+1;else{for(var a,u,s=i-e,f=this._root;e>t||t>=i||r>n||n>=o;)switch(u=(n<r)<<1|t<e,(a=new Array(4))[u]=f,f=a,s*=2,u){case 0:i=e+s,o=r+s;break;case 1:e=i-s,o=r+s;break;case 2:i=e+s,r=o-s;break;case 3:e=i-s,r=o-s}this._root&&this._root.length&&(this._root=f)}return this._x0=e,this._y0=r,this._x1=i,this._y1=o,this},Ko.data=function(){var t=[];return this.visit((function(n){if(!n.length)do{t.push(n.data)}while(n=n.next)})),t},Ko.extent=function(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},Ko.find=function(t,n,e){var r,i,o,a,u,s,f,c=this._x0,l=this._y0,h=this._x1,p=this._y1,d=[],v=this._root;for(v&&d.push(new Wo(v,c,l,h,p)),null==e?e=1/0:(c=t-e,l=n-e,h=t+e,p=n+e,e*=e);s=d.pop();)if(!(!(v=s.node)||(i=s.x0)>h||(o=s.y0)>p||(a=s.x1)<c||(u=s.y1)<l))if(v.length){var m=(i+a)/2,g=(o+u)/2;d.push(new Wo(v[3],m,g,a,u),new Wo(v[2],i,g,m,u),new Wo(v[1],m,o,a,g),new Wo(v[0],i,o,m,g)),(f=(n>=g)<<1|t>=m)&&(s=d[d.length-1],d[d.length-1]=d[d.length-1-f],d[d.length-1-f]=s)}else{var y=t-+this._x.call(null,v.data),_=n-+this._y.call(null,v.data),b=y*y+_*_;if(b<e){var x=Math.sqrt(e=b);c=t-x,l=n-x,h=t+x,p=n+x,r=v.data}}return r},Ko.remove=function(t){if(isNaN(o=+this._x.call(null,t))||isNaN(a=+this._y.call(null,t)))return this;var n,e,r,i,o,a,u,s,f,c,l,h,p=this._root,d=this._x0,v=this._y0,m=this._x1,g=this._y1;if(!p)return this;if(p.length)for(;;){if((f=o>=(u=(d+m)/2))?d=u:m=u,(c=a>=(s=(v+g)/2))?v=s:g=s,n=p,!(p=p[l=c<<1|f]))return this;if(!p.length)break;(n[l+1&3]||n[l+2&3]||n[l+3&3])&&(e=n,h=l)}for(;p.data!==t;)if(r=p,!(p=p.next))return this;return(i=p.next)&&delete p.next,r?(i?r.next=i:delete r.next,this):n?(i?n[l]=i:delete n[l],(p=n[0]||n[1]||n[2]||n[3])&&p===(n[3]||n[2]||n[1]||n[0])&&!p.length&&(e?e[h]=p:this._root=p),this):(this._root=i,this)},Ko.removeAll=function(t){for(var n=0,e=t.length;n<e;++n)this.remove(t[n]);return this},Ko.root=function(){return this._root},Ko.size=function(){var t=0;return this.visit((function(n){if(!n.length)do{++t}while(n=n.next)})),t},Ko.visit=function(t){var n,e,r,i,o,a,u=[],s=this._root;for(s&&u.push(new Wo(s,this._x0,this._y0,this._x1,this._y1));n=u.pop();)if(!t(s=n.node,r=n.x0,i=n.y0,o=n.x1,a=n.y1)&&s.length){var f=(r+o)/2,c=(i+a)/2;(e=s[3])&&u.push(new Wo(e,f,c,o,a)),(e=s[2])&&u.push(new Wo(e,r,c,f,a)),(e=s[1])&&u.push(new Wo(e,f,i,o,c)),(e=s[0])&&u.push(new Wo(e,r,i,f,c))}return this},Ko.visitAfter=function(t){var n,e=[],r=[];for(this._root&&e.push(new Wo(this._root,this._x0,this._y0,this._x1,this._y1));n=e.pop();){var i=n.node;if(i.length){var o,a=n.x0,u=n.y0,s=n.x1,f=n.y1,c=(a+s)/2,l=(u+f)/2;(o=i[0])&&e.push(new Wo(o,a,u,c,l)),(o=i[1])&&e.push(new Wo(o,c,u,s,l)),(o=i[2])&&e.push(new Wo(o,a,l,c,f)),(o=i[3])&&e.push(new Wo(o,c,l,s,f))}r.push(n)}for(;n=r.pop();)t(n.node,n.x0,n.y0,n.x1,n.y1);return this},Ko.x=function(t){return arguments.length?(this._x=t,this):this._x},Ko.y=function(t){return arguments.length?(this._y=t,this):this._y};var na=function(t){var n,e,r=1,i=1;function o(){for(var t,o,u,s,f,c,l,h=n.length,p=0;p<i;++p)for(o=Zo(n,Jo,ta).visitAfter(a),t=0;t<h;++t)u=n[t],c=e[u.index],l=c*c,s=u.x+u.vx,f=u.y+u.vy,o.visit(d);function d(t,n,e,i,o){var a=t.data,h=t.r,p=c+h;if(!a)return n>s+p||i<s-p||e>f+p||o<f-p;if(a.index>u.index){var d=s-a.x-a.vx,v=f-a.y-a.vy,m=d*d+v*v;m<p*p&&(0===d&&(m+=(d=Yo())*d),0===v&&(m+=(v=Yo())*v),m=(p-(m=Math.sqrt(m)))/m*r,u.vx+=(d*=m)*(p=(h*=h)/(l+h)),u.vy+=(v*=m)*p,a.vx-=d*(p=1-p),a.vy-=v*p)}}}function a(t){if(t.data)return t.r=e[t.data.index];for(var n=t.r=0;n<4;++n)t[n]&&t[n].r>t.r&&(t.r=t[n].r)}function u(){if(n){var r,i,o=n.length;for(e=new Array(o),r=0;r<o;++r)i=n[r],e[i.index]=+t(i,r,n)}}return"function"!=typeof t&&(t=Ho(null==t?1:+t)),o.initialize=function(t){n=t,u()},o.iterations=function(t){return arguments.length?(i=+t,o):i},o.strength=function(t){return arguments.length?(r=+t,o):r},o.radius=function(n){return arguments.length?(t="function"==typeof n?n:Ho(+n),u(),o):t},o};function ea(t){return t.index}function ra(t,n){var e=t.get(n);if(!e)throw new Error("missing: "+n);return e}var ia=function(t){var n,e,r,i,o,a=ea,u=function(t){return 1/Math.min(i[t.source.index],i[t.target.index])},s=Ho(30),f=1;function c(r){for(var i=0,a=t.length;i<f;++i)for(var u,s,c,l,h,p,d,v=0;v<a;++v)s=(u=t[v]).source,l=(c=u.target).x+c.vx-s.x-s.vx||Yo(),h=c.y+c.vy-s.y-s.vy||Yo(),l*=p=((p=Math.sqrt(l*l+h*h))-e[v])/p*r*n[v],h*=p,c.vx-=l*(d=o[v]),c.vy-=h*d,s.vx+=l*(d=1-d),s.vy+=h*d}function l(){if(r){var u,s,f=r.length,c=t.length,l=Object(Pr.c)(r,a);for(u=0,i=new Array(f);u<c;++u)(s=t[u]).index=u,"object"!=typeof s.source&&(s.source=ra(l,s.source)),"object"!=typeof s.target&&(s.target=ra(l,s.target)),i[s.source.index]=(i[s.source.index]||0)+1,i[s.target.index]=(i[s.target.index]||0)+1;for(u=0,o=new Array(c);u<c;++u)s=t[u],o[u]=i[s.source.index]/(i[s.source.index]+i[s.target.index]);n=new Array(c),h(),e=new Array(c),p()}}function h(){if(r)for(var e=0,i=t.length;e<i;++e)n[e]=+u(t[e],e,t)}function p(){if(r)for(var n=0,i=t.length;n<i;++n)e[n]=+s(t[n],n,t)}return null==t&&(t=[]),c.initialize=function(t){r=t,l()},c.links=function(n){return arguments.length?(t=n,l(),c):t},c.id=function(t){return arguments.length?(a=t,c):a},c.iterations=function(t){return arguments.length?(f=+t,c):f},c.strength=function(t){return arguments.length?(u="function"==typeof t?t:Ho(+t),h(),c):u},c.distance=function(t){return arguments.length?(s="function"==typeof t?t:Ho(+t),p(),c):s},c};function oa(t){return t.x}function aa(t){return t.y}var ua=Math.PI*(3-Math.sqrt(5)),sa=function(t){var n,e=1,r=.001,i=1-Math.pow(r,1/300),o=0,a=.6,u=Object(Pr.c)(),s=Nn(c),f=ct("tick","end");function c(){l(),f.call("tick",n),e<r&&(s.stop(),f.call("end",n))}function l(r){var s,f,c=t.length;void 0===r&&(r=1);for(var l=0;l<r;++l)for(e+=(o-e)*i,u.each((function(t){t(e)})),s=0;s<c;++s)null==(f=t[s]).fx?f.x+=f.vx*=a:(f.x=f.fx,f.vx=0),null==f.fy?f.y+=f.vy*=a:(f.y=f.fy,f.vy=0);return n}function h(){for(var n,e=0,r=t.length;e<r;++e){if((n=t[e]).index=e,null!=n.fx&&(n.x=n.fx),null!=n.fy&&(n.y=n.fy),isNaN(n.x)||isNaN(n.y)){var i=10*Math.sqrt(e),o=e*ua;n.x=i*Math.cos(o),n.y=i*Math.sin(o)}(isNaN(n.vx)||isNaN(n.vy))&&(n.vx=n.vy=0)}}function p(n){return n.initialize&&n.initialize(t),n}return null==t&&(t=[]),h(),n={tick:l,restart:function(){return s.restart(c),n},stop:function(){return s.stop(),n},nodes:function(e){return arguments.length?(t=e,h(),u.each(p),n):t},alpha:function(t){return arguments.length?(e=+t,n):e},alphaMin:function(t){return arguments.length?(r=+t,n):r},alphaDecay:function(t){return arguments.length?(i=+t,n):+i},alphaTarget:function(t){return arguments.length?(o=+t,n):o},velocityDecay:function(t){return arguments.length?(a=1-t,n):1-a},force:function(t,e){return arguments.length>1?(null==e?u.remove(t):u.set(t,p(e)),n):u.get(t)},find:function(n,e,r){var i,o,a,u,s,f=0,c=t.length;for(null==r?r=1/0:r*=r,f=0;f<c;++f)(a=(i=n-(u=t[f]).x)*i+(o=e-u.y)*o)<r&&(s=u,r=a);return s},on:function(t,e){return arguments.length>1?(f.on(t,e),n):f.on(t)}}},fa=function(){var t,n,e,r,i=Ho(-30),o=1,a=1/0,u=.81;function s(r){var i,o=t.length,a=Zo(t,oa,aa).visitAfter(c);for(e=r,i=0;i<o;++i)n=t[i],a.visit(l)}function f(){if(t){var n,e,o=t.length;for(r=new Array(o),n=0;n<o;++n)e=t[n],r[e.index]=+i(e,n,t)}}function c(t){var n,e,i,o,a,u=0,s=0;if(t.length){for(i=o=a=0;a<4;++a)(n=t[a])&&(e=Math.abs(n.value))&&(u+=n.value,s+=e,i+=e*n.x,o+=e*n.y);t.x=i/s,t.y=o/s}else{(n=t).x=n.data.x,n.y=n.data.y;do{u+=r[n.data.index]}while(n=n.next)}t.value=u}function l(t,i,s,f){if(!t.value)return!0;var c=t.x-n.x,l=t.y-n.y,h=f-i,p=c*c+l*l;if(h*h/u<p)return p<a&&(0===c&&(p+=(c=Yo())*c),0===l&&(p+=(l=Yo())*l),p<o&&(p=Math.sqrt(o*p)),n.vx+=c*t.value*e/p,n.vy+=l*t.value*e/p),!0;if(!(t.length||p>=a)){(t.data!==n||t.next)&&(0===c&&(p+=(c=Yo())*c),0===l&&(p+=(l=Yo())*l),p<o&&(p=Math.sqrt(o*p)));do{t.data!==n&&(h=r[t.data.index]*e/p,n.vx+=c*h,n.vy+=l*h)}while(t=t.next)}}return s.initialize=function(n){t=n,f()},s.strength=function(t){return arguments.length?(i="function"==typeof t?t:Ho(+t),f(),s):i},s.distanceMin=function(t){return arguments.length?(o=t*t,s):Math.sqrt(o)},s.distanceMax=function(t){return arguments.length?(a=t*t,s):Math.sqrt(a)},s.theta=function(t){return arguments.length?(u=t*t,s):Math.sqrt(u)},s},ca=function(t,n,e){var r,i,o,a=Ho(.1);function u(t){for(var a=0,u=r.length;a<u;++a){var s=r[a],f=s.x-n||1e-6,c=s.y-e||1e-6,l=Math.sqrt(f*f+c*c),h=(o[a]-l)*i[a]*t/l;s.vx+=f*h,s.vy+=c*h}}function s(){if(r){var n,e=r.length;for(i=new Array(e),o=new Array(e),n=0;n<e;++n)o[n]=+t(r[n],n,r),i[n]=isNaN(o[n])?0:+a(r[n],n,r)}}return"function"!=typeof t&&(t=Ho(+t)),null==n&&(n=0),null==e&&(e=0),u.initialize=function(t){r=t,s()},u.strength=function(t){return arguments.length?(a="function"==typeof t?t:Ho(+t),s(),u):a},u.radius=function(n){return arguments.length?(t="function"==typeof n?n:Ho(+n),s(),u):t},u.x=function(t){return arguments.length?(n=+t,u):n},u.y=function(t){return arguments.length?(e=+t,u):e},u},la=function(t){var n,e,r,i=Ho(.1);function o(t){for(var i,o=0,a=n.length;o<a;++o)(i=n[o]).vx+=(r[o]-i.x)*e[o]*t}function a(){if(n){var o,a=n.length;for(e=new Array(a),r=new Array(a),o=0;o<a;++o)e[o]=isNaN(r[o]=+t(n[o],o,n))?0:+i(n[o],o,n)}}return"function"!=typeof t&&(t=Ho(null==t?0:+t)),o.initialize=function(t){n=t,a()},o.strength=function(t){return arguments.length?(i="function"==typeof t?t:Ho(+t),a(),o):i},o.x=function(n){return arguments.length?(t="function"==typeof n?n:Ho(+n),a(),o):t},o},ha=function(t){var n,e,r,i=Ho(.1);function o(t){for(var i,o=0,a=n.length;o<a;++o)(i=n[o]).vy+=(r[o]-i.y)*e[o]*t}function a(){if(n){var o,a=n.length;for(e=new Array(a),r=new Array(a),o=0;o<a;++o)e[o]=isNaN(r[o]=+t(n[o],o,n))?0:+i(n[o],o,n)}}return"function"!=typeof t&&(t=Ho(null==t?0:+t)),o.initialize=function(t){n=t,a()},o.strength=function(t){return arguments.length?(i="function"==typeof t?t:Ho(+t),a(),o):i},o.y=function(n){return arguments.length?(t="function"==typeof n?n:Ho(+n),a(),o):t},o},pa=function(t,n){if((e=(t=n?t.toExponential(n-1):t.toExponential()).indexOf("e"))<0)return null;var e,r=t.slice(0,e);return[r.length>1?r[0]+r.slice(2):r,+t.slice(e+1)]},da=function(t){return(t=pa(Math.abs(t)))?t[1]:NaN},va=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function ma(t){if(!(n=va.exec(t)))throw new Error("invalid format: "+t);var n;return new ga({fill:n[1],align:n[2],sign:n[3],symbol:n[4],zero:n[5],width:n[6],comma:n[7],precision:n[8]&&n[8].slice(1),trim:n[9],type:n[10]})}function ga(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}ma.prototype=ga.prototype,ga.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var ya,_a,ba,xa,wa=function(t,n){var e=pa(t,n);if(!e)return t+"";var r=e[0],i=e[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")},Ma={"%":function(t,n){return(100*t).toFixed(n)},b:function(t){return Math.round(t).toString(2)},c:function(t){return t+""},d:function(t){return Math.round(t).toString(10)},e:function(t,n){return t.toExponential(n)},f:function(t,n){return t.toFixed(n)},g:function(t,n){return t.toPrecision(n)},o:function(t){return Math.round(t).toString(8)},p:function(t,n){return wa(100*t,n)},r:wa,s:function(t,n){var e=pa(t,n);if(!e)return t+"";var r=e[0],i=e[1],o=i-(ya=3*Math.max(-8,Math.min(8,Math.floor(i/3))))+1,a=r.length;return o===a?r:o>a?r+new Array(o-a+1).join("0"):o>0?r.slice(0,o)+"."+r.slice(o):"0."+new Array(1-o).join("0")+pa(t,Math.max(0,n+o-1))[0]},X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}},ka=function(t){return t},Aa=Array.prototype.map,za=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"],Ea=function(t){var n,e,r=void 0===t.grouping||void 0===t.thousands?ka:(n=Aa.call(t.grouping,Number),e=t.thousands+"",function(t,r){for(var i=t.length,o=[],a=0,u=n[0],s=0;i>0&&u>0&&(s+u+1>r&&(u=Math.max(1,r-s)),o.push(t.substring(i-=u,i+u)),!((s+=u+1)>r));)u=n[a=(a+1)%n.length];return o.reverse().join(e)}),i=void 0===t.currency?"":t.currency[0]+"",o=void 0===t.currency?"":t.currency[1]+"",a=void 0===t.decimal?".":t.decimal+"",u=void 0===t.numerals?ka:function(t){return function(n){return n.replace(/[0-9]/g,(function(n){return t[+n]}))}}(Aa.call(t.numerals,String)),s=void 0===t.percent?"%":t.percent+"",f=void 0===t.minus?"-":t.minus+"",c=void 0===t.nan?"NaN":t.nan+"";function l(t){var n=(t=ma(t)).fill,e=t.align,l=t.sign,h=t.symbol,p=t.zero,d=t.width,v=t.comma,m=t.precision,g=t.trim,y=t.type;"n"===y?(v=!0,y="g"):Ma[y]||(void 0===m&&(m=12),g=!0,y="g"),(p||"0"===n&&"="===e)&&(p=!0,n="0",e="=");var _="$"===h?i:"#"===h&&/[boxX]/.test(y)?"0"+y.toLowerCase():"",b="$"===h?o:/[%p]/.test(y)?s:"",x=Ma[y],w=/[defgprs%]/.test(y);function M(t){var i,o,s,h=_,M=b;if("c"===y)M=x(t)+M,t="";else{var k=(t=+t)<0;if(t=isNaN(t)?c:x(Math.abs(t),m),g&&(t=function(t){t:for(var n,e=t.length,r=1,i=-1;r<e;++r)switch(t[r]){case".":i=n=r;break;case"0":0===i&&(i=r),n=r;break;default:if(!+t[r])break t;i>0&&(i=0)}return i>0?t.slice(0,i)+t.slice(n+1):t}(t)),k&&0==+t&&(k=!1),h=(k?"("===l?l:f:"-"===l||"("===l?"":l)+h,M=("s"===y?za[8+ya/3]:"")+M+(k&&"("===l?")":""),w)for(i=-1,o=t.length;++i<o;)if(48>(s=t.charCodeAt(i))||s>57){M=(46===s?a+t.slice(i+1):t.slice(i))+M,t=t.slice(0,i);break}}v&&!p&&(t=r(t,1/0));var A=h.length+t.length+M.length,z=A<d?new Array(d-A+1).join(n):"";switch(v&&p&&(t=r(z+t,z.length?d-M.length:1/0),z=""),e){case"<":t=h+t+M+z;break;case"=":t=h+z+t+M;break;case"^":t=z.slice(0,A=z.length>>1)+h+t+M+z.slice(A);break;default:t=z+h+t+M}return u(t)}return m=void 0===m?6:/[gprs]/.test(y)?Math.max(1,Math.min(21,m)):Math.max(0,Math.min(20,m)),M.toString=function(){return t+""},M}return{format:l,formatPrefix:function(t,n){var e=l(((t=ma(t)).type="f",t)),r=3*Math.max(-8,Math.min(8,Math.floor(da(n)/3))),i=Math.pow(10,-r),o=za[8+r/3];return function(t){return e(i*t)+o}}}};function Sa(t){return _a=Ea(t),ba=_a.format,xa=_a.formatPrefix,_a}Sa({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"});var Na=function(t){return Math.max(0,-da(Math.abs(t)))},Ta=function(t,n){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(da(n)/3)))-da(Math.abs(t)))},Ca=function(t,n){return t=Math.abs(t),n=Math.abs(n)-t,Math.max(0,da(n)-da(t))+1},ja=function(){return new Oa};function Oa(){this.reset()}Oa.prototype={constructor:Oa,reset:function(){this.s=this.t=0},add:function(t){Ba(Pa,t,this.t),Ba(this,Pa.s,this.s),this.s?this.t+=Pa.t:this.s=Pa.t},valueOf:function(){return this.s}};var Pa=new Oa;function Ba(t,n,e){var r=t.s=n+e,i=r-n,o=r-i;t.t=n-o+(e-i)}var Ra=Math.PI,Ia=Ra/2,Da=Ra/4,Fa=2*Ra,Ua=180/Ra,La=Ra/180,qa=Math.abs,Ha=Math.atan,Ya=Math.atan2,Va=Math.cos,Wa=Math.ceil,Xa=Math.exp,Ga=(Math.floor,Math.log),Za=Math.pow,$a=Math.sin,Qa=Math.sign||function(t){return t>0?1:t<0?-1:0},Ka=Math.sqrt,Ja=Math.tan;function tu(t){return t>1?0:t<-1?Ra:Math.acos(t)}function nu(t){return t>1?Ia:t<-1?-Ia:Math.asin(t)}function eu(t){return(t=$a(t/2))*t}function ru(){}function iu(t,n){t&&au.hasOwnProperty(t.type)&&au[t.type](t,n)}var ou={Feature:function(t,n){iu(t.geometry,n)},FeatureCollection:function(t,n){for(var e=t.features,r=-1,i=e.length;++r<i;)iu(e[r].geometry,n)}},au={Sphere:function(t,n){n.sphere()},Point:function(t,n){t=t.coordinates,n.point(t[0],t[1],t[2])},MultiPoint:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)t=e[r],n.point(t[0],t[1],t[2])},LineString:function(t,n){uu(t.coordinates,n,0)},MultiLineString:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)uu(e[r],n,0)},Polygon:function(t,n){su(t.coordinates,n)},MultiPolygon:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)su(e[r],n)},GeometryCollection:function(t,n){for(var e=t.geometries,r=-1,i=e.length;++r<i;)iu(e[r],n)}};function uu(t,n,e){var r,i=-1,o=t.length-e;for(n.lineStart();++i<o;)r=t[i],n.point(r[0],r[1],r[2]);n.lineEnd()}function su(t,n){var e=-1,r=t.length;for(n.polygonStart();++e<r;)uu(t[e],n,1);n.polygonEnd()}var fu,cu,lu,hu,pu,du=function(t,n){t&&ou.hasOwnProperty(t.type)?ou[t.type](t,n):iu(t,n)},vu=ja(),mu=ja(),gu={point:ru,lineStart:ru,lineEnd:ru,polygonStart:function(){vu.reset(),gu.lineStart=yu,gu.lineEnd=_u},polygonEnd:function(){var t=+vu;mu.add(t<0?Fa+t:t),this.lineStart=this.lineEnd=this.point=ru},sphere:function(){mu.add(Fa)}};function yu(){gu.point=bu}function _u(){xu(fu,cu)}function bu(t,n){gu.point=xu,fu=t,cu=n,lu=t*=La,hu=Va(n=(n*=La)/2+Da),pu=$a(n)}function xu(t,n){var e=(t*=La)-lu,r=e>=0?1:-1,i=r*e,o=Va(n=(n*=La)/2+Da),a=$a(n),u=pu*a,s=hu*o+u*Va(i),f=u*r*$a(i);vu.add(Ya(f,s)),lu=t,hu=o,pu=a}var wu=function(t){return mu.reset(),du(t,gu),2*mu};function Mu(t){return[Ya(t[1],t[0]),nu(t[2])]}function ku(t){var n=t[0],e=t[1],r=Va(e);return[r*Va(n),r*$a(n),$a(e)]}function Au(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]}function zu(t,n){return[t[1]*n[2]-t[2]*n[1],t[2]*n[0]-t[0]*n[2],t[0]*n[1]-t[1]*n[0]]}function Eu(t,n){t[0]+=n[0],t[1]+=n[1],t[2]+=n[2]}function Su(t,n){return[t[0]*n,t[1]*n,t[2]*n]}function Nu(t){var n=Ka(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=n,t[1]/=n,t[2]/=n}var Tu,Cu,ju,Ou,Pu,Bu,Ru,Iu,Du,Fu,Uu=ja(),Lu={point:qu,lineStart:Yu,lineEnd:Vu,polygonStart:function(){Lu.point=Wu,Lu.lineStart=Xu,Lu.lineEnd=Gu,Uu.reset(),gu.polygonStart()},polygonEnd:function(){gu.polygonEnd(),Lu.point=qu,Lu.lineStart=Yu,Lu.lineEnd=Vu,vu<0?(Tu=-(ju=180),Cu=-(Ou=90)):Uu>1e-6?Ou=90:Uu<-1e-6&&(Cu=-90),Fu[0]=Tu,Fu[1]=ju},sphere:function(){Tu=-(ju=180),Cu=-(Ou=90)}};function qu(t,n){Du.push(Fu=[Tu=t,ju=t]),n<Cu&&(Cu=n),n>Ou&&(Ou=n)}function Hu(t,n){var e=ku([t*La,n*La]);if(Iu){var r=zu(Iu,e),i=zu([r[1],-r[0],0],r);Nu(i),i=Mu(i);var o,a=t-Pu,u=a>0?1:-1,s=i[0]*Ua*u,f=qa(a)>180;f^(u*Pu<s&&s<u*t)?(o=i[1]*Ua)>Ou&&(Ou=o):f^(u*Pu<(s=(s+360)%360-180)&&s<u*t)?(o=-i[1]*Ua)<Cu&&(Cu=o):(n<Cu&&(Cu=n),n>Ou&&(Ou=n)),f?t<Pu?Zu(Tu,t)>Zu(Tu,ju)&&(ju=t):Zu(t,ju)>Zu(Tu,ju)&&(Tu=t):ju>=Tu?(t<Tu&&(Tu=t),t>ju&&(ju=t)):t>Pu?Zu(Tu,t)>Zu(Tu,ju)&&(ju=t):Zu(t,ju)>Zu(Tu,ju)&&(Tu=t)}else Du.push(Fu=[Tu=t,ju=t]);n<Cu&&(Cu=n),n>Ou&&(Ou=n),Iu=e,Pu=t}function Yu(){Lu.point=Hu}function Vu(){Fu[0]=Tu,Fu[1]=ju,Lu.point=qu,Iu=null}function Wu(t,n){if(Iu){var e=t-Pu;Uu.add(qa(e)>180?e+(e>0?360:-360):e)}else Bu=t,Ru=n;gu.point(t,n),Hu(t,n)}function Xu(){gu.lineStart()}function Gu(){Wu(Bu,Ru),gu.lineEnd(),qa(Uu)>1e-6&&(Tu=-(ju=180)),Fu[0]=Tu,Fu[1]=ju,Iu=null}function Zu(t,n){return(n-=t)<0?n+360:n}function $u(t,n){return t[0]-n[0]}function Qu(t,n){return t[0]<=t[1]?t[0]<=n&&n<=t[1]:n<t[0]||t[1]<n}var Ku,Ju,ts,ns,es,rs,is,os,as,us,ss,fs,cs,ls,hs,ps,ds=function(t){var n,e,r,i,o,a,u;if(Ou=ju=-(Tu=Cu=1/0),Du=[],du(t,Lu),e=Du.length){for(Du.sort($u),n=1,o=[r=Du[0]];n<e;++n)Qu(r,(i=Du[n])[0])||Qu(r,i[1])?(Zu(r[0],i[1])>Zu(r[0],r[1])&&(r[1]=i[1]),Zu(i[0],r[1])>Zu(r[0],r[1])&&(r[0]=i[0])):o.push(r=i);for(a=-1/0,n=0,r=o[e=o.length-1];n<=e;r=i,++n)i=o[n],(u=Zu(r[1],i[0]))>a&&(a=u,Tu=i[0],ju=r[1])}return Du=Fu=null,Tu===1/0||Cu===1/0?[[NaN,NaN],[NaN,NaN]]:[[Tu,Cu],[ju,Ou]]},vs={sphere:ru,point:ms,lineStart:ys,lineEnd:xs,polygonStart:function(){vs.lineStart=ws,vs.lineEnd=Ms},polygonEnd:function(){vs.lineStart=ys,vs.lineEnd=xs}};function ms(t,n){t*=La;var e=Va(n*=La);gs(e*Va(t),e*$a(t),$a(n))}function gs(t,n,e){++Ku,ts+=(t-ts)/Ku,ns+=(n-ns)/Ku,es+=(e-es)/Ku}function ys(){vs.point=_s}function _s(t,n){t*=La;var e=Va(n*=La);ls=e*Va(t),hs=e*$a(t),ps=$a(n),vs.point=bs,gs(ls,hs,ps)}function bs(t,n){t*=La;var e=Va(n*=La),r=e*Va(t),i=e*$a(t),o=$a(n),a=Ya(Ka((a=hs*o-ps*i)*a+(a=ps*r-ls*o)*a+(a=ls*i-hs*r)*a),ls*r+hs*i+ps*o);Ju+=a,rs+=a*(ls+(ls=r)),is+=a*(hs+(hs=i)),os+=a*(ps+(ps=o)),gs(ls,hs,ps)}function xs(){vs.point=ms}function ws(){vs.point=ks}function Ms(){As(fs,cs),vs.point=ms}function ks(t,n){fs=t,cs=n,t*=La,n*=La,vs.point=As;var e=Va(n);ls=e*Va(t),hs=e*$a(t),ps=$a(n),gs(ls,hs,ps)}function As(t,n){t*=La;var e=Va(n*=La),r=e*Va(t),i=e*$a(t),o=$a(n),a=hs*o-ps*i,u=ps*r-ls*o,s=ls*i-hs*r,f=Ka(a*a+u*u+s*s),c=nu(f),l=f&&-c/f;as+=l*a,us+=l*u,ss+=l*s,Ju+=c,rs+=c*(ls+(ls=r)),is+=c*(hs+(hs=i)),os+=c*(ps+(ps=o)),gs(ls,hs,ps)}var zs=function(t){Ku=Ju=ts=ns=es=rs=is=os=as=us=ss=0,du(t,vs);var n=as,e=us,r=ss,i=n*n+e*e+r*r;return i<1e-12&&(n=rs,e=is,r=os,Ju<1e-6&&(n=ts,e=ns,r=es),(i=n*n+e*e+r*r)<1e-12)?[NaN,NaN]:[Ya(e,n)*Ua,nu(r/Ka(i))*Ua]},Es=function(t){return function(){return t}},Ss=function(t,n){function e(e,r){return e=t(e,r),n(e[0],e[1])}return t.invert&&n.invert&&(e.invert=function(e,r){return(e=n.invert(e,r))&&t.invert(e[0],e[1])}),e};function Ns(t,n){return[qa(t)>Ra?t+Math.round(-t/Fa)*Fa:t,n]}function Ts(t,n,e){return(t%=Fa)?n||e?Ss(js(t),Os(n,e)):js(t):n||e?Os(n,e):Ns}function Cs(t){return function(n,e){return[(n+=t)>Ra?n-Fa:n<-Ra?n+Fa:n,e]}}function js(t){var n=Cs(t);return n.invert=Cs(-t),n}function Os(t,n){var e=Va(t),r=$a(t),i=Va(n),o=$a(n);function a(t,n){var a=Va(n),u=Va(t)*a,s=$a(t)*a,f=$a(n),c=f*e+u*r;return[Ya(s*i-c*o,u*e-f*r),nu(c*i+s*o)]}return a.invert=function(t,n){var a=Va(n),u=Va(t)*a,s=$a(t)*a,f=$a(n),c=f*i-s*o;return[Ya(s*i+f*o,u*e+c*r),nu(c*e-u*r)]},a}Ns.invert=Ns;var Ps=function(t){function n(n){return(n=t(n[0]*La,n[1]*La))[0]*=Ua,n[1]*=Ua,n}return t=Ts(t[0]*La,t[1]*La,t.length>2?t[2]*La:0),n.invert=function(n){return(n=t.invert(n[0]*La,n[1]*La))[0]*=Ua,n[1]*=Ua,n},n};function Bs(t,n,e,r,i,o){if(e){var a=Va(n),u=$a(n),s=r*e;null==i?(i=n+r*Fa,o=n-s/2):(i=Rs(a,i),o=Rs(a,o),(r>0?i<o:i>o)&&(i+=r*Fa));for(var f,c=i;r>0?c>o:c<o;c-=s)f=Mu([a,-u*Va(c),-u*$a(c)]),t.point(f[0],f[1])}}function Rs(t,n){(n=ku(n))[0]-=t,Nu(n);var e=tu(-n[1]);return((-n[2]<0?-e:e)+Fa-1e-6)%Fa}var Is=function(){var t,n,e=Es([0,0]),r=Es(90),i=Es(6),o={point:function(e,r){t.push(e=n(e,r)),e[0]*=Ua,e[1]*=Ua}};function a(){var a=e.apply(this,arguments),u=r.apply(this,arguments)*La,s=i.apply(this,arguments)*La;return t=[],n=Ts(-a[0]*La,-a[1]*La,0).invert,Bs(o,u,s,1),a={type:"Polygon",coordinates:[t]},t=n=null,a}return a.center=function(t){return arguments.length?(e="function"==typeof t?t:Es([+t[0],+t[1]]),a):e},a.radius=function(t){return arguments.length?(r="function"==typeof t?t:Es(+t),a):r},a.precision=function(t){return arguments.length?(i="function"==typeof t?t:Es(+t),a):i},a},Ds=function(){var t,n=[];return{point:function(n,e){t.push([n,e])},lineStart:function(){n.push(t=[])},lineEnd:ru,rejoin:function(){n.length>1&&n.push(n.pop().concat(n.shift()))},result:function(){var e=n;return n=[],t=null,e}}},Fs=function(t,n){return qa(t[0]-n[0])<1e-6&&qa(t[1]-n[1])<1e-6};function Us(t,n,e,r){this.x=t,this.z=n,this.o=e,this.e=r,this.v=!1,this.n=this.p=null}var Ls=function(t,n,e,r,i){var o,a,u=[],s=[];if(t.forEach((function(t){if(!((n=t.length-1)<=0)){var n,e,r=t[0],a=t[n];if(Fs(r,a)){for(i.lineStart(),o=0;o<n;++o)i.point((r=t[o])[0],r[1]);i.lineEnd()}else u.push(e=new Us(r,t,null,!0)),s.push(e.o=new Us(r,null,e,!1)),u.push(e=new Us(a,t,null,!1)),s.push(e.o=new Us(a,null,e,!0))}})),u.length){for(s.sort(n),qs(u),qs(s),o=0,a=s.length;o<a;++o)s[o].e=e=!e;for(var f,c,l=u[0];;){for(var h=l,p=!0;h.v;)if((h=h.n)===l)return;f=h.z,i.lineStart();do{if(h.v=h.o.v=!0,h.e){if(p)for(o=0,a=f.length;o<a;++o)i.point((c=f[o])[0],c[1]);else r(h.x,h.n.x,1,i);h=h.n}else{if(p)for(f=h.p.z,o=f.length-1;o>=0;--o)i.point((c=f[o])[0],c[1]);else r(h.x,h.p.x,-1,i);h=h.p}f=(h=h.o).z,p=!p}while(!h.v);i.lineEnd()}}};function qs(t){if(n=t.length){for(var n,e,r=0,i=t[0];++r<n;)i.n=e=t[r],e.p=i,i=e;i.n=e=t[0],e.p=i}}var Hs=ja();function Ys(t){return qa(t[0])<=Ra?t[0]:Qa(t[0])*((qa(t[0])+Ra)%Fa-Ra)}var Vs=function(t,n){var e=Ys(n),r=n[1],i=$a(r),o=[$a(e),-Va(e),0],a=0,u=0;Hs.reset(),1===i?r=Ia+1e-6:-1===i&&(r=-Ia-1e-6);for(var s=0,f=t.length;s<f;++s)if(l=(c=t[s]).length)for(var c,l,h=c[l-1],p=Ys(h),d=h[1]/2+Da,v=$a(d),m=Va(d),g=0;g<l;++g,p=_,v=x,m=w,h=y){var y=c[g],_=Ys(y),b=y[1]/2+Da,x=$a(b),w=Va(b),M=_-p,k=M>=0?1:-1,A=k*M,z=A>Ra,E=v*x;if(Hs.add(Ya(E*k*$a(A),m*w+E*Va(A))),a+=z?M+k*Fa:M,z^p>=e^_>=e){var S=zu(ku(h),ku(y));Nu(S);var N=zu(o,S);Nu(N);var T=(z^M>=0?-1:1)*nu(N[2]);(r>T||r===T&&(S[0]||S[1]))&&(u+=z^M>=0?1:-1)}}return(a<-1e-6||a<1e-6&&Hs<-1e-6)^1&u},Ws=function(t,n,e,r){return function(i){var o,a,u,s=n(i),f=Ds(),c=n(f),l=!1,h={point:p,lineStart:v,lineEnd:m,polygonStart:function(){h.point=g,h.lineStart=y,h.lineEnd=_,a=[],o=[]},polygonEnd:function(){h.point=p,h.lineStart=v,h.lineEnd=m,a=I(a);var t=Vs(o,r);a.length?(l||(i.polygonStart(),l=!0),Ls(a,Gs,t,e,i)):t&&(l||(i.polygonStart(),l=!0),i.lineStart(),e(null,null,1,i),i.lineEnd()),l&&(i.polygonEnd(),l=!1),a=o=null},sphere:function(){i.polygonStart(),i.lineStart(),e(null,null,1,i),i.lineEnd(),i.polygonEnd()}};function p(n,e){t(n,e)&&i.point(n,e)}function d(t,n){s.point(t,n)}function v(){h.point=d,s.lineStart()}function m(){h.point=p,s.lineEnd()}function g(t,n){u.push([t,n]),c.point(t,n)}function y(){c.lineStart(),u=[]}function _(){g(u[0][0],u[0][1]),c.lineEnd();var t,n,e,r,s=c.clean(),h=f.result(),p=h.length;if(u.pop(),o.push(u),u=null,p)if(1&s){if((n=(e=h[0]).length-1)>0){for(l||(i.polygonStart(),l=!0),i.lineStart(),t=0;t<n;++t)i.point((r=e[t])[0],r[1]);i.lineEnd()}}else p>1&&2&s&&h.push(h.pop().concat(h.shift())),a.push(h.filter(Xs))}return h}};function Xs(t){return t.length>1}function Gs(t,n){return((t=t.x)[0]<0?t[1]-Ia-1e-6:Ia-t[1])-((n=n.x)[0]<0?n[1]-Ia-1e-6:Ia-n[1])}var Zs=Ws((function(){return!0}),(function(t){var n,e=NaN,r=NaN,i=NaN;return{lineStart:function(){t.lineStart(),n=1},point:function(o,a){var u=o>0?Ra:-Ra,s=qa(o-e);qa(s-Ra)<1e-6?(t.point(e,r=(r+a)/2>0?Ia:-Ia),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(u,r),t.point(o,r),n=0):i!==u&&s>=Ra&&(qa(e-i)<1e-6&&(e-=1e-6*i),qa(o-u)<1e-6&&(o-=1e-6*u),r=function(t,n,e,r){var i,o,a=$a(t-e);return qa(a)>1e-6?Ha(($a(n)*(o=Va(r))*$a(e)-$a(r)*(i=Va(n))*$a(t))/(i*o*a)):(n+r)/2}(e,r,o,a),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(u,r),n=0),t.point(e=o,r=a),i=u},lineEnd:function(){t.lineEnd(),e=r=NaN},clean:function(){return 2-n}}}),(function(t,n,e,r){var i;if(null==t)i=e*Ia,r.point(-Ra,i),r.point(0,i),r.point(Ra,i),r.point(Ra,0),r.point(Ra,-i),r.point(0,-i),r.point(-Ra,-i),r.point(-Ra,0),r.point(-Ra,i);else if(qa(t[0]-n[0])>1e-6){var o=t[0]<n[0]?Ra:-Ra;i=e*o/2,r.point(-o,i),r.point(0,i),r.point(o,i)}else r.point(n[0],n[1])}),[-Ra,-Ia]);var $s=function(t){var n=Va(t),e=6*La,r=n>0,i=qa(n)>1e-6;function o(t,e){return Va(t)*Va(e)>n}function a(t,e,r){var i=[1,0,0],o=zu(ku(t),ku(e)),a=Au(o,o),u=o[0],s=a-u*u;if(!s)return!r&&t;var f=n*a/s,c=-n*u/s,l=zu(i,o),h=Su(i,f);Eu(h,Su(o,c));var p=l,d=Au(h,p),v=Au(p,p),m=d*d-v*(Au(h,h)-1);if(!(m<0)){var g=Ka(m),y=Su(p,(-d-g)/v);if(Eu(y,h),y=Mu(y),!r)return y;var _,b=t[0],x=e[0],w=t[1],M=e[1];x<b&&(_=b,b=x,x=_);var k=x-b,A=qa(k-Ra)<1e-6;if(!A&&M<w&&(_=w,w=M,M=_),A||k<1e-6?A?w+M>0^y[1]<(qa(y[0]-b)<1e-6?w:M):w<=y[1]&&y[1]<=M:k>Ra^(b<=y[0]&&y[0]<=x)){var z=Su(p,(-d+g)/v);return Eu(z,h),[y,Mu(z)]}}}function u(n,e){var i=r?t:Ra-t,o=0;return n<-i?o|=1:n>i&&(o|=2),e<-i?o|=4:e>i&&(o|=8),o}return Ws(o,(function(t){var n,e,s,f,c;return{lineStart:function(){f=s=!1,c=1},point:function(l,h){var p,d=[l,h],v=o(l,h),m=r?v?0:u(l,h):v?u(l+(l<0?Ra:-Ra),h):0;if(!n&&(f=s=v)&&t.lineStart(),v!==s&&(!(p=a(n,d))||Fs(n,p)||Fs(d,p))&&(d[0]+=1e-6,d[1]+=1e-6,v=o(d[0],d[1])),v!==s)c=0,v?(t.lineStart(),p=a(d,n),t.point(p[0],p[1])):(p=a(n,d),t.point(p[0],p[1]),t.lineEnd()),n=p;else if(i&&n&&r^v){var g;m&e||!(g=a(d,n,!0))||(c=0,r?(t.lineStart(),t.point(g[0][0],g[0][1]),t.point(g[1][0],g[1][1]),t.lineEnd()):(t.point(g[1][0],g[1][1]),t.lineEnd(),t.lineStart(),t.point(g[0][0],g[0][1])))}!v||n&&Fs(n,d)||t.point(d[0],d[1]),n=d,s=v,e=m},lineEnd:function(){s&&t.lineEnd(),n=null},clean:function(){return c|(f&&s)<<1}}}),(function(n,r,i,o){Bs(o,t,e,i,n,r)}),r?[0,-t]:[-Ra,t-Ra])};function Qs(t,n,e,r){function i(i,o){return t<=i&&i<=e&&n<=o&&o<=r}function o(i,o,u,f){var c=0,l=0;if(null==i||(c=a(i,u))!==(l=a(o,u))||s(i,o)<0^u>0)do{f.point(0===c||3===c?t:e,c>1?r:n)}while((c=(c+u+4)%4)!==l);else f.point(o[0],o[1])}function a(r,i){return qa(r[0]-t)<1e-6?i>0?0:3:qa(r[0]-e)<1e-6?i>0?2:1:qa(r[1]-n)<1e-6?i>0?1:0:i>0?3:2}function u(t,n){return s(t.x,n.x)}function s(t,n){var e=a(t,1),r=a(n,1);return e!==r?e-r:0===e?n[1]-t[1]:1===e?t[0]-n[0]:2===e?t[1]-n[1]:n[0]-t[0]}return function(a){var s,f,c,l,h,p,d,v,m,g,y,_=a,b=Ds(),x={point:w,lineStart:function(){x.point=M,f&&f.push(c=[]);g=!0,m=!1,d=v=NaN},lineEnd:function(){s&&(M(l,h),p&&m&&b.rejoin(),s.push(b.result()));x.point=w,m&&_.lineEnd()},polygonStart:function(){_=b,s=[],f=[],y=!0},polygonEnd:function(){var n=function(){for(var n=0,e=0,i=f.length;e<i;++e)for(var o,a,u=f[e],s=1,c=u.length,l=u[0],h=l[0],p=l[1];s<c;++s)o=h,a=p,l=u[s],h=l[0],p=l[1],a<=r?p>r&&(h-o)*(r-a)>(p-a)*(t-o)&&++n:p<=r&&(h-o)*(r-a)<(p-a)*(t-o)&&--n;return n}(),e=y&&n,i=(s=I(s)).length;(e||i)&&(a.polygonStart(),e&&(a.lineStart(),o(null,null,1,a),a.lineEnd()),i&&Ls(s,u,n,o,a),a.polygonEnd());_=a,s=f=c=null}};function w(t,n){i(t,n)&&_.point(t,n)}function M(o,a){var u=i(o,a);if(f&&c.push([o,a]),g)l=o,h=a,p=u,g=!1,u&&(_.lineStart(),_.point(o,a));else if(u&&m)_.point(o,a);else{var s=[d=Math.max(-1e9,Math.min(1e9,d)),v=Math.max(-1e9,Math.min(1e9,v))],b=[o=Math.max(-1e9,Math.min(1e9,o)),a=Math.max(-1e9,Math.min(1e9,a))];!function(t,n,e,r,i,o){var a,u=t[0],s=t[1],f=0,c=1,l=n[0]-u,h=n[1]-s;if(a=e-u,l||!(a>0)){if(a/=l,l<0){if(a<f)return;a<c&&(c=a)}else if(l>0){if(a>c)return;a>f&&(f=a)}if(a=i-u,l||!(a<0)){if(a/=l,l<0){if(a>c)return;a>f&&(f=a)}else if(l>0){if(a<f)return;a<c&&(c=a)}if(a=r-s,h||!(a>0)){if(a/=h,h<0){if(a<f)return;a<c&&(c=a)}else if(h>0){if(a>c)return;a>f&&(f=a)}if(a=o-s,h||!(a<0)){if(a/=h,h<0){if(a>c)return;a>f&&(f=a)}else if(h>0){if(a<f)return;a<c&&(c=a)}return f>0&&(t[0]=u+f*l,t[1]=s+f*h),c<1&&(n[0]=u+c*l,n[1]=s+c*h),!0}}}}}(s,b,t,n,e,r)?u&&(_.lineStart(),_.point(o,a),y=!1):(m||(_.lineStart(),_.point(s[0],s[1])),_.point(b[0],b[1]),u||_.lineEnd(),y=!1)}d=o,v=a,m=u}return x}}var Ks,Js,tf,nf=function(){var t,n,e,r=0,i=0,o=960,a=500;return e={stream:function(e){return t&&n===e?t:t=Qs(r,i,o,a)(n=e)},extent:function(u){return arguments.length?(r=+u[0][0],i=+u[0][1],o=+u[1][0],a=+u[1][1],t=n=null,e):[[r,i],[o,a]]}}},ef=ja(),rf={sphere:ru,point:ru,lineStart:function(){rf.point=af,rf.lineEnd=of},lineEnd:ru,polygonStart:ru,polygonEnd:ru};function of(){rf.point=rf.lineEnd=ru}function af(t,n){Ks=t*=La,Js=$a(n*=La),tf=Va(n),rf.point=uf}function uf(t,n){t*=La;var e=$a(n*=La),r=Va(n),i=qa(t-Ks),o=Va(i),a=r*$a(i),u=tf*e-Js*r*o,s=Js*e+tf*r*o;ef.add(Ya(Ka(a*a+u*u),s)),Ks=t,Js=e,tf=r}var sf=function(t){return ef.reset(),du(t,rf),+ef},ff=[null,null],cf={type:"LineString",coordinates:ff},lf=function(t,n){return ff[0]=t,ff[1]=n,sf(cf)},hf={Feature:function(t,n){return df(t.geometry,n)},FeatureCollection:function(t,n){for(var e=t.features,r=-1,i=e.length;++r<i;)if(df(e[r].geometry,n))return!0;return!1}},pf={Sphere:function(){return!0},Point:function(t,n){return vf(t.coordinates,n)},MultiPoint:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)if(vf(e[r],n))return!0;return!1},LineString:function(t,n){return mf(t.coordinates,n)},MultiLineString:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)if(mf(e[r],n))return!0;return!1},Polygon:function(t,n){return gf(t.coordinates,n)},MultiPolygon:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)if(gf(e[r],n))return!0;return!1},GeometryCollection:function(t,n){for(var e=t.geometries,r=-1,i=e.length;++r<i;)if(df(e[r],n))return!0;return!1}};function df(t,n){return!(!t||!pf.hasOwnProperty(t.type))&&pf[t.type](t,n)}function vf(t,n){return 0===lf(t,n)}function mf(t,n){for(var e,r,i,o=0,a=t.length;o<a;o++){if(0===(r=lf(t[o],n)))return!0;if(o>0&&(i=lf(t[o],t[o-1]))>0&&e<=i&&r<=i&&(e+r-i)*(1-Math.pow((e-r)/i,2))<1e-12*i)return!0;e=r}return!1}function gf(t,n){return!!Vs(t.map(yf),_f(n))}function yf(t){return(t=t.map(_f)).pop(),t}function _f(t){return[t[0]*La,t[1]*La]}var bf=function(t,n){return(t&&hf.hasOwnProperty(t.type)?hf[t.type]:df)(t,n)};function xf(t,n,e){var r=w(t,n-1e-6,e).concat(n);return function(t){return r.map((function(n){return[t,n]}))}}function wf(t,n,e){var r=w(t,n-1e-6,e).concat(n);return function(t){return r.map((function(n){return[n,t]}))}}function Mf(){var t,n,e,r,i,o,a,u,s,f,c,l,h=10,p=h,d=90,v=360,m=2.5;function g(){return{type:"MultiLineString",coordinates:y()}}function y(){return w(Wa(r/d)*d,e,d).map(c).concat(w(Wa(u/v)*v,a,v).map(l)).concat(w(Wa(n/h)*h,t,h).filter((function(t){return qa(t%d)>1e-6})).map(s)).concat(w(Wa(o/p)*p,i,p).filter((function(t){return qa(t%v)>1e-6})).map(f))}return g.lines=function(){return y().map((function(t){return{type:"LineString",coordinates:t}}))},g.outline=function(){return{type:"Polygon",coordinates:[c(r).concat(l(a).slice(1),c(e).reverse().slice(1),l(u).reverse().slice(1))]}},g.extent=function(t){return arguments.length?g.extentMajor(t).extentMinor(t):g.extentMinor()},g.extentMajor=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],u=+t[0][1],a=+t[1][1],r>e&&(t=r,r=e,e=t),u>a&&(t=u,u=a,a=t),g.precision(m)):[[r,u],[e,a]]},g.extentMinor=function(e){return arguments.length?(n=+e[0][0],t=+e[1][0],o=+e[0][1],i=+e[1][1],n>t&&(e=n,n=t,t=e),o>i&&(e=o,o=i,i=e),g.precision(m)):[[n,o],[t,i]]},g.step=function(t){return arguments.length?g.stepMajor(t).stepMinor(t):g.stepMinor()},g.stepMajor=function(t){return arguments.length?(d=+t[0],v=+t[1],g):[d,v]},g.stepMinor=function(t){return arguments.length?(h=+t[0],p=+t[1],g):[h,p]},g.precision=function(h){return arguments.length?(m=+h,s=xf(o,i,90),f=wf(n,t,m),c=xf(u,a,90),l=wf(r,e,m),g):m},g.extentMajor([[-180,1e-6-90],[180,90-1e-6]]).extentMinor([[-180,-80-1e-6],[180,80+1e-6]])}function kf(){return Mf()()}var Af,zf,Ef,Sf,Nf=function(t,n){var e=t[0]*La,r=t[1]*La,i=n[0]*La,o=n[1]*La,a=Va(r),u=$a(r),s=Va(o),f=$a(o),c=a*Va(e),l=a*$a(e),h=s*Va(i),p=s*$a(i),d=2*nu(Ka(eu(o-r)+a*s*eu(i-e))),v=$a(d),m=d?function(t){var n=$a(t*=d)/v,e=$a(d-t)/v,r=e*c+n*h,i=e*l+n*p,o=e*u+n*f;return[Ya(i,r)*Ua,Ya(o,Ka(r*r+i*i))*Ua]}:function(){return[e*Ua,r*Ua]};return m.distance=d,m},Tf=function(t){return t},Cf=ja(),jf=ja(),Of={point:ru,lineStart:ru,lineEnd:ru,polygonStart:function(){Of.lineStart=Pf,Of.lineEnd=If},polygonEnd:function(){Of.lineStart=Of.lineEnd=Of.point=ru,Cf.add(qa(jf)),jf.reset()},result:function(){var t=Cf/2;return Cf.reset(),t}};function Pf(){Of.point=Bf}function Bf(t,n){Of.point=Rf,Af=Ef=t,zf=Sf=n}function Rf(t,n){jf.add(Sf*t-Ef*n),Ef=t,Sf=n}function If(){Rf(Af,zf)}var Df=Of,Ff=1/0,Uf=Ff,Lf=-Ff,qf=Lf;var Hf,Yf,Vf,Wf,Xf={point:function(t,n){t<Ff&&(Ff=t);t>Lf&&(Lf=t);n<Uf&&(Uf=n);n>qf&&(qf=n)},lineStart:ru,lineEnd:ru,polygonStart:ru,polygonEnd:ru,result:function(){var t=[[Ff,Uf],[Lf,qf]];return Lf=qf=-(Uf=Ff=1/0),t}},Gf=0,Zf=0,$f=0,Qf=0,Kf=0,Jf=0,tc=0,nc=0,ec=0,rc={point:ic,lineStart:oc,lineEnd:sc,polygonStart:function(){rc.lineStart=fc,rc.lineEnd=cc},polygonEnd:function(){rc.point=ic,rc.lineStart=oc,rc.lineEnd=sc},result:function(){var t=ec?[tc/ec,nc/ec]:Jf?[Qf/Jf,Kf/Jf]:$f?[Gf/$f,Zf/$f]:[NaN,NaN];return Gf=Zf=$f=Qf=Kf=Jf=tc=nc=ec=0,t}};function ic(t,n){Gf+=t,Zf+=n,++$f}function oc(){rc.point=ac}function ac(t,n){rc.point=uc,ic(Vf=t,Wf=n)}function uc(t,n){var e=t-Vf,r=n-Wf,i=Ka(e*e+r*r);Qf+=i*(Vf+t)/2,Kf+=i*(Wf+n)/2,Jf+=i,ic(Vf=t,Wf=n)}function sc(){rc.point=ic}function fc(){rc.point=lc}function cc(){hc(Hf,Yf)}function lc(t,n){rc.point=hc,ic(Hf=Vf=t,Yf=Wf=n)}function hc(t,n){var e=t-Vf,r=n-Wf,i=Ka(e*e+r*r);Qf+=i*(Vf+t)/2,Kf+=i*(Wf+n)/2,Jf+=i,tc+=(i=Wf*t-Vf*n)*(Vf+t),nc+=i*(Wf+n),ec+=3*i,ic(Vf=t,Wf=n)}var pc=rc;function dc(t){this._context=t}dc.prototype={_radius:4.5,pointRadius:function(t){return this._radius=t,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(t,n){switch(this._point){case 0:this._context.moveTo(t,n),this._point=1;break;case 1:this._context.lineTo(t,n);break;default:this._context.moveTo(t+this._radius,n),this._context.arc(t,n,this._radius,0,Fa)}},result:ru};var vc,mc,gc,yc,_c,bc=ja(),xc={point:ru,lineStart:function(){xc.point=wc},lineEnd:function(){vc&&Mc(mc,gc),xc.point=ru},polygonStart:function(){vc=!0},polygonEnd:function(){vc=null},result:function(){var t=+bc;return bc.reset(),t}};function wc(t,n){xc.point=Mc,mc=yc=t,gc=_c=n}function Mc(t,n){yc-=t,_c-=n,bc.add(Ka(yc*yc+_c*_c)),yc=t,_c=n}var kc=xc;function Ac(){this._string=[]}function zc(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}Ac.prototype={_radius:4.5,_circle:zc(4.5),pointRadius:function(t){return(t=+t)!==this._radius&&(this._radius=t,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._string.push("Z"),this._point=NaN},point:function(t,n){switch(this._point){case 0:this._string.push("M",t,",",n),this._point=1;break;case 1:this._string.push("L",t,",",n);break;default:null==this._circle&&(this._circle=zc(this._radius)),this._string.push("M",t,",",n,this._circle)}},result:function(){if(this._string.length){var t=this._string.join("");return this._string=[],t}return null}};var Ec=function(t,n){var e,r,i=4.5;function o(t){return t&&("function"==typeof i&&r.pointRadius(+i.apply(this,arguments)),du(t,e(r))),r.result()}return o.area=function(t){return du(t,e(Df)),Df.result()},o.measure=function(t){return du(t,e(kc)),kc.result()},o.bounds=function(t){return du(t,e(Xf)),Xf.result()},o.centroid=function(t){return du(t,e(pc)),pc.result()},o.projection=function(n){return arguments.length?(e=null==n?(t=null,Tf):(t=n).stream,o):t},o.context=function(t){return arguments.length?(r=null==t?(n=null,new Ac):new dc(n=t),"function"!=typeof i&&r.pointRadius(i),o):n},o.pointRadius=function(t){return arguments.length?(i="function"==typeof t?t:(r.pointRadius(+t),+t),o):i},o.projection(t).context(n)},Sc=function(t){return{stream:Nc(t)}};function Nc(t){return function(n){var e=new Tc;for(var r in t)e[r]=t[r];return e.stream=n,e}}function Tc(){}function Cc(t,n,e){var r=t.clipExtent&&t.clipExtent();return t.scale(150).translate([0,0]),null!=r&&t.clipExtent(null),du(e,t.stream(Xf)),n(Xf.result()),null!=r&&t.clipExtent(r),t}function jc(t,n,e){return Cc(t,(function(e){var r=n[1][0]-n[0][0],i=n[1][1]-n[0][1],o=Math.min(r/(e[1][0]-e[0][0]),i/(e[1][1]-e[0][1])),a=+n[0][0]+(r-o*(e[1][0]+e[0][0]))/2,u=+n[0][1]+(i-o*(e[1][1]+e[0][1]))/2;t.scale(150*o).translate([a,u])}),e)}function Oc(t,n,e){return jc(t,[[0,0],n],e)}function Pc(t,n,e){return Cc(t,(function(e){var r=+n,i=r/(e[1][0]-e[0][0]),o=(r-i*(e[1][0]+e[0][0]))/2,a=-i*e[0][1];t.scale(150*i).translate([o,a])}),e)}function Bc(t,n,e){return Cc(t,(function(e){var r=+n,i=r/(e[1][1]-e[0][1]),o=-i*e[0][0],a=(r-i*(e[1][1]+e[0][1]))/2;t.scale(150*i).translate([o,a])}),e)}Tc.prototype={constructor:Tc,point:function(t,n){this.stream.point(t,n)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};var Rc=Va(30*La),Ic=function(t,n){return+n?function(t,n){function e(r,i,o,a,u,s,f,c,l,h,p,d,v,m){var g=f-r,y=c-i,_=g*g+y*y;if(_>4*n&&v--){var b=a+h,x=u+p,w=s+d,M=Ka(b*b+x*x+w*w),k=nu(w/=M),A=qa(qa(w)-1)<1e-6||qa(o-l)<1e-6?(o+l)/2:Ya(x,b),z=t(A,k),E=z[0],S=z[1],N=E-r,T=S-i,C=y*N-g*T;(C*C/_>n||qa((g*N+y*T)/_-.5)>.3||a*h+u*p+s*d<Rc)&&(e(r,i,o,a,u,s,E,S,A,b/=M,x/=M,w,v,m),m.point(E,S),e(E,S,A,b,x,w,f,c,l,h,p,d,v,m))}}return function(n){var r,i,o,a,u,s,f,c,l,h,p,d,v={point:m,lineStart:g,lineEnd:_,polygonStart:function(){n.polygonStart(),v.lineStart=b},polygonEnd:function(){n.polygonEnd(),v.lineStart=g}};function m(e,r){e=t(e,r),n.point(e[0],e[1])}function g(){c=NaN,v.point=y,n.lineStart()}function y(r,i){var o=ku([r,i]),a=t(r,i);e(c,l,f,h,p,d,c=a[0],l=a[1],f=r,h=o[0],p=o[1],d=o[2],16,n),n.point(c,l)}function _(){v.point=m,n.lineEnd()}function b(){g(),v.point=x,v.lineEnd=w}function x(t,n){y(r=t,n),i=c,o=l,a=h,u=p,s=d,v.point=y}function w(){e(c,l,f,h,p,d,i,o,r,a,u,s,16,n),v.lineEnd=_,_()}return v}}(t,n):function(t){return Nc({point:function(n,e){n=t(n,e),this.stream.point(n[0],n[1])}})}(t)};var Dc=Nc({point:function(t,n){this.stream.point(t*La,n*La)}});function Fc(t,n,e){function r(r,i){return[n+t*r,e-t*i]}return r.invert=function(r,i){return[(r-n)/t,(e-i)/t]},r}function Uc(t,n,e,r){var i=Va(r),o=$a(r),a=i*t,u=o*t,s=i/t,f=o/t,c=(o*e-i*n)/t,l=(o*n+i*e)/t;function h(t,r){return[a*t-u*r+n,e-u*t-a*r]}return h.invert=function(t,n){return[s*t-f*n+c,l-f*t-s*n]},h}function Lc(t){return qc((function(){return t}))()}function qc(t){var n,e,r,i,o,a,u,s,f,c,l=150,h=480,p=250,d=0,v=0,m=0,g=0,y=0,_=0,b=null,x=Zs,w=null,M=Tf,k=.5;function A(t){return s(t[0]*La,t[1]*La)}function z(t){return(t=s.invert(t[0],t[1]))&&[t[0]*Ua,t[1]*Ua]}function E(){var t=Uc(l,0,0,_).apply(null,n(d,v)),r=(_?Uc:Fc)(l,h-t[0],p-t[1],_);return e=Ts(m,g,y),u=Ss(n,r),s=Ss(e,u),a=Ic(u,k),S()}function S(){return f=c=null,A}return A.stream=function(t){return f&&c===t?f:f=Dc(function(t){return Nc({point:function(n,e){var r=t(n,e);return this.stream.point(r[0],r[1])}})}(e)(x(a(M(c=t)))))},A.preclip=function(t){return arguments.length?(x=t,b=void 0,S()):x},A.postclip=function(t){return arguments.length?(M=t,w=r=i=o=null,S()):M},A.clipAngle=function(t){return arguments.length?(x=+t?$s(b=t*La):(b=null,Zs),S()):b*Ua},A.clipExtent=function(t){return arguments.length?(M=null==t?(w=r=i=o=null,Tf):Qs(w=+t[0][0],r=+t[0][1],i=+t[1][0],o=+t[1][1]),S()):null==w?null:[[w,r],[i,o]]},A.scale=function(t){return arguments.length?(l=+t,E()):l},A.translate=function(t){return arguments.length?(h=+t[0],p=+t[1],E()):[h,p]},A.center=function(t){return arguments.length?(d=t[0]%360*La,v=t[1]%360*La,E()):[d*Ua,v*Ua]},A.rotate=function(t){return arguments.length?(m=t[0]%360*La,g=t[1]%360*La,y=t.length>2?t[2]%360*La:0,E()):[m*Ua,g*Ua,y*Ua]},A.angle=function(t){return arguments.length?(_=t%360*La,E()):_*Ua},A.precision=function(t){return arguments.length?(a=Ic(u,k=t*t),S()):Ka(k)},A.fitExtent=function(t,n){return jc(A,t,n)},A.fitSize=function(t,n){return Oc(A,t,n)},A.fitWidth=function(t,n){return Pc(A,t,n)},A.fitHeight=function(t,n){return Bc(A,t,n)},function(){return n=t.apply(this,arguments),A.invert=n.invert&&z,E()}}function Hc(t){var n=0,e=Ra/3,r=qc(t),i=r(n,e);return i.parallels=function(t){return arguments.length?r(n=t[0]*La,e=t[1]*La):[n*Ua,e*Ua]},i}function Yc(t,n){var e=$a(t),r=(e+$a(n))/2;if(qa(r)<1e-6)return function(t){var n=Va(t);function e(t,e){return[t*n,$a(e)/n]}return e.invert=function(t,e){return[t/n,nu(e*n)]},e}(t);var i=1+e*(2*r-e),o=Ka(i)/r;function a(t,n){var e=Ka(i-2*r*$a(n))/r;return[e*$a(t*=r),o-e*Va(t)]}return a.invert=function(t,n){var e=o-n;return[Ya(t,qa(e))/r*Qa(e),nu((i-(t*t+e*e)*r*r)/(2*r))]},a}var Vc=function(){return Hc(Yc).scale(155.424).center([0,33.6442])},Wc=function(){return Vc().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])};var Xc=function(){var t,n,e,r,i,o,a=Wc(),u=Vc().rotate([154,0]).center([-2,58.5]).parallels([55,65]),s=Vc().rotate([157,0]).center([-3,19.9]).parallels([8,18]),f={point:function(t,n){o=[t,n]}};function c(t){var n=t[0],a=t[1];return o=null,e.point(n,a),o||(r.point(n,a),o)||(i.point(n,a),o)}function l(){return t=n=null,c}return c.invert=function(t){var n=a.scale(),e=a.translate(),r=(t[0]-e[0])/n,i=(t[1]-e[1])/n;return(i>=.12&&i<.234&&r>=-.425&&r<-.214?u:i>=.166&&i<.234&&r>=-.214&&r<-.115?s:a).invert(t)},c.stream=function(e){return t&&n===e?t:(r=[a.stream(n=e),u.stream(e),s.stream(e)],i=r.length,t={point:function(t,n){for(var e=-1;++e<i;)r[e].point(t,n)},sphere:function(){for(var t=-1;++t<i;)r[t].sphere()},lineStart:function(){for(var t=-1;++t<i;)r[t].lineStart()},lineEnd:function(){for(var t=-1;++t<i;)r[t].lineEnd()},polygonStart:function(){for(var t=-1;++t<i;)r[t].polygonStart()},polygonEnd:function(){for(var t=-1;++t<i;)r[t].polygonEnd()}});var r,i},c.precision=function(t){return arguments.length?(a.precision(t),u.precision(t),s.precision(t),l()):a.precision()},c.scale=function(t){return arguments.length?(a.scale(t),u.scale(.35*t),s.scale(t),c.translate(a.translate())):a.scale()},c.translate=function(t){if(!arguments.length)return a.translate();var n=a.scale(),o=+t[0],c=+t[1];return e=a.translate(t).clipExtent([[o-.455*n,c-.238*n],[o+.455*n,c+.238*n]]).stream(f),r=u.translate([o-.307*n,c+.201*n]).clipExtent([[o-.425*n+1e-6,c+.12*n+1e-6],[o-.214*n-1e-6,c+.234*n-1e-6]]).stream(f),i=s.translate([o-.205*n,c+.212*n]).clipExtent([[o-.214*n+1e-6,c+.166*n+1e-6],[o-.115*n-1e-6,c+.234*n-1e-6]]).stream(f),l()},c.fitExtent=function(t,n){return jc(c,t,n)},c.fitSize=function(t,n){return Oc(c,t,n)},c.fitWidth=function(t,n){return Pc(c,t,n)},c.fitHeight=function(t,n){return Bc(c,t,n)},c.scale(1070)};function Gc(t){return function(n,e){var r=Va(n),i=Va(e),o=t(r*i);return[o*i*$a(n),o*$a(e)]}}function Zc(t){return function(n,e){var r=Ka(n*n+e*e),i=t(r),o=$a(i),a=Va(i);return[Ya(n*o,r*a),nu(r&&e*o/r)]}}var $c=Gc((function(t){return Ka(2/(1+t))}));$c.invert=Zc((function(t){return 2*nu(t/2)}));var Qc=function(){return Lc($c).scale(124.75).clipAngle(179.999)},Kc=Gc((function(t){return(t=tu(t))&&t/$a(t)}));Kc.invert=Zc((function(t){return t}));var Jc=function(){return Lc(Kc).scale(79.4188).clipAngle(179.999)};function tl(t,n){return[t,Ga(Ja((Ia+n)/2))]}tl.invert=function(t,n){return[t,2*Ha(Xa(n))-Ia]};var nl=function(){return el(tl).scale(961/Fa)};function el(t){var n,e,r,i=Lc(t),o=i.center,a=i.scale,u=i.translate,s=i.clipExtent,f=null;function c(){var o=Ra*a(),u=i(Ps(i.rotate()).invert([0,0]));return s(null==f?[[u[0]-o,u[1]-o],[u[0]+o,u[1]+o]]:t===tl?[[Math.max(u[0]-o,f),n],[Math.min(u[0]+o,e),r]]:[[f,Math.max(u[1]-o,n)],[e,Math.min(u[1]+o,r)]])}return i.scale=function(t){return arguments.length?(a(t),c()):a()},i.translate=function(t){return arguments.length?(u(t),c()):u()},i.center=function(t){return arguments.length?(o(t),c()):o()},i.clipExtent=function(t){return arguments.length?(null==t?f=n=e=r=null:(f=+t[0][0],n=+t[0][1],e=+t[1][0],r=+t[1][1]),c()):null==f?null:[[f,n],[e,r]]},c()}function rl(t){return Ja((Ia+t)/2)}function il(t,n){var e=Va(t),r=t===n?$a(t):Ga(e/Va(n))/Ga(rl(n)/rl(t)),i=e*Za(rl(t),r)/r;if(!r)return tl;function o(t,n){i>0?n<1e-6-Ia&&(n=1e-6-Ia):n>Ia-1e-6&&(n=Ia-1e-6);var e=i/Za(rl(n),r);return[e*$a(r*t),i-e*Va(r*t)]}return o.invert=function(t,n){var e=i-n,o=Qa(r)*Ka(t*t+e*e);return[Ya(t,qa(e))/r*Qa(e),2*Ha(Za(i/o,1/r))-Ia]},o}var ol=function(){return Hc(il).scale(109.5).parallels([30,30])};function al(t,n){return[t,n]}al.invert=al;var ul=function(){return Lc(al).scale(152.63)};function sl(t,n){var e=Va(t),r=t===n?$a(t):(e-Va(n))/(n-t),i=e/r+t;if(qa(r)<1e-6)return al;function o(t,n){var e=i-n,o=r*t;return[e*$a(o),i-e*Va(o)]}return o.invert=function(t,n){var e=i-n;return[Ya(t,qa(e))/r*Qa(e),i-Qa(r)*Ka(t*t+e*e)]},o}var fl=function(){return Hc(sl).scale(131.154).center([0,13.9389])},cl=1.340264,ll=-.081106,hl=893e-6,pl=.003796,dl=Ka(3)/2;function vl(t,n){var e=nu(dl*$a(n)),r=e*e,i=r*r*r;return[t*Va(e)/(dl*(cl+3*ll*r+i*(7*hl+9*pl*r))),e*(cl+ll*r+i*(hl+pl*r))]}vl.invert=function(t,n){for(var e,r=n,i=r*r,o=i*i*i,a=0;a<12&&(o=(i=(r-=e=(r*(cl+ll*i+o*(hl+pl*i))-n)/(cl+3*ll*i+o*(7*hl+9*pl*i)))*r)*i*i,!(qa(e)<1e-12));++a);return[dl*t*(cl+3*ll*i+o*(7*hl+9*pl*i))/Va(r),nu($a(r)/dl)]};var ml=function(){return Lc(vl).scale(177.158)};function gl(t,n){var e=Va(n),r=Va(t)*e;return[e*$a(t)/r,$a(n)/r]}gl.invert=Zc(Ha);var yl=function(){return Lc(gl).scale(144.049).clipAngle(60)};function _l(t,n,e,r){return 1===t&&1===n&&0===e&&0===r?Tf:Nc({point:function(i,o){this.stream.point(i*t+e,o*n+r)}})}var bl=function(){var t,n,e,r,i,o,a=1,u=0,s=0,f=1,c=1,l=Tf,h=null,p=Tf;function d(){return r=i=null,o}return o={stream:function(t){return r&&i===t?r:r=l(p(i=t))},postclip:function(r){return arguments.length?(p=r,h=t=n=e=null,d()):p},clipExtent:function(r){return arguments.length?(p=null==r?(h=t=n=e=null,Tf):Qs(h=+r[0][0],t=+r[0][1],n=+r[1][0],e=+r[1][1]),d()):null==h?null:[[h,t],[n,e]]},scale:function(t){return arguments.length?(l=_l((a=+t)*f,a*c,u,s),d()):a},translate:function(t){return arguments.length?(l=_l(a*f,a*c,u=+t[0],s=+t[1]),d()):[u,s]},reflectX:function(t){return arguments.length?(l=_l(a*(f=t?-1:1),a*c,u,s),d()):f<0},reflectY:function(t){return arguments.length?(l=_l(a*f,a*(c=t?-1:1),u,s),d()):c<0},fitExtent:function(t,n){return jc(o,t,n)},fitSize:function(t,n){return Oc(o,t,n)},fitWidth:function(t,n){return Pc(o,t,n)},fitHeight:function(t,n){return Bc(o,t,n)}}};function xl(t,n){var e=n*n,r=e*e;return[t*(.8707-.131979*e+r*(r*(.003971*e-.001529*r)-.013791)),n*(1.007226+e*(.015085+r*(.028874*e-.044475-.005916*r)))]}xl.invert=function(t,n){var e,r=n,i=25;do{var o=r*r,a=o*o;r-=e=(r*(1.007226+o*(.015085+a*(.028874*o-.044475-.005916*a)))-n)/(1.007226+o*(.045255+a*(.259866*o-.311325-.005916*11*a)))}while(qa(e)>1e-6&&--i>0);return[t/(.8707+(o=r*r)*(o*(o*o*o*(.003971-.001529*o)-.013791)-.131979)),r]};var wl=function(){return Lc(xl).scale(175.295)};function Ml(t,n){return[Va(n)*$a(t),$a(n)]}Ml.invert=Zc(nu);var kl=function(){return Lc(Ml).scale(249.5).clipAngle(90+1e-6)};function Al(t,n){var e=Va(n),r=1+Va(t)*e;return[e*$a(t)/r,$a(n)/r]}Al.invert=Zc((function(t){return 2*Ha(t)}));var zl=function(){return Lc(Al).scale(250).clipAngle(142)};function El(t,n){return[Ga(Ja((Ia+n)/2)),-t]}El.invert=function(t,n){return[-n,2*Ha(Xa(t))-Ia]};var Sl=function(){var t=el(El),n=t.center,e=t.rotate;return t.center=function(t){return arguments.length?n([-t[1],t[0]]):[(t=n())[1],-t[0]]},t.rotate=function(t){return arguments.length?e([t[0],t[1],t.length>2?t[2]+90:90]):[(t=e())[0],t[1],t[2]-90]},e([0,0,90]).scale(159.155)};function Nl(t,n){return t.parent===n.parent?1:2}function Tl(t,n){return t+n.x}function Cl(t,n){return Math.max(t,n.y)}var jl=function(){var t=Nl,n=1,e=1,r=!1;function i(i){var o,a=0;i.eachAfter((function(n){var e=n.children;e?(n.x=function(t){return t.reduce(Tl,0)/t.length}(e),n.y=function(t){return 1+t.reduce(Cl,0)}(e)):(n.x=o?a+=t(n,o):0,n.y=0,o=n)}));var u=function(t){for(var n;n=t.children;)t=n[0];return t}(i),s=function(t){for(var n;n=t.children;)t=n[n.length-1];return t}(i),f=u.x-t(u,s)/2,c=s.x+t(s,u)/2;return i.eachAfter(r?function(t){t.x=(t.x-i.x)*n,t.y=(i.y-t.y)*e}:function(t){t.x=(t.x-f)/(c-f)*n,t.y=(1-(i.y?t.y/i.y:1))*e})}return i.separation=function(n){return arguments.length?(t=n,i):t},i.size=function(t){return arguments.length?(r=!1,n=+t[0],e=+t[1],i):r?null:[n,e]},i.nodeSize=function(t){return arguments.length?(r=!0,n=+t[0],e=+t[1],i):r?[n,e]:null},i};function Ol(t){var n=0,e=t.children,r=e&&e.length;if(r)for(;--r>=0;)n+=e[r].value;else n=1;t.value=n}function Pl(t,n){var e,r,i,o,a,u=new Dl(t),s=+t.value&&(u.value=t.value),f=[u];for(null==n&&(n=Bl);e=f.pop();)if(s&&(e.value=+e.data.value),(i=n(e.data))&&(a=i.length))for(e.children=new Array(a),o=a-1;o>=0;--o)f.push(r=e.children[o]=new Dl(i[o])),r.parent=e,r.depth=e.depth+1;return u.eachBefore(Il)}function Bl(t){return t.children}function Rl(t){t.data=t.data.data}function Il(t){var n=0;do{t.height=n}while((t=t.parent)&&t.height<++n)}function Dl(t){this.data=t,this.depth=this.height=0,this.parent=null}Dl.prototype=Pl.prototype={constructor:Dl,count:function(){return this.eachAfter(Ol)},each:function(t){var n,e,r,i,o=this,a=[o];do{for(n=a.reverse(),a=[];o=n.pop();)if(t(o),e=o.children)for(r=0,i=e.length;r<i;++r)a.push(e[r])}while(a.length);return this},eachAfter:function(t){for(var n,e,r,i=this,o=[i],a=[];i=o.pop();)if(a.push(i),n=i.children)for(e=0,r=n.length;e<r;++e)o.push(n[e]);for(;i=a.pop();)t(i);return this},eachBefore:function(t){for(var n,e,r=this,i=[r];r=i.pop();)if(t(r),n=r.children)for(e=n.length-1;e>=0;--e)i.push(n[e]);return this},sum:function(t){return this.eachAfter((function(n){for(var e=+t(n.data)||0,r=n.children,i=r&&r.length;--i>=0;)e+=r[i].value;n.value=e}))},sort:function(t){return this.eachBefore((function(n){n.children&&n.children.sort(t)}))},path:function(t){for(var n=this,e=function(t,n){if(t===n)return t;var e=t.ancestors(),r=n.ancestors(),i=null;t=e.pop(),n=r.pop();for(;t===n;)i=t,t=e.pop(),n=r.pop();return i}(n,t),r=[n];n!==e;)n=n.parent,r.push(n);for(var i=r.length;t!==e;)r.splice(i,0,t),t=t.parent;return r},ancestors:function(){for(var t=this,n=[t];t=t.parent;)n.push(t);return n},descendants:function(){var t=[];return this.each((function(n){t.push(n)})),t},leaves:function(){var t=[];return this.eachBefore((function(n){n.children||t.push(n)})),t},links:function(){var t=this,n=[];return t.each((function(e){e!==t&&n.push({source:e.parent,target:e})})),n},copy:function(){return Pl(this).eachBefore(Rl)}};var Fl=Array.prototype.slice;var Ul=function(t){for(var n,e,r=0,i=(t=function(t){for(var n,e,r=t.length;r;)e=Math.random()*r--|0,n=t[r],t[r]=t[e],t[e]=n;return t}(Fl.call(t))).length,o=[];r<i;)n=t[r],e&&Hl(e,n)?++r:(e=Vl(o=Ll(o,n)),r=0);return e};function Ll(t,n){var e,r;if(Yl(n,t))return[n];for(e=0;e<t.length;++e)if(ql(n,t[e])&&Yl(Wl(t[e],n),t))return[t[e],n];for(e=0;e<t.length-1;++e)for(r=e+1;r<t.length;++r)if(ql(Wl(t[e],t[r]),n)&&ql(Wl(t[e],n),t[r])&&ql(Wl(t[r],n),t[e])&&Yl(Xl(t[e],t[r],n),t))return[t[e],t[r],n];throw new Error}function ql(t,n){var e=t.r-n.r,r=n.x-t.x,i=n.y-t.y;return e<0||e*e<r*r+i*i}function Hl(t,n){var e=t.r-n.r+1e-6,r=n.x-t.x,i=n.y-t.y;return e>0&&e*e>r*r+i*i}function Yl(t,n){for(var e=0;e<n.length;++e)if(!Hl(t,n[e]))return!1;return!0}function Vl(t){switch(t.length){case 1:return{x:(n=t[0]).x,y:n.y,r:n.r};case 2:return Wl(t[0],t[1]);case 3:return Xl(t[0],t[1],t[2])}var n}function Wl(t,n){var e=t.x,r=t.y,i=t.r,o=n.x,a=n.y,u=n.r,s=o-e,f=a-r,c=u-i,l=Math.sqrt(s*s+f*f);return{x:(e+o+s/l*c)/2,y:(r+a+f/l*c)/2,r:(l+i+u)/2}}function Xl(t,n,e){var r=t.x,i=t.y,o=t.r,a=n.x,u=n.y,s=n.r,f=e.x,c=e.y,l=e.r,h=r-a,p=r-f,d=i-u,v=i-c,m=s-o,g=l-o,y=r*r+i*i-o*o,_=y-a*a-u*u+s*s,b=y-f*f-c*c+l*l,x=p*d-h*v,w=(d*b-v*_)/(2*x)-r,M=(v*m-d*g)/x,k=(p*_-h*b)/(2*x)-i,A=(h*g-p*m)/x,z=M*M+A*A-1,E=2*(o+w*M+k*A),S=w*w+k*k-o*o,N=-(z?(E+Math.sqrt(E*E-4*z*S))/(2*z):S/E);return{x:r+w+M*N,y:i+k+A*N,r:N}}function Gl(t,n,e){var r,i,o,a,u=t.x-n.x,s=t.y-n.y,f=u*u+s*s;f?(i=n.r+e.r,i*=i,a=t.r+e.r,i>(a*=a)?(r=(f+a-i)/(2*f),o=Math.sqrt(Math.max(0,a/f-r*r)),e.x=t.x-r*u-o*s,e.y=t.y-r*s+o*u):(r=(f+i-a)/(2*f),o=Math.sqrt(Math.max(0,i/f-r*r)),e.x=n.x+r*u-o*s,e.y=n.y+r*s+o*u)):(e.x=n.x+e.r,e.y=n.y)}function Zl(t,n){var e=t.r+n.r-1e-6,r=n.x-t.x,i=n.y-t.y;return e>0&&e*e>r*r+i*i}function $l(t){var n=t._,e=t.next._,r=n.r+e.r,i=(n.x*e.r+e.x*n.r)/r,o=(n.y*e.r+e.y*n.r)/r;return i*i+o*o}function Ql(t){this._=t,this.next=null,this.previous=null}function Kl(t){if(!(i=t.length))return 0;var n,e,r,i,o,a,u,s,f,c,l;if((n=t[0]).x=0,n.y=0,!(i>1))return n.r;if(e=t[1],n.x=-e.r,e.x=n.r,e.y=0,!(i>2))return n.r+e.r;Gl(e,n,r=t[2]),n=new Ql(n),e=new Ql(e),r=new Ql(r),n.next=r.previous=e,e.next=n.previous=r,r.next=e.previous=n;t:for(u=3;u<i;++u){Gl(n._,e._,r=t[u]),r=new Ql(r),s=e.next,f=n.previous,c=e._.r,l=n._.r;do{if(c<=l){if(Zl(s._,r._)){e=s,n.next=e,e.previous=n,--u;continue t}c+=s._.r,s=s.next}else{if(Zl(f._,r._)){(n=f).next=e,e.previous=n,--u;continue t}l+=f._.r,f=f.previous}}while(s!==f.next);for(r.previous=n,r.next=e,n.next=e.previous=e=r,o=$l(n);(r=r.next)!==e;)(a=$l(r))<o&&(n=r,o=a);e=n.next}for(n=[e._],r=e;(r=r.next)!==e;)n.push(r._);for(r=Ul(n),u=0;u<i;++u)(n=t[u]).x-=r.x,n.y-=r.y;return r.r}var Jl=function(t){return Kl(t),t};function th(t){return null==t?null:nh(t)}function nh(t){if("function"!=typeof t)throw new Error;return t}function eh(){return 0}var rh=function(t){return function(){return t}};function ih(t){return Math.sqrt(t.value)}var oh=function(){var t=null,n=1,e=1,r=eh;function i(i){return i.x=n/2,i.y=e/2,t?i.eachBefore(ah(t)).eachAfter(uh(r,.5)).eachBefore(sh(1)):i.eachBefore(ah(ih)).eachAfter(uh(eh,1)).eachAfter(uh(r,i.r/Math.min(n,e))).eachBefore(sh(Math.min(n,e)/(2*i.r))),i}return i.radius=function(n){return arguments.length?(t=th(n),i):t},i.size=function(t){return arguments.length?(n=+t[0],e=+t[1],i):[n,e]},i.padding=function(t){return arguments.length?(r="function"==typeof t?t:rh(+t),i):r},i};function ah(t){return function(n){n.children||(n.r=Math.max(0,+t(n)||0))}}function uh(t,n){return function(e){if(r=e.children){var r,i,o,a=r.length,u=t(e)*n||0;if(u)for(i=0;i<a;++i)r[i].r+=u;if(o=Kl(r),u)for(i=0;i<a;++i)r[i].r-=u;e.r=o+u}}}function sh(t){return function(n){var e=n.parent;n.r*=t,e&&(n.x=e.x+t*n.x,n.y=e.y+t*n.y)}}var fh=function(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)},ch=function(t,n,e,r,i){for(var o,a=t.children,u=-1,s=a.length,f=t.value&&(r-n)/t.value;++u<s;)(o=a[u]).y0=e,o.y1=i,o.x0=n,o.x1=n+=o.value*f},lh=function(){var t=1,n=1,e=0,r=!1;function i(i){var o=i.height+1;return i.x0=i.y0=e,i.x1=t,i.y1=n/o,i.eachBefore(function(t,n){return function(r){r.children&&ch(r,r.x0,t*(r.depth+1)/n,r.x1,t*(r.depth+2)/n);var i=r.x0,o=r.y0,a=r.x1-e,u=r.y1-e;a<i&&(i=a=(i+a)/2),u<o&&(o=u=(o+u)/2),r.x0=i,r.y0=o,r.x1=a,r.y1=u}}(n,o)),r&&i.eachBefore(fh),i}return i.round=function(t){return arguments.length?(r=!!t,i):r},i.size=function(e){return arguments.length?(t=+e[0],n=+e[1],i):[t,n]},i.padding=function(t){return arguments.length?(e=+t,i):e},i},hh={depth:-1},ph={};function dh(t){return t.id}function vh(t){return t.parentId}var mh=function(){var t=dh,n=vh;function e(e){var r,i,o,a,u,s,f,c=e.length,l=new Array(c),h={};for(i=0;i<c;++i)r=e[i],u=l[i]=new Dl(r),null!=(s=t(r,i,e))&&(s+="")&&(h[f="$"+(u.id=s)]=f in h?ph:u);for(i=0;i<c;++i)if(u=l[i],null!=(s=n(e[i],i,e))&&(s+="")){if(!(a=h["$"+s]))throw new Error("missing: "+s);if(a===ph)throw new Error("ambiguous: "+s);a.children?a.children.push(u):a.children=[u],u.parent=a}else{if(o)throw new Error("multiple roots");o=u}if(!o)throw new Error("no root");if(o.parent=hh,o.eachBefore((function(t){t.depth=t.parent.depth+1,--c})).eachBefore(Il),o.parent=null,c>0)throw new Error("cycle");return o}return e.id=function(n){return arguments.length?(t=nh(n),e):t},e.parentId=function(t){return arguments.length?(n=nh(t),e):n},e};function gh(t,n){return t.parent===n.parent?1:2}function yh(t){var n=t.children;return n?n[0]:t.t}function _h(t){var n=t.children;return n?n[n.length-1]:t.t}function bh(t,n,e){var r=e/(n.i-t.i);n.c-=r,n.s+=e,t.c+=r,n.z+=e,n.m+=e}function xh(t,n,e){return t.a.parent===n.parent?t.a:e}function wh(t,n){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=n}wh.prototype=Object.create(Dl.prototype);var Mh=function(){var t=gh,n=1,e=1,r=null;function i(i){var s=function(t){for(var n,e,r,i,o,a=new wh(t,0),u=[a];n=u.pop();)if(r=n._.children)for(n.children=new Array(o=r.length),i=o-1;i>=0;--i)u.push(e=n.children[i]=new wh(r[i],i)),e.parent=n;return(a.parent=new wh(null,0)).children=[a],a}(i);if(s.eachAfter(o),s.parent.m=-s.z,s.eachBefore(a),r)i.eachBefore(u);else{var f=i,c=i,l=i;i.eachBefore((function(t){t.x<f.x&&(f=t),t.x>c.x&&(c=t),t.depth>l.depth&&(l=t)}));var h=f===c?1:t(f,c)/2,p=h-f.x,d=n/(c.x+h+p),v=e/(l.depth||1);i.eachBefore((function(t){t.x=(t.x+p)*d,t.y=t.depth*v}))}return i}function o(n){var e=n.children,r=n.parent.children,i=n.i?r[n.i-1]:null;if(e){!function(t){for(var n,e=0,r=0,i=t.children,o=i.length;--o>=0;)(n=i[o]).z+=e,n.m+=e,e+=n.s+(r+=n.c)}(n);var o=(e[0].z+e[e.length-1].z)/2;i?(n.z=i.z+t(n._,i._),n.m=n.z-o):n.z=o}else i&&(n.z=i.z+t(n._,i._));n.parent.A=function(n,e,r){if(e){for(var i,o=n,a=n,u=e,s=o.parent.children[0],f=o.m,c=a.m,l=u.m,h=s.m;u=_h(u),o=yh(o),u&&o;)s=yh(s),(a=_h(a)).a=n,(i=u.z+l-o.z-f+t(u._,o._))>0&&(bh(xh(u,n,r),n,i),f+=i,c+=i),l+=u.m,f+=o.m,h+=s.m,c+=a.m;u&&!_h(a)&&(a.t=u,a.m+=l-c),o&&!yh(s)&&(s.t=o,s.m+=f-h,r=n)}return r}(n,i,n.parent.A||r[0])}function a(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function u(t){t.x*=n,t.y=t.depth*e}return i.separation=function(n){return arguments.length?(t=n,i):t},i.size=function(t){return arguments.length?(r=!1,n=+t[0],e=+t[1],i):r?null:[n,e]},i.nodeSize=function(t){return arguments.length?(r=!0,n=+t[0],e=+t[1],i):r?[n,e]:null},i},kh=function(t,n,e,r,i){for(var o,a=t.children,u=-1,s=a.length,f=t.value&&(i-e)/t.value;++u<s;)(o=a[u]).x0=n,o.x1=r,o.y0=e,o.y1=e+=o.value*f},Ah=(1+Math.sqrt(5))/2;function zh(t,n,e,r,i,o){for(var a,u,s,f,c,l,h,p,d,v,m,g=[],y=n.children,_=0,b=0,x=y.length,w=n.value;_<x;){s=i-e,f=o-r;do{c=y[b++].value}while(!c&&b<x);for(l=h=c,m=c*c*(v=Math.max(f/s,s/f)/(w*t)),d=Math.max(h/m,m/l);b<x;++b){if(c+=u=y[b].value,u<l&&(l=u),u>h&&(h=u),m=c*c*v,(p=Math.max(h/m,m/l))>d){c-=u;break}d=p}g.push(a={value:c,dice:s<f,children:y.slice(_,b)}),a.dice?ch(a,e,r,i,w?r+=f*c/w:o):kh(a,e,r,w?e+=s*c/w:i,o),w-=c,_=b}return g}var Eh=function t(n){function e(t,e,r,i,o){zh(n,t,e,r,i,o)}return e.ratio=function(n){return t((n=+n)>1?n:1)},e}(Ah),Sh=function(){var t=Eh,n=!1,e=1,r=1,i=[0],o=eh,a=eh,u=eh,s=eh,f=eh;function c(t){return t.x0=t.y0=0,t.x1=e,t.y1=r,t.eachBefore(l),i=[0],n&&t.eachBefore(fh),t}function l(n){var e=i[n.depth],r=n.x0+e,c=n.y0+e,l=n.x1-e,h=n.y1-e;l<r&&(r=l=(r+l)/2),h<c&&(c=h=(c+h)/2),n.x0=r,n.y0=c,n.x1=l,n.y1=h,n.children&&(e=i[n.depth+1]=o(n)/2,r+=f(n)-e,c+=a(n)-e,(l-=u(n)-e)<r&&(r=l=(r+l)/2),(h-=s(n)-e)<c&&(c=h=(c+h)/2),t(n,r,c,l,h))}return c.round=function(t){return arguments.length?(n=!!t,c):n},c.size=function(t){return arguments.length?(e=+t[0],r=+t[1],c):[e,r]},c.tile=function(n){return arguments.length?(t=nh(n),c):t},c.padding=function(t){return arguments.length?c.paddingInner(t).paddingOuter(t):c.paddingInner()},c.paddingInner=function(t){return arguments.length?(o="function"==typeof t?t:rh(+t),c):o},c.paddingOuter=function(t){return arguments.length?c.paddingTop(t).paddingRight(t).paddingBottom(t).paddingLeft(t):c.paddingTop()},c.paddingTop=function(t){return arguments.length?(a="function"==typeof t?t:rh(+t),c):a},c.paddingRight=function(t){return arguments.length?(u="function"==typeof t?t:rh(+t),c):u},c.paddingBottom=function(t){return arguments.length?(s="function"==typeof t?t:rh(+t),c):s},c.paddingLeft=function(t){return arguments.length?(f="function"==typeof t?t:rh(+t),c):f},c},Nh=function(t,n,e,r,i){var o,a,u=t.children,s=u.length,f=new Array(s+1);for(f[0]=a=o=0;o<s;++o)f[o+1]=a+=u[o].value;!function t(n,e,r,i,o,a,s){if(n>=e-1){var c=u[n];return c.x0=i,c.y0=o,c.x1=a,void(c.y1=s)}var l=f[n],h=r/2+l,p=n+1,d=e-1;for(;p<d;){var v=p+d>>>1;f[v]<h?p=v+1:d=v}h-f[p-1]<f[p]-h&&n+1<p&&--p;var m=f[p]-l,g=r-m;if(a-i>s-o){var y=(i*g+a*m)/r;t(n,p,m,i,o,y,s),t(p,e,g,y,o,a,s)}else{var _=(o*g+s*m)/r;t(n,p,m,i,o,a,_),t(p,e,g,i,_,a,s)}}(0,s,t.value,n,e,r,i)},Th=function(t,n,e,r,i){(1&t.depth?kh:ch)(t,n,e,r,i)},Ch=function t(n){function e(t,e,r,i,o){if((a=t._squarify)&&a.ratio===n)for(var a,u,s,f,c,l=-1,h=a.length,p=t.value;++l<h;){for(s=(u=a[l]).children,f=u.value=0,c=s.length;f<c;++f)u.value+=s[f].value;u.dice?ch(u,e,r,i,r+=(o-r)*u.value/p):kh(u,e,r,e+=(i-e)*u.value/p,o),p-=u.value}else t._squarify=a=zh(n,t,e,r,i,o),a.ratio=n}return e.ratio=function(n){return t((n=+n)>1?n:1)},e}(Ah),jh=function(t){var n=t.length;return function(e){return t[Math.max(0,Math.min(n-1,Math.floor(e*n)))]}},Oh=function(t,n){var e=Qt(+t,+n);return function(t){var n=e(t);return n-360*Math.floor(n/360)}},Ph=function(t,n){return t=+t,n=+n,function(e){return Math.round(t*(1-e)+n*e)}},Bh=Math.SQRT2;function Rh(t){return((t=Math.exp(t))+1/t)/2}var Ih=function(t,n){var e,r,i=t[0],o=t[1],a=t[2],u=n[0],s=n[1],f=n[2],c=u-i,l=s-o,h=c*c+l*l;if(h<1e-12)r=Math.log(f/a)/Bh,e=function(t){return[i+t*c,o+t*l,a*Math.exp(Bh*t*r)]};else{var p=Math.sqrt(h),d=(f*f-a*a+4*h)/(2*a*2*p),v=(f*f-a*a-4*h)/(2*f*2*p),m=Math.log(Math.sqrt(d*d+1)-d),g=Math.log(Math.sqrt(v*v+1)-v);r=(g-m)/Bh,e=function(t){var n,e=t*r,u=Rh(m),s=a/(2*p)*(u*(n=Bh*e+m,((n=Math.exp(2*n))-1)/(n+1))-function(t){return((t=Math.exp(t))-1/t)/2}(m));return[i+s*c,o+s*l,a*u/Rh(Bh*e+m)]}}return e.duration=1e3*r,e};function Dh(t){return function(n,e){var r=t((n=Ht(n)).h,(e=Ht(e)).h),i=Jt(n.s,e.s),o=Jt(n.l,e.l),a=Jt(n.opacity,e.opacity);return function(t){return n.h=r(t),n.s=i(t),n.l=o(t),n.opacity=a(t),n+""}}}var Fh=Dh(Qt),Uh=Dh(Jt);function Lh(t,n){var e=Jt((t=Fr(t)).l,(n=Fr(n)).l),r=Jt(t.a,n.a),i=Jt(t.b,n.b),o=Jt(t.opacity,n.opacity);return function(n){return t.l=e(n),t.a=r(n),t.b=i(n),t.opacity=o(n),t+""}}function qh(t){return function(n,e){var r=t((n=Xr(n)).h,(e=Xr(e)).h),i=Jt(n.c,e.c),o=Jt(n.l,e.l),a=Jt(n.opacity,e.opacity);return function(t){return n.h=r(t),n.c=i(t),n.l=o(t),n.opacity=a(t),n+""}}}var Hh=qh(Qt),Yh=qh(Jt);function Vh(t){return function n(e){function r(n,r){var i=t((n=ni(n)).h,(r=ni(r)).h),o=Jt(n.s,r.s),a=Jt(n.l,r.l),u=Jt(n.opacity,r.opacity);return function(t){return n.h=i(t),n.s=o(t),n.l=a(Math.pow(t,e)),n.opacity=u(t),n+""}}return e=+e,r.gamma=n,r}(1)}var Wh=Vh(Qt),Xh=Vh(Jt);function Gh(t,n){for(var e=0,r=n.length-1,i=n[0],o=new Array(r<0?0:r);e<r;)o[e]=t(i,i=n[++e]);return function(t){var n=Math.max(0,Math.min(r-1,Math.floor(t*=r)));return o[n](t-n)}}var Zh=function(t,n){for(var e=new Array(n),r=0;r<n;++r)e[r]=t(r/(n-1));return e},$h=function(t){for(var n,e=-1,r=t.length,i=t[r-1],o=0;++e<r;)n=i,i=t[e],o+=n[1]*i[0]-n[0]*i[1];return o/2},Qh=function(t){for(var n,e,r=-1,i=t.length,o=0,a=0,u=t[i-1],s=0;++r<i;)n=u,u=t[r],s+=e=n[0]*u[1]-u[0]*n[1],o+=(n[0]+u[0])*e,a+=(n[1]+u[1])*e;return[o/(s*=3),a/s]};function Kh(t,n){return t[0]-n[0]||t[1]-n[1]}function Jh(t){for(var n,e,r,i=t.length,o=[0,1],a=2,u=2;u<i;++u){for(;a>1&&(n=t[o[a-2]],e=t[o[a-1]],r=t[u],(e[0]-n[0])*(r[1]-n[1])-(e[1]-n[1])*(r[0]-n[0])<=0);)--a;o[a++]=u}return o.slice(0,a)}var tp=function(t){if((e=t.length)<3)return null;var n,e,r=new Array(e),i=new Array(e);for(n=0;n<e;++n)r[n]=[+t[n][0],+t[n][1],n];for(r.sort(Kh),n=0;n<e;++n)i[n]=[r[n][0],-r[n][1]];var o=Jh(r),a=Jh(i),u=a[0]===o[0],s=a[a.length-1]===o[o.length-1],f=[];for(n=o.length-1;n>=0;--n)f.push(t[r[o[n]][2]]);for(n=+u;n<a.length-s;++n)f.push(t[r[a[n]][2]]);return f},np=function(t,n){for(var e,r,i=t.length,o=t[i-1],a=n[0],u=n[1],s=o[0],f=o[1],c=!1,l=0;l<i;++l)e=(o=t[l])[0],(r=o[1])>u!=f>u&&a<(s-e)*(u-r)/(f-r)+e&&(c=!c),s=e,f=r;return c},ep=function(t){for(var n,e,r=-1,i=t.length,o=t[i-1],a=o[0],u=o[1],s=0;++r<i;)n=a,e=u,n-=a=(o=t[r])[0],e-=u=o[1],s+=Math.sqrt(n*n+e*e);return s},rp=function(){return Math.random()},ip=function t(n){function e(t,e){return t=null==t?0:+t,e=null==e?1:+e,1===arguments.length?(e=t,t=0):e-=t,function(){return n()*e+t}}return e.source=t,e}(rp),op=function t(n){function e(t,e){var r,i;return t=null==t?0:+t,e=null==e?1:+e,function(){var o;if(null!=r)o=r,r=null;else do{r=2*n()-1,o=2*n()-1,i=r*r+o*o}while(!i||i>1);return t+e*o*Math.sqrt(-2*Math.log(i)/i)}}return e.source=t,e}(rp),ap=function t(n){function e(){var t=op.source(n).apply(this,arguments);return function(){return Math.exp(t())}}return e.source=t,e}(rp),up=function t(n){function e(t){return function(){for(var e=0,r=0;r<t;++r)e+=n();return e}}return e.source=t,e}(rp),sp=function t(n){function e(t){var e=up.source(n)(t);return function(){return e()/t}}return e.source=t,e}(rp),fp=function t(n){function e(t){return function(){return-Math.log(1-n())/t}}return e.source=t,e}(rp);function cp(t,n){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(n).domain(t)}return this}function lp(t,n){switch(arguments.length){case 0:break;case 1:this.interpolator(t);break;default:this.interpolator(n).domain(t)}return this}var hp=Array.prototype,pp=hp.map,dp=hp.slice,vp={name:"implicit"};function mp(){var t=Object(Pr.c)(),n=[],e=[],r=vp;function i(i){var o=i+"",a=t.get(o);if(!a){if(r!==vp)return r;t.set(o,a=n.push(i))}return e[(a-1)%e.length]}return i.domain=function(e){if(!arguments.length)return n.slice();n=[],t=Object(Pr.c)();for(var r,o,a=-1,u=e.length;++a<u;)t.has(o=(r=e[a])+"")||t.set(o,n.push(r));return i},i.range=function(t){return arguments.length?(e=dp.call(t),i):e.slice()},i.unknown=function(t){return arguments.length?(r=t,i):r},i.copy=function(){return mp(n,e).unknown(r)},cp.apply(i,arguments),i}function gp(){var t,n,e=mp().unknown(void 0),r=e.domain,i=e.range,o=[0,1],a=!1,u=0,s=0,f=.5;function c(){var e=r().length,c=o[1]<o[0],l=o[c-0],h=o[1-c];t=(h-l)/Math.max(1,e-u+2*s),a&&(t=Math.floor(t)),l+=(h-l-t*(e-u))*f,n=t*(1-u),a&&(l=Math.round(l),n=Math.round(n));var p=w(e).map((function(n){return l+t*n}));return i(c?p.reverse():p)}return delete e.unknown,e.domain=function(t){return arguments.length?(r(t),c()):r()},e.range=function(t){return arguments.length?(o=[+t[0],+t[1]],c()):o.slice()},e.rangeRound=function(t){return o=[+t[0],+t[1]],a=!0,c()},e.bandwidth=function(){return n},e.step=function(){return t},e.round=function(t){return arguments.length?(a=!!t,c()):a},e.padding=function(t){return arguments.length?(u=Math.min(1,s=+t),c()):u},e.paddingInner=function(t){return arguments.length?(u=Math.min(1,t),c()):u},e.paddingOuter=function(t){return arguments.length?(s=+t,c()):s},e.align=function(t){return arguments.length?(f=Math.max(0,Math.min(1,t)),c()):f},e.copy=function(){return gp(r(),o).round(a).paddingInner(u).paddingOuter(s).align(f)},cp.apply(c(),arguments)}function yp(t){var n=t.copy;return t.padding=t.paddingOuter,delete t.paddingInner,delete t.paddingOuter,t.copy=function(){return yp(n())},t}function _p(){return yp(gp.apply(null,arguments).paddingInner(1))}var bp=function(t){return+t},xp=[0,1];function wp(t){return t}function Mp(t,n){return(n-=t=+t)?function(e){return(e-t)/n}:(e=isNaN(n)?NaN:.5,function(){return e});var e}function kp(t){var n,e=t[0],r=t[t.length-1];return e>r&&(n=e,e=r,r=n),function(t){return Math.max(e,Math.min(r,t))}}function Ap(t,n,e){var r=t[0],i=t[1],o=n[0],a=n[1];return i<r?(r=Mp(i,r),o=e(a,o)):(r=Mp(r,i),o=e(o,a)),function(t){return o(r(t))}}function zp(t,n,e){var r=Math.min(t.length,n.length)-1,i=new Array(r),o=new Array(r),a=-1;for(t[r]<t[0]&&(t=t.slice().reverse(),n=n.slice().reverse());++a<r;)i[a]=Mp(t[a],t[a+1]),o[a]=e(n[a],n[a+1]);return function(n){var e=s(t,n,1,r)-1;return o[e](i[e](n))}}function Ep(t,n){return n.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function Sp(){var t,n,e,r,i,o,a=xp,u=xp,s=gn,f=wp;function c(){return r=Math.min(a.length,u.length)>2?zp:Ap,i=o=null,l}function l(n){return isNaN(n=+n)?e:(i||(i=r(a.map(t),u,s)))(t(f(n)))}return l.invert=function(e){return f(n((o||(o=r(u,a.map(t),cn)))(e)))},l.domain=function(t){return arguments.length?(a=pp.call(t,bp),f===wp||(f=kp(a)),c()):a.slice()},l.range=function(t){return arguments.length?(u=dp.call(t),c()):u.slice()},l.rangeRound=function(t){return u=dp.call(t),s=Ph,c()},l.clamp=function(t){return arguments.length?(f=t?kp(a):wp,l):f!==wp},l.interpolate=function(t){return arguments.length?(s=t,c()):s},l.unknown=function(t){return arguments.length?(e=t,l):e},function(e,r){return t=e,n=r,c()}}function Np(t,n){return Sp()(t,n)}var Tp=function(t,n,e,r){var i,o=S(t,n,e);switch((r=ma(null==r?",f":r)).type){case"s":var a=Math.max(Math.abs(t),Math.abs(n));return null!=r.precision||isNaN(i=Ta(o,a))||(r.precision=i),xa(r,a);case"":case"e":case"g":case"p":case"r":null!=r.precision||isNaN(i=Ca(o,Math.max(Math.abs(t),Math.abs(n))))||(r.precision=i-("e"===r.type));break;case"f":case"%":null!=r.precision||isNaN(i=Na(o))||(r.precision=i-2*("%"===r.type))}return ba(r)};function Cp(t){var n=t.domain;return t.ticks=function(t){var e=n();return z(e[0],e[e.length-1],null==t?10:t)},t.tickFormat=function(t,e){var r=n();return Tp(r[0],r[r.length-1],null==t?10:t,e)},t.nice=function(e){null==e&&(e=10);var r,i=n(),o=0,a=i.length-1,u=i[o],s=i[a];return s<u&&(r=u,u=s,s=r,r=o,o=a,a=r),(r=E(u,s,e))>0?r=E(u=Math.floor(u/r)*r,s=Math.ceil(s/r)*r,e):r<0&&(r=E(u=Math.ceil(u*r)/r,s=Math.floor(s*r)/r,e)),r>0?(i[o]=Math.floor(u/r)*r,i[a]=Math.ceil(s/r)*r,n(i)):r<0&&(i[o]=Math.ceil(u*r)/r,i[a]=Math.floor(s*r)/r,n(i)),t},t}function jp(){var t=Np(wp,wp);return t.copy=function(){return Ep(t,jp())},cp.apply(t,arguments),Cp(t)}function Op(t){var n;function e(t){return isNaN(t=+t)?n:t}return e.invert=e,e.domain=e.range=function(n){return arguments.length?(t=pp.call(n,bp),e):t.slice()},e.unknown=function(t){return arguments.length?(n=t,e):n},e.copy=function(){return Op(t).unknown(n)},t=arguments.length?pp.call(t,bp):[0,1],Cp(e)}var Pp=function(t,n){var e,r=0,i=(t=t.slice()).length-1,o=t[r],a=t[i];return a<o&&(e=r,r=i,i=e,e=o,o=a,a=e),t[r]=n.floor(o),t[i]=n.ceil(a),t};function Bp(t){return Math.log(t)}function Rp(t){return Math.exp(t)}function Ip(t){return-Math.log(-t)}function Dp(t){return-Math.exp(-t)}function Fp(t){return isFinite(t)?+("1e"+t):t<0?0:t}function Up(t){return function(n){return-t(-n)}}function Lp(t){var n,e,r=t(Bp,Rp),i=r.domain,o=10;function a(){return n=function(t){return t===Math.E?Math.log:10===t&&Math.log10||2===t&&Math.log2||(t=Math.log(t),function(n){return Math.log(n)/t})}(o),e=function(t){return 10===t?Fp:t===Math.E?Math.exp:function(n){return Math.pow(t,n)}}(o),i()[0]<0?(n=Up(n),e=Up(e),t(Ip,Dp)):t(Bp,Rp),r}return r.base=function(t){return arguments.length?(o=+t,a()):o},r.domain=function(t){return arguments.length?(i(t),a()):i()},r.ticks=function(t){var r,a=i(),u=a[0],s=a[a.length-1];(r=s<u)&&(h=u,u=s,s=h);var f,c,l,h=n(u),p=n(s),d=null==t?10:+t,v=[];if(!(o%1)&&p-h<d){if(h=Math.round(h)-1,p=Math.round(p)+1,u>0){for(;h<p;++h)for(c=1,f=e(h);c<o;++c)if(!((l=f*c)<u)){if(l>s)break;v.push(l)}}else for(;h<p;++h)for(c=o-1,f=e(h);c>=1;--c)if(!((l=f*c)<u)){if(l>s)break;v.push(l)}}else v=z(h,p,Math.min(p-h,d)).map(e);return r?v.reverse():v},r.tickFormat=function(t,i){if(null==i&&(i=10===o?".0e":","),"function"!=typeof i&&(i=ba(i)),t===1/0)return i;null==t&&(t=10);var a=Math.max(1,o*t/r.ticks().length);return function(t){var r=t/e(Math.round(n(t)));return r*o<o-.5&&(r*=o),r<=a?i(t):""}},r.nice=function(){return i(Pp(i(),{floor:function(t){return e(Math.floor(n(t)))},ceil:function(t){return e(Math.ceil(n(t)))}}))},r}function qp(){var t=Lp(Sp()).domain([1,10]);return t.copy=function(){return Ep(t,qp()).base(t.base())},cp.apply(t,arguments),t}function Hp(t){return function(n){return Math.sign(n)*Math.log1p(Math.abs(n/t))}}function Yp(t){return function(n){return Math.sign(n)*Math.expm1(Math.abs(n))*t}}function Vp(t){var n=1,e=t(Hp(n),Yp(n));return e.constant=function(e){return arguments.length?t(Hp(n=+e),Yp(n)):n},Cp(e)}function Wp(){var t=Vp(Sp());return t.copy=function(){return Ep(t,Wp()).constant(t.constant())},cp.apply(t,arguments)}function Xp(t){return function(n){return n<0?-Math.pow(-n,t):Math.pow(n,t)}}function Gp(t){return t<0?-Math.sqrt(-t):Math.sqrt(t)}function Zp(t){return t<0?-t*t:t*t}function $p(t){var n=t(wp,wp),e=1;function r(){return 1===e?t(wp,wp):.5===e?t(Gp,Zp):t(Xp(e),Xp(1/e))}return n.exponent=function(t){return arguments.length?(e=+t,r()):e},Cp(n)}function Qp(){var t=$p(Sp());return t.copy=function(){return Ep(t,Qp()).exponent(t.exponent())},cp.apply(t,arguments),t}function Kp(){return Qp.apply(null,arguments).exponent(.5)}function Jp(){var t,n=[],e=[],i=[];function o(){var t=0,r=Math.max(1,e.length);for(i=new Array(r-1);++t<r;)i[t-1]=C(n,t/r);return a}function a(n){return isNaN(n=+n)?t:e[s(i,n)]}return a.invertExtent=function(t){var r=e.indexOf(t);return r<0?[NaN,NaN]:[r>0?i[r-1]:n[0],r<i.length?i[r]:n[n.length-1]]},a.domain=function(t){if(!arguments.length)return n.slice();n=[];for(var e,i=0,a=t.length;i<a;++i)null==(e=t[i])||isNaN(e=+e)||n.push(e);return n.sort(r),o()},a.range=function(t){return arguments.length?(e=dp.call(t),o()):e.slice()},a.unknown=function(n){return arguments.length?(t=n,a):t},a.quantiles=function(){return i.slice()},a.copy=function(){return Jp().domain(n).range(e).unknown(t)},cp.apply(a,arguments)}function td(){var t,n=0,e=1,r=1,i=[.5],o=[0,1];function a(n){return n<=n?o[s(i,n,0,r)]:t}function u(){var t=-1;for(i=new Array(r);++t<r;)i[t]=((t+1)*e-(t-r)*n)/(r+1);return a}return a.domain=function(t){return arguments.length?(n=+t[0],e=+t[1],u()):[n,e]},a.range=function(t){return arguments.length?(r=(o=dp.call(t)).length-1,u()):o.slice()},a.invertExtent=function(t){var a=o.indexOf(t);return a<0?[NaN,NaN]:a<1?[n,i[0]]:a>=r?[i[r-1],e]:[i[a-1],i[a]]},a.unknown=function(n){return arguments.length?(t=n,a):a},a.thresholds=function(){return i.slice()},a.copy=function(){return td().domain([n,e]).range(o).unknown(t)},cp.apply(Cp(a),arguments)}function nd(){var t,n=[.5],e=[0,1],r=1;function i(i){return i<=i?e[s(n,i,0,r)]:t}return i.domain=function(t){return arguments.length?(n=dp.call(t),r=Math.min(n.length,e.length-1),i):n.slice()},i.range=function(t){return arguments.length?(e=dp.call(t),r=Math.min(n.length,e.length-1),i):e.slice()},i.invertExtent=function(t){var r=e.indexOf(t);return[n[r-1],n[r]]},i.unknown=function(n){return arguments.length?(t=n,i):t},i.copy=function(){return nd().domain(n).range(e).unknown(t)},cp.apply(i,arguments)}var ed=new Date,rd=new Date;function id(t,n,e,r){function i(n){return t(n=0===arguments.length?new Date:new Date(+n)),n}return i.floor=function(n){return t(n=new Date(+n)),n},i.ceil=function(e){return t(e=new Date(e-1)),n(e,1),t(e),e},i.round=function(t){var n=i(t),e=i.ceil(t);return t-n<e-t?n:e},i.offset=function(t,e){return n(t=new Date(+t),null==e?1:Math.floor(e)),t},i.range=function(e,r,o){var a,u=[];if(e=i.ceil(e),o=null==o?1:Math.floor(o),!(e<r&&o>0))return u;do{u.push(a=new Date(+e)),n(e,o),t(e)}while(a<e&&e<r);return u},i.filter=function(e){return id((function(n){if(n>=n)for(;t(n),!e(n);)n.setTime(n-1)}),(function(t,r){if(t>=t)if(r<0)for(;++r<=0;)for(;n(t,-1),!e(t););else for(;--r>=0;)for(;n(t,1),!e(t););}))},e&&(i.count=function(n,r){return ed.setTime(+n),rd.setTime(+r),t(ed),t(rd),Math.floor(e(ed,rd))},i.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?i.filter(r?function(n){return r(n)%t==0}:function(n){return i.count(0,n)%t==0}):i:null}),i}var od=id((function(t){t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,n){t.setFullYear(t.getFullYear()+n)}),(function(t,n){return n.getFullYear()-t.getFullYear()}),(function(t){return t.getFullYear()}));od.every=function(t){return isFinite(t=Math.floor(t))&&t>0?id((function(n){n.setFullYear(Math.floor(n.getFullYear()/t)*t),n.setMonth(0,1),n.setHours(0,0,0,0)}),(function(n,e){n.setFullYear(n.getFullYear()+e*t)})):null};var ad=od,ud=od.range,sd=id((function(t){t.setDate(1),t.setHours(0,0,0,0)}),(function(t,n){t.setMonth(t.getMonth()+n)}),(function(t,n){return n.getMonth()-t.getMonth()+12*(n.getFullYear()-t.getFullYear())}),(function(t){return t.getMonth()})),fd=sd,cd=sd.range;function ld(t){return id((function(n){n.setDate(n.getDate()-(n.getDay()+7-t)%7),n.setHours(0,0,0,0)}),(function(t,n){t.setDate(t.getDate()+7*n)}),(function(t,n){return(n-t-6e4*(n.getTimezoneOffset()-t.getTimezoneOffset()))/6048e5}))}var hd=ld(0),pd=ld(1),dd=ld(2),vd=ld(3),md=ld(4),gd=ld(5),yd=ld(6),_d=hd.range,bd=pd.range,xd=dd.range,wd=vd.range,Md=md.range,kd=gd.range,Ad=yd.range,zd=id((function(t){t.setHours(0,0,0,0)}),(function(t,n){t.setDate(t.getDate()+n)}),(function(t,n){return(n-t-6e4*(n.getTimezoneOffset()-t.getTimezoneOffset()))/864e5}),(function(t){return t.getDate()-1})),Ed=zd,Sd=zd.range,Nd=id((function(t){t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds()-6e4*t.getMinutes())}),(function(t,n){t.setTime(+t+36e5*n)}),(function(t,n){return(n-t)/36e5}),(function(t){return t.getHours()})),Td=Nd,Cd=Nd.range,jd=id((function(t){t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds())}),(function(t,n){t.setTime(+t+6e4*n)}),(function(t,n){return(n-t)/6e4}),(function(t){return t.getMinutes()})),Od=jd,Pd=jd.range,Bd=id((function(t){t.setTime(t-t.getMilliseconds())}),(function(t,n){t.setTime(+t+1e3*n)}),(function(t,n){return(n-t)/1e3}),(function(t){return t.getUTCSeconds()})),Rd=Bd,Id=Bd.range,Dd=id((function(){}),(function(t,n){t.setTime(+t+n)}),(function(t,n){return n-t}));Dd.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?id((function(n){n.setTime(Math.floor(n/t)*t)}),(function(n,e){n.setTime(+n+e*t)}),(function(n,e){return(e-n)/t})):Dd:null};var Fd=Dd,Ud=Dd.range;function Ld(t){return id((function(n){n.setUTCDate(n.getUTCDate()-(n.getUTCDay()+7-t)%7),n.setUTCHours(0,0,0,0)}),(function(t,n){t.setUTCDate(t.getUTCDate()+7*n)}),(function(t,n){return(n-t)/6048e5}))}var qd=Ld(0),Hd=Ld(1),Yd=Ld(2),Vd=Ld(3),Wd=Ld(4),Xd=Ld(5),Gd=Ld(6),Zd=qd.range,$d=Hd.range,Qd=Yd.range,Kd=Vd.range,Jd=Wd.range,tv=Xd.range,nv=Gd.range,ev=id((function(t){t.setUTCHours(0,0,0,0)}),(function(t,n){t.setUTCDate(t.getUTCDate()+n)}),(function(t,n){return(n-t)/864e5}),(function(t){return t.getUTCDate()-1})),rv=ev,iv=ev.range,ov=id((function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,n){t.setUTCFullYear(t.getUTCFullYear()+n)}),(function(t,n){return n.getUTCFullYear()-t.getUTCFullYear()}),(function(t){return t.getUTCFullYear()}));ov.every=function(t){return isFinite(t=Math.floor(t))&&t>0?id((function(n){n.setUTCFullYear(Math.floor(n.getUTCFullYear()/t)*t),n.setUTCMonth(0,1),n.setUTCHours(0,0,0,0)}),(function(n,e){n.setUTCFullYear(n.getUTCFullYear()+e*t)})):null};var av=ov,uv=ov.range;function sv(t){if(0<=t.y&&t.y<100){var n=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return n.setFullYear(t.y),n}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function fv(t){if(0<=t.y&&t.y<100){var n=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return n.setUTCFullYear(t.y),n}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function cv(t,n,e){return{y:t,m:n,d:e,H:0,M:0,S:0,L:0}}function lv(t){var n=t.dateTime,e=t.date,r=t.time,i=t.periods,o=t.days,a=t.shortDays,u=t.months,s=t.shortMonths,f=Mv(i),c=kv(i),l=Mv(o),h=kv(o),p=Mv(a),d=kv(a),v=Mv(u),m=kv(u),g=Mv(s),y=kv(s),_={a:function(t){return a[t.getDay()]},A:function(t){return o[t.getDay()]},b:function(t){return s[t.getMonth()]},B:function(t){return u[t.getMonth()]},c:null,d:Vv,e:Vv,f:$v,H:Wv,I:Xv,j:Gv,L:Zv,m:Qv,M:Kv,p:function(t){return i[+(t.getHours()>=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:zm,s:Em,S:Jv,u:tm,U:nm,V:em,w:rm,W:im,x:null,X:null,y:om,Y:am,Z:um,"%":Am},b={a:function(t){return a[t.getUTCDay()]},A:function(t){return o[t.getUTCDay()]},b:function(t){return s[t.getUTCMonth()]},B:function(t){return u[t.getUTCMonth()]},c:null,d:sm,e:sm,f:pm,H:fm,I:cm,j:lm,L:hm,m:dm,M:vm,p:function(t){return i[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:zm,s:Em,S:mm,u:gm,U:ym,V:_m,w:bm,W:xm,x:null,X:null,y:wm,Y:Mm,Z:km,"%":Am},x={a:function(t,n,e){var r=p.exec(n.slice(e));return r?(t.w=d[r[0].toLowerCase()],e+r[0].length):-1},A:function(t,n,e){var r=l.exec(n.slice(e));return r?(t.w=h[r[0].toLowerCase()],e+r[0].length):-1},b:function(t,n,e){var r=g.exec(n.slice(e));return r?(t.m=y[r[0].toLowerCase()],e+r[0].length):-1},B:function(t,n,e){var r=v.exec(n.slice(e));return r?(t.m=m[r[0].toLowerCase()],e+r[0].length):-1},c:function(t,e,r){return k(t,n,e,r)},d:Bv,e:Bv,f:Lv,H:Iv,I:Iv,j:Rv,L:Uv,m:Pv,M:Dv,p:function(t,n,e){var r=f.exec(n.slice(e));return r?(t.p=c[r[0].toLowerCase()],e+r[0].length):-1},q:Ov,Q:Hv,s:Yv,S:Fv,u:zv,U:Ev,V:Sv,w:Av,W:Nv,x:function(t,n,r){return k(t,e,n,r)},X:function(t,n,e){return k(t,r,n,e)},y:Cv,Y:Tv,Z:jv,"%":qv};function w(t,n){return function(e){var r,i,o,a=[],u=-1,s=0,f=t.length;for(e instanceof Date||(e=new Date(+e));++u<f;)37===t.charCodeAt(u)&&(a.push(t.slice(s,u)),null!=(i=gv[r=t.charAt(++u)])?r=t.charAt(++u):i="e"===r?" ":"0",(o=n[r])&&(r=o(e,i)),a.push(r),s=u+1);return a.push(t.slice(s,u)),a.join("")}}function M(t,n){return function(e){var r,i,o=cv(1900,void 0,1);if(k(o,t,e+="",0)!=e.length)return null;if("Q"in o)return new Date(o.Q);if("s"in o)return new Date(1e3*o.s+("L"in o?o.L:0));if(!n||"Z"in o||(o.Z=0),"p"in o&&(o.H=o.H%12+12*o.p),void 0===o.m&&(o.m="q"in o?o.q:0),"V"in o){if(o.V<1||o.V>53)return null;"w"in o||(o.w=1),"Z"in o?(i=(r=fv(cv(o.y,0,1))).getUTCDay(),r=i>4||0===i?Hd.ceil(r):Hd(r),r=rv.offset(r,7*(o.V-1)),o.y=r.getUTCFullYear(),o.m=r.getUTCMonth(),o.d=r.getUTCDate()+(o.w+6)%7):(i=(r=sv(cv(o.y,0,1))).getDay(),r=i>4||0===i?pd.ceil(r):pd(r),r=Ed.offset(r,7*(o.V-1)),o.y=r.getFullYear(),o.m=r.getMonth(),o.d=r.getDate()+(o.w+6)%7)}else("W"in o||"U"in o)&&("w"in o||(o.w="u"in o?o.u%7:"W"in o?1:0),i="Z"in o?fv(cv(o.y,0,1)).getUTCDay():sv(cv(o.y,0,1)).getDay(),o.m=0,o.d="W"in o?(o.w+6)%7+7*o.W-(i+5)%7:o.w+7*o.U-(i+6)%7);return"Z"in o?(o.H+=o.Z/100|0,o.M+=o.Z%100,fv(o)):sv(o)}}function k(t,n,e,r){for(var i,o,a=0,u=n.length,s=e.length;a<u;){if(r>=s)return-1;if(37===(i=n.charCodeAt(a++))){if(i=n.charAt(a++),!(o=x[i in gv?n.charAt(a++):i])||(r=o(t,e,r))<0)return-1}else if(i!=e.charCodeAt(r++))return-1}return r}return(_.x=w(e,_),_.X=w(r,_),_.c=w(n,_),b.x=w(e,b),b.X=w(r,b),b.c=w(n,b),{format:function(t){var n=w(t+="",_);return n.toString=function(){return t},n},parse:function(t){var n=M(t+="",!1);return n.toString=function(){return t},n},utcFormat:function(t){var n=w(t+="",b);return n.toString=function(){return t},n},utcParse:function(t){var n=M(t+="",!0);return n.toString=function(){return t},n}})}var hv,pv,dv,vv,mv,gv={"-":"",_:" ",0:"0"},yv=/^\s*\d+/,_v=/^%/,bv=/[\\^$*+?|[\]().{}]/g;function xv(t,n,e){var r=t<0?"-":"",i=(r?-t:t)+"",o=i.length;return r+(o<e?new Array(e-o+1).join(n)+i:i)}function wv(t){return t.replace(bv,"\\$&")}function Mv(t){return new RegExp("^(?:"+t.map(wv).join("|")+")","i")}function kv(t){for(var n={},e=-1,r=t.length;++e<r;)n[t[e].toLowerCase()]=e;return n}function Av(t,n,e){var r=yv.exec(n.slice(e,e+1));return r?(t.w=+r[0],e+r[0].length):-1}function zv(t,n,e){var r=yv.exec(n.slice(e,e+1));return r?(t.u=+r[0],e+r[0].length):-1}function Ev(t,n,e){var r=yv.exec(n.slice(e,e+2));return r?(t.U=+r[0],e+r[0].length):-1}function Sv(t,n,e){var r=yv.exec(n.slice(e,e+2));return r?(t.V=+r[0],e+r[0].length):-1}function Nv(t,n,e){var r=yv.exec(n.slice(e,e+2));return r?(t.W=+r[0],e+r[0].length):-1}function Tv(t,n,e){var r=yv.exec(n.slice(e,e+4));return r?(t.y=+r[0],e+r[0].length):-1}function Cv(t,n,e){var r=yv.exec(n.slice(e,e+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),e+r[0].length):-1}function jv(t,n,e){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(n.slice(e,e+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),e+r[0].length):-1}function Ov(t,n,e){var r=yv.exec(n.slice(e,e+1));return r?(t.q=3*r[0]-3,e+r[0].length):-1}function Pv(t,n,e){var r=yv.exec(n.slice(e,e+2));return r?(t.m=r[0]-1,e+r[0].length):-1}function Bv(t,n,e){var r=yv.exec(n.slice(e,e+2));return r?(t.d=+r[0],e+r[0].length):-1}function Rv(t,n,e){var r=yv.exec(n.slice(e,e+3));return r?(t.m=0,t.d=+r[0],e+r[0].length):-1}function Iv(t,n,e){var r=yv.exec(n.slice(e,e+2));return r?(t.H=+r[0],e+r[0].length):-1}function Dv(t,n,e){var r=yv.exec(n.slice(e,e+2));return r?(t.M=+r[0],e+r[0].length):-1}function Fv(t,n,e){var r=yv.exec(n.slice(e,e+2));return r?(t.S=+r[0],e+r[0].length):-1}function Uv(t,n,e){var r=yv.exec(n.slice(e,e+3));return r?(t.L=+r[0],e+r[0].length):-1}function Lv(t,n,e){var r=yv.exec(n.slice(e,e+6));return r?(t.L=Math.floor(r[0]/1e3),e+r[0].length):-1}function qv(t,n,e){var r=_v.exec(n.slice(e,e+1));return r?e+r[0].length:-1}function Hv(t,n,e){var r=yv.exec(n.slice(e));return r?(t.Q=+r[0],e+r[0].length):-1}function Yv(t,n,e){var r=yv.exec(n.slice(e));return r?(t.s=+r[0],e+r[0].length):-1}function Vv(t,n){return xv(t.getDate(),n,2)}function Wv(t,n){return xv(t.getHours(),n,2)}function Xv(t,n){return xv(t.getHours()%12||12,n,2)}function Gv(t,n){return xv(1+Ed.count(ad(t),t),n,3)}function Zv(t,n){return xv(t.getMilliseconds(),n,3)}function $v(t,n){return Zv(t,n)+"000"}function Qv(t,n){return xv(t.getMonth()+1,n,2)}function Kv(t,n){return xv(t.getMinutes(),n,2)}function Jv(t,n){return xv(t.getSeconds(),n,2)}function tm(t){var n=t.getDay();return 0===n?7:n}function nm(t,n){return xv(hd.count(ad(t)-1,t),n,2)}function em(t,n){var e=t.getDay();return t=e>=4||0===e?md(t):md.ceil(t),xv(md.count(ad(t),t)+(4===ad(t).getDay()),n,2)}function rm(t){return t.getDay()}function im(t,n){return xv(pd.count(ad(t)-1,t),n,2)}function om(t,n){return xv(t.getFullYear()%100,n,2)}function am(t,n){return xv(t.getFullYear()%1e4,n,4)}function um(t){var n=t.getTimezoneOffset();return(n>0?"-":(n*=-1,"+"))+xv(n/60|0,"0",2)+xv(n%60,"0",2)}function sm(t,n){return xv(t.getUTCDate(),n,2)}function fm(t,n){return xv(t.getUTCHours(),n,2)}function cm(t,n){return xv(t.getUTCHours()%12||12,n,2)}function lm(t,n){return xv(1+rv.count(av(t),t),n,3)}function hm(t,n){return xv(t.getUTCMilliseconds(),n,3)}function pm(t,n){return hm(t,n)+"000"}function dm(t,n){return xv(t.getUTCMonth()+1,n,2)}function vm(t,n){return xv(t.getUTCMinutes(),n,2)}function mm(t,n){return xv(t.getUTCSeconds(),n,2)}function gm(t){var n=t.getUTCDay();return 0===n?7:n}function ym(t,n){return xv(qd.count(av(t)-1,t),n,2)}function _m(t,n){var e=t.getUTCDay();return t=e>=4||0===e?Wd(t):Wd.ceil(t),xv(Wd.count(av(t),t)+(4===av(t).getUTCDay()),n,2)}function bm(t){return t.getUTCDay()}function xm(t,n){return xv(Hd.count(av(t)-1,t),n,2)}function wm(t,n){return xv(t.getUTCFullYear()%100,n,2)}function Mm(t,n){return xv(t.getUTCFullYear()%1e4,n,4)}function km(){return"+0000"}function Am(){return"%"}function zm(t){return+t}function Em(t){return Math.floor(+t/1e3)}function Sm(t){return hv=lv(t),pv=hv.format,dv=hv.parse,vv=hv.utcFormat,mv=hv.utcParse,hv}Sm({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function Nm(t){return new Date(t)}function Tm(t){return t instanceof Date?+t:+new Date(+t)}function Cm(t,n,e,r,o,a,u,s,f){var c=Np(wp,wp),l=c.invert,h=c.domain,p=f(".%L"),d=f(":%S"),v=f("%I:%M"),m=f("%I %p"),g=f("%a %d"),y=f("%b %d"),_=f("%B"),b=f("%Y"),x=[[u,1,1e3],[u,5,5e3],[u,15,15e3],[u,30,3e4],[a,1,6e4],[a,5,3e5],[a,15,9e5],[a,30,18e5],[o,1,36e5],[o,3,108e5],[o,6,216e5],[o,12,432e5],[r,1,864e5],[r,2,1728e5],[e,1,6048e5],[n,1,2592e6],[n,3,7776e6],[t,1,31536e6]];function w(i){return(u(i)<i?p:a(i)<i?d:o(i)<i?v:r(i)<i?m:n(i)<i?e(i)<i?g:y:t(i)<i?_:b)(i)}function M(n,e,r,o){if(null==n&&(n=10),"number"==typeof n){var a=Math.abs(r-e)/n,u=i((function(t){return t[2]})).right(x,a);u===x.length?(o=S(e/31536e6,r/31536e6,n),n=t):u?(o=(u=x[a/x[u-1][2]<x[u][2]/a?u-1:u])[1],n=u[0]):(o=Math.max(S(e,r,n),1),n=s)}return null==o?n:n.every(o)}return c.invert=function(t){return new Date(l(t))},c.domain=function(t){return arguments.length?h(pp.call(t,Tm)):h().map(Nm)},c.ticks=function(t,n){var e,r=h(),i=r[0],o=r[r.length-1],a=o<i;return a&&(e=i,i=o,o=e),e=(e=M(t,i,o,n))?e.range(i,o+1):[],a?e.reverse():e},c.tickFormat=function(t,n){return null==n?w:f(n)},c.nice=function(t,n){var e=h();return(t=M(t,e[0],e[e.length-1],n))?h(Pp(e,t)):c},c.copy=function(){return Ep(c,Cm(t,n,e,r,o,a,u,s,f))},c}var jm=function(){return cp.apply(Cm(ad,fd,hd,Ed,Td,Od,Rd,Fd,pv).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)},Om=id((function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)}),(function(t,n){t.setUTCMonth(t.getUTCMonth()+n)}),(function(t,n){return n.getUTCMonth()-t.getUTCMonth()+12*(n.getUTCFullYear()-t.getUTCFullYear())}),(function(t){return t.getUTCMonth()})),Pm=Om,Bm=Om.range,Rm=id((function(t){t.setUTCMinutes(0,0,0)}),(function(t,n){t.setTime(+t+36e5*n)}),(function(t,n){return(n-t)/36e5}),(function(t){return t.getUTCHours()})),Im=Rm,Dm=Rm.range,Fm=id((function(t){t.setUTCSeconds(0,0)}),(function(t,n){t.setTime(+t+6e4*n)}),(function(t,n){return(n-t)/6e4}),(function(t){return t.getUTCMinutes()})),Um=Fm,Lm=Fm.range,qm=function(){return cp.apply(Cm(av,Pm,qd,rv,Im,Um,Rd,Fd,vv).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)};function Hm(){var t,n,e,r,i,o=0,a=1,u=wp,s=!1;function f(n){return isNaN(n=+n)?i:u(0===e?.5:(n=(r(n)-t)*e,s?Math.max(0,Math.min(1,n)):n))}return f.domain=function(i){return arguments.length?(t=r(o=+i[0]),n=r(a=+i[1]),e=t===n?0:1/(n-t),f):[o,a]},f.clamp=function(t){return arguments.length?(s=!!t,f):s},f.interpolator=function(t){return arguments.length?(u=t,f):u},f.unknown=function(t){return arguments.length?(i=t,f):i},function(i){return r=i,t=i(o),n=i(a),e=t===n?0:1/(n-t),f}}function Ym(t,n){return n.domain(t.domain()).interpolator(t.interpolator()).clamp(t.clamp()).unknown(t.unknown())}function Vm(){var t=Cp(Hm()(wp));return t.copy=function(){return Ym(t,Vm())},lp.apply(t,arguments)}function Wm(){var t=Lp(Hm()).domain([1,10]);return t.copy=function(){return Ym(t,Wm()).base(t.base())},lp.apply(t,arguments)}function Xm(){var t=Vp(Hm());return t.copy=function(){return Ym(t,Xm()).constant(t.constant())},lp.apply(t,arguments)}function Gm(){var t=$p(Hm());return t.copy=function(){return Ym(t,Gm()).exponent(t.exponent())},lp.apply(t,arguments)}function Zm(){return Gm.apply(null,arguments).exponent(.5)}function $m(){var t=[],n=wp;function e(e){if(!isNaN(e=+e))return n((s(t,e)-1)/(t.length-1))}return e.domain=function(n){if(!arguments.length)return t.slice();t=[];for(var i,o=0,a=n.length;o<a;++o)null==(i=n[o])||isNaN(i=+i)||t.push(i);return t.sort(r),e},e.interpolator=function(t){return arguments.length?(n=t,e):n},e.copy=function(){return $m(n).domain(t)},lp.apply(e,arguments)}function Qm(){var t,n,e,r,i,o,a,u=0,s=.5,f=1,c=wp,l=!1;function h(t){return isNaN(t=+t)?a:(t=.5+((t=+o(t))-n)*(t<n?r:i),c(l?Math.max(0,Math.min(1,t)):t))}return h.domain=function(a){return arguments.length?(t=o(u=+a[0]),n=o(s=+a[1]),e=o(f=+a[2]),r=t===n?0:.5/(n-t),i=n===e?0:.5/(e-n),h):[u,s,f]},h.clamp=function(t){return arguments.length?(l=!!t,h):l},h.interpolator=function(t){return arguments.length?(c=t,h):c},h.unknown=function(t){return arguments.length?(a=t,h):a},function(a){return o=a,t=a(u),n=a(s),e=a(f),r=t===n?0:.5/(n-t),i=n===e?0:.5/(e-n),h}}function Km(){var t=Cp(Qm()(wp));return t.copy=function(){return Ym(t,Km())},lp.apply(t,arguments)}function Jm(){var t=Lp(Qm()).domain([.1,1,10]);return t.copy=function(){return Ym(t,Jm()).base(t.base())},lp.apply(t,arguments)}function tg(){var t=Vp(Qm());return t.copy=function(){return Ym(t,tg()).constant(t.constant())},lp.apply(t,arguments)}function ng(){var t=$p(Qm());return t.copy=function(){return Ym(t,ng()).exponent(t.exponent())},lp.apply(t,arguments)}function eg(){return ng.apply(null,arguments).exponent(.5)}var rg=function(t){for(var n=t.length/6|0,e=new Array(n),r=0;r<n;)e[r]="#"+t.slice(6*r,6*++r);return e},ig=rg("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"),og=rg("7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666"),ag=rg("1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666"),ug=rg("a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928"),sg=rg("fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2"),fg=rg("b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc"),cg=rg("e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999"),lg=rg("66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3"),hg=rg("8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f"),pg=rg("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab"),dg=function(t){return en(t[t.length-1])},vg=new Array(3).concat("d8b365f5f5f55ab4ac","a6611adfc27d80cdc1018571","a6611adfc27df5f5f580cdc1018571","8c510ad8b365f6e8c3c7eae55ab4ac01665e","8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e","8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e","8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e","5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30","5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30").map(rg),mg=dg(vg),gg=new Array(3).concat("af8dc3f7f7f77fbf7b","7b3294c2a5cfa6dba0008837","7b3294c2a5cff7f7f7a6dba0008837","762a83af8dc3e7d4e8d9f0d37fbf7b1b7837","762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837","762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837","762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837","40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b","40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b").map(rg),yg=dg(gg),_g=new Array(3).concat("e9a3c9f7f7f7a1d76a","d01c8bf1b6dab8e1864dac26","d01c8bf1b6daf7f7f7b8e1864dac26","c51b7de9a3c9fde0efe6f5d0a1d76a4d9221","c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221","c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221","c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221","8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419","8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419").map(rg),bg=dg(_g),xg=new Array(3).concat("998ec3f7f7f7f1a340","5e3c99b2abd2fdb863e66101","5e3c99b2abd2f7f7f7fdb863e66101","542788998ec3d8daebfee0b6f1a340b35806","542788998ec3d8daebf7f7f7fee0b6f1a340b35806","5427888073acb2abd2d8daebfee0b6fdb863e08214b35806","5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806","2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08","2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08").map(rg),wg=dg(xg),Mg=new Array(3).concat("ef8a62f7f7f767a9cf","ca0020f4a58292c5de0571b0","ca0020f4a582f7f7f792c5de0571b0","b2182bef8a62fddbc7d1e5f067a9cf2166ac","b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac","b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac","b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac","67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061","67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061").map(rg),kg=dg(Mg),Ag=new Array(3).concat("ef8a62ffffff999999","ca0020f4a582bababa404040","ca0020f4a582ffffffbababa404040","b2182bef8a62fddbc7e0e0e09999994d4d4d","b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d","b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d","b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d","67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a","67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a").map(rg),zg=dg(Ag),Eg=new Array(3).concat("fc8d59ffffbf91bfdb","d7191cfdae61abd9e92c7bb6","d7191cfdae61ffffbfabd9e92c7bb6","d73027fc8d59fee090e0f3f891bfdb4575b4","d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4","d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4","d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4","a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695","a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695").map(rg),Sg=dg(Eg),Ng=new Array(3).concat("fc8d59ffffbf91cf60","d7191cfdae61a6d96a1a9641","d7191cfdae61ffffbfa6d96a1a9641","d73027fc8d59fee08bd9ef8b91cf601a9850","d73027fc8d59fee08bffffbfd9ef8b91cf601a9850","d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850","d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850","a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837","a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837").map(rg),Tg=dg(Ng),Cg=new Array(3).concat("fc8d59ffffbf99d594","d7191cfdae61abdda42b83ba","d7191cfdae61ffffbfabdda42b83ba","d53e4ffc8d59fee08be6f59899d5943288bd","d53e4ffc8d59fee08bffffbfe6f59899d5943288bd","d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd","d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd","9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2","9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2").map(rg),jg=dg(Cg),Og=new Array(3).concat("e5f5f999d8c92ca25f","edf8fbb2e2e266c2a4238b45","edf8fbb2e2e266c2a42ca25f006d2c","edf8fbccece699d8c966c2a42ca25f006d2c","edf8fbccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b").map(rg),Pg=dg(Og),Bg=new Array(3).concat("e0ecf49ebcda8856a7","edf8fbb3cde38c96c688419d","edf8fbb3cde38c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b").map(rg),Rg=dg(Bg),Ig=new Array(3).concat("e0f3dba8ddb543a2ca","f0f9e8bae4bc7bccc42b8cbe","f0f9e8bae4bc7bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081").map(rg),Dg=dg(Ig),Fg=new Array(3).concat("fee8c8fdbb84e34a33","fef0d9fdcc8afc8d59d7301f","fef0d9fdcc8afc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000").map(rg),Ug=dg(Fg),Lg=new Array(3).concat("ece2f0a6bddb1c9099","f6eff7bdc9e167a9cf02818a","f6eff7bdc9e167a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636").map(rg),qg=dg(Lg),Hg=new Array(3).concat("ece7f2a6bddb2b8cbe","f1eef6bdc9e174a9cf0570b0","f1eef6bdc9e174a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858").map(rg),Yg=dg(Hg),Vg=new Array(3).concat("e7e1efc994c7dd1c77","f1eef6d7b5d8df65b0ce1256","f1eef6d7b5d8df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f").map(rg),Wg=dg(Vg),Xg=new Array(3).concat("fde0ddfa9fb5c51b8a","feebe2fbb4b9f768a1ae017e","feebe2fbb4b9f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a").map(rg),Gg=dg(Xg),Zg=new Array(3).concat("edf8b17fcdbb2c7fb8","ffffcca1dab441b6c4225ea8","ffffcca1dab441b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58").map(rg),$g=dg(Zg),Qg=new Array(3).concat("f7fcb9addd8e31a354","ffffccc2e69978c679238443","ffffccc2e69978c67931a354006837","ffffccd9f0a3addd8e78c67931a354006837","ffffccd9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529").map(rg),Kg=dg(Qg),Jg=new Array(3).concat("fff7bcfec44fd95f0e","ffffd4fed98efe9929cc4c02","ffffd4fed98efe9929d95f0e993404","ffffd4fee391fec44ffe9929d95f0e993404","ffffd4fee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506").map(rg),ty=dg(Jg),ny=new Array(3).concat("ffeda0feb24cf03b20","ffffb2fecc5cfd8d3ce31a1c","ffffb2fecc5cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026").map(rg),ey=dg(ny),ry=new Array(3).concat("deebf79ecae13182bd","eff3ffbdd7e76baed62171b5","eff3ffbdd7e76baed63182bd08519c","eff3ffc6dbef9ecae16baed63182bd08519c","eff3ffc6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b").map(rg),iy=dg(ry),oy=new Array(3).concat("e5f5e0a1d99b31a354","edf8e9bae4b374c476238b45","edf8e9bae4b374c47631a354006d2c","edf8e9c7e9c0a1d99b74c47631a354006d2c","edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b").map(rg),ay=dg(oy),uy=new Array(3).concat("f0f0f0bdbdbd636363","f7f7f7cccccc969696525252","f7f7f7cccccc969696636363252525","f7f7f7d9d9d9bdbdbd969696636363252525","f7f7f7d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000").map(rg),sy=dg(uy),fy=new Array(3).concat("efedf5bcbddc756bb1","f2f0f7cbc9e29e9ac86a51a3","f2f0f7cbc9e29e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d").map(rg),cy=dg(fy),ly=new Array(3).concat("fee0d2fc9272de2d26","fee5d9fcae91fb6a4acb181d","fee5d9fcae91fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d").map(rg),hy=dg(ly),py=new Array(3).concat("fee6cefdae6be6550d","feeddefdbe85fd8d3cd94701","feeddefdbe85fd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704").map(rg),dy=dg(py),vy=function(t){return t=Math.max(0,Math.min(1,t)),"rgb("+Math.max(0,Math.min(255,Math.round(-4.54-t*(35.34-t*(2381.73-t*(6402.7-t*(7024.72-2710.57*t)))))))+", "+Math.max(0,Math.min(255,Math.round(32.49+t*(170.73+t*(52.82-t*(131.46-t*(176.58-67.37*t)))))))+", "+Math.max(0,Math.min(255,Math.round(81.24+t*(442.36-t*(2482.43-t*(6167.24-t*(6614.94-2475.67*t)))))))+")"},my=Xh(ni(300,.5,0),ni(-240,.5,1)),gy=Xh(ni(-100,.75,.35),ni(80,1.5,.8)),yy=Xh(ni(260,.75,.35),ni(80,1.5,.8)),_y=ni(),by=function(t){(t<0||t>1)&&(t-=Math.floor(t));var n=Math.abs(t-.5);return _y.h=360*t-100,_y.s=1.5-1.5*n,_y.l=.8-.9*n,_y+""},xy=Rt(),wy=Math.PI/3,My=2*Math.PI/3,ky=function(t){var n;return t=(.5-t)*Math.PI,xy.r=255*(n=Math.sin(t))*n,xy.g=255*(n=Math.sin(t+wy))*n,xy.b=255*(n=Math.sin(t+My))*n,xy+""},Ay=function(t){return t=Math.max(0,Math.min(1,t)),"rgb("+Math.max(0,Math.min(255,Math.round(34.61+t*(1172.33-t*(10793.56-t*(33300.12-t*(38394.49-14825.05*t)))))))+", "+Math.max(0,Math.min(255,Math.round(23.31+t*(557.33+t*(1225.33-t*(3574.96-t*(1073.77+707.56*t)))))))+", "+Math.max(0,Math.min(255,Math.round(27.2+t*(3211.1-t*(15327.97-t*(27814-t*(22569.18-6838.66*t)))))))+")"};function zy(t){var n=t.length;return function(e){return t[Math.max(0,Math.min(n-1,Math.floor(e*n)))]}}var Ey=zy(rg("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725")),Sy=zy(rg("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),Ny=zy(rg("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),Ty=zy(rg("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921")),Cy=function(t){return function(){return t}},jy=Math.abs,Oy=Math.atan2,Py=Math.cos,By=Math.max,Ry=Math.min,Iy=Math.sin,Dy=Math.sqrt,Fy=Math.PI,Uy=Fy/2,Ly=2*Fy;function qy(t){return t>1?0:t<-1?Fy:Math.acos(t)}function Hy(t){return t>=1?Uy:t<=-1?-Uy:Math.asin(t)}function Yy(t){return t.innerRadius}function Vy(t){return t.outerRadius}function Wy(t){return t.startAngle}function Xy(t){return t.endAngle}function Gy(t){return t&&t.padAngle}function Zy(t,n,e,r,i,o,a,u){var s=e-t,f=r-n,c=a-i,l=u-o,h=l*s-c*f;if(!(h*h<1e-12))return[t+(h=(c*(n-o)-l*(t-i))/h)*s,n+h*f]}function $y(t,n,e,r,i,o,a){var u=t-e,s=n-r,f=(a?o:-o)/Dy(u*u+s*s),c=f*s,l=-f*u,h=t+c,p=n+l,d=e+c,v=r+l,m=(h+d)/2,g=(p+v)/2,y=d-h,_=v-p,b=y*y+_*_,x=i-o,w=h*v-d*p,M=(_<0?-1:1)*Dy(By(0,x*x*b-w*w)),k=(w*_-y*M)/b,A=(-w*y-_*M)/b,z=(w*_+y*M)/b,E=(-w*y+_*M)/b,S=k-m,N=A-g,T=z-m,C=E-g;return S*S+N*N>T*T+C*C&&(k=z,A=E),{cx:k,cy:A,x01:-c,y01:-l,x11:k*(i/x-1),y11:A*(i/x-1)}}var Qy=function(){var t=Yy,n=Vy,e=Cy(0),r=null,i=Wy,o=Xy,a=Gy,u=null;function s(){var s,f,c=+t.apply(this,arguments),l=+n.apply(this,arguments),h=i.apply(this,arguments)-Uy,p=o.apply(this,arguments)-Uy,d=jy(p-h),v=p>h;if(u||(u=s=Er()),l<c&&(f=l,l=c,c=f),l>1e-12)if(d>Ly-1e-12)u.moveTo(l*Py(h),l*Iy(h)),u.arc(0,0,l,h,p,!v),c>1e-12&&(u.moveTo(c*Py(p),c*Iy(p)),u.arc(0,0,c,p,h,v));else{var m,g,y=h,_=p,b=h,x=p,w=d,M=d,k=a.apply(this,arguments)/2,A=k>1e-12&&(r?+r.apply(this,arguments):Dy(c*c+l*l)),z=Ry(jy(l-c)/2,+e.apply(this,arguments)),E=z,S=z;if(A>1e-12){var N=Hy(A/c*Iy(k)),T=Hy(A/l*Iy(k));(w-=2*N)>1e-12?(b+=N*=v?1:-1,x-=N):(w=0,b=x=(h+p)/2),(M-=2*T)>1e-12?(y+=T*=v?1:-1,_-=T):(M=0,y=_=(h+p)/2)}var C=l*Py(y),j=l*Iy(y),O=c*Py(x),P=c*Iy(x);if(z>1e-12){var B,R=l*Py(_),I=l*Iy(_),D=c*Py(b),F=c*Iy(b);if(d<Fy&&(B=Zy(C,j,D,F,R,I,O,P))){var U=C-B[0],L=j-B[1],q=R-B[0],H=I-B[1],Y=1/Iy(qy((U*q+L*H)/(Dy(U*U+L*L)*Dy(q*q+H*H)))/2),V=Dy(B[0]*B[0]+B[1]*B[1]);E=Ry(z,(c-V)/(Y-1)),S=Ry(z,(l-V)/(Y+1))}}M>1e-12?S>1e-12?(m=$y(D,F,C,j,l,S,v),g=$y(R,I,O,P,l,S,v),u.moveTo(m.cx+m.x01,m.cy+m.y01),S<z?u.arc(m.cx,m.cy,S,Oy(m.y01,m.x01),Oy(g.y01,g.x01),!v):(u.arc(m.cx,m.cy,S,Oy(m.y01,m.x01),Oy(m.y11,m.x11),!v),u.arc(0,0,l,Oy(m.cy+m.y11,m.cx+m.x11),Oy(g.cy+g.y11,g.cx+g.x11),!v),u.arc(g.cx,g.cy,S,Oy(g.y11,g.x11),Oy(g.y01,g.x01),!v))):(u.moveTo(C,j),u.arc(0,0,l,y,_,!v)):u.moveTo(C,j),c>1e-12&&w>1e-12?E>1e-12?(m=$y(O,P,R,I,c,-E,v),g=$y(C,j,D,F,c,-E,v),u.lineTo(m.cx+m.x01,m.cy+m.y01),E<z?u.arc(m.cx,m.cy,E,Oy(m.y01,m.x01),Oy(g.y01,g.x01),!v):(u.arc(m.cx,m.cy,E,Oy(m.y01,m.x01),Oy(m.y11,m.x11),!v),u.arc(0,0,c,Oy(m.cy+m.y11,m.cx+m.x11),Oy(g.cy+g.y11,g.cx+g.x11),v),u.arc(g.cx,g.cy,E,Oy(g.y11,g.x11),Oy(g.y01,g.x01),!v))):u.arc(0,0,c,x,b,v):u.lineTo(O,P)}else u.moveTo(0,0);if(u.closePath(),s)return u=null,s+""||null}return s.centroid=function(){var e=(+t.apply(this,arguments)+ +n.apply(this,arguments))/2,r=(+i.apply(this,arguments)+ +o.apply(this,arguments))/2-Fy/2;return[Py(r)*e,Iy(r)*e]},s.innerRadius=function(n){return arguments.length?(t="function"==typeof n?n:Cy(+n),s):t},s.outerRadius=function(t){return arguments.length?(n="function"==typeof t?t:Cy(+t),s):n},s.cornerRadius=function(t){return arguments.length?(e="function"==typeof t?t:Cy(+t),s):e},s.padRadius=function(t){return arguments.length?(r=null==t?null:"function"==typeof t?t:Cy(+t),s):r},s.startAngle=function(t){return arguments.length?(i="function"==typeof t?t:Cy(+t),s):i},s.endAngle=function(t){return arguments.length?(o="function"==typeof t?t:Cy(+t),s):o},s.padAngle=function(t){return arguments.length?(a="function"==typeof t?t:Cy(+t),s):a},s.context=function(t){return arguments.length?(u=null==t?null:t,s):u},s};function Ky(t){this._context=t}Ky.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;default:this._context.lineTo(t,n)}}};var Jy=function(t){return new Ky(t)};function t_(t){return t[0]}function n_(t){return t[1]}var e_=function(){var t=t_,n=n_,e=Cy(!0),r=null,i=Jy,o=null;function a(a){var u,s,f,c=a.length,l=!1;for(null==r&&(o=i(f=Er())),u=0;u<=c;++u)!(u<c&&e(s=a[u],u,a))===l&&((l=!l)?o.lineStart():o.lineEnd()),l&&o.point(+t(s,u,a),+n(s,u,a));if(f)return o=null,f+""||null}return a.x=function(n){return arguments.length?(t="function"==typeof n?n:Cy(+n),a):t},a.y=function(t){return arguments.length?(n="function"==typeof t?t:Cy(+t),a):n},a.defined=function(t){return arguments.length?(e="function"==typeof t?t:Cy(!!t),a):e},a.curve=function(t){return arguments.length?(i=t,null!=r&&(o=i(r)),a):i},a.context=function(t){return arguments.length?(null==t?r=o=null:o=i(r=t),a):r},a},r_=function(){var t=t_,n=null,e=Cy(0),r=n_,i=Cy(!0),o=null,a=Jy,u=null;function s(s){var f,c,l,h,p,d=s.length,v=!1,m=new Array(d),g=new Array(d);for(null==o&&(u=a(p=Er())),f=0;f<=d;++f){if(!(f<d&&i(h=s[f],f,s))===v)if(v=!v)c=f,u.areaStart(),u.lineStart();else{for(u.lineEnd(),u.lineStart(),l=f-1;l>=c;--l)u.point(m[l],g[l]);u.lineEnd(),u.areaEnd()}v&&(m[f]=+t(h,f,s),g[f]=+e(h,f,s),u.point(n?+n(h,f,s):m[f],r?+r(h,f,s):g[f]))}if(p)return u=null,p+""||null}function f(){return e_().defined(i).curve(a).context(o)}return s.x=function(e){return arguments.length?(t="function"==typeof e?e:Cy(+e),n=null,s):t},s.x0=function(n){return arguments.length?(t="function"==typeof n?n:Cy(+n),s):t},s.x1=function(t){return arguments.length?(n=null==t?null:"function"==typeof t?t:Cy(+t),s):n},s.y=function(t){return arguments.length?(e="function"==typeof t?t:Cy(+t),r=null,s):e},s.y0=function(t){return arguments.length?(e="function"==typeof t?t:Cy(+t),s):e},s.y1=function(t){return arguments.length?(r=null==t?null:"function"==typeof t?t:Cy(+t),s):r},s.lineX0=s.lineY0=function(){return f().x(t).y(e)},s.lineY1=function(){return f().x(t).y(r)},s.lineX1=function(){return f().x(n).y(e)},s.defined=function(t){return arguments.length?(i="function"==typeof t?t:Cy(!!t),s):i},s.curve=function(t){return arguments.length?(a=t,null!=o&&(u=a(o)),s):a},s.context=function(t){return arguments.length?(null==t?o=u=null:u=a(o=t),s):o},s},i_=function(t,n){return n<t?-1:n>t?1:n>=t?0:NaN},o_=function(t){return t},a_=function(){var t=o_,n=i_,e=null,r=Cy(0),i=Cy(Ly),o=Cy(0);function a(a){var u,s,f,c,l,h=a.length,p=0,d=new Array(h),v=new Array(h),m=+r.apply(this,arguments),g=Math.min(Ly,Math.max(-Ly,i.apply(this,arguments)-m)),y=Math.min(Math.abs(g)/h,o.apply(this,arguments)),_=y*(g<0?-1:1);for(u=0;u<h;++u)(l=v[d[u]=u]=+t(a[u],u,a))>0&&(p+=l);for(null!=n?d.sort((function(t,e){return n(v[t],v[e])})):null!=e&&d.sort((function(t,n){return e(a[t],a[n])})),u=0,f=p?(g-h*_)/p:0;u<h;++u,m=c)s=d[u],c=m+((l=v[s])>0?l*f:0)+_,v[s]={data:a[s],index:u,value:l,startAngle:m,endAngle:c,padAngle:y};return v}return a.value=function(n){return arguments.length?(t="function"==typeof n?n:Cy(+n),a):t},a.sortValues=function(t){return arguments.length?(n=t,e=null,a):n},a.sort=function(t){return arguments.length?(e=t,n=null,a):e},a.startAngle=function(t){return arguments.length?(r="function"==typeof t?t:Cy(+t),a):r},a.endAngle=function(t){return arguments.length?(i="function"==typeof t?t:Cy(+t),a):i},a.padAngle=function(t){return arguments.length?(o="function"==typeof t?t:Cy(+t),a):o},a},u_=f_(Jy);function s_(t){this._curve=t}function f_(t){function n(n){return new s_(t(n))}return n._curve=t,n}function c_(t){var n=t.curve;return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t.curve=function(t){return arguments.length?n(f_(t)):n()._curve},t}s_.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(t,n){this._curve.point(n*Math.sin(t),n*-Math.cos(t))}};var l_=function(){return c_(e_().curve(u_))},h_=function(){var t=r_().curve(u_),n=t.curve,e=t.lineX0,r=t.lineX1,i=t.lineY0,o=t.lineY1;return t.angle=t.x,delete t.x,t.startAngle=t.x0,delete t.x0,t.endAngle=t.x1,delete t.x1,t.radius=t.y,delete t.y,t.innerRadius=t.y0,delete t.y0,t.outerRadius=t.y1,delete t.y1,t.lineStartAngle=function(){return c_(e())},delete t.lineX0,t.lineEndAngle=function(){return c_(r())},delete t.lineX1,t.lineInnerRadius=function(){return c_(i())},delete t.lineY0,t.lineOuterRadius=function(){return c_(o())},delete t.lineY1,t.curve=function(t){return arguments.length?n(f_(t)):n()._curve},t},p_=function(t,n){return[(n=+n)*Math.cos(t-=Math.PI/2),n*Math.sin(t)]},d_=Array.prototype.slice;function v_(t){return t.source}function m_(t){return t.target}function g_(t){var n=v_,e=m_,r=t_,i=n_,o=null;function a(){var a,u=d_.call(arguments),s=n.apply(this,u),f=e.apply(this,u);if(o||(o=a=Er()),t(o,+r.apply(this,(u[0]=s,u)),+i.apply(this,u),+r.apply(this,(u[0]=f,u)),+i.apply(this,u)),a)return o=null,a+""||null}return a.source=function(t){return arguments.length?(n=t,a):n},a.target=function(t){return arguments.length?(e=t,a):e},a.x=function(t){return arguments.length?(r="function"==typeof t?t:Cy(+t),a):r},a.y=function(t){return arguments.length?(i="function"==typeof t?t:Cy(+t),a):i},a.context=function(t){return arguments.length?(o=null==t?null:t,a):o},a}function y_(t,n,e,r,i){t.moveTo(n,e),t.bezierCurveTo(n=(n+r)/2,e,n,i,r,i)}function __(t,n,e,r,i){t.moveTo(n,e),t.bezierCurveTo(n,e=(e+i)/2,r,e,r,i)}function b_(t,n,e,r,i){var o=p_(n,e),a=p_(n,e=(e+i)/2),u=p_(r,e),s=p_(r,i);t.moveTo(o[0],o[1]),t.bezierCurveTo(a[0],a[1],u[0],u[1],s[0],s[1])}function x_(){return g_(y_)}function w_(){return g_(__)}function M_(){var t=g_(b_);return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t}var k_={draw:function(t,n){var e=Math.sqrt(n/Fy);t.moveTo(e,0),t.arc(0,0,e,0,Ly)}},A_={draw:function(t,n){var e=Math.sqrt(n/5)/2;t.moveTo(-3*e,-e),t.lineTo(-e,-e),t.lineTo(-e,-3*e),t.lineTo(e,-3*e),t.lineTo(e,-e),t.lineTo(3*e,-e),t.lineTo(3*e,e),t.lineTo(e,e),t.lineTo(e,3*e),t.lineTo(-e,3*e),t.lineTo(-e,e),t.lineTo(-3*e,e),t.closePath()}},z_=Math.sqrt(1/3),E_=2*z_,S_={draw:function(t,n){var e=Math.sqrt(n/E_),r=e*z_;t.moveTo(0,-e),t.lineTo(r,0),t.lineTo(0,e),t.lineTo(-r,0),t.closePath()}},N_=Math.sin(Fy/10)/Math.sin(7*Fy/10),T_=Math.sin(Ly/10)*N_,C_=-Math.cos(Ly/10)*N_,j_={draw:function(t,n){var e=Math.sqrt(.8908130915292852*n),r=T_*e,i=C_*e;t.moveTo(0,-e),t.lineTo(r,i);for(var o=1;o<5;++o){var a=Ly*o/5,u=Math.cos(a),s=Math.sin(a);t.lineTo(s*e,-u*e),t.lineTo(u*r-s*i,s*r+u*i)}t.closePath()}},O_={draw:function(t,n){var e=Math.sqrt(n),r=-e/2;t.rect(r,r,e,e)}},P_=Math.sqrt(3),B_={draw:function(t,n){var e=-Math.sqrt(n/(3*P_));t.moveTo(0,2*e),t.lineTo(-P_*e,-e),t.lineTo(P_*e,-e),t.closePath()}},R_=Math.sqrt(3)/2,I_=1/Math.sqrt(12),D_=3*(I_/2+1),F_={draw:function(t,n){var e=Math.sqrt(n/D_),r=e/2,i=e*I_,o=r,a=e*I_+e,u=-o,s=a;t.moveTo(r,i),t.lineTo(o,a),t.lineTo(u,s),t.lineTo(-.5*r-R_*i,R_*r+-.5*i),t.lineTo(-.5*o-R_*a,R_*o+-.5*a),t.lineTo(-.5*u-R_*s,R_*u+-.5*s),t.lineTo(-.5*r+R_*i,-.5*i-R_*r),t.lineTo(-.5*o+R_*a,-.5*a-R_*o),t.lineTo(-.5*u+R_*s,-.5*s-R_*u),t.closePath()}},U_=[k_,A_,S_,O_,j_,B_,F_],L_=function(){var t=Cy(k_),n=Cy(64),e=null;function r(){var r;if(e||(e=r=Er()),t.apply(this,arguments).draw(e,+n.apply(this,arguments)),r)return e=null,r+""||null}return r.type=function(n){return arguments.length?(t="function"==typeof n?n:Cy(n),r):t},r.size=function(t){return arguments.length?(n="function"==typeof t?t:Cy(+t),r):n},r.context=function(t){return arguments.length?(e=null==t?null:t,r):e},r},q_=function(){};function H_(t,n,e){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+n)/6,(t._y0+4*t._y1+e)/6)}function Y_(t){this._context=t}Y_.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:H_(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:H_(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}};var V_=function(t){return new Y_(t)};function W_(t){this._context=t}W_.prototype={areaStart:q_,areaEnd:q_,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._x2=t,this._y2=n;break;case 1:this._point=2,this._x3=t,this._y3=n;break;case 2:this._point=3,this._x4=t,this._y4=n,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+n)/6);break;default:H_(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}};var X_=function(t){return new W_(t)};function G_(t){this._context=t}G_.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var e=(this._x0+4*this._x1+t)/6,r=(this._y0+4*this._y1+n)/6;this._line?this._context.lineTo(e,r):this._context.moveTo(e,r);break;case 3:this._point=4;default:H_(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}};var Z_=function(t){return new G_(t)};function $_(t,n){this._basis=new Y_(t),this._beta=n}$_.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,n=this._y,e=t.length-1;if(e>0)for(var r,i=t[0],o=n[0],a=t[e]-i,u=n[e]-o,s=-1;++s<=e;)r=s/e,this._basis.point(this._beta*t[s]+(1-this._beta)*(i+r*a),this._beta*n[s]+(1-this._beta)*(o+r*u));this._x=this._y=null,this._basis.lineEnd()},point:function(t,n){this._x.push(+t),this._y.push(+n)}};var Q_=function t(n){function e(t){return 1===n?new Y_(t):new $_(t,n)}return e.beta=function(n){return t(+n)},e}(.85);function K_(t,n,e){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-n),t._y2+t._k*(t._y1-e),t._x2,t._y2)}function J_(t,n){this._context=t,this._k=(1-n)/6}J_.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:K_(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2,this._x1=t,this._y1=n;break;case 2:this._point=3;default:K_(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var tb=function t(n){function e(t){return new J_(t,n)}return e.tension=function(n){return t(+n)},e}(0);function nb(t,n){this._context=t,this._k=(1-n)/6}nb.prototype={areaStart:q_,areaEnd:q_,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._x3=t,this._y3=n;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=n);break;case 2:this._point=3,this._x5=t,this._y5=n;break;default:K_(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var eb=function t(n){function e(t){return new nb(t,n)}return e.tension=function(n){return t(+n)},e}(0);function rb(t,n){this._context=t,this._k=(1-n)/6}rb.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:K_(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var ib=function t(n){function e(t){return new rb(t,n)}return e.tension=function(n){return t(+n)},e}(0);function ob(t,n,e){var r=t._x1,i=t._y1,o=t._x2,a=t._y2;if(t._l01_a>1e-12){var u=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,s=3*t._l01_a*(t._l01_a+t._l12_a);r=(r*u-t._x0*t._l12_2a+t._x2*t._l01_2a)/s,i=(i*u-t._y0*t._l12_2a+t._y2*t._l01_2a)/s}if(t._l23_a>1e-12){var f=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,c=3*t._l23_a*(t._l23_a+t._l12_a);o=(o*f+t._x1*t._l23_2a-n*t._l12_2a)/c,a=(a*f+t._y1*t._l23_2a-e*t._l12_2a)/c}t._context.bezierCurveTo(r,i,o,a,t._x2,t._y2)}function ab(t,n){this._context=t,this._alpha=n}ab.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){if(t=+t,n=+n,this._point){var e=this._x2-t,r=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;break;case 2:this._point=3;default:ob(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var ub=function t(n){function e(t){return n?new ab(t,n):new J_(t,0)}return e.alpha=function(n){return t(+n)},e}(.5);function sb(t,n){this._context=t,this._alpha=n}sb.prototype={areaStart:q_,areaEnd:q_,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,n){if(t=+t,n=+n,this._point){var e=this._x2-t,r=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=n;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=n);break;case 2:this._point=3,this._x5=t,this._y5=n;break;default:ob(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var fb=function t(n){function e(t){return n?new sb(t,n):new nb(t,0)}return e.alpha=function(n){return t(+n)},e}(.5);function cb(t,n){this._context=t,this._alpha=n}cb.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){if(t=+t,n=+n,this._point){var e=this._x2-t,r=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+r*r,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:ob(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var lb=function t(n){function e(t){return n?new cb(t,n):new rb(t,0)}return e.alpha=function(n){return t(+n)},e}(.5);function hb(t){this._context=t}hb.prototype={areaStart:q_,areaEnd:q_,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,n){t=+t,n=+n,this._point?this._context.lineTo(t,n):(this._point=1,this._context.moveTo(t,n))}};var pb=function(t){return new hb(t)};function db(t){return t<0?-1:1}function vb(t,n,e){var r=t._x1-t._x0,i=n-t._x1,o=(t._y1-t._y0)/(r||i<0&&-0),a=(e-t._y1)/(i||r<0&&-0),u=(o*i+a*r)/(r+i);return(db(o)+db(a))*Math.min(Math.abs(o),Math.abs(a),.5*Math.abs(u))||0}function mb(t,n){var e=t._x1-t._x0;return e?(3*(t._y1-t._y0)/e-n)/2:n}function gb(t,n,e){var r=t._x0,i=t._y0,o=t._x1,a=t._y1,u=(o-r)/3;t._context.bezierCurveTo(r+u,i+u*n,o-u,a-u*e,o,a)}function yb(t){this._context=t}function _b(t){this._context=new bb(t)}function bb(t){this._context=t}function xb(t){return new yb(t)}function wb(t){return new _b(t)}function Mb(t){this._context=t}function kb(t){var n,e,r=t.length-1,i=new Array(r),o=new Array(r),a=new Array(r);for(i[0]=0,o[0]=2,a[0]=t[0]+2*t[1],n=1;n<r-1;++n)i[n]=1,o[n]=4,a[n]=4*t[n]+2*t[n+1];for(i[r-1]=2,o[r-1]=7,a[r-1]=8*t[r-1]+t[r],n=1;n<r;++n)e=i[n]/o[n-1],o[n]-=e,a[n]-=e*a[n-1];for(i[r-1]=a[r-1]/o[r-1],n=r-2;n>=0;--n)i[n]=(a[n]-i[n+1])/o[n];for(o[r-1]=(t[r]+i[r-1])/2,n=0;n<r-1;++n)o[n]=2*t[n+1]-i[n+1];return[i,o]}yb.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:gb(this,this._t0,mb(this,this._t0))}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){var e=NaN;if(n=+n,(t=+t)!==this._x1||n!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;break;case 2:this._point=3,gb(this,mb(this,e=vb(this,t,n)),e);break;default:gb(this,this._t0,e=vb(this,t,n))}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n,this._t0=e}}},(_b.prototype=Object.create(yb.prototype)).point=function(t,n){yb.prototype.point.call(this,n,t)},bb.prototype={moveTo:function(t,n){this._context.moveTo(n,t)},closePath:function(){this._context.closePath()},lineTo:function(t,n){this._context.lineTo(n,t)},bezierCurveTo:function(t,n,e,r,i,o){this._context.bezierCurveTo(n,t,r,e,o,i)}},Mb.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,n=this._y,e=t.length;if(e)if(this._line?this._context.lineTo(t[0],n[0]):this._context.moveTo(t[0],n[0]),2===e)this._context.lineTo(t[1],n[1]);else for(var r=kb(t),i=kb(n),o=0,a=1;a<e;++o,++a)this._context.bezierCurveTo(r[0][o],i[0][o],r[1][o],i[1][o],t[a],n[a]);(this._line||0!==this._line&&1===e)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(t,n){this._x.push(+t),this._y.push(+n)}};var Ab=function(t){return new Mb(t)};function zb(t,n){this._context=t,this._t=n}zb.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&2===this._point&&this._context.lineTo(this._x,this._y),(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,n),this._context.lineTo(t,n);else{var e=this._x*(1-this._t)+t*this._t;this._context.lineTo(e,this._y),this._context.lineTo(e,n)}}this._x=t,this._y=n}};var Eb=function(t){return new zb(t,.5)};function Sb(t){return new zb(t,0)}function Nb(t){return new zb(t,1)}var Tb=function(t,n){if((i=t.length)>1)for(var e,r,i,o=1,a=t[n[0]],u=a.length;o<i;++o)for(r=a,a=t[n[o]],e=0;e<u;++e)a[e][1]+=a[e][0]=isNaN(r[e][1])?r[e][0]:r[e][1]},Cb=function(t){for(var n=t.length,e=new Array(n);--n>=0;)e[n]=n;return e};function jb(t,n){return t[n]}var Ob=function(){var t=Cy([]),n=Cb,e=Tb,r=jb;function i(i){var o,a,u=t.apply(this,arguments),s=i.length,f=u.length,c=new Array(f);for(o=0;o<f;++o){for(var l,h=u[o],p=c[o]=new Array(s),d=0;d<s;++d)p[d]=l=[0,+r(i[d],h,d,i)],l.data=i[d];p.key=h}for(o=0,a=n(c);o<f;++o)c[a[o]].index=o;return e(c,a),c}return i.keys=function(n){return arguments.length?(t="function"==typeof n?n:Cy(d_.call(n)),i):t},i.value=function(t){return arguments.length?(r="function"==typeof t?t:Cy(+t),i):r},i.order=function(t){return arguments.length?(n=null==t?Cb:"function"==typeof t?t:Cy(d_.call(t)),i):n},i.offset=function(t){return arguments.length?(e=null==t?Tb:t,i):e},i},Pb=function(t,n){if((r=t.length)>0){for(var e,r,i,o=0,a=t[0].length;o<a;++o){for(i=e=0;e<r;++e)i+=t[e][o][1]||0;if(i)for(e=0;e<r;++e)t[e][o][1]/=i}Tb(t,n)}},Bb=function(t,n){if((u=t.length)>0)for(var e,r,i,o,a,u,s=0,f=t[n[0]].length;s<f;++s)for(o=a=0,e=0;e<u;++e)(i=(r=t[n[e]][s])[1]-r[0])>0?(r[0]=o,r[1]=o+=i):i<0?(r[1]=a,r[0]=a+=i):(r[0]=0,r[1]=i)},Rb=function(t,n){if((e=t.length)>0){for(var e,r=0,i=t[n[0]],o=i.length;r<o;++r){for(var a=0,u=0;a<e;++a)u+=t[a][r][1]||0;i[r][1]+=i[r][0]=-u/2}Tb(t,n)}},Ib=function(t,n){if((i=t.length)>0&&(r=(e=t[n[0]]).length)>0){for(var e,r,i,o=0,a=1;a<r;++a){for(var u=0,s=0,f=0;u<i;++u){for(var c=t[n[u]],l=c[a][1]||0,h=(l-(c[a-1][1]||0))/2,p=0;p<u;++p){var d=t[n[p]];h+=(d[a][1]||0)-(d[a-1][1]||0)}s+=l,f+=h*l}e[a-1][1]+=e[a-1][0]=o,s&&(o-=f/s)}e[a-1][1]+=e[a-1][0]=o,Tb(t,n)}},Db=function(t){var n=t.map(Fb);return Cb(t).sort((function(t,e){return n[t]-n[e]}))};function Fb(t){for(var n,e=-1,r=0,i=t.length,o=-1/0;++e<i;)(n=+t[e][1])>o&&(o=n,r=e);return r}var Ub=function(t){var n=t.map(Lb);return Cb(t).sort((function(t,e){return n[t]-n[e]}))};function Lb(t){for(var n,e=0,r=-1,i=t.length;++r<i;)(n=+t[r][1])&&(e+=n);return e}var qb=function(t){return Ub(t).reverse()},Hb=function(t){var n,e,r=t.length,i=t.map(Lb),o=Db(t),a=0,u=0,s=[],f=[];for(n=0;n<r;++n)e=o[n],a<u?(a+=i[e],s.push(e)):(u+=i[e],f.push(e));return f.reverse().concat(s)},Yb=function(t){return Cb(t).reverse()};var Vb=Date.prototype.toISOString?function(t){return t.toISOString()}:vv("%Y-%m-%dT%H:%M:%S.%LZ");var Wb=+new Date("2000-01-01T00:00:00.000Z")?function(t){var n=new Date(t);return isNaN(n)?null:n}:mv("%Y-%m-%dT%H:%M:%S.%LZ"),Xb=function(t,n,e){var r=new Sn,i=n;return null==n?(r.restart(t,n,e),r):(n=+n,e=null==e?zn():+e,r.restart((function o(a){a+=i,r.restart(o,i+=n,e),t(a)}),n,e),r)},Gb=function(t){return function(){return t}};function Zb(t){return t[0]}function $b(t){return t[1]}function Qb(){this._=null}function Kb(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function Jb(t,n){var e=n,r=n.R,i=e.U;i?i.L===e?i.L=r:i.R=r:t._=r,r.U=i,e.U=r,e.R=r.L,e.R&&(e.R.U=e),r.L=e}function tx(t,n){var e=n,r=n.L,i=e.U;i?i.L===e?i.L=r:i.R=r:t._=r,r.U=i,e.U=r,e.L=r.R,e.L&&(e.L.U=e),r.R=e}function nx(t){for(;t.L;)t=t.L;return t}Qb.prototype={constructor:Qb,insert:function(t,n){var e,r,i;if(t){if(n.P=t,n.N=t.N,t.N&&(t.N.P=n),t.N=n,t.R){for(t=t.R;t.L;)t=t.L;t.L=n}else t.R=n;e=t}else this._?(t=nx(this._),n.P=null,n.N=t,t.P=t.L=n,e=t):(n.P=n.N=null,this._=n,e=null);for(n.L=n.R=null,n.U=e,n.C=!0,t=n;e&&e.C;)e===(r=e.U).L?(i=r.R)&&i.C?(e.C=i.C=!1,r.C=!0,t=r):(t===e.R&&(Jb(this,e),e=(t=e).U),e.C=!1,r.C=!0,tx(this,r)):(i=r.L)&&i.C?(e.C=i.C=!1,r.C=!0,t=r):(t===e.L&&(tx(this,e),e=(t=e).U),e.C=!1,r.C=!0,Jb(this,r)),e=t.U;this._.C=!1},remove:function(t){t.N&&(t.N.P=t.P),t.P&&(t.P.N=t.N),t.N=t.P=null;var n,e,r,i=t.U,o=t.L,a=t.R;if(e=o?a?nx(a):o:a,i?i.L===t?i.L=e:i.R=e:this._=e,o&&a?(r=e.C,e.C=t.C,e.L=o,o.U=e,e!==a?(i=e.U,e.U=t.U,t=e.R,i.L=t,e.R=a,a.U=e):(e.U=i,i=e,t=e.R)):(r=t.C,t=e),t&&(t.U=i),!r)if(t&&t.C)t.C=!1;else{do{if(t===this._)break;if(t===i.L){if((n=i.R).C&&(n.C=!1,i.C=!0,Jb(this,i),n=i.R),n.L&&n.L.C||n.R&&n.R.C){n.R&&n.R.C||(n.L.C=!1,n.C=!0,tx(this,n),n=i.R),n.C=i.C,i.C=n.R.C=!1,Jb(this,i),t=this._;break}}else if((n=i.L).C&&(n.C=!1,i.C=!0,tx(this,i),n=i.L),n.L&&n.L.C||n.R&&n.R.C){n.L&&n.L.C||(n.R.C=!1,n.C=!0,Jb(this,n),n=i.L),n.C=i.C,i.C=n.L.C=!1,tx(this,i),t=this._;break}n.C=!0,t=i,i=i.U}while(!t.C);t&&(t.C=!1)}}};var ex=Qb;function rx(t,n,e,r){var i=[null,null],o=Ex.push(i)-1;return i.left=t,i.right=n,e&&ox(i,t,n,e),r&&ox(i,n,t,r),Ax[t.index].halfedges.push(o),Ax[n.index].halfedges.push(o),i}function ix(t,n,e){var r=[n,e];return r.left=t,r}function ox(t,n,e,r){t[0]||t[1]?t.left===e?t[1]=r:t[0]=r:(t[0]=r,t.left=n,t.right=e)}function ax(t,n,e,r,i){var o,a=t[0],u=t[1],s=a[0],f=a[1],c=0,l=1,h=u[0]-s,p=u[1]-f;if(o=n-s,h||!(o>0)){if(o/=h,h<0){if(o<c)return;o<l&&(l=o)}else if(h>0){if(o>l)return;o>c&&(c=o)}if(o=r-s,h||!(o<0)){if(o/=h,h<0){if(o>l)return;o>c&&(c=o)}else if(h>0){if(o<c)return;o<l&&(l=o)}if(o=e-f,p||!(o>0)){if(o/=p,p<0){if(o<c)return;o<l&&(l=o)}else if(p>0){if(o>l)return;o>c&&(c=o)}if(o=i-f,p||!(o<0)){if(o/=p,p<0){if(o>l)return;o>c&&(c=o)}else if(p>0){if(o<c)return;o<l&&(l=o)}return!(c>0||l<1)||(c>0&&(t[0]=[s+c*h,f+c*p]),l<1&&(t[1]=[s+l*h,f+l*p]),!0)}}}}}function ux(t,n,e,r,i){var o=t[1];if(o)return!0;var a,u,s=t[0],f=t.left,c=t.right,l=f[0],h=f[1],p=c[0],d=c[1],v=(l+p)/2,m=(h+d)/2;if(d===h){if(v<n||v>=r)return;if(l>p){if(s){if(s[1]>=i)return}else s=[v,e];o=[v,i]}else{if(s){if(s[1]<e)return}else s=[v,i];o=[v,e]}}else if(u=m-(a=(l-p)/(d-h))*v,a<-1||a>1)if(l>p){if(s){if(s[1]>=i)return}else s=[(e-u)/a,e];o=[(i-u)/a,i]}else{if(s){if(s[1]<e)return}else s=[(i-u)/a,i];o=[(e-u)/a,e]}else if(h<d){if(s){if(s[0]>=r)return}else s=[n,a*n+u];o=[r,a*r+u]}else{if(s){if(s[0]<n)return}else s=[r,a*r+u];o=[n,a*n+u]}return t[0]=s,t[1]=o,!0}function sx(t,n){var e=t.site,r=n.left,i=n.right;return e===i&&(i=r,r=e),i?Math.atan2(i[1]-r[1],i[0]-r[0]):(e===r?(r=n[1],i=n[0]):(r=n[0],i=n[1]),Math.atan2(r[0]-i[0],i[1]-r[1]))}function fx(t,n){return n[+(n.left!==t.site)]}function cx(t,n){return n[+(n.left===t.site)]}var lx,hx=[];function px(){Kb(this),this.x=this.y=this.arc=this.site=this.cy=null}function dx(t){var n=t.P,e=t.N;if(n&&e){var r=n.site,i=t.site,o=e.site;if(r!==o){var a=i[0],u=i[1],s=r[0]-a,f=r[1]-u,c=o[0]-a,l=o[1]-u,h=2*(s*l-f*c);if(!(h>=-Nx)){var p=s*s+f*f,d=c*c+l*l,v=(l*p-f*d)/h,m=(s*d-c*p)/h,g=hx.pop()||new px;g.arc=t,g.site=i,g.x=v+a,g.y=(g.cy=m+u)+Math.sqrt(v*v+m*m),t.circle=g;for(var y=null,_=zx._;_;)if(g.y<_.y||g.y===_.y&&g.x<=_.x){if(!_.L){y=_.P;break}_=_.L}else{if(!_.R){y=_;break}_=_.R}zx.insert(y,g),y||(lx=g)}}}}function vx(t){var n=t.circle;n&&(n.P||(lx=n.N),zx.remove(n),hx.push(n),Kb(n),t.circle=null)}var mx=[];function gx(){Kb(this),this.edge=this.site=this.circle=null}function yx(t){var n=mx.pop()||new gx;return n.site=t,n}function _x(t){vx(t),kx.remove(t),mx.push(t),Kb(t)}function bx(t){var n=t.circle,e=n.x,r=n.cy,i=[e,r],o=t.P,a=t.N,u=[t];_x(t);for(var s=o;s.circle&&Math.abs(e-s.circle.x)<Sx&&Math.abs(r-s.circle.cy)<Sx;)o=s.P,u.unshift(s),_x(s),s=o;u.unshift(s),vx(s);for(var f=a;f.circle&&Math.abs(e-f.circle.x)<Sx&&Math.abs(r-f.circle.cy)<Sx;)a=f.N,u.push(f),_x(f),f=a;u.push(f),vx(f);var c,l=u.length;for(c=1;c<l;++c)f=u[c],s=u[c-1],ox(f.edge,s.site,f.site,i);s=u[0],(f=u[l-1]).edge=rx(s.site,f.site,null,i),dx(s),dx(f)}function xx(t){for(var n,e,r,i,o=t[0],a=t[1],u=kx._;u;)if((r=wx(u,a)-o)>Sx)u=u.L;else{if(!((i=o-Mx(u,a))>Sx)){r>-Sx?(n=u.P,e=u):i>-Sx?(n=u,e=u.N):n=e=u;break}if(!u.R){n=u;break}u=u.R}!function(t){Ax[t.index]={site:t,halfedges:[]}}(t);var s=yx(t);if(kx.insert(n,s),n||e){if(n===e)return vx(n),e=yx(n.site),kx.insert(s,e),s.edge=e.edge=rx(n.site,s.site),dx(n),void dx(e);if(e){vx(n),vx(e);var f=n.site,c=f[0],l=f[1],h=t[0]-c,p=t[1]-l,d=e.site,v=d[0]-c,m=d[1]-l,g=2*(h*m-p*v),y=h*h+p*p,_=v*v+m*m,b=[(m*y-p*_)/g+c,(h*_-v*y)/g+l];ox(e.edge,f,d,b),s.edge=rx(f,t,null,b),e.edge=rx(t,d,null,b),dx(n),dx(e)}else s.edge=rx(n.site,s.site)}}function wx(t,n){var e=t.site,r=e[0],i=e[1],o=i-n;if(!o)return r;var a=t.P;if(!a)return-1/0;var u=(e=a.site)[0],s=e[1],f=s-n;if(!f)return u;var c=u-r,l=1/o-1/f,h=c/f;return l?(-h+Math.sqrt(h*h-2*l*(c*c/(-2*f)-s+f/2+i-o/2)))/l+r:(r+u)/2}function Mx(t,n){var e=t.N;if(e)return wx(e,n);var r=t.site;return r[1]===n?r[0]:1/0}var kx,Ax,zx,Ex,Sx=1e-6,Nx=1e-12;function Tx(t,n){return n[1]-t[1]||n[0]-t[0]}function Cx(t,n){var e,r,i,o=t.sort(Tx).pop();for(Ex=[],Ax=new Array(t.length),kx=new ex,zx=new ex;;)if(i=lx,o&&(!i||o[1]<i.y||o[1]===i.y&&o[0]<i.x))o[0]===e&&o[1]===r||(xx(o),e=o[0],r=o[1]),o=t.pop();else{if(!i)break;bx(i.arc)}if(function(){for(var t,n,e,r,i=0,o=Ax.length;i<o;++i)if((t=Ax[i])&&(r=(n=t.halfedges).length)){var a=new Array(r),u=new Array(r);for(e=0;e<r;++e)a[e]=e,u[e]=sx(t,Ex[n[e]]);for(a.sort((function(t,n){return u[n]-u[t]})),e=0;e<r;++e)u[e]=n[a[e]];for(e=0;e<r;++e)n[e]=u[e]}}(),n){var a=+n[0][0],u=+n[0][1],s=+n[1][0],f=+n[1][1];!function(t,n,e,r){for(var i,o=Ex.length;o--;)ux(i=Ex[o],t,n,e,r)&&ax(i,t,n,e,r)&&(Math.abs(i[0][0]-i[1][0])>Sx||Math.abs(i[0][1]-i[1][1])>Sx)||delete Ex[o]}(a,u,s,f),function(t,n,e,r){var i,o,a,u,s,f,c,l,h,p,d,v,m=Ax.length,g=!0;for(i=0;i<m;++i)if(o=Ax[i]){for(a=o.site,u=(s=o.halfedges).length;u--;)Ex[s[u]]||s.splice(u,1);for(u=0,f=s.length;u<f;)d=(p=cx(o,Ex[s[u]]))[0],v=p[1],l=(c=fx(o,Ex[s[++u%f]]))[0],h=c[1],(Math.abs(d-l)>Sx||Math.abs(v-h)>Sx)&&(s.splice(u,0,Ex.push(ix(a,p,Math.abs(d-t)<Sx&&r-v>Sx?[t,Math.abs(l-t)<Sx?h:r]:Math.abs(v-r)<Sx&&e-d>Sx?[Math.abs(h-r)<Sx?l:e,r]:Math.abs(d-e)<Sx&&v-n>Sx?[e,Math.abs(l-e)<Sx?h:n]:Math.abs(v-n)<Sx&&d-t>Sx?[Math.abs(h-n)<Sx?l:t,n]:null))-1),++f);f&&(g=!1)}if(g){var y,_,b,x=1/0;for(i=0,g=null;i<m;++i)(o=Ax[i])&&(b=(y=(a=o.site)[0]-t)*y+(_=a[1]-n)*_)<x&&(x=b,g=o);if(g){var w=[t,n],M=[t,r],k=[e,r],A=[e,n];g.halfedges.push(Ex.push(ix(a=g.site,w,M))-1,Ex.push(ix(a,M,k))-1,Ex.push(ix(a,k,A))-1,Ex.push(ix(a,A,w))-1)}}for(i=0;i<m;++i)(o=Ax[i])&&(o.halfedges.length||delete Ax[i])}(a,u,s,f)}this.edges=Ex,this.cells=Ax,kx=zx=Ex=Ax=null}Cx.prototype={constructor:Cx,polygons:function(){var t=this.edges;return this.cells.map((function(n){var e=n.halfedges.map((function(e){return fx(n,t[e])}));return e.data=n.site.data,e}))},triangles:function(){var t=[],n=this.edges;return this.cells.forEach((function(e,r){if(o=(i=e.halfedges).length)for(var i,o,a,u,s,f,c=e.site,l=-1,h=n[i[o-1]],p=h.left===c?h.right:h.left;++l<o;)a=p,p=(h=n[i[l]]).left===c?h.right:h.left,a&&p&&r<a.index&&r<p.index&&(s=a,f=p,((u=c)[0]-f[0])*(s[1]-u[1])-(u[0]-s[0])*(f[1]-u[1])<0)&&t.push([c.data,a.data,p.data])})),t},links:function(){return this.edges.filter((function(t){return t.right})).map((function(t){return{source:t.left.data,target:t.right.data}}))},find:function(t,n,e){for(var r,i,o=this,a=o._found||0,u=o.cells.length;!(i=o.cells[a]);)if(++a>=u)return null;var s=t-i.site[0],f=n-i.site[1],c=s*s+f*f;do{i=o.cells[r=a],a=null,i.halfedges.forEach((function(e){var r=o.edges[e],u=r.left;if(u!==i.site&&u||(u=r.right)){var s=t-u[0],f=n-u[1],l=s*s+f*f;l<c&&(c=l,a=u.index)}}))}while(null!==a);return o._found=r,null==e||c<=e*e?i.site:null}};var jx=function(){var t=Zb,n=$b,e=null;function r(r){return new Cx(r.map((function(e,i){var o=[Math.round(t(e,i,r)/Sx)*Sx,Math.round(n(e,i,r)/Sx)*Sx];return o.index=i,o.data=e,o})),e)}return r.polygons=function(t){return r(t).polygons()},r.links=function(t){return r(t).links()},r.triangles=function(t){return r(t).triangles()},r.x=function(n){return arguments.length?(t="function"==typeof n?n:Gb(+n),r):t},r.y=function(t){return arguments.length?(n="function"==typeof t?t:Gb(+t),r):n},r.extent=function(t){return arguments.length?(e=null==t?null:[[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]],r):e&&[[e[0][0],e[0][1]],[e[1][0],e[1][1]]]},r.size=function(t){return arguments.length?(e=null==t?null:[[0,0],[+t[0],+t[1]]],r):e&&[e[1][0]-e[0][0],e[1][1]-e[0][1]]},r},Ox=function(t){return function(){return t}};function Px(t,n,e){this.target=t,this.type=n,this.transform=e}function Bx(t,n,e){this.k=t,this.x=n,this.y=e}Bx.prototype={constructor:Bx,scale:function(t){return 1===t?this:new Bx(this.k*t,this.x,this.y)},translate:function(t,n){return 0===t&0===n?this:new Bx(this.k,this.x+this.k*t,this.y+this.k*n)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Rx=new Bx(1,0,0);function Ix(t){for(;!t.__zoom;)if(!(t=t.parentNode))return Rx;return t.__zoom}function Dx(){lt.e.stopImmediatePropagation()}Ix.prototype=Bx.prototype;var Fx=function(){lt.e.preventDefault(),lt.e.stopImmediatePropagation()};function Ux(){return!lt.e.ctrlKey&&!lt.e.button}function Lx(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t).hasAttribute("viewBox")?[[(t=t.viewBox.baseVal).x,t.y],[t.x+t.width,t.y+t.height]]:[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]:[[0,0],[t.clientWidth,t.clientHeight]]}function qx(){return this.__zoom||Rx}function Hx(){return-lt.e.deltaY*(1===lt.e.deltaMode?.05:lt.e.deltaMode?1:.002)}function Yx(){return navigator.maxTouchPoints||"ontouchstart"in this}function Vx(t,n,e){var r=t.invertX(n[0][0])-e[0][0],i=t.invertX(n[1][0])-e[1][0],o=t.invertY(n[0][1])-e[0][1],a=t.invertY(n[1][1])-e[1][1];return t.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),a>o?(o+a)/2:Math.min(0,o)||Math.max(0,a))}var Wx=function(){var t,n,e=Ux,r=Lx,i=Vx,o=Hx,a=Yx,u=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],f=250,c=Ih,l=ct("start","zoom","end"),h=0;function p(t){t.property("__zoom",qx).on("wheel.zoom",b).on("mousedown.zoom",x).on("dblclick.zoom",w).filter(a).on("touchstart.zoom",M).on("touchmove.zoom",k).on("touchend.zoom touchcancel.zoom",A).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function d(t,n){return(n=Math.max(u[0],Math.min(u[1],n)))===t.k?t:new Bx(n,t.x,t.y)}function v(t,n,e){var r=n[0]-e[0]*t.k,i=n[1]-e[1]*t.k;return r===t.x&&i===t.y?t:new Bx(t.k,r,i)}function m(t){return[(+t[0][0]+ +t[1][0])/2,(+t[0][1]+ +t[1][1])/2]}function g(t,n,e){t.on("start.zoom",(function(){y(this,arguments).start()})).on("interrupt.zoom end.zoom",(function(){y(this,arguments).end()})).tween("zoom",(function(){var t=this,i=arguments,o=y(t,i),a=r.apply(t,i),u=null==e?m(a):"function"==typeof e?e.apply(t,i):e,s=Math.max(a[1][0]-a[0][0],a[1][1]-a[0][1]),f=t.__zoom,l="function"==typeof n?n.apply(t,i):n,h=c(f.invert(u).concat(s/f.k),l.invert(u).concat(s/l.k));return function(t){if(1===t)t=l;else{var n=h(t),e=s/n[2];t=new Bx(e,u[0]-n[0]*e,u[1]-n[1]*e)}o.zoom(null,t)}}))}function y(t,n,e){return!e&&t.__zooming||new _(t,n)}function _(t,n){this.that=t,this.args=n,this.active=0,this.extent=r.apply(t,n),this.taps=0}function b(){if(e.apply(this,arguments)){var t=y(this,arguments),n=this.__zoom,r=Math.max(u[0],Math.min(u[1],n.k*Math.pow(2,o.apply(this,arguments)))),a=Object(lt.h)(this);if(t.wheel)t.mouse[0][0]===a[0]&&t.mouse[0][1]===a[1]||(t.mouse[1]=n.invert(t.mouse[0]=a)),clearTimeout(t.wheel);else{if(n.k===r)return;t.mouse=[a,n.invert(a)],Vn(this),t.start()}Fx(),t.wheel=setTimeout(f,150),t.zoom("mouse",i(v(d(n,r),t.mouse[0],t.mouse[1]),t.extent,s))}function f(){t.wheel=null,t.end()}}function x(){if(!n&&e.apply(this,arguments)){var t=y(this,arguments,!0),r=Object(lt.k)(lt.e.view).on("mousemove.zoom",f,!0).on("mouseup.zoom",c,!0),o=Object(lt.h)(this),a=lt.e.clientX,u=lt.e.clientY;dt(lt.e.view),Dx(),t.mouse=[o,this.__zoom.invert(o)],Vn(this),t.start()}function f(){if(Fx(),!t.moved){var n=lt.e.clientX-a,e=lt.e.clientY-u;t.moved=n*n+e*e>h}t.zoom("mouse",i(v(t.that.__zoom,t.mouse[0]=Object(lt.h)(t.that),t.mouse[1]),t.extent,s))}function c(){r.on("mousemove.zoom mouseup.zoom",null),vt(lt.e.view,t.moved),Fx(),t.end()}}function w(){if(e.apply(this,arguments)){var t=this.__zoom,n=Object(lt.h)(this),o=t.invert(n),a=t.k*(lt.e.shiftKey?.5:2),u=i(v(d(t,a),n,o),r.apply(this,arguments),s);Fx(),f>0?Object(lt.k)(this).transition().duration(f).call(g,u,n):Object(lt.k)(this).call(p.transform,u)}}function M(){if(e.apply(this,arguments)){var n,r,i,o,a=lt.e.touches,u=a.length,s=y(this,arguments,lt.e.changedTouches.length===u);for(Dx(),r=0;r<u;++r)i=a[r],o=[o=Object(lt.q)(this,a,i.identifier),this.__zoom.invert(o),i.identifier],s.touch0?s.touch1||s.touch0[2]===o[2]||(s.touch1=o,s.taps=0):(s.touch0=o,n=!0,s.taps=1+!!t);t&&(t=clearTimeout(t)),n&&(s.taps<2&&(t=setTimeout((function(){t=null}),500)),Vn(this),s.start())}}function k(){if(this.__zooming){var n,e,r,o,a=y(this,arguments),u=lt.e.changedTouches,f=u.length;for(Fx(),t&&(t=clearTimeout(t)),a.taps=0,n=0;n<f;++n)e=u[n],r=Object(lt.q)(this,u,e.identifier),a.touch0&&a.touch0[2]===e.identifier?a.touch0[0]=r:a.touch1&&a.touch1[2]===e.identifier&&(a.touch1[0]=r);if(e=a.that.__zoom,a.touch1){var c=a.touch0[0],l=a.touch0[1],h=a.touch1[0],p=a.touch1[1],m=(m=h[0]-c[0])*m+(m=h[1]-c[1])*m,g=(g=p[0]-l[0])*g+(g=p[1]-l[1])*g;e=d(e,Math.sqrt(m/g)),r=[(c[0]+h[0])/2,(c[1]+h[1])/2],o=[(l[0]+p[0])/2,(l[1]+p[1])/2]}else{if(!a.touch0)return;r=a.touch0[0],o=a.touch0[1]}a.zoom("touch",i(v(e,r,o),a.extent,s))}}function A(){if(this.__zooming){var t,e,r=y(this,arguments),i=lt.e.changedTouches,o=i.length;for(Dx(),n&&clearTimeout(n),n=setTimeout((function(){n=null}),500),t=0;t<o;++t)e=i[t],r.touch0&&r.touch0[2]===e.identifier?delete r.touch0:r.touch1&&r.touch1[2]===e.identifier&&delete r.touch1;if(r.touch1&&!r.touch0&&(r.touch0=r.touch1,delete r.touch1),r.touch0)r.touch0[1]=this.__zoom.invert(r.touch0[0]);else if(r.end(),2===r.taps){var a=Object(lt.k)(this).on("dblclick.zoom");a&&a.apply(this,arguments)}}}return p.transform=function(t,n,e){var r=t.selection?t.selection():t;r.property("__zoom",qx),t!==r?g(t,n,e):r.interrupt().each((function(){y(this,arguments).start().zoom(null,"function"==typeof n?n.apply(this,arguments):n).end()}))},p.scaleBy=function(t,n,e){p.scaleTo(t,(function(){var t=this.__zoom.k,e="function"==typeof n?n.apply(this,arguments):n;return t*e}),e)},p.scaleTo=function(t,n,e){p.transform(t,(function(){var t=r.apply(this,arguments),o=this.__zoom,a=null==e?m(t):"function"==typeof e?e.apply(this,arguments):e,u=o.invert(a),f="function"==typeof n?n.apply(this,arguments):n;return i(v(d(o,f),a,u),t,s)}),e)},p.translateBy=function(t,n,e){p.transform(t,(function(){return i(this.__zoom.translate("function"==typeof n?n.apply(this,arguments):n,"function"==typeof e?e.apply(this,arguments):e),r.apply(this,arguments),s)}))},p.translateTo=function(t,n,e,o){p.transform(t,(function(){var t=r.apply(this,arguments),a=this.__zoom,u=null==o?m(t):"function"==typeof o?o.apply(this,arguments):o;return i(Rx.translate(u[0],u[1]).scale(a.k).translate("function"==typeof n?-n.apply(this,arguments):-n,"function"==typeof e?-e.apply(this,arguments):-e),t,s)}),o)},_.prototype={start:function(){return 1==++this.active&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(t,n){return this.mouse&&"mouse"!==t&&(this.mouse[1]=n.invert(this.mouse[0])),this.touch0&&"touch"!==t&&(this.touch0[1]=n.invert(this.touch0[0])),this.touch1&&"touch"!==t&&(this.touch1[1]=n.invert(this.touch1[0])),this.that.__zoom=n,this.emit("zoom"),this},end:function(){return 0==--this.active&&(delete this.that.__zooming,this.emit("end")),this},emit:function(t){Object(lt.d)(new Px(p,t,this.that.__zoom),l.apply,l,[t,this.that,this.args])}},p.wheelDelta=function(t){return arguments.length?(o="function"==typeof t?t:Ox(+t),p):o},p.filter=function(t){return arguments.length?(e="function"==typeof t?t:Ox(!!t),p):e},p.touchable=function(t){return arguments.length?(a="function"==typeof t?t:Ox(!!t),p):a},p.extent=function(t){return arguments.length?(r="function"==typeof t?t:Ox([[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]]),p):r},p.scaleExtent=function(t){return arguments.length?(u[0]=+t[0],u[1]=+t[1],p):[u[0],u[1]]},p.translateExtent=function(t){return arguments.length?(s[0][0]=+t[0][0],s[1][0]=+t[1][0],s[0][1]=+t[0][1],s[1][1]=+t[1][1],p):[[s[0][0],s[0][1]],[s[1][0],s[1][1]]]},p.constrain=function(t){return arguments.length?(i=t,p):i},p.duration=function(t){return arguments.length?(f=+t,p):f},p.interpolate=function(t){return arguments.length?(c=t,p):c},p.on=function(){var t=l.on.apply(l,arguments);return t===l?p:t},p.clickDistance=function(t){return arguments.length?(h=(t=+t)*t,p):Math.sqrt(h)},p};e.d(n,"version",(function(){return"5.15.0"})),e.d(n,"bisect",(function(){return s})),e.d(n,"bisectRight",(function(){return a})),e.d(n,"bisectLeft",(function(){return u})),e.d(n,"ascending",(function(){return r})),e.d(n,"bisector",(function(){return i})),e.d(n,"cross",(function(){return l})),e.d(n,"descending",(function(){return h})),e.d(n,"deviation",(function(){return v})),e.d(n,"extent",(function(){return m})),e.d(n,"histogram",(function(){return T})),e.d(n,"thresholdFreedmanDiaconis",(function(){return j})),e.d(n,"thresholdScott",(function(){return O})),e.d(n,"thresholdSturges",(function(){return N})),e.d(n,"max",(function(){return P})),e.d(n,"mean",(function(){return B})),e.d(n,"median",(function(){return R})),e.d(n,"merge",(function(){return I})),e.d(n,"min",(function(){return D})),e.d(n,"pairs",(function(){return f})),e.d(n,"permute",(function(){return F})),e.d(n,"quantile",(function(){return C})),e.d(n,"range",(function(){return w})),e.d(n,"scan",(function(){return U})),e.d(n,"shuffle",(function(){return L})),e.d(n,"sum",(function(){return q})),e.d(n,"ticks",(function(){return z})),e.d(n,"tickIncrement",(function(){return E})),e.d(n,"tickStep",(function(){return S})),e.d(n,"transpose",(function(){return H})),e.d(n,"variance",(function(){return d})),e.d(n,"zip",(function(){return V})),e.d(n,"axisTop",(function(){return tt})),e.d(n,"axisRight",(function(){return nt})),e.d(n,"axisBottom",(function(){return et})),e.d(n,"axisLeft",(function(){return rt})),e.d(n,"brush",(function(){return cr})),e.d(n,"brushX",(function(){return sr})),e.d(n,"brushY",(function(){return fr})),e.d(n,"brushSelection",(function(){return ur})),e.d(n,"chord",(function(){return _r})),e.d(n,"ribbon",(function(){return Or})),e.d(n,"nest",(function(){return Pr.d})),e.d(n,"set",(function(){return Pr.e})),e.d(n,"map",(function(){return Pr.c})),e.d(n,"keys",(function(){return Pr.b})),e.d(n,"values",(function(){return Pr.f})),e.d(n,"entries",(function(){return Pr.a})),e.d(n,"color",(function(){return jt})),e.d(n,"rgb",(function(){return Rt})),e.d(n,"hsl",(function(){return Ht})),e.d(n,"lab",(function(){return Fr})),e.d(n,"hcl",(function(){return Xr})),e.d(n,"lch",(function(){return Wr})),e.d(n,"gray",(function(){return Dr})),e.d(n,"cubehelix",(function(){return ni})),e.d(n,"contours",(function(){return li})),e.d(n,"contourDensity",(function(){return gi})),e.d(n,"dispatch",(function(){return ct})),e.d(n,"drag",(function(){return ki})),e.d(n,"dragDisable",(function(){return dt})),e.d(n,"dragEnable",(function(){return vt})),e.d(n,"dsvFormat",(function(){return Ci})),e.d(n,"csvParse",(function(){return Oi})),e.d(n,"csvParseRows",(function(){return Pi})),e.d(n,"csvFormat",(function(){return Bi})),e.d(n,"csvFormatBody",(function(){return Ri})),e.d(n,"csvFormatRows",(function(){return Ii})),e.d(n,"csvFormatRow",(function(){return Di})),e.d(n,"csvFormatValue",(function(){return Fi})),e.d(n,"tsvParse",(function(){return Li})),e.d(n,"tsvParseRows",(function(){return qi})),e.d(n,"tsvFormat",(function(){return Hi})),e.d(n,"tsvFormatBody",(function(){return Yi})),e.d(n,"tsvFormatRows",(function(){return Vi})),e.d(n,"tsvFormatRow",(function(){return Wi})),e.d(n,"tsvFormatValue",(function(){return Xi})),e.d(n,"autoType",(function(){return Gi})),e.d(n,"easeLinear",(function(){return $i})),e.d(n,"easeQuad",(function(){return Ji})),e.d(n,"easeQuadIn",(function(){return Qi})),e.d(n,"easeQuadOut",(function(){return Ki})),e.d(n,"easeQuadInOut",(function(){return Ji})),e.d(n,"easeCubic",(function(){return Ce})),e.d(n,"easeCubicIn",(function(){return Ne})),e.d(n,"easeCubicOut",(function(){return Te})),e.d(n,"easeCubicInOut",(function(){return Ce})),e.d(n,"easePoly",(function(){return eo})),e.d(n,"easePolyIn",(function(){return to})),e.d(n,"easePolyOut",(function(){return no})),e.d(n,"easePolyInOut",(function(){return eo})),e.d(n,"easeSin",(function(){return uo})),e.d(n,"easeSinIn",(function(){return oo})),e.d(n,"easeSinOut",(function(){return ao})),e.d(n,"easeSinInOut",(function(){return uo})),e.d(n,"easeExp",(function(){return co})),e.d(n,"easeExpIn",(function(){return so})),e.d(n,"easeExpOut",(function(){return fo})),e.d(n,"easeExpInOut",(function(){return co})),e.d(n,"easeCircle",(function(){return po})),e.d(n,"easeCircleIn",(function(){return lo})),e.d(n,"easeCircleOut",(function(){return ho})),e.d(n,"easeCircleInOut",(function(){return po})),e.d(n,"easeBounce",(function(){return mo})),e.d(n,"easeBounceIn",(function(){return vo})),e.d(n,"easeBounceOut",(function(){return mo})),e.d(n,"easeBounceInOut",(function(){return go})),e.d(n,"easeBack",(function(){return bo})),e.d(n,"easeBackIn",(function(){return yo})),e.d(n,"easeBackOut",(function(){return _o})),e.d(n,"easeBackInOut",(function(){return bo})),e.d(n,"easeElastic",(function(){return Mo})),e.d(n,"easeElasticIn",(function(){return wo})),e.d(n,"easeElasticOut",(function(){return Mo})),e.d(n,"easeElasticInOut",(function(){return ko})),e.d(n,"blob",(function(){return zo})),e.d(n,"buffer",(function(){return So})),e.d(n,"dsv",(function(){return jo})),e.d(n,"csv",(function(){return Oo})),e.d(n,"tsv",(function(){return Po})),e.d(n,"image",(function(){return Bo})),e.d(n,"json",(function(){return Io})),e.d(n,"text",(function(){return To})),e.d(n,"xml",(function(){return Fo})),e.d(n,"html",(function(){return Uo})),e.d(n,"svg",(function(){return Lo})),e.d(n,"forceCenter",(function(){return qo})),e.d(n,"forceCollide",(function(){return na})),e.d(n,"forceLink",(function(){return ia})),e.d(n,"forceManyBody",(function(){return fa})),e.d(n,"forceRadial",(function(){return ca})),e.d(n,"forceSimulation",(function(){return sa})),e.d(n,"forceX",(function(){return la})),e.d(n,"forceY",(function(){return ha})),e.d(n,"formatDefaultLocale",(function(){return Sa})),e.d(n,"format",(function(){return ba})),e.d(n,"formatPrefix",(function(){return xa})),e.d(n,"formatLocale",(function(){return Ea})),e.d(n,"formatSpecifier",(function(){return ma})),e.d(n,"FormatSpecifier",(function(){return ga})),e.d(n,"precisionFixed",(function(){return Na})),e.d(n,"precisionPrefix",(function(){return Ta})),e.d(n,"precisionRound",(function(){return Ca})),e.d(n,"geoArea",(function(){return wu})),e.d(n,"geoBounds",(function(){return ds})),e.d(n,"geoCentroid",(function(){return zs})),e.d(n,"geoCircle",(function(){return Is})),e.d(n,"geoClipAntimeridian",(function(){return Zs})),e.d(n,"geoClipCircle",(function(){return $s})),e.d(n,"geoClipExtent",(function(){return nf})),e.d(n,"geoClipRectangle",(function(){return Qs})),e.d(n,"geoContains",(function(){return bf})),e.d(n,"geoDistance",(function(){return lf})),e.d(n,"geoGraticule",(function(){return Mf})),e.d(n,"geoGraticule10",(function(){return kf})),e.d(n,"geoInterpolate",(function(){return Nf})),e.d(n,"geoLength",(function(){return sf})),e.d(n,"geoPath",(function(){return Ec})),e.d(n,"geoAlbers",(function(){return Wc})),e.d(n,"geoAlbersUsa",(function(){return Xc})),e.d(n,"geoAzimuthalEqualArea",(function(){return Qc})),e.d(n,"geoAzimuthalEqualAreaRaw",(function(){return $c})),e.d(n,"geoAzimuthalEquidistant",(function(){return Jc})),e.d(n,"geoAzimuthalEquidistantRaw",(function(){return Kc})),e.d(n,"geoConicConformal",(function(){return ol})),e.d(n,"geoConicConformalRaw",(function(){return il})),e.d(n,"geoConicEqualArea",(function(){return Vc})),e.d(n,"geoConicEqualAreaRaw",(function(){return Yc})),e.d(n,"geoConicEquidistant",(function(){return fl})),e.d(n,"geoConicEquidistantRaw",(function(){return sl})),e.d(n,"geoEqualEarth",(function(){return ml})),e.d(n,"geoEqualEarthRaw",(function(){return vl})),e.d(n,"geoEquirectangular",(function(){return ul})),e.d(n,"geoEquirectangularRaw",(function(){return al})),e.d(n,"geoGnomonic",(function(){return yl})),e.d(n,"geoGnomonicRaw",(function(){return gl})),e.d(n,"geoIdentity",(function(){return bl})),e.d(n,"geoProjection",(function(){return Lc})),e.d(n,"geoProjectionMutator",(function(){return qc})),e.d(n,"geoMercator",(function(){return nl})),e.d(n,"geoMercatorRaw",(function(){return tl})),e.d(n,"geoNaturalEarth1",(function(){return wl})),e.d(n,"geoNaturalEarth1Raw",(function(){return xl})),e.d(n,"geoOrthographic",(function(){return kl})),e.d(n,"geoOrthographicRaw",(function(){return Ml})),e.d(n,"geoStereographic",(function(){return zl})),e.d(n,"geoStereographicRaw",(function(){return Al})),e.d(n,"geoTransverseMercator",(function(){return Sl})),e.d(n,"geoTransverseMercatorRaw",(function(){return El})),e.d(n,"geoRotation",(function(){return Ps})),e.d(n,"geoStream",(function(){return du})),e.d(n,"geoTransform",(function(){return Sc})),e.d(n,"cluster",(function(){return jl})),e.d(n,"hierarchy",(function(){return Pl})),e.d(n,"pack",(function(){return oh})),e.d(n,"packSiblings",(function(){return Jl})),e.d(n,"packEnclose",(function(){return Ul})),e.d(n,"partition",(function(){return lh})),e.d(n,"stratify",(function(){return mh})),e.d(n,"tree",(function(){return Mh})),e.d(n,"treemap",(function(){return Sh})),e.d(n,"treemapBinary",(function(){return Nh})),e.d(n,"treemapDice",(function(){return ch})),e.d(n,"treemapSlice",(function(){return kh})),e.d(n,"treemapSliceDice",(function(){return Th})),e.d(n,"treemapSquarify",(function(){return Eh})),e.d(n,"treemapResquarify",(function(){return Ch})),e.d(n,"interpolate",(function(){return gn})),e.d(n,"interpolateArray",(function(){return un})),e.d(n,"interpolateBasis",(function(){return Xt})),e.d(n,"interpolateBasisClosed",(function(){return Gt})),e.d(n,"interpolateDate",(function(){return fn})),e.d(n,"interpolateDiscrete",(function(){return jh})),e.d(n,"interpolateHue",(function(){return Oh})),e.d(n,"interpolateNumber",(function(){return cn})),e.d(n,"interpolateNumberArray",(function(){return on})),e.d(n,"interpolateObject",(function(){return ln})),e.d(n,"interpolateRound",(function(){return Ph})),e.d(n,"interpolateString",(function(){return mn})),e.d(n,"interpolateTransformCss",(function(){return $n})),e.d(n,"interpolateTransformSvg",(function(){return Qn})),e.d(n,"interpolateZoom",(function(){return Ih})),e.d(n,"interpolateRgb",(function(){return tn})),e.d(n,"interpolateRgbBasis",(function(){return en})),e.d(n,"interpolateRgbBasisClosed",(function(){return rn})),e.d(n,"interpolateHsl",(function(){return Fh})),e.d(n,"interpolateHslLong",(function(){return Uh})),e.d(n,"interpolateLab",(function(){return Lh})),e.d(n,"interpolateHcl",(function(){return Hh})),e.d(n,"interpolateHclLong",(function(){return Yh})),e.d(n,"interpolateCubehelix",(function(){return Wh})),e.d(n,"interpolateCubehelixLong",(function(){return Xh})),e.d(n,"piecewise",(function(){return Gh})),e.d(n,"quantize",(function(){return Zh})),e.d(n,"path",(function(){return Er})),e.d(n,"polygonArea",(function(){return $h})),e.d(n,"polygonCentroid",(function(){return Qh})),e.d(n,"polygonHull",(function(){return tp})),e.d(n,"polygonContains",(function(){return np})),e.d(n,"polygonLength",(function(){return ep})),e.d(n,"quadtree",(function(){return Zo})),e.d(n,"randomUniform",(function(){return ip})),e.d(n,"randomNormal",(function(){return op})),e.d(n,"randomLogNormal",(function(){return ap})),e.d(n,"randomBates",(function(){return sp})),e.d(n,"randomIrwinHall",(function(){return up})),e.d(n,"randomExponential",(function(){return fp})),e.d(n,"scaleBand",(function(){return gp})),e.d(n,"scalePoint",(function(){return _p})),e.d(n,"scaleIdentity",(function(){return Op})),e.d(n,"scaleLinear",(function(){return jp})),e.d(n,"scaleLog",(function(){return qp})),e.d(n,"scaleSymlog",(function(){return Wp})),e.d(n,"scaleOrdinal",(function(){return mp})),e.d(n,"scaleImplicit",(function(){return vp})),e.d(n,"scalePow",(function(){return Qp})),e.d(n,"scaleSqrt",(function(){return Kp})),e.d(n,"scaleQuantile",(function(){return Jp})),e.d(n,"scaleQuantize",(function(){return td})),e.d(n,"scaleThreshold",(function(){return nd})),e.d(n,"scaleTime",(function(){return jm})),e.d(n,"scaleUtc",(function(){return qm})),e.d(n,"scaleSequential",(function(){return Vm})),e.d(n,"scaleSequentialLog",(function(){return Wm})),e.d(n,"scaleSequentialPow",(function(){return Gm})),e.d(n,"scaleSequentialSqrt",(function(){return Zm})),e.d(n,"scaleSequentialSymlog",(function(){return Xm})),e.d(n,"scaleSequentialQuantile",(function(){return $m})),e.d(n,"scaleDiverging",(function(){return Km})),e.d(n,"scaleDivergingLog",(function(){return Jm})),e.d(n,"scaleDivergingPow",(function(){return ng})),e.d(n,"scaleDivergingSqrt",(function(){return eg})),e.d(n,"scaleDivergingSymlog",(function(){return tg})),e.d(n,"tickFormat",(function(){return Tp})),e.d(n,"schemeCategory10",(function(){return ig})),e.d(n,"schemeAccent",(function(){return og})),e.d(n,"schemeDark2",(function(){return ag})),e.d(n,"schemePaired",(function(){return ug})),e.d(n,"schemePastel1",(function(){return sg})),e.d(n,"schemePastel2",(function(){return fg})),e.d(n,"schemeSet1",(function(){return cg})),e.d(n,"schemeSet2",(function(){return lg})),e.d(n,"schemeSet3",(function(){return hg})),e.d(n,"schemeTableau10",(function(){return pg})),e.d(n,"interpolateBrBG",(function(){return mg})),e.d(n,"schemeBrBG",(function(){return vg})),e.d(n,"interpolatePRGn",(function(){return yg})),e.d(n,"schemePRGn",(function(){return gg})),e.d(n,"interpolatePiYG",(function(){return bg})),e.d(n,"schemePiYG",(function(){return _g})),e.d(n,"interpolatePuOr",(function(){return wg})),e.d(n,"schemePuOr",(function(){return xg})),e.d(n,"interpolateRdBu",(function(){return kg})),e.d(n,"schemeRdBu",(function(){return Mg})),e.d(n,"interpolateRdGy",(function(){return zg})),e.d(n,"schemeRdGy",(function(){return Ag})),e.d(n,"interpolateRdYlBu",(function(){return Sg})),e.d(n,"schemeRdYlBu",(function(){return Eg})),e.d(n,"interpolateRdYlGn",(function(){return Tg})),e.d(n,"schemeRdYlGn",(function(){return Ng})),e.d(n,"interpolateSpectral",(function(){return jg})),e.d(n,"schemeSpectral",(function(){return Cg})),e.d(n,"interpolateBuGn",(function(){return Pg})),e.d(n,"schemeBuGn",(function(){return Og})),e.d(n,"interpolateBuPu",(function(){return Rg})),e.d(n,"schemeBuPu",(function(){return Bg})),e.d(n,"interpolateGnBu",(function(){return Dg})),e.d(n,"schemeGnBu",(function(){return Ig})),e.d(n,"interpolateOrRd",(function(){return Ug})),e.d(n,"schemeOrRd",(function(){return Fg})),e.d(n,"interpolatePuBuGn",(function(){return qg})),e.d(n,"schemePuBuGn",(function(){return Lg})),e.d(n,"interpolatePuBu",(function(){return Yg})),e.d(n,"schemePuBu",(function(){return Hg})),e.d(n,"interpolatePuRd",(function(){return Wg})),e.d(n,"schemePuRd",(function(){return Vg})),e.d(n,"interpolateRdPu",(function(){return Gg})),e.d(n,"schemeRdPu",(function(){return Xg})),e.d(n,"interpolateYlGnBu",(function(){return $g})),e.d(n,"schemeYlGnBu",(function(){return Zg})),e.d(n,"interpolateYlGn",(function(){return Kg})),e.d(n,"schemeYlGn",(function(){return Qg})),e.d(n,"interpolateYlOrBr",(function(){return ty})),e.d(n,"schemeYlOrBr",(function(){return Jg})),e.d(n,"interpolateYlOrRd",(function(){return ey})),e.d(n,"schemeYlOrRd",(function(){return ny})),e.d(n,"interpolateBlues",(function(){return iy})),e.d(n,"schemeBlues",(function(){return ry})),e.d(n,"interpolateGreens",(function(){return ay})),e.d(n,"schemeGreens",(function(){return oy})),e.d(n,"interpolateGreys",(function(){return sy})),e.d(n,"schemeGreys",(function(){return uy})),e.d(n,"interpolatePurples",(function(){return cy})),e.d(n,"schemePurples",(function(){return fy})),e.d(n,"interpolateReds",(function(){return hy})),e.d(n,"schemeReds",(function(){return ly})),e.d(n,"interpolateOranges",(function(){return dy})),e.d(n,"schemeOranges",(function(){return py})),e.d(n,"interpolateCividis",(function(){return vy})),e.d(n,"interpolateCubehelixDefault",(function(){return my})),e.d(n,"interpolateRainbow",(function(){return by})),e.d(n,"interpolateWarm",(function(){return gy})),e.d(n,"interpolateCool",(function(){return yy})),e.d(n,"interpolateSinebow",(function(){return ky})),e.d(n,"interpolateTurbo",(function(){return Ay})),e.d(n,"interpolateViridis",(function(){return Ey})),e.d(n,"interpolateMagma",(function(){return Sy})),e.d(n,"interpolateInferno",(function(){return Ny})),e.d(n,"interpolatePlasma",(function(){return Ty})),e.d(n,"create",(function(){return lt.b})),e.d(n,"creator",(function(){return lt.c})),e.d(n,"local",(function(){return lt.f})),e.d(n,"matcher",(function(){return lt.g})),e.d(n,"mouse",(function(){return lt.h})),e.d(n,"namespace",(function(){return lt.i})),e.d(n,"namespaces",(function(){return lt.j})),e.d(n,"clientPoint",(function(){return lt.a})),e.d(n,"select",(function(){return lt.k})),e.d(n,"selectAll",(function(){return lt.l})),e.d(n,"selection",(function(){return lt.m})),e.d(n,"selector",(function(){return lt.n})),e.d(n,"selectorAll",(function(){return lt.o})),e.d(n,"style",(function(){return lt.p})),e.d(n,"touch",(function(){return lt.q})),e.d(n,"touches",(function(){return lt.r})),e.d(n,"window",(function(){return lt.s})),e.d(n,"event",(function(){return lt.e})),e.d(n,"customEvent",(function(){return lt.d})),e.d(n,"arc",(function(){return Qy})),e.d(n,"area",(function(){return r_})),e.d(n,"line",(function(){return e_})),e.d(n,"pie",(function(){return a_})),e.d(n,"areaRadial",(function(){return h_})),e.d(n,"radialArea",(function(){return h_})),e.d(n,"lineRadial",(function(){return l_})),e.d(n,"radialLine",(function(){return l_})),e.d(n,"pointRadial",(function(){return p_})),e.d(n,"linkHorizontal",(function(){return x_})),e.d(n,"linkVertical",(function(){return w_})),e.d(n,"linkRadial",(function(){return M_})),e.d(n,"symbol",(function(){return L_})),e.d(n,"symbols",(function(){return U_})),e.d(n,"symbolCircle",(function(){return k_})),e.d(n,"symbolCross",(function(){return A_})),e.d(n,"symbolDiamond",(function(){return S_})),e.d(n,"symbolSquare",(function(){return O_})),e.d(n,"symbolStar",(function(){return j_})),e.d(n,"symbolTriangle",(function(){return B_})),e.d(n,"symbolWye",(function(){return F_})),e.d(n,"curveBasisClosed",(function(){return X_})),e.d(n,"curveBasisOpen",(function(){return Z_})),e.d(n,"curveBasis",(function(){return V_})),e.d(n,"curveBundle",(function(){return Q_})),e.d(n,"curveCardinalClosed",(function(){return eb})),e.d(n,"curveCardinalOpen",(function(){return ib})),e.d(n,"curveCardinal",(function(){return tb})),e.d(n,"curveCatmullRomClosed",(function(){return fb})),e.d(n,"curveCatmullRomOpen",(function(){return lb})),e.d(n,"curveCatmullRom",(function(){return ub})),e.d(n,"curveLinearClosed",(function(){return pb})),e.d(n,"curveLinear",(function(){return Jy})),e.d(n,"curveMonotoneX",(function(){return xb})),e.d(n,"curveMonotoneY",(function(){return wb})),e.d(n,"curveNatural",(function(){return Ab})),e.d(n,"curveStep",(function(){return Eb})),e.d(n,"curveStepAfter",(function(){return Nb})),e.d(n,"curveStepBefore",(function(){return Sb})),e.d(n,"stack",(function(){return Ob})),e.d(n,"stackOffsetExpand",(function(){return Pb})),e.d(n,"stackOffsetDiverging",(function(){return Bb})),e.d(n,"stackOffsetNone",(function(){return Tb})),e.d(n,"stackOffsetSilhouette",(function(){return Rb})),e.d(n,"stackOffsetWiggle",(function(){return Ib})),e.d(n,"stackOrderAppearance",(function(){return Db})),e.d(n,"stackOrderAscending",(function(){return Ub})),e.d(n,"stackOrderDescending",(function(){return qb})),e.d(n,"stackOrderInsideOut",(function(){return Hb})),e.d(n,"stackOrderNone",(function(){return Cb})),e.d(n,"stackOrderReverse",(function(){return Yb})),e.d(n,"timeInterval",(function(){return id})),e.d(n,"timeMillisecond",(function(){return Fd})),e.d(n,"timeMilliseconds",(function(){return Ud})),e.d(n,"utcMillisecond",(function(){return Fd})),e.d(n,"utcMilliseconds",(function(){return Ud})),e.d(n,"timeSecond",(function(){return Rd})),e.d(n,"timeSeconds",(function(){return Id})),e.d(n,"utcSecond",(function(){return Rd})),e.d(n,"utcSeconds",(function(){return Id})),e.d(n,"timeMinute",(function(){return Od})),e.d(n,"timeMinutes",(function(){return Pd})),e.d(n,"timeHour",(function(){return Td})),e.d(n,"timeHours",(function(){return Cd})),e.d(n,"timeDay",(function(){return Ed})),e.d(n,"timeDays",(function(){return Sd})),e.d(n,"timeWeek",(function(){return hd})),e.d(n,"timeWeeks",(function(){return _d})),e.d(n,"timeSunday",(function(){return hd})),e.d(n,"timeSundays",(function(){return _d})),e.d(n,"timeMonday",(function(){return pd})),e.d(n,"timeMondays",(function(){return bd})),e.d(n,"timeTuesday",(function(){return dd})),e.d(n,"timeTuesdays",(function(){return xd})),e.d(n,"timeWednesday",(function(){return vd})),e.d(n,"timeWednesdays",(function(){return wd})),e.d(n,"timeThursday",(function(){return md})),e.d(n,"timeThursdays",(function(){return Md})),e.d(n,"timeFriday",(function(){return gd})),e.d(n,"timeFridays",(function(){return kd})),e.d(n,"timeSaturday",(function(){return yd})),e.d(n,"timeSaturdays",(function(){return Ad})),e.d(n,"timeMonth",(function(){return fd})),e.d(n,"timeMonths",(function(){return cd})),e.d(n,"timeYear",(function(){return ad})),e.d(n,"timeYears",(function(){return ud})),e.d(n,"utcMinute",(function(){return Um})),e.d(n,"utcMinutes",(function(){return Lm})),e.d(n,"utcHour",(function(){return Im})),e.d(n,"utcHours",(function(){return Dm})),e.d(n,"utcDay",(function(){return rv})),e.d(n,"utcDays",(function(){return iv})),e.d(n,"utcWeek",(function(){return qd})),e.d(n,"utcWeeks",(function(){return Zd})),e.d(n,"utcSunday",(function(){return qd})),e.d(n,"utcSundays",(function(){return Zd})),e.d(n,"utcMonday",(function(){return Hd})),e.d(n,"utcMondays",(function(){return $d})),e.d(n,"utcTuesday",(function(){return Yd})),e.d(n,"utcTuesdays",(function(){return Qd})),e.d(n,"utcWednesday",(function(){return Vd})),e.d(n,"utcWednesdays",(function(){return Kd})),e.d(n,"utcThursday",(function(){return Wd})),e.d(n,"utcThursdays",(function(){return Jd})),e.d(n,"utcFriday",(function(){return Xd})),e.d(n,"utcFridays",(function(){return tv})),e.d(n,"utcSaturday",(function(){return Gd})),e.d(n,"utcSaturdays",(function(){return nv})),e.d(n,"utcMonth",(function(){return Pm})),e.d(n,"utcMonths",(function(){return Bm})),e.d(n,"utcYear",(function(){return av})),e.d(n,"utcYears",(function(){return uv})),e.d(n,"timeFormatDefaultLocale",(function(){return Sm})),e.d(n,"timeFormat",(function(){return pv})),e.d(n,"timeParse",(function(){return dv})),e.d(n,"utcFormat",(function(){return vv})),e.d(n,"utcParse",(function(){return mv})),e.d(n,"timeFormatLocale",(function(){return lv})),e.d(n,"isoFormat",(function(){return Vb})),e.d(n,"isoParse",(function(){return Wb})),e.d(n,"now",(function(){return zn})),e.d(n,"timer",(function(){return Nn})),e.d(n,"timerFlush",(function(){return Tn})),e.d(n,"timeout",(function(){return Pn})),e.d(n,"interval",(function(){return Xb})),e.d(n,"transition",(function(){return ze})),e.d(n,"active",(function(){return Be})),e.d(n,"interrupt",(function(){return Vn})),e.d(n,"voronoi",(function(){return jx})),e.d(n,"zoom",(function(){return Wx})),e.d(n,"zoomTransform",(function(){return Ix})),e.d(n,"zoomIdentity",(function(){return Rx}))},function(t,n,e){"use strict";var r=e(43),i=e(111),o=Object.prototype.toString;function a(t){return"[object Array]"===o.call(t)}function u(t){return null!==t&&"object"==typeof t}function s(t){return"[object Function]"===o.call(t)}function f(t,n){if(null!=t)if("object"!=typeof t&&(t=[t]),a(t))for(var e=0,r=t.length;e<r;e++)n.call(null,t[e],e,t);else for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&n.call(null,t[i],i,t)}t.exports={isArray:a,isArrayBuffer:function(t){return"[object ArrayBuffer]"===o.call(t)},isBuffer:i,isFormData:function(t){return"undefined"!=typeof FormData&&t instanceof FormData},isArrayBufferView:function(t){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&t.buffer instanceof ArrayBuffer},isString:function(t){return"string"==typeof t},isNumber:function(t){return"number"==typeof t},isObject:u,isUndefined:function(t){return void 0===t},isDate:function(t){return"[object Date]"===o.call(t)},isFile:function(t){return"[object File]"===o.call(t)},isBlob:function(t){return"[object Blob]"===o.call(t)},isFunction:s,isStream:function(t){return u(t)&&s(t.pipe)},isURLSearchParams:function(t){return"undefined"!=typeof URLSearchParams&&t instanceof URLSearchParams},isStandardBrowserEnv:function(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!=typeof window&&"undefined"!=typeof document)},forEach:f,merge:function t(){var n={};function e(e,r){"object"==typeof n[r]&&"object"==typeof e?n[r]=t(n[r],e):n[r]=e}for(var r=0,i=arguments.length;r<i;r++)f(arguments[r],e);return n},deepMerge:function t(){var n={};function e(e,r){"object"==typeof n[r]&&"object"==typeof e?n[r]=t(n[r],e):n[r]="object"==typeof e?t({},e):e}for(var r=0,i=arguments.length;r<i;r++)f(arguments[r],e);return n},extend:function(t,n,e){return f(n,(function(n,i){t[i]=e&&"function"==typeof n?r(n,e):n})),t},trim:function(t){return t.replace(/^\s*/,"").replace(/\s*$/,"")}}},function(t,n,e){"use strict";var r=e(37);n.clone=function t(e){var i=typeof e;if("number"===i||"string"===i||"boolean"===i||null==e)return e;if("function"==typeof e.clone)return e.clone();if(Array.isArray(e))return e.map((function(n){return t(n)}));if(e instanceof Number)return new Number(e.valueOf());if(e instanceof String)return new String(e.valueOf());if(e instanceof Boolean)return new Boolean(e.valueOf());if(e instanceof Date)return new Date(e.valueOf());if(r(e))return e;if(e instanceof RegExp)throw new TypeError("Cannot clone "+e);return n.map(e,t)},n.map=function(t,e){var r={};for(var i in t)n.hasOwnProperty(t,i)&&(r[i]=e(t[i]));return r},n.extend=function(t,e){for(var r in e)n.hasOwnProperty(e,r)&&(t[r]=e[r]);return t},n.deepExtend=function t(e,r){if(Array.isArray(r))throw new TypeError("Arrays are not supported by deepExtend");for(var i in r)if(n.hasOwnProperty(r,i))if(r[i]&&r[i].constructor===Object)void 0===e[i]&&(e[i]={}),e[i].constructor===Object?t(e[i],r[i]):e[i]=r[i];else{if(Array.isArray(r[i]))throw new TypeError("Arrays are not supported by deepExtend");e[i]=r[i]}return e},n.deepEqual=function(t,e){var r,i,o;if(Array.isArray(t)){if(!Array.isArray(e))return!1;if(t.length!=e.length)return!1;for(i=0,o=t.length;i<o;i++)if(!n.deepEqual(t[i],e[i]))return!1;return!0}if(t instanceof Object){if(Array.isArray(e)||!(e instanceof Object))return!1;for(r in t)if(!n.deepEqual(t[r],e[r]))return!1;for(r in e)if(!n.deepEqual(t[r],e[r]))return!1;return!0}return typeof t==typeof e&&t==e},n.canDefineProperty=function(){try{if(Object.defineProperty)return Object.defineProperty({},"x",{get:function(){}}),!0}catch(t){}return!1},n.lazy=function(t,e,r){if(n.canDefineProperty()){var i,o=!0;Object.defineProperty(t,e,{get:function(){return o&&(i=r(),o=!1),i},set:function(t){i=t,o=!1},configurable:!0,enumerable:!0})}else t[e]=r()},n.traverse=function(t,n){var e=t;if(n)for(var r=n.split("."),i=0;i<r.length;i++){var o=r[i];o in e||(e[o]={}),e=e[o]}return e},n.hasOwnProperty=function(t,n){return t&&Object.hasOwnProperty.call(t,n)},n.isFactory=function(t){return t&&"function"==typeof t.factory}},function(t,n,e){"use strict";function r(t){for(var n=[],e=0;e<t;e++)n.push(0);return n}n.isNumber=function(t){return"number"==typeof t},n.isInteger=function(t){return!!isFinite(t)&&t==Math.round(t)},n.sign=Math.sign||function(t){return t>0?1:t<0?-1:0},n.format=function(t,e){if("function"==typeof e)return e(t);if(t===1/0)return"Infinity";if(t===-1/0)return"-Infinity";if(isNaN(t))return"NaN";var r="auto",i=void 0;switch(e&&(e.notation&&(r=e.notation),n.isNumber(e)?i=e:e.precision&&(i=e.precision)),r){case"fixed":return n.toFixed(t,i);case"exponential":return n.toExponential(t,i);case"engineering":return n.toEngineering(t,i);case"auto":return n.toPrecision(t,i,e&&e.exponential).replace(/((\.\d*?)(0+))($|e)/,(function(){var t=arguments[2],n=arguments[4];return"."!==t?t+n:n}));default:throw new Error('Unknown notation "'+r+'". Choose "auto", "exponential", or "fixed".')}},n.splitNumber=function(t){var n=String(t).toLowerCase().match(/^0*?(-?)(\d+\.?\d*)(e([+-]?\d+))?$/);if(!n)throw new SyntaxError("Invalid number "+t);var e=n[1],r=n[2],i=parseFloat(n[4]||"0"),o=r.indexOf(".");i+=-1!==o?o-1:r.length-1;var a=r.replace(".","").replace(/^0*/,(function(t){return i-=t.length,""})).replace(/0*$/,"").split("").map((function(t){return parseInt(t)}));return 0===a.length&&(a.push(0),i++),{sign:e,coefficients:a,exponent:i}},n.toEngineering=function(t,e){if(isNaN(t)||!isFinite(t))return String(t);var i=n.roundDigits(n.splitNumber(t),e),o=i.exponent,a=i.coefficients,u=o%3==0?o:o<0?o-3-o%3:o-o%3,s=o>=0?o:Math.abs(u);a.length-1<s&&(a=a.concat(r(s-(a.length-1))));for(var f=Math.abs(o-u),c=1;--f>=0;)c++;var l=a.slice(c).join(""),h=l.match(/[1-9]/)?"."+l:"",p=a.slice(0,c).join("")+h+"e"+(o>=0?"+":"")+u.toString();return i.sign+p},n.toFixed=function(t,e){if(isNaN(t)||!isFinite(t))return String(t);var i=n.splitNumber(t),o=n.roundDigits(i,i.exponent+1+(e||0)),a=o.coefficients,u=o.exponent+1,s=u+(e||0);return a.length<s&&(a=a.concat(r(s-a.length))),u<0&&(a=r(1-u).concat(a),u=1),e&&a.splice(u,0,0===u?"0.":"."),o.sign+a.join("")},n.toExponential=function(t,e){if(isNaN(t)||!isFinite(t))return String(t);var i=n.splitNumber(t),o=e?n.roundDigits(i,e):i,a=o.coefficients,u=o.exponent;a.length<e&&(a=a.concat(r(e-a.length)));var s=a.shift();return o.sign+s+(a.length>0?"."+a.join(""):"")+"e"+(u>=0?"+":"")+u},n.toPrecision=function(t,e,i){if(isNaN(t)||!isFinite(t))return String(t);var o=i&&void 0!==i.lower?i.lower:.001,a=i&&void 0!==i.upper?i.upper:1e5,u=n.splitNumber(t),s=Math.abs(Math.pow(10,u.exponent));if(s<o||s>=a)return n.toExponential(t,e);var f=e?n.roundDigits(u,e):u,c=f.coefficients,l=f.exponent;c.length<e&&(c=c.concat(r(e-c.length))),c=c.concat(r(l-c.length+1+(c.length<e?e-c.length:0)));var h=l>0?l:0;return h<(c=r(-l).concat(c)).length-1&&c.splice(h+1,0,"."),f.sign+c.join("")},n.roundDigits=function(t,n){for(var e={sign:t.sign,coefficients:t.coefficients,exponent:t.exponent},r=e.coefficients;n<=0;)r.unshift(0),e.exponent++,n++;if(r.length>n&&r.splice(n,r.length-n)[0]>=5){var i=n-1;for(r[i]++;10===r[i];)r.pop(),0===i&&(r.unshift(0),e.exponent++,i++),r[--i]++}return e},n.digits=function(t){return t.toExponential().replace(/e.*$/,"").replace(/^0\.?0*|\./,"").length},n.DBL_EPSILON=Number.EPSILON||2220446049250313e-31,n.nearlyEqual=function(t,e,r){if(null==r)return t==e;if(t==e)return!0;if(isNaN(t)||isNaN(e))return!1;if(isFinite(t)&&isFinite(e)){var i=Math.abs(t-e);return i<n.DBL_EPSILON||i<=Math.max(Math.abs(t),Math.abs(e))*r}return!1}},function(t,n,e){"use strict";function r(){}function i(t,n){var e=new r;if(t instanceof r)t.each((function(t,n){e.set(n,t)}));else if(Array.isArray(t)){var i,o=-1,a=t.length;if(null==n)for(;++o<a;)e.set(o,t[o]);else for(;++o<a;)e.set(n(i=t[o],o,t),i)}else if(t)for(var u in t)e.set(u,t[u]);return e}r.prototype=i.prototype={constructor:r,has:function(t){return"$"+t in this},get:function(t){return this["$"+t]},set:function(t,n){return this["$"+t]=n,this},remove:function(t){var n="$"+t;return n in this&&delete this[n]},clear:function(){for(var t in this)"$"===t[0]&&delete this[t]},keys:function(){var t=[];for(var n in this)"$"===n[0]&&t.push(n.slice(1));return t},values:function(){var t=[];for(var n in this)"$"===n[0]&&t.push(this[n]);return t},entries:function(){var t=[];for(var n in this)"$"===n[0]&&t.push({key:n.slice(1),value:this[n]});return t},size:function(){var t=0;for(var n in this)"$"===n[0]&&++t;return t},empty:function(){for(var t in this)if("$"===t[0])return!1;return!0},each:function(t){for(var n in this)"$"===n[0]&&t(this[n],n.slice(1),this)}};var o=i,a=function(){var t,n,e,r=[],i=[];function a(e,i,u,s){if(i>=r.length)return null!=t&&e.sort(t),null!=n?n(e):e;for(var f,c,l,h=-1,p=e.length,d=r[i++],v=o(),m=u();++h<p;)(l=v.get(f=d(c=e[h])+""))?l.push(c):v.set(f,[c]);return v.each((function(t,n){s(m,n,a(t,i,u,s))})),m}return e={object:function(t){return a(t,0,u,s)},map:function(t){return a(t,0,f,c)},entries:function(t){return function t(e,o){if(++o>r.length)return e;var a,u=i[o-1];return null!=n&&o>=r.length?a=e.entries():(a=[],e.each((function(n,e){a.push({key:e,values:t(n,o)})}))),null!=u?a.sort((function(t,n){return u(t.key,n.key)})):a}(a(t,0,f,c),0)},key:function(t){return r.push(t),e},sortKeys:function(t){return i[r.length-1]=t,e},sortValues:function(n){return t=n,e},rollup:function(t){return n=t,e}}};function u(){return{}}function s(t,n,e){t[n]=e}function f(){return o()}function c(t,n,e){t.set(n,e)}function l(){}var h=o.prototype;function p(t,n){var e=new l;if(t instanceof l)t.each((function(t){e.add(t)}));else if(t){var r=-1,i=t.length;if(null==n)for(;++r<i;)e.add(t[r]);else for(;++r<i;)e.add(n(t[r],r,t))}return e}l.prototype=p.prototype={constructor:l,has:h.has,add:function(t){return this["$"+(t+="")]=t,this},remove:h.remove,clear:h.clear,values:h.keys,size:h.size,empty:h.empty,each:h.each};var d=p,v=function(t){var n=[];for(var e in t)n.push(e);return n},m=function(t){var n=[];for(var e in t)n.push(t[e]);return n},g=function(t){var n=[];for(var e in t)n.push({key:e,value:t[e]});return n};e.d(n,"d",(function(){return a})),e.d(n,"e",(function(){return d})),e.d(n,"c",(function(){return o})),e.d(n,"b",(function(){return v})),e.d(n,"f",(function(){return m})),e.d(n,"a",(function(){return g}))},function(t,n,e){"use strict";function r(t,n,e){if(!(this instanceof r))throw new SyntaxError("Constructor must be called with the new operator");this.actual=t,this.expected=n,this.relation=e,this.message="Dimension mismatch ("+(Array.isArray(t)?"["+t.join(", ")+"]":t)+" "+(this.relation||"!=")+" "+(Array.isArray(n)?"["+n.join(", ")+"]":n)+")",this.stack=(new Error).stack}r.prototype=new RangeError,r.prototype.constructor=RangeError,r.prototype.name="DimensionError",r.prototype.isDimensionError=!0,t.exports=r},function(t,n,e){"use strict";n.name="matrix",n.factory=function(t,n,e,r){var i=r("matrix",{"":function(){return o([])},string:function(t){return o([],t)},"string, string":function(t,n){return o([],t,n)},Array:function(t){return o(t)},Matrix:function(t){return o(t,t.storage())},"Array | Matrix, string":o,"Array | Matrix, string, string":o});return i.toTex={0:"\\begin{bmatrix}\\end{bmatrix}",1:"\\left(${args[0]}\\right)",2:"\\left(${args[0]}\\right)"},i;function o(n,e,r){return new(t.Matrix.storage(e||"default"))(n,r)}}},function(t,n,e){"use strict";var r=e(24),i=e(14),o=e(32),a=e(63);function u(t,n){for(var e=new Array(t.length-1),r=1;r<t.length;++r)for(var i=e[r-1]=new Array(t.length-1),o=0,a=0;o<t.length;++o)o!==n&&(i[a++]=t[r][o]);return e}function s(t){if(1===t.length)return t[0];if(2===t.length)return["sum(",t[0],",",t[1],")"].join("");var n=t.length>>1;return["sum(",s(t.slice(0,n)),",",s(t.slice(n)),")"].join("")}function f(t){if(2===t.length)return[["sum(prod(",t[0][0],",",t[1][1],"),prod(-",t[0][1],",",t[1][0],"))"].join("")];for(var n=[],e=0;e<t.length;++e)n.push(["scale(",s(f(u(t,e))),",",(r=e,1&r?"-":""),t[0][e],")"].join(""));return n;var r}function c(t){for(var n=[],e=[],c=function(t){for(var n=new Array(t),e=0;e<t;++e){n[e]=new Array(t);for(var r=0;r<t;++r)n[e][r]=["m",r,"[",t-e-1,"]"].join("")}return n}(t),l=[],h=0;h<t;++h)0==(1&h)?n.push.apply(n,f(u(c,h))):e.push.apply(e,f(u(c,h))),l.push("m"+h);var p=s(n),d=s(e),v="orientation"+t+"Exact",m=["function ",v,"(",l.join(),"){var p=",p,",n=",d,",d=sub(p,n);return d[d.length-1];};return ",v].join("");return new Function("sum","prod","scale","sub",m)(i,r,o,a)}var l=c(3),h=c(4),p=[function(){return 0},function(){return 0},function(t,n){return n[0]-t[0]},function(t,n,e){var r,i=(t[1]-e[1])*(n[0]-e[0]),o=(t[0]-e[0])*(n[1]-e[1]),a=i-o;if(i>0){if(o<=0)return a;r=i+o}else{if(!(i<0))return a;if(o>=0)return a;r=-(i+o)}var u=33306690738754716e-32*r;return a>=u||a<=-u?a:l(t,n,e)},function(t,n,e,r){var i=t[0]-r[0],o=n[0]-r[0],a=e[0]-r[0],u=t[1]-r[1],s=n[1]-r[1],f=e[1]-r[1],c=t[2]-r[2],l=n[2]-r[2],p=e[2]-r[2],d=o*f,v=a*s,m=a*u,g=i*f,y=i*s,_=o*u,b=c*(d-v)+l*(m-g)+p*(y-_),x=7771561172376103e-31*((Math.abs(d)+Math.abs(v))*Math.abs(c)+(Math.abs(m)+Math.abs(g))*Math.abs(l)+(Math.abs(y)+Math.abs(_))*Math.abs(p));return b>x||-b>x?b:h(t,n,e,r)}];function d(t){var n=p[t.length];return n||(n=p[t.length]=c(t.length)),n.apply(void 0,t)}!function(){for(;p.length<=5;)p.push(c(p.length));for(var n=[],e=["slow"],r=0;r<=5;++r)n.push("a"+r),e.push("o"+r);var i=["function getOrientation(",n.join(),"){switch(arguments.length){case 0:case 1:return 0;"];for(r=2;r<=5;++r)i.push("case ",r,":return o",r,"(",n.slice(0,r).join(),");");i.push("}var s=new Array(arguments.length);for(var i=0;i<arguments.length;++i){s[i]=arguments[i]};return slow(s);}return getOrientation"),e.push(i.join(""));var o=Function.apply(void 0,e);for(t.exports=o.apply(void 0,[d].concat(p)),r=0;r<=5;++r)t.exports[r]=p[r]}()},function(t,n,e){"use strict";n.symbols={Alpha:"A",alpha:"\\alpha",Beta:"B",beta:"\\beta",Gamma:"\\Gamma",gamma:"\\gamma",Delta:"\\Delta",delta:"\\delta",Epsilon:"E",epsilon:"\\epsilon",varepsilon:"\\varepsilon",Zeta:"Z",zeta:"\\zeta",Eta:"H",eta:"\\eta",Theta:"\\Theta",theta:"\\theta",vartheta:"\\vartheta",Iota:"I",iota:"\\iota",Kappa:"K",kappa:"\\kappa",varkappa:"\\varkappa",Lambda:"\\Lambda",lambda:"\\lambda",Mu:"M",mu:"\\mu",Nu:"N",nu:"\\nu",Xi:"\\Xi",xi:"\\xi",Omicron:"O",omicron:"o",Pi:"\\Pi",pi:"\\pi",varpi:"\\varpi",Rho:"P",rho:"\\rho",varrho:"\\varrho",Sigma:"\\Sigma",sigma:"\\sigma",varsigma:"\\varsigma",Tau:"T",tau:"\\tau",Upsilon:"\\Upsilon",upsilon:"\\upsilon",Phi:"\\Phi",phi:"\\phi",varphi:"\\varphi",Chi:"X",chi:"\\chi",Psi:"\\Psi",psi:"\\psi",Omega:"\\Omega",omega:"\\omega",true:"\\mathrm{True}",false:"\\mathrm{False}",i:"i",inf:"\\infty",Inf:"\\infty",infinity:"\\infty",Infinity:"\\infty",oo:"\\infty",lim:"\\lim",undefined:"\\mathbf{?}"},n.operators={transpose:"^\\top",factorial:"!",pow:"^",dotPow:".^\\wedge",unaryPlus:"+",unaryMinus:"-",bitNot:"~",not:"\\neg",multiply:"\\cdot",divide:"\\frac",dotMultiply:".\\cdot",dotDivide:".:",mod:"\\mod",add:"+",subtract:"-",to:"\\rightarrow",leftShift:"<<",rightArithShift:">>",rightLogShift:">>>",equal:"=",unequal:"\\neq",smaller:"<",larger:">",smallerEq:"\\leq",largerEq:"\\geq",bitAnd:"\\&",bitXor:"\\underline{|}",bitOr:"|",and:"\\wedge",xor:"\\veebar",or:"\\vee"},n.defaultTemplate="\\mathrm{${name}}\\left(${args}\\right)";var r={deg:"^\\circ"};n.toSymbol=function(t,e){if(e=void 0!==e&&e)return r.hasOwnProperty(t)?r[t]:"\\mathrm{"+t+"}";if(n.symbols.hasOwnProperty(t))return n.symbols[t];if(-1!==t.indexOf("_")){var i=t.indexOf("_");return n.toSymbol(t.substring(0,i))+"_{"+n.toSymbol(t.substring(i+1))+"}"}return t}},function(t,n,e){var r=e(54),i=e(145);t.exports=function(t,n){n.cat_args={},n.cat_args.row=[],n.cat_args.col=[],n.cat_arrs={},_.each(["inst","new"],(function(t){n.cat_arrs[t]={},n.cat_arrs[t].row={},n.cat_arrs[t].col={}})),_.each(["row","col"],(function(e){for(var o=0;o<n.cat_data.cat_num[e];o++)_.each(["inst","new"],(function(t){n.cat_arrs[t][e][o]=r(n,e,o,n.order[t][e])})),n.cat_args[e][o]=i(t,n,e,o)}))}},function(t,n,e){"use strict";(function(t,r){var i=e(23),o=e(160);t.__TYPEDARRAY_POOL||(t.__TYPEDARRAY_POOL={UINT8:o([32,0]),UINT16:o([32,0]),UINT32:o([32,0]),INT8:o([32,0]),INT16:o([32,0]),INT32:o([32,0]),FLOAT:o([32,0]),DOUBLE:o([32,0]),DATA:o([32,0]),UINT8C:o([32,0]),BUFFER:o([32,0])});var a="undefined"!=typeof Uint8ClampedArray,u=t.__TYPEDARRAY_POOL;u.UINT8C||(u.UINT8C=o([32,0])),u.BUFFER||(u.BUFFER=o([32,0]));var s=u.DATA,f=u.BUFFER;function c(t){if(t){var n=t.length||t.byteLength,e=i.log2(n);s[e].push(t)}}function l(t){t=i.nextPow2(t);var n=i.log2(t),e=s[n];return e.length>0?e.pop():new ArrayBuffer(t)}function h(t){return new Uint8Array(l(t),0,t)}function p(t){return new Uint16Array(l(2*t),0,t)}function d(t){return new Uint32Array(l(4*t),0,t)}function v(t){return new Int8Array(l(t),0,t)}function m(t){return new Int16Array(l(2*t),0,t)}function g(t){return new Int32Array(l(4*t),0,t)}function y(t){return new Float32Array(l(4*t),0,t)}function _(t){return new Float64Array(l(8*t),0,t)}function b(t){return a?new Uint8ClampedArray(l(t),0,t):h(t)}function x(t){return new DataView(l(t),0,t)}function w(t){t=i.nextPow2(t);var n=i.log2(t),e=f[n];return e.length>0?e.pop():new r(t)}n.free=function(t){if(r.isBuffer(t))f[i.log2(t.length)].push(t);else{if("[object ArrayBuffer]"!==Object.prototype.toString.call(t)&&(t=t.buffer),!t)return;var n=t.length||t.byteLength,e=0|i.log2(n);s[e].push(t)}},n.freeUint8=n.freeUint16=n.freeUint32=n.freeInt8=n.freeInt16=n.freeInt32=n.freeFloat32=n.freeFloat=n.freeFloat64=n.freeDouble=n.freeUint8Clamped=n.freeDataView=function(t){c(t.buffer)},n.freeArrayBuffer=c,n.freeBuffer=function(t){f[i.log2(t.length)].push(t)},n.malloc=function(t,n){if(void 0===n||"arraybuffer"===n)return l(t);switch(n){case"uint8":return h(t);case"uint16":return p(t);case"uint32":return d(t);case"int8":return v(t);case"int16":return m(t);case"int32":return g(t);case"float":case"float32":return y(t);case"double":case"float64":return _(t);case"uint8_clamped":return b(t);case"buffer":return w(t);case"data":case"dataview":return x(t);default:return null}return null},n.mallocArrayBuffer=l,n.mallocUint8=h,n.mallocUint16=p,n.mallocUint32=d,n.mallocInt8=v,n.mallocInt16=m,n.mallocInt32=g,n.mallocFloat32=n.mallocFloat=y,n.mallocFloat64=n.mallocDouble=_,n.mallocUint8Clamped=b,n.mallocDataView=x,n.mallocBuffer=w,n.clearCache=function(){for(var t=0;t<32;++t)u.UINT8[t].length=0,u.UINT16[t].length=0,u.UINT32[t].length=0,u.INT8[t].length=0,u.INT16[t].length=0,u.INT32[t].length=0,u.FLOAT[t].length=0,u.DOUBLE[t].length=0,u.UINT8C[t].length=0,s[t].length=0,f[t].length=0}}).call(this,e(60),e(61).Buffer)},function(t,n,e){t.exports=function(t){let n=t.regl,r=t.params;e(302)(n,r);var i=r.labels.draw_labels;e(85)(n,r,"row",i),e(85)(n,r,"col",i),e(308)(n,r)}},function(t,n){t.exports={translation:function(t,n){return[1,0,0,0,1,0,t,n,1]},rotation:function(t){var n=Math.cos(t),e=Math.sin(t);return[n,-e,0,e,n,0,0,0,1]},scaling:function(t,n){return[t,0,0,0,n,0,0,0,1]}}},function(t,n,e){"use strict";t.exports=function(t,n){var e=0|t.length,r=0|n.length;if(1===e&&1===r)return function(t,n){var e=t+n,r=e-t,i=t-(e-r)+(n-r);if(i)return[i,e];return[e]}(t[0],n[0]);var i,o,a=new Array(e+r),u=0,s=0,f=0,c=Math.abs,l=t[s],h=c(l),p=n[f],d=c(p);h<d?(o=l,(s+=1)<e&&(l=t[s],h=c(l))):(o=p,(f+=1)<r&&(p=n[f],d=c(p)));s<e&&h<d||f>=r?(i=l,(s+=1)<e&&(l=t[s],h=c(l))):(i=p,(f+=1)<r&&(p=n[f],d=c(p)));var v,m,g=i+o,y=g-i,_=o-y,b=_,x=g;for(;s<e&&f<r;)h<d?(i=l,(s+=1)<e&&(l=t[s],h=c(l))):(i=p,(f+=1)<r&&(p=n[f],d=c(p))),(_=(o=b)-(y=(g=i+o)-i))&&(a[u++]=_),b=x-((v=x+g)-(m=v-x))+(g-m),x=v;for(;s<e;)(_=(o=b)-(y=(g=(i=l)+o)-i))&&(a[u++]=_),b=x-((v=x+g)-(m=v-x))+(g-m),x=v,(s+=1)<e&&(l=t[s]);for(;f<r;)(_=(o=b)-(y=(g=(i=p)+o)-i))&&(a[u++]=_),b=x-((v=x+g)-(m=v-x))+(g-m),x=v,(f+=1)<r&&(p=n[f]);b&&(a[u++]=b);x&&(a[u++]=x);u||(a[u++]=0);return a.length=u,a}},function(t,n,e){"use strict";var r=e(67),i=e(35);t.exports=function(t,n){var e=i(t),o=i(n);if(0===e)return[r(0),r(1)];if(0===o)return[r(0),r(0)];o<0&&(t=t.neg(),n=n.neg());var a=t.gcd(n);if(a.cmpn(1))return[t.div(a),n.div(a)];return[t,n]}},function(t,n,e){const r=e(303);t.exports=function(t){return r((t.ani.time-t.ani.last_switch_time)/t.ani.ani_duration)}},function(t,n,e){var r=e(1);t.exports=function(t,n,i,o){var a=o.replace("sum","rank").replace("var","rankvar");"clust"!=a&&r.select("."+i+"_dendro_slider_svg").style("display","none"),n.ani.run_animation=!0,n.order.new[i]=a,e(315)(t,n),e(316)(t,n),0!=n.text_triangles.draw[i]&&n.labels["num_"+i]<=n.max_num_text?n.text_triangles.draw[i]=e(89)(n,i):n.text_triangles.draw[i]=!1}},function(t,n,e){"use strict";var r=e(4).nearlyEqual,i=e(39);n.factory=function(t,n,e,o){var a=o("equalScalar",{"boolean, boolean":function(t,n){return t===n},"number, number":function(t,e){return t===e||r(t,e,n.epsilon)},"BigNumber, BigNumber":function(t,e){return t.eq(e)||i(t,e,n.epsilon)},"Fraction, Fraction":function(t,n){return t.equals(n)},"Complex, Complex":function(t,n){return t.equals(n)},"Unit, Unit":function(t,n){if(!t.equalBase(n))throw new Error("Cannot compare units with different base");return a(t.value,n.value)},"string, string":function(t,n){return t===n}});return a}},function(t,n,e){"use strict";n.array=e(28),n.boolean=e(387),n.function=e(388),n.number=e(4),n.object=e(3),n.string=e(38),n.types=e(95),n.emitter=e(93)},function(t,n,e){var r=e(133);t.exports=function(t,n=1){var e;if(t in r){var i=r[t];i.push(n),e=[i[0],i[1],i[2],n]}else{var o;if(/^#([A-Fa-f0-9]{3}){1,2}$/.test(t))3==(o=t.substring(1).split("")).length&&(o=[o[0],o[0],o[1],o[1],o[2],o[2]]),e=[((o="0x"+o.join(""))>>16&255)/256,(o>>8&255)/256,(255&o)/256,n];else e=[0,0,0,n]}return e}},function(t,n,e){var r;(function(){var e=this,i=e._,o=Array.prototype,a=Object.prototype,u=Function.prototype,s=o.push,f=o.slice,c=a.toString,l=a.hasOwnProperty,h=Array.isArray,p=Object.keys,d=u.bind,v=Object.create,m=function(){},g=function(t){return t instanceof g?t:this instanceof g?void(this._wrapped=t):new g(t)};t.exports&&(n=t.exports=g),n._=g,g.VERSION="1.8.3";var y=function(t,n,e){if(void 0===n)return t;switch(null==e?3:e){case 1:return function(e){return t.call(n,e)};case 2:return function(e,r){return t.call(n,e,r)};case 3:return function(e,r,i){return t.call(n,e,r,i)};case 4:return function(e,r,i,o){return t.call(n,e,r,i,o)}}return function(){return t.apply(n,arguments)}},_=function(t,n,e){return null==t?g.identity:g.isFunction(t)?y(t,n,e):g.isObject(t)?g.matcher(t):g.property(t)};g.iteratee=function(t,n){return _(t,n,1/0)};var b=function(t,n){return function(e){var r=arguments.length;if(r<2||null==e)return e;for(var i=1;i<r;i++)for(var o=arguments[i],a=t(o),u=a.length,s=0;s<u;s++){var f=a[s];n&&void 0!==e[f]||(e[f]=o[f])}return e}},x=function(t){if(!g.isObject(t))return{};if(v)return v(t);m.prototype=t;var n=new m;return m.prototype=null,n},w=function(t){return function(n){return null==n?void 0:n[t]}},M=Math.pow(2,53)-1,k=w("length"),A=function(t){var n=k(t);return"number"==typeof n&&n>=0&&n<=M};function z(t){function n(n,e,r,i,o,a){for(;o>=0&&o<a;o+=t){var u=i?i[o]:o;r=e(r,n[u],u,n)}return r}return function(e,r,i,o){r=y(r,o,4);var a=!A(e)&&g.keys(e),u=(a||e).length,s=t>0?0:u-1;return arguments.length<3&&(i=e[a?a[s]:s],s+=t),n(e,r,i,a,s,u)}}g.each=g.forEach=function(t,n,e){var r,i;if(n=y(n,e),A(t))for(r=0,i=t.length;r<i;r++)n(t[r],r,t);else{var o=g.keys(t);for(r=0,i=o.length;r<i;r++)n(t[o[r]],o[r],t)}return t},g.map=g.collect=function(t,n,e){n=_(n,e);for(var r=!A(t)&&g.keys(t),i=(r||t).length,o=Array(i),a=0;a<i;a++){var u=r?r[a]:a;o[a]=n(t[u],u,t)}return o},g.reduce=g.foldl=g.inject=z(1),g.reduceRight=g.foldr=z(-1),g.find=g.detect=function(t,n,e){var r;if(void 0!==(r=A(t)?g.findIndex(t,n,e):g.findKey(t,n,e))&&-1!==r)return t[r]},g.filter=g.select=function(t,n,e){var r=[];return n=_(n,e),g.each(t,(function(t,e,i){n(t,e,i)&&r.push(t)})),r},g.reject=function(t,n,e){return g.filter(t,g.negate(_(n)),e)},g.every=g.all=function(t,n,e){n=_(n,e);for(var r=!A(t)&&g.keys(t),i=(r||t).length,o=0;o<i;o++){var a=r?r[o]:o;if(!n(t[a],a,t))return!1}return!0},g.some=g.any=function(t,n,e){n=_(n,e);for(var r=!A(t)&&g.keys(t),i=(r||t).length,o=0;o<i;o++){var a=r?r[o]:o;if(n(t[a],a,t))return!0}return!1},g.contains=g.includes=g.include=function(t,n,e,r){return A(t)||(t=g.values(t)),("number"!=typeof e||r)&&(e=0),g.indexOf(t,n,e)>=0},g.invoke=function(t,n){var e=f.call(arguments,2),r=g.isFunction(n);return g.map(t,(function(t){var i=r?n:t[n];return null==i?i:i.apply(t,e)}))},g.pluck=function(t,n){return g.map(t,g.property(n))},g.where=function(t,n){return g.filter(t,g.matcher(n))},g.findWhere=function(t,n){return g.find(t,g.matcher(n))},g.max=function(t,n,e){var r,i,o=-1/0,a=-1/0;if(null==n&&null!=t)for(var u=0,s=(t=A(t)?t:g.values(t)).length;u<s;u++)(r=t[u])>o&&(o=r);else n=_(n,e),g.each(t,(function(t,e,r){((i=n(t,e,r))>a||i===-1/0&&o===-1/0)&&(o=t,a=i)}));return o},g.min=function(t,n,e){var r,i,o=1/0,a=1/0;if(null==n&&null!=t)for(var u=0,s=(t=A(t)?t:g.values(t)).length;u<s;u++)(r=t[u])<o&&(o=r);else n=_(n,e),g.each(t,(function(t,e,r){((i=n(t,e,r))<a||i===1/0&&o===1/0)&&(o=t,a=i)}));return o},g.shuffle=function(t){for(var n,e=A(t)?t:g.values(t),r=e.length,i=Array(r),o=0;o<r;o++)(n=g.random(0,o))!==o&&(i[o]=i[n]),i[n]=e[o];return i},g.sample=function(t,n,e){return null==n||e?(A(t)||(t=g.values(t)),t[g.random(t.length-1)]):g.shuffle(t).slice(0,Math.max(0,n))},g.sortBy=function(t,n,e){return n=_(n,e),g.pluck(g.map(t,(function(t,e,r){return{value:t,index:e,criteria:n(t,e,r)}})).sort((function(t,n){var e=t.criteria,r=n.criteria;if(e!==r){if(e>r||void 0===e)return 1;if(e<r||void 0===r)return-1}return t.index-n.index})),"value")};var E=function(t){return function(n,e,r){var i={};return e=_(e,r),g.each(n,(function(r,o){var a=e(r,o,n);t(i,r,a)})),i}};g.groupBy=E((function(t,n,e){g.has(t,e)?t[e].push(n):t[e]=[n]})),g.indexBy=E((function(t,n,e){t[e]=n})),g.countBy=E((function(t,n,e){g.has(t,e)?t[e]++:t[e]=1})),g.toArray=function(t){return t?g.isArray(t)?f.call(t):A(t)?g.map(t,g.identity):g.values(t):[]},g.size=function(t){return null==t?0:A(t)?t.length:g.keys(t).length},g.partition=function(t,n,e){n=_(n,e);var r=[],i=[];return g.each(t,(function(t,e,o){(n(t,e,o)?r:i).push(t)})),[r,i]},g.first=g.head=g.take=function(t,n,e){if(null!=t)return null==n||e?t[0]:g.initial(t,t.length-n)},g.initial=function(t,n,e){return f.call(t,0,Math.max(0,t.length-(null==n||e?1:n)))},g.last=function(t,n,e){if(null!=t)return null==n||e?t[t.length-1]:g.rest(t,Math.max(0,t.length-n))},g.rest=g.tail=g.drop=function(t,n,e){return f.call(t,null==n||e?1:n)},g.compact=function(t){return g.filter(t,g.identity)};var S=function(t,n,e,r){for(var i=[],o=0,a=r||0,u=k(t);a<u;a++){var s=t[a];if(A(s)&&(g.isArray(s)||g.isArguments(s))){n||(s=S(s,n,e));var f=0,c=s.length;for(i.length+=c;f<c;)i[o++]=s[f++]}else e||(i[o++]=s)}return i};function N(t){return function(n,e,r){e=_(e,r);for(var i=k(n),o=t>0?0:i-1;o>=0&&o<i;o+=t)if(e(n[o],o,n))return o;return-1}}function T(t,n,e){return function(r,i,o){var a=0,u=k(r);if("number"==typeof o)t>0?a=o>=0?o:Math.max(o+u,a):u=o>=0?Math.min(o+1,u):o+u+1;else if(e&&o&&u)return r[o=e(r,i)]===i?o:-1;if(i!=i)return(o=n(f.call(r,a,u),g.isNaN))>=0?o+a:-1;for(o=t>0?a:u-1;o>=0&&o<u;o+=t)if(r[o]===i)return o;return-1}}g.flatten=function(t,n){return S(t,n,!1)},g.without=function(t){return g.difference(t,f.call(arguments,1))},g.uniq=g.unique=function(t,n,e,r){g.isBoolean(n)||(r=e,e=n,n=!1),null!=e&&(e=_(e,r));for(var i=[],o=[],a=0,u=k(t);a<u;a++){var s=t[a],f=e?e(s,a,t):s;n?(a&&o===f||i.push(s),o=f):e?g.contains(o,f)||(o.push(f),i.push(s)):g.contains(i,s)||i.push(s)}return i},g.union=function(){return g.uniq(S(arguments,!0,!0))},g.intersection=function(t){for(var n=[],e=arguments.length,r=0,i=k(t);r<i;r++){var o=t[r];if(!g.contains(n,o)){for(var a=1;a<e&&g.contains(arguments[a],o);a++);a===e&&n.push(o)}}return n},g.difference=function(t){var n=S(arguments,!0,!0,1);return g.filter(t,(function(t){return!g.contains(n,t)}))},g.zip=function(){return g.unzip(arguments)},g.unzip=function(t){for(var n=t&&g.max(t,k).length||0,e=Array(n),r=0;r<n;r++)e[r]=g.pluck(t,r);return e},g.object=function(t,n){for(var e={},r=0,i=k(t);r<i;r++)n?e[t[r]]=n[r]:e[t[r][0]]=t[r][1];return e},g.findIndex=N(1),g.findLastIndex=N(-1),g.sortedIndex=function(t,n,e,r){for(var i=(e=_(e,r,1))(n),o=0,a=k(t);o<a;){var u=Math.floor((o+a)/2);e(t[u])<i?o=u+1:a=u}return o},g.indexOf=T(1,g.findIndex,g.sortedIndex),g.lastIndexOf=T(-1,g.findLastIndex),g.range=function(t,n,e){null==n&&(n=t||0,t=0),e=e||1;for(var r=Math.max(Math.ceil((n-t)/e),0),i=Array(r),o=0;o<r;o++,t+=e)i[o]=t;return i};var C=function(t,n,e,r,i){if(!(r instanceof n))return t.apply(e,i);var o=x(t.prototype),a=t.apply(o,i);return g.isObject(a)?a:o};g.bind=function(t,n){if(d&&t.bind===d)return d.apply(t,f.call(arguments,1));if(!g.isFunction(t))throw new TypeError("Bind must be called on a function");var e=f.call(arguments,2),r=function(){return C(t,r,n,this,e.concat(f.call(arguments)))};return r},g.partial=function(t){var n=f.call(arguments,1),e=function(){for(var r=0,i=n.length,o=Array(i),a=0;a<i;a++)o[a]=n[a]===g?arguments[r++]:n[a];for(;r<arguments.length;)o.push(arguments[r++]);return C(t,e,this,this,o)};return e},g.bindAll=function(t){var n,e,r=arguments.length;if(r<=1)throw new Error("bindAll must be passed function names");for(n=1;n<r;n++)t[e=arguments[n]]=g.bind(t[e],t);return t},g.memoize=function(t,n){var e=function(r){var i=e.cache,o=""+(n?n.apply(this,arguments):r);return g.has(i,o)||(i[o]=t.apply(this,arguments)),i[o]};return e.cache={},e},g.delay=function(t,n){var e=f.call(arguments,2);return setTimeout((function(){return t.apply(null,e)}),n)},g.defer=g.partial(g.delay,g,1),g.throttle=function(t,n,e){var r,i,o,a=null,u=0;e||(e={});var s=function(){u=!1===e.leading?0:g.now(),a=null,o=t.apply(r,i),a||(r=i=null)};return function(){var f=g.now();u||!1!==e.leading||(u=f);var c=n-(f-u);return r=this,i=arguments,c<=0||c>n?(a&&(clearTimeout(a),a=null),u=f,o=t.apply(r,i),a||(r=i=null)):a||!1===e.trailing||(a=setTimeout(s,c)),o}},g.debounce=function(t,n,e){var r,i,o,a,u,s=function(){var f=g.now()-a;f<n&&f>=0?r=setTimeout(s,n-f):(r=null,e||(u=t.apply(o,i),r||(o=i=null)))};return function(){o=this,i=arguments,a=g.now();var f=e&&!r;return r||(r=setTimeout(s,n)),f&&(u=t.apply(o,i),o=i=null),u}},g.wrap=function(t,n){return g.partial(n,t)},g.negate=function(t){return function(){return!t.apply(this,arguments)}},g.compose=function(){var t=arguments,n=t.length-1;return function(){for(var e=n,r=t[n].apply(this,arguments);e--;)r=t[e].call(this,r);return r}},g.after=function(t,n){return function(){if(--t<1)return n.apply(this,arguments)}},g.before=function(t,n){var e;return function(){return--t>0&&(e=n.apply(this,arguments)),t<=1&&(n=null),e}},g.once=g.partial(g.before,2);var j=!{toString:null}.propertyIsEnumerable("toString"),O=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"];function P(t,n){var e=O.length,r=t.constructor,i=g.isFunction(r)&&r.prototype||a,o="constructor";for(g.has(t,o)&&!g.contains(n,o)&&n.push(o);e--;)(o=O[e])in t&&t[o]!==i[o]&&!g.contains(n,o)&&n.push(o)}g.keys=function(t){if(!g.isObject(t))return[];if(p)return p(t);var n=[];for(var e in t)g.has(t,e)&&n.push(e);return j&&P(t,n),n},g.allKeys=function(t){if(!g.isObject(t))return[];var n=[];for(var e in t)n.push(e);return j&&P(t,n),n},g.values=function(t){for(var n=g.keys(t),e=n.length,r=Array(e),i=0;i<e;i++)r[i]=t[n[i]];return r},g.mapObject=function(t,n,e){n=_(n,e);for(var r,i=g.keys(t),o=i.length,a={},u=0;u<o;u++)a[r=i[u]]=n(t[r],r,t);return a},g.pairs=function(t){for(var n=g.keys(t),e=n.length,r=Array(e),i=0;i<e;i++)r[i]=[n[i],t[n[i]]];return r},g.invert=function(t){for(var n={},e=g.keys(t),r=0,i=e.length;r<i;r++)n[t[e[r]]]=e[r];return n},g.functions=g.methods=function(t){var n=[];for(var e in t)g.isFunction(t[e])&&n.push(e);return n.sort()},g.extend=b(g.allKeys),g.extendOwn=g.assign=b(g.keys),g.findKey=function(t,n,e){n=_(n,e);for(var r,i=g.keys(t),o=0,a=i.length;o<a;o++)if(n(t[r=i[o]],r,t))return r},g.pick=function(t,n,e){var r,i,o={},a=t;if(null==a)return o;g.isFunction(n)?(i=g.allKeys(a),r=y(n,e)):(i=S(arguments,!1,!1,1),r=function(t,n,e){return n in e},a=Object(a));for(var u=0,s=i.length;u<s;u++){var f=i[u],c=a[f];r(c,f,a)&&(o[f]=c)}return o},g.omit=function(t,n,e){if(g.isFunction(n))n=g.negate(n);else{var r=g.map(S(arguments,!1,!1,1),String);n=function(t,n){return!g.contains(r,n)}}return g.pick(t,n,e)},g.defaults=b(g.allKeys,!0),g.create=function(t,n){var e=x(t);return n&&g.extendOwn(e,n),e},g.clone=function(t){return g.isObject(t)?g.isArray(t)?t.slice():g.extend({},t):t},g.tap=function(t,n){return n(t),t},g.isMatch=function(t,n){var e=g.keys(n),r=e.length;if(null==t)return!r;for(var i=Object(t),o=0;o<r;o++){var a=e[o];if(n[a]!==i[a]||!(a in i))return!1}return!0};var B=function(t,n,e,r){if(t===n)return 0!==t||1/t==1/n;if(null==t||null==n)return t===n;t instanceof g&&(t=t._wrapped),n instanceof g&&(n=n._wrapped);var i=c.call(t);if(i!==c.call(n))return!1;switch(i){case"[object RegExp]":case"[object String]":return""+t==""+n;case"[object Number]":return+t!=+t?+n!=+n:0==+t?1/+t==1/n:+t==+n;case"[object Date]":case"[object Boolean]":return+t==+n}var o="[object Array]"===i;if(!o){if("object"!=typeof t||"object"!=typeof n)return!1;var a=t.constructor,u=n.constructor;if(a!==u&&!(g.isFunction(a)&&a instanceof a&&g.isFunction(u)&&u instanceof u)&&"constructor"in t&&"constructor"in n)return!1}r=r||[];for(var s=(e=e||[]).length;s--;)if(e[s]===t)return r[s]===n;if(e.push(t),r.push(n),o){if((s=t.length)!==n.length)return!1;for(;s--;)if(!B(t[s],n[s],e,r))return!1}else{var f,l=g.keys(t);if(s=l.length,g.keys(n).length!==s)return!1;for(;s--;)if(f=l[s],!g.has(n,f)||!B(t[f],n[f],e,r))return!1}return e.pop(),r.pop(),!0};g.isEqual=function(t,n){return B(t,n)},g.isEmpty=function(t){return null==t||(A(t)&&(g.isArray(t)||g.isString(t)||g.isArguments(t))?0===t.length:0===g.keys(t).length)},g.isElement=function(t){return!(!t||1!==t.nodeType)},g.isArray=h||function(t){return"[object Array]"===c.call(t)},g.isObject=function(t){var n=typeof t;return"function"===n||"object"===n&&!!t},g.each(["Arguments","Function","String","Number","Date","RegExp","Error"],(function(t){g["is"+t]=function(n){return c.call(n)==="[object "+t+"]"}})),g.isArguments(arguments)||(g.isArguments=function(t){return g.has(t,"callee")}),"object"!=typeof Int8Array&&(g.isFunction=function(t){return"function"==typeof t||!1}),g.isFinite=function(t){return isFinite(t)&&!isNaN(parseFloat(t))},g.isNaN=function(t){return g.isNumber(t)&&t!==+t},g.isBoolean=function(t){return!0===t||!1===t||"[object Boolean]"===c.call(t)},g.isNull=function(t){return null===t},g.isUndefined=function(t){return void 0===t},g.has=function(t,n){return null!=t&&l.call(t,n)},g.noConflict=function(){return e._=i,this},g.identity=function(t){return t},g.constant=function(t){return function(){return t}},g.noop=function(){},g.property=w,g.propertyOf=function(t){return null==t?function(){}:function(n){return t[n]}},g.matcher=g.matches=function(t){return t=g.extendOwn({},t),function(n){return g.isMatch(n,t)}},g.times=function(t,n,e){var r=Array(Math.max(0,t));n=y(n,e,1);for(var i=0;i<t;i++)r[i]=n(i);return r},g.random=function(t,n){return null==n&&(n=t,t=0),t+Math.floor(Math.random()*(n-t+1))},g.now=Date.now||function(){return(new Date).getTime()};var R={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},I=g.invert(R),D=function(t){var n=function(n){return t[n]},e="(?:"+g.keys(t).join("|")+")",r=RegExp(e),i=RegExp(e,"g");return function(t){return t=null==t?"":""+t,r.test(t)?t.replace(i,n):t}};g.escape=D(R),g.unescape=D(I),g.result=function(t,n,e){var r=null==t?void 0:t[n];return void 0===r&&(r=e),g.isFunction(r)?r.call(t):r};var F=0;g.uniqueId=function(t){var n=++F+"";return t?t+n:n},g.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var U=/(.)^/,L={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},q=/\\|'|\r|\n|\u2028|\u2029/g,H=function(t){return"\\"+L[t]};g.template=function(t,n,e){!n&&e&&(n=e),n=g.defaults({},n,g.templateSettings);var r=RegExp([(n.escape||U).source,(n.interpolate||U).source,(n.evaluate||U).source].join("|")+"|$","g"),i=0,o="__p+='";t.replace(r,(function(n,e,r,a,u){return o+=t.slice(i,u).replace(q,H),i=u+n.length,e?o+="'+\n((__t=("+e+"))==null?'':_.escape(__t))+\n'":r?o+="'+\n((__t=("+r+"))==null?'':__t)+\n'":a&&(o+="';\n"+a+"\n__p+='"),n})),o+="';\n",n.variable||(o="with(obj||{}){\n"+o+"}\n"),o="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+o+"return __p;\n";try{var a=new Function(n.variable||"obj","_",o)}catch(t){throw t.source=o,t}var u=function(t){return a.call(this,t,g)},s=n.variable||"obj";return u.source="function("+s+"){\n"+o+"}",u},g.chain=function(t){var n=g(t);return n._chain=!0,n};var Y=function(t,n){return t._chain?g(n).chain():n};g.mixin=function(t){g.each(g.functions(t),(function(n){var e=g[n]=t[n];g.prototype[n]=function(){var t=[this._wrapped];return s.apply(t,arguments),Y(this,e.apply(g,t))}}))},g.mixin(g),g.each(["pop","push","reverse","shift","sort","splice","unshift"],(function(t){var n=o[t];g.prototype[t]=function(){var e=this._wrapped;return n.apply(e,arguments),"shift"!==t&&"splice"!==t||0!==e.length||delete e[0],Y(this,e)}})),g.each(["concat","join","slice"],(function(t){var n=o[t];g.prototype[t]=function(){return Y(this,n.apply(this._wrapped,arguments))}})),g.prototype.value=function(){return this._wrapped},g.prototype.valueOf=g.prototype.toJSON=g.prototype.value,g.prototype.toString=function(){return""+this._wrapped},void 0===(r=function(){return g}.apply(n,[]))||(t.exports=r)}).call(this)},function(t,n){t.exports=function(t){let n=t.params;var e,r,i,o,a={};_.each(["row","col"],(function(t){for(a[t+"s"]=[],a[t+"_indices"]=[],r=n.network[t+"_nodes"],o=!1,i=0;i<n.cat_data.cat_num[t];i++)a[t+"_cats-"+String(i)]=[];n.cat_data.cat_num[t]>0&&(o=!0),_.each(r,(function(r,u){if(e=n.labels["num_"+t]-1-r[n.order.inst[t]],a[t+"s"][e]=r.name,a[t+"_indices"][e]=u,o)for(i=0;i<n.cat_data.cat_num[t];i++)a[t+"_cats-"+String(i)][e]=r["cat-"+String(i)]}))})),n.labels.ordered_labels=a}},function(t,n,e){"use strict";function r(t){var n=32;return(t&=-t)&&n--,65535&t&&(n-=16),16711935&t&&(n-=8),252645135&t&&(n-=4),858993459&t&&(n-=2),1431655765&t&&(n-=1),n}n.INT_BITS=32,n.INT_MAX=2147483647,n.INT_MIN=-1<<31,n.sign=function(t){return(t>0)-(t<0)},n.abs=function(t){var n=t>>31;return(t^n)-n},n.min=function(t,n){return n^(t^n)&-(t<n)},n.max=function(t,n){return t^(t^n)&-(t<n)},n.isPow2=function(t){return!(t&t-1||!t)},n.log2=function(t){var n,e;return n=(t>65535)<<4,n|=e=((t>>>=n)>255)<<3,n|=e=((t>>>=e)>15)<<2,(n|=e=((t>>>=e)>3)<<1)|(t>>>=e)>>1},n.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},n.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},n.countTrailingZeros=r,n.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)+1},n.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},n.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var i=new Array(256);!function(t){for(var n=0;n<256;++n){var e=n,r=n,i=7;for(e>>>=1;e;e>>>=1)r<<=1,r|=1&e,--i;t[n]=r<<i&255}}(i),n.reverse=function(t){return i[255&t]<<24|i[t>>>8&255]<<16|i[t>>>16&255]<<8|i[t>>>24&255]},n.interleave2=function(t,n){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(n=1431655765&((n=858993459&((n=252645135&((n=16711935&((n&=65535)|n<<8))|n<<4))|n<<2))|n<<1))<<1},n.deinterleave2=function(t,n){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>n&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},n.interleave3=function(t,n,e){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(n=1227133513&((n=3272356035&((n=251719695&((n=4278190335&((n&=1023)|n<<16))|n<<8))|n<<4))|n<<2))<<1)|(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<2},n.deinterleave3=function(t,n){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>n&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},n.nextCombination=function(t){var n=t|t-1;return n+1|(~n&-~n)-1>>>r(t)+1}},function(t,n,e){"use strict";t.exports=function(t,n,e){var i=t*n,o=r*t,a=o-(o-t),u=t-a,s=r*n,f=s-(s-n),c=n-f,l=u*c-(i-a*f-u*f-a*c);if(e)return e[0]=l,e[1]=i,e;return[l,i]};var r=+(Math.pow(2,27)+1)},function(t,n,e){(function(t){!function(t,n){"use strict";function r(t,n){if(!t)throw new Error(n||"Assertion failed")}function i(t,n){t.super_=n;var e=function(){};e.prototype=n.prototype,t.prototype=new e,t.prototype.constructor=t}function o(t,n,e){if(o.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==n&&"be"!==n||(e=n,n=10),this._init(t||0,n||10,e||"be"))}var a;"object"==typeof t?t.exports=o:n.BN=o,o.BN=o,o.wordSize=26;try{a=e(188).Buffer}catch(t){}function u(t,n,e){for(var r=0,i=Math.min(t.length,e),o=n;o<i;o++){var a=t.charCodeAt(o)-48;r<<=4,r|=a>=49&&a<=54?a-49+10:a>=17&&a<=22?a-17+10:15&a}return r}function s(t,n,e,r){for(var i=0,o=Math.min(t.length,e),a=n;a<o;a++){var u=t.charCodeAt(a)-48;i*=r,i+=u>=49?u-49+10:u>=17?u-17+10:u}return i}o.isBN=function(t){return t instanceof o||null!==t&&"object"==typeof t&&t.constructor.wordSize===o.wordSize&&Array.isArray(t.words)},o.max=function(t,n){return t.cmp(n)>0?t:n},o.min=function(t,n){return t.cmp(n)<0?t:n},o.prototype._init=function(t,n,e){if("number"==typeof t)return this._initNumber(t,n,e);if("object"==typeof t)return this._initArray(t,n,e);"hex"===n&&(n=16),r(n===(0|n)&&n>=2&&n<=36);var i=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&i++,16===n?this._parseHex(t,i):this._parseBase(t,n,i),"-"===t[0]&&(this.negative=1),this.strip(),"le"===e&&this._initArray(this.toArray(),n,e)},o.prototype._initNumber=function(t,n,e){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(r(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===e&&this._initArray(this.toArray(),n,e)},o.prototype._initArray=function(t,n,e){if(r("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var o,a,u=0;if("be"===e)for(i=t.length-1,o=0;i>=0;i-=3)a=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[o]|=a<<u&67108863,this.words[o+1]=a>>>26-u&67108863,(u+=24)>=26&&(u-=26,o++);else if("le"===e)for(i=0,o=0;i<t.length;i+=3)a=t[i]|t[i+1]<<8|t[i+2]<<16,this.words[o]|=a<<u&67108863,this.words[o+1]=a>>>26-u&67108863,(u+=24)>=26&&(u-=26,o++);return this.strip()},o.prototype._parseHex=function(t,n){this.length=Math.ceil((t.length-n)/6),this.words=new Array(this.length);for(var e=0;e<this.length;e++)this.words[e]=0;var r,i,o=0;for(e=t.length-6,r=0;e>=n;e-=6)i=u(t,e,e+6),this.words[r]|=i<<o&67108863,this.words[r+1]|=i>>>26-o&4194303,(o+=24)>=26&&(o-=26,r++);e+6!==n&&(i=u(t,n,e+6),this.words[r]|=i<<o&67108863,this.words[r+1]|=i>>>26-o&4194303),this.strip()},o.prototype._parseBase=function(t,n,e){this.words=[0],this.length=1;for(var r=0,i=1;i<=67108863;i*=n)r++;r--,i=i/n|0;for(var o=t.length-e,a=o%r,u=Math.min(o,o-a)+e,f=0,c=e;c<u;c+=r)f=s(t,c,c+r,n),this.imuln(i),this.words[0]+f<67108864?this.words[0]+=f:this._iaddn(f);if(0!==a){var l=1;for(f=s(t,c,t.length,n),c=0;c<a;c++)l*=n;this.imuln(l),this.words[0]+f<67108864?this.words[0]+=f:this._iaddn(f)}},o.prototype.copy=function(t){t.words=new Array(this.length);for(var n=0;n<this.length;n++)t.words[n]=this.words[n];t.length=this.length,t.negative=this.negative,t.red=this.red},o.prototype.clone=function(){var t=new o(null);return this.copy(t),t},o.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},o.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var f=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],c=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],l=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function h(t,n,e){e.negative=n.negative^t.negative;var r=t.length+n.length|0;e.length=r,r=r-1|0;var i=0|t.words[0],o=0|n.words[0],a=i*o,u=67108863&a,s=a/67108864|0;e.words[0]=u;for(var f=1;f<r;f++){for(var c=s>>>26,l=67108863&s,h=Math.min(f,n.length-1),p=Math.max(0,f-t.length+1);p<=h;p++){var d=f-p|0;c+=(a=(i=0|t.words[d])*(o=0|n.words[p])+l)/67108864|0,l=67108863&a}e.words[f]=0|l,s=0|c}return 0!==s?e.words[f]=0|s:e.length--,e.strip()}o.prototype.toString=function(t,n){var e;if(n=0|n||1,16===(t=t||10)||"hex"===t){e="";for(var i=0,o=0,a=0;a<this.length;a++){var u=this.words[a],s=(16777215&(u<<i|o)).toString(16);e=0!==(o=u>>>24-i&16777215)||a!==this.length-1?f[6-s.length]+s+e:s+e,(i+=2)>=26&&(i-=26,a--)}for(0!==o&&(e=o.toString(16)+e);e.length%n!=0;)e="0"+e;return 0!==this.negative&&(e="-"+e),e}if(t===(0|t)&&t>=2&&t<=36){var h=c[t],p=l[t];e="";var d=this.clone();for(d.negative=0;!d.isZero();){var v=d.modn(p).toString(t);e=(d=d.idivn(p)).isZero()?v+e:f[h-v.length]+v+e}for(this.isZero()&&(e="0"+e);e.length%n!=0;)e="0"+e;return 0!==this.negative&&(e="-"+e),e}r(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(t,n){return r(void 0!==a),this.toArrayLike(a,t,n)},o.prototype.toArray=function(t,n){return this.toArrayLike(Array,t,n)},o.prototype.toArrayLike=function(t,n,e){var i=this.byteLength(),o=e||Math.max(1,i);r(i<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0"),this.strip();var a,u,s="le"===n,f=new t(o),c=this.clone();if(s){for(u=0;!c.isZero();u++)a=c.andln(255),c.iushrn(8),f[u]=a;for(;u<o;u++)f[u]=0}else{for(u=0;u<o-i;u++)f[u]=0;for(u=0;!c.isZero();u++)a=c.andln(255),c.iushrn(8),f[o-u-1]=a}return f},Math.clz32?o.prototype._countBits=function(t){return 32-Math.clz32(t)}:o.prototype._countBits=function(t){var n=t,e=0;return n>=4096&&(e+=13,n>>>=13),n>=64&&(e+=7,n>>>=7),n>=8&&(e+=4,n>>>=4),n>=2&&(e+=2,n>>>=2),e+n},o.prototype._zeroBits=function(t){if(0===t)return 26;var n=t,e=0;return 0==(8191&n)&&(e+=13,n>>>=13),0==(127&n)&&(e+=7,n>>>=7),0==(15&n)&&(e+=4,n>>>=4),0==(3&n)&&(e+=2,n>>>=2),0==(1&n)&&e++,e},o.prototype.bitLength=function(){var t=this.words[this.length-1],n=this._countBits(t);return 26*(this.length-1)+n},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,n=0;n<this.length;n++){var e=this._zeroBits(this.words[n]);if(t+=e,26!==e)break}return t},o.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},o.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},o.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},o.prototype.isNeg=function(){return 0!==this.negative},o.prototype.neg=function(){return this.clone().ineg()},o.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},o.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var n=0;n<t.length;n++)this.words[n]=this.words[n]|t.words[n];return this.strip()},o.prototype.ior=function(t){return r(0==(this.negative|t.negative)),this.iuor(t)},o.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},o.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},o.prototype.iuand=function(t){var n;n=this.length>t.length?t:this;for(var e=0;e<n.length;e++)this.words[e]=this.words[e]&t.words[e];return this.length=n.length,this.strip()},o.prototype.iand=function(t){return r(0==(this.negative|t.negative)),this.iuand(t)},o.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},o.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},o.prototype.iuxor=function(t){var n,e;this.length>t.length?(n=this,e=t):(n=t,e=this);for(var r=0;r<e.length;r++)this.words[r]=n.words[r]^e.words[r];if(this!==n)for(;r<n.length;r++)this.words[r]=n.words[r];return this.length=n.length,this.strip()},o.prototype.ixor=function(t){return r(0==(this.negative|t.negative)),this.iuxor(t)},o.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},o.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},o.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var n=0|Math.ceil(t/26),e=t%26;this._expand(n),e>0&&n--;for(var i=0;i<n;i++)this.words[i]=67108863&~this.words[i];return e>0&&(this.words[i]=~this.words[i]&67108863>>26-e),this.strip()},o.prototype.notn=function(t){return this.clone().inotn(t)},o.prototype.setn=function(t,n){r("number"==typeof t&&t>=0);var e=t/26|0,i=t%26;return this._expand(e+1),this.words[e]=n?this.words[e]|1<<i:this.words[e]&~(1<<i),this.strip()},o.prototype.iadd=function(t){var n,e,r;if(0!==this.negative&&0===t.negative)return this.negative=0,n=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,n=this.isub(t),t.negative=1,n._normSign();this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0,o=0;o<r.length;o++)n=(0|e.words[o])+(0|r.words[o])+i,this.words[o]=67108863&n,i=n>>>26;for(;0!==i&&o<e.length;o++)n=(0|e.words[o])+i,this.words[o]=67108863&n,i=n>>>26;if(this.length=e.length,0!==i)this.words[this.length]=i,this.length++;else if(e!==this)for(;o<e.length;o++)this.words[o]=e.words[o];return this},o.prototype.add=function(t){var n;return 0!==t.negative&&0===this.negative?(t.negative=0,n=this.sub(t),t.negative^=1,n):0===t.negative&&0!==this.negative?(this.negative=0,n=t.sub(this),this.negative=1,n):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},o.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var n=this.iadd(t);return t.negative=1,n._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var e,r,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(e=this,r=t):(e=t,r=this);for(var o=0,a=0;a<r.length;a++)o=(n=(0|e.words[a])-(0|r.words[a])+o)>>26,this.words[a]=67108863&n;for(;0!==o&&a<e.length;a++)o=(n=(0|e.words[a])+o)>>26,this.words[a]=67108863&n;if(0===o&&a<e.length&&e!==this)for(;a<e.length;a++)this.words[a]=e.words[a];return this.length=Math.max(this.length,a),e!==this&&(this.negative=1),this.strip()},o.prototype.sub=function(t){return this.clone().isub(t)};var p=function(t,n,e){var r,i,o,a=t.words,u=n.words,s=e.words,f=0,c=0|a[0],l=8191&c,h=c>>>13,p=0|a[1],d=8191&p,v=p>>>13,m=0|a[2],g=8191&m,y=m>>>13,_=0|a[3],b=8191&_,x=_>>>13,w=0|a[4],M=8191&w,k=w>>>13,A=0|a[5],z=8191&A,E=A>>>13,S=0|a[6],N=8191&S,T=S>>>13,C=0|a[7],j=8191&C,O=C>>>13,P=0|a[8],B=8191&P,R=P>>>13,I=0|a[9],D=8191&I,F=I>>>13,U=0|u[0],L=8191&U,q=U>>>13,H=0|u[1],Y=8191&H,V=H>>>13,W=0|u[2],X=8191&W,G=W>>>13,Z=0|u[3],$=8191&Z,Q=Z>>>13,K=0|u[4],J=8191&K,tt=K>>>13,nt=0|u[5],et=8191&nt,rt=nt>>>13,it=0|u[6],ot=8191&it,at=it>>>13,ut=0|u[7],st=8191&ut,ft=ut>>>13,ct=0|u[8],lt=8191&ct,ht=ct>>>13,pt=0|u[9],dt=8191&pt,vt=pt>>>13;e.negative=t.negative^n.negative,e.length=19;var mt=(f+(r=Math.imul(l,L))|0)+((8191&(i=(i=Math.imul(l,q))+Math.imul(h,L)|0))<<13)|0;f=((o=Math.imul(h,q))+(i>>>13)|0)+(mt>>>26)|0,mt&=67108863,r=Math.imul(d,L),i=(i=Math.imul(d,q))+Math.imul(v,L)|0,o=Math.imul(v,q);var gt=(f+(r=r+Math.imul(l,Y)|0)|0)+((8191&(i=(i=i+Math.imul(l,V)|0)+Math.imul(h,Y)|0))<<13)|0;f=((o=o+Math.imul(h,V)|0)+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,r=Math.imul(g,L),i=(i=Math.imul(g,q))+Math.imul(y,L)|0,o=Math.imul(y,q),r=r+Math.imul(d,Y)|0,i=(i=i+Math.imul(d,V)|0)+Math.imul(v,Y)|0,o=o+Math.imul(v,V)|0;var yt=(f+(r=r+Math.imul(l,X)|0)|0)+((8191&(i=(i=i+Math.imul(l,G)|0)+Math.imul(h,X)|0))<<13)|0;f=((o=o+Math.imul(h,G)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,r=Math.imul(b,L),i=(i=Math.imul(b,q))+Math.imul(x,L)|0,o=Math.imul(x,q),r=r+Math.imul(g,Y)|0,i=(i=i+Math.imul(g,V)|0)+Math.imul(y,Y)|0,o=o+Math.imul(y,V)|0,r=r+Math.imul(d,X)|0,i=(i=i+Math.imul(d,G)|0)+Math.imul(v,X)|0,o=o+Math.imul(v,G)|0;var _t=(f+(r=r+Math.imul(l,$)|0)|0)+((8191&(i=(i=i+Math.imul(l,Q)|0)+Math.imul(h,$)|0))<<13)|0;f=((o=o+Math.imul(h,Q)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,r=Math.imul(M,L),i=(i=Math.imul(M,q))+Math.imul(k,L)|0,o=Math.imul(k,q),r=r+Math.imul(b,Y)|0,i=(i=i+Math.imul(b,V)|0)+Math.imul(x,Y)|0,o=o+Math.imul(x,V)|0,r=r+Math.imul(g,X)|0,i=(i=i+Math.imul(g,G)|0)+Math.imul(y,X)|0,o=o+Math.imul(y,G)|0,r=r+Math.imul(d,$)|0,i=(i=i+Math.imul(d,Q)|0)+Math.imul(v,$)|0,o=o+Math.imul(v,Q)|0;var bt=(f+(r=r+Math.imul(l,J)|0)|0)+((8191&(i=(i=i+Math.imul(l,tt)|0)+Math.imul(h,J)|0))<<13)|0;f=((o=o+Math.imul(h,tt)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,r=Math.imul(z,L),i=(i=Math.imul(z,q))+Math.imul(E,L)|0,o=Math.imul(E,q),r=r+Math.imul(M,Y)|0,i=(i=i+Math.imul(M,V)|0)+Math.imul(k,Y)|0,o=o+Math.imul(k,V)|0,r=r+Math.imul(b,X)|0,i=(i=i+Math.imul(b,G)|0)+Math.imul(x,X)|0,o=o+Math.imul(x,G)|0,r=r+Math.imul(g,$)|0,i=(i=i+Math.imul(g,Q)|0)+Math.imul(y,$)|0,o=o+Math.imul(y,Q)|0,r=r+Math.imul(d,J)|0,i=(i=i+Math.imul(d,tt)|0)+Math.imul(v,J)|0,o=o+Math.imul(v,tt)|0;var xt=(f+(r=r+Math.imul(l,et)|0)|0)+((8191&(i=(i=i+Math.imul(l,rt)|0)+Math.imul(h,et)|0))<<13)|0;f=((o=o+Math.imul(h,rt)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,r=Math.imul(N,L),i=(i=Math.imul(N,q))+Math.imul(T,L)|0,o=Math.imul(T,q),r=r+Math.imul(z,Y)|0,i=(i=i+Math.imul(z,V)|0)+Math.imul(E,Y)|0,o=o+Math.imul(E,V)|0,r=r+Math.imul(M,X)|0,i=(i=i+Math.imul(M,G)|0)+Math.imul(k,X)|0,o=o+Math.imul(k,G)|0,r=r+Math.imul(b,$)|0,i=(i=i+Math.imul(b,Q)|0)+Math.imul(x,$)|0,o=o+Math.imul(x,Q)|0,r=r+Math.imul(g,J)|0,i=(i=i+Math.imul(g,tt)|0)+Math.imul(y,J)|0,o=o+Math.imul(y,tt)|0,r=r+Math.imul(d,et)|0,i=(i=i+Math.imul(d,rt)|0)+Math.imul(v,et)|0,o=o+Math.imul(v,rt)|0;var wt=(f+(r=r+Math.imul(l,ot)|0)|0)+((8191&(i=(i=i+Math.imul(l,at)|0)+Math.imul(h,ot)|0))<<13)|0;f=((o=o+Math.imul(h,at)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,r=Math.imul(j,L),i=(i=Math.imul(j,q))+Math.imul(O,L)|0,o=Math.imul(O,q),r=r+Math.imul(N,Y)|0,i=(i=i+Math.imul(N,V)|0)+Math.imul(T,Y)|0,o=o+Math.imul(T,V)|0,r=r+Math.imul(z,X)|0,i=(i=i+Math.imul(z,G)|0)+Math.imul(E,X)|0,o=o+Math.imul(E,G)|0,r=r+Math.imul(M,$)|0,i=(i=i+Math.imul(M,Q)|0)+Math.imul(k,$)|0,o=o+Math.imul(k,Q)|0,r=r+Math.imul(b,J)|0,i=(i=i+Math.imul(b,tt)|0)+Math.imul(x,J)|0,o=o+Math.imul(x,tt)|0,r=r+Math.imul(g,et)|0,i=(i=i+Math.imul(g,rt)|0)+Math.imul(y,et)|0,o=o+Math.imul(y,rt)|0,r=r+Math.imul(d,ot)|0,i=(i=i+Math.imul(d,at)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,at)|0;var Mt=(f+(r=r+Math.imul(l,st)|0)|0)+((8191&(i=(i=i+Math.imul(l,ft)|0)+Math.imul(h,st)|0))<<13)|0;f=((o=o+Math.imul(h,ft)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,r=Math.imul(B,L),i=(i=Math.imul(B,q))+Math.imul(R,L)|0,o=Math.imul(R,q),r=r+Math.imul(j,Y)|0,i=(i=i+Math.imul(j,V)|0)+Math.imul(O,Y)|0,o=o+Math.imul(O,V)|0,r=r+Math.imul(N,X)|0,i=(i=i+Math.imul(N,G)|0)+Math.imul(T,X)|0,o=o+Math.imul(T,G)|0,r=r+Math.imul(z,$)|0,i=(i=i+Math.imul(z,Q)|0)+Math.imul(E,$)|0,o=o+Math.imul(E,Q)|0,r=r+Math.imul(M,J)|0,i=(i=i+Math.imul(M,tt)|0)+Math.imul(k,J)|0,o=o+Math.imul(k,tt)|0,r=r+Math.imul(b,et)|0,i=(i=i+Math.imul(b,rt)|0)+Math.imul(x,et)|0,o=o+Math.imul(x,rt)|0,r=r+Math.imul(g,ot)|0,i=(i=i+Math.imul(g,at)|0)+Math.imul(y,ot)|0,o=o+Math.imul(y,at)|0,r=r+Math.imul(d,st)|0,i=(i=i+Math.imul(d,ft)|0)+Math.imul(v,st)|0,o=o+Math.imul(v,ft)|0;var kt=(f+(r=r+Math.imul(l,lt)|0)|0)+((8191&(i=(i=i+Math.imul(l,ht)|0)+Math.imul(h,lt)|0))<<13)|0;f=((o=o+Math.imul(h,ht)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,r=Math.imul(D,L),i=(i=Math.imul(D,q))+Math.imul(F,L)|0,o=Math.imul(F,q),r=r+Math.imul(B,Y)|0,i=(i=i+Math.imul(B,V)|0)+Math.imul(R,Y)|0,o=o+Math.imul(R,V)|0,r=r+Math.imul(j,X)|0,i=(i=i+Math.imul(j,G)|0)+Math.imul(O,X)|0,o=o+Math.imul(O,G)|0,r=r+Math.imul(N,$)|0,i=(i=i+Math.imul(N,Q)|0)+Math.imul(T,$)|0,o=o+Math.imul(T,Q)|0,r=r+Math.imul(z,J)|0,i=(i=i+Math.imul(z,tt)|0)+Math.imul(E,J)|0,o=o+Math.imul(E,tt)|0,r=r+Math.imul(M,et)|0,i=(i=i+Math.imul(M,rt)|0)+Math.imul(k,et)|0,o=o+Math.imul(k,rt)|0,r=r+Math.imul(b,ot)|0,i=(i=i+Math.imul(b,at)|0)+Math.imul(x,ot)|0,o=o+Math.imul(x,at)|0,r=r+Math.imul(g,st)|0,i=(i=i+Math.imul(g,ft)|0)+Math.imul(y,st)|0,o=o+Math.imul(y,ft)|0,r=r+Math.imul(d,lt)|0,i=(i=i+Math.imul(d,ht)|0)+Math.imul(v,lt)|0,o=o+Math.imul(v,ht)|0;var At=(f+(r=r+Math.imul(l,dt)|0)|0)+((8191&(i=(i=i+Math.imul(l,vt)|0)+Math.imul(h,dt)|0))<<13)|0;f=((o=o+Math.imul(h,vt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,r=Math.imul(D,Y),i=(i=Math.imul(D,V))+Math.imul(F,Y)|0,o=Math.imul(F,V),r=r+Math.imul(B,X)|0,i=(i=i+Math.imul(B,G)|0)+Math.imul(R,X)|0,o=o+Math.imul(R,G)|0,r=r+Math.imul(j,$)|0,i=(i=i+Math.imul(j,Q)|0)+Math.imul(O,$)|0,o=o+Math.imul(O,Q)|0,r=r+Math.imul(N,J)|0,i=(i=i+Math.imul(N,tt)|0)+Math.imul(T,J)|0,o=o+Math.imul(T,tt)|0,r=r+Math.imul(z,et)|0,i=(i=i+Math.imul(z,rt)|0)+Math.imul(E,et)|0,o=o+Math.imul(E,rt)|0,r=r+Math.imul(M,ot)|0,i=(i=i+Math.imul(M,at)|0)+Math.imul(k,ot)|0,o=o+Math.imul(k,at)|0,r=r+Math.imul(b,st)|0,i=(i=i+Math.imul(b,ft)|0)+Math.imul(x,st)|0,o=o+Math.imul(x,ft)|0,r=r+Math.imul(g,lt)|0,i=(i=i+Math.imul(g,ht)|0)+Math.imul(y,lt)|0,o=o+Math.imul(y,ht)|0;var zt=(f+(r=r+Math.imul(d,dt)|0)|0)+((8191&(i=(i=i+Math.imul(d,vt)|0)+Math.imul(v,dt)|0))<<13)|0;f=((o=o+Math.imul(v,vt)|0)+(i>>>13)|0)+(zt>>>26)|0,zt&=67108863,r=Math.imul(D,X),i=(i=Math.imul(D,G))+Math.imul(F,X)|0,o=Math.imul(F,G),r=r+Math.imul(B,$)|0,i=(i=i+Math.imul(B,Q)|0)+Math.imul(R,$)|0,o=o+Math.imul(R,Q)|0,r=r+Math.imul(j,J)|0,i=(i=i+Math.imul(j,tt)|0)+Math.imul(O,J)|0,o=o+Math.imul(O,tt)|0,r=r+Math.imul(N,et)|0,i=(i=i+Math.imul(N,rt)|0)+Math.imul(T,et)|0,o=o+Math.imul(T,rt)|0,r=r+Math.imul(z,ot)|0,i=(i=i+Math.imul(z,at)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,at)|0,r=r+Math.imul(M,st)|0,i=(i=i+Math.imul(M,ft)|0)+Math.imul(k,st)|0,o=o+Math.imul(k,ft)|0,r=r+Math.imul(b,lt)|0,i=(i=i+Math.imul(b,ht)|0)+Math.imul(x,lt)|0,o=o+Math.imul(x,ht)|0;var Et=(f+(r=r+Math.imul(g,dt)|0)|0)+((8191&(i=(i=i+Math.imul(g,vt)|0)+Math.imul(y,dt)|0))<<13)|0;f=((o=o+Math.imul(y,vt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,r=Math.imul(D,$),i=(i=Math.imul(D,Q))+Math.imul(F,$)|0,o=Math.imul(F,Q),r=r+Math.imul(B,J)|0,i=(i=i+Math.imul(B,tt)|0)+Math.imul(R,J)|0,o=o+Math.imul(R,tt)|0,r=r+Math.imul(j,et)|0,i=(i=i+Math.imul(j,rt)|0)+Math.imul(O,et)|0,o=o+Math.imul(O,rt)|0,r=r+Math.imul(N,ot)|0,i=(i=i+Math.imul(N,at)|0)+Math.imul(T,ot)|0,o=o+Math.imul(T,at)|0,r=r+Math.imul(z,st)|0,i=(i=i+Math.imul(z,ft)|0)+Math.imul(E,st)|0,o=o+Math.imul(E,ft)|0,r=r+Math.imul(M,lt)|0,i=(i=i+Math.imul(M,ht)|0)+Math.imul(k,lt)|0,o=o+Math.imul(k,ht)|0;var St=(f+(r=r+Math.imul(b,dt)|0)|0)+((8191&(i=(i=i+Math.imul(b,vt)|0)+Math.imul(x,dt)|0))<<13)|0;f=((o=o+Math.imul(x,vt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,r=Math.imul(D,J),i=(i=Math.imul(D,tt))+Math.imul(F,J)|0,o=Math.imul(F,tt),r=r+Math.imul(B,et)|0,i=(i=i+Math.imul(B,rt)|0)+Math.imul(R,et)|0,o=o+Math.imul(R,rt)|0,r=r+Math.imul(j,ot)|0,i=(i=i+Math.imul(j,at)|0)+Math.imul(O,ot)|0,o=o+Math.imul(O,at)|0,r=r+Math.imul(N,st)|0,i=(i=i+Math.imul(N,ft)|0)+Math.imul(T,st)|0,o=o+Math.imul(T,ft)|0,r=r+Math.imul(z,lt)|0,i=(i=i+Math.imul(z,ht)|0)+Math.imul(E,lt)|0,o=o+Math.imul(E,ht)|0;var Nt=(f+(r=r+Math.imul(M,dt)|0)|0)+((8191&(i=(i=i+Math.imul(M,vt)|0)+Math.imul(k,dt)|0))<<13)|0;f=((o=o+Math.imul(k,vt)|0)+(i>>>13)|0)+(Nt>>>26)|0,Nt&=67108863,r=Math.imul(D,et),i=(i=Math.imul(D,rt))+Math.imul(F,et)|0,o=Math.imul(F,rt),r=r+Math.imul(B,ot)|0,i=(i=i+Math.imul(B,at)|0)+Math.imul(R,ot)|0,o=o+Math.imul(R,at)|0,r=r+Math.imul(j,st)|0,i=(i=i+Math.imul(j,ft)|0)+Math.imul(O,st)|0,o=o+Math.imul(O,ft)|0,r=r+Math.imul(N,lt)|0,i=(i=i+Math.imul(N,ht)|0)+Math.imul(T,lt)|0,o=o+Math.imul(T,ht)|0;var Tt=(f+(r=r+Math.imul(z,dt)|0)|0)+((8191&(i=(i=i+Math.imul(z,vt)|0)+Math.imul(E,dt)|0))<<13)|0;f=((o=o+Math.imul(E,vt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,r=Math.imul(D,ot),i=(i=Math.imul(D,at))+Math.imul(F,ot)|0,o=Math.imul(F,at),r=r+Math.imul(B,st)|0,i=(i=i+Math.imul(B,ft)|0)+Math.imul(R,st)|0,o=o+Math.imul(R,ft)|0,r=r+Math.imul(j,lt)|0,i=(i=i+Math.imul(j,ht)|0)+Math.imul(O,lt)|0,o=o+Math.imul(O,ht)|0;var Ct=(f+(r=r+Math.imul(N,dt)|0)|0)+((8191&(i=(i=i+Math.imul(N,vt)|0)+Math.imul(T,dt)|0))<<13)|0;f=((o=o+Math.imul(T,vt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,r=Math.imul(D,st),i=(i=Math.imul(D,ft))+Math.imul(F,st)|0,o=Math.imul(F,ft),r=r+Math.imul(B,lt)|0,i=(i=i+Math.imul(B,ht)|0)+Math.imul(R,lt)|0,o=o+Math.imul(R,ht)|0;var jt=(f+(r=r+Math.imul(j,dt)|0)|0)+((8191&(i=(i=i+Math.imul(j,vt)|0)+Math.imul(O,dt)|0))<<13)|0;f=((o=o+Math.imul(O,vt)|0)+(i>>>13)|0)+(jt>>>26)|0,jt&=67108863,r=Math.imul(D,lt),i=(i=Math.imul(D,ht))+Math.imul(F,lt)|0,o=Math.imul(F,ht);var Ot=(f+(r=r+Math.imul(B,dt)|0)|0)+((8191&(i=(i=i+Math.imul(B,vt)|0)+Math.imul(R,dt)|0))<<13)|0;f=((o=o+Math.imul(R,vt)|0)+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863;var Pt=(f+(r=Math.imul(D,dt))|0)+((8191&(i=(i=Math.imul(D,vt))+Math.imul(F,dt)|0))<<13)|0;return f=((o=Math.imul(F,vt))+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,s[0]=mt,s[1]=gt,s[2]=yt,s[3]=_t,s[4]=bt,s[5]=xt,s[6]=wt,s[7]=Mt,s[8]=kt,s[9]=At,s[10]=zt,s[11]=Et,s[12]=St,s[13]=Nt,s[14]=Tt,s[15]=Ct,s[16]=jt,s[17]=Ot,s[18]=Pt,0!==f&&(s[19]=f,e.length++),e};function d(t,n,e){return(new v).mulp(t,n,e)}function v(t,n){this.x=t,this.y=n}Math.imul||(p=h),o.prototype.mulTo=function(t,n){var e=this.length+t.length;return 10===this.length&&10===t.length?p(this,t,n):e<63?h(this,t,n):e<1024?function(t,n,e){e.negative=n.negative^t.negative,e.length=t.length+n.length;for(var r=0,i=0,o=0;o<e.length-1;o++){var a=i;i=0;for(var u=67108863&r,s=Math.min(o,n.length-1),f=Math.max(0,o-t.length+1);f<=s;f++){var c=o-f,l=(0|t.words[c])*(0|n.words[f]),h=67108863&l;u=67108863&(h=h+u|0),i+=(a=(a=a+(l/67108864|0)|0)+(h>>>26)|0)>>>26,a&=67108863}e.words[o]=u,r=a,a=i}return 0!==r?e.words[o]=r:e.length--,e.strip()}(this,t,n):d(this,t,n)},v.prototype.makeRBT=function(t){for(var n=new Array(t),e=o.prototype._countBits(t)-1,r=0;r<t;r++)n[r]=this.revBin(r,e,t);return n},v.prototype.revBin=function(t,n,e){if(0===t||t===e-1)return t;for(var r=0,i=0;i<n;i++)r|=(1&t)<<n-i-1,t>>=1;return r},v.prototype.permute=function(t,n,e,r,i,o){for(var a=0;a<o;a++)r[a]=n[t[a]],i[a]=e[t[a]]},v.prototype.transform=function(t,n,e,r,i,o){this.permute(o,t,n,e,r,i);for(var a=1;a<i;a<<=1)for(var u=a<<1,s=Math.cos(2*Math.PI/u),f=Math.sin(2*Math.PI/u),c=0;c<i;c+=u)for(var l=s,h=f,p=0;p<a;p++){var d=e[c+p],v=r[c+p],m=e[c+p+a],g=r[c+p+a],y=l*m-h*g;g=l*g+h*m,m=y,e[c+p]=d+m,r[c+p]=v+g,e[c+p+a]=d-m,r[c+p+a]=v-g,p!==u&&(y=s*l-f*h,h=s*h+f*l,l=y)}},v.prototype.guessLen13b=function(t,n){var e=1|Math.max(n,t),r=1&e,i=0;for(e=e/2|0;e;e>>>=1)i++;return 1<<i+1+r},v.prototype.conjugate=function(t,n,e){if(!(e<=1))for(var r=0;r<e/2;r++){var i=t[r];t[r]=t[e-r-1],t[e-r-1]=i,i=n[r],n[r]=-n[e-r-1],n[e-r-1]=-i}},v.prototype.normalize13b=function(t,n){for(var e=0,r=0;r<n/2;r++){var i=8192*Math.round(t[2*r+1]/n)+Math.round(t[2*r]/n)+e;t[r]=67108863&i,e=i<67108864?0:i/67108864|0}return t},v.prototype.convert13b=function(t,n,e,i){for(var o=0,a=0;a<n;a++)o+=0|t[a],e[2*a]=8191&o,o>>>=13,e[2*a+1]=8191&o,o>>>=13;for(a=2*n;a<i;++a)e[a]=0;r(0===o),r(0==(-8192&o))},v.prototype.stub=function(t){for(var n=new Array(t),e=0;e<t;e++)n[e]=0;return n},v.prototype.mulp=function(t,n,e){var r=2*this.guessLen13b(t.length,n.length),i=this.makeRBT(r),o=this.stub(r),a=new Array(r),u=new Array(r),s=new Array(r),f=new Array(r),c=new Array(r),l=new Array(r),h=e.words;h.length=r,this.convert13b(t.words,t.length,a,r),this.convert13b(n.words,n.length,f,r),this.transform(a,o,u,s,r,i),this.transform(f,o,c,l,r,i);for(var p=0;p<r;p++){var d=u[p]*c[p]-s[p]*l[p];s[p]=u[p]*l[p]+s[p]*c[p],u[p]=d}return this.conjugate(u,s,r),this.transform(u,s,h,o,r,i),this.conjugate(h,o,r),this.normalize13b(h,r),e.negative=t.negative^n.negative,e.length=t.length+n.length,e.strip()},o.prototype.mul=function(t){var n=new o(null);return n.words=new Array(this.length+t.length),this.mulTo(t,n)},o.prototype.mulf=function(t){var n=new o(null);return n.words=new Array(this.length+t.length),d(this,t,n)},o.prototype.imul=function(t){return this.clone().mulTo(t,this)},o.prototype.imuln=function(t){r("number"==typeof t),r(t<67108864);for(var n=0,e=0;e<this.length;e++){var i=(0|this.words[e])*t,o=(67108863&i)+(67108863&n);n>>=26,n+=i/67108864|0,n+=o>>>26,this.words[e]=67108863&o}return 0!==n&&(this.words[e]=n,this.length++),this},o.prototype.muln=function(t){return this.clone().imuln(t)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(t){var n=function(t){for(var n=new Array(t.bitLength()),e=0;e<n.length;e++){var r=e/26|0,i=e%26;n[e]=(t.words[r]&1<<i)>>>i}return n}(t);if(0===n.length)return new o(1);for(var e=this,r=0;r<n.length&&0===n[r];r++,e=e.sqr());if(++r<n.length)for(var i=e.sqr();r<n.length;r++,i=i.sqr())0!==n[r]&&(e=e.mul(i));return e},o.prototype.iushln=function(t){r("number"==typeof t&&t>=0);var n,e=t%26,i=(t-e)/26,o=67108863>>>26-e<<26-e;if(0!==e){var a=0;for(n=0;n<this.length;n++){var u=this.words[n]&o,s=(0|this.words[n])-u<<e;this.words[n]=s|a,a=u>>>26-e}a&&(this.words[n]=a,this.length++)}if(0!==i){for(n=this.length-1;n>=0;n--)this.words[n+i]=this.words[n];for(n=0;n<i;n++)this.words[n]=0;this.length+=i}return this.strip()},o.prototype.ishln=function(t){return r(0===this.negative),this.iushln(t)},o.prototype.iushrn=function(t,n,e){var i;r("number"==typeof t&&t>=0),i=n?(n-n%26)/26:0;var o=t%26,a=Math.min((t-o)/26,this.length),u=67108863^67108863>>>o<<o,s=e;if(i-=a,i=Math.max(0,i),s){for(var f=0;f<a;f++)s.words[f]=this.words[f];s.length=a}if(0===a);else if(this.length>a)for(this.length-=a,f=0;f<this.length;f++)this.words[f]=this.words[f+a];else this.words[0]=0,this.length=1;var c=0;for(f=this.length-1;f>=0&&(0!==c||f>=i);f--){var l=0|this.words[f];this.words[f]=c<<26-o|l>>>o,c=l&u}return s&&0!==c&&(s.words[s.length++]=c),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(t,n,e){return r(0===this.negative),this.iushrn(t,n,e)},o.prototype.shln=function(t){return this.clone().ishln(t)},o.prototype.ushln=function(t){return this.clone().iushln(t)},o.prototype.shrn=function(t){return this.clone().ishrn(t)},o.prototype.ushrn=function(t){return this.clone().iushrn(t)},o.prototype.testn=function(t){r("number"==typeof t&&t>=0);var n=t%26,e=(t-n)/26,i=1<<n;return!(this.length<=e)&&!!(this.words[e]&i)},o.prototype.imaskn=function(t){r("number"==typeof t&&t>=0);var n=t%26,e=(t-n)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=e)return this;if(0!==n&&e++,this.length=Math.min(e,this.length),0!==n){var i=67108863^67108863>>>n<<n;this.words[this.length-1]&=i}return this.strip()},o.prototype.maskn=function(t){return this.clone().imaskn(t)},o.prototype.iaddn=function(t){return r("number"==typeof t),r(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},o.prototype._iaddn=function(t){this.words[0]+=t;for(var n=0;n<this.length&&this.words[n]>=67108864;n++)this.words[n]-=67108864,n===this.length-1?this.words[n+1]=1:this.words[n+1]++;return this.length=Math.max(this.length,n+1),this},o.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var n=0;n<this.length&&this.words[n]<0;n++)this.words[n]+=67108864,this.words[n+1]-=1;return this.strip()},o.prototype.addn=function(t){return this.clone().iaddn(t)},o.prototype.subn=function(t){return this.clone().isubn(t)},o.prototype.iabs=function(){return this.negative=0,this},o.prototype.abs=function(){return this.clone().iabs()},o.prototype._ishlnsubmul=function(t,n,e){var i,o,a=t.length+e;this._expand(a);var u=0;for(i=0;i<t.length;i++){o=(0|this.words[i+e])+u;var s=(0|t.words[i])*n;u=((o-=67108863&s)>>26)-(s/67108864|0),this.words[i+e]=67108863&o}for(;i<this.length-e;i++)u=(o=(0|this.words[i+e])+u)>>26,this.words[i+e]=67108863&o;if(0===u)return this.strip();for(r(-1===u),u=0,i=0;i<this.length;i++)u=(o=-(0|this.words[i])+u)>>26,this.words[i]=67108863&o;return this.negative=1,this.strip()},o.prototype._wordDiv=function(t,n){var e=(this.length,t.length),r=this.clone(),i=t,a=0|i.words[i.length-1];0!==(e=26-this._countBits(a))&&(i=i.ushln(e),r.iushln(e),a=0|i.words[i.length-1]);var u,s=r.length-i.length;if("mod"!==n){(u=new o(null)).length=s+1,u.words=new Array(u.length);for(var f=0;f<u.length;f++)u.words[f]=0}var c=r.clone()._ishlnsubmul(i,1,s);0===c.negative&&(r=c,u&&(u.words[s]=1));for(var l=s-1;l>=0;l--){var h=67108864*(0|r.words[i.length+l])+(0|r.words[i.length+l-1]);for(h=Math.min(h/a|0,67108863),r._ishlnsubmul(i,h,l);0!==r.negative;)h--,r.negative=0,r._ishlnsubmul(i,1,l),r.isZero()||(r.negative^=1);u&&(u.words[l]=h)}return u&&u.strip(),r.strip(),"div"!==n&&0!==e&&r.iushrn(e),{div:u||null,mod:r}},o.prototype.divmod=function(t,n,e){return r(!t.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===t.negative?(u=this.neg().divmod(t,n),"mod"!==n&&(i=u.div.neg()),"div"!==n&&(a=u.mod.neg(),e&&0!==a.negative&&a.iadd(t)),{div:i,mod:a}):0===this.negative&&0!==t.negative?(u=this.divmod(t.neg(),n),"mod"!==n&&(i=u.div.neg()),{div:i,mod:u.mod}):0!=(this.negative&t.negative)?(u=this.neg().divmod(t.neg(),n),"div"!==n&&(a=u.mod.neg(),e&&0!==a.negative&&a.isub(t)),{div:u.div,mod:a}):t.length>this.length||this.cmp(t)<0?{div:new o(0),mod:this}:1===t.length?"div"===n?{div:this.divn(t.words[0]),mod:null}:"mod"===n?{div:null,mod:new o(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new o(this.modn(t.words[0]))}:this._wordDiv(t,n);var i,a,u},o.prototype.div=function(t){return this.divmod(t,"div",!1).div},o.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},o.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},o.prototype.divRound=function(t){var n=this.divmod(t);if(n.mod.isZero())return n.div;var e=0!==n.div.negative?n.mod.isub(t):n.mod,r=t.ushrn(1),i=t.andln(1),o=e.cmp(r);return o<0||1===i&&0===o?n.div:0!==n.div.negative?n.div.isubn(1):n.div.iaddn(1)},o.prototype.modn=function(t){r(t<=67108863);for(var n=(1<<26)%t,e=0,i=this.length-1;i>=0;i--)e=(n*e+(0|this.words[i]))%t;return e},o.prototype.idivn=function(t){r(t<=67108863);for(var n=0,e=this.length-1;e>=0;e--){var i=(0|this.words[e])+67108864*n;this.words[e]=i/t|0,n=i%t}return this.strip()},o.prototype.divn=function(t){return this.clone().idivn(t)},o.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var n=this,e=t.clone();n=0!==n.negative?n.umod(t):n.clone();for(var i=new o(1),a=new o(0),u=new o(0),s=new o(1),f=0;n.isEven()&&e.isEven();)n.iushrn(1),e.iushrn(1),++f;for(var c=e.clone(),l=n.clone();!n.isZero();){for(var h=0,p=1;0==(n.words[0]&p)&&h<26;++h,p<<=1);if(h>0)for(n.iushrn(h);h-- >0;)(i.isOdd()||a.isOdd())&&(i.iadd(c),a.isub(l)),i.iushrn(1),a.iushrn(1);for(var d=0,v=1;0==(e.words[0]&v)&&d<26;++d,v<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(u.isOdd()||s.isOdd())&&(u.iadd(c),s.isub(l)),u.iushrn(1),s.iushrn(1);n.cmp(e)>=0?(n.isub(e),i.isub(u),a.isub(s)):(e.isub(n),u.isub(i),s.isub(a))}return{a:u,b:s,gcd:e.iushln(f)}},o.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var n=this,e=t.clone();n=0!==n.negative?n.umod(t):n.clone();for(var i,a=new o(1),u=new o(0),s=e.clone();n.cmpn(1)>0&&e.cmpn(1)>0;){for(var f=0,c=1;0==(n.words[0]&c)&&f<26;++f,c<<=1);if(f>0)for(n.iushrn(f);f-- >0;)a.isOdd()&&a.iadd(s),a.iushrn(1);for(var l=0,h=1;0==(e.words[0]&h)&&l<26;++l,h<<=1);if(l>0)for(e.iushrn(l);l-- >0;)u.isOdd()&&u.iadd(s),u.iushrn(1);n.cmp(e)>=0?(n.isub(e),a.isub(u)):(e.isub(n),u.isub(a))}return(i=0===n.cmpn(1)?a:u).cmpn(0)<0&&i.iadd(t),i},o.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var n=this.clone(),e=t.clone();n.negative=0,e.negative=0;for(var r=0;n.isEven()&&e.isEven();r++)n.iushrn(1),e.iushrn(1);for(;;){for(;n.isEven();)n.iushrn(1);for(;e.isEven();)e.iushrn(1);var i=n.cmp(e);if(i<0){var o=n;n=e,e=o}else if(0===i||0===e.cmpn(1))break;n.isub(e)}return e.iushln(r)},o.prototype.invm=function(t){return this.egcd(t).a.umod(t)},o.prototype.isEven=function(){return 0==(1&this.words[0])},o.prototype.isOdd=function(){return 1==(1&this.words[0])},o.prototype.andln=function(t){return this.words[0]&t},o.prototype.bincn=function(t){r("number"==typeof t);var n=t%26,e=(t-n)/26,i=1<<n;if(this.length<=e)return this._expand(e+1),this.words[e]|=i,this;for(var o=i,a=e;0!==o&&a<this.length;a++){var u=0|this.words[a];o=(u+=o)>>>26,u&=67108863,this.words[a]=u}return 0!==o&&(this.words[a]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(t){var n,e=t<0;if(0!==this.negative&&!e)return-1;if(0===this.negative&&e)return 1;if(this.strip(),this.length>1)n=1;else{e&&(t=-t),r(t<=67108863,"Number is too big");var i=0|this.words[0];n=i===t?0:i<t?-1:1}return 0!==this.negative?0|-n:n},o.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var n=this.ucmp(t);return 0!==this.negative?0|-n:n},o.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var n=0,e=this.length-1;e>=0;e--){var r=0|this.words[e],i=0|t.words[e];if(r!==i){r<i?n=-1:r>i&&(n=1);break}}return n},o.prototype.gtn=function(t){return 1===this.cmpn(t)},o.prototype.gt=function(t){return 1===this.cmp(t)},o.prototype.gten=function(t){return this.cmpn(t)>=0},o.prototype.gte=function(t){return this.cmp(t)>=0},o.prototype.ltn=function(t){return-1===this.cmpn(t)},o.prototype.lt=function(t){return-1===this.cmp(t)},o.prototype.lten=function(t){return this.cmpn(t)<=0},o.prototype.lte=function(t){return this.cmp(t)<=0},o.prototype.eqn=function(t){return 0===this.cmpn(t)},o.prototype.eq=function(t){return 0===this.cmp(t)},o.red=function(t){return new w(t)},o.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},o.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(t){return this.red=t,this},o.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},o.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},o.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},o.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},o.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},o.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},o.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},o.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},o.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var m={k256:null,p224:null,p192:null,p25519:null};function g(t,n){this.name=t,this.p=new o(n,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function y(){g.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function _(){g.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function b(){g.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function x(){g.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function w(t){if("string"==typeof t){var n=o._prime(t);this.m=n.p,this.prime=n}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function M(t){w.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}g.prototype._tmp=function(){var t=new o(null);return t.words=new Array(Math.ceil(this.n/13)),t},g.prototype.ireduce=function(t){var n,e=t;do{this.split(e,this.tmp),n=(e=(e=this.imulK(e)).iadd(this.tmp)).bitLength()}while(n>this.n);var r=n<this.n?-1:e.ucmp(this.p);return 0===r?(e.words[0]=0,e.length=1):r>0?e.isub(this.p):e.strip(),e},g.prototype.split=function(t,n){t.iushrn(this.n,0,n)},g.prototype.imulK=function(t){return t.imul(this.k)},i(y,g),y.prototype.split=function(t,n){for(var e=Math.min(t.length,9),r=0;r<e;r++)n.words[r]=t.words[r];if(n.length=e,t.length<=9)return t.words[0]=0,void(t.length=1);var i=t.words[9];for(n.words[n.length++]=4194303&i,r=10;r<t.length;r++){var o=0|t.words[r];t.words[r-10]=(4194303&o)<<4|i>>>22,i=o}i>>>=22,t.words[r-10]=i,0===i&&t.length>10?t.length-=10:t.length-=9},y.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var n=0,e=0;e<t.length;e++){var r=0|t.words[e];n+=977*r,t.words[e]=67108863&n,n=64*r+(n/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},i(_,g),i(b,g),i(x,g),x.prototype.imulK=function(t){for(var n=0,e=0;e<t.length;e++){var r=19*(0|t.words[e])+n,i=67108863&r;r>>>=26,t.words[e]=i,n=r}return 0!==n&&(t.words[t.length++]=n),t},o._prime=function(t){if(m[t])return m[t];var n;if("k256"===t)n=new y;else if("p224"===t)n=new _;else if("p192"===t)n=new b;else{if("p25519"!==t)throw new Error("Unknown prime "+t);n=new x}return m[t]=n,n},w.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},w.prototype._verify2=function(t,n){r(0==(t.negative|n.negative),"red works only with positives"),r(t.red&&t.red===n.red,"red works only with red numbers")},w.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},w.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},w.prototype.add=function(t,n){this._verify2(t,n);var e=t.add(n);return e.cmp(this.m)>=0&&e.isub(this.m),e._forceRed(this)},w.prototype.iadd=function(t,n){this._verify2(t,n);var e=t.iadd(n);return e.cmp(this.m)>=0&&e.isub(this.m),e},w.prototype.sub=function(t,n){this._verify2(t,n);var e=t.sub(n);return e.cmpn(0)<0&&e.iadd(this.m),e._forceRed(this)},w.prototype.isub=function(t,n){this._verify2(t,n);var e=t.isub(n);return e.cmpn(0)<0&&e.iadd(this.m),e},w.prototype.shl=function(t,n){return this._verify1(t),this.imod(t.ushln(n))},w.prototype.imul=function(t,n){return this._verify2(t,n),this.imod(t.imul(n))},w.prototype.mul=function(t,n){return this._verify2(t,n),this.imod(t.mul(n))},w.prototype.isqr=function(t){return this.imul(t,t.clone())},w.prototype.sqr=function(t){return this.mul(t,t)},w.prototype.sqrt=function(t){if(t.isZero())return t.clone();var n=this.m.andln(3);if(r(n%2==1),3===n){var e=this.m.add(new o(1)).iushrn(2);return this.pow(t,e)}for(var i=this.m.subn(1),a=0;!i.isZero()&&0===i.andln(1);)a++,i.iushrn(1);r(!i.isZero());var u=new o(1).toRed(this),s=u.redNeg(),f=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new o(2*c*c).toRed(this);0!==this.pow(c,f).cmp(s);)c.redIAdd(s);for(var l=this.pow(c,i),h=this.pow(t,i.addn(1).iushrn(1)),p=this.pow(t,i),d=a;0!==p.cmp(u);){for(var v=p,m=0;0!==v.cmp(u);m++)v=v.redSqr();r(m<d);var g=this.pow(l,new o(1).iushln(d-m-1));h=h.redMul(g),l=g.redSqr(),p=p.redMul(l),d=m}return h},w.prototype.invm=function(t){var n=t._invmp(this.m);return 0!==n.negative?(n.negative=0,this.imod(n).redNeg()):this.imod(n)},w.prototype.pow=function(t,n){if(n.isZero())return new o(1).toRed(this);if(0===n.cmpn(1))return t.clone();var e=new Array(16);e[0]=new o(1).toRed(this),e[1]=t;for(var r=2;r<e.length;r++)e[r]=this.mul(e[r-1],t);var i=e[0],a=0,u=0,s=n.bitLength()%26;for(0===s&&(s=26),r=n.length-1;r>=0;r--){for(var f=n.words[r],c=s-1;c>=0;c--){var l=f>>c&1;i!==e[0]&&(i=this.sqr(i)),0!==l||0!==a?(a<<=1,a|=l,(4===++u||0===r&&0===c)&&(i=this.mul(i,e[a]),u=0,a=0)):u=0}s=26}return i},w.prototype.convertTo=function(t){var n=t.umod(this.m);return n===t?n.clone():n},w.prototype.convertFrom=function(t){var n=t.clone();return n.red=null,n},o.mont=function(t){return new M(t)},i(M,w),M.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},M.prototype.convertFrom=function(t){var n=this.imod(t.mul(this.rinv));return n.red=null,n},M.prototype.imul=function(t,n){if(t.isZero()||n.isZero())return t.words[0]=0,t.length=1,t;var e=t.imul(n),r=e.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=e.isub(r).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},M.prototype.mul=function(t,n){if(t.isZero()||n.isZero())return new o(0)._forceRed(this);var e=t.mul(n),r=e.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=e.isub(r).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},M.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t,this)}).call(this,e(187)(t))},function(t,n,e){"use strict";function r(t,n,e,r,i){var o=["function ",t,"(a,l,h,",r.join(","),"){",i?"":"var i=",e?"l-1":"h+1",";while(l<=h){var m=(l+h)>>>1,x=a[m]"];return i?n.indexOf("c")<0?o.push(";if(x===y){return m}else if(x<=y){"):o.push(";var p=c(x,y);if(p===0){return m}else if(p<=0){"):o.push(";if(",n,"){i=m;"),e?o.push("l=m+1}else{h=m-1}"):o.push("h=m-1}else{l=m+1}"),o.push("}"),i?o.push("return -1};"):o.push("return i};"),o.join("")}function i(t,n,e,i){return new Function([r("A","x"+t+"y",n,["y"],i),r("P","c(x,y)"+t+"0",n,["y","c"],i),"function dispatchBsearch",e,"(a,y,c,l,h){if(typeof(c)==='function'){return P(a,(l===void 0)?0:l|0,(h===void 0)?a.length-1:h|0,y,c)}else{return A(a,(c===void 0)?0:c|0,(l===void 0)?a.length-1:l|0,y)}}return dispatchBsearch",e].join(""))()}t.exports={ge:i(">=",!1,"GE"),gt:i(">",!1,"GT"),lt:i("<",!0,"LT"),le:i("<=",!0,"LE"),eq:i("-",!0,"EQ",!0)}},function(t,n,e){"use strict";t.exports=function t(n,e,r){return n&&"function"==typeof n.map?n.map((function(n){return t(n,e,r)})):e(n)}},function(t,n,e){"use strict";var r=e(4),i=e(38),o=(e(3),e(95),e(6)),a=e(344);n.size=function(t){for(var n=[];Array.isArray(t);)n.push(t.length),t=t[0];return n},n.validate=function(t,n){if(0==n.length){if(Array.isArray(t))throw new o(t.length,0)}else!function t(n,e,r){var i,a=n.length;if(a!=e[r])throw new o(a,e[r]);if(r<e.length-1){var u=r+1;for(i=0;i<a;i++){var s=n[i];if(!Array.isArray(s))throw new o(e.length-1,e.length,"<");t(n[i],e,u)}}else for(i=0;i<a;i++)if(Array.isArray(n[i]))throw new o(e.length+1,e.length,">")}(t,n,0)},n.validateIndex=function(t,n){if(!r.isNumber(t)||!r.isInteger(t))throw new TypeError("Index must be an integer (value: "+t+")");if(t<0||"number"==typeof n&&t>=n)throw new a(t,n)},n.UNINITIALIZED={},n.resize=function(t,e,o){if(!Array.isArray(t)||!Array.isArray(e))throw new TypeError("Array expected");if(0===e.length)throw new Error("Resizing to scalar is not supported");return e.forEach((function(t){if(!r.isNumber(t)||!r.isInteger(t)||t<0)throw new TypeError("Invalid size, must contain positive integers (size: "+i.format(e)+")")})),function t(e,r,i,o){var a,u,s=e.length,f=r[i],c=Math.min(s,f);if(e.length=f,i<r.length-1){var l=i+1;for(a=0;a<c;a++)u=e[a],Array.isArray(u)||(u=[u],e[a]=u),t(u,r,l,o);for(a=c;a<f;a++)u=[],e[a]=u,t(u,r,l,o)}else{for(a=0;a<c;a++)for(;Array.isArray(e[a]);)e[a]=e[a][0];if(o!==n.UNINITIALIZED)for(a=c;a<f;a++)e[a]=o}}(t,e,0,void 0!==o?o:0),t},n.reshape=function(t,e){var r,i=n.flatten(t),a=function(t){return t.reduce((function(t,n){return t*n}))};if(!Array.isArray(t)||!Array.isArray(e))throw new TypeError("Array expected");if(0===e.length)throw new o(0,a(n.size(t)),"!=");try{r=function t(n,e){var r,i=[];if(0===e.length){if(0===n.length)throw new o(null,null,"!=");return n.shift()}for(r=0;r<e[0];r+=1)i.push(t(n,e.slice(1)));return i}(i,e)}catch(r){if(r instanceof o)throw new o(a(e),a(n.size(t)),"!=");throw r}if(i.length>0)throw new o(a(e),a(n.size(t)),"!=");return r},n.squeeze=function(t,e){for(var r=e||n.size(t);Array.isArray(t)&&1===t.length;)t=t[0],r.shift();for(var i=r.length;1===r[i-1];)i--;return i<r.length&&(t=function t(n,e,r){var i,o;if(r<e){var a=r+1;for(i=0,o=n.length;i<o;i++)n[i]=t(n[i],e,a)}else for(;Array.isArray(n);)n=n[0];return n}(t,i,0),r.length=i),t},n.unsqueeze=function(t,e,r,i){var o=i||n.size(t);if(r)for(var a=0;a<r;a++)t=[t],o.unshift(1);for(t=function t(n,e,r){var i,o;if(Array.isArray(n)){var a=r+1;for(i=0,o=n.length;i<o;i++)n[i]=t(n[i],e,a)}else for(var u=r;u<e;u++)n=[n];return n}(t,e,0);o.length<e;)o.push(1);return t},n.flatten=function(t){if(!Array.isArray(t))return t;var n=[];return t.forEach((function t(e){Array.isArray(e)?e.forEach(t):n.push(e)})),n},n.map=function(t,n){return Array.prototype.map.call(t,n)},n.forEach=function(t,n){Array.prototype.forEach.call(t,n)},n.filter=function(t,e){if(1!==n.size(t).length)throw new Error("Only one dimensional matrices supported");return Array.prototype.filter.call(t,e)},n.filterRegExp=function(t,e){if(1!==n.size(t).length)throw new Error("Only one dimensional matrices supported");return Array.prototype.filter.call(t,(function(t){return e.test(t)}))},n.join=function(t,n){return Array.prototype.join.call(t,n)},n.identify=function(t){if(!Array.isArray(t))throw new TypeError("Array input expected");if(0===t.length)return t;var n=[],e=0;n[0]={value:t[0],identifier:0};for(var r=1;r<t.length;r++)t[r]===t[r-1]?e++:e=0,n.push({value:t[r],identifier:e});return n},n.generalize=function(t){if(!Array.isArray(t))throw new TypeError("Array input expected");if(0===t.length)return t;for(var n=[],e=0;e<t.length;e++)n.push(t[e].value);return n},n.isArray=Array.isArray},function(t,n,e){"use strict";var r=e(3).clone;n.name="algorithm14",n.factory=function(t,n,e,i){var o=t.DenseMatrix,a=function(t,n,e,r,i,o,u){var s=[];if(n===e.length-1)for(var f=0;f<r;f++)s[f]=u?t(o,i[f]):t(i[f],o);else for(var c=0;c<r;c++)s[c]=a(t,n+1,e,e[n+1],i[c],o,u);return s};return function(t,n,e,u){var s,f=t._data,c=t._size,l=t._datatype,h=e;"string"==typeof l&&(s=l,n=i.convert(n,s),h=i.find(e,[s,s]));var p=c.length>0?a(h,0,c,c[0],f,n,u):[];return new o({data:p,size:r(c),datatype:s})}}},function(t,n){t.exports=function(t){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var i in r)e.call(r,i)&&(t[i]=r[i])}return t};var e=Object.prototype.hasOwnProperty},function(t,n,e){"use strict";t.exports=function(t,n,e){return 0===t.length?t:n?(e||t.sort(n),function(t,n){for(var e=1,r=t.length,i=t[0],o=t[0],a=1;a<r;++a)if(o=i,n(i=t[a],o)){if(a===e){e++;continue}t[e++]=i}return t.length=e,t}(t,n)):(e||t.sort(),function(t){for(var n=1,e=t.length,r=t[0],i=t[0],o=1;o<e;++o,i=r)if(i=r,(r=t[o])!==i){if(o===n){n++;continue}t[n++]=r}return t.length=n,t}(t))}},function(t,n,e){"use strict";var r=e(24),i=e(62);t.exports=function(t,n){var e=t.length;if(1===e){var o=r(t[0],n);return o[0]?o:[o[1]]}var a=new Array(2*e),u=[.1,.1],s=[.1,.1],f=0;r(t[0],n,u),u[0]&&(a[f++]=u[0]);for(var c=1;c<e;++c){r(t[c],n,s);var l=u[1];i(l,s[0],u),u[0]&&(a[f++]=u[0]);var h=s[1],p=u[1],d=h+p,v=p-(d-h);u[1]=d,v&&(a[f++]=v)}u[1]&&(a[f++]=u[1]);0===f&&(a[f++]=0);return a.length=f,a}},function(t,n,e){"use strict";var r=e(186),i=e(66),o=e(67),a=e(189),u=e(15),s=e(68);t.exports=function t(n,e){if(r(n))return e?s(n,t(e)):[n[0].clone(),n[1].clone()];var f,c,l=0;if(i(n))f=n.clone();else if("string"==typeof n)f=a(n);else{if(0===n)return[o(0),o(1)];if(n===Math.floor(n))f=o(n);else{for(;n!==Math.floor(n);)n*=Math.pow(2,256),l-=256;f=o(n)}}if(r(e))f.mul(e[1]),c=e[0].clone();else if(i(e))c=e.clone();else if("string"==typeof e)c=a(e);else if(e)if(e===Math.floor(e))c=o(e);else{for(;e!==Math.floor(e);)e*=Math.pow(2,256),l+=256;c=o(e)}else c=o(1);l>0?f=f.ushln(l):l<0&&(c=c.ushln(-l));return u(f,c)}},function(t,n,e){(function(n){var e=!1;if("undefined"!=typeof Float64Array){var r=new Float64Array(1),i=new Uint32Array(r.buffer);if(r[0]=1,e=!0,1072693248===i[1]){t.exports=function(t){return r[0]=t,[i[0],i[1]]},t.exports.pack=function(t,n){return i[0]=t,i[1]=n,r[0]},t.exports.lo=function(t){return r[0]=t,i[0]},t.exports.hi=function(t){return r[0]=t,i[1]}}else if(1072693248===i[0]){t.exports=function(t){return r[0]=t,[i[1],i[0]]},t.exports.pack=function(t,n){return i[1]=t,i[0]=n,r[0]},t.exports.lo=function(t){return r[0]=t,i[1]},t.exports.hi=function(t){return r[0]=t,i[0]}}else e=!1}if(!e){var o=new n(8);t.exports=function(t){return o.writeDoubleLE(t,0,!0),[o.readUInt32LE(0,!0),o.readUInt32LE(4,!0)]},t.exports.pack=function(t,n){return o.writeUInt32LE(t,0,!0),o.writeUInt32LE(n,4,!0),o.readDoubleLE(0,!0)},t.exports.lo=function(t){return o.writeDoubleLE(t,0,!0),o.readUInt32LE(0,!0)},t.exports.hi=function(t){return o.writeDoubleLE(t,0,!0),o.readUInt32LE(4,!0)}}t.exports.sign=function(n){return t.exports.hi(n)>>>31},t.exports.exponent=function(n){return(t.exports.hi(n)<<1>>>21)-1023},t.exports.fraction=function(n){var e=t.exports.lo(n),r=t.exports.hi(n),i=1048575&r;return 2146435072&r&&(i+=1<<20),[e,i]},t.exports.denormalized=function(n){return!(2146435072&t.exports.hi(n))}}).call(this,e(61).Buffer)},function(t,n,e){"use strict";var r=e(25);t.exports=function(t){return t.cmp(new r(0))}},function(t,n,e){"use strict";var r=e(234)();t.exports=function(t){return t!==r&&null!==t}},function(t,n){t.exports=function(t){return t&&t.constructor.prototype.isBigNumber||!1}},function(t,n,e){"use strict";var r=e(4).format,i=e(343).format,o=e(37);n.isString=function(t){return"string"==typeof t},n.endsWith=function(t,n){var e=t.length-n.length,r=t.length;return t.substring(e,r)===n},n.format=function(t,e){if("number"==typeof t)return r(t,e);if(o(t))return i(t,e);if(function(t){return t&&"object"==typeof t&&"number"==typeof t.s&&"number"==typeof t.n&&"number"==typeof t.d||!1}(t))return e&&"decimal"===e.fraction?t.toString():t.s*t.n+"/"+t.d;if(Array.isArray(t))return function t(e,r){if(Array.isArray(e)){for(var i="[",o=e.length,a=0;a<o;a++)0!=a&&(i+=", "),i+=t(e[a],r);return i+="]"}return n.format(e,r)}(t,e);if(n.isString(t))return'"'+t+'"';if("function"==typeof t)return t.syntax?String(t.syntax):"function";if(t&&"object"==typeof t){if("function"==typeof t.format)return t.format(e);if(t&&t.toString()!=={}.toString())return t.toString();var a=[];for(var u in t)t.hasOwnProperty(u)&&a.push('"'+u+'": '+n.format(t[u],e));return"{"+a.join(", ")+"}"}return String(t)},n.stringify=function(t){for(var n=String(t),e="",r=0;r<n.length;){var i=n.charAt(r);"\\"===i?(e+=i,r++,""!==(i=n.charAt(r))&&-1!=='"\\/bfnrtu'.indexOf(i)||(e+="\\"),e+=i):e+='"'===i?'\\"':i,r++}return'"'+e+'"'},n.escape=function(t){var n=String(t);return n=n.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">")}},function(t,n,e){"use strict";t.exports=function(t,n,e){if(null==e)return t.eq(n);if(t.eq(n))return!0;if(t.isNaN()||n.isNaN())return!1;if(t.isFinite()&&n.isFinite()){var r=t.minus(n).abs();if(r.isZero())return!0;var i=t.constructor.max(t.abs(),n.abs());return r.lte(i.times(e))}return!1}},function(t,n){t.exports=function(t,n=!1){!1===t.tooltip.permanent_tooltip&&t.tooltip_fun.hide(),n&&(t.tooltip.permanent_tooltip=!1,t.tooltip_fun.hide()),t.cat_data.showing_color_picker=!1}},function(t,n,e){"use strict";var r=e(19).string.isString;n.name="Matrix",n.path="type",n.factory=function(t,n,e,i){function o(){if(!(this instanceof o))throw new SyntaxError("Constructor must be called with the new operator")}return o.prototype.type="Matrix",o.prototype.isMatrix=!0,o.storage=function(t){if(!r(t))throw new TypeError("format must be a string value");var n=o._storage[t];if(!n)throw new SyntaxError("Unsupported matrix storage format: "+t);return n},o._storage={},o.prototype.storage=function(){throw new Error("Cannot invoke storage on a Matrix interface")},o.prototype.datatype=function(){throw new Error("Cannot invoke datatype on a Matrix interface")},o.prototype.create=function(t,n){throw new Error("Cannot invoke create on a Matrix interface")},o.prototype.subset=function(t,n,e){throw new Error("Cannot invoke subset on a Matrix interface")},o.prototype.get=function(t){throw new Error("Cannot invoke get on a Matrix interface")},o.prototype.set=function(t,n,e){throw new Error("Cannot invoke set on a Matrix interface")},o.prototype.resize=function(t,n){throw new Error("Cannot invoke resize on a Matrix interface")},o.prototype.reshape=function(t,n){throw new Error("Cannot invoke reshape on a Matrix interface")},o.prototype.clone=function(){throw new Error("Cannot invoke clone on a Matrix interface")},o.prototype.size=function(){throw new Error("Cannot invoke size on a Matrix interface")},o.prototype.map=function(t,n){throw new Error("Cannot invoke map on a Matrix interface")},o.prototype.forEach=function(t){throw new Error("Cannot invoke forEach on a Matrix interface")},o.prototype.toArray=function(){throw new Error("Cannot invoke toArray on a Matrix interface")},o.prototype.valueOf=function(){throw new Error("Cannot invoke valueOf on a Matrix interface")},o.prototype.format=function(t){throw new Error("Cannot invoke format on a Matrix interface")},o.prototype.toString=function(){throw new Error("Cannot invoke toString on a Matrix interface")},o}},function(t,n,e){"use strict";var r=e(19),i=e(6);r.string.isString;n.name="algorithm13",n.factory=function(t,n,e,r){var o=t.DenseMatrix,a=function(t,n,e,r,i,o){var u=[];if(n===e.length-1)for(var s=0;s<r;s++)u[s]=t(i[s],o[s]);else for(var f=0;f<r;f++)u[f]=a(t,n+1,e,e[n+1],i[f],o[f]);return u};return function(t,n,e){var u,s=t._data,f=t._size,c=t._datatype,l=n._data,h=n._size,p=n._datatype,d=[];if(f.length!==h.length)throw new i(f.length,h.length);for(var v=0;v<f.length;v++){if(f[v]!==h[v])throw new RangeError("Dimension mismatch. Matrix A ("+f+") must match Matrix B ("+h+")");d[v]=f[v]}var m=e;"string"==typeof c&&c===p&&(u=c,n=r.convert(n,u),m=r.find(e,[u,u]));var g=d.length>0?a(m,0,d,d[0],s,l):[];return new o({data:g,size:d,datatype:u})}}},function(t,n,e){"use strict";t.exports=function(t,n){return function(){for(var e=new Array(arguments.length),r=0;r<e.length;r++)e[r]=arguments[r];return t.apply(n,e)}}},function(t,n,e){"use strict";var r=e(2);function i(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}t.exports=function(t,n,e){if(!n)return t;var o;if(e)o=e(n);else if(r.isURLSearchParams(n))o=n.toString();else{var a=[];r.forEach(n,(function(t,n){null!=t&&(r.isArray(t)?n+="[]":t=[t],r.forEach(t,(function(t){r.isDate(t)?t=t.toISOString():r.isObject(t)&&(t=JSON.stringify(t)),a.push(i(n)+"="+i(t))})))})),o=a.join("&")}if(o){var u=t.indexOf("#");-1!==u&&(t=t.slice(0,u)),t+=(-1===t.indexOf("?")?"?":"&")+o}return t}},function(t,n,e){"use strict";t.exports=function(t){return!(!t||!t.__CANCEL__)}},function(t,n,e){"use strict";(function(n){var r=e(2),i=e(117),o={"Content-Type":"application/x-www-form-urlencoded"};function a(t,n){!r.isUndefined(t)&&r.isUndefined(t["Content-Type"])&&(t["Content-Type"]=n)}var u,s={adapter:(void 0!==n&&"[object process]"===Object.prototype.toString.call(n)?u=e(47):"undefined"!=typeof XMLHttpRequest&&(u=e(47)),u),transformRequest:[function(t,n){return i(n,"Accept"),i(n,"Content-Type"),r.isFormData(t)||r.isArrayBuffer(t)||r.isBuffer(t)||r.isStream(t)||r.isFile(t)||r.isBlob(t)?t:r.isArrayBufferView(t)?t.buffer:r.isURLSearchParams(t)?(a(n,"application/x-www-form-urlencoded;charset=utf-8"),t.toString()):r.isObject(t)?(a(n,"application/json;charset=utf-8"),JSON.stringify(t)):t}],transformResponse:[function(t){if("string"==typeof t)try{t=JSON.parse(t)}catch(t){}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,validateStatus:function(t){return t>=200&&t<300}};s.headers={common:{Accept:"application/json, text/plain, */*"}},r.forEach(["delete","get","head"],(function(t){s.headers[t]={}})),r.forEach(["post","put","patch"],(function(t){s.headers[t]=r.merge(o)})),t.exports=s}).call(this,e(116))},function(t,n,e){"use strict";var r=e(2),i=e(118),o=e(44),a=e(120),u=e(121),s=e(48);t.exports=function(t){return new Promise((function(n,f){var c=t.data,l=t.headers;r.isFormData(c)&&delete l["Content-Type"];var h=new XMLHttpRequest;if(t.auth){var p=t.auth.username||"",d=t.auth.password||"";l.Authorization="Basic "+btoa(p+":"+d)}if(h.open(t.method.toUpperCase(),o(t.url,t.params,t.paramsSerializer),!0),h.timeout=t.timeout,h.onreadystatechange=function(){if(h&&4===h.readyState&&(0!==h.status||h.responseURL&&0===h.responseURL.indexOf("file:"))){var e="getAllResponseHeaders"in h?a(h.getAllResponseHeaders()):null,r={data:t.responseType&&"text"!==t.responseType?h.response:h.responseText,status:h.status,statusText:h.statusText,headers:e,config:t,request:h};i(n,f,r),h=null}},h.onabort=function(){h&&(f(s("Request aborted",t,"ECONNABORTED",h)),h=null)},h.onerror=function(){f(s("Network Error",t,null,h)),h=null},h.ontimeout=function(){f(s("timeout of "+t.timeout+"ms exceeded",t,"ECONNABORTED",h)),h=null},r.isStandardBrowserEnv()){var v=e(122),m=(t.withCredentials||u(t.url))&&t.xsrfCookieName?v.read(t.xsrfCookieName):void 0;m&&(l[t.xsrfHeaderName]=m)}if("setRequestHeader"in h&&r.forEach(l,(function(t,n){void 0===c&&"content-type"===n.toLowerCase()?delete l[n]:h.setRequestHeader(n,t)})),t.withCredentials&&(h.withCredentials=!0),t.responseType)try{h.responseType=t.responseType}catch(n){if("json"!==t.responseType)throw n}"function"==typeof t.onDownloadProgress&&h.addEventListener("progress",t.onDownloadProgress),"function"==typeof t.onUploadProgress&&h.upload&&h.upload.addEventListener("progress",t.onUploadProgress),t.cancelToken&&t.cancelToken.promise.then((function(t){h&&(h.abort(),f(t),h=null)})),void 0===c&&(c=null),h.send(c)}))}},function(t,n,e){"use strict";var r=e(119);t.exports=function(t,n,e,i,o){var a=new Error(t);return r(a,n,e,i,o)}},function(t,n,e){"use strict";var r=e(2);t.exports=function(t,n){n=n||{};var e={};return r.forEach(["url","method","params","data"],(function(t){void 0!==n[t]&&(e[t]=n[t])})),r.forEach(["headers","auth","proxy"],(function(i){r.isObject(n[i])?e[i]=r.deepMerge(t[i],n[i]):void 0!==n[i]?e[i]=n[i]:r.isObject(t[i])?e[i]=r.deepMerge(t[i]):void 0!==t[i]&&(e[i]=t[i])})),r.forEach(["baseURL","transformRequest","transformResponse","paramsSerializer","timeout","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","maxContentLength","validateStatus","maxRedirects","httpAgent","httpsAgent","cancelToken","socketPath"],(function(r){void 0!==n[r]?e[r]=n[r]:void 0!==t[r]&&(e[r]=t[r])})),e}},function(t,n,e){"use strict";function r(t){this.message=t}r.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},r.prototype.__CANCEL__=!0,t.exports=r},function(t,n){t.exports=function(t,n,e){var r,i=t.labels.num_row,o=t.labels.num_col,a=t.node_canvas_pos,u=t.network.row_nodes,s=t.network.col_nodes;return Array(i*o).fill().map((function(t,f){return r=a.y_arr[i-1-u[Math.floor(f/o)][n]],[a.x_arr[o-1-s[f%o][e]],r]}))}},function(t,n){t.exports=function(t){return t.reduce((function(t,n){return t+n}),0)/t.length}},function(t,n,e){t.exports=function(t){let n=t.params;var r,i={};i.num_row=n.mat_data.length,i.num_col=n.mat_data[0].length,i.offset_dict={},i.draw_labels=!1,i.font_detail=40,i.titles={},i.precalc={},_.each(["row","col"],(function(t){i.titles[t]="",(r=n.network[t+"_nodes"][0].name).indexOf(": ")>0&&(i.titles[t]=r.split(": ")[0]),i.precalc[t]=!1})),n.labels=i,e(22)(t)}},function(t,n){t.exports=function(t,n,e,r){var i,o,a=t.labels["num_"+n];"col"===n?i=(o=t.viz_dim.heat_size.x)/.5/a:(o=t.viz_dim.heat_size.y,i=t.viz_dim.heat_size.y/.5/a);var u,s=[];for(u=0;u<a;u++){var f,c;"row"==n?(f=a-t.network[n+"_nodes"][u][r]-1,c=-(t.viz_dim.mat_size.y-t.viz_dim.heat_size.y)):(f=t.network[n+"_nodes"][u][r],c=t.viz_dim.mat_size.x-t.viz_dim.heat_size.x),s[u]=[o-i/2-f*i+c,0]}return s}},function(t,n){t.exports=function(){var t={zoom_function:function(t){return t.view}};return _.each(["x","y"],(function(n){var e={total_zoom:1,cursor_position:0,total_pan_min:0,total_pan_max:0,pan_room:0,pan_by_zoom:0,pan_by_drag:0,inst_zoom:1,filter_zoom:1,prev_restrict:!1,zoom_step:10,show_text:!1,still_zooming:!1,total_mouseover:0,cursor_rel_min:0};t[n]=e})),t}},function(t,n){t.exports=function(t,n){t.labels.offset_dict[n]={},_.each(t.network[n+"_nodes"],(function(e,r){var i,o,a,u={};a="col"===n?"x":"y";var s=t.canvas_pos[a+"_arr"],f=t.order.inst[n],c=t.order.new[n],l=t.labels["num_"+n];_.each(["inst","new"],(function(e){o="inst"===e?f:c,"col"===n?(i=t.network[n+"_nodes"][r][o],u[e]=s[l-1-i]+.5/l):(i=l-1-t.network[n+"_nodes"][r][o],u[e]=s[i]+.5/l)})),e.offsets=u;var h=e.name;h.indexOf(": ")>=0&&(h=e.name.split(": ")[1]),t.labels.offset_dict[n][h]=u}))}},function(t,n){t.exports=function(t){var n,e,r,i=t.zoom_data,o=t.pix_to_webgl,a={},u={},s={};s.x="width",s.y="height";var f={x:"col",y:"row"};t.labels.visible_labels={},_.each(["x","y"],(function(c){n=s[c],a[c+"_min"]=-i[c].total_pan_min,a[c+"_max"]=t.viz_dim.heat[n]+i[c].total_pan_max,"x"==c?(u[c+"_min"]=o[c](a[c+"_min"])-0,u[c+"_max"]=o[c](a[c+"_max"])+0):(u[c+"_min"]=o[c](a[c+"_max"])-0,u[c+"_max"]=o[c](a[c+"_min"])+0),e=f[c],t.labels.visible_labels[f[c]]=[];var l=u[c+"_min"],h=u[c+"_max"];_.each(t.network[e+"_nodes"],(function(n){n.offsets.inst>l&&n.offsets.inst<h&&((r=n.name).indexOf(": ")>=0&&(r=r.split(": ")[1]),t.labels.visible_labels[f[c]].push(r))}))})),t.viz_area=u}},function(t,n,e){var r=e(59);t.exports=function(t,n){var e;e="col"===n?"x":"y",t.text_triangles.draw[n]=[];var i=t.viz_area,o=i[e+"_min"],a=i[e+"_max"];_.each(t.network[n+"_nodes"],(function(e){if(e.offsets.inst>o&&e.offsets.inst<a){var i,u=e.name;u.indexOf(": ")>=0&&(u=e.name.split(": ")[1]),u in t.text_triangles[n]?((i=t.text_triangles[n][u]).inst_offset=[0,e.offsets.inst],i.new_offset=[0,e.offsets.new],t.text_triangles.draw[n].push(i)):(t.labels.queue.high[n].push(u),t.labels.precalc[n]&&(i=r(t,n,u),t.text_triangles[n][u]=i,i.inst_offset=[0,e.offsets.inst],i.new_offset=[0,e.offsets.new],t.text_triangles.draw[n].push(i)))}}))}},function(t,n,e){const r=e(153);var i=e(72);t.exports=function(t,n,e){var o={textAlign:"left",triangles:!0,size:t.labels.font_detail,font:'"Open Sans", verdana, arial, sans-serif'};return"col"===n?(o.textAlign="left",o.textBaseline="bottom"):(o.textAlign="right",o.textBaseline="middle"),i(t.labels.queue.low[n],n,e),r(e,o)}},function(t,n){var e;e=function(){return this}();try{e=e||new Function("return this")()}catch(t){"object"==typeof window&&(e=window)}t.exports=e},function(t,n,e){"use strict";(function(t){
/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
* @license MIT
*/
var r=e(157),i=e(158),o=e(159);function a(){return s.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function u(t,n){if(a()<n)throw new RangeError("Invalid typed array length");return s.TYPED_ARRAY_SUPPORT?(t=new Uint8Array(n)).__proto__=s.prototype:(null===t&&(t=new s(n)),t.length=n),t}function s(t,n,e){if(!(s.TYPED_ARRAY_SUPPORT||this instanceof s))return new s(t,n,e);if("number"==typeof t){if("string"==typeof n)throw new Error("If encoding is specified then the first argument must be a string");return l(this,t)}return f(this,t,n,e)}function f(t,n,e,r){if("number"==typeof n)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&n instanceof ArrayBuffer?function(t,n,e,r){if(n.byteLength,e<0||n.byteLength<e)throw new RangeError("'offset' is out of bounds");if(n.byteLength<e+(r||0))throw new RangeError("'length' is out of bounds");n=void 0===e&&void 0===r?new Uint8Array(n):void 0===r?new Uint8Array(n,e):new Uint8Array(n,e,r);s.TYPED_ARRAY_SUPPORT?(t=n).__proto__=s.prototype:t=h(t,n);return t}(t,n,e,r):"string"==typeof n?function(t,n,e){"string"==typeof e&&""!==e||(e="utf8");if(!s.isEncoding(e))throw new TypeError('"encoding" must be a valid string encoding');var r=0|d(n,e),i=(t=u(t,r)).write(n,e);i!==r&&(t=t.slice(0,i));return t}(t,n,e):function(t,n){if(s.isBuffer(n)){var e=0|p(n.length);return 0===(t=u(t,e)).length?t:(n.copy(t,0,0,e),t)}if(n){if("undefined"!=typeof ArrayBuffer&&n.buffer instanceof ArrayBuffer||"length"in n)return"number"!=typeof n.length||(r=n.length)!=r?u(t,0):h(t,n);if("Buffer"===n.type&&o(n.data))return h(t,n.data)}var r;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(t,n)}function c(t){if("number"!=typeof t)throw new TypeError('"size" argument must be a number');if(t<0)throw new RangeError('"size" argument must not be negative')}function l(t,n){if(c(n),t=u(t,n<0?0:0|p(n)),!s.TYPED_ARRAY_SUPPORT)for(var e=0;e<n;++e)t[e]=0;return t}function h(t,n){var e=n.length<0?0:0|p(n.length);t=u(t,e);for(var r=0;r<e;r+=1)t[r]=255&n[r];return t}function p(t){if(t>=a())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a().toString(16)+" bytes");return 0|t}function d(t,n){if(s.isBuffer(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var e=t.length;if(0===e)return 0;for(var r=!1;;)switch(n){case"ascii":case"latin1":case"binary":return e;case"utf8":case"utf-8":case void 0:return U(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*e;case"hex":return e>>>1;case"base64":return L(t).length;default:if(r)return U(t).length;n=(""+n).toLowerCase(),r=!0}}function v(t,n,e){var r=!1;if((void 0===n||n<0)&&(n=0),n>this.length)return"";if((void 0===e||e>this.length)&&(e=this.length),e<=0)return"";if((e>>>=0)<=(n>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return N(this,n,e);case"utf8":case"utf-8":return z(this,n,e);case"ascii":return E(this,n,e);case"latin1":case"binary":return S(this,n,e);case"base64":return A(this,n,e);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return T(this,n,e);default:if(r)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),r=!0}}function m(t,n,e){var r=t[n];t[n]=t[e],t[e]=r}function g(t,n,e,r,i){if(0===t.length)return-1;if("string"==typeof e?(r=e,e=0):e>2147483647?e=2147483647:e<-2147483648&&(e=-2147483648),e=+e,isNaN(e)&&(e=i?0:t.length-1),e<0&&(e=t.length+e),e>=t.length){if(i)return-1;e=t.length-1}else if(e<0){if(!i)return-1;e=0}if("string"==typeof n&&(n=s.from(n,r)),s.isBuffer(n))return 0===n.length?-1:y(t,n,e,r,i);if("number"==typeof n)return n&=255,s.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,n,e):Uint8Array.prototype.lastIndexOf.call(t,n,e):y(t,[n],e,r,i);throw new TypeError("val must be string, number or Buffer")}function y(t,n,e,r,i){var o,a=1,u=t.length,s=n.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(t.length<2||n.length<2)return-1;a=2,u/=2,s/=2,e/=2}function f(t,n){return 1===a?t[n]:t.readUInt16BE(n*a)}if(i){var c=-1;for(o=e;o<u;o++)if(f(t,o)===f(n,-1===c?0:o-c)){if(-1===c&&(c=o),o-c+1===s)return c*a}else-1!==c&&(o-=o-c),c=-1}else for(e+s>u&&(e=u-s),o=e;o>=0;o--){for(var l=!0,h=0;h<s;h++)if(f(t,o+h)!==f(n,h)){l=!1;break}if(l)return o}return-1}function _(t,n,e,r){e=Number(e)||0;var i=t.length-e;r?(r=Number(r))>i&&(r=i):r=i;var o=n.length;if(o%2!=0)throw new TypeError("Invalid hex string");r>o/2&&(r=o/2);for(var a=0;a<r;++a){var u=parseInt(n.substr(2*a,2),16);if(isNaN(u))return a;t[e+a]=u}return a}function b(t,n,e,r){return q(U(n,t.length-e),t,e,r)}function x(t,n,e,r){return q(function(t){for(var n=[],e=0;e<t.length;++e)n.push(255&t.charCodeAt(e));return n}(n),t,e,r)}function w(t,n,e,r){return x(t,n,e,r)}function M(t,n,e,r){return q(L(n),t,e,r)}function k(t,n,e,r){return q(function(t,n){for(var e,r,i,o=[],a=0;a<t.length&&!((n-=2)<0);++a)e=t.charCodeAt(a),r=e>>8,i=e%256,o.push(i),o.push(r);return o}(n,t.length-e),t,e,r)}function A(t,n,e){return 0===n&&e===t.length?r.fromByteArray(t):r.fromByteArray(t.slice(n,e))}function z(t,n,e){e=Math.min(t.length,e);for(var r=[],i=n;i<e;){var o,a,u,s,f=t[i],c=null,l=f>239?4:f>223?3:f>191?2:1;if(i+l<=e)switch(l){case 1:f<128&&(c=f);break;case 2:128==(192&(o=t[i+1]))&&(s=(31&f)<<6|63&o)>127&&(c=s);break;case 3:o=t[i+1],a=t[i+2],128==(192&o)&&128==(192&a)&&(s=(15&f)<<12|(63&o)<<6|63&a)>2047&&(s<55296||s>57343)&&(c=s);break;case 4:o=t[i+1],a=t[i+2],u=t[i+3],128==(192&o)&&128==(192&a)&&128==(192&u)&&(s=(15&f)<<18|(63&o)<<12|(63&a)<<6|63&u)>65535&&s<1114112&&(c=s)}null===c?(c=65533,l=1):c>65535&&(c-=65536,r.push(c>>>10&1023|55296),c=56320|1023&c),r.push(c),i+=l}return function(t){var n=t.length;if(n<=4096)return String.fromCharCode.apply(String,t);var e="",r=0;for(;r<n;)e+=String.fromCharCode.apply(String,t.slice(r,r+=4096));return e}(r)}n.Buffer=s,n.SlowBuffer=function(t){+t!=t&&(t=0);return s.alloc(+t)},n.INSPECT_MAX_BYTES=50,s.TYPED_ARRAY_SUPPORT=void 0!==t.TYPED_ARRAY_SUPPORT?t.TYPED_ARRAY_SUPPORT:function(){try{var t=new Uint8Array(1);return t.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===t.foo()&&"function"==typeof t.subarray&&0===t.subarray(1,1).byteLength}catch(t){return!1}}(),n.kMaxLength=a(),s.poolSize=8192,s._augment=function(t){return t.__proto__=s.prototype,t},s.from=function(t,n,e){return f(null,t,n,e)},s.TYPED_ARRAY_SUPPORT&&(s.prototype.__proto__=Uint8Array.prototype,s.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&s[Symbol.species]===s&&Object.defineProperty(s,Symbol.species,{value:null,configurable:!0})),s.alloc=function(t,n,e){return function(t,n,e,r){return c(n),n<=0?u(t,n):void 0!==e?"string"==typeof r?u(t,n).fill(e,r):u(t,n).fill(e):u(t,n)}(null,t,n,e)},s.allocUnsafe=function(t){return l(null,t)},s.allocUnsafeSlow=function(t){return l(null,t)},s.isBuffer=function(t){return!(null==t||!t._isBuffer)},s.compare=function(t,n){if(!s.isBuffer(t)||!s.isBuffer(n))throw new TypeError("Arguments must be Buffers");if(t===n)return 0;for(var e=t.length,r=n.length,i=0,o=Math.min(e,r);i<o;++i)if(t[i]!==n[i]){e=t[i],r=n[i];break}return e<r?-1:r<e?1:0},s.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},s.concat=function(t,n){if(!o(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return s.alloc(0);var e;if(void 0===n)for(n=0,e=0;e<t.length;++e)n+=t[e].length;var r=s.allocUnsafe(n),i=0;for(e=0;e<t.length;++e){var a=t[e];if(!s.isBuffer(a))throw new TypeError('"list" argument must be an Array of Buffers');a.copy(r,i),i+=a.length}return r},s.byteLength=d,s.prototype._isBuffer=!0,s.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var n=0;n<t;n+=2)m(this,n,n+1);return this},s.prototype.swap32=function(){var t=this.length;if(t%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var n=0;n<t;n+=4)m(this,n,n+3),m(this,n+1,n+2);return this},s.prototype.swap64=function(){var t=this.length;if(t%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var n=0;n<t;n+=8)m(this,n,n+7),m(this,n+1,n+6),m(this,n+2,n+5),m(this,n+3,n+4);return this},s.prototype.toString=function(){var t=0|this.length;return 0===t?"":0===arguments.length?z(this,0,t):v.apply(this,arguments)},s.prototype.equals=function(t){if(!s.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t||0===s.compare(this,t)},s.prototype.inspect=function(){var t="",e=n.INSPECT_MAX_BYTES;return this.length>0&&(t=this.toString("hex",0,e).match(/.{2}/g).join(" "),this.length>e&&(t+=" ... ")),"<Buffer "+t+">"},s.prototype.compare=function(t,n,e,r,i){if(!s.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===n&&(n=0),void 0===e&&(e=t?t.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),n<0||e>t.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&n>=e)return 0;if(r>=i)return-1;if(n>=e)return 1;if(this===t)return 0;for(var o=(i>>>=0)-(r>>>=0),a=(e>>>=0)-(n>>>=0),u=Math.min(o,a),f=this.slice(r,i),c=t.slice(n,e),l=0;l<u;++l)if(f[l]!==c[l]){o=f[l],a=c[l];break}return o<a?-1:a<o?1:0},s.prototype.includes=function(t,n,e){return-1!==this.indexOf(t,n,e)},s.prototype.indexOf=function(t,n,e){return g(this,t,n,e,!0)},s.prototype.lastIndexOf=function(t,n,e){return g(this,t,n,e,!1)},s.prototype.write=function(t,n,e,r){if(void 0===n)r="utf8",e=this.length,n=0;else if(void 0===e&&"string"==typeof n)r=n,e=this.length,n=0;else{if(!isFinite(n))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");n|=0,isFinite(e)?(e|=0,void 0===r&&(r="utf8")):(r=e,e=void 0)}var i=this.length-n;if((void 0===e||e>i)&&(e=i),t.length>0&&(e<0||n<0)||n>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var o=!1;;)switch(r){case"hex":return _(this,t,n,e);case"utf8":case"utf-8":return b(this,t,n,e);case"ascii":return x(this,t,n,e);case"latin1":case"binary":return w(this,t,n,e);case"base64":return M(this,t,n,e);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return k(this,t,n,e);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0}},s.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function E(t,n,e){var r="";e=Math.min(t.length,e);for(var i=n;i<e;++i)r+=String.fromCharCode(127&t[i]);return r}function S(t,n,e){var r="";e=Math.min(t.length,e);for(var i=n;i<e;++i)r+=String.fromCharCode(t[i]);return r}function N(t,n,e){var r=t.length;(!n||n<0)&&(n=0),(!e||e<0||e>r)&&(e=r);for(var i="",o=n;o<e;++o)i+=F(t[o]);return i}function T(t,n,e){for(var r=t.slice(n,e),i="",o=0;o<r.length;o+=2)i+=String.fromCharCode(r[o]+256*r[o+1]);return i}function C(t,n,e){if(t%1!=0||t<0)throw new RangeError("offset is not uint");if(t+n>e)throw new RangeError("Trying to access beyond buffer length")}function j(t,n,e,r,i,o){if(!s.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(n>i||n<o)throw new RangeError('"value" argument is out of bounds');if(e+r>t.length)throw new RangeError("Index out of range")}function O(t,n,e,r){n<0&&(n=65535+n+1);for(var i=0,o=Math.min(t.length-e,2);i<o;++i)t[e+i]=(n&255<<8*(r?i:1-i))>>>8*(r?i:1-i)}function P(t,n,e,r){n<0&&(n=4294967295+n+1);for(var i=0,o=Math.min(t.length-e,4);i<o;++i)t[e+i]=n>>>8*(r?i:3-i)&255}function B(t,n,e,r,i,o){if(e+r>t.length)throw new RangeError("Index out of range");if(e<0)throw new RangeError("Index out of range")}function R(t,n,e,r,o){return o||B(t,0,e,4),i.write(t,n,e,r,23,4),e+4}function I(t,n,e,r,o){return o||B(t,0,e,8),i.write(t,n,e,r,52,8),e+8}s.prototype.slice=function(t,n){var e,r=this.length;if((t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(n=void 0===n?r:~~n)<0?(n+=r)<0&&(n=0):n>r&&(n=r),n<t&&(n=t),s.TYPED_ARRAY_SUPPORT)(e=this.subarray(t,n)).__proto__=s.prototype;else{var i=n-t;e=new s(i,void 0);for(var o=0;o<i;++o)e[o]=this[o+t]}return e},s.prototype.readUIntLE=function(t,n,e){t|=0,n|=0,e||C(t,n,this.length);for(var r=this[t],i=1,o=0;++o<n&&(i*=256);)r+=this[t+o]*i;return r},s.prototype.readUIntBE=function(t,n,e){t|=0,n|=0,e||C(t,n,this.length);for(var r=this[t+--n],i=1;n>0&&(i*=256);)r+=this[t+--n]*i;return r},s.prototype.readUInt8=function(t,n){return n||C(t,1,this.length),this[t]},s.prototype.readUInt16LE=function(t,n){return n||C(t,2,this.length),this[t]|this[t+1]<<8},s.prototype.readUInt16BE=function(t,n){return n||C(t,2,this.length),this[t]<<8|this[t+1]},s.prototype.readUInt32LE=function(t,n){return n||C(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},s.prototype.readUInt32BE=function(t,n){return n||C(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},s.prototype.readIntLE=function(t,n,e){t|=0,n|=0,e||C(t,n,this.length);for(var r=this[t],i=1,o=0;++o<n&&(i*=256);)r+=this[t+o]*i;return r>=(i*=128)&&(r-=Math.pow(2,8*n)),r},s.prototype.readIntBE=function(t,n,e){t|=0,n|=0,e||C(t,n,this.length);for(var r=n,i=1,o=this[t+--r];r>0&&(i*=256);)o+=this[t+--r]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*n)),o},s.prototype.readInt8=function(t,n){return n||C(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},s.prototype.readInt16LE=function(t,n){n||C(t,2,this.length);var e=this[t]|this[t+1]<<8;return 32768&e?4294901760|e:e},s.prototype.readInt16BE=function(t,n){n||C(t,2,this.length);var e=this[t+1]|this[t]<<8;return 32768&e?4294901760|e:e},s.prototype.readInt32LE=function(t,n){return n||C(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},s.prototype.readInt32BE=function(t,n){return n||C(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},s.prototype.readFloatLE=function(t,n){return n||C(t,4,this.length),i.read(this,t,!0,23,4)},s.prototype.readFloatBE=function(t,n){return n||C(t,4,this.length),i.read(this,t,!1,23,4)},s.prototype.readDoubleLE=function(t,n){return n||C(t,8,this.length),i.read(this,t,!0,52,8)},s.prototype.readDoubleBE=function(t,n){return n||C(t,8,this.length),i.read(this,t,!1,52,8)},s.prototype.writeUIntLE=function(t,n,e,r){(t=+t,n|=0,e|=0,r)||j(this,t,n,e,Math.pow(2,8*e)-1,0);var i=1,o=0;for(this[n]=255&t;++o<e&&(i*=256);)this[n+o]=t/i&255;return n+e},s.prototype.writeUIntBE=function(t,n,e,r){(t=+t,n|=0,e|=0,r)||j(this,t,n,e,Math.pow(2,8*e)-1,0);var i=e-1,o=1;for(this[n+i]=255&t;--i>=0&&(o*=256);)this[n+i]=t/o&255;return n+e},s.prototype.writeUInt8=function(t,n,e){return t=+t,n|=0,e||j(this,t,n,1,255,0),s.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[n]=255&t,n+1},s.prototype.writeUInt16LE=function(t,n,e){return t=+t,n|=0,e||j(this,t,n,2,65535,0),s.TYPED_ARRAY_SUPPORT?(this[n]=255&t,this[n+1]=t>>>8):O(this,t,n,!0),n+2},s.prototype.writeUInt16BE=function(t,n,e){return t=+t,n|=0,e||j(this,t,n,2,65535,0),s.TYPED_ARRAY_SUPPORT?(this[n]=t>>>8,this[n+1]=255&t):O(this,t,n,!1),n+2},s.prototype.writeUInt32LE=function(t,n,e){return t=+t,n|=0,e||j(this,t,n,4,4294967295,0),s.TYPED_ARRAY_SUPPORT?(this[n+3]=t>>>24,this[n+2]=t>>>16,this[n+1]=t>>>8,this[n]=255&t):P(this,t,n,!0),n+4},s.prototype.writeUInt32BE=function(t,n,e){return t=+t,n|=0,e||j(this,t,n,4,4294967295,0),s.TYPED_ARRAY_SUPPORT?(this[n]=t>>>24,this[n+1]=t>>>16,this[n+2]=t>>>8,this[n+3]=255&t):P(this,t,n,!1),n+4},s.prototype.writeIntLE=function(t,n,e,r){if(t=+t,n|=0,!r){var i=Math.pow(2,8*e-1);j(this,t,n,e,i-1,-i)}var o=0,a=1,u=0;for(this[n]=255&t;++o<e&&(a*=256);)t<0&&0===u&&0!==this[n+o-1]&&(u=1),this[n+o]=(t/a>>0)-u&255;return n+e},s.prototype.writeIntBE=function(t,n,e,r){if(t=+t,n|=0,!r){var i=Math.pow(2,8*e-1);j(this,t,n,e,i-1,-i)}var o=e-1,a=1,u=0;for(this[n+o]=255&t;--o>=0&&(a*=256);)t<0&&0===u&&0!==this[n+o+1]&&(u=1),this[n+o]=(t/a>>0)-u&255;return n+e},s.prototype.writeInt8=function(t,n,e){return t=+t,n|=0,e||j(this,t,n,1,127,-128),s.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[n]=255&t,n+1},s.prototype.writeInt16LE=function(t,n,e){return t=+t,n|=0,e||j(this,t,n,2,32767,-32768),s.TYPED_ARRAY_SUPPORT?(this[n]=255&t,this[n+1]=t>>>8):O(this,t,n,!0),n+2},s.prototype.writeInt16BE=function(t,n,e){return t=+t,n|=0,e||j(this,t,n,2,32767,-32768),s.TYPED_ARRAY_SUPPORT?(this[n]=t>>>8,this[n+1]=255&t):O(this,t,n,!1),n+2},s.prototype.writeInt32LE=function(t,n,e){return t=+t,n|=0,e||j(this,t,n,4,2147483647,-2147483648),s.TYPED_ARRAY_SUPPORT?(this[n]=255&t,this[n+1]=t>>>8,this[n+2]=t>>>16,this[n+3]=t>>>24):P(this,t,n,!0),n+4},s.prototype.writeInt32BE=function(t,n,e){return t=+t,n|=0,e||j(this,t,n,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),s.TYPED_ARRAY_SUPPORT?(this[n]=t>>>24,this[n+1]=t>>>16,this[n+2]=t>>>8,this[n+3]=255&t):P(this,t,n,!1),n+4},s.prototype.writeFloatLE=function(t,n,e){return R(this,t,n,!0,e)},s.prototype.writeFloatBE=function(t,n,e){return R(this,t,n,!1,e)},s.prototype.writeDoubleLE=function(t,n,e){return I(this,t,n,!0,e)},s.prototype.writeDoubleBE=function(t,n,e){return I(this,t,n,!1,e)},s.prototype.copy=function(t,n,e,r){if(e||(e=0),r||0===r||(r=this.length),n>=t.length&&(n=t.length),n||(n=0),r>0&&r<e&&(r=e),r===e)return 0;if(0===t.length||0===this.length)return 0;if(n<0)throw new RangeError("targetStart out of bounds");if(e<0||e>=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),t.length-n<r-e&&(r=t.length-n+e);var i,o=r-e;if(this===t&&e<n&&n<r)for(i=o-1;i>=0;--i)t[i+n]=this[i+e];else if(o<1e3||!s.TYPED_ARRAY_SUPPORT)for(i=0;i<o;++i)t[i+n]=this[i+e];else Uint8Array.prototype.set.call(t,this.subarray(e,e+o),n);return o},s.prototype.fill=function(t,n,e,r){if("string"==typeof t){if("string"==typeof n?(r=n,n=0,e=this.length):"string"==typeof e&&(r=e,e=this.length),1===t.length){var i=t.charCodeAt(0);i<256&&(t=i)}if(void 0!==r&&"string"!=typeof r)throw new TypeError("encoding must be a string");if("string"==typeof r&&!s.isEncoding(r))throw new TypeError("Unknown encoding: "+r)}else"number"==typeof t&&(t&=255);if(n<0||this.length<n||this.length<e)throw new RangeError("Out of range index");if(e<=n)return this;var o;if(n>>>=0,e=void 0===e?this.length:e>>>0,t||(t=0),"number"==typeof t)for(o=n;o<e;++o)this[o]=t;else{var a=s.isBuffer(t)?t:U(new s(t,r).toString()),u=a.length;for(o=0;o<e-n;++o)this[o+n]=a[o%u]}return this};var D=/[^+\/0-9A-Za-z-_]/g;function F(t){return t<16?"0"+t.toString(16):t.toString(16)}function U(t,n){var e;n=n||1/0;for(var r=t.length,i=null,o=[],a=0;a<r;++a){if((e=t.charCodeAt(a))>55295&&e<57344){if(!i){if(e>56319){(n-=3)>-1&&o.push(239,191,189);continue}if(a+1===r){(n-=3)>-1&&o.push(239,191,189);continue}i=e;continue}if(e<56320){(n-=3)>-1&&o.push(239,191,189),i=e;continue}e=65536+(i-55296<<10|e-56320)}else i&&(n-=3)>-1&&o.push(239,191,189);if(i=null,e<128){if((n-=1)<0)break;o.push(e)}else if(e<2048){if((n-=2)<0)break;o.push(e>>6|192,63&e|128)}else if(e<65536){if((n-=3)<0)break;o.push(e>>12|224,e>>6&63|128,63&e|128)}else{if(!(e<1114112))throw new Error("Invalid code point");if((n-=4)<0)break;o.push(e>>18|240,e>>12&63|128,e>>6&63|128,63&e|128)}}return o}function L(t){return r.toByteArray(function(t){if((t=function(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}(t).replace(D,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function q(t,n,e,r){for(var i=0;i<r&&!(i+e>=n.length||i>=t.length);++i)n[i+e]=t[i];return i}}).call(this,e(60))},function(t,n,e){"use strict";t.exports=function(t,n,e){var r=t+n,i=r-t,o=n-i,a=t-(r-i);if(e)return e[0]=a+o,e[1]=r,e;return[a+o,r]}},function(t,n,e){"use strict";t.exports=function(t,n){var e=0|t.length,r=0|n.length;if(1===e&&1===r)return function(t,n){var e=t+n,r=e-t,i=t-(e-r)+(n-r);if(i)return[i,e];return[e]}(t[0],-n[0]);var i,o,a=new Array(e+r),u=0,s=0,f=0,c=Math.abs,l=t[s],h=c(l),p=-n[f],d=c(p);h<d?(o=l,(s+=1)<e&&(l=t[s],h=c(l))):(o=p,(f+=1)<r&&(p=-n[f],d=c(p)));s<e&&h<d||f>=r?(i=l,(s+=1)<e&&(l=t[s],h=c(l))):(i=p,(f+=1)<r&&(p=-n[f],d=c(p)));var v,m,g=i+o,y=g-i,_=o-y,b=_,x=g;for(;s<e&&f<r;)h<d?(i=l,(s+=1)<e&&(l=t[s],h=c(l))):(i=p,(f+=1)<r&&(p=-n[f],d=c(p))),(_=(o=b)-(y=(g=i+o)-i))&&(a[u++]=_),b=x-((v=x+g)-(m=v-x))+(g-m),x=v;for(;s<e;)(_=(o=b)-(y=(g=(i=l)+o)-i))&&(a[u++]=_),b=x-((v=x+g)-(m=v-x))+(g-m),x=v,(s+=1)<e&&(l=t[s]);for(;f<r;)(_=(o=b)-(y=(g=(i=p)+o)-i))&&(a[u++]=_),b=x-((v=x+g)-(m=v-x))+(g-m),x=v,(f+=1)<r&&(p=-n[f]);b&&(a[u++]=b);x&&(a[u++]=x);u||(a[u++]=0);return a.length=u,a}},function(t,n,e){"use strict";t.exports={init:function(t){var n=i.nextPow2(t);a.length<n&&(r.free(a),a=r.mallocInt32(n));u.length<n&&(r.free(u),u=r.mallocInt32(n));s.length<n&&(r.free(s),s=r.mallocInt32(n));f.length<n&&(r.free(f),f=r.mallocInt32(n));c.length<n&&(r.free(c),c=r.mallocInt32(n));l.length<n&&(r.free(l),l=r.mallocInt32(n));var e=8*n;h.length<e&&(r.free(h),h=r.mallocDouble(e))},sweepBipartite:function(t,n,e,r,i,c,l,v,m,g){for(var y=0,_=2*t,b=t-1,x=_-1,w=e;w<r;++w){var M=c[w],k=_*w;h[y++]=i[k+b],h[y++]=-(M+1),h[y++]=i[k+x],h[y++]=M}for(w=l;w<v;++w){M=g[w]+(1<<28);var A=_*w;h[y++]=m[A+b],h[y++]=-M,h[y++]=m[A+x],h[y++]=M}var z=y>>>1;o(h,z);var E=0,S=0;for(w=0;w<z;++w){var N=0|h[2*w+1];if(N>=1<<28)p(s,f,S--,N=N-(1<<28)|0);else if(N>=0)p(a,u,E--,N);else if(N<=-(1<<28)){N=-N-(1<<28)|0;for(var T=0;T<E;++T){if(void 0!==(C=n(a[T],N)))return C}d(s,f,S++,N)}else{N=-N-1|0;for(T=0;T<S;++T){var C;if(void 0!==(C=n(N,s[T])))return C}d(a,u,E++,N)}}},sweepComplete:function(t,n,e,r,i,v,m,g,y,_){for(var b=0,x=2*t,w=t-1,M=x-1,k=e;k<r;++k){var A=v[k]+1<<1,z=x*k;h[b++]=i[z+w],h[b++]=-A,h[b++]=i[z+M],h[b++]=A}for(k=m;k<g;++k){A=_[k]+1<<1;var E=x*k;h[b++]=y[E+w],h[b++]=1|-A,h[b++]=y[E+M],h[b++]=1|A}var S=b>>>1;o(h,S);var N=0,T=0,C=0;for(k=0;k<S;++k){var j=0|h[2*k+1],O=1&j;if(k<S-1&&j>>1==h[2*k+3]>>1&&(O=2,k+=1),j<0){for(var P=-(j>>1)-1,B=0;B<C;++B){if(void 0!==(R=n(c[B],P)))return R}if(0!==O)for(B=0;B<N;++B){if(void 0!==(R=n(a[B],P)))return R}if(1!==O)for(B=0;B<T;++B){var R;if(void 0!==(R=n(s[B],P)))return R}0===O?d(a,u,N++,P):1===O?d(s,f,T++,P):2===O&&d(c,l,C++,P)}else{P=(j>>1)-1;0===O?p(a,u,N--,P):1===O?p(s,f,T--,P):2===O&&p(c,l,C--,P)}}},scanBipartite:function(t,n,e,r,i,s,f,c,l,v,m,g){var y=0,_=2*t,b=n,x=n+t,w=1,M=1;r?M=1<<28:w=1<<28;for(var k=i;k<s;++k){var A=k+w,z=_*k;h[y++]=f[z+b],h[y++]=-A,h[y++]=f[z+x],h[y++]=A}for(k=l;k<v;++k){A=k+M;var E=_*k;h[y++]=m[E+b],h[y++]=-A}var S=y>>>1;o(h,S);var N=0;for(k=0;k<S;++k){var T=0|h[2*k+1];if(T<0){var C=!1;if((A=-T)>=1<<28?(C=!r,A-=1<<28):(C=!!r,A-=1),C)d(a,u,N++,A);else{var j=g[A],O=_*A,P=m[O+n+1],B=m[O+n+1+t];t:for(var R=0;R<N;++R){var I=a[R],D=_*I;if(!(B<f[D+n+1]||f[D+n+1+t]<P)){for(var F=n+2;F<t;++F)if(m[O+F+t]<f[D+F]||f[D+F+t]<m[O+F])continue t;var U,L=c[I];if(void 0!==(U=r?e(j,L):e(L,j)))return U}}}}else p(a,u,N--,T-w)}},scanComplete:function(t,n,e,r,i,u,s,f,c,l,p){for(var d=0,v=2*t,m=n,g=n+t,y=r;y<i;++y){var _=y+(1<<28),b=v*y;h[d++]=u[b+m],h[d++]=-_,h[d++]=u[b+g],h[d++]=_}for(y=f;y<c;++y){_=y+1;var x=v*y;h[d++]=l[x+m],h[d++]=-_}var w=d>>>1;o(h,w);var M=0;for(y=0;y<w;++y){var k=0|h[2*y+1];if(k<0){if((_=-k)>=1<<28)a[M++]=_-(1<<28);else{var A=p[_-=1],z=v*_,E=l[z+n+1],S=l[z+n+1+t];t:for(var N=0;N<M;++N){var T=a[N],C=s[T];if(C===A)break;var j=v*T;if(!(S<u[j+n+1]||u[j+n+1+t]<E)){for(var O=n+2;O<t;++O)if(l[z+O+t]<u[j+O]||u[j+O+t]<l[z+O])continue t;var P=e(C,A);if(void 0!==P)return P}}}}else{for(_=k-(1<<28),N=M-1;N>=0;--N)if(a[N]===_){for(O=N+1;O<M;++O)a[O-1]=a[O];break}--M}}}};var r=e(11),i=e(23),o=e(181),a=r.mallocInt32(1024),u=r.mallocInt32(1024),s=r.mallocInt32(1024),f=r.mallocInt32(1024),c=r.mallocInt32(1024),l=r.mallocInt32(1024),h=r.mallocDouble(8192);function p(t,n,e,r){var i=n[r],o=t[e-1];t[i]=o,n[o]=i}function d(t,n,e,r){t[e]=r,n[r]=e}},function(t,n,e){"use strict";t.exports=function(t,n){var e="abcdef".split("").concat(n),r=[];t.indexOf("lo")>=0&&r.push("lo=e[k+n]");t.indexOf("hi")>=0&&r.push("hi=e[k+o]");return e.push("for(var j=2*a,k=j*c,l=k,m=c,n=b,o=a+b,p=c;d>p;++p,k+=j){var _;if($)if(m===p)m+=1,l+=j;else{for(var s=0;j>s;++s){var t=e[k+s];e[k+s]=e[l],e[l++]=t}var u=f[p];f[p]=f[m],f[m++]=u}}return m".replace("_",r.join()).replace("$",t)),Function.apply(void 0,e)}},function(t,n,e){"use strict";e(25);t.exports=function(t){return t&&"object"==typeof t&&Boolean(t.words)}},function(t,n,e){"use strict";var r=e(25),i=e(34);t.exports=function(t){var n=i.exponent(t);return n<52?new r(t):new r(t*Math.pow(2,52-n)).ushln(n-52)}},function(t,n,e){"use strict";var r=e(15);t.exports=function(t,n){return r(t[0].mul(n[1]),t[1].mul(n[0]))}},function(t,n,e){"use strict";var r=e(15);t.exports=function(t,n){return r(t[0].mul(n[0]),t[1].mul(n[1]))}},function(t,n,e){"use strict";var r=e(15);t.exports=function(t,n){return r(t[0].mul(n[1]).sub(t[1].mul(n[0])),t[1].mul(n[1]))}},function(t,n,e){"use strict";t.exports=function(t,n){var e=t.length;if("number"!=typeof n){n=0;for(var i=0;i<e;++i){var o=t[i];n=Math.max(n,o[0],o[1])}n=1+(0|n)}n|=0;var a=new Array(n);for(i=0;i<n;++i)a[i]=[];for(i=0;i<e;++i){o=t[i];a[o[0]].push(o[1]),a[o[1]].push(o[0])}for(var u=0;u<n;++u)r(a[u],(function(t,n){return t-n}));return a};var r=e(31)},function(t,n){t.exports=function(t,n,e){var r=t.indexOf(e);r>-1&&t.splice(r,1)}},function(t,n,e){var r=e(223);t.exports=function(t,n){var e=n.zoom_data;const i={};var o={xrange:[-1,1],yrange:[-1,1]};i.mat=r(t,n,o,e,"matrix"),i["row-labels"]=r(t,n,o,e,"row-labels"),i["col-labels"]=r(t,n,o,e,"col-labels"),i.static=r(t,n,o,e,"static"),n.cameras=i}},function(t,n,e){t.exports=function(t){var n,e,f=r({element:window,constrainZoom:!1},t||{}),c=u({}),l=f.element,h=!1,p=[null,null],d=[null,null],v=!1,m=0,g={},y=0,_={},b=o(l,(function(t,n,e,r){y=t,_=r}));function x(t,n){return t.preventDefault=n.preventDefault.bind(n),t.stopPropagation=n.stopPropagation.bind(n),t}function w(t){var n=this.getBoundingClientRect();g.type="wheel",g.buttons=y,g.mods=_,g.x0=t.x-n.left,g.y0=t.y-n.top,g.dx=t.deltaX,g.dy=t.deltaY,g.dz=t.deltaZ,g.dsx=1,g.dsy=1,g.dsz=1,g.theta=0,g.dtheta=0,c.emit("interaction",x(g,t))}function M(t){n=i.x(t),e=i.y(t),g.type="mousedown",g.buttons=y,g.mods=_,g.x0=n,g.y0=e,g.dx=0,g.dy=0,g.dz=0,g.dsx=1,g.dsy=1,g.dsz=1,g.theta=0,g.dtheta=0,c.emit("interactionend",x(g,t))}function k(t){var r=i.x(t),o=i.y(t);g.type="mousemove",g.buttons=y,g.mods=_,g.x0=r,g.y0=o,g.dx=r-n,g.dy=o-e,g.dz=0,g.dsx=1,g.dsy=1,g.dsz=1,g.theta=0,g.dtheta=0,n=r,e=o,c.emit("interaction",x(g,t))}function A(t){for(var n=t.identifier,e=0;e<d.length;e++)if(d[e]&&d[e].touch&&d[e].touch.identifier===n)return e;return-1}function z(t){p=[null,null];for(var n=0;n<t.changedTouches.length;n++){var e=t.changedTouches[n];if(-1===A(e.identifier)&&m<2){var r=0===m,i=d[0]?1:0,o=new s;d[i]=o,m+=1,o.touch=e,a(e,l,o.position),r||(v=!1)}}m>0&&(g.type=1===m?"touchstart":"pinchstart",g.buttons=0,g.mods={},g.x0=0,g.y0=0,g.dx=0,g.dy=0,g.dz=0,g.dsx=1,g.dsy=1,g.dsz=1,g.theta=0,g.dtheta=0,c.emit("interactionstart",x(g,t)))}function E(t){for(var n,e=!1,r=0;r<t.changedTouches.length;r++){var i=t.changedTouches[r];-1!==(n=A(i))&&(e=!0,d[n].touch=i,a(i,l,d[n].position))}if(e)if(1===m){for(n=0;n<d.length&&!d[n];n++);if(d[n]&&p[n]){var o=d[n].position[0],u=d[n].position[1],s=o-p[n][0],f=u-p[n][1];g.type="touch",g.buttons=0,g.mods={},g.x0=o,g.y0=u,g.dx=s,g.dy=f,g.dz=0,g.dsx=1,g.dsy=1,g.dsz=1,g.theta=0,g.dtheta=0,c.emit("interaction",x(g,t))}}else if(2===m&&p[0]&&p[1]){var h=p[0],v=p[1],y=v[0]-h[0],_=v[1]-h[1],b=d[0].position,w=d[1].position,M=w[0]-b[0],k=w[1]-b[1],z=Math.sqrt(y*y+_*_),E=Math.atan2(_,y),S=Math.sqrt(M*M+k*k),N=Math.atan2(k,M),T=.5*(v[0]+h[0]),C=.5*(v[1]+h[1]);s=.5*(w[0]+b[0]-h[0]-v[0]),f=.5*(w[1]+b[1]-h[1]-v[1]);var j=S/z,O=N-E;g.type="pinch",g.buttons=0,g.mods={},g.x0=T,g.y0=C,g.dx=s,g.dy=f,g.dz=0,g.dsx=j,g.dsy=j,g.dsz=1,g.theta=N,g.dtheta=O,c.emit("interaction",x(g,t))}d[0]&&(p[0]=d[0].position.slice()),d[1]&&(p[1]=d[1].position.slice())}function S(t){for(var n=0;n<t.changedTouches.length;n++){var e=A(t.changedTouches[n]);-1!==e&&(d[e]=null,m-=1)}v||2===m||(v=!0),m<2&&(g.type=0===m?"touchend":"pinchend",g.buttons=0,g.mods={},g.x0=0,g.y0=0,g.dx=0,g.dy=0,g.dz=0,g.dsx=1,g.dsy=1,g.dsz=1,g.theta=0,g.dtheta=0,c.emit("interactionend",x(g,t)))}function N(){h||(h=!0,b.enabled=!0,l.addEventListener("wheel",w,!1),l.addEventListener("mousedown",M,!1),l.addEventListener("mousemove",k,!1),l.addEventListener("touchstart",z,!1),l.addEventListener("touchmove",E,!1),l.addEventListener("touchend",S,!1),l.addEventListener("touchcancel",S,!1))}return N(),c.enable=N,c.disable=function(){if(!h)return;h=!1,b.enabled=!1,l.removeEventListener("wheel",w,!1),l.removeEventListener("mousedown",M,!1),l.removeEventListener("mousemove",k,!1),l.removeEventListener("touchstart",z,!1),l.removeEventListener("touchmove",E,!1),l.removeEventListener("touchend",S,!1),l.removeEventListener("touchcancel",S,!1)},c};var r=e(224),i=e(75),o=e(225),a=e(226),u=e(76);function s(){this.position=[0,0],this.touch=null}},function(t,n,e){"use strict";function r(t){return t.target||t.srcElement||window}n.buttons=function(t){if("object"==typeof t){if("buttons"in t)return t.buttons;if("which"in t){if(2===(n=t.which))return 4;if(3===n)return 2;if(n>0)return 1<<n-1}else if("button"in t){var n;if(1===(n=t.button))return 4;if(2===n)return 2;if(n>=0)return 1<<n}}return 0},n.element=r,n.x=function(t){if("object"==typeof t){if("offsetX"in t)return t.offsetX;var n=r(t).getBoundingClientRect();return t.clientX-n.left}return 0},n.y=function(t){if("object"==typeof t){if("offsetY"in t)return t.offsetY;var n=r(t).getBoundingClientRect();return t.clientY-n.top}return 0}},function(t,n,e){"use strict";var r,i,o,a,u,s,f,c=e(227),l=e(241),h=Function.prototype.apply,p=Function.prototype.call,d=Object.create,v=Object.defineProperty,m=Object.defineProperties,g=Object.prototype.hasOwnProperty,y={configurable:!0,enumerable:!1,writable:!0};i=function(t,n){var e,i;return l(n),i=this,r.call(this,t,e=function(){o.call(i,t,e),h.call(n,this,arguments)}),e.__eeOnceListener__=n,this},u={on:r=function(t,n){var e;return l(n),g.call(this,"__ee__")?e=this.__ee__:(e=y.value=d(null),v(this,"__ee__",y),y.value=null),e[t]?"object"==typeof e[t]?e[t].push(n):e[t]=[e[t],n]:e[t]=n,this},once:i,off:o=function(t,n){var e,r,i,o;if(l(n),!g.call(this,"__ee__"))return this;if(!(e=this.__ee__)[t])return this;if("object"==typeof(r=e[t]))for(o=0;i=r[o];++o)i!==n&&i.__eeOnceListener__!==n||(2===r.length?e[t]=r[o?0:1]:r.splice(o,1));else r!==n&&r.__eeOnceListener__!==n||delete e[t];return this},emit:a=function(t){var n,e,r,i,o;if(g.call(this,"__ee__")&&(i=this.__ee__[t]))if("object"==typeof i){for(e=arguments.length,o=new Array(e-1),n=1;n<e;++n)o[n-1]=arguments[n];for(i=i.slice(),n=0;r=i[n];++n)h.call(r,this,o)}else switch(arguments.length){case 1:p.call(i,this);break;case 2:p.call(i,this,arguments[1]);break;case 3:p.call(i,this,arguments[1],arguments[2]);break;default:for(e=arguments.length,o=new Array(e-1),n=1;n<e;++n)o[n-1]=arguments[n];h.call(i,this,o)}}},s={on:c(r),once:c(i),off:c(o),emit:c(a)},f=m({},s),t.exports=n=function(t){return null==t?d(f):m(Object(t),s)},n.methods=u},function(t,n){t.exports=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},function(t,n){t.exports=function(t,n,e){return t[0]=n[0]*e,t[1]=n[1]*e,t[2]=n[2]*e,t[3]=n[3]*e,t}},function(t,n){t.exports=function(t,n){var e=n[0],r=n[1],i=n[2],o=n[3],a=e*e+r*r+i*i+o*o;a>0&&(a=1/Math.sqrt(a),t[0]=e*a,t[1]=r*a,t[2]=i*a,t[3]=o*a);return t}},function(t,n){t.exports=function(t,n){var e,r,i,o={},a=t.network[n+"_nodes"],u=t.labels["num_"+n];"row"===n?(r=t.viz_dim.heat_size.y,i=r/u):(r=t.viz_dim.heat_size.x,i=r/u);var s=t.order.inst[n];_.each(a,(function(r){var a,u=r[s];if("linkage"in t.network)var f=r.group_links;else{var c=t.dendro.group_level[n];f=r.group[c]}"row"===n?(e=t.viz_dim.mat_size.y-t.viz_dim.heat_size.y,a=-t.node_canvas_pos.y_arr[u]-2*i-2*e):(e=t.viz_dim.mat_size.x-t.viz_dim.heat_size.x,a=-t.node_canvas_pos.x_arr[u]-2*i+2*e);var l=a+i,h=r.name;h.indexOf(": ")>=0&&(h=h.split(": ")[1]),!1===_.has(o,f)&&(o[f]={},o[f].name_top=h,o[f].name_bot=h,o[f].pos_top=a,o[f].pos_bot=l,o[f].pos_mid=(a+l)/2,o[f].name=f,o[f].all_names=[],o[f].inst_axis=n),o[f].all_names.push(h),a<o[f].pos_top&&(o[f].name_top=h,o[f].pos_top=a,o[f].pos_mid=(a+o[f].pos_bot)/2),l>o[f].pos_bot&&(o[f].name_bot=h,o[f].pos_bot=l,o[f].pos_mid=(o[f].pos_top+l)/2)}));var f=[];return _.each(o,(function(t){f.push(t)})),f}},function(t,n,e){var r=e(13),i=e(20),o=e(292);t.exports=function(t,n,e){var a,u,s;"row"===e?(a=0,u=n.viz_dim.heat_size.y,s=n.viz_dim.mat_size.x):"col"===e&&(a=Math.PI/2,u=n.viz_dim.heat_size.x,s=n.viz_dim.mat_size.y);var f=n.labels["num_"+e],c=n.dendro.tri_height,l=u/f,h=o(n,e);const p=t.buffer({length:h.length,type:"float",usage:"dynamic"});p(h);var d=r.scaling(1,1),v=r.rotation(a),m=i("black",.35);return{vert:"\n precision highp float;\n attribute vec2 position;\n attribute vec2 dendro_att;\n\n uniform mat3 mat_rotate;\n uniform mat3 mat_scale;\n uniform mat4 zoom;\n uniform float mat_size_offset;\n\n varying vec3 new_position;\n varying vec3 vec_translate;\n\n void main () {\n\n // offset[1] will contain dendro width\n new_position = vec3(position[0], position[1] * dendro_att[1], 0);\n\n // offset[0] contains the actual offset\n vec_translate = vec3(mat_size_offset, dendro_att[0], 0);\n\n new_position = mat_rotate * ( mat_scale * new_position + vec_translate ) ;\n\n // depth is being set to 0.40\n gl_Position = zoom * vec4(new_position[0], new_position[1], 0.40, 1);\n\n }\n ",frag:"\n\n precision highp float;\n uniform vec4 triangle_color;\n\n // color triangle red\n void main () {\n gl_FragColor = triangle_color;\n }\n\n ",attributes:{position:[[n.dendro.trap_float,2*l],[c,l],[n.dendro.trap_float,0]],dendro_att:{buffer:p,divisor:1}},uniforms:{zoom:function(t){return t.view},mat_rotate:v,mat_scale:d,mat_size_offset:s,triangle_color:m},count:3,instances:h.length,depth:{enable:!0,mask:!0,func:"less",range:[0,1]}}}},function(t,n){t.exports=function(t,n,e,r=0){let i,o;network=t.network;let a={};network[n+"_nodes"].forEach((t,n)=>{a[n]=[n],t.group_links=n}),max_clust_id=t.network[n+"_nodes"].length,t.network.linkage[n].forEach((t,n)=>{t[2]>r&&t[2]<e&&(i=t[0],o=t[1],new_clust_id=max_clust_id+n,a[new_clust_id]=[],a[new_clust_id]=a[new_clust_id].concat(a[i],a[o]),delete a[i],delete a[o])});let u={};Object.entries(a).forEach(([t,n])=>{n.forEach(n=>{u[n]=t})}),network[n+"_nodes"].forEach((t,n)=>{t.group_links=u[n]})}},function(t,n,e){var r=e(80),i=e(81),o=e(82),a=e(1);t.exports=function(t,n,e){console.log("change_groups!!!!!!");let u=t.regl,s=t.params;if(s.dendro.update_dendro=!0,s.dendro.precalc_linkage){let t=s.dendro.max_linkage_dist[n]*e;o(s,n,t,s.dendro.min_dist[n]);let r=Math.round(100*e)/100;a.select(s.root+" ."+n+"_dendro_slider_svg .dendro_level_text").text(r)}else s.dendro.group_level[n]=e;s.dendro.group_info[n]=r(s,n),s.dendro.dendro_args[n]=i(u,s,n)}},function(t,n){t.exports=function(t,n){return null==n?Math.round(t):Math.round(t*(n=Math.pow(10,n)))/n}},function(t,n,e){t.exports=function(t,n,r,i=!1){var o;o="col"===r?"x":"y",n.cameras[r+"-labels"].draw(()=>{var a;(n.viz_aid_tri_args[r]=e(304)(t,n,r),t(n.viz_aid_tri_args[r])(),_.each(n.cat_args[r],(function(r){t(r)({interp_prop:e(16)(n),run_animation:n.ani.running})})),"clust"===n.order.inst[r]&&"clust"===n.order.new[r]&&t(n.dendro.dendro_args[r])(),a="col"===r?e(306)(t,n,n.zoom_data.zoom_function):e(307)(t,n,n.zoom_data.zoom_function),i)?n.labels["num_"+r]/n.zoom_data[o].total_zoom<n.max_num_text&&0==n.labels.queue.high[r].length&&(e(57)(n),n.labels["num_"+r]>=n.max_num_text&&e(58)(n,r),t(a)(n.text_triangles.draw[r])):0!=n.text_triangles.draw[r]&&t(a)(n.text_triangles.draw[r])})}},function(t,n,e){var r=e(87),i=e(310);t.exports=function(t){var n=r(),e=i(t),o=new Blob([e],{type:"text/plain;charset=utf-8"});let a=t.download.delimiter_name;"tuple"===a&&(a="tsv"),n(o,"clustergrammer."+a),console.log("download matrix")}},function(t,n){t.exports=function(){
/*! @source http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js */
var t=t||navigator.msSaveBlob&&navigator.msSaveBlob.bind(navigator)||function(t){"use strict";var n=t.document,e=t.URL||t.webkitURL||t,r=n.createElementNS("http://www.w3.org/1999/xhtml","a"),i="download"in r,o=t.webkitRequestFileSystem,a=t.requestFileSystem||o||t.mozRequestFileSystem,u=function(n){(t.setImmediate||t.setTimeout)((function(){throw n}),0)},s=0,f=[],c=function(t,n,e){for(var r=(n=[].concat(n)).length;r--;){var i=t["on"+n[r]];if("function"==typeof i)try{i.call(t,e||t)}catch(t){u(t)}}},l=function(e,u){var l,h,p,d,v,m=this,g=e.type,y=!1,_=function(){var n=(t.URL||t.webkitURL||t).createObjectURL(e);return f.push(n),n},b=function(){c(m,"writestart progress write writeend".split(" "))},x=function(){!y&&l||(l=_()),h&&(h.location.href=l),m.readyState=m.DONE,b()},w=function(t){return function(){if(m.readyState!==m.DONE)return t.apply(this,arguments)}},M={create:!0,exclusive:!1};if(m.readyState=m.INIT,u||(u="download"),i)return l=_(),r.href=l,r.download=u,d=r,(v=n.createEvent("MouseEvents")).initMouseEvent("click",!0,!1,t,0,0,0,0,0,!1,!1,!1,!1,0,null),d.dispatchEvent(v),m.readyState=m.DONE,void b();t.chrome&&g&&"application/octet-stream"!==g&&(p=e.slice||e.webkitSlice,e=p.call(e,0,e.size,"application/octet-stream"),y=!0),o&&"download"!==u&&(u+=".download"),h="application/octet-stream"===g||o?t:t.open(),a?(s+=e.size,a(t.TEMPORARY,s,w((function(t){t.root.getDirectory("saved",M,w((function(t){var n=function(){t.getFile(u,M,w((function(t){t.createWriter(w((function(n){n.onwriteend=function(n){h.location.href=t.toURL(),f.push(t),m.readyState=m.DONE,c(m,"writeend",n)},n.onerror=function(){var t=n.error;t.code!==t.ABORT_ERR&&x()},"writestart progress write abort".split(" ").forEach((function(t){n["on"+t]=m["on"+t]})),n.write(e),m.abort=function(){n.abort(),m.readyState=m.DONE},m.readyState=m.WRITING})),x)})),x)};t.getFile(u,{create:!1},w((function(t){t.remove(),n()})),w((function(t){t.code===t.NOT_FOUND_ERR?n():x()})))})),x)})),x)):x()},h=l.prototype;return h.abort=function(){this.readyState=this.DONE,c(this,"abort")},h.readyState=h.INIT=0,h.WRITING=1,h.DONE=2,h.error=h.onwritestart=h.onprogress=h.onwrite=h.onabort=h.onerror=h.onwriteend=null,t.addEventListener("unload",(function(){for(var t=f.length;t--;){var n=f[t];"string"==typeof n?e.revokeObjectURL(n):n.remove()}f.length=0}),!1),function(t,n){return new l(t,n)}}(self);return t}},function(t,n,e){var r=e(87),i=e(312);t.exports=function(t){var n=r();let e=i(t);n(new Blob([e],{type:"text/plain;charset=utf-8"}),"meta_"+t.download.meta_type+".csv"),console.log("download metadata")}},function(t,n){t.exports=function(t,n){var e,r,i,o=t.order.inst[n],a=t.order.new[n],u=t.text_triangles.draw[n],s=t.labels["num_"+n];e="col"===n?"x":"y";var f={},c=t.canvas_pos[e+"_arr"];return _.each(u,(function(e,u){_.each(["inst","new"],(function(e){i="inst"===e?o:a,"col"===n?(r=t.network[n+"_nodes"][u][i],f[e]=c[s-1-r]+.5/s):(r=s-1-t.network[n+"_nodes"][u][i],f[e]=c[r]+.5/s)})),e.inst_offset=[0,f.inst],e.new_offset=[0,f.new]})),u}},function(t,n,e){let r=e(12);t.exports=function(t,n){let i=t.regl,o=t.params;var a=!1;o.tooltip.tooltip_type&&o.tooltip.tooltip_type.includes("-cat-")&&(e(10)(i,o),o.int.need_reset_cat_opacity=!0,a=!0),o.int.need_reset_cat_opacity&&0==a&&(e(10)(i,o),o.int.need_reset_cat_opacity=!1),r(t);var u=o.tooltip;u.show_tooltip&&u.in_bounds_tooltip&&u.on_canvas&&e(91)(t,n),o.labels.draw_labels&&(o.labels.draw_labels=!1)}},function(t,n,e){var r=e(325),i=e(352),o=e(353);t.exports=function(t,n){let e=t.params;!1===e.tooltip.permanent_tooltip&&(i(),r(t,n),o(e))}},function(t,n,e){t.exports=e(333)},function(t,n,e){var r=e(337);n.mixin=function(t){var n=new r;return t.on=n.on.bind(n),t.off=n.off.bind(n),t.once=n.once.bind(n),t.emit=n.emit.bind(n),t}},function(t,n,e){"use strict";var r=e(3).extend,i=e(28);n.name="multiply",n.factory=function(t,n,o,a){var u=e(9),s=o(e(7)),f=o(e(96)),c=o(e(345)),l=o(e(18)),h=o(e(346)),p=o(e(29)),d=t.DenseMatrix,v=t.SparseMatrix,m=a("multiply",r({"Array, Array":function(n,e){g(i.size(n),i.size(e));var r=m(s(n),s(e));return t.isMatrix(r)?r.valueOf():r},"Matrix, Matrix":function(t,n){var e=t.size(),r=n.size();return g(e,r),1===e.length?1===r.length?y(t,n,e[0]):_(t,n):1===r.length?x(t,n):w(t,n)},"Matrix, Array":function(t,n){return m(t,s(n))},"Array, Matrix":function(t,n){return m(s(t,n.storage()),n)},"Matrix, any":function(t,n){var e;switch(t.storage()){case"sparse":e=h(t,n,c,!1);break;case"dense":e=p(t,n,c,!1)}return e},"any, Matrix":function(t,n){var e;switch(n.storage()){case"sparse":e=h(n,t,c,!0);break;case"dense":e=p(n,t,c,!0)}return e},"Array, any":function(t,n){return p(s(t),n,c,!1).valueOf()},"any, Array":function(t,n){return p(s(n),t,c,!0).valueOf()},"any, any":c,"Array | Matrix | any, Array | Matrix | any, ...any":function(t,n,e){for(var r=m(t,n),i=0;i<e.length;i++)r=m(r,e[i]);return r}},c.signatures)),g=function(t,n){switch(t.length){case 1:switch(n.length){case 1:if(t[0]!==n[0])throw new RangeError("Dimension mismatch in multiplication. Vectors must have the same length");break;case 2:if(t[0]!==n[0])throw new RangeError("Dimension mismatch in multiplication. Vector length ("+t[0]+") must match Matrix rows ("+n[0]+")");break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix B has "+n.length+" dimensions)")}break;case 2:switch(n.length){case 1:if(t[1]!==n[0])throw new RangeError("Dimension mismatch in multiplication. Matrix columns ("+t[1]+") must match Vector length ("+n[0]+")");break;case 2:if(t[1]!==n[0])throw new RangeError("Dimension mismatch in multiplication. Matrix A columns ("+t[1]+") must match Matrix B rows ("+n[0]+")");break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix B has "+n.length+" dimensions)")}break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix A has "+t.length+" dimensions)")}},y=function(t,n,e){if(0===e)throw new Error("Cannot multiply two empty vectors");var r,i=t._data,o=t._datatype,u=n._data,s=n._datatype,l=f,h=c;o&&s&&o===s&&"string"==typeof o&&(r=o,l=a.find(f,[r,r]),h=a.find(c,[r,r]));for(var p=h(i[0],u[0]),d=1;d<e;d++)p=l(p,h(i[d],u[d]));return p},_=function(t,n){switch(n.storage()){case"dense":return b(t,n)}throw new Error("Not implemented")},b=function(t,n){var e,r=t._data,i=t._size,o=t._datatype,u=n._data,s=n._size,l=n._datatype,h=i[0],p=s[1],v=f,m=c;o&&l&&o===l&&"string"==typeof o&&(e=o,v=a.find(f,[e,e]),m=a.find(c,[e,e]));for(var g=[],y=0;y<p;y++){for(var _=m(r[0],u[0][y]),b=1;b<h;b++)_=v(_,m(r[b],u[b][y]));g[y]=_}return new d({data:g,size:[p],datatype:e})},x=function(t,n){switch(t.storage()){case"dense":return M(t,n);case"sparse":return z(t,n)}},w=function(t,n){switch(t.storage()){case"dense":switch(n.storage()){case"dense":return k(t,n);case"sparse":return A(t,n)}break;case"sparse":switch(n.storage()){case"dense":return E(t,n);case"sparse":return S(t,n)}}},M=function(t,n){var e,r=t._data,i=t._size,o=t._datatype,u=n._data,s=n._datatype,l=i[0],h=i[1],p=f,v=c;o&&s&&o===s&&"string"==typeof o&&(e=o,p=a.find(f,[e,e]),v=a.find(c,[e,e]));for(var m=[],g=0;g<l;g++){for(var y=r[g],_=v(y[0],u[0]),b=1;b<h;b++)_=p(_,v(y[b],u[b]));m[g]=_}return new d({data:m,size:[l],datatype:e})},k=function(t,n){var e,r=t._data,i=t._size,o=t._datatype,u=n._data,s=n._size,l=n._datatype,h=i[0],p=i[1],v=s[1],m=f,g=c;o&&l&&o===l&&"string"==typeof o&&(e=o,m=a.find(f,[e,e]),g=a.find(c,[e,e]));for(var y=[],_=0;_<h;_++){var b=r[_];y[_]=[];for(var x=0;x<v;x++){for(var w=g(b[0],u[0][x]),M=1;M<p;M++)w=m(w,g(b[M],u[M][x]));y[_][x]=w}}return new d({data:y,size:[h,v],datatype:e})},A=function(t,n){var e=t._data,r=t._size,i=t._datatype,o=n._values,u=n._index,s=n._ptr,h=n._size,p=n._datatype;if(!o)throw new Error("Cannot multiply Dense Matrix times Pattern only Matrix");var d,m=r[0],g=h[1],y=f,_=c,b=l,x=0;i&&p&&i===p&&"string"==typeof i&&(d=i,y=a.find(f,[d,d]),_=a.find(c,[d,d]),b=a.find(l,[d,d]),x=a.convert(0,d));for(var w=[],M=[],k=[],A=new v({values:w,index:M,ptr:k,size:[m,g],datatype:d}),z=0;z<g;z++){k[z]=M.length;var E=s[z],S=s[z+1];if(S>E)for(var N=0,T=0;T<m;T++){for(var C,j=T+1,O=E;O<S;O++){var P=u[O];N!==j?(C=_(e[T][P],o[O]),N=j):C=y(C,_(e[T][P],o[O]))}N!==j||b(C,x)||(M.push(T),w.push(C))}}return k[g]=M.length,A},z=function(t,n){var e=t._values,r=t._index,i=t._ptr,o=t._datatype;if(!e)throw new Error("Cannot multiply Pattern only Matrix times Dense Matrix");var u,s=n._data,h=n._datatype,p=t._size[0],d=n._size[0],m=[],g=[],y=[],_=f,b=c,x=l,w=0;o&&h&&o===h&&"string"==typeof o&&(u=o,_=a.find(f,[u,u]),b=a.find(c,[u,u]),x=a.find(l,[u,u]),w=a.convert(0,u));var M=[],k=[];y[0]=0;for(var A=0;A<d;A++){var z=s[A];if(!x(z,w))for(var E=i[A],S=i[A+1],N=E;N<S;N++){var T=r[N];k[T]?M[T]=_(M[T],b(z,e[N])):(k[T]=!0,g.push(T),M[T]=b(z,e[N]))}}for(var C=g.length,j=0;j<C;j++){var O=g[j];m[j]=M[O]}return y[1]=g.length,new v({values:m,index:g,ptr:y,size:[p,1],datatype:u})},E=function(t,n){var e=t._values,r=t._index,i=t._ptr,o=t._datatype;if(!e)throw new Error("Cannot multiply Pattern only Matrix times Dense Matrix");var u,s=n._data,h=n._datatype,p=t._size[0],d=n._size[0],m=n._size[1],g=f,y=c,_=l,b=0;o&&h&&o===h&&"string"==typeof o&&(u=o,g=a.find(f,[u,u]),y=a.find(c,[u,u]),_=a.find(l,[u,u]),b=a.convert(0,u));for(var x=[],w=[],M=[],k=new v({values:x,index:w,ptr:M,size:[p,m],datatype:u}),A=[],z=[],E=0;E<m;E++){M[E]=w.length;for(var S=E+1,N=0;N<d;N++){var T=s[N][E];if(!_(T,b))for(var C=i[N],j=i[N+1],O=C;O<j;O++){var P=r[O];z[P]!==S?(z[P]=S,w.push(P),A[P]=y(T,e[O])):A[P]=g(A[P],y(T,e[O]))}}for(var B=M[E],R=w.length,I=B;I<R;I++){var D=w[I];x[I]=A[D]}}return M[m]=w.length,k},S=function(t,n){var e,r=t._values,i=t._index,o=t._ptr,u=t._datatype,s=n._values,l=n._index,h=n._ptr,p=n._datatype,d=t._size[0],m=n._size[1],g=r&&s,y=f,_=c;u&&p&&u===p&&"string"==typeof u&&(e=u,y=a.find(f,[e,e]),_=a.find(c,[e,e]));for(var b,x,w,M,k,A,z,E,S=g?[]:void 0,N=[],T=[],C=new v({values:S,index:N,ptr:T,size:[d,m],datatype:e}),j=g?[]:void 0,O=[],P=0;P<m;P++){T[P]=N.length;var B=P+1;for(k=h[P],A=h[P+1],M=k;M<A;M++)if(E=l[M],g)for(x=o[E],w=o[E+1],b=x;b<w;b++)O[z=i[b]]!==B?(O[z]=B,N.push(z),j[z]=_(s[M],r[b])):j[z]=y(j[z],_(s[M],r[b]));else for(x=o[E],w=o[E+1],b=x;b<w;b++)O[z=i[b]]!==B&&(O[z]=B,N.push(z));if(g)for(var R=T[P],I=N.length,D=R;D<I;D++){var F=N[D];S[D]=j[F]}}return T[m]=N.length,C};return m.toTex={2:"\\left(${args[0]}"+u.operators.multiply+"${args[1]}\\right)"},m}},function(t,n,e){"use strict";n.type=function(t){var n=typeof t;return"object"===n?null===t?"null":Array.isArray(t)?"Array":t instanceof Date?"Date":t instanceof RegExp?"RegExp":t instanceof Boolean?"boolean":t instanceof Number?"number":t instanceof String?"string":"Object":"function"===n?"Function":n}},function(t,n,e){"use strict";n.factory=function(t,n,e,r){var i=r("add",{"number, number":function(t,n){return t+n},"Complex, Complex":function(t,n){return t.add(n)},"BigNumber, BigNumber":function(t,n){return t.plus(n)},"Fraction, Fraction":function(t,n){return t.add(n)},"Unit, Unit":function(t,n){if(null==t.value)throw new Error("Parameter x contains a unit with undefined value");if(null==n.value)throw new Error("Parameter y contains a unit with undefined value");if(!t.equalBase(n))throw new Error("Units do not match");var e=t.clone();return e.value=i(e.value,n.value),e.fixPrefix=!1,e}});return i}},function(t,n,e){let r=e(12);t.exports=function(t,n,i,o,a){params=t.params,regl=t.regl;let u=i+": "+o;t.params.network[n+"_nodes"].map(t=>{inst_name=t.name,inst_name.includes(": ")&&(inst_name=inst_name.split(": ")[1]),a.includes(inst_name)&&(t["cat-0"]=u)}),a.forEach(t=>{params.cat_data.manual_cat_dict[n][i][t]=o}),e(22)(t),e(10)(regl,params),!1===params.is_widget&&r(t)}},function(t,n){t.exports={euclidean:function(t,n){for(var e=0,r=0;r<t.length;r++)e+=Math.pow(n[r]-t[r],2);return Math.sqrt(e)},manhattan:function(t,n){for(var e=0,r=0;r<t.length;r++)e+=Math.abs(n[r]-t[r]);return e},max:function(t,n){for(var e=0,r=0;r<t.length;r++)e=Math.max(e,Math.abs(n[r]-t[r]));return e}}},function(t,n,e){var r=e(98);function i(t){this.centroids=t||[]}i.prototype.randomCentroids=function(t,n){var e=t.slice(0);return e.sort((function(){return Math.round(Math.random())-.5})),e.slice(0,n)},i.prototype.classify=function(t,n){var e=1/0,i=0;"string"==typeof(n=n||"euclidean")&&(n=r[n]);for(var o=0;o<this.centroids.length;o++){var a=n(t,this.centroids[o]);a<e&&(e=a,i=o)}return i},i.prototype.cluster=function(t,n,e,i,o){n=n||Math.max(2,Math.ceil(Math.sqrt(t.length/2))),"string"==typeof(e=e||"euclidean")&&(e=r[e]),this.centroids=this.randomCentroids(t,n);for(var a,u=new Array(t.length),s=new Array(n),f=0,c=!0;c;){for(a=0;a<t.length;a++)u[a]=this.classify(t[a],e);c=!1;for(var l=0;l<n;l++){var h=[];for(a=0;a<u.length;a++)u[a]==l&&h.push(t[a]);if(h.length){for(var p=this.centroids[l],d=new Array(p.length),v=0;v<p.length;v++){var m=0;for(a=0;a<h.length;a++)m+=h[a][v];d[v]=m/h.length,d[v]!=p[v]&&(c=!0)}this.centroids[l]=d,s[l]=h}}o&&f++%i==0&&o(s)}return s},i.prototype.toJSON=function(){return JSON.stringify(this.centroids)},i.prototype.fromJSON=function(t){return this.centroids=JSON.parse(t),this},t.exports=i,t.exports.kmeans=function(t,n){return(new i).cluster(t,n)}},function(t,n,e){"use strict";var r=e(19),i=e(6),o=(e(101).getSafeProperty,e(101).setSafeProperty,r.string),a=r.array,u=r.object,s=r.number,f=Array.isArray,c=s.isNumber,l=s.isInteger,h=o.isString,p=a.validateIndex;n.name="DenseMatrix",n.path="type",n.factory=function(t,n,s,d){var v=s(e(41));function m(n,e){if(!(this instanceof m))throw new SyntaxError("Constructor must be called with the new operator");if(e&&!h(e))throw new Error("Invalid datatype: "+e);if(t.isMatrix(n))"DenseMatrix"===n.type?(this._data=u.clone(n._data),this._size=u.clone(n._size),this._datatype=e||n._datatype):(this._data=n.toArray(),this._size=n.size(),this._datatype=e||n._datatype);else if(n&&f(n.data)&&f(n.size))this._data=n.data,this._size=n.size,this._datatype=e||n.datatype;else if(f(n))this._data=function t(n){for(var e=0,r=n.length;e<r;e++){var i=n[e];f(i)?n[e]=t(i):i&&!0===i.isMatrix&&(n[e]=t(i.valueOf()))}return n}(n),this._size=a.size(this._data),a.validate(this._data,this._size),this._datatype=e;else{if(n)throw new TypeError("Unsupported type of data ("+r.types.type(n)+")");this._data=[],this._size=[0],this._datatype=e}}function g(n,e){if(!t.isIndex(e))throw new TypeError("Invalid index");if(e.isScalar())return n.get(e.min());var r=e.size();if(r.length!=n._size.length)throw new i(r.length,n._size.length);for(var o=e.min(),a=e.max(),u=0,s=n._size.length;u<s;u++)p(o[u],n._size[u]),p(a[u],n._size[u]);return new m(function t(n,e,r,i){var o=i===r-1,a=e.dimension(i);return o?a.map((function(t){return p(t,n.length),n[t]})).valueOf():a.map((function(o){p(o,n.length);var a=n[o];return t(a,e,r,i+1)})).valueOf()}(n._data,e,r.length,0),n._datatype)}function y(n,e,r,o){if(!e||!0!==e.isIndex)throw new TypeError("Invalid index");var s,f=e.size(),c=e.isScalar();if(t.isMatrix(r)?(s=r.size(),r=r.valueOf()):s=a.size(r),c){if(0!==s.length)throw new TypeError("Scalar expected");n.set(e.min(),r,o)}else{if(f.length<n._size.length)throw new i(f.length,n._size.length,"<");if(s.length<f.length){for(var l=0,h=0;1===f[l]&&1===s[l];)l++;for(;1===f[l];)h++,l++;r=a.unsqueeze(r,f.length,h,s)}if(!u.deepEqual(f,s))throw new i(f,s,">");b(n,e.max().map((function(t){return t+1})),o);var d=f.length;!function t(n,e,r,i,o){var a=o===i-1,u=e.dimension(o);a?u.forEach((function(t,e){p(t),n[t]=r[e[0]]})):u.forEach((function(a,u){p(a),t(n[a],e,r[u[0]],i,o+1)}))}(n._data,e,r,d,0)}return n}m.prototype=new v,m.prototype.type="DenseMatrix",m.prototype.isDenseMatrix=!0,m.prototype.storage=function(){return"dense"},m.prototype.datatype=function(){return this._datatype},m.prototype.create=function(t,n){return new m(t,n)},m.prototype.subset=function(t,n,e){switch(arguments.length){case 1:return g(this,t);case 2:case 3:return y(this,t,n,e);default:throw new SyntaxError("Wrong number of arguments")}},m.prototype.get=function(t){if(!f(t))throw new TypeError("Array expected");if(t.length!=this._size.length)throw new i(t.length,this._size.length);for(var n=0;n<t.length;n++)p(t[n],this._size[n]);for(var e=this._data,r=0,o=t.length;r<o;r++){var a=t[r];p(a,e.length),e=e[a]}return e},m.prototype.set=function(t,n,e){if(!f(t))throw new TypeError("Array expected");if(t.length<this._size.length)throw new i(t.length,this._size.length,"<");var r,o,a;b(this,t.map((function(t){return t+1})),e);var u=this._data;for(r=0,o=t.length-1;r<o;r++)a=t[r],p(a,u.length),u=u[a];return a=t[t.length-1],p(a,u.length),u[a]=n,this},m.prototype.resize=function(t,n,e){if(!f(t))throw new TypeError("Array expected");var r=e?this.clone():this;return _(r,t,n)};var _=function(t,n,e){if(0===n.length){for(var r=t._data;f(r);)r=r[0];return r}return t._size=n.slice(0),t._data=a.resize(t._data,t._size,e),t};function b(t,n,e){for(var r=t._size.slice(0),i=!1;r.length<n.length;)r.push(0),i=!0;for(var o=0,a=n.length;o<a;o++)n[o]>r[o]&&(r[o]=n[o],i=!0);i&&_(t,r,e)}return m.prototype.reshape=function(t,n){var e=n?this.clone():this;return e._data=a.reshape(e._data,t),e._size=t.slice(0),e},m.prototype.clone=function(){return new m({data:u.clone(this._data),size:u.clone(this._size),datatype:this._datatype})},m.prototype.size=function(){return this._size.slice(0)},m.prototype.map=function(t){var n=this,e=function(r,i){return f(r)?r.map((function(t,n){return e(t,i.concat(n))})):t(r,i,n)};return new m({data:e(this._data,[]),size:u.clone(this._size),datatype:this._datatype})},m.prototype.forEach=function(t){var n=this,e=function(r,i){f(r)?r.forEach((function(t,n){e(t,i.concat(n))})):t(r,i,n)};e(this._data,[])},m.prototype.toArray=function(){return u.clone(this._data)},m.prototype.valueOf=function(){return this._data},m.prototype.format=function(t){return o.format(this._data,t)},m.prototype.toString=function(){return o.format(this._data)},m.prototype.toJSON=function(){return{mathjs:"DenseMatrix",data:this._data,size:this._size,datatype:this._datatype}},m.prototype.diagonal=function(n){if(n){if(t.isBigNumber(n)&&(n=n.toNumber()),!c(n)||!l(n))throw new TypeError("The parameter k must be an integer number")}else n=0;for(var e=n>0?n:0,r=n<0?-n:0,i=this._size[0],o=this._size[1],a=Math.min(i-r,o-e),u=[],s=0;s<a;s++)u[s]=this._data[s+r][s+e];return new m({data:u,size:[a],datatype:this._datatype})},m.diagonal=function(n,e,r,i,o){if(!f(n))throw new TypeError("Array expected, size parameter");if(2!==n.length)throw new Error("Only two dimensions matrix are supported");if(n=n.map((function(n){if(t.isBigNumber(n)&&(n=n.toNumber()),!c(n)||!l(n)||n<1)throw new Error("Size values must be positive integers");return n})),r){if(t.isBigNumber(r)&&(r=r.toNumber()),!c(r)||!l(r))throw new TypeError("The parameter k must be an integer number")}else r=0;i&&h(o)&&(i=d.convert(i,o));var u,s=r>0?r:0,p=r<0?-r:0,v=n[0],g=n[1],y=Math.min(v-p,g-s);if(f(e)){if(e.length!==y)throw new Error("Invalid value array length");u=function(t){return e[t]}}else if(t.isMatrix(e)){var _=e.size();if(1!==_.length||_[0]!==y)throw new Error("Invalid matrix length");u=function(t){return e.get([t])}}else u=function(){return e};i||(i=t.isBigNumber(u(0))?new t.BigNumber(0):0);var b=[];if(n.length>0){b=a.resize(b,n,i);for(var x=0;x<y;x++)b[x+p][x+s]=u(x)}return new m({data:b,size:[v,g]})},m.fromJSON=function(t){return new m(t)},m.prototype.swapRows=function(t,n){if(!(c(t)&&l(t)&&c(n)&&l(n)))throw new Error("Row index must be positive integers");if(2!==this._size.length)throw new Error("Only two dimensional matrix is supported");return p(t,this._size[0]),p(n,this._size[0]),m._swapRows(t,n,this._data),this},m._swapRows=function(t,n,e){var r=e[t];e[t]=e[n],e[n]=r},t.Matrix._storage.dense=m,t.Matrix._storage.default=m,m},n.lazy=!1},function(t,n,e){"use strict";var r=e(3).hasOwnProperty;function i(t,n){return!(!t||"object"!=typeof t)&&(!!r(u,n)||!(n in Object.prototype)&&!(n in Function.prototype))}function o(t,n){return!(!t||"function"!=typeof t[n])&&(!(r(t,n)&&t.__proto__&&n in t.__proto__)&&(!!r(s,n)||!(n in Object.prototype)&&!(n in Function.prototype)))}function a(t){return"object"==typeof t&&t&&t.constructor===Object}var u={length:!0,name:!0},s={toString:!0,valueOf:!0,toLocaleString:!0};n.getSafeProperty=function(t,n){if(a(t)&&i(t,n))return t[n];if("function"==typeof t[n]&&o(t,n))throw new Error('Cannot access method "'+n+'" as a property');throw new Error('No access to property "'+n+'"')},n.setSafeProperty=function(t,n,e){if(a(t)&&i(t,n))return t[n]=e;throw new Error('No access to property "'+n+'"')},n.isSafeProperty=i,n.validateSafeMethod=function(t,n){if(!o(t,n))throw new Error('No access to method "'+n+'"')},n.isSafeMethod=o,n.isPlainObject=a},function(t,n,e){"use strict";var r=e(4).nearlyEqual,i=e(39);n.name="smaller",n.factory=function(t,n,o,a){var u=o(e(7)),s=o(e(103)),f=o(e(104)),c=o(e(105)),l=o(e(42)),h=o(e(29)),p=e(9),d=a("smaller",{"boolean, boolean":function(t,n){return t<n},"number, number":function(t,e){return t<e&&!r(t,e,n.epsilon)},"BigNumber, BigNumber":function(t,e){return t.lt(e)&&!i(t,e,n.epsilon)},"Fraction, Fraction":function(t,n){return-1===t.compare(n)},"Complex, Complex":function(t,n){throw new TypeError("No ordering relation is defined for complex numbers")},"Unit, Unit":function(t,n){if(!t.equalBase(n))throw new Error("Cannot compare units with different base");return d(t.value,n.value)},"string, string":function(t,n){return t<n},"Matrix, Matrix":function(t,n){var e;switch(t.storage()){case"sparse":switch(n.storage()){case"sparse":e=f(t,n,d);break;default:e=s(n,t,d,!0)}break;default:switch(n.storage()){case"sparse":e=s(t,n,d,!1);break;default:e=l(t,n,d)}}return e},"Array, Array":function(t,n){return d(u(t),u(n)).valueOf()},"Array, Matrix":function(t,n){return d(u(t),n)},"Matrix, Array":function(t,n){return d(t,u(n))},"Matrix, any":function(t,n){var e;switch(t.storage()){case"sparse":e=c(t,n,d,!1);break;default:e=h(t,n,d,!1)}return e},"any, Matrix":function(t,n){var e;switch(n.storage()){case"sparse":e=c(n,t,d,!0);break;default:e=h(n,t,d,!0)}return e},"Array, any":function(t,n){return h(u(t),n,d,!1).valueOf()},"any, Array":function(t,n){return h(u(n),t,d,!0).valueOf()}});return d.toTex={2:"\\left(${args[0]}"+p.operators.smaller+"${args[1]}\\right)"},d}},function(t,n,e){"use strict";var r=e(6);n.name="algorithm03",n.factory=function(t,n,e,i){var o=t.DenseMatrix;return function(t,n,e,a){var u=t._data,s=t._size,f=t._datatype,c=n._values,l=n._index,h=n._ptr,p=n._size,d=n._datatype;if(s.length!==p.length)throw new r(s.length,p.length);if(s[0]!==p[0]||s[1]!==p[1])throw new RangeError("Dimension mismatch. Matrix A ("+s+") must match Matrix B ("+p+")");if(!c)throw new Error("Cannot perform operation on Dense Matrix and Pattern Sparse Matrix");var v,m=s[0],g=s[1],y=0,_=e;"string"==typeof f&&f===d&&(v=f,y=i.convert(0,v),_=i.find(e,[v,v]));for(var b=[],x=0;x<m;x++)b[x]=[];for(var w=[],M=[],k=0;k<g;k++){for(var A=k+1,z=h[k],E=h[k+1],S=z;S<E;S++){var N=l[S];w[N]=a?_(c[S],u[N][k]):_(u[N][k],c[S]),M[N]=A}for(var T=0;T<m;T++)M[T]===A?b[T][k]=w[T]:b[T][k]=a?_(y,u[T][k]):_(u[T][k],y)}return new o({data:b,size:[m,g],datatype:v})}}},function(t,n,e){"use strict";var r=e(6);n.name="algorithm07",n.factory=function(t,n,e,i){var o=t.DenseMatrix,a=function(t,n,e,r,i){for(var o=t._values,a=t._index,u=t._ptr,s=u[n],f=u[n+1];s<f;s++){var c=a[s];e[c]=i,r[c]=o[s]}};return function(t,n,e){var u=t._size,s=t._datatype,f=n._size,c=n._datatype;if(u.length!==f.length)throw new r(u.length,f.length);if(u[0]!==f[0]||u[1]!==f[1])throw new RangeError("Dimension mismatch. Matrix A ("+u+") must match Matrix B ("+f+")");var l,h,p,d=u[0],v=u[1],m=0,g=e;"string"==typeof s&&s===c&&(l=s,m=i.convert(0,l),g=i.find(e,[l,l]));var y=[];for(h=0;h<d;h++)y[h]=[];var _=new o({data:y,size:[d,v],datatype:l}),b=[],x=[],w=[],M=[];for(p=0;p<v;p++){var k=p+1;for(a(t,p,w,b,k),a(n,p,M,x,k),h=0;h<d;h++){var A=w[h]===k?b[h]:m,z=M[h]===k?x[h]:m;y[h][p]=g(A,z)}}return _}}},function(t,n,e){"use strict";n.name="algorithm12",n.factory=function(t,n,e,r){var i=t.DenseMatrix;return function(t,n,e,o){var a=t._values,u=t._index,s=t._ptr,f=t._size,c=t._datatype;if(!a)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var l,h=f[0],p=f[1],d=e;"string"==typeof c&&(l=c,n=r.convert(n,l),d=r.find(e,[l,l]));for(var v=[],m=new i({data:v,size:[h,p],datatype:l}),g=[],y=[],_=0;_<p;_++){for(var b=_+1,x=s[_],w=s[_+1],M=x;M<w;M++){var k=u[M];g[k]=a[M],y[k]=b}for(var A=0;A<h;A++)0===_&&(v[A]=[]),y[A]===b?v[A][_]=o?d(n,g[A]):d(g[A],n):v[A][_]=o?d(n,0):d(0,n)}return m}}},function(t,n,e){t.exports=function(t,n=null){e(1),console.log("#################################"),console.log("clustergrammer-gl version 0.25.0"),console.log("#################################");var r={};if(null!=t.container){if(r.args=t,console.log(r.args),r.initialize_params=e(107),r.initialize_regl=e(296),r.initialize_containers=e(298),r.build_dendrogram_sliders=e(299),r.build_control_panel=e(301),r.run_viz=e(320),r.destroy_viz=e(358),r.ini_canvas_mouseover=e(359),r.viz_from_network=e(360),r.draw_labels_tooltips_or_dendro=e(361),r.single_clicking=e(362),r.zoom_rules_high_mat=e(363),r.gen_ordered_labels=e(53),void 0!==t.widget_callback&&(console.log("pass widget_callback to cgm "),r.widget_callback=t.widget_callback),r.network=t.network,r.viz_from_network(n),null!=n&&(n.cgm=r),r.recluster=e(379),r.manual_update_to_cats=e(97),r.update_all_cats=e(402),r.download_matrix=e(86),r.download_metadata=e(88),r.params.is_widget){let t=r.params.tooltip_id.replace("#","");Jupyter.keyboard_manager.register_events(document.getElementById(t));let n=r.params.root.replace("#","");Jupyter.keyboard_manager.register_events(document.getElementById(n))}return r.adjust_opacity=function(t){console.log("adjust_opacity!!!!!!!!!!!!!!"),this.params.matrix.opacity_scale=t,this.make_matrix_args(),draw_webgl_layers(this)},r}}},function(t,n,e){var r=e(1),i=e(108),o=e(127),a=e(20);t.exports=function(t){var n=this,u=this.args,s=this.canvas_container,f=this.regl,c=this.network;["row","col"].forEach(t=>{this.network[t+"_nodes"].forEach(t=>t.ini=t.ini-1)}),n.params={};let l=n.params;l.network=c,l.use_hzome=!1,"use_hzome"in n.args&&(l.use_hzome=n.args.use_hzome,"gene_data"in n.args?l.gene_data=n.args.gene_data:l.gene_data={}),l.norm={},"pre_zscore"in l.network?(l.norm.initial_status="zscored",l.norm.zscore_status="zscored"):(l.norm.initial_status="non-zscored",l.norm.zscore_status="non-zscored"),e(134)(l),e(135)(l),e(137)(l),e(138)(l),l.mat_data=l.network.mat,e(142)(l),e(53)(n);var h,p=l.labels;e(143)(f,l),e(144)(f,l),e(10)(f,l),l.zoom_data=e(55)(),l.canvas_pos=e(147)(l),l.is_downsampled=!1,l.viz_aid_tri_args={},_.each(["row","col"],(function(t){e(56)(l,t)})),l.tile_pix_width=l.viz_dim.heat.width/p.num_col,l.tile_pix_height=l.viz_dim.heat.height/p.num_row,e(148)(l),e(149)(l),e(150)(l),l.scale_row_font_size=n.args.scale_row_font_size,l.scale_col_font_size=n.args.scale_col_font_size,e(151)(l),e(57)(l),e(152)(l),l.matrix={},l.matrix.distance_metric="cosine",l.matrix.linkage_type="average",l.matrix.opacity_scale=1,l.viz.current_panel="reorder",l.matrix.potential_recluster={},l.matrix.potential_recluster.distance_metric=l.matrix.distance_metric,l.matrix.potential_recluster.linkage_type=l.matrix.linkage_type,h=p.num_col<p.num_row?p.num_col:p.num_row,l.max_zoom=h/4,l.zoom_restrict=e(222)(l),n.zoom_rules_high_mat(f,l,t),e(73)(f,l),e(290)(l);let d={};if("matrix_colors"in l.network){console.log("found custom colors for pos/neg");let t=l.network.matrix_colors.pos,n=l.network.matrix_colors.neg;d.pos_rgb=a(t).slice(0,3),d.neg_rgb=a(n).slice(0,3)}else d.pos_rgb=[1,0,0],d.neg_rgb=[0,0,1];l.viz.mat_colors=d,n.make_matrix_args=o,n.make_matrix_args(),e(291)(n),e(293)(f,l);var v=r.scaleLinear().domain([10,1e3]).range([2,30]);l.allow_zoom={},l.allow_zoom.col=v(p.num_col),l.allow_zoom.row=v(p.num_col),l.text_scale={},l.hzome=i(l),l.viz_height=1035,l.viz_width=900,l.root="#"+u.container.id,l.canvas_root=l.root+" .canvas-container",l.base_container=u.container,l.canvas_container=s,l.is_widget=!1,null!==t&&(l.is_widget=!0,l.self_update=!1);let m=["col","row"];manual_category={},"manual_category"in l.network?(m.forEach(t=>{t in l.network.manual_category&&(manual_category[t]=l.network.manual_category[t],t+"_cats"in l.network.manual_category&&(manual_category[t+"_cats"]=l.network.manual_category[t+"_cats"]),t+"_cats"in l.network.manual_category&&(color_dict={},"color"in l.network.manual_category[t+"_cats"][0]&&manual_category[t+"_cats"].map(t=>color_dict[t.name]=t.color),manual_category[t+"_color_dict"]=color_dict))}),l.cat_data.manual_cat_dict={},m.forEach(t=>{if(manual_category[t]&&t in n.params.cat_data&&n.params.cat_data[t].length>0&&"cat_title"in n.params.cat_data[t][0]){let e,r=n.params.cat_data[t][0].cat_title,i={};i[r]={},l.network[t+"_nodes"].forEach(t=>{e=t.name.includes(": ")?t.name.split(": ")[1]:t.name,i[r][e]=t["cat-0"].split(": ")[1]}),l.cat_data.manual_cat_dict[t]=i}})):(manual_category.row=!1,manual_category.col=!1),l.cat_data.manual_category=manual_category,l.search={},l.search.searched_rows=[];let g={delimiter_name:"csv",delimiter_key:{}};g.delimiter_key.csv=",",g.delimiter_key.tsv="\t",g.delimiter_key.tuple="\t",g.meta_type="col",l.download=g,this.params=l}},function(t,n,e){var r=e(1),i=e(109);t.exports=function(t){function n(n){var r;r=n.indexOf(" ")>0?n.split(" ")[0]:n.indexOf("_")>0?n.split("_")[0]:n,organism="human",num_matches=100;let o="https://www.ebi.ac.uk/proteins/api/proteins?offset=0&size="+num_matches+"&exact_gene="+r+"&organism="+organism;try{i.get(o).then((function(o){var a=o.data.filter(t=>"Evidence at protein level"===t.proteinExistence).filter(t=>"comments"in t).filter(t=>"gene"in t).filter(t=>t.gene[0].name.value.toLowerCase()===r.toLowerCase()).sort((t,n)=>n.comments.length-t.comments.length);try{let o="https://rest.uniprot.org/uniprotkb/"+a[0].accession+".json";i.get(o).then((function(i){try{var o=i.data.proteinDescription.recommendedName.fullName.value;try{var a=i.data.comments[0].texts[0].value}catch(t){a="Unable to obtain UniProt description."}e(n,o,a),t.hzome.gene_data[r]={},t.hzome.gene_data[r].name=o,t.hzome.gene_data[r].description=a}catch(i){t.hzome.gene_data[r]={},t.hzome.gene_data[r].name="",t.hzome.gene_data[r].description="Unable to obtain UniProt description.",e(n,"","Unable to obtain UniProt description.")}})).finally((function(){}))}catch(i){t.hzome.gene_data[r]={},t.hzome.gene_data[r].name="",t.hzome.gene_data[r].description="Unable to obtain UniProt description.",e(n,"","Unable to obtain UniProt description.")}}))}catch(i){t.hzome.gene_data[r]={},t.hzome.gene_data[r].name="",t.hzome.gene_data[r].description="Unable to obtain UniProt description.",e(n,"","Unable to obtain UniProt description.")}}function e(n,e,i){null!=e&&(r.select(t.tooltip_id).html((function(){return"<p>"+(n+": "+e)+"</p> <p>"+i+"</p>"})),r.select(t.tooltip_id).selectAll("p").style("width","600px"))}var o={gene_info:function(r){if(_.has(t.hzome.gene_data,r)){var i=t.hzome.gene_data[r];e(r,i.name,i.description)}else n(r)}};return o.gene_data=t.gene_data,o.get_request=n,o}},function(t,n,e){t.exports=e(110)},function(t,n,e){"use strict";var r=e(2),i=e(43),o=e(112),a=e(49);function u(t){var n=new o(t),e=i(o.prototype.request,n);return r.extend(e,o.prototype,n),r.extend(e,n),e}var s=u(e(46));s.Axios=o,s.create=function(t){return u(a(s.defaults,t))},s.Cancel=e(50),s.CancelToken=e(125),s.isCancel=e(45),s.all=function(t){return Promise.all(t)},s.spread=e(126),t.exports=s,t.exports.default=s},function(t,n){
/*!
* Determine if an object is a Buffer
*
* @author Feross Aboukhadijeh <https://feross.org>
* @license MIT
*/
t.exports=function(t){return null!=t&&null!=t.constructor&&"function"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}},function(t,n,e){"use strict";var r=e(2),i=e(44),o=e(113),a=e(114),u=e(49);function s(t){this.defaults=t,this.interceptors={request:new o,response:new o}}s.prototype.request=function(t){"string"==typeof t?(t=arguments[1]||{}).url=arguments[0]:t=t||{},(t=u(this.defaults,t)).method=t.method?t.method.toLowerCase():"get";var n=[a,void 0],e=Promise.resolve(t);for(this.interceptors.request.forEach((function(t){n.unshift(t.fulfilled,t.rejected)})),this.interceptors.response.forEach((function(t){n.push(t.fulfilled,t.rejected)}));n.length;)e=e.then(n.shift(),n.shift());return e},s.prototype.getUri=function(t){return t=u(this.defaults,t),i(t.url,t.params,t.paramsSerializer).replace(/^\?/,"")},r.forEach(["delete","get","head","options"],(function(t){s.prototype[t]=function(n,e){return this.request(r.merge(e||{},{method:t,url:n}))}})),r.forEach(["post","put","patch"],(function(t){s.prototype[t]=function(n,e,i){return this.request(r.merge(i||{},{method:t,url:n,data:e}))}})),t.exports=s},function(t,n,e){"use strict";var r=e(2);function i(){this.handlers=[]}i.prototype.use=function(t,n){return this.handlers.push({fulfilled:t,rejected:n}),this.handlers.length-1},i.prototype.eject=function(t){this.handlers[t]&&(this.handlers[t]=null)},i.prototype.forEach=function(t){r.forEach(this.handlers,(function(n){null!==n&&t(n)}))},t.exports=i},function(t,n,e){"use strict";var r=e(2),i=e(115),o=e(45),a=e(46),u=e(123),s=e(124);function f(t){t.cancelToken&&t.cancelToken.throwIfRequested()}t.exports=function(t){return f(t),t.baseURL&&!u(t.url)&&(t.url=s(t.baseURL,t.url)),t.headers=t.headers||{},t.data=i(t.data,t.headers,t.transformRequest),t.headers=r.merge(t.headers.common||{},t.headers[t.method]||{},t.headers||{}),r.forEach(["delete","get","head","post","put","patch","common"],(function(n){delete t.headers[n]})),(t.adapter||a.adapter)(t).then((function(n){return f(t),n.data=i(n.data,n.headers,t.transformResponse),n}),(function(n){return o(n)||(f(t),n&&n.response&&(n.response.data=i(n.response.data,n.response.headers,t.transformResponse))),Promise.reject(n)}))}},function(t,n,e){"use strict";var r=e(2);t.exports=function(t,n,e){return r.forEach(e,(function(e){t=e(t,n)})),t}},function(t,n){var e,r,i=t.exports={};function o(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function u(t){if(e===setTimeout)return setTimeout(t,0);if((e===o||!e)&&setTimeout)return e=setTimeout,setTimeout(t,0);try{return e(t,0)}catch(n){try{return e.call(null,t,0)}catch(n){return e.call(this,t,0)}}}!function(){try{e="function"==typeof setTimeout?setTimeout:o}catch(t){e=o}try{r="function"==typeof clearTimeout?clearTimeout:a}catch(t){r=a}}();var s,f=[],c=!1,l=-1;function h(){c&&s&&(c=!1,s.length?f=s.concat(f):l=-1,f.length&&p())}function p(){if(!c){var t=u(h);c=!0;for(var n=f.length;n;){for(s=f,f=[];++l<n;)s&&s[l].run();l=-1,n=f.length}s=null,c=!1,function(t){if(r===clearTimeout)return clearTimeout(t);if((r===a||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(t);try{r(t)}catch(n){try{return r.call(null,t)}catch(n){return r.call(this,t)}}}(t)}}function d(t,n){this.fun=t,this.array=n}function v(){}i.nextTick=function(t){var n=new Array(arguments.length-1);if(arguments.length>1)for(var e=1;e<arguments.length;e++)n[e-1]=arguments[e];f.push(new d(t,n)),1!==f.length||c||u(p)},d.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=v,i.addListener=v,i.once=v,i.off=v,i.removeListener=v,i.removeAllListeners=v,i.emit=v,i.prependListener=v,i.prependOnceListener=v,i.listeners=function(t){return[]},i.binding=function(t){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(t){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},function(t,n,e){"use strict";var r=e(2);t.exports=function(t,n){r.forEach(t,(function(e,r){r!==n&&r.toUpperCase()===n.toUpperCase()&&(t[n]=e,delete t[r])}))}},function(t,n,e){"use strict";var r=e(48);t.exports=function(t,n,e){var i=e.config.validateStatus;!i||i(e.status)?t(e):n(r("Request failed with status code "+e.status,e.config,null,e.request,e))}},function(t,n,e){"use strict";t.exports=function(t,n,e,r,i){return t.config=n,e&&(t.code=e),t.request=r,t.response=i,t.isAxiosError=!0,t.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},t}},function(t,n,e){"use strict";var r=e(2),i=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];t.exports=function(t){var n,e,o,a={};return t?(r.forEach(t.split("\n"),(function(t){if(o=t.indexOf(":"),n=r.trim(t.substr(0,o)).toLowerCase(),e=r.trim(t.substr(o+1)),n){if(a[n]&&i.indexOf(n)>=0)return;a[n]="set-cookie"===n?(a[n]?a[n]:[]).concat([e]):a[n]?a[n]+", "+e:e}})),a):a}},function(t,n,e){"use strict";var r=e(2);t.exports=r.isStandardBrowserEnv()?function(){var t,n=/(msie|trident)/i.test(navigator.userAgent),e=document.createElement("a");function i(t){var r=t;return n&&(e.setAttribute("href",r),r=e.href),e.setAttribute("href",r),{href:e.href,protocol:e.protocol?e.protocol.replace(/:$/,""):"",host:e.host,search:e.search?e.search.replace(/^\?/,""):"",hash:e.hash?e.hash.replace(/^#/,""):"",hostname:e.hostname,port:e.port,pathname:"/"===e.pathname.charAt(0)?e.pathname:"/"+e.pathname}}return t=i(window.location.href),function(n){var e=r.isString(n)?i(n):n;return e.protocol===t.protocol&&e.host===t.host}}():function(){return!0}},function(t,n,e){"use strict";var r=e(2);t.exports=r.isStandardBrowserEnv()?{write:function(t,n,e,i,o,a){var u=[];u.push(t+"="+encodeURIComponent(n)),r.isNumber(e)&&u.push("expires="+new Date(e).toGMTString()),r.isString(i)&&u.push("path="+i),r.isString(o)&&u.push("domain="+o),!0===a&&u.push("secure"),document.cookie=u.join("; ")},read:function(t){var n=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return n?decodeURIComponent(n[3]):null},remove:function(t){this.write(t,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},function(t,n,e){"use strict";t.exports=function(t){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(t)}},function(t,n,e){"use strict";t.exports=function(t,n){return n?t.replace(/\/+$/,"")+"/"+n.replace(/^\/+/,""):t}},function(t,n,e){"use strict";var r=e(50);function i(t){if("function"!=typeof t)throw new TypeError("executor must be a function.");var n;this.promise=new Promise((function(t){n=t}));var e=this;t((function(t){e.reason||(e.reason=new r(t),n(e.reason))}))}i.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},i.source=function(){var t;return{token:new i((function(n){t=n})),cancel:t}},t.exports=i},function(t,n,e){"use strict";t.exports=function(t){return function(n){return t.apply(null,n)}}},function(t,n,e){var r=e(51),i=e(128);t.exports=function(){let t=this.regl,n=this.params;n.arrs={},n.arrs.opacity_arr=i(n),n.arrs.position_arr={},n.arrs.position_arr.ini=r(n,n.order.inst.row,n.order.inst.col),n.arrs.position_arr.new=r(n,n.order.new.row,n.order.new.col);var e=t.buffer({type:"float",usage:"dynamic"})(n.arrs.opacity_arr),o=n.viz_dim.tile_width,a=n.viz_dim.tile_height,u=[[o,0],[o,a],[0,a],[o,0],[0,0],[0,a]],s=n.arrs.position_arr.ini.length,f=n.zoom_data.zoom_function,c={vert:"\n // precision highp float;\n precision lowp float;\n attribute vec2 position;\n attribute vec2 pos_att_ini, pos_att_new;\n attribute float opacity_att;\n uniform mat4 zoom;\n uniform bool run_animation;\n uniform float interp_uni;\n varying vec2 pos;\n\n // pass varying variables to fragment from vector\n varying float opacity_vary;\n\n void main() {\n\n // interpolate between the two positions using the interpolate uniform\n if (run_animation == true){\n pos = mix(pos_att_ini, pos_att_new, interp_uni);\n } else {\n pos = pos_att_ini;\n }\n\n gl_Position = zoom *\n vec4( position.x + pos.x,\n position.y + pos.y,\n 0.75,\n 1\n );\n\n // pass attribute (in vert) to varying in frag\n opacity_vary = opacity_att;\n\n }",frag:"\n // precision highp float;\n precision lowp float;\n\n uniform vec3 pos_rgb;\n uniform vec3 neg_rgb;\n\n // use the varying being passed from the vertex shader\n varying float opacity_vary;\n\n void main() {\n\n if (opacity_vary > 0.0){\n // gl_FragColor = vec4(1, 0, 0, abs(opacity_vary));\n gl_FragColor = vec4(pos_rgb, abs(opacity_vary));\n } else {\n // gl_FragColor = vec4(0, 0, 1, abs(opacity_vary));\n gl_FragColor = vec4(neg_rgb, abs(opacity_vary));\n }\n\n }",attributes:{position:u,pos_att_ini:{buffer:t.buffer(n.arrs.position_arr.ini),divisor:1},pos_att_new:{buffer:t.buffer(n.arrs.position_arr.new),divisor:1},opacity_att:{buffer:e,divisor:1}},blend:{enable:!0,func:{srcRGB:"src alpha",srcAlpha:1,dstRGB:"one minus src alpha",dstAlpha:1},equation:{rgb:"add",alpha:"add"},color:[0,0,0,0]},count:6,uniforms:{zoom:f,interp_uni:(t,n)=>Math.max(0,Math.min(1,n.interp_prop)),run_animation:t.prop("run_animation"),pos_rgb:n.viz.mat_colors.pos_rgb,neg_rgb:n.viz.mat_colors.neg_rgb},instances:s,depth:{enable:!1}},l={regl_props:{}};l.regl_props.rects=c,n.matrix_args=l}},function(t,n,e){var r=e(1),i=e(129);e(130);t.exports=function(t){let n;mat_data=t.mat_data,"zscored"===t.norm.initial_status?"zscored"===t.norm.zscore_status?n=t.mat_data:"non-zscored"===t.norm.zscore_status&&("mat_data_iz"in t==!1&&i(t),n=t.mat_data_iz):n=t.mat_data;var e=[].concat.apply([],n),o=Math.abs(_.max(e,(function(t){return Math.abs(t)}))),a=r.scaleLinear(),u=o*t.matrix.opacity_scale;return a.domain([-u,u]).range([-1,1]).clamp(!0),e=e.map((function(t){return a(t)}))}},function(t,n){t.exports=function(t){console.log("calc_inverse_zscore!!!!!!!!!!!!!!"),mat_data=t.mat_data;let n=mat_data.map((n,e)=>(inst_avg=t.network.pre_zscore.mean[e],inst_std=t.network.pre_zscore.std[e],inst_row_iz=n.map(t=>t=t*inst_std+inst_avg),inst_row_iz));t.mat_data_iz=n}},function(t,n,e){var r=e(52),i=e(131);t.exports=function(t){console.log("calc_zscore ???????????? "),mat_data=t.mat_data;let n=mat_data.map(t=>(inst_avg=r(t),inst_std=i(t),inst_row_z=t.map(t=>t=(t-inst_avg)/inst_std),inst_row_z));t.mat_data_z=n}},function(t,n,e){let r=e(52),i=e(132);t.exports=function(t){var n=r(t),e=t.map((function(t){var e=t-n;return e*e})),o=i(e);return Math.sqrt(o)}},function(t,n){t.exports=function(t){return t.reduce((function(t,n){return t+n}),0)/(t.length-1)}},function(t,n){t.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153,1],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],transparent:[0,0,0,0],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},function(t,n){t.exports=function(t){var n={time_remain:0,running:!1,run_animation:!1,last_switch_time:0,ani_duration:3,duration_end:0,time:0,first_frame:!0,ini_viz:!0,last_click:0,dblclick_duration:.5,update_viz:!1};t.ani=n}},function(t,n,e){e(136);t.exports=function(t){var n,e,r=t.network;_.each(["row","col"],(function(t){var i=r[t+"_nodes"];n=i.map(t=>{let n=t.name;return n.includes(": ")&&(n=n.split(": ")[1]),n}),r[t+"_node_names"]=n,e=n.concat().sort(),_.map(i,(function(t){var r=n.length-e.indexOf(t.name)-1;t.alpha=r,t.custom=r}))}))}},function(t,n,e){var r=e(21);t.exports={normal_name:function(t){return t.name.replace(/_/g," ").split("#")[0]},is_supported_order:function(t){return"ini"===t||"clust"===t||"rank_var"===t||"rank"===t||"class"===t||"alpha"==t},has:function(t,n){return null!=t&&hasOwnProperty.call(t,n)},property:function(t){return function(n){return null==n?void 0:n[t]}},pluck:function(t,n){if(window._){if("function"==typeof r.pluck)return r.pluck(t,n);if("function"==typeof r.map)return r.map(t,this.property(n))}else if(t.map&&"function"==typeof t.map)return t.map(this.property(n))},is_undefined:function(t){return void 0===t},extend:function(t,n){for(var e in t=t||{},n)"object"==typeof n[e]?t[e]=this.extend(t[e],n[e]):t[e]=n[e];return t}}},function(t,n){t.exports=function(t){var n={total:0,still_interacting:!1,still_mouseover:!1,need_reset_cat_opacity:!1,mouseover:{}};_.each(["row","col"],(function(t){n.mouseover[t]={},n.mouseover[t].name=null,n.mouseover[t].cats=[]})),n.mouseover.value=null,n.enable_viz_interact=!0,n.manual_update_cats=!1,t.int=n}},function(t,n,e){var r=e(139),i=e(140);t.exports=function(t){var n={};n.row=r(t,"row"),n.col=r(t,"col"),n.cat_num={},n.cat_num.row=n.row.length,n.cat_num.col=n.col.length;var e={webgl:.0135};e.x=e.webgl,e.y=e.webgl,n.cat_room=e,n.showing_color_picker=!1,t.cat_data=n,i(t)}},function(t,n){t.exports=function(t,n){s={};var e,r,i,o=[],a=t.network[n+"_nodes"][0],u=_.keys(a),s={};_.each(u,(function(t){t.indexOf("cat-")>=0&&(e=a[t],i=parseInt(t.split("cat-")[1],10),r=e.indexOf(": ")>=0?e.split(": ")[0]:t,s[i]=r)}));var f,c=_.keys(s).sort();return _.each(c,(function(t){(f={}).cat_title=s[t],f.cats=[],o.push(f)})),o}},function(t,n,e){t.exports=function(t){var n,r,i={};i.show_categories={},i.all_cats={},i.cat_names={},i.cat_info={},i.cat_bar_width=180,i.cat_bar_height=15,i.cat_value_colors=["#2F4F4F","#9370DB"];var o={row:null,col:null};if(i.cat_colors={},i.cat_colors.value_opacity=o,_.each(["row","col"],(function(o){i.show_categories[o]=!1,i.all_cats[o]=[];var a=_.keys(t.network[o+"_nodes"][0]);a=a.sort(),_.each(a,(function(t){t.indexOf("cat-")>=0&&(i.show_categories[o]=!0,i.all_cats[o].push(t))})),i.cat_info[o]=null,i.cat_colors[o]={},i.cat_info[o]={},i.cat_names[o]={},_.each(i.all_cats[o],(function(a){var u=t.network[o+"_nodes"][0];"string"==typeof u[a]&&u[a].indexOf(": ")>0?(n=u[a].split(": ")[0],i.cat_names[o][a]=n):i.cat_names[o][a]=a;var s=_.pluck(t.network[o+"_nodes"],a),f=[];_.each(s,(function(t){var n;n=t.indexOf(": ")>0?t.split(": ")[1]:t,f.push(n)}));var c=_.uniq(s).sort();if("cat_strings"===(r=e(141)(c)).type){var l=_.countBy(f);r.cat_hist=l}else r.cat_hist=null;i.cat_info[o][a]=r,i.cat_colors[o][a]={}})),i.cat_colors[o]=t.network.cat_colors[o]})),i.cat_colors.opacity=.6,i.cat_colors.active_opacity=.9,"global_cat_colors"in t.network==!1){i.global_cat_colors={},["row","col"].forEach(t=>{Object.keys(i.cat_colors[t]).forEach(n=>{Object.keys(i.cat_colors[t][n]).forEach(e=>{let r=i.cat_colors[t][n][e];e.includes(": ")&&(e=e.split(": ")[1]),i.global_cat_colors[e]=r})})}),t.network.global_cat_colors=i.global_cat_colors}else i.global_cat_colors=t.network.global_cat_colors;t.viz=i}},function(t,n,e){var r=e(1);t.exports=function(t){var n=t[0],e=!1,i=!1,o="cat_strings",a=NaN,u=[],s=null;if("string"==typeof n&&n.indexOf(": ")>-1&&(e=!0,n=n.split(": ")[1]),0==isNaN(n)&&(i=!0),i&&(o="cat_values",_.each(t,(function(t){e&&(t=t.split(": ")[1]),!0===isNaN(t)?o="cat_strings":(t=parseFloat(t),u.push(t))}))),"cat_values"===o){var f=_.max(u,(function(t){return Math.abs(t)}));a=Math.abs(f),s=r.scaleLinear().domain([0,a]).range([0,1])}var c={};return c.type=o,c.max_abs_val=a,c.cat_scale=s,c}},function(t,n){t.exports=function(t){t.order={},_.each(["inst","new"],(function(n){t.order[n]={},"order"in t.network?(t.order[n].row=t.network.order.row,t.order[n].col=t.network.order.col):(t.order[n].row="clust",t.order[n].col="clust")}))}},function(t,n){t.exports=function(t,n){var e={show_tooltip:!1,in_bounds_tooltip:!1,background_opacity:.75,tooltip_type:null,border_width:10,on_canvas:!0,permanent_tooltip:!1};n.tooltip=e}},function(t,n,e){var r=e(1),i=e(30);t.exports=function(t,n){var e={},o=o||{},a=i({element:o.element||t._gl.canvas},o||{}).element;e.canvas={},_.each(["width","height"],(function(t){e.canvas[t]=Number.parseFloat(r.select(a).style(t).replace("px",""))}));var u,s,f,c={x:"row",y:"col"},l={x:"col",y:"row"},h={};h.x="width",h.y="height",e.mat={},e.heat={},e.heat_size={},e.center={},e.offcenter={},e.shift_camera={},e.mat_size={};var p={};_.each(["x","y"],(function(t){u=c[t],s=l[t],f=h[t],e.mat_size[t]=.8,e.heat_size[t]=e.mat_size[t]-n.cat_data.cat_room[t]*n.cat_data.cat_num[u],e.mat[f]=e.mat_size[t]*e.canvas[f],e.mat[t]={},e.mat[t].min=e.canvas[f]/2-e.mat[f]/2,e.mat[t].max=e.canvas[f]/2+e.mat[f]/2,e.heat[f]=e.heat_size[t]*e.canvas[f],p[t]=(e.mat[f]-e.heat[f])/2,e.heat[t]={},e.heat[t].min=e.canvas[f]/2-e.heat[f]/2+p[t],e.heat[t].max="x"==t?e.canvas[f]/2+e.heat[f]/2:e.canvas[f]/2+e.heat[f]/2+p.x,e.center[t]=.5,e["tile_"+f]=e.heat_size[t]/.5/n.labels["num_"+s],e.offcenter[t]=.075,e.shift_camera[t]="x"===t?-.075:.075})),n.viz_dim=e}},function(t,n,e){var r=e(13),i=e(20),o=e(146);t.exports=function(t,n,e,a){var u,s,f,c="cat-"+String(a),l=i("purple",.95),h=n.labels["num_"+e];"col"===e?(s=n.viz_dim.heat_size.x,f=n.viz_dim.mat_size.y,u=s/.5/h):(s=n.viz_dim.heat_size.y,f=n.viz_dim.mat_size.x,u=n.viz_dim.heat_size.y/.5/h);var p,d=-f-.04+.025*(a+1),v=!1,m=1;if(n.tooltip.tooltip_type&&n.tooltip.tooltip_type.includes("-cat-")){v=!0;var g=n.tooltip.tooltip_type.split("-")[2];p=n.int.mouseover[e].cats[g]}var y=!1;"cat_values"==n.viz.cat_info[e][c].type&&(y=!0);for(var _,b,x=[],w=0;w<h;w++){var M,k=n.network[e+"_nodes"][w][c];if(y&&(b=o(k),m=n.viz.cat_info[e][c].cat_scale(Math.abs(b)),ini_value_color=b>0?n.viz.cat_value_colors[0]:n.viz.cat_value_colors[1],_=i(ini_value_color).map(t=>t*m+(1-m))),!1===y)if("cat_colors"in n.network)if(c in n.network.cat_colors[e])try{M=n.viz.global_cat_colors[k.split(": ")[1]]}catch(t){M="white"}else M="white";else M="white";else M=_;m=1;v?p==k?!1===y&&(M=i(M,m)):!1===y&&(M=i(M,m).map(t=>.25*t+.75)):!1===y&&(M=i(M,m)),x[w]=M}const A=t.buffer({length:h,usage:"dynamic"});A(x),n.color_arr=x;var z,E=r.scaling(2,1);"row"===e?z=0:"col"===e&&(z=Math.PI/2);var S=r.rotation(z);return{vert:"\n precision highp float;\n attribute vec2 ini_position;\n attribute vec2 cat_pos_att_inst;\n attribute vec2 cat_pos_att_new;\n uniform float interp_uni;\n uniform bool run_animation;\n\n\n uniform mat3 mat_rotate;\n uniform mat3 scale_y;\n uniform mat4 zoom;\n uniform float top_offset;\n\n varying vec3 new_position;\n varying vec3 vec_translate;\n varying vec2 cat_pos;\n\n // pass varying variable to fragment from vector\n attribute vec4 color_att;\n varying vec4 color_vary;\n\n void main () {\n\n new_position = vec3(ini_position, 0);\n\n // interpolate between the two positions using the interpolate uniform\n if (run_animation == true){\n cat_pos = mix(cat_pos_att_inst, cat_pos_att_new, interp_uni);\n } else {\n cat_pos = cat_pos_att_inst;\n }\n\n vec_translate = vec3(top_offset, cat_pos[0], 0);\n\n // rotate translated triangles\n new_position = mat_rotate * ( new_position + vec_translate ) ;\n\n // depth is being set to 0.45\n gl_Position = zoom * vec4( vec2(new_position), 0.45, 1);\n\n // pass attribute (in vert) to varying in frag\n color_vary = color_att;\n\n }\n ",frag:"\n\n precision mediump float;\n uniform vec4 triangle_color;\n\n // use the varying being passed from the vertex shader\n varying vec4 color_vary;\n\n // color triangle red\n void main () {\n\n // gl_FragColor = vec4(0.6, 0.6, 0.6, opacity_vary);\n // defining the triangle color using a uniform\n // gl_FragColor = triangle_color;\n\n // define the triangle color using a varying\n gl_FragColor = color_vary;\n }\n\n ",attributes:{ini_position:[[.04,u/2],[.02,u/2],[.04,-u/2],[.02,-u/2],[.04,-u/2],[.02,u/2]],cat_pos_att_inst:{buffer:t.buffer(n.cat_arrs.inst[e][a]),divisor:1},cat_pos_att_new:{buffer:t.buffer(n.cat_arrs.new[e][a]),divisor:1},color_att:{buffer:A,divisor:1}},uniforms:{zoom:function(t){return t.view},mat_rotate:S,scale_y:E,top_offset:d,triangle_color:l,interp_uni:(t,n)=>Math.max(0,Math.min(1,n.interp_prop)),run_animation:t.prop("run_animation")},blend:{enable:!0,func:{srcRGB:"src alpha",srcAlpha:1,dstRGB:"one minus src alpha",dstAlpha:1},equation:{rgb:"add",alpha:"add"},color:[0,0,0,0]},count:6,instances:h,depth:{enable:!0,mask:!0,func:"less",range:[0,1]}}}},function(t,n){t.exports=function(t){return"string"==typeof t&&t.indexOf(": ")>-1&&(t=t.split(": ")[1]),parseFloat(t)}},function(t,n){t.exports=function(t){var n="row",e=t.labels["num_"+n];n="col";var r=t.labels["num_"+n],i={};i.x=t.viz_dim.center.x,i.y=t.viz_dim.center.y;var o=Array(r).fill().map((function(t,n){return n/r-i.x})),a=Array(e).fill().map((function(t,n){return-n/e+i.y-1/e})),u={};return u.x_arr=o,u.y_arr=a,u}},function(t,n,e){var r=e(1);t.exports=function(t){var n={};n.x=r.scaleLinear(),n.x.domain([0,t.viz_dim.heat.width]).range([-.5,.5]),n.y=r.scaleLinear(),n.y.domain([0,t.viz_dim.heat.height]).range([.5,-.5]),t.pix_to_webgl=n}},function(t,n,e){var r=e(1);t.exports=function(t){var n={};n.x=r.scaleLinear(),n.x.domain([-.5,.5]).range([0,t.viz_dim.heat.width]).clamp(!0),n.y=r.scaleLinear(),n.y.domain([.5,-.5]).range([0,t.viz_dim.heat.height]).clamp(!0),t.webgl_to_pix=n}},function(t,n){t.exports=function(t){var n;t.labels.queue={},t.labels.queue.low={},t.labels.queue.high={},t.labels.max_label_queue=2e3,_.each(["row","col"],(function(e){t.labels.queue.high[e]=[],n=[];var r=t.labels.ordered_labels[e+"s"];_.each(r,(function(t){t.indexOf(": ")>=0&&(t=t.split(": ")[1]),n.push(t)})),t.labels.queue.low[e]=n}))}},function(t,n){t.exports=function(t){var n={},e={};e.row=.05*t.scale_row_font_size,e.col=.06*t.scale_col_font_size,_.each(["row","col"],(function(r){n[r]={},n[r].scaled_num=t.labels["num_"+r],n[r].reference=n[r].scaled_num,n[r].factor=1,n[r].max_webgl_fs=e[r]})),t.text_zoom=n}},function(t,n,e){var r=e(58);t.exports=function(t){t.text_triangles={},t.text_triangles.row={},t.text_triangles.col={},t.max_num_text=200,t.text_triangles.draw={},_.each(["row","col"],(function(n){t.labels.precalc[n]=t.labels["num_"+n]<t.max_num_text,!1===t.labels.precalc[n]?t.text_triangles.draw[n]=!1:r(t,n)}))}},function(t,n,e){"use strict";t.exports=function(t,n){"object"==typeof n&&null!==n||(n={});return r(t,n.canvas||i,n.context||o,n)};var r=e(154),i=null,o=null;"undefined"!=typeof document&&((i=document.createElement("canvas")).width=8192,i.height=1024,o=i.getContext("2d"))},function(t,n,e){t.exports=function(t,n,e,r){var o=64,a=1.25,u={breaklines:!1,bolds:!1,italics:!1,subscripts:!1,superscripts:!1};r&&(r.size&&r.size>0&&(o=r.size),r.lineSpacing&&r.lineSpacing>0&&(a=r.lineSpacing),r.styletags&&r.styletags.breaklines&&(u.breaklines=!!r.styletags.breaklines),r.styletags&&r.styletags.bolds&&(u.bolds=!!r.styletags.bolds),r.styletags&&r.styletags.italics&&(u.italics=!!r.styletags.italics),r.styletags&&r.styletags.subscripts&&(u.subscripts=!!r.styletags.subscripts),r.styletags&&r.styletags.superscripts&&(u.superscripts=!!r.styletags.superscripts));return e.font=[r.fontStyle,r.fontVariant,r.fontWeight,o+"px",r.font].filter((function(t){return t})).join(" "),e.textAlign="start",e.textBaseline="alphabetic",e.direction="ltr",h(function(t,n,e,r,o,a){e=e.replace(/\n/g,""),e=!0===a.breaklines?e.replace(/\<br\>/g,"\n"):e.replace(/\<br\>/g," ");var u="",s=[];for(p=0;p<e.length;++p)s[p]=u;!0===a.bolds&&(s=f("b","b|",e,s));!0===a.italics&&(s=f("i","i|",e,s));!0===a.superscripts&&(s=f("sup","+1",e,s));!0===a.subscripts&&(s=f("sub","-1",e,s));var c=[],l="";for(p=0;p<e.length;++p)null!==s[p]&&(l+=e[p],c.push(s[p]));var h,p,d,v,m,g=l.split("\n"),y=g.length,_=Math.round(o*r),b=r,x=2*r,w=0,M=y*_+x;t.height<M&&(t.height=M);n.fillStyle="#000",n.fillRect(0,0,t.width,t.height),n.fillStyle="#fff";var k=0,A="";function z(){if(""!==A){var t=n.measureText(A).width;n.fillText(A,b+d,x+v),d+=t}}function E(){return Math.round(m)+"px "}function S(t,e){var r=""+n.font;if(!0===a.subscripts){var i=t.indexOf("-"),o=e.indexOf("-"),u=i>-1?parseInt(t[1+i]):0,s=o>-1?parseInt(e[1+o]):0;u!==s&&(r=r.replace(E(),"?px "),m*=Math.pow(.75,s-u),r=r.replace("?px ",E())),v+=.25*_*(s-u)}if(!0===a.superscripts){var f=t.indexOf("+"),c=e.indexOf("+"),l=f>-1?parseInt(t[1+f]):0,h=c>-1?parseInt(e[1+c]):0;l!==h&&(r=r.replace(E(),"?px "),m*=Math.pow(.75,h-l),r=r.replace("?px ",E())),v-=.25*_*(h-l)}if(!0===a.bolds){var p=t.indexOf("b|")>-1,d=e.indexOf("b|")>-1;!p&&d&&(r=g?r.replace("italic ","italic bold "):"bold "+r),p&&!d&&(r=r.replace("bold ",""))}if(!0===a.italics){var g=t.indexOf("i|")>-1,y=e.indexOf("i|")>-1;!g&&y&&(r="italic "+r),g&&!y&&(r=r.replace("italic ",""))}n.font=r}for(h=0;h<y;++h){var N=g[h]+"\n";for(d=0,v=h*_,m=r,A="",p=0;p<N.length;++p){var T=p+k<c.length?c[p+k]:c[c.length-1];u===T?A+=N[p]:(z(),A=N[p],void 0!==T&&(S(u,T),u=T))}z(),k+=N.length;var C=0|Math.round(d+2*b);w<C&&(w=C)}var j=w,O=x+_*y;return i(n.getImageData(0,0,j,O).data,[O,j,4]).pick(-1,-1,0).transpose(1,0)}(n,e,t,o,a,u),r,o)},t.exports.processPixels=h;var r=e(155),i=e(171),o=e(174),a=e(178),u=e(202),s=e(208);function f(t,n,e,r){for(var i="<"+t+">",o="</"+t+">",a=i.length,u=o.length,s="+"===n[0]||"-"===n[0],f=0,c=-u;f>-1&&-1!==(f=e.indexOf(i,f))&&-1!==(c=e.indexOf(o,f+a))&&!(c<=f);){for(var l=f;l<c+u;++l)if(l<f+a||l>=c)r[l]=null,e=e.substr(0,l)+" "+e.substr(l+1);else if(null!==r[l]){var h=r[l].indexOf(n[0]);-1===h?r[l]+=n:s&&(r[l]=r[l].substr(0,h+1)+(1+parseInt(r[l][h+1]))+r[l].substr(h+2))}var p=f+a,d=e.substr(p,c-p).indexOf(i);f=-1!==d?d:c+u}return r}function c(t,n){var e=r(t,128);return n?o(e.cells,e.positions,.25):{edges:e.cells,positions:e.positions}}function l(t,n,e,r){var i=c(t,r),o=function(t,n,e){for(var r=n.textAlign||"start",i=n.textBaseline||"alphabetic",o=[1<<30,1<<30],a=[0,0],u=t.length,s=0;s<u;++s)for(var f=t[s],c=0;c<2;++c)o[c]=0|Math.min(o[c],f[c]),a[c]=0|Math.max(a[c],f[c]);var l=0;switch(r){case"center":l=-.5*(o[0]+a[0]);break;case"right":case"end":l=-a[0];break;case"left":case"start":l=-o[0];break;default:throw new Error("vectorize-text: Unrecognized textAlign: '"+r+"'")}var h=0;switch(i){case"hanging":case"top":h=-o[1];break;case"middle":h=-.5*(o[1]+a[1]);break;case"alphabetic":case"ideographic":h=-3*e;break;case"bottom":h=-a[1];break;default:throw new Error("vectorize-text: Unrecoginized textBaseline: '"+i+"'")}var p=1/e;return"lineHeight"in n?p*=+n.lineHeight:"width"in n?p=n.width/(a[0]-o[0]):"height"in n&&(p=n.height/(a[1]-o[1])),t.map((function(t){return[p*(t[0]+l),p*(t[1]+h)]}))}(i.positions,n,e),f=i.edges,l="ccw"===n.orientation;if(a(o,f),n.polygons||n.polygon||n.polyline){for(var h=s(f,o),p=new Array(h.length),d=0;d<h.length;++d){for(var v=h[d],m=new Array(v.length),g=0;g<v.length;++g){for(var y=v[g],_=new Array(y.length),b=0;b<y.length;++b)_[b]=o[y[b]].slice();l&&_.reverse(),m[g]=_}p[d]=m}return p}return n.triangles||n.triangulate||n.triangle?{cells:u(o,f,{delaunay:!1,exterior:!1,interior:!0}),positions:o}:{edges:f,positions:o}}function h(t,n,e){try{return l(t,n,e,!0)}catch(t){}try{return l(t,n,e,!1)}catch(t){}return n.polygons||n.polyline||n.polygon?[]:n.triangles||n.triangulate||n.triangle?{cells:[],positions:[]}:{edges:[],positions:[]}}},function(t,n,e){"use strict";t.exports=function(t,n){if(t.dimension<=0)return{positions:[],cells:[]};if(1===t.dimension)return function(t,n){for(var e=o(t,n),r=e.length,i=new Array(r),a=new Array(r),u=0;u<r;++u)i[u]=[e[u]],a[u]=[u];return{positions:i,cells:a}}(t,n);var e=t.order.join()+"-"+t.dtype,u=a[e];n=+n||0;u||(u=a[e]=function(t,n){var e=t.length,o=["'use strict';"],a="surfaceNets"+t.join("_")+"d"+n;o.push("var contour=genContour({","order:[",t.join(),"],","scalarArguments: 3,","phase:function phaseFunc(p,a,b,c) { return (p > c)|0 },"),"generic"===n&&o.push("getters:[0],");for(var u=[],s=[],f=0;f<e;++f)u.push("d"+f),s.push("d"+f);for(f=0;f<1<<e;++f)u.push("v"+f),s.push("v"+f);for(f=0;f<1<<e;++f)u.push("p"+f),s.push("p"+f);u.push("a","b","c"),s.push("a","c"),o.push("vertex:function vertexFunc(",u.join(),"){");var c=[];for(f=0;f<1<<e;++f)c.push("(p"+f+"<<"+f+")");o.push("var m=(",c.join("+"),")|0;if(m===0||m===",(1<<(1<<e))-1,"){return}");var l=[],h=[];1<<(1<<e)<=128?(o.push("switch(m){"),h=o):o.push("switch(m>>>7){");for(f=0;f<1<<(1<<e);++f){if(1<<(1<<e)>128&&f%128==0){l.length>0&&h.push("}}");var p="vExtra"+l.length;o.push("case ",f>>>7,":",p,"(m&0x7f,",s.join(),");break;"),h=["function ",p,"(m,",s.join(),"){switch(m){"],l.push(h)}h.push("case ",127&f,":");for(var d=new Array(e),v=new Array(e),m=new Array(e),g=new Array(e),y=0,_=0;_<e;++_)d[_]=[],v[_]=[],m[_]=0,g[_]=0;for(_=0;_<1<<e;++_)for(var b=0;b<e;++b){var x=_^1<<b;if(!(x>_)&&!(f&1<<x)!=!(f&1<<_)){var w=1;f&1<<x?v[b].push("v"+x+"-v"+_):(v[b].push("v"+_+"-v"+x),w=-w),w<0?(d[b].push("-v"+_+"-v"+x),m[b]+=2):(d[b].push("v"+_+"+v"+x),m[b]-=2),y+=1;for(var M=0;M<e;++M)M!==b&&(x&1<<M?g[M]+=1:g[M]-=1)}}var k=[];for(b=0;b<e;++b)if(0===d[b].length)k.push("d"+b+"-0.5");else{var A="";m[b]<0?A=m[b]+"*c":m[b]>0&&(A="+"+m[b]+"*c");var z=d[b].length/y*.5,E=.5+g[b]/y*.5;k.push("d"+b+"-"+E+"-"+z+"*("+d[b].join("+")+A+")/("+v[b].join("+")+")")}h.push("a.push([",k.join(),"]);","break;")}o.push("}},"),l.length>0&&h.push("}}");var S=[];for(f=0;f<1<<e-1;++f)S.push("v"+f);S.push("c0","c1","p0","p1","a","b","c"),o.push("cell:function cellFunc(",S.join(),"){");var N=i(e-1);o.push("if(p0){b.push(",N.map((function(t){return"["+t.map((function(t){return"v"+t}))+"]"})).join(),")}else{b.push(",N.map((function(t){var n=t.slice();return n.reverse(),"["+n.map((function(t){return"v"+t}))+"]"})).join(),")}}});function ",a,"(array,level){var verts=[],cells=[];contour(array,verts,cells,level);return {positions:verts,cells:cells};} return ",a,";");for(f=0;f<l.length;++f)o.push(l[f].join(""));return new Function("genContour",o.join(""))(r)}(t.order,t.dtype));return u(t,n)};var r=e(156),i=e(161),o=e(166);var a={}},function(t,n,e){"use strict";var r=e(11);function i(t){return"a"+t}function o(t){return"d"+t}function a(t,n){return"c"+t+"_"+n}function u(t){return"s"+t}function s(t,n){return"t"+t+"_"+n}function f(t){return"o"+t}function c(t){return"x"+t}function l(t){return"p"+t}function h(t,n){return"d"+t+"_"+n}function p(t){return"i"+t}function d(t,n){return"u"+t+"_"+n}function v(t){return"b"+t}function m(t){return"y"+t}function g(t){return"e"+t}function y(t){return"v"+t}t.exports=function(t){function n(t){throw new Error("ndarray-extract-contour: "+t)}"object"!=typeof t&&n("Must specify arguments");var e=t.order;Array.isArray(e)||n("Must specify order");var b=t.arrayArguments||1;b<1&&n("Must have at least one array argument");var x=t.scalarArguments||0;x<0&&n("Scalar arg count must be > 0");"function"!=typeof t.vertex&&n("Must specify vertex creation function");"function"!=typeof t.cell&&n("Must specify cell creation function");"function"!=typeof t.phase&&n("Must specify phase function");for(var w=t.getters||[],M=new Array(b),k=0;k<b;++k)w.indexOf(k)>=0?M[k]=!0:M[k]=!1;return function(t,n,e,b,x,w){var M=w.length,k=x.length;if(k<2)throw new Error("ndarray-extract-contour: Dimension must be at least 2");for(var A="extractContour"+x.join("_"),z=[],E=[],S=[],N=0;N<M;++N)S.push(i(N));for(N=0;N<b;++N)S.push(c(N));for(N=0;N<k;++N)E.push(u(N)+"="+i(0)+".shape["+N+"]|0");for(N=0;N<M;++N){E.push(o(N)+"="+i(N)+".data",f(N)+"="+i(N)+".offset|0");for(var T=0;T<k;++T)E.push(s(N,T)+"="+i(N)+".stride["+T+"]|0")}for(N=0;N<M;++N){E.push(l(N)+"="+f(N)),E.push(a(N,0));for(T=1;T<1<<k;++T){for(var C=[],j=0;j<k;++j)T&1<<j&&C.push("-"+s(N,j));E.push(h(N,T)+"=("+C.join("")+")|0"),E.push(a(N,T)+"=0")}}for(N=0;N<M;++N)for(T=0;T<k;++T){var O=[s(N,x[T])];T>0&&O.push(s(N,x[T-1])+"*"+u(x[T-1])),E.push(d(N,x[T])+"=("+O.join("-")+")|0")}for(N=0;N<k;++N)E.push(p(N)+"=0");E.push("N=0");var P=["2"];for(N=k-2;N>=0;--N)P.push(u(x[N]));E.push("Q=("+P.join("*")+")|0","P=mallocUint32(Q)","V=mallocUint32(Q)","X=0"),E.push(v(0)+"=0");for(T=1;T<1<<k;++T){var B=[],R=[];for(j=0;j<k;++j)T&1<<j&&(0===R.length?B.push("1"):B.unshift(R.join("*"))),R.push(u(x[j]));var I="";B[0].indexOf(u(x[k-2]))<0&&(I="-");var D=_(k,T,x);E.push(g(D)+"=(-"+B.join("-")+")|0",m(D)+"=("+I+B.join("-")+")|0",v(D)+"=0")}function F(t,n){z.push("for(",p(x[t]),"=",n,";",p(x[t]),"<",u(x[t]),";","++",p(x[t]),"){")}function U(t){for(var n=0;n<M;++n)z.push(l(n),"+=",d(n,x[t]),";");z.push("}")}function L(){for(var t=1;t<1<<k;++t)z.push("T","=",g(t),";",g(t),"=",m(t),";",m(t),"=","T",";")}E.push(y(0)+"=0","T=0"),function t(n,e){if(n<0)!function(t){for(var n=0;n<M;++n)w[n]?z.push(a(n,0),"=",o(n),".get(",l(n),");"):z.push(a(n,0),"=",o(n),"[",l(n),"];");var e=[];for(n=0;n<M;++n)e.push(a(n,0));for(n=0;n<b;++n)e.push(c(n));z.push(v(0),"=","P","[","X","]=phase(",e.join(),");");for(var r=1;r<1<<k;++r)z.push(v(r),"=","P","[","X","+",g(r),"];");var i=[];for(r=1;r<1<<k;++r)i.push("("+v(0)+"!=="+v(r)+")");z.push("if(",i.join("||"),"){");var u=[];for(n=0;n<k;++n)u.push(p(n));for(n=0;n<M;++n){u.push(a(n,0));for(r=1;r<1<<k;++r)w[n]?z.push(a(n,r),"=",o(n),".get(",l(n),"+",h(n,r),");"):z.push(a(n,r),"=",o(n),"[",l(n),"+",h(n,r),"];"),u.push(a(n,r))}for(n=0;n<1<<k;++n)u.push(v(n));for(n=0;n<b;++n)u.push(c(n));z.push("vertex(",u.join(),");",y(0),"=","V","[","X","]=","N","++;");var s=(1<<k)-1,f=v(s);for(r=0;r<k;++r)if(0==(t&~(1<<r))){for(var d=s^1<<r,m=v(d),_=[],x=d;x>0;x=x-1&d)_.push("V[X+"+g(x)+"]");_.push(y(0));for(x=0;x<M;++x)1&r?_.push(a(x,s),a(x,d)):_.push(a(x,d),a(x,s));1&r?_.push(f,m):_.push(m,f);for(x=0;x<b;++x)_.push(c(x));z.push("if(",f,"!==",m,"){","face(",_.join(),")}")}z.push("}","X","+=1;")}(e);else{!function(t){for(var n=t-1;n>=0;--n)F(n,0);var e=[];for(n=0;n<M;++n)w[n]?e.push(o(n)+".get("+l(n)+")"):e.push(o(n)+"["+l(n)+"]");for(n=0;n<b;++n)e.push(c(n));for(z.push("P","[","X","++]=phase(",e.join(),");"),n=0;n<t;++n)U(n);for(var r=0;r<M;++r)z.push(l(r),"+=",d(r,x[t]),";")}(n),z.push("if(",u(x[n]),">0){",p(x[n]),"=1;"),t(n-1,e|1<<x[n]);for(var r=0;r<M;++r)z.push(l(r),"+=",d(r,x[n]),";");n===k-1&&(z.push("X","=0;"),L()),F(n,2),t(n-1,e),n===k-1&&(z.push("if(",p(x[k-1]),"&1){","X","=0;}"),L()),U(n),z.push("}")}}(k-1,0),z.push("freeUint32(","V",");freeUint32(","P",");");var q=["'use strict';","function ",A,"(",S.join(),"){","var ",E.join(),";",z.join(""),"}","return ",A].join("");return new Function("vertex","face","phase","mallocUint32","freeUint32",q)(t,n,e,r.mallocUint32,r.freeUint32)}(t.vertex,t.cell,t.phase,x,e,M)};function _(t,n,e){for(var r=0,i=0;i<t;++i)n&1<<i&&(r|=1<<e[i]);return r}},function(t,n,e){"use strict";n.byteLength=function(t){var n=f(t),e=n[0],r=n[1];return 3*(e+r)/4-r},n.toByteArray=function(t){for(var n,e=f(t),r=e[0],a=e[1],u=new o(function(t,n,e){return 3*(n+e)/4-e}(0,r,a)),s=0,c=a>0?r-4:r,l=0;l<c;l+=4)n=i[t.charCodeAt(l)]<<18|i[t.charCodeAt(l+1)]<<12|i[t.charCodeAt(l+2)]<<6|i[t.charCodeAt(l+3)],u[s++]=n>>16&255,u[s++]=n>>8&255,u[s++]=255&n;2===a&&(n=i[t.charCodeAt(l)]<<2|i[t.charCodeAt(l+1)]>>4,u[s++]=255&n);1===a&&(n=i[t.charCodeAt(l)]<<10|i[t.charCodeAt(l+1)]<<4|i[t.charCodeAt(l+2)]>>2,u[s++]=n>>8&255,u[s++]=255&n);return u},n.fromByteArray=function(t){for(var n,e=t.length,i=e%3,o=[],a=0,u=e-i;a<u;a+=16383)o.push(c(t,a,a+16383>u?u:a+16383));1===i?(n=t[e-1],o.push(r[n>>2]+r[n<<4&63]+"==")):2===i&&(n=(t[e-2]<<8)+t[e-1],o.push(r[n>>10]+r[n>>4&63]+r[n<<2&63]+"="));return o.join("")};for(var r=[],i=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",u=0,s=a.length;u<s;++u)r[u]=a[u],i[a.charCodeAt(u)]=u;function f(t){var n=t.length;if(n%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var e=t.indexOf("=");return-1===e&&(e=n),[e,e===n?0:4-e%4]}function c(t,n,e){for(var i,o,a=[],u=n;u<e;u+=3)i=(t[u]<<16&16711680)+(t[u+1]<<8&65280)+(255&t[u+2]),a.push(r[(o=i)>>18&63]+r[o>>12&63]+r[o>>6&63]+r[63&o]);return a.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},function(t,n){n.read=function(t,n,e,r,i){var o,a,u=8*i-r-1,s=(1<<u)-1,f=s>>1,c=-7,l=e?i-1:0,h=e?-1:1,p=t[n+l];for(l+=h,o=p&(1<<-c)-1,p>>=-c,c+=u;c>0;o=256*o+t[n+l],l+=h,c-=8);for(a=o&(1<<-c)-1,o>>=-c,c+=r;c>0;a=256*a+t[n+l],l+=h,c-=8);if(0===o)o=1-f;else{if(o===s)return a?NaN:1/0*(p?-1:1);a+=Math.pow(2,r),o-=f}return(p?-1:1)*a*Math.pow(2,o-r)},n.write=function(t,n,e,r,i,o){var a,u,s,f=8*o-i-1,c=(1<<f)-1,l=c>>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=r?0:o-1,d=r?1:-1,v=n<0||0===n&&1/n<0?1:0;for(n=Math.abs(n),isNaN(n)||n===1/0?(u=isNaN(n)?1:0,a=c):(a=Math.floor(Math.log(n)/Math.LN2),n*(s=Math.pow(2,-a))<1&&(a--,s*=2),(n+=a+l>=1?h/s:h*Math.pow(2,1-l))*s>=2&&(a++,s/=2),a+l>=c?(u=0,a=c):a+l>=1?(u=(n*s-1)*Math.pow(2,i),a+=l):(u=n*Math.pow(2,l-1)*Math.pow(2,i),a=0));i>=8;t[e+p]=255&u,p+=d,u/=256,i-=8);for(a=a<<i|u,f+=i;f>0;t[e+p]=255&a,p+=d,a/=256,f-=8);t[e+p-d]|=128*v}},function(t,n){var e={}.toString;t.exports=Array.isArray||function(t){return"[object Array]"==e.call(t)}},function(t,n,e){"use strict";t.exports=function(t,n){switch(void 0===n&&(n=0),typeof t){case"number":if(t>0)return function(t,n){var e,r;for(e=new Array(t),r=0;r<t;++r)e[r]=n;return e}(0|t,n);break;case"object":if("number"==typeof t.length)return function t(n,e,r){var i=0|n[r];if(i<=0)return[];var o,a=new Array(i);if(r===n.length-1)for(o=0;o<i;++o)a[o]=e;else for(o=0;o<i;++o)a[o]=t(n,e,r+1);return a}(t,n,0)}return[]}},function(t,n,e){"use strict";t.exports=function(t){if(t<0)return[];if(0===t)return[[0]];for(var n=0|Math.round(o(t+1)),e=[],a=0;a<n;++a){for(var u=r.unrank(t,a),s=[0],f=0,c=0;c<u.length;++c)f+=1<<u[c],s.push(f);i(u)<1&&(s[0]=f,s[t]=0),e.push(s)}return e};var r=e(162),i=e(164),o=e(165)},function(t,n,e){"use strict";var r=e(11),i=e(163);n.rank=function(t){var n=t.length;switch(n){case 0:case 1:return 0;case 2:return t[1]}var e,o,a,u=r.mallocUint32(n),s=r.mallocUint32(n),f=0;for(i(t,s),a=0;a<n;++a)u[a]=t[a];for(a=n-1;a>0;--a)o=s[a],e=u[a],u[a]=u[o],u[o]=e,s[a]=s[e],s[e]=o,f=(f+e)*a;return r.freeUint32(s),r.freeUint32(u),f},n.unrank=function(t,n,e){switch(t){case 0:return e||[];case 1:return e?(e[0]=0,e):[0];case 2:return e?(n?(e[0]=0,e[1]=1):(e[0]=1,e[1]=0),e):n?[0,1]:[1,0]}var r,i,o,a=1;for((e=e||new Array(t))[0]=0,o=1;o<t;++o)e[o]=o,a=a*o|0;for(o=t-1;o>0;--o)n=n-(r=n/a|0)*a|0,a=a/o|0,i=0|e[o],e[o]=0|e[r],e[r]=0|i;return e}},function(t,n,e){"use strict";t.exports=function(t,n){n=n||new Array(t.length);for(var e=0;e<t.length;++e)n[t[e]]=e;return n}},function(t,n,e){"use strict";t.exports=function(t){var n=t.length;if(n<32){for(var e=1,i=0;i<n;++i)for(var o=0;o<i;++o)if(t[i]<t[o])e=-e;else if(t[i]===t[o])return 0;return e}var a=r.mallocUint8(n);for(i=0;i<n;++i)a[i]=0;for(e=1,i=0;i<n;++i)if(!a[i]){var u=1;a[i]=1;for(o=t[i];o!==i;o=t[o]){if(a[o])return r.freeUint8(a),0;u+=1,a[o]=1}1&u||(e=-e)}return r.freeUint8(a),e};var r=e(11)},function(t,n){var e=[.9999999999998099,676.5203681218851,-1259.1392167224028,771.3234287776531,-176.6150291621406,12.507343278686905,-.13857109526572012,9984369578019572e-21,1.5056327351493116e-7],r=[.9999999999999971,57.15623566586292,-59.59796035547549,14.136097974741746,-.4919138160976202,3399464998481189e-20,4652362892704858e-20,-9837447530487956e-20,.0001580887032249125,-.00021026444172410488,.00021743961811521265,-.0001643181065367639,8441822398385275e-20,-26190838401581408e-21,36899182659531625e-22];function i(t){if(t<0)return Number("0/0");for(var n=r[0],e=r.length-1;e>0;--e)n+=r[e]/(t+e);var i=t+607/128+.5;return.5*Math.log(2*Math.PI)+(t+.5)*Math.log(i)-i+Math.log(n)-Math.log(t)}t.exports=function t(n){if(n<.5)return Math.PI/(Math.sin(Math.PI*n)*t(1-n));if(n>100)return Math.exp(i(n));n-=1;for(var r=e[0],o=1;o<9;o++)r+=e[o]/(n+o);var a=n+7+.5;return Math.sqrt(2*Math.PI)*Math.pow(a,n+.5)*Math.exp(-a)*r},t.exports.log=i},function(t,n,e){"use strict";t.exports=function(t,n){var e=[];return n=+n||0,r(t.hi(t.shape[0]-1),e,n),e};var r=e(167)},function(t,n,e){t.exports=e(168)({args:["array",{offset:[1],array:0},"scalar","scalar","index"],pre:{body:"{}",args:[],thisVars:[],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},body:{body:"{\n var _inline_1_da = _inline_1_arg0_ - _inline_1_arg3_\n var _inline_1_db = _inline_1_arg1_ - _inline_1_arg3_\n if((_inline_1_da >= 0) !== (_inline_1_db >= 0)) {\n _inline_1_arg2_.push(_inline_1_arg4_[0] + 0.5 + 0.5 * (_inline_1_da + _inline_1_db) / (_inline_1_da - _inline_1_db))\n }\n }",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg2_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg3_",lvalue:!1,rvalue:!0,count:2},{name:"_inline_1_arg4_",lvalue:!1,rvalue:!0,count:1}],thisVars:[],localVars:["_inline_1_da","_inline_1_db"]},funcName:"zeroCrossings"})},function(t,n,e){"use strict";var r=e(169);function i(){this.argTypes=[],this.shimArgs=[],this.arrayArgs=[],this.arrayBlockIndices=[],this.scalarArgs=[],this.offsetArgs=[],this.offsetArgIndex=[],this.indexArgs=[],this.shapeArgs=[],this.funcName="",this.pre=null,this.body=null,this.post=null,this.debug=!1}t.exports=function(t){var n=new i;n.pre=t.pre,n.body=t.body,n.post=t.post;var e=t.args.slice(0);n.argTypes=e;for(var o=0;o<e.length;++o){var a=e[o];if("array"===a||"object"==typeof a&&a.blockIndices){if(n.argTypes[o]="array",n.arrayArgs.push(o),n.arrayBlockIndices.push(a.blockIndices?a.blockIndices:0),n.shimArgs.push("array"+o),o<n.pre.args.length&&n.pre.args[o].count>0)throw new Error("cwise: pre() block may not reference array args");if(o<n.post.args.length&&n.post.args[o].count>0)throw new Error("cwise: post() block may not reference array args")}else if("scalar"===a)n.scalarArgs.push(o),n.shimArgs.push("scalar"+o);else if("index"===a){if(n.indexArgs.push(o),o<n.pre.args.length&&n.pre.args[o].count>0)throw new Error("cwise: pre() block may not reference array index");if(o<n.body.args.length&&n.body.args[o].lvalue)throw new Error("cwise: body() block may not write to array index");if(o<n.post.args.length&&n.post.args[o].count>0)throw new Error("cwise: post() block may not reference array index")}else if("shape"===a){if(n.shapeArgs.push(o),o<n.pre.args.length&&n.pre.args[o].lvalue)throw new Error("cwise: pre() block may not write to array shape");if(o<n.body.args.length&&n.body.args[o].lvalue)throw new Error("cwise: body() block may not write to array shape");if(o<n.post.args.length&&n.post.args[o].lvalue)throw new Error("cwise: post() block may not write to array shape")}else{if("object"!=typeof a||!a.offset)throw new Error("cwise: Unknown argument type "+e[o]);n.argTypes[o]="offset",n.offsetArgs.push({array:a.array,offset:a.offset}),n.offsetArgIndex.push(o)}}if(n.arrayArgs.length<=0)throw new Error("cwise: No array arguments specified");if(n.pre.args.length>e.length)throw new Error("cwise: Too many arguments in pre() block");if(n.body.args.length>e.length)throw new Error("cwise: Too many arguments in body() block");if(n.post.args.length>e.length)throw new Error("cwise: Too many arguments in post() block");return n.debug=!!t.printCode||!!t.debug,n.funcName=t.funcName||"cwise",n.blockSize=t.blockSize||64,r(n)}},function(t,n,e){"use strict";var r=e(170);t.exports=function(t){var n=["'use strict'","var CACHED={}"],e=[],i=t.funcName+"_cwise_thunk";n.push(["return function ",i,"(",t.shimArgs.join(","),"){"].join(""));for(var o=[],a=[],u=[["array",t.arrayArgs[0],".shape.slice(",Math.max(0,t.arrayBlockIndices[0]),t.arrayBlockIndices[0]<0?","+t.arrayBlockIndices[0]+")":")"].join("")],s=[],f=[],c=0;c<t.arrayArgs.length;++c){var l=t.arrayArgs[c];e.push(["t",l,"=array",l,".dtype,","r",l,"=array",l,".order"].join("")),o.push("t"+l),o.push("r"+l),a.push("t"+l),a.push("r"+l+".join()"),u.push("array"+l+".data"),u.push("array"+l+".stride"),u.push("array"+l+".offset|0"),c>0&&(s.push("array"+t.arrayArgs[0]+".shape.length===array"+l+".shape.length+"+(Math.abs(t.arrayBlockIndices[0])-Math.abs(t.arrayBlockIndices[c]))),f.push("array"+t.arrayArgs[0]+".shape[shapeIndex+"+Math.max(0,t.arrayBlockIndices[0])+"]===array"+l+".shape[shapeIndex+"+Math.max(0,t.arrayBlockIndices[c])+"]"))}for(t.arrayArgs.length>1&&(n.push("if (!("+s.join(" && ")+")) throw new Error('cwise: Arrays do not all have the same dimensionality!')"),n.push("for(var shapeIndex=array"+t.arrayArgs[0]+".shape.length-"+Math.abs(t.arrayBlockIndices[0])+"; shapeIndex--\x3e0;) {"),n.push("if (!("+f.join(" && ")+")) throw new Error('cwise: Arrays do not all have the same shape!')"),n.push("}")),c=0;c<t.scalarArgs.length;++c)u.push("scalar"+t.scalarArgs[c]);return e.push(["type=[",a.join(","),"].join()"].join("")),e.push("proc=CACHED[type]"),n.push("var "+e.join(",")),n.push(["if(!proc){","CACHED[type]=proc=compile([",o.join(","),"])}","return proc(",u.join(","),")}"].join("")),t.debug&&console.log("-----Generated thunk:\n"+n.join("\n")+"\n----------"),new Function("compile",n.join("\n"))(r.bind(void 0,t))}},function(t,n,e){"use strict";var r=e(31);function i(t,n,e){var r,i,o=t.length,a=n.arrayArgs.length,u=n.indexArgs.length>0,s=[],f=[],c=0,l=0;for(r=0;r<o;++r)f.push(["i",r,"=0"].join(""));for(i=0;i<a;++i)for(r=0;r<o;++r)l=c,c=t[r],0===r?f.push(["d",i,"s",r,"=t",i,"p",c].join("")):f.push(["d",i,"s",r,"=(t",i,"p",c,"-s",l,"*t",i,"p",l,")"].join(""));for(f.length>0&&s.push("var "+f.join(",")),r=o-1;r>=0;--r)c=t[r],s.push(["for(i",r,"=0;i",r,"<s",c,";++i",r,"){"].join(""));for(s.push(e),r=0;r<o;++r){for(l=c,c=t[r],i=0;i<a;++i)s.push(["p",i,"+=d",i,"s",r].join(""));u&&(r>0&&s.push(["index[",l,"]-=s",l].join("")),s.push(["++index[",c,"]"].join(""))),s.push("}")}return s.join("\n")}function o(t,n,e){for(var r=t.body,i=[],o=[],a=0;a<t.args.length;++a){var u=t.args[a];if(!(u.count<=0)){var s=new RegExp(u.name,"g"),f="",c=n.arrayArgs.indexOf(a);switch(n.argTypes[a]){case"offset":var l=n.offsetArgIndex.indexOf(a);c=n.offsetArgs[l].array,f="+q"+l;case"array":f="p"+c+f;var h="l"+a,p="a"+c;if(0===n.arrayBlockIndices[c])1===u.count?"generic"===e[c]?u.lvalue?(i.push(["var ",h,"=",p,".get(",f,")"].join("")),r=r.replace(s,h),o.push([p,".set(",f,",",h,")"].join(""))):r=r.replace(s,[p,".get(",f,")"].join("")):r=r.replace(s,[p,"[",f,"]"].join("")):"generic"===e[c]?(i.push(["var ",h,"=",p,".get(",f,")"].join("")),r=r.replace(s,h),u.lvalue&&o.push([p,".set(",f,",",h,")"].join(""))):(i.push(["var ",h,"=",p,"[",f,"]"].join("")),r=r.replace(s,h),u.lvalue&&o.push([p,"[",f,"]=",h].join("")));else{for(var d=[u.name],v=[f],m=0;m<Math.abs(n.arrayBlockIndices[c]);m++)d.push("\\s*\\[([^\\]]+)\\]"),v.push("$"+(m+1)+"*t"+c+"b"+m);if(s=new RegExp(d.join(""),"g"),f=v.join("+"),"generic"===e[c])throw new Error("cwise: Generic arrays not supported in combination with blocks!");r=r.replace(s,[p,"[",f,"]"].join(""))}break;case"scalar":r=r.replace(s,"Y"+n.scalarArgs.indexOf(a));break;case"index":r=r.replace(s,"index");break;case"shape":r=r.replace(s,"shape")}}}return[i.join("\n"),r,o.join("\n")].join("\n").trim()}function a(t){for(var n=new Array(t.length),e=!0,r=0;r<t.length;++r){var i=t[r],o=i.match(/\d+/);o=o?o[0]:"",0===i.charAt(0)?n[r]="u"+i.charAt(1)+o:n[r]=i.charAt(0)+o,r>0&&(e=e&&n[r]===n[r-1])}return e?n[0]:n.join("")}t.exports=function(t,n){for(var e=n[1].length-Math.abs(t.arrayBlockIndices[0])|0,u=new Array(t.arrayArgs.length),s=new Array(t.arrayArgs.length),f=0;f<t.arrayArgs.length;++f)s[f]=n[2*f],u[f]=n[2*f+1];var c=[],l=[],h=[],p=[],d=[];for(f=0;f<t.arrayArgs.length;++f){t.arrayBlockIndices[f]<0?(h.push(0),p.push(e),c.push(e),l.push(e+t.arrayBlockIndices[f])):(h.push(t.arrayBlockIndices[f]),p.push(t.arrayBlockIndices[f]+e),c.push(0),l.push(t.arrayBlockIndices[f]));for(var v=[],m=0;m<u[f].length;m++)h[f]<=u[f][m]&&u[f][m]<p[f]&&v.push(u[f][m]-h[f]);d.push(v)}var g=["SS"],y=["'use strict'"],_=[];for(m=0;m<e;++m)_.push(["s",m,"=SS[",m,"]"].join(""));for(f=0;f<t.arrayArgs.length;++f){g.push("a"+f),g.push("t"+f),g.push("p"+f);for(m=0;m<e;++m)_.push(["t",f,"p",m,"=t",f,"[",h[f]+m,"]"].join(""));for(m=0;m<Math.abs(t.arrayBlockIndices[f]);++m)_.push(["t",f,"b",m,"=t",f,"[",c[f]+m,"]"].join(""))}for(f=0;f<t.scalarArgs.length;++f)g.push("Y"+f);if(t.shapeArgs.length>0&&_.push("shape=SS.slice(0)"),t.indexArgs.length>0){var b=new Array(e);for(f=0;f<e;++f)b[f]="0";_.push(["index=[",b.join(","),"]"].join(""))}for(f=0;f<t.offsetArgs.length;++f){var x=t.offsetArgs[f],w=[];for(m=0;m<x.offset.length;++m)0!==x.offset[m]&&(1===x.offset[m]?w.push(["t",x.array,"p",m].join("")):w.push([x.offset[m],"*t",x.array,"p",m].join("")));0===w.length?_.push("q"+f+"=0"):_.push(["q",f,"=",w.join("+")].join(""))}var M=r([].concat(t.pre.thisVars).concat(t.body.thisVars).concat(t.post.thisVars));for((_=_.concat(M)).length>0&&y.push("var "+_.join(",")),f=0;f<t.arrayArgs.length;++f)y.push("p"+f+"|=0");t.pre.body.length>3&&y.push(o(t.pre,t,s));var k=o(t.body,t,s),A=function(t){for(var n=0,e=t[0].length;n<e;){for(var r=1;r<t.length;++r)if(t[r][n]!==t[0][n])return n;++n}return n}(d);A<e?y.push(function(t,n,e,r){for(var o=n.length,a=e.arrayArgs.length,u=e.blockSize,s=e.indexArgs.length>0,f=[],c=0;c<a;++c)f.push(["var offset",c,"=p",c].join(""));for(c=t;c<o;++c)f.push(["for(var j"+c+"=SS[",n[c],"]|0;j",c,">0;){"].join("")),f.push(["if(j",c,"<",u,"){"].join("")),f.push(["s",n[c],"=j",c].join("")),f.push(["j",c,"=0"].join("")),f.push(["}else{s",n[c],"=",u].join("")),f.push(["j",c,"-=",u,"}"].join("")),s&&f.push(["index[",n[c],"]=j",c].join(""));for(c=0;c<a;++c){for(var l=["offset"+c],h=t;h<o;++h)l.push(["j",h,"*t",c,"p",n[h]].join(""));f.push(["p",c,"=(",l.join("+"),")"].join(""))}for(f.push(i(n,e,r)),c=t;c<o;++c)f.push("}");return f.join("\n")}(A,d[0],t,k)):y.push(i(d[0],t,k)),t.post.body.length>3&&y.push(o(t.post,t,s)),t.debug&&console.log("-----Generated cwise routine for ",n,":\n"+y.join("\n")+"\n----------");var z=[t.funcName||"unnamed","_cwise_loop_",u[0].join("s"),"m",A,a(s)].join("");return new Function(["function ",z,"(",g.join(","),"){",y.join("\n"),"} return ",z].join(""))()}},function(t,n,e){var r=e(172),i=e(173),o="undefined"!=typeof Float64Array;function a(t,n){return t[0]-n[0]}function u(){var t,n=this.stride,e=new Array(n.length);for(t=0;t<e.length;++t)e[t]=[Math.abs(n[t]),t];e.sort(a);var r=new Array(e.length);for(t=0;t<r.length;++t)r[t]=e[t][1];return r}function s(t,n){var e=["View",n,"d",t].join("");n<0&&(e="View_Nil"+t);var i="generic"===t;if(-1===n){var o="function "+e+"(a){this.data=a;};var proto="+e+".prototype;proto.dtype='"+t+"';proto.index=function(){return -1};proto.size=0;proto.dimension=-1;proto.shape=proto.stride=proto.order=[];proto.lo=proto.hi=proto.transpose=proto.step=function(){return new "+e+"(this.data);};proto.get=proto.set=function(){};proto.pick=function(){return null};return function construct_"+e+"(a){return new "+e+"(a);}";return new Function(o)()}if(0===n){o="function "+e+"(a,d) {this.data = a;this.offset = d};var proto="+e+".prototype;proto.dtype='"+t+"';proto.index=function(){return this.offset};proto.dimension=0;proto.size=1;proto.shape=proto.stride=proto.order=[];proto.lo=proto.hi=proto.transpose=proto.step=function "+e+"_copy() {return new "+e+"(this.data,this.offset)};proto.pick=function "+e+"_pick(){return TrivialArray(this.data);};proto.valueOf=proto.get=function "+e+"_get(){return "+(i?"this.data.get(this.offset)":"this.data[this.offset]")+"};proto.set=function "+e+"_set(v){return "+(i?"this.data.set(this.offset,v)":"this.data[this.offset]=v")+"};return function construct_"+e+"(a,b,c,d){return new "+e+"(a,d)}";return new Function("TrivialArray",o)(f[t][0])}o=["'use strict'"];var a=r(n),s=a.map((function(t){return"i"+t})),c="this.offset+"+a.map((function(t){return"this.stride["+t+"]*i"+t})).join("+"),l=a.map((function(t){return"b"+t})).join(","),h=a.map((function(t){return"c"+t})).join(",");o.push("function "+e+"(a,"+l+","+h+",d){this.data=a","this.shape=["+l+"]","this.stride=["+h+"]","this.offset=d|0}","var proto="+e+".prototype","proto.dtype='"+t+"'","proto.dimension="+n),o.push("Object.defineProperty(proto,'size',{get:function "+e+"_size(){return "+a.map((function(t){return"this.shape["+t+"]"})).join("*"),"}})"),1===n?o.push("proto.order=[0]"):(o.push("Object.defineProperty(proto,'order',{get:"),n<4?(o.push("function "+e+"_order(){"),2===n?o.push("return (Math.abs(this.stride[0])>Math.abs(this.stride[1]))?[1,0]:[0,1]}})"):3===n&&o.push("var s0=Math.abs(this.stride[0]),s1=Math.abs(this.stride[1]),s2=Math.abs(this.stride[2]);if(s0>s1){if(s1>s2){return [2,1,0];}else if(s0>s2){return [1,2,0];}else{return [1,0,2];}}else if(s0>s2){return [2,0,1];}else if(s2>s1){return [0,1,2];}else{return [0,2,1];}}})")):o.push("ORDER})")),o.push("proto.set=function "+e+"_set("+s.join(",")+",v){"),i?o.push("return this.data.set("+c+",v)}"):o.push("return this.data["+c+"]=v}"),o.push("proto.get=function "+e+"_get("+s.join(",")+"){"),i?o.push("return this.data.get("+c+")}"):o.push("return this.data["+c+"]}"),o.push("proto.index=function "+e+"_index(",s.join(),"){return "+c+"}"),o.push("proto.hi=function "+e+"_hi("+s.join(",")+"){return new "+e+"(this.data,"+a.map((function(t){return["(typeof i",t,"!=='number'||i",t,"<0)?this.shape[",t,"]:i",t,"|0"].join("")})).join(",")+","+a.map((function(t){return"this.stride["+t+"]"})).join(",")+",this.offset)}");var p=a.map((function(t){return"a"+t+"=this.shape["+t+"]"})),d=a.map((function(t){return"c"+t+"=this.stride["+t+"]"}));o.push("proto.lo=function "+e+"_lo("+s.join(",")+"){var b=this.offset,d=0,"+p.join(",")+","+d.join(","));for(var v=0;v<n;++v)o.push("if(typeof i"+v+"==='number'&&i"+v+">=0){d=i"+v+"|0;b+=c"+v+"*d;a"+v+"-=d}");o.push("return new "+e+"(this.data,"+a.map((function(t){return"a"+t})).join(",")+","+a.map((function(t){return"c"+t})).join(",")+",b)}"),o.push("proto.step=function "+e+"_step("+s.join(",")+"){var "+a.map((function(t){return"a"+t+"=this.shape["+t+"]"})).join(",")+","+a.map((function(t){return"b"+t+"=this.stride["+t+"]"})).join(",")+",c=this.offset,d=0,ceil=Math.ceil");for(v=0;v<n;++v)o.push("if(typeof i"+v+"==='number'){d=i"+v+"|0;if(d<0){c+=b"+v+"*(a"+v+"-1);a"+v+"=ceil(-a"+v+"/d)}else{a"+v+"=ceil(a"+v+"/d)}b"+v+"*=d}");o.push("return new "+e+"(this.data,"+a.map((function(t){return"a"+t})).join(",")+","+a.map((function(t){return"b"+t})).join(",")+",c)}");var m=new Array(n),g=new Array(n);for(v=0;v<n;++v)m[v]="a[i"+v+"]",g[v]="b[i"+v+"]";o.push("proto.transpose=function "+e+"_transpose("+s+"){"+s.map((function(t,n){return t+"=("+t+"===undefined?"+n+":"+t+"|0)"})).join(";"),"var a=this.shape,b=this.stride;return new "+e+"(this.data,"+m.join(",")+","+g.join(",")+",this.offset)}"),o.push("proto.pick=function "+e+"_pick("+s+"){var a=[],b=[],c=this.offset");for(v=0;v<n;++v)o.push("if(typeof i"+v+"==='number'&&i"+v+">=0){c=(c+this.stride["+v+"]*i"+v+")|0}else{a.push(this.shape["+v+"]);b.push(this.stride["+v+"])}");return o.push("var ctor=CTOR_LIST[a.length+1];return ctor(this.data,a,b,c)}"),o.push("return function construct_"+e+"(data,shape,stride,offset){return new "+e+"(data,"+a.map((function(t){return"shape["+t+"]"})).join(",")+","+a.map((function(t){return"stride["+t+"]"})).join(",")+",offset)}"),new Function("CTOR_LIST","ORDER",o.join("\n"))(f[t],u)}var f={float32:[],float64:[],int8:[],int16:[],int32:[],uint8:[],uint16:[],uint32:[],array:[],uint8_clamped:[],buffer:[],generic:[]};t.exports=function(t,n,e,r){if(void 0===t)return(0,f.array[0])([]);"number"==typeof t&&(t=[t]),void 0===n&&(n=[t.length]);var a=n.length;if(void 0===e){e=new Array(a);for(var u=a-1,c=1;u>=0;--u)e[u]=c,c*=n[u]}if(void 0===r){r=0;for(u=0;u<a;++u)e[u]<0&&(r-=(n[u]-1)*e[u])}for(var l=function(t){if(i(t))return"buffer";if(o)switch(Object.prototype.toString.call(t)){case"[object Float64Array]":return"float64";case"[object Float32Array]":return"float32";case"[object Int8Array]":return"int8";case"[object Int16Array]":return"int16";case"[object Int32Array]":return"int32";case"[object Uint8Array]":return"uint8";case"[object Uint16Array]":return"uint16";case"[object Uint32Array]":return"uint32";case"[object Uint8ClampedArray]":return"uint8_clamped"}return Array.isArray(t)?"array":"generic"}(t),h=f[l];h.length<=a+1;)h.push(s(l,h.length-1));return(0,h[a+1])(t,n,e,r)}},function(t,n,e){"use strict";t.exports=function(t){for(var n=new Array(t),e=0;e<t;++e)n[e]=e;return n}},function(t,n){function e(t){return!!t.constructor&&"function"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}
/*!
* Determine if an object is a Buffer
*
* @author Feross Aboukhadijeh <https://feross.org>
* @license MIT
*/
t.exports=function(t){return null!=t&&(e(t)||function(t){return"function"==typeof t.readFloatLE&&"function"==typeof t.slice&&e(t.slice(0,0))}(t)||!!t._isBuffer)}},function(t,n,e){"use strict";t.exports=function(t,n,e){for(var o=n.length,a=t.length,u=new Array(o),s=new Array(o),f=new Array(o),c=new Array(o),l=0;l<o;++l)u[l]=s[l]=-1,f[l]=1/0,c[l]=!1;for(l=0;l<a;++l){var h=t[l];if(2!==h.length)throw new Error("Input must be a graph");var p=h[1],d=h[0];-1!==s[d]?s[d]=-2:s[d]=p,-1!==u[p]?u[p]=-2:u[p]=d}function v(t){if(c[t])return 1/0;var e,i,o,a,f,l=u[t],h=s[t];return l<0||h<0?1/0:(e=n[t],i=n[l],o=n[h],a=Math.abs(r(e,i,o)),f=Math.sqrt(Math.pow(i[0]-o[0],2)+Math.pow(i[1]-o[1],2)),a/f)}function m(t,n){var e=k[t],r=k[n];k[t]=r,k[n]=e,A[e]=n,A[r]=t}function g(t){return f[k[t]]}function y(t){return 1&t?t-1>>1:(t>>1)-1}function _(t){for(var n=g(t);;){var e=n,r=2*t+1,i=2*(t+1),o=t;if(r<z){var a=g(r);a<e&&(o=r,e=a)}if(i<z)g(i)<e&&(o=i);if(o===t)return t;m(t,o),t=o}}function b(t){for(var n=g(t);t>0;){var e=y(t);if(e>=0)if(n<g(e)){m(t,e),t=e;continue}return t}}function x(){if(z>0){var t=k[0];return m(0,z-1),z-=1,_(0),t}return-1}function w(t,n){var e=k[t];return f[e]===n?t:(f[e]=-1/0,b(t),x(),f[e]=n,b((z+=1)-1))}function M(t){if(!c[t]){c[t]=!0;var n=u[t],e=s[t];u[e]>=0&&(u[e]=n),s[n]>=0&&(s[n]=e),A[n]>=0&&w(A[n],v(n)),A[e]>=0&&w(A[e],v(e))}}var k=[],A=new Array(o);for(l=0;l<o;++l){(f[l]=v(l))<1/0?(A[l]=k.length,k.push(l)):A[l]=-1}var z=k.length;for(l=z>>1;l>=0;--l)_(l);for(;;){var E=x();if(E<0||f[E]>e)break;M(E)}var S=[];for(l=0;l<o;++l)c[l]||(A[l]=S.length,S.push(n[l].slice()));S.length;function N(t,n){if(t[n]<0)return n;var e=n,r=n;do{var i=t[r];if(!c[r]||i<0||i===r)break;if(i=t[r=i],!c[r]||i<0||i===r)break;r=i,e=t[e]}while(e!==r);for(var o=n;o!==r;o=t[o])t[o]=r;return r}var T=[];return t.forEach((function(t){var n=N(u,t[0]),e=N(s,t[1]);if(n>=0&&e>=0&&n!==e){var r=A[n],i=A[e];r!==i&&T.push([r,i])}})),i.unique(i.normalize(T)),{positions:S,edges:T}};var r=e(8),i=e(175)},function(t,n,e){"use strict";var r=e(176),i=e(177);function o(t,n){var e=t.length,r=t.length-n.length,i=Math.min;if(r)return r;switch(e){case 0:return 0;case 1:return t[0]-n[0];case 2:return(u=t[0]+t[1]-n[0]-n[1])||i(t[0],t[1])-i(n[0],n[1]);case 3:var o=t[0]+t[1],a=n[0]+n[1];if(u=o+t[2]-(a+n[2]))return u;var u,s=i(t[0],t[1]),f=i(n[0],n[1]);return(u=i(s,t[2])-i(f,n[2]))||i(s+t[2],o)-i(f+n[2],a);default:var c=t.slice(0);c.sort();var l=n.slice(0);l.sort();for(var h=0;h<e;++h)if(r=c[h]-l[h])return r;return 0}}function a(t,n){return o(t[0],n[0])}function u(t,n){if(n){for(var e=t.length,r=new Array(e),i=0;i<e;++i)r[i]=[t[i],n[i]];r.sort(a);for(i=0;i<e;++i)t[i]=r[i][0],n[i]=r[i][1];return t}return t.sort(o),t}function s(t){if(0===t.length)return[];for(var n=1,e=t.length,r=1;r<e;++r){var i=t[r];if(o(i,t[r-1])){if(r===n){n++;continue}t[n++]=i}}return t.length=n,t}function f(t,n){for(var e=0,r=t.length-1,i=-1;e<=r;){var a=e+r>>1,u=o(t[a],n);u<=0?(0===u&&(i=a),e=a+1):u>0&&(r=a-1)}return i}function c(t,n){for(var e=new Array(t.length),i=0,a=e.length;i<a;++i)e[i]=[];for(var u=[],s=(i=0,n.length);i<s;++i)for(var c=n[i],l=c.length,h=1,p=1<<l;h<p;++h){u.length=r.popCount(h);for(var d=0,v=0;v<l;++v)h&1<<v&&(u[d++]=c[v]);var m=f(t,u);if(!(m<0))for(;e[m++].push(i),!(m>=t.length||0!==o(t[m],u)););}return e}function l(t,n){if(n<0)return[];for(var e=[],i=(1<<n+1)-1,o=0;o<t.length;++o)for(var a=t[o],s=i;s<1<<a.length;s=r.nextCombination(s)){for(var f=new Array(n+1),c=0,l=0;l<a.length;++l)s&1<<l&&(f[c++]=a[l]);e.push(f)}return u(e)}n.dimension=function(t){for(var n=0,e=Math.max,r=0,i=t.length;r<i;++r)n=e(n,t[r].length);return n-1},n.countVertices=function(t){for(var n=-1,e=Math.max,r=0,i=t.length;r<i;++r)for(var o=t[r],a=0,u=o.length;a<u;++a)n=e(n,o[a]);return n+1},n.cloneCells=function(t){for(var n=new Array(t.length),e=0,r=t.length;e<r;++e)n[e]=t[e].slice(0);return n},n.compareCells=o,n.normalize=u,n.unique=s,n.findCell=f,n.incidence=c,n.dual=function(t,n){if(!n)return c(s(l(t,0)),t);for(var e=new Array(n),r=0;r<n;++r)e[r]=[];r=0;for(var i=t.length;r<i;++r)for(var o=t[r],a=0,u=o.length;a<u;++a)e[o[a]].push(r);return e},n.explode=function(t){for(var n=[],e=0,r=t.length;e<r;++e)for(var i=t[e],o=0|i.length,a=1,s=1<<o;a<s;++a){for(var f=[],c=0;c<o;++c)a>>>c&1&&f.push(i[c]);n.push(f)}return u(n)},n.skeleton=l,n.boundary=function(t){for(var n=[],e=0,r=t.length;e<r;++e)for(var i=t[e],o=0,a=i.length;o<a;++o){for(var s=new Array(i.length-1),f=0,c=0;f<a;++f)f!==o&&(s[c++]=i[f]);n.push(s)}return u(n)},n.connectedComponents=function(t,n){return n?function(t,n){for(var e=new i(n),r=0;r<t.length;++r)for(var o=t[r],a=0;a<o.length;++a)for(var u=a+1;u<o.length;++u)e.link(o[a],o[u]);var s=[],f=e.ranks;for(r=0;r<f.length;++r)f[r]=-1;for(r=0;r<t.length;++r){var c=e.find(t[r][0]);f[c]<0?(f[c]=s.length,s.push([t[r].slice(0)])):s[f[c]].push(t[r].slice(0))}return s}(t,n):function(t){for(var n=s(u(l(t,0))),e=new i(n.length),r=0;r<t.length;++r)for(var o=t[r],a=0;a<o.length;++a)for(var c=f(n,[o[a]]),h=a+1;h<o.length;++h)e.link(c,f(n,[o[h]]));var p=[],d=e.ranks;for(r=0;r<d.length;++r)d[r]=-1;for(r=0;r<t.length;++r){var v=e.find(f(n,[t[r][0]]));d[v]<0?(d[v]=p.length,p.push([t[r].slice(0)])):p[d[v]].push(t[r].slice(0))}return p}(t)}},function(t,n,e){"use strict";function r(t){var n=32;return(t&=-t)&&n--,65535&t&&(n-=16),16711935&t&&(n-=8),252645135&t&&(n-=4),858993459&t&&(n-=2),1431655765&t&&(n-=1),n}n.INT_BITS=32,n.INT_MAX=2147483647,n.INT_MIN=-1<<31,n.sign=function(t){return(t>0)-(t<0)},n.abs=function(t){var n=t>>31;return(t^n)-n},n.min=function(t,n){return n^(t^n)&-(t<n)},n.max=function(t,n){return t^(t^n)&-(t<n)},n.isPow2=function(t){return!(t&t-1||!t)},n.log2=function(t){var n,e;return n=(t>65535)<<4,n|=e=((t>>>=n)>255)<<3,n|=e=((t>>>=e)>15)<<2,(n|=e=((t>>>=e)>3)<<1)|(t>>>=e)>>1},n.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},n.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},n.countTrailingZeros=r,n.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)+1},n.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},n.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var i=new Array(256);!function(t){for(var n=0;n<256;++n){var e=n,r=n,i=7;for(e>>>=1;e;e>>>=1)r<<=1,r|=1&e,--i;t[n]=r<<i&255}}(i),n.reverse=function(t){return i[255&t]<<24|i[t>>>8&255]<<16|i[t>>>16&255]<<8|i[t>>>24&255]},n.interleave2=function(t,n){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(n=1431655765&((n=858993459&((n=252645135&((n=16711935&((n&=65535)|n<<8))|n<<4))|n<<2))|n<<1))<<1},n.deinterleave2=function(t,n){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>n&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},n.interleave3=function(t,n,e){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(n=1227133513&((n=3272356035&((n=251719695&((n=4278190335&((n&=1023)|n<<16))|n<<8))|n<<4))|n<<2))<<1)|(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<2},n.deinterleave3=function(t,n){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>n&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},n.nextCombination=function(t){var n=t|t-1;return n+1|(~n&-~n)-1>>>r(t)+1}},function(t,n,e){"use strict";function r(t){this.roots=new Array(t),this.ranks=new Array(t);for(var n=0;n<t;++n)this.roots[n]=n,this.ranks[n]=0}t.exports=r,r.prototype.length=function(){return this.roots.length},r.prototype.makeSet=function(){var t=this.roots.length;return this.roots.push(t),this.ranks.push(0),t},r.prototype.find=function(t){for(var n=this.roots;n[t]!==t;){var e=n[t];n[t]=n[e],t=e}return t},r.prototype.link=function(t,n){var e=this.find(t),r=this.find(n);if(e!==r){var i=this.ranks,o=this.roots,a=i[e],u=i[r];a<u?o[e]=r:u<a?o[r]=e:(o[r]=e,++i[e])}}},function(t,n,e){"use strict";t.exports=function(t,n,e){var r;if(e){r=n;for(var i=new Array(n.length),o=0;o<n.length;++o){var a=n[o];i[o]=[a[0],a[1],e[o]]}n=i}var u=function(t,n,e){var r=d(t,[],p(t));return g(n,r,e),!!r}(t,n,!!e);for(;y(t,n,!!e);)u=!0;if(e&&u){r.length=0,e.length=0;for(o=0;o<n.length;++o){a=n[o];r.push([a[0],a[1]]),e.push(a[2])}}return u};var r=e(179),i=e(180),o=e(185),a=e(33),u=e(190),s=e(191),f=e(194),c=e(195),l=e(196);function h(t){var n=s(t);return[c(n,-1/0),c(n,1/0)]}function p(t){for(var n=new Array(t.length),e=0;e<t.length;++e){var r=t[e];n[e]=[c(r[0],-1/0),c(r[1],-1/0),c(r[0],1/0),c(r[1],1/0)]}return n}function d(t,n,e){for(var o=n.length,a=new r(o),u=[],s=0;s<n.length;++s){var f=n[s],l=h(f[0]),p=h(f[1]);u.push([c(l[0],-1/0),c(p[0],-1/0),c(l[1],1/0),c(p[1],1/0)])}i(u,(function(t,n){a.link(t,n)}));var d=!0,v=new Array(o);for(s=0;s<o;++s){(g=a.find(s))!==s&&(d=!1,t[g]=[Math.min(t[s][0],t[g][0]),Math.min(t[s][1],t[g][1])])}if(d)return null;var m=0;for(s=0;s<o;++s){var g;(g=a.find(s))===s?(v[s]=m,t[m++]=t[s]):v[s]=-1}t.length=m;for(s=0;s<o;++s)v[s]<0&&(v[s]=v[a.find(s)]);return v}function v(t,n){return t[0]-n[0]||t[1]-n[1]}function m(t,n){var e=t[0]-n[0]||t[1]-n[1];return e||(t[2]<n[2]?-1:t[2]>n[2]?1:0)}function g(t,n,e){if(0!==t.length){if(n)for(var r=0;r<t.length;++r){var i=n[(a=t[r])[0]],o=n[a[1]];a[0]=Math.min(i,o),a[1]=Math.max(i,o)}else for(r=0;r<t.length;++r){var a;i=(a=t[r])[0],o=a[1];a[0]=Math.min(i,o),a[1]=Math.max(i,o)}e?t.sort(m):t.sort(v);var u=1;for(r=1;r<t.length;++r){var s=t[r-1],f=t[r];(f[0]!==s[0]||f[1]!==s[1]||e&&f[2]!==s[2])&&(t[u++]=f)}t.length=u}}function y(t,n,e){var r=function(t,n){for(var e=new Array(n.length),r=0;r<n.length;++r){var i=n[r],o=t[i[0]],a=t[i[1]];e[r]=[c(Math.min(o[0],a[0]),-1/0),c(Math.min(o[1],a[1]),-1/0),c(Math.max(o[0],a[0]),1/0),c(Math.max(o[1],a[1]),1/0)]}return e}(t,n),h=function(t,n,e){var r=[];return i(e,(function(e,i){var a=n[e],u=n[i];if(a[0]!==u[0]&&a[0]!==u[1]&&a[1]!==u[0]&&a[1]!==u[1]){var s=t[a[0]],f=t[a[1]],c=t[u[0]],l=t[u[1]];o(s,f,c,l)&&r.push([e,i])}})),r}(t,n,r),v=p(t),m=function(t,n,e,r){var a=[];return i(e,r,(function(e,r){var i=n[e];if(i[0]!==r&&i[1]!==r){var u=t[r],s=t[i[0]],f=t[i[1]];o(s,f,u,u)&&a.push([e,r])}})),a}(t,n,r,v),y=d(t,function(t,n,e,r,i){var o,c,h=t.map((function(t){return[a(t[0]),a(t[1])]}));for(o=0;o<e.length;++o){var p=e[o];c=p[0];var d=p[1],v=n[c],m=n[d],g=l(f(t[v[0]]),f(t[v[1]]),f(t[m[0]]),f(t[m[1]]));if(g){var y=t.length;t.push([s(g[0]),s(g[1])]),h.push(g),r.push([c,y],[d,y])}}for(r.sort((function(t,n){if(t[0]!==n[0])return t[0]-n[0];var e=h[t[1]],r=h[n[1]];return u(e[0],r[0])||u(e[1],r[1])})),o=r.length-1;o>=0;--o){var _=n[c=(E=r[o])[0]],b=_[0],x=_[1],w=t[b],M=t[x];if((w[0]-M[0]||w[1]-M[1])<0){var k=b;b=x,x=k}_[0]=b;var A,z=_[1]=E[1];for(i&&(A=_[2]);o>0&&r[o-1][0]===c;){var E,S=(E=r[--o])[1];i?n.push([z,S,A]):n.push([z,S]),z=S}i?n.push([z,x,A]):n.push([z,x])}return h}(t,n,h,m,e));return g(n,y,e),!!y||(h.length>0||m.length>0)}},function(t,n,e){"use strict";function r(t){this.roots=new Array(t),this.ranks=new Array(t);for(var n=0;n<t;++n)this.roots[n]=n,this.ranks[n]=0}t.exports=r;var i=r.prototype;Object.defineProperty(i,"length",{get:function(){return this.roots.length}}),i.makeSet=function(){var t=this.roots.length;return this.roots.push(t),this.ranks.push(0),t},i.find=function(t){for(var n=t,e=this.roots;e[t]!==t;)t=e[t];for(;e[n]!==t;){var r=e[n];e[n]=t,n=r}return t},i.link=function(t,n){var e=this.find(t),r=this.find(n);if(e!==r){var i=this.ranks,o=this.roots,a=i[e],u=i[r];a<u?o[e]=r:u<a?o[r]=e:(o[r]=e,++i[e])}}},function(t,n,e){"use strict";t.exports=function(t,n,e){switch(arguments.length){case 1:return l(t);case 2:return"function"==typeof n?f(t,t,n,!0):h(t,n);case 3:return f(t,n,e,!1);default:throw new Error("box-intersect: Invalid arguments")}};var r,i=e(11),o=e(64),a=e(182);function u(t,n){for(var e=0;e<t;++e)if(!(n[e]<=n[e+t]))return!0;return!1}function s(t,n,e,r){for(var i=0,o=0,a=0,s=t.length;a<s;++a){var f=t[a];if(!u(n,f)){for(var c=0;c<2*n;++c)e[i++]=f[c];r[o++]=a}}return o}function f(t,n,e,r){var u=t.length,f=n.length;if(!(u<=0||f<=0)){var c=t[0].length>>>1;if(!(c<=0)){var l,h=i.mallocDouble(2*c*u),p=i.mallocInt32(u);if((u=s(t,c,h,p))>0){if(1===c&&r)o.init(u),l=o.sweepComplete(c,e,0,u,h,p,0,u,h,p);else{var d=i.mallocDouble(2*c*f),v=i.mallocInt32(f);(f=s(n,c,d,v))>0&&(o.init(u+f),l=1===c?o.sweepBipartite(c,e,0,u,h,p,0,f,d,v):a(c,e,r,u,h,p,f,d,v),i.free(d),i.free(v))}i.free(h),i.free(p)}return l}}}function c(t,n){r.push([t,n])}function l(t){return r=[],f(t,t,c,!0),r}function h(t,n){return r=[],f(t,n,c,!1),r}},function(t,n,e){"use strict";t.exports=function(t,n){n<=128?r(0,n-1,t):function t(n,e,c){var l=(e-n+1)/6|0,h=n+l,p=e-l,d=n+e>>1,v=d-l,m=d+l,g=h,y=v,_=d,b=m,x=p,w=n+1,M=e-1,k=0;s(g,y,c)&&(k=g,g=y,y=k);s(b,x,c)&&(k=b,b=x,x=k);s(g,_,c)&&(k=g,g=_,_=k);s(y,_,c)&&(k=y,y=_,_=k);s(g,b,c)&&(k=g,g=b,b=k);s(_,b,c)&&(k=_,_=b,b=k);s(y,x,c)&&(k=y,y=x,x=k);s(y,_,c)&&(k=y,y=_,_=k);s(b,x,c)&&(k=b,b=x,x=k);for(var A=c[2*y],z=c[2*y+1],E=c[2*b],S=c[2*b+1],N=2*g,T=2*_,C=2*x,j=2*h,O=2*d,P=2*p,B=0;B<2;++B){var R=c[N+B],I=c[T+B],D=c[C+B];c[j+B]=R,c[O+B]=I,c[P+B]=D}o(v,n,c),o(m,e,c);for(var F=w;F<=M;++F)if(f(F,A,z,c))F!==w&&i(F,w,c),++w;else if(!f(F,E,S,c))for(;;){if(f(M,E,S,c)){f(M,A,z,c)?(a(F,w,M,c),++w,--M):(i(F,M,c),--M);break}if(--M<F)break}u(n,w-1,A,z,c),u(e,M+1,E,S,c),w-2-n<=32?r(n,w-2,c):t(n,w-2,c);e-(M+2)<=32?r(M+2,e,c):t(M+2,e,c);M-w<=32?r(w,M,c):t(w,M,c)}(0,n-1,t)};function r(t,n,e){for(var r=2*(t+1),i=t+1;i<=n;++i){for(var o=e[r++],a=e[r++],u=i,s=r-2;u-- >t;){var f=e[s-2],c=e[s-1];if(f<o)break;if(f===o&&c<a)break;e[s]=f,e[s+1]=c,s-=2}e[s]=o,e[s+1]=a}}function i(t,n,e){n*=2;var r=e[t*=2],i=e[t+1];e[t]=e[n],e[t+1]=e[n+1],e[n]=r,e[n+1]=i}function o(t,n,e){n*=2,e[t*=2]=e[n],e[t+1]=e[n+1]}function a(t,n,e,r){n*=2,e*=2;var i=r[t*=2],o=r[t+1];r[t]=r[n],r[t+1]=r[n+1],r[n]=r[e],r[n+1]=r[e+1],r[e]=i,r[e+1]=o}function u(t,n,e,r,i){n*=2,i[t*=2]=i[n],i[n]=e,i[t+1]=i[n+1],i[n+1]=r}function s(t,n,e){n*=2;var r=e[t*=2],i=e[n];return!(r<i)&&(r!==i||e[t+1]>e[n+1])}function f(t,n,e,r){var i=r[t*=2];return i<n||i===n&&r[t+1]<e}},function(t,n,e){"use strict";t.exports=function(t,n,e,o,c,w,M,k,A){!function(t,n){var e=8*i.log2(n+1)*(t+1)|0,o=i.nextPow2(6*e);g.length<o&&(r.free(g),g=r.mallocInt32(o));var a=i.nextPow2(2*e);y.length<a&&(r.free(y),y=r.mallocDouble(a))}(t,o+M);var z,E=0,S=2*t;_(E++,0,0,o,0,M,e?16:0,-1/0,1/0),e||_(E++,0,0,M,0,o,1,-1/0,1/0);for(;E>0;){var N=6*(E-=1),T=g[N],C=g[N+1],j=g[N+2],O=g[N+3],P=g[N+4],B=g[N+5],R=2*E,I=y[R],D=y[R+1],F=1&B,U=!!(16&B),L=c,q=w,H=k,Y=A;if(F&&(L=k,q=A,H=c,Y=w),!(2&B&&(j=p(t,T,C,j,L,q,D),C>=j)||4&B&&(C=d(t,T,C,j,L,q,I))>=j)){var V=j-C,W=P-O;if(U){if(t*V*(V+W)<1<<22){if(void 0!==(z=s.scanComplete(t,T,n,C,j,L,q,O,P,H,Y)))return z;continue}}else{if(t*Math.min(V,W)<128){if(void 0!==(z=a(t,T,n,F,C,j,L,q,O,P,H,Y)))return z;continue}if(t*V*W<1<<22){if(void 0!==(z=s.scanBipartite(t,T,n,F,C,j,L,q,O,P,H,Y)))return z;continue}}var X=l(t,T,C,j,L,q,I,D);if(C<X)if(t*(X-C)<128){if(void 0!==(z=u(t,T+1,n,C,X,L,q,O,P,H,Y)))return z}else if(T===t-2){if(void 0!==(z=F?s.sweepBipartite(t,n,O,P,H,Y,C,X,L,q):s.sweepBipartite(t,n,C,X,L,q,O,P,H,Y)))return z}else _(E++,T+1,C,X,O,P,F,-1/0,1/0),_(E++,T+1,O,P,C,X,1^F,-1/0,1/0);if(X<j){var G=f(t,T,O,P,H,Y),Z=H[S*G+T],$=h(t,T,G,P,H,Y,Z);if($<P&&_(E++,T,X,j,$,P,(4|F)+(U?16:0),Z,D),O<G&&_(E++,T,X,j,O,G,(2|F)+(U?16:0),I,Z),G+1===$){if(void 0!==(z=U?x(t,T,n,X,j,L,q,G,H,Y[G]):b(t,T,n,F,X,j,L,q,G,H,Y[G])))return z}else if(G<$){var Q;if(U){if(Q=v(t,T,X,j,L,q,Z),X<Q){var K=h(t,T,X,Q,L,q,Z);if(T===t-2){if(X<K&&void 0!==(z=s.sweepComplete(t,n,X,K,L,q,G,$,H,Y)))return z;if(K<Q&&void 0!==(z=s.sweepBipartite(t,n,K,Q,L,q,G,$,H,Y)))return z}else X<K&&_(E++,T+1,X,K,G,$,16,-1/0,1/0),K<Q&&(_(E++,T+1,K,Q,G,$,0,-1/0,1/0),_(E++,T+1,G,$,K,Q,1,-1/0,1/0))}}else Q=F?m(t,T,X,j,L,q,Z):v(t,T,X,j,L,q,Z),X<Q&&(T===t-2?z=F?s.sweepBipartite(t,n,G,$,H,Y,X,Q,L,q):s.sweepBipartite(t,n,X,Q,L,q,G,$,H,Y):(_(E++,T+1,X,Q,G,$,F,-1/0,1/0),_(E++,T+1,G,$,X,Q,1^F,-1/0,1/0)))}}}}};var r=e(11),i=e(23),o=e(183),a=o.partial,u=o.full,s=e(64),f=e(184),c=e(65),l=c("!(lo>=p0)&&!(p1>=hi)",["p0","p1"]),h=c("lo===p0",["p0"]),p=c("lo<p0",["p0"]),d=c("hi<=p0",["p0"]),v=c("lo<=p0&&p0<=hi",["p0"]),m=c("lo<p0&&p0<=hi",["p0"]),g=r.mallocInt32(1024),y=r.mallocDouble(1024);function _(t,n,e,r,i,o,a,u,s){var f=6*t;g[f]=n,g[f+1]=e,g[f+2]=r,g[f+3]=i,g[f+4]=o,g[f+5]=a;var c=2*t;y[c]=u,y[c+1]=s}function b(t,n,e,r,i,o,a,u,s,f,c){var l=2*t,h=s*l,p=f[h+n];t:for(var d=i,v=i*l;d<o;++d,v+=l){var m=a[v+n],g=a[v+n+t];if(!(p<m||g<p)&&(!r||p!==m)){for(var y,_=u[d],b=n+1;b<t;++b){m=a[v+b],g=a[v+b+t];var x=f[h+b],w=f[h+b+t];if(g<x||w<m)continue t}if(void 0!==(y=r?e(c,_):e(_,c)))return y}}}function x(t,n,e,r,i,o,a,u,s,f){var c=2*t,l=u*c,h=s[l+n];t:for(var p=r,d=r*c;p<i;++p,d+=c){var v=a[p];if(v!==f){var m=o[d+n],g=o[d+n+t];if(!(h<m||g<h)){for(var y=n+1;y<t;++y){m=o[d+y],g=o[d+y+t];var _=s[l+y],b=s[l+y+t];if(g<_||b<m)continue t}var x=e(v,f);if(void 0!==x)return x}}}}},function(t,n,e){"use strict";var r=["d","ax","vv","rs","re","rb","ri","bs","be","bb","bi"];function i(t){var n="bruteForce"+(t?"Full":"Partial"),e=[],i=r.slice();t||i.splice(3,0,"fp");var o=["function "+n+"("+i.join()+"){"];function a(n,i){var a=function(t,n,e){var i="bruteForce"+(t?"Red":"Blue")+(n?"Flip":"")+(e?"Full":""),o=["function ",i,"(",r.join(),"){","var ","es","=2*","d",";"],a="for(var i=rs,rp=es*rs;i<re;++i,rp+=es){var x0=rb[ax+rp],x1=rb[ax+rp+d],xi=ri[i];",u="for(var j=bs,bp=es*bs;j<be;++j,bp+=es){var y0=bb[ax+bp],"+(e?"y1=bb[ax+bp+d],":"")+"yi=bi[j];";return t?o.push(a,"Q",":",u):o.push(u,"Q",":",a),e?o.push("if(y1<x0||x1<y0)continue;"):n?o.push("if(y0<=x0||x1<y0)continue;"):o.push("if(y0<x0||x1<y0)continue;"),o.push("for(var k=ax+1;k<d;++k){var r0=rb[k+rp],r1=rb[k+d+rp],b0=bb[k+bp],b1=bb[k+d+bp];if(r1<b0||b1<r0)continue Q;}var rv=vv("),n?o.push("yi,xi"):o.push("xi,yi"),o.push(");if(rv!==void 0)return rv;}}}"),{name:i,code:o.join("")}}(n,i,t);e.push(a.code),o.push("return "+a.name+"("+r.join()+");")}o.push("if(re-rs>be-bs){"),t?(a(!0,!1),o.push("}else{"),a(!1,!1)):(o.push("if(fp){"),a(!0,!0),o.push("}else{"),a(!0,!1),o.push("}}else{if(fp){"),a(!1,!0),o.push("}else{"),a(!1,!1),o.push("}")),o.push("}}return "+n);var u=e.join("")+o.join("");return new Function(u)()}n.partial=i(!1),n.full=i(!0)},function(t,n,e){"use strict";t.exports=function(t,n,e,o,a,u){if(o<=e+1)return e;var s=e,f=o,c=o+e>>>1,l=2*t,h=c,p=a[l*c+n];for(;s<f;){if(f-s<8){i(t,n,s,f,a,u),p=a[l*c+n];break}var d=f-s,v=Math.random()*d+s|0,m=a[l*v+n],g=Math.random()*d+s|0,y=a[l*g+n],_=Math.random()*d+s|0,b=a[l*_+n];m<=y?b>=y?(h=g,p=y):m>=b?(h=v,p=m):(h=_,p=b):y>=b?(h=g,p=y):b>=m?(h=v,p=m):(h=_,p=b);for(var x=l*(f-1),w=l*h,M=0;M<l;++M,++x,++w){var k=a[x];a[x]=a[w],a[w]=k}var A=u[f-1];u[f-1]=u[h],u[h]=A,h=r(t,n,s,f-1,a,u,p);for(x=l*(f-1),w=l*h,M=0;M<l;++M,++x,++w){k=a[x];a[x]=a[w],a[w]=k}A=u[f-1];if(u[f-1]=u[h],u[h]=A,c<h){for(f=h-1;s<f&&a[l*(f-1)+n]===p;)f-=1;f+=1}else{if(!(h<c))break;for(s=h+1;s<f&&a[l*s+n]===p;)s+=1}}return r(t,n,e,c,a,u,a[l*c+n])};var r=e(65)("lo<p0",["p0"]);function i(t,n,e,r,i,o){for(var a=2*t,u=a*(e+1)+n,s=e+1;s<r;++s,u+=a)for(var f=i[u],c=s,l=a*(s-1);c>e&&i[l+n]>f;--c,l-=a){for(var h=l,p=l+a,d=0;d<a;++d,++h,++p){var v=i[h];i[h]=i[p],i[p]=v}var m=o[c];o[c]=o[c-1],o[c-1]=m}}},function(t,n,e){"use strict";t.exports=function(t,n,e,i){var o=r(t,e,i),a=r(n,e,i);if(o>0&&a>0||o<0&&a<0)return!1;var u=r(e,t,n),s=r(i,t,n);if(u>0&&s>0||u<0&&s<0)return!1;if(0===o&&0===a&&0===u&&0===s)return function(t,n,e,r){for(var i=0;i<2;++i){var o=t[i],a=n[i],u=Math.min(o,a),s=Math.max(o,a),f=e[i],c=r[i],l=Math.min(f,c);if(Math.max(f,c)<u||s<l)return!1}return!0}(t,n,e,i);return!0};var r=e(8)[3]},function(t,n,e){"use strict";var r=e(66);t.exports=function(t){return Array.isArray(t)&&2===t.length&&r(t[0])&&r(t[1])}},function(t,n){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},function(t,n){},function(t,n,e){"use strict";var r=e(25);t.exports=function(t){return new r(t)}},function(t,n,e){"use strict";t.exports=function(t,n){return t[0].mul(n[1]).cmp(n[0].mul(t[1]))}},function(t,n,e){"use strict";var r=e(192),i=e(193);t.exports=function(t){var n=t[0],e=t[1];if(0===n.cmpn(0))return 0;var o=n.abs().divmod(e.abs()),a=o.div,u=r(a),s=o.mod,f=n.negative!==e.negative?-1:1;if(0===s.cmpn(0))return f*u;if(u){var c=i(u)+4,l=r(s.ushln(c).divRound(e));return f*(u+l*Math.pow(2,-c))}var h=e.bitLength()-s.bitLength()+53;l=r(s.ushln(h).divRound(e));return h<1023?f*l*Math.pow(2,-h):(l*=Math.pow(2,-1023),f*l*Math.pow(2,1023-h))}},function(t,n,e){"use strict";var r=e(35);t.exports=function(t){var n=t.length,e=t.words,i=0;if(1===n)i=e[0];else if(2===n)i=e[0]+67108864*e[1];else for(var o=0;o<n;o++){var a=e[o];i+=a*Math.pow(67108864,o)}return r(t)*i}},function(t,n,e){"use strict";var r=e(34),i=e(23).countTrailingZeros;t.exports=function(t){var n=i(r.lo(t));if(n<32)return n;var e=i(r.hi(t));if(e>20)return 52;return e+32}},function(t,n,e){"use strict";t.exports=function(t){for(var n=new Array(t.length),e=0;e<t.length;++e)n[e]=r(t[e]);return n};var r=e(33)},function(t,n,e){"use strict";var r=e(34),i=Math.pow(2,-1074);t.exports=function(t,n){if(isNaN(t)||isNaN(n))return NaN;if(t===n)return t;if(0===t)return n<0?-i:i;var e=r.hi(t),o=r.lo(t);n>t==t>0?o===-1>>>0?(e+=1,o=0):o+=1:0===o?(o=-1>>>0,e-=1):o-=1;return r.pack(o,e)}},function(t,n,e){"use strict";t.exports=function(t,n,e,r){var o=u(n,t),l=u(r,e),h=c(o,l);if(0===a(h))return null;var p=u(t,e),d=c(l,p),v=i(d,h),m=f(o,v);return s(t,m)};var r=e(69),i=e(68),o=e(70),a=e(197),u=e(198),s=e(199),f=e(201);function c(t,n){return o(r(t[0],n[1]),r(t[1],n[0]))}},function(t,n,e){"use strict";var r=e(35);t.exports=function(t){return r(t[0])*r(t[1])}},function(t,n,e){"use strict";var r=e(70);t.exports=function(t,n){for(var e=t.length,i=new Array(e),o=0;o<e;++o)i[o]=r(t[o],n[o]);return i}},function(t,n,e){"use strict";var r=e(200);t.exports=function(t,n){for(var e=t.length,i=new Array(e),o=0;o<e;++o)i[o]=r(t[o],n[o]);return i}},function(t,n,e){"use strict";var r=e(15);t.exports=function(t,n){return r(t[0].mul(n[1]).add(n[0].mul(t[1])),t[1].mul(n[1]))}},function(t,n,e){"use strict";var r=e(33),i=e(69);t.exports=function(t,n){for(var e=r(n),o=t.length,a=new Array(o),u=0;u<o;++u)a[u]=i(t[u],e);return a}},function(t,n,e){"use strict";var r=e(203),i=e(204),o=e(205),a=e(207);function u(t){return[Math.min(t[0],t[1]),Math.max(t[0],t[1])]}function s(t,n){return t[0]-n[0]||t[1]-n[1]}function f(t,n,e){return n in t?t[n]:e}t.exports=function(t,n,e){Array.isArray(n)?(e=e||{},n=n||[]):(e=n||{},n=[]);var c=!!f(e,"delaunay",!0),l=!!f(e,"interior",!0),h=!!f(e,"exterior",!0),p=!!f(e,"infinity",!1);if(!l&&!h||0===t.length)return[];var d=r(t,n);if(c||l!==h||p){for(var v=i(t.length,function(t){return t.map(u).sort(s)}(n)),m=0;m<d.length;++m){var g=d[m];v.addTriangle(g[0],g[1],g[2])}return c&&o(t,v),h?l?p?a(v,0,p):v.cells():a(v,1,p):a(v,-1)}return d}},function(t,n,e){"use strict";var r=e(26),i=e(8)[3];function o(t,n,e,r,i){this.a=t,this.b=n,this.idx=e,this.lowerIds=r,this.upperIds=i}function a(t,n,e,r){this.a=t,this.b=n,this.type=e,this.idx=r}function u(t,n){var e=t.a[0]-n.a[0]||t.a[1]-n.a[1]||t.type-n.type;return e||(0!==t.type&&(e=i(t.a,t.b,n.b))?e:t.idx-n.idx)}function s(t,n){return i(t.a,t.b,n)}function f(t,n,e,o,a){for(var u=r.lt(n,o,s),f=r.gt(n,o,s),c=u;c<f;++c){for(var l=n[c],h=l.lowerIds,p=h.length;p>1&&i(e[h[p-2]],e[h[p-1]],o)>0;)t.push([h[p-1],h[p-2],a]),p-=1;h.length=p,h.push(a);var d=l.upperIds;for(p=d.length;p>1&&i(e[d[p-2]],e[d[p-1]],o)<0;)t.push([d[p-2],d[p-1],a]),p-=1;d.length=p,d.push(a)}}function c(t,n){var e;return(e=t.a[0]<n.a[0]?i(t.a,t.b,n.a):i(n.b,n.a,t.a))?e:(e=n.b[0]<t.b[0]?i(t.a,t.b,n.b):i(n.b,n.a,t.b))||t.idx-n.idx}function l(t,n,e){var i=r.le(t,e,c),a=t[i],u=a.upperIds,s=u[u.length-1];a.upperIds=[s],t.splice(i+1,0,new o(e.a,e.b,e.idx,[s],u))}function h(t,n,e){var i=e.a;e.a=e.b,e.b=i;var o=r.eq(t,e,c),a=t[o];t[o-1].upperIds=a.upperIds,t.splice(o,1)}t.exports=function(t,n){for(var e=t.length,r=n.length,i=[],s=0;s<e;++s)i.push(new a(t[s],null,0,s));for(s=0;s<r;++s){var c=n[s],p=t[c[0]],d=t[c[1]];p[0]<d[0]?i.push(new a(p,d,2,s),new a(d,p,1,s)):p[0]>d[0]&&i.push(new a(d,p,2,s),new a(p,d,1,s))}i.sort(u);for(var v=i[0].a[0]-(1+Math.abs(i[0].a[0]))*Math.pow(2,-52),m=[new o([v,1],[v,0],-1,[],[],[],[])],g=[],y=(s=0,i.length);s<y;++s){var _=i[s],b=_.type;0===b?f(g,m,t,_.a,_.idx):2===b?l(m,t,_):h(m,t,_)}return g}},function(t,n,e){"use strict";var r=e(26);function i(t,n){this.stars=t,this.edges=n}t.exports=function(t,n){for(var e=new Array(t),r=0;r<t;++r)e[r]=[];return new i(e,n)};var o=i.prototype;function a(t,n,e){for(var r=1,i=t.length;r<i;r+=2)if(t[r-1]===n&&t[r]===e)return t[r-1]=t[i-2],t[r]=t[i-1],void(t.length=i-2)}o.isConstraint=function(){var t=[0,0];function n(t,n){return t[0]-n[0]||t[1]-n[1]}return function(e,i){return t[0]=Math.min(e,i),t[1]=Math.max(e,i),r.eq(this.edges,t,n)>=0}}(),o.removeTriangle=function(t,n,e){var r=this.stars;a(r[t],n,e),a(r[n],e,t),a(r[e],t,n)},o.addTriangle=function(t,n,e){var r=this.stars;r[t].push(n,e),r[n].push(e,t),r[e].push(t,n)},o.opposite=function(t,n){for(var e=this.stars[n],r=1,i=e.length;r<i;r+=2)if(e[r]===t)return e[r-1];return-1},o.flip=function(t,n){var e=this.opposite(t,n),r=this.opposite(n,t);this.removeTriangle(t,n,e),this.removeTriangle(n,t,r),this.addTriangle(t,r,e),this.addTriangle(n,e,r)},o.edges=function(){for(var t=this.stars,n=[],e=0,r=t.length;e<r;++e)for(var i=t[e],o=0,a=i.length;o<a;o+=2)n.push([i[o],i[o+1]]);return n},o.cells=function(){for(var t=this.stars,n=[],e=0,r=t.length;e<r;++e)for(var i=t[e],o=0,a=i.length;o<a;o+=2){var u=i[o],s=i[o+1];e<Math.min(u,s)&&n.push([e,u,s])}return n}},function(t,n,e){"use strict";var r=e(206)[4];e(26);function i(t,n,e,i,o,a){var u=n.opposite(i,o);if(!(u<0)){if(o<i){var s=i;i=o,o=s,s=a,a=u,u=s}n.isConstraint(i,o)||r(t[i],t[o],t[a],t[u])<0&&e.push(i,o)}}t.exports=function(t,n){for(var e=[],o=t.length,a=n.stars,u=0;u<o;++u)for(var s=a[u],f=1;f<s.length;f+=2){if(!((p=s[f])<u)&&!n.isConstraint(u,p)){for(var c=s[f-1],l=-1,h=1;h<s.length;h+=2)if(s[h-1]===p){l=s[h];break}l<0||r(t[u],t[p],t[c],t[l])<0&&e.push(u,p)}}for(;e.length>0;){for(var p=e.pop(),d=(u=e.pop(),c=-1,l=-1,s=a[u],1);d<s.length;d+=2){var v=s[d-1],m=s[d];v===p?l=m:m===p&&(c=v)}c<0||l<0||(r(t[u],t[p],t[c],t[l])>=0||(n.flip(u,p),i(t,n,e,c,u,l),i(t,n,e,u,l,c),i(t,n,e,l,p,c),i(t,n,e,p,c,l)))}}},function(t,n,e){"use strict";var r=e(24),i=e(14),o=e(63),a=e(32);function u(t,n){for(var e=new Array(t.length-1),r=1;r<t.length;++r)for(var i=e[r-1]=new Array(t.length-1),o=0,a=0;o<t.length;++o)o!==n&&(i[a++]=t[r][o]);return e}function s(t){if(1===t.length)return t[0];if(2===t.length)return["sum(",t[0],",",t[1],")"].join("");var n=t.length>>1;return["sum(",s(t.slice(0,n)),",",s(t.slice(n)),")"].join("")}function f(t,n){if("m"===t.charAt(0)){if("w"===n.charAt(0)){var e=t.split("[");return["w",n.substr(1),"m",e[0].substr(1)].join("")}return["prod(",t,",",n,")"].join("")}return f(n,t)}function c(t){if(2===t.length)return[["diff(",f(t[0][0],t[1][1]),",",f(t[1][0],t[0][1]),")"].join("")];for(var n=[],e=0;e<t.length;++e)n.push(["scale(",s(c(u(t,e))),",",(r=e,!0&r?"-":""),t[0][e],")"].join(""));return n;var r}function l(t,n){for(var e=[],r=0;r<n-2;++r)e.push(["prod(m",t,"[",r,"],m",t,"[",r,"])"].join(""));return s(e)}function h(t){for(var n=[],e=[],f=function(t){for(var n=new Array(t),e=0;e<t;++e){n[e]=new Array(t);for(var r=0;r<t;++r)n[e][r]=["m",r,"[",t-e-2,"]"].join("")}return n}(t),h=0;h<t;++h)f[0][h]="1",f[t-1][h]="w"+h;for(h=0;h<t;++h)0==(1&h)?n.push.apply(n,c(u(f,h))):e.push.apply(e,c(u(f,h)));var p=s(n),d=s(e),v="exactInSphere"+t,m=[];for(h=0;h<t;++h)m.push("m"+h);var g=["function ",v,"(",m.join(),"){"];for(h=0;h<t;++h){g.push("var w",h,"=",l(h,t),";");for(var y=0;y<t;++y)y!==h&&g.push("var w",h,"m",y,"=scale(w",h,",m",y,"[0]);")}return g.push("var p=",p,",n=",d,",d=diff(p,n);return d[d.length-1];}return ",v),new Function("sum","diff","prod","scale",g.join(""))(i,o,r,a)}var p=[function(){return 0},function(){return 0},function(){return 0}];function d(t){var n=p[t.length];return n||(n=p[t.length]=h(t.length)),n.apply(void 0,t)}!function(){for(;p.length<=6;)p.push(h(p.length));for(var n=[],e=["slow"],r=0;r<=6;++r)n.push("a"+r),e.push("o"+r);var i=["function testInSphere(",n.join(),"){switch(arguments.length){case 0:case 1:return 0;"];for(r=2;r<=6;++r)i.push("case ",r,":return o",r,"(",n.slice(0,r).join(),");");i.push("}var s=new Array(arguments.length);for(var i=0;i<arguments.length;++i){s[i]=arguments[i]};return slow(s);}return testInSphere"),e.push(i.join(""));var o=Function.apply(void 0,e);for(t.exports=o.apply(void 0,[d].concat(p)),r=0;r<=6;++r)t.exports[r]=p[r]}()},function(t,n,e){"use strict";var r,i=e(26);function o(t,n,e,r,i,o,a){this.cells=t,this.neighbor=n,this.flags=r,this.constraint=e,this.active=i,this.next=o,this.boundary=a}function a(t,n){return t[0]-n[0]||t[1]-n[1]||t[2]-n[2]}t.exports=function(t,n,e){var r=function(t,n){for(var e=t.cells(),r=e.length,i=0;i<r;++i){var u=(g=e[i])[0],s=g[1],f=g[2];s<f?s<u&&(g[0]=s,g[1]=f,g[2]=u):f<u&&(g[0]=f,g[1]=u,g[2]=s)}e.sort(a);var c=new Array(r);for(i=0;i<c.length;++i)c[i]=0;var l=[],h=[],p=new Array(3*r),d=new Array(3*r),v=null;n&&(v=[]);var m=new o(e,p,d,c,l,h,v);for(i=0;i<r;++i)for(var g=e[i],y=0;y<3;++y){u=g[y],s=g[(y+1)%3];var _=p[3*i+y]=m.locate(s,u,t.opposite(s,u)),b=d[3*i+y]=t.isConstraint(u,s);_<0&&(b?h.push(i):(l.push(i),c[i]=1),n&&v.push([s,u,-1]))}return m}(t,e);if(0===n)return e?r.cells.concat(r.boundary):r.cells;var i=1,u=r.active,s=r.next,f=r.flags,c=r.cells,l=r.constraint,h=r.neighbor;for(;u.length>0||s.length>0;){for(;u.length>0;){var p=u.pop();if(f[p]!==-i){f[p]=i;c[p];for(var d=0;d<3;++d){var v=h[3*p+d];v>=0&&0===f[v]&&(l[3*p+d]?s.push(v):(u.push(v),f[v]=i))}}}var m=s;s=u,u=m,s.length=0,i=-i}var g=function(t,n,e){for(var r=0,i=0;i<t.length;++i)n[i]===e&&(t[r++]=t[i]);return t.length=r,t}(c,f,n);if(e)return g.concat(r.boundary);return g},o.prototype.locate=(r=[0,0,0],function(t,n,e){var o=t,u=n,s=e;return n<e?n<t&&(o=n,u=e,s=t):e<t&&(o=e,u=t,s=n),o<0?-1:(r[0]=o,r[1]=u,r[2]=s,i.eq(this.cells,r,a))})},function(t,n,e){"use strict";t.exports=function(t,n){var e=f(t,n);t=e[0];for(var l=(n=e[1]).length,h=(t.length,r(t,n.length)),p=0;p<l;++p)if(h[p].length%2==1)throw new Error("planar-graph-to-polyline: graph must be manifold");var d=i(t,n);var v=(d=d.filter((function(t){for(var e=t.length,r=[0],i=0;i<e;++i){var o=n[t[i]],s=n[t[(i+1)%e]],f=a(-o[0],o[1]),c=a(-o[0],s[1]),l=a(s[0],o[1]),h=a(s[0],s[1]);r=u(r,u(u(f,c),u(l,h)))}return r[r.length-1]>0}))).length,m=new Array(v),g=new Array(v);for(p=0;p<v;++p){m[p]=p;var y=new Array(v),_=d[p].map((function(t){return n[t]})),b=o([_]),x=0;t:for(var w=0;w<v;++w)if(y[w]=0,p!==w){for(var M=(H=d[w]).length,k=0;k<M;++k){var A=b(n[H[k]]);if(0!==A){A<0&&(y[w]=1,x+=1);continue t}}y[w]=1,x+=1}g[p]=[x,p,y]}g.sort((function(t,n){return n[0]-t[0]}));for(p=0;p<v;++p){var z=(y=g[p])[1],E=y[2];for(w=0;w<v;++w)E[w]&&(m[w]=z)}var S=function(t){for(var n=new Array(t),e=0;e<t;++e)n[e]=[];return n}(v);for(p=0;p<v;++p)S[p].push(m[p]),S[m[p]].push(p);var N={},T=c(l,!1);for(p=0;p<v;++p)for(M=(H=d[p]).length,w=0;w<M;++w){var C=H[w],j=H[(w+1)%M],O=Math.min(C,j)+":"+Math.max(C,j);if(O in N){var P=N[O];S[P].push(p),S[p].push(P),T[C]=T[j]=!0}else N[O]=p}function B(t){for(var n=t.length,e=0;e<n;++e)if(!T[t[e]])return!1;return!0}var R=[],I=c(v,-1);for(p=0;p<v;++p)m[p]!==p||B(d[p])?I[p]=-1:(R.push(p),I[p]=0);e=[];for(;R.length>0;){var D=R.pop(),F=S[D];s(F,(function(t,n){return t-n}));var U,L=F.length,q=I[D];if(0===q){var H=d[D];U=[H]}for(p=0;p<L;++p){var Y=F[p];if(!(I[Y]>=0))if(I[Y]=1^q,R.push(Y),0===q)B(H=d[Y])||(H.reverse(),U.push(H))}0===q&&e.push(U)}return e};var r=e(71),i=e(209),o=e(213),a=e(24),u=e(14),s=e(31),f=e(221);function c(t,n){for(var e=new Array(t),r=0;r<t;++r)e[r]=n;return e}},function(t,n,e){"use strict";t.exports=function(t,n){for(var e=0|n.length,i=t.length,o=[new Array(e),new Array(e)],a=0;a<e;++a)o[0][a]=[],o[1][a]=[];for(a=0;a<i;++a){var u=t[a];o[0][u[0]].push(u),o[1][u[1]].push(u)}var s=[];for(a=0;a<e;++a)o[0][a].length+o[1][a].length===0&&s.push([a]);function f(t,n){var e=o[n][t[n]];e.splice(e.indexOf(t),1)}function c(t,e,i){for(var a,u,s,c=0;c<2;++c)if(o[c][e].length>0){a=o[c][e][0],s=c;break}u=a[1^s];for(var l=0;l<2;++l)for(var h=o[l][e],p=0;p<h.length;++p){var d=h[p],v=d[1^l];r(n[t],n[e],n[u],n[v])>0&&(a=d,u=v,s=l)}return i?u:(a&&f(a,s),u)}function l(t,e){var i=o[e][t][0],a=[t];f(i,e);for(var u=i[1^e];;){for(;u!==t;)a.push(u),u=c(a[a.length-2],u,!1);if(o[0][t].length+o[1][t].length===0)break;var s=a[a.length-1],l=t,h=a[1],p=c(s,l,!0);if(r(n[s],n[l],n[h],n[p])<0)break;a.push(t),u=c(s,l)}return a}function h(t,n){return n[1]===n[n.length-1]}for(a=0;a<e;++a)for(var p=0;p<2;++p){for(var d=[];o[p][a].length>0;){o[0][a].length;var v=l(a,p);h(0,v)?d.push.apply(d,v):(d.length>0&&s.push(d),d=v)}d.length>0&&s.push(d)}return s};var r=e(210)},function(t,n,e){"use strict";t.exports=function(t,n,e,o){var a=r(n,e,o);if(0===a){var u=i(r(t,n,e)),f=i(r(t,n,o));if(u===f){if(0===u){var c=s(t,n,e),l=s(t,n,o);return c===l?0:c?1:-1}return 0}return 0===f?u>0?-1:s(t,n,o)?-1:1:0===u?f>0?1:s(t,n,e)?1:-1:i(f-u)}var h=r(t,n,e);return h>0?a>0&&r(t,n,o)>0?1:-1:h<0?a>0||r(t,n,o)>0?1:-1:r(t,n,o)>0?1:s(t,n,e)?1:-1};var r=e(8),i=e(211),o=e(62),a=e(212),u=e(14);function s(t,n,e){var r=o(t[0],-n[0]),i=o(t[1],-n[1]),s=o(e[0],-n[0]),f=o(e[1],-n[1]),c=u(a(r,s),a(i,f));return c[c.length-1]>=0}},function(t,n,e){"use strict";t.exports=function(t){return t<0?-1:t>0?1:0}},function(t,n,e){"use strict";var r=e(14),i=e(32);t.exports=function(t,n){if(1===t.length)return i(n,t[0]);if(1===n.length)return i(t,n[0]);if(0===t.length||0===n.length)return[0];var e=[0];if(t.length<n.length)for(var o=0;o<t.length;++o)e=r(e,i(n,t[o]));else for(o=0;o<n.length;++o)e=r(e,i(t,n[o]));return e}},function(t,n,e){t.exports=function(t){for(var n=t.length,e=[],o=[],u=0;u<n;++u)for(var c=t[u],l=c.length,h=l-1,p=0;p<l;h=p++){var d=c[h],v=c[p];d[0]===v[0]?o.push([d,v]):e.push([d,v])}if(0===e.length)return 0===o.length?f:(m=s(o),function(t){return m(t[0],t[1])?0:1});var m;var g=i(e),y=function(t,n){return function(e){var i=a.le(n,e[0]);if(i<0)return 1;var o=t[i];if(!o){if(!(i>0&&n[i]===e[0]))return 1;o=t[i-1]}for(var u=1;o;){var s=o.key,f=r(e,s[0],s[1]);if(s[0][0]<s[1][0])if(f<0)o=o.left;else{if(!(f>0))return 0;u=-1,o=o.right}else if(f>0)o=o.left;else{if(!(f<0))return 0;u=1,o=o.right}}return u}}(g.slabs,g.coordinates);return 0===o.length?y:function(t,n){return function(e){return t(e[0],e[1])?0:n(e)}}(s(o),y)};var r=e(8)[3],i=e(214),o=e(218),a=e(220);function u(){return!0}function s(t){for(var n={},e=0;e<t.length;++e){var r=t[e],i=r[0][0],a=r[0][1],s=r[1][1],f=[Math.min(a,s),Math.max(a,s)];i in n?n[i].push(f):n[i]=[f]}var c={},l=Object.keys(n);for(e=0;e<l.length;++e){var h=n[l[e]];c[l[e]]=o(h)}return function(t){return function(n,e){var r=t[n];return!!r&&!!r.queryPoint(e,u)}}(c)}function f(t){return 1}},function(t,n,e){"use strict";t.exports=function(t){for(var n=t.length,e=2*n,r=new Array(e),o=0;o<n;++o){var s=t[o],f=s[0][0]<s[1][0];r[2*o]=new l(s[0][0],s,f,o),r[2*o+1]=new l(s[1][0],s,!f,o)}r.sort((function(t,n){var e=t.x-n.x;return e||((e=t.create-n.create)||Math.min(t.segment[0][1],t.segment[1][1])-Math.min(n.segment[0][1],n.segment[1][1]))}));var h=i(a),p=[],d=[],v=[];for(o=0;o<e;){for(var m=r[o].x,g=[];o<e;){var y=r[o];if(y.x!==m)break;o+=1,y.segment[0][0]===y.x&&y.segment[1][0]===y.x?y.create&&(y.segment[0][1]<y.segment[1][1]?(g.push(new c(y.segment[0][1],y.index,!0,!0)),g.push(new c(y.segment[1][1],y.index,!1,!1))):(g.push(new c(y.segment[1][1],y.index,!0,!1)),g.push(new c(y.segment[0][1],y.index,!1,!0)))):h=y.create?h.insert(y.segment,y.index):h.remove(y.segment)}p.push(h.root),d.push(m),v.push(g)}return new u(p,d,v)};var r=e(215),i=e(216),o=e(8),a=e(217);function u(t,n,e){this.slabs=t,this.coordinates=n,this.horizontal=e}function s(t,n){return t.y-n}function f(t,n){for(var e=null;t;){var r,i,a=t.key;a[0][0]<a[1][0]?(r=a[0],i=a[1]):(r=a[1],i=a[0]);var u=o(r,i,n);if(u<0)t=t.left;else if(u>0)if(n[0]!==a[1][0])e=t,t=t.right;else{if(s=f(t.right,n))return s;t=t.left}else{if(n[0]!==a[1][0])return t;var s;if(s=f(t.right,n))return s;t=t.left}}return e}function c(t,n,e,r){this.y=t,this.index=n,this.start=e,this.closed=r}function l(t,n,e,r){this.x=t,this.segment=n,this.create=e,this.index=r}u.prototype.castUp=function(t){var n=r.le(this.coordinates,t[0]);if(n<0)return-1;this.slabs[n];var e=f(this.slabs[n],t),i=-1;if(e&&(i=e.value),this.coordinates[n]===t[0]){var u=null;if(e&&(u=e.key),n>0){var c=f(this.slabs[n-1],t);c&&(u?a(c.key,u)>0&&(u=c.key,i=c.value):(i=c.value,u=c.key))}var l=this.horizontal[n];if(l.length>0){var h=r.ge(l,t[1],s);if(h<l.length){var p=l[h];if(t[1]===p.y){if(p.closed)return p.index;for(;h<l.length-1&&l[h+1].y===t[1];)if((p=l[h+=1]).closed)return p.index;if(p.y===t[1]&&!p.start){if((h+=1)>=l.length)return i;p=l[h]}}if(p.start)if(u){var d=o(u[0],u[1],[t[0],p.y]);u[0][0]>u[1][0]&&(d=-d),d>0&&(i=p.index)}else i=p.index;else p.y!==t[1]&&(i=p.index)}}}return i}},function(t,n,e){"use strict";function r(t,n,e,r,i,o){var a=["function ",t,"(a,l,h,",r.join(","),"){",o?"":"var i=",e?"l-1":"h+1",";while(l<=h){var m=(l+h)>>>1,x=a",i?".get(m)":"[m]"];return o?n.indexOf("c")<0?a.push(";if(x===y){return m}else if(x<=y){"):a.push(";var p=c(x,y);if(p===0){return m}else if(p<=0){"):a.push(";if(",n,"){i=m;"),e?a.push("l=m+1}else{h=m-1}"):a.push("h=m-1}else{l=m+1}"),a.push("}"),o?a.push("return -1};"):a.push("return i};"),a.join("")}function i(t,n,e,i){return new Function([r("A","x"+t+"y",n,["y"],!1,i),r("B","x"+t+"y",n,["y"],!0,i),r("P","c(x,y)"+t+"0",n,["y","c"],!1,i),r("Q","c(x,y)"+t+"0",n,["y","c"],!0,i),"function dispatchBsearch",e,"(a,y,c,l,h){if(a.shape){if(typeof(c)==='function'){return Q(a,(l===undefined)?0:l|0,(h===undefined)?a.shape[0]-1:h|0,y,c)}else{return B(a,(c===undefined)?0:c|0,(l===undefined)?a.shape[0]-1:l|0,y)}}else{if(typeof(c)==='function'){return P(a,(l===undefined)?0:l|0,(h===undefined)?a.length-1:h|0,y,c)}else{return A(a,(c===undefined)?0:c|0,(l===undefined)?a.length-1:l|0,y)}}}return dispatchBsearch",e].join(""))()}t.exports={ge:i(">=",!1,"GE"),gt:i(">",!1,"GT"),lt:i("<",!0,"LT"),le:i("<=",!0,"LE"),eq:i("-",!0,"EQ",!0)}},function(t,n,e){"use strict";t.exports=function(t){return new u(t||v,null)};function r(t,n,e,r,i,o){this._color=t,this.key=n,this.value=e,this.left=r,this.right=i,this._count=o}function i(t){return new r(t._color,t.key,t.value,t.left,t.right,t._count)}function o(t,n){return new r(t,n.key,n.value,n.left,n.right,n._count)}function a(t){t._count=1+(t.left?t.left._count:0)+(t.right?t.right._count:0)}function u(t,n){this._compare=t,this.root=n}var s=u.prototype;function f(t,n){var e;if(n.left&&(e=f(t,n.left)))return e;return(e=t(n.key,n.value))||(n.right?f(t,n.right):void 0)}function c(t,n,e,r){if(n(t,r.key)<=0){var i;if(r.left)if(i=c(t,n,e,r.left))return i;if(i=e(r.key,r.value))return i}if(r.right)return c(t,n,e,r.right)}function l(t,n,e,r,i){var o,a=e(t,i.key),u=e(n,i.key);if(a<=0){if(i.left&&(o=l(t,n,e,r,i.left)))return o;if(u>0&&(o=r(i.key,i.value)))return o}if(u>0&&i.right)return l(t,n,e,r,i.right)}function h(t,n){this.tree=t,this._stack=n}Object.defineProperty(s,"keys",{get:function(){var t=[];return this.forEach((function(n,e){t.push(n)})),t}}),Object.defineProperty(s,"values",{get:function(){var t=[];return this.forEach((function(n,e){t.push(e)})),t}}),Object.defineProperty(s,"length",{get:function(){return this.root?this.root._count:0}}),s.insert=function(t,n){for(var e=this._compare,i=this.root,s=[],f=[];i;){var c=e(t,i.key);s.push(i),f.push(c),i=c<=0?i.left:i.right}s.push(new r(0,t,n,null,null,1));for(var l=s.length-2;l>=0;--l){i=s[l];f[l]<=0?s[l]=new r(i._color,i.key,i.value,s[l+1],i.right,i._count+1):s[l]=new r(i._color,i.key,i.value,i.left,s[l+1],i._count+1)}for(l=s.length-1;l>1;--l){var h=s[l-1];i=s[l];if(1===h._color||1===i._color)break;var p=s[l-2];if(p.left===h)if(h.left===i){if(!(d=p.right)||0!==d._color){if(p._color=0,p.left=h.right,h._color=1,h.right=p,s[l-2]=h,s[l-1]=i,a(p),a(h),l>=3)(v=s[l-3]).left===p?v.left=h:v.right=h;break}h._color=1,p.right=o(1,d),p._color=0,l-=1}else{if(!(d=p.right)||0!==d._color){if(h.right=i.left,p._color=0,p.left=i.right,i._color=1,i.left=h,i.right=p,s[l-2]=i,s[l-1]=h,a(p),a(h),a(i),l>=3)(v=s[l-3]).left===p?v.left=i:v.right=i;break}h._color=1,p.right=o(1,d),p._color=0,l-=1}else if(h.right===i){if(!(d=p.left)||0!==d._color){if(p._color=0,p.right=h.left,h._color=1,h.left=p,s[l-2]=h,s[l-1]=i,a(p),a(h),l>=3)(v=s[l-3]).right===p?v.right=h:v.left=h;break}h._color=1,p.left=o(1,d),p._color=0,l-=1}else{var d;if(!(d=p.left)||0!==d._color){var v;if(h.left=i.right,p._color=0,p.right=i.left,i._color=1,i.right=h,i.left=p,s[l-2]=i,s[l-1]=h,a(p),a(h),a(i),l>=3)(v=s[l-3]).right===p?v.right=i:v.left=i;break}h._color=1,p.left=o(1,d),p._color=0,l-=1}}return s[0]._color=1,new u(e,s[0])},s.forEach=function(t,n,e){if(this.root)switch(arguments.length){case 1:return f(t,this.root);case 2:return c(n,this._compare,t,this.root);case 3:if(this._compare(n,e)>=0)return;return l(n,e,this._compare,t,this.root)}},Object.defineProperty(s,"begin",{get:function(){for(var t=[],n=this.root;n;)t.push(n),n=n.left;return new h(this,t)}}),Object.defineProperty(s,"end",{get:function(){for(var t=[],n=this.root;n;)t.push(n),n=n.right;return new h(this,t)}}),s.at=function(t){if(t<0)return new h(this,[]);for(var n=this.root,e=[];;){if(e.push(n),n.left){if(t<n.left._count){n=n.left;continue}t-=n.left._count}if(!t)return new h(this,e);if(t-=1,!n.right)break;if(t>=n.right._count)break;n=n.right}return new h(this,[])},s.ge=function(t){for(var n=this._compare,e=this.root,r=[],i=0;e;){var o=n(t,e.key);r.push(e),o<=0&&(i=r.length),e=o<=0?e.left:e.right}return r.length=i,new h(this,r)},s.gt=function(t){for(var n=this._compare,e=this.root,r=[],i=0;e;){var o=n(t,e.key);r.push(e),o<0&&(i=r.length),e=o<0?e.left:e.right}return r.length=i,new h(this,r)},s.lt=function(t){for(var n=this._compare,e=this.root,r=[],i=0;e;){var o=n(t,e.key);r.push(e),o>0&&(i=r.length),e=o<=0?e.left:e.right}return r.length=i,new h(this,r)},s.le=function(t){for(var n=this._compare,e=this.root,r=[],i=0;e;){var o=n(t,e.key);r.push(e),o>=0&&(i=r.length),e=o<0?e.left:e.right}return r.length=i,new h(this,r)},s.find=function(t){for(var n=this._compare,e=this.root,r=[];e;){var i=n(t,e.key);if(r.push(e),0===i)return new h(this,r);e=i<=0?e.left:e.right}return new h(this,[])},s.remove=function(t){var n=this.find(t);return n?n.remove():this},s.get=function(t){for(var n=this._compare,e=this.root;e;){var r=n(t,e.key);if(0===r)return e.value;e=r<=0?e.left:e.right}};var p=h.prototype;function d(t,n){t.key=n.key,t.value=n.value,t.left=n.left,t.right=n.right,t._color=n._color,t._count=n._count}function v(t,n){return t<n?-1:t>n?1:0}Object.defineProperty(p,"valid",{get:function(){return this._stack.length>0}}),Object.defineProperty(p,"node",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),p.clone=function(){return new h(this.tree,this._stack.slice())},p.remove=function(){var t=this._stack;if(0===t.length)return this.tree;var n=new Array(t.length),e=t[t.length-1];n[n.length-1]=new r(e._color,e.key,e.value,e.left,e.right,e._count);for(var s=t.length-2;s>=0;--s){(e=t[s]).left===t[s+1]?n[s]=new r(e._color,e.key,e.value,n[s+1],e.right,e._count):n[s]=new r(e._color,e.key,e.value,e.left,n[s+1],e._count)}if((e=n[n.length-1]).left&&e.right){var f=n.length;for(e=e.left;e.right;)n.push(e),e=e.right;var c=n[f-1];n.push(new r(e._color,c.key,c.value,e.left,e.right,e._count)),n[f-1].key=e.key,n[f-1].value=e.value;for(s=n.length-2;s>=f;--s)e=n[s],n[s]=new r(e._color,e.key,e.value,e.left,n[s+1],e._count);n[f-1].left=n[f]}if(0===(e=n[n.length-1])._color){var l=n[n.length-2];l.left===e?l.left=null:l.right===e&&(l.right=null),n.pop();for(s=0;s<n.length;++s)n[s]._count--;return new u(this.tree._compare,n[0])}if(e.left||e.right){e.left?d(e,e.left):e.right&&d(e,e.right),e._color=1;for(s=0;s<n.length-1;++s)n[s]._count--;return new u(this.tree._compare,n[0])}if(1===n.length)return new u(this.tree._compare,null);for(s=0;s<n.length;++s)n[s]._count--;var h=n[n.length-2];return function(t){for(var n,e,r,u,s=t.length-1;s>=0;--s){if(n=t[s],0===s)return void(n._color=1);if((e=t[s-1]).left===n){if((r=e.right).right&&0===r.right._color){if(u=(r=e.right=i(r)).right=i(r.right),e.right=r.left,r.left=e,r.right=u,r._color=e._color,n._color=1,e._color=1,u._color=1,a(e),a(r),s>1)(f=t[s-2]).left===e?f.left=r:f.right=r;return void(t[s-1]=r)}if(r.left&&0===r.left._color){if(u=(r=e.right=i(r)).left=i(r.left),e.right=u.left,r.left=u.right,u.left=e,u.right=r,u._color=e._color,e._color=1,r._color=1,n._color=1,a(e),a(r),a(u),s>1)(f=t[s-2]).left===e?f.left=u:f.right=u;return void(t[s-1]=u)}if(1===r._color){if(0===e._color)return e._color=1,void(e.right=o(0,r));e.right=o(0,r);continue}r=i(r),e.right=r.left,r.left=e,r._color=e._color,e._color=0,a(e),a(r),s>1&&((f=t[s-2]).left===e?f.left=r:f.right=r),t[s-1]=r,t[s]=e,s+1<t.length?t[s+1]=n:t.push(n),s+=2}else{if((r=e.left).left&&0===r.left._color){if(u=(r=e.left=i(r)).left=i(r.left),e.left=r.right,r.right=e,r.left=u,r._color=e._color,n._color=1,e._color=1,u._color=1,a(e),a(r),s>1)(f=t[s-2]).right===e?f.right=r:f.left=r;return void(t[s-1]=r)}if(r.right&&0===r.right._color){if(u=(r=e.left=i(r)).right=i(r.right),e.left=u.right,r.right=u.left,u.right=e,u.left=r,u._color=e._color,e._color=1,r._color=1,n._color=1,a(e),a(r),a(u),s>1)(f=t[s-2]).right===e?f.right=u:f.left=u;return void(t[s-1]=u)}if(1===r._color){if(0===e._color)return e._color=1,void(e.left=o(0,r));e.left=o(0,r);continue}var f;r=i(r),e.left=r.right,r.right=e,r._color=e._color,e._color=0,a(e),a(r),s>1&&((f=t[s-2]).right===e?f.right=r:f.left=r),t[s-1]=r,t[s]=e,s+1<t.length?t[s+1]=n:t.push(n),s+=2}}}(n),h.left===e?h.left=null:h.right=null,new u(this.tree._compare,n[0])},Object.defineProperty(p,"key",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(p,"value",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(p,"index",{get:function(){var t=0,n=this._stack;if(0===n.length){var e=this.tree.root;return e?e._count:0}n[n.length-1].left&&(t=n[n.length-1].left._count);for(var r=n.length-2;r>=0;--r)n[r+1]===n[r].right&&(++t,n[r].left&&(t+=n[r].left._count));return t},enumerable:!0}),p.next=function(){var t=this._stack;if(0!==t.length){var n=t[t.length-1];if(n.right)for(n=n.right;n;)t.push(n),n=n.left;else for(t.pop();t.length>0&&t[t.length-1].right===n;)n=t[t.length-1],t.pop()}},Object.defineProperty(p,"hasNext",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].right)return!0;for(var n=t.length-1;n>0;--n)if(t[n-1].left===t[n])return!0;return!1}}),p.update=function(t){var n=this._stack;if(0===n.length)throw new Error("Can't update empty node!");var e=new Array(n.length),i=n[n.length-1];e[e.length-1]=new r(i._color,i.key,t,i.left,i.right,i._count);for(var o=n.length-2;o>=0;--o)(i=n[o]).left===n[o+1]?e[o]=new r(i._color,i.key,i.value,e[o+1],i.right,i._count):e[o]=new r(i._color,i.key,i.value,i.left,e[o+1],i._count);return new u(this.tree._compare,e[0])},p.prev=function(){var t=this._stack;if(0!==t.length){var n=t[t.length-1];if(n.left)for(n=n.left;n;)t.push(n),n=n.right;else for(t.pop();t.length>0&&t[t.length-1].left===n;)n=t[t.length-1],t.pop()}},Object.defineProperty(p,"hasPrev",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].left)return!0;for(var n=t.length-1;n>0;--n)if(t[n-1].right===t[n])return!0;return!1}})},function(t,n,e){"use strict";t.exports=function(t,n){var e,o,a,u;if(n[0][0]<n[1][0])e=n[0],o=n[1];else{if(!(n[0][0]>n[1][0]))return i(n,t);e=n[1],o=n[0]}if(t[0][0]<t[1][0])a=t[0],u=t[1];else{if(!(t[0][0]>t[1][0]))return-i(t,n);a=t[1],u=t[0]}var s=r(e,o,u),f=r(e,o,a);if(s<0){if(f<=0)return s}else if(s>0){if(f>=0)return s}else if(f)return f;if(s=r(u,a,o),f=r(u,a,e),s<0){if(f<=0)return s}else if(s>0){if(f>=0)return s}else if(f)return f;return o[0]-u[0]};var r=e(8);function i(t,n){var e,i,o,a;if(n[0][0]<n[1][0])e=n[0],i=n[1];else{if(!(n[0][0]>n[1][0])){var u=Math.min(t[0][1],t[1][1]),s=Math.max(t[0][1],t[1][1]),f=Math.min(n[0][1],n[1][1]),c=Math.max(n[0][1],n[1][1]);return s<f?s-f:u>c?u-c:s-c}e=n[1],i=n[0]}t[0][1]<t[1][1]?(o=t[0],a=t[1]):(o=t[1],a=t[0]);var l=r(i,e,o);return l||((l=r(i,e,a))||a-i)}},function(t,n,e){"use strict";var r=e(219);function i(t,n,e,r,i){this.mid=t,this.left=n,this.right=e,this.leftPoints=r,this.rightPoints=i,this.count=(n?n.count:0)+(e?e.count:0)+r.length}t.exports=function(t){if(!t||0===t.length)return new g(null);return new g(m(t))};var o=i.prototype;function a(t,n){t.mid=n.mid,t.left=n.left,t.right=n.right,t.leftPoints=n.leftPoints,t.rightPoints=n.rightPoints,t.count=n.count}function u(t,n){var e=m(n);t.mid=e.mid,t.left=e.left,t.right=e.right,t.leftPoints=e.leftPoints,t.rightPoints=e.rightPoints,t.count=e.count}function s(t,n){var e=t.intervals([]);e.push(n),u(t,e)}function f(t,n){var e=t.intervals([]),r=e.indexOf(n);return r<0?0:(e.splice(r,1),u(t,e),1)}function c(t,n,e){for(var r=0;r<t.length&&t[r][0]<=n;++r){var i=e(t[r]);if(i)return i}}function l(t,n,e){for(var r=t.length-1;r>=0&&t[r][1]>=n;--r){var i=e(t[r]);if(i)return i}}function h(t,n){for(var e=0;e<t.length;++e){var r=n(t[e]);if(r)return r}}function p(t,n){return t-n}function d(t,n){var e=t[0]-n[0];return e||t[1]-n[1]}function v(t,n){var e=t[1]-n[1];return e||t[0]-n[0]}function m(t){if(0===t.length)return null;for(var n=[],e=0;e<t.length;++e)n.push(t[e][0],t[e][1]);n.sort(p);var r=n[n.length>>1],o=[],a=[],u=[];for(e=0;e<t.length;++e){var s=t[e];s[1]<r?o.push(s):r<s[0]?a.push(s):u.push(s)}var f=u,c=u.slice();return f.sort(d),c.sort(v),new i(r,m(o),m(a),f,c)}function g(t){this.root=t}o.intervals=function(t){return t.push.apply(t,this.leftPoints),this.left&&this.left.intervals(t),this.right&&this.right.intervals(t),t},o.insert=function(t){var n=this.count-this.leftPoints.length;if(this.count+=1,t[1]<this.mid)this.left?4*(this.left.count+1)>3*(n+1)?s(this,t):this.left.insert(t):this.left=m([t]);else if(t[0]>this.mid)this.right?4*(this.right.count+1)>3*(n+1)?s(this,t):this.right.insert(t):this.right=m([t]);else{var e=r.ge(this.leftPoints,t,d),i=r.ge(this.rightPoints,t,v);this.leftPoints.splice(e,0,t),this.rightPoints.splice(i,0,t)}},o.remove=function(t){var n=this.count-this.leftPoints;if(t[1]<this.mid)return this.left?4*(this.right?this.right.count:0)>3*(n-1)?f(this,t):2===(u=this.left.remove(t))?(this.left=null,this.count-=1,1):(1===u&&(this.count-=1),u):0;if(t[0]>this.mid)return this.right?4*(this.left?this.left.count:0)>3*(n-1)?f(this,t):2===(u=this.right.remove(t))?(this.right=null,this.count-=1,1):(1===u&&(this.count-=1),u):0;if(1===this.count)return this.leftPoints[0]===t?2:0;if(1===this.leftPoints.length&&this.leftPoints[0]===t){if(this.left&&this.right){for(var e=this,i=this.left;i.right;)e=i,i=i.right;if(e===this)i.right=this.right;else{var o=this.left,u=this.right;e.count-=i.count,e.right=i.left,i.left=o,i.right=u}a(this,i),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?a(this,this.left):a(this,this.right);return 1}for(o=r.ge(this.leftPoints,t,d);o<this.leftPoints.length&&this.leftPoints[o][0]===t[0];++o)if(this.leftPoints[o]===t){this.count-=1,this.leftPoints.splice(o,1);for(u=r.ge(this.rightPoints,t,v);u<this.rightPoints.length&&this.rightPoints[u][1]===t[1];++u)if(this.rightPoints[u]===t)return this.rightPoints.splice(u,1),1}return 0},o.queryPoint=function(t,n){if(t<this.mid){if(this.left)if(e=this.left.queryPoint(t,n))return e;return c(this.leftPoints,t,n)}if(t>this.mid){var e;if(this.right)if(e=this.right.queryPoint(t,n))return e;return l(this.rightPoints,t,n)}return h(this.leftPoints,n)},o.queryInterval=function(t,n,e){var r;if(t<this.mid&&this.left&&(r=this.left.queryInterval(t,n,e)))return r;if(n>this.mid&&this.right&&(r=this.right.queryInterval(t,n,e)))return r;return n<this.mid?c(this.leftPoints,n,e):t>this.mid?l(this.rightPoints,t,e):h(this.leftPoints,e)};var y=g.prototype;y.insert=function(t){this.root?this.root.insert(t):this.root=new i(t[0],null,null,[t],[t])},y.remove=function(t){if(this.root){var n=this.root.remove(t);return 2===n&&(this.root=null),0!==n}return!1},y.queryPoint=function(t,n){if(this.root)return this.root.queryPoint(t,n)},y.queryInterval=function(t,n,e){if(t<=n&&this.root)return this.root.queryInterval(t,n,e)},Object.defineProperty(y,"count",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(y,"intervals",{get:function(){return this.root?this.root.intervals([]):[]}})},function(t,n,e){"use strict";function r(t,n,e,r,i,o){var a=["function ",t,"(a,l,h,",r.join(","),"){",o?"":"var i=",e?"l-1":"h+1",";while(l<=h){var m=(l+h)>>>1,x=a",i?".get(m)":"[m]"];return o?n.indexOf("c")<0?a.push(";if(x===y){return m}else if(x<=y){"):a.push(";var p=c(x,y);if(p===0){return m}else if(p<=0){"):a.push(";if(",n,"){i=m;"),e?a.push("l=m+1}else{h=m-1}"):a.push("h=m-1}else{l=m+1}"),a.push("}"),o?a.push("return -1};"):a.push("return i};"),a.join("")}function i(t,n,e,i){return new Function([r("A","x"+t+"y",n,["y"],!1,i),r("B","x"+t+"y",n,["y"],!0,i),r("P","c(x,y)"+t+"0",n,["y","c"],!1,i),r("Q","c(x,y)"+t+"0",n,["y","c"],!0,i),"function dispatchBsearch",e,"(a,y,c,l,h){if(a.shape){if(typeof(c)==='function'){return Q(a,(l===undefined)?0:l|0,(h===undefined)?a.shape[0]-1:h|0,y,c)}else{return B(a,(c===undefined)?0:c|0,(l===undefined)?a.shape[0]-1:l|0,y)}}else{if(typeof(c)==='function'){return P(a,(l===undefined)?0:l|0,(h===undefined)?a.length-1:h|0,y,c)}else{return A(a,(c===undefined)?0:c|0,(l===undefined)?a.length-1:l|0,y)}}}return dispatchBsearch",e].join(""))()}t.exports={ge:i(">=",!1,"GE"),gt:i(">",!1,"GT"),lt:i("<",!0,"LT"),le:i("<=",!0,"LE"),eq:i("-",!0,"EQ",!0)}},function(t,n,e){"use strict";function r(t,n,e,r,i,o){var a=["function ",t,"(a,l,h,",r.join(","),"){",o?"":"var i=",e?"l-1":"h+1",";while(l<=h){var m=(l+h)>>>1,x=a",i?".get(m)":"[m]"];return o?n.indexOf("c")<0?a.push(";if(x===y){return m}else if(x<=y){"):a.push(";var p=c(x,y);if(p===0){return m}else if(p<=0){"):a.push(";if(",n,"){i=m;"),e?a.push("l=m+1}else{h=m-1}"):a.push("h=m-1}else{l=m+1}"),a.push("}"),o?a.push("return -1};"):a.push("return i};"),a.join("")}function i(t,n,e,i){return new Function([r("A","x"+t+"y",n,["y"],!1,i),r("B","x"+t+"y",n,["y"],!0,i),r("P","c(x,y)"+t+"0",n,["y","c"],!1,i),r("Q","c(x,y)"+t+"0",n,["y","c"],!0,i),"function dispatchBsearch",e,"(a,y,c,l,h){if(a.shape){if(typeof(c)==='function'){return Q(a,(l===undefined)?0:l|0,(h===undefined)?a.shape[0]-1:h|0,y,c)}else{return B(a,(c===undefined)?0:c|0,(l===undefined)?a.shape[0]-1:l|0,y)}}else{if(typeof(c)==='function'){return P(a,(l===undefined)?0:l|0,(h===undefined)?a.length-1:h|0,y,c)}else{return A(a,(c===undefined)?0:c|0,(l===undefined)?a.length-1:l|0,y)}}}return dispatchBsearch",e].join(""))()}t.exports={ge:i(">=",!1,"GE"),gt:i(">",!1,"GT"),lt:i("<",!0,"LT"),le:i("<=",!0,"LE"),eq:i("-",!0,"EQ",!0)}},function(t,n,e){"use strict";t.exports=function(t,n){for(var e=r(t,n.length),i=new Array(n.length),o=new Array(n.length),a=[],u=0;u<n.length;++u){var s=e[u].length;o[u]=s,i[u]=!0,s<=1&&a.push(u)}for(;a.length>0;){var f=a.pop();i[f]=!1;var c=e[f];for(u=0;u<c.length;++u){var l=c[u];0==--o[l]&&a.push(l)}}var h=new Array(n.length),p=[];for(u=0;u<n.length;++u)if(i[u]){f=p.length;h[u]=f,p.push(n[u])}else h[u]=-1;var d=[];for(u=0;u<t.length;++u){var v=t[u];i[v[0]]&&i[v[1]]&&d.push([h[v[0]],h[v[1]]])}return[d,p]};var r=e(71)},function(t,n){t.exports=function(t){var n="row",e=t.labels["num_"+n];n="col";var r=t.labels["num_"+n],i=t.max_zoom,o={x:{}};o.x.max=i,o.x.min=1,o.x.ratio=1,o.y={},o.y.max=i,o.y.min=1,o.y.ratio=1;var a=r/t.viz_dim.heat.width/(e/t.viz_dim.heat.height);return e>r?(o.y.max=o.y.max*(1/a),o.y.ratio=1/a):(o.x.max=o.x.max*a,o.x.ratio=a),o}},function(t,n,e){var r=e(74),i=e(30),o=e(242),a=e(76),u=e(265);o.viewport=function(t,n,e,r,i,o,a){return t[0]=.5*r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=.5*i,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=.5*(a-o),t[11]=0,t[12]=n+.5*r,t[13]=e+.5*i,t[14]=.5*(a+o),t[15]=1,t},t.exports=function(t,n,e,s,f){var c=i({element:(e=e||{}).element||t._gl.canvas},e||{}).element,l=!0,h=c===window?function(){return c.innerWidth}:function(){return c.offsetWidth},p=c===window?function(){return c.innerHeight}:function(){return c.offsetHeight},d=void 0===e.xrange?[-1,1]:e.xrange,v=void 0===e.yrange?[-1,1]:e.yrange,m=void 0===e.aspectRatio?1:e.aspectRatio,g=h(),y=p(),_=.5*(d[1]+d[0])+n.viz_dim.shift_camera.x,b=.5*(v[1]+v[0])+n.viz_dim.shift_camera.y,x=.5*(d[1]-d[0]),w=x/m/g*y,M=o.identity([]);M[0]=1/x,M[5]=1/w,M[12]=-_/x,M[13]=-b/w;var k=o.identity([]),A=o.identity([]);function z(){g=h(),y=p(),o.viewport(k,0,y,g,-y,0,1),o.invert(A,k)}z();var E=[],S=new a;r({element:c}).on("interactionstart",(function(t){t.preventDefault()})).on("interactionend",(function(t){t.preventDefault()})).on("interaction",(function(t){n.int.enable_viz_interact&&u(s,t,f,A,o,M,S,E,k)}));var N=t({context:{view:t.prop("view")}});return{draw:function(t){N({view:M},(function(){t({dirty:l})})),l=!1},on:function(t,n){S.on(t,n)},off:function(t,n){S.off(t,n)},taint:function(){l=!0},resize:function(){z(),M[5]=M[0]*m*g/y,l=!0}}}},function(t,n){t.exports=function(t,n){if(!n||"object"!=typeof n)return t;var e=Object.keys(n),r=e.length;for(;r--;)t[e[r]]=n[e[r]];return t}},function(t,n,e){"use strict";t.exports=function(t,n){n||(n=t,t=window);var e=0,i=0,o=0,a={shift:!1,alt:!1,control:!1,meta:!1},u=!1;function s(t){var n=!1;return"altKey"in t&&(n=n||t.altKey!==a.alt,a.alt=!!t.altKey),"shiftKey"in t&&(n=n||t.shiftKey!==a.shift,a.shift=!!t.shiftKey),"ctrlKey"in t&&(n=n||t.ctrlKey!==a.control,a.control=!!t.ctrlKey),"metaKey"in t&&(n=n||t.metaKey!==a.meta,a.meta=!!t.metaKey),n}function f(t,u){var f=r.x(u),c=r.y(u);"buttons"in u&&(t=0|u.buttons),(t!==e||f!==i||c!==o||s(u))&&(e=0|t,i=f||0,o=c||0,n&&n(e,i,o,a))}function c(t){f(0,t)}function l(){(e||i||o||a.shift||a.alt||a.meta||a.control)&&(i=o=0,e=0,a.shift=a.alt=a.control=a.meta=!1,n&&n(0,0,0,a))}function h(t){s(t)&&n&&n(e,i,o,a)}function p(t){0===r.buttons(t)?f(0,t):f(e,t)}function d(t){f(e|r.buttons(t),t)}function v(t){f(e&~r.buttons(t),t)}function m(){u||(u=!0,t.addEventListener("mousemove",p),t.addEventListener("mousedown",d),t.addEventListener("mouseup",v),t.addEventListener("mouseleave",c),t.addEventListener("mouseenter",c),t.addEventListener("mouseout",c),t.addEventListener("mouseover",c),t.addEventListener("blur",l),t.addEventListener("keyup",h),t.addEventListener("keydown",h),t.addEventListener("keypress",h),t!==window&&(window.addEventListener("blur",l),window.addEventListener("keyup",h),window.addEventListener("keydown",h),window.addEventListener("keypress",h)))}m();var g={element:t};return Object.defineProperties(g,{enabled:{get:function(){return u},set:function(n){n?m():function(){if(!u)return;u=!1,t.removeEventListener("mousemove",p),t.removeEventListener("mousedown",d),t.removeEventListener("mouseup",v),t.removeEventListener("mouseleave",c),t.removeEventListener("mouseenter",c),t.removeEventListener("mouseout",c),t.removeEventListener("mouseover",c),t.removeEventListener("blur",l),t.removeEventListener("keyup",h),t.removeEventListener("keydown",h),t.removeEventListener("keypress",h),t!==window&&(window.removeEventListener("blur",l),window.removeEventListener("keyup",h),window.removeEventListener("keydown",h),window.removeEventListener("keypress",h))}()},enumerable:!0},buttons:{get:function(){return e},enumerable:!0},x:{get:function(){return i},enumerable:!0},y:{get:function(){return o},enumerable:!0},mods:{get:function(){return a},enumerable:!0}}),g};var r=e(75)},function(t,n){var e={left:0,top:0};t.exports=function(t,n,r){n=n||t.currentTarget||t.srcElement,Array.isArray(r)||(r=[0,0]);var i=t.clientX||0,o=t.clientY||0,a=(u=n,u===window||u===document||u===document.body?e:u.getBoundingClientRect());var u;return r[0]=i-a.left,r[1]=o-a.top,r}},function(t,n,e){"use strict";var r=e(228),i=e(236),o=e(237),a=e(238);(t.exports=function(t,n){var e,o,u,s,f;return arguments.length<2||"string"!=typeof t?(s=n,n=t,t=null):s=arguments[2],null==t?(e=u=!0,o=!1):(e=a.call(t,"c"),o=a.call(t,"e"),u=a.call(t,"w")),f={value:n,configurable:e,enumerable:o,writable:u},s?r(i(s),f):f}).gs=function(t,n,e){var u,s,f,c;return"string"!=typeof t?(f=e,e=n,n=t,t=null):f=arguments[3],null==n?n=void 0:o(n)?null==e?e=void 0:o(e)||(f=e,e=void 0):(f=n,n=e=void 0),null==t?(u=!0,s=!1):(u=a.call(t,"c"),s=a.call(t,"e")),c={get:n,set:e,configurable:u,enumerable:s},f?r(i(f),c):c}},function(t,n,e){"use strict";t.exports=e(229)()?Object.assign:e(230)},function(t,n,e){"use strict";t.exports=function(){var t,n=Object.assign;return"function"==typeof n&&(n(t={foo:"raz"},{bar:"dwa"},{trzy:"trzy"}),t.foo+t.bar+t.trzy==="razdwatrzy")}},function(t,n,e){"use strict";var r=e(231),i=e(235),o=Math.max;t.exports=function(t,n){var e,a,u,s=o(arguments.length,2);for(t=Object(i(t)),u=function(r){try{t[r]=n[r]}catch(t){e||(e=t)}},a=1;a<s;++a)n=arguments[a],r(n).forEach(u);if(void 0!==e)throw e;return t}},function(t,n,e){"use strict";t.exports=e(232)()?Object.keys:e(233)},function(t,n,e){"use strict";t.exports=function(){try{return Object.keys("primitive"),!0}catch(t){return!1}}},function(t,n,e){"use strict";var r=e(36),i=Object.keys;t.exports=function(t){return i(r(t)?Object(t):t)}},function(t,n,e){"use strict";t.exports=function(){}},function(t,n,e){"use strict";var r=e(36);t.exports=function(t){if(!r(t))throw new TypeError("Cannot use null or undefined");return t}},function(t,n,e){"use strict";var r=e(36),i=Array.prototype.forEach,o=Object.create,a=function(t,n){var e;for(e in t)n[e]=t[e]};t.exports=function(t){var n=o(null);return i.call(arguments,(function(t){r(t)&&a(Object(t),n)})),n}},function(t,n,e){"use strict";t.exports=function(t){return"function"==typeof t}},function(t,n,e){"use strict";t.exports=e(239)()?String.prototype.contains:e(240)},function(t,n,e){"use strict";var r="razdwatrzy";t.exports=function(){return"function"==typeof r.contains&&(!0===r.contains("dwa")&&!1===r.contains("foo"))}},function(t,n,e){"use strict";var r=String.prototype.indexOf;t.exports=function(t){return r.call(this,t,arguments[1])>-1}},function(t,n,e){"use strict";t.exports=function(t){if("function"!=typeof t)throw new TypeError(t+" is not a function");return t}},function(t,n,e){t.exports={create:e(243),clone:e(244),copy:e(245),identity:e(77),transpose:e(246),invert:e(247),adjoint:e(248),determinant:e(249),multiply:e(250),translate:e(251),scale:e(252),rotate:e(253),rotateX:e(254),rotateY:e(255),rotateZ:e(256),fromRotationTranslation:e(257),fromQuat:e(258),frustum:e(259),perspective:e(260),perspectiveFromFieldOfView:e(261),ortho:e(262),lookAt:e(263),str:e(264)}},function(t,n){t.exports=function(){var t=new Float32Array(16);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},function(t,n){t.exports=function(t){var n=new Float32Array(16);return n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n[4]=t[4],n[5]=t[5],n[6]=t[6],n[7]=t[7],n[8]=t[8],n[9]=t[9],n[10]=t[10],n[11]=t[11],n[12]=t[12],n[13]=t[13],n[14]=t[14],n[15]=t[15],n}},function(t,n){t.exports=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t[9]=n[9],t[10]=n[10],t[11]=n[11],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15],t}},function(t,n){t.exports=function(t,n){if(t===n){var e=n[1],r=n[2],i=n[3],o=n[6],a=n[7],u=n[11];t[1]=n[4],t[2]=n[8],t[3]=n[12],t[4]=e,t[6]=n[9],t[7]=n[13],t[8]=r,t[9]=o,t[11]=n[14],t[12]=i,t[13]=a,t[14]=u}else t[0]=n[0],t[1]=n[4],t[2]=n[8],t[3]=n[12],t[4]=n[1],t[5]=n[5],t[6]=n[9],t[7]=n[13],t[8]=n[2],t[9]=n[6],t[10]=n[10],t[11]=n[14],t[12]=n[3],t[13]=n[7],t[14]=n[11],t[15]=n[15];return t}},function(t,n){t.exports=function(t,n){var e=n[0],r=n[1],i=n[2],o=n[3],a=n[4],u=n[5],s=n[6],f=n[7],c=n[8],l=n[9],h=n[10],p=n[11],d=n[12],v=n[13],m=n[14],g=n[15],y=e*u-r*a,_=e*s-i*a,b=e*f-o*a,x=r*s-i*u,w=r*f-o*u,M=i*f-o*s,k=c*v-l*d,A=c*m-h*d,z=c*g-p*d,E=l*m-h*v,S=l*g-p*v,N=h*g-p*m,T=y*N-_*S+b*E+x*z-w*A+M*k;if(!T)return null;return T=1/T,t[0]=(u*N-s*S+f*E)*T,t[1]=(i*S-r*N-o*E)*T,t[2]=(v*M-m*w+g*x)*T,t[3]=(h*w-l*M-p*x)*T,t[4]=(s*z-a*N-f*A)*T,t[5]=(e*N-i*z+o*A)*T,t[6]=(m*b-d*M-g*_)*T,t[7]=(c*M-h*b+p*_)*T,t[8]=(a*S-u*z+f*k)*T,t[9]=(r*z-e*S-o*k)*T,t[10]=(d*w-v*b+g*y)*T,t[11]=(l*b-c*w-p*y)*T,t[12]=(u*A-a*E-s*k)*T,t[13]=(e*E-r*A+i*k)*T,t[14]=(v*_-d*x-m*y)*T,t[15]=(c*x-l*_+h*y)*T,t}},function(t,n){t.exports=function(t,n){var e=n[0],r=n[1],i=n[2],o=n[3],a=n[4],u=n[5],s=n[6],f=n[7],c=n[8],l=n[9],h=n[10],p=n[11],d=n[12],v=n[13],m=n[14],g=n[15];return t[0]=u*(h*g-p*m)-l*(s*g-f*m)+v*(s*p-f*h),t[1]=-(r*(h*g-p*m)-l*(i*g-o*m)+v*(i*p-o*h)),t[2]=r*(s*g-f*m)-u*(i*g-o*m)+v*(i*f-o*s),t[3]=-(r*(s*p-f*h)-u*(i*p-o*h)+l*(i*f-o*s)),t[4]=-(a*(h*g-p*m)-c*(s*g-f*m)+d*(s*p-f*h)),t[5]=e*(h*g-p*m)-c*(i*g-o*m)+d*(i*p-o*h),t[6]=-(e*(s*g-f*m)-a*(i*g-o*m)+d*(i*f-o*s)),t[7]=e*(s*p-f*h)-a*(i*p-o*h)+c*(i*f-o*s),t[8]=a*(l*g-p*v)-c*(u*g-f*v)+d*(u*p-f*l),t[9]=-(e*(l*g-p*v)-c*(r*g-o*v)+d*(r*p-o*l)),t[10]=e*(u*g-f*v)-a*(r*g-o*v)+d*(r*f-o*u),t[11]=-(e*(u*p-f*l)-a*(r*p-o*l)+c*(r*f-o*u)),t[12]=-(a*(l*m-h*v)-c*(u*m-s*v)+d*(u*h-s*l)),t[13]=e*(l*m-h*v)-c*(r*m-i*v)+d*(r*h-i*l),t[14]=-(e*(u*m-s*v)-a*(r*m-i*v)+d*(r*s-i*u)),t[15]=e*(u*h-s*l)-a*(r*h-i*l)+c*(r*s-i*u),t}},function(t,n){t.exports=function(t){var n=t[0],e=t[1],r=t[2],i=t[3],o=t[4],a=t[5],u=t[6],s=t[7],f=t[8],c=t[9],l=t[10],h=t[11],p=t[12],d=t[13],v=t[14],m=t[15];return(n*a-e*o)*(l*m-h*v)-(n*u-r*o)*(c*m-h*d)+(n*s-i*o)*(c*v-l*d)+(e*u-r*a)*(f*m-h*p)-(e*s-i*a)*(f*v-l*p)+(r*s-i*u)*(f*d-c*p)}},function(t,n){t.exports=function(t,n,e){var r=n[0],i=n[1],o=n[2],a=n[3],u=n[4],s=n[5],f=n[6],c=n[7],l=n[8],h=n[9],p=n[10],d=n[11],v=n[12],m=n[13],g=n[14],y=n[15],_=e[0],b=e[1],x=e[2],w=e[3];return t[0]=_*r+b*u+x*l+w*v,t[1]=_*i+b*s+x*h+w*m,t[2]=_*o+b*f+x*p+w*g,t[3]=_*a+b*c+x*d+w*y,_=e[4],b=e[5],x=e[6],w=e[7],t[4]=_*r+b*u+x*l+w*v,t[5]=_*i+b*s+x*h+w*m,t[6]=_*o+b*f+x*p+w*g,t[7]=_*a+b*c+x*d+w*y,_=e[8],b=e[9],x=e[10],w=e[11],t[8]=_*r+b*u+x*l+w*v,t[9]=_*i+b*s+x*h+w*m,t[10]=_*o+b*f+x*p+w*g,t[11]=_*a+b*c+x*d+w*y,_=e[12],b=e[13],x=e[14],w=e[15],t[12]=_*r+b*u+x*l+w*v,t[13]=_*i+b*s+x*h+w*m,t[14]=_*o+b*f+x*p+w*g,t[15]=_*a+b*c+x*d+w*y,t}},function(t,n){t.exports=function(t,n,e){var r,i,o,a,u,s,f,c,l,h,p,d,v=e[0],m=e[1],g=e[2];n===t?(t[12]=n[0]*v+n[4]*m+n[8]*g+n[12],t[13]=n[1]*v+n[5]*m+n[9]*g+n[13],t[14]=n[2]*v+n[6]*m+n[10]*g+n[14],t[15]=n[3]*v+n[7]*m+n[11]*g+n[15]):(r=n[0],i=n[1],o=n[2],a=n[3],u=n[4],s=n[5],f=n[6],c=n[7],l=n[8],h=n[9],p=n[10],d=n[11],t[0]=r,t[1]=i,t[2]=o,t[3]=a,t[4]=u,t[5]=s,t[6]=f,t[7]=c,t[8]=l,t[9]=h,t[10]=p,t[11]=d,t[12]=r*v+u*m+l*g+n[12],t[13]=i*v+s*m+h*g+n[13],t[14]=o*v+f*m+p*g+n[14],t[15]=a*v+c*m+d*g+n[15]);return t}},function(t,n){t.exports=function(t,n,e){var r=e[0],i=e[1],o=e[2];return t[0]=n[0]*r,t[1]=n[1]*r,t[2]=n[2]*r,t[3]=n[3]*r,t[4]=n[4]*i,t[5]=n[5]*i,t[6]=n[6]*i,t[7]=n[7]*i,t[8]=n[8]*o,t[9]=n[9]*o,t[10]=n[10]*o,t[11]=n[11]*o,t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15],t}},function(t,n){t.exports=function(t,n,e,r){var i,o,a,u,s,f,c,l,h,p,d,v,m,g,y,_,b,x,w,M,k,A,z,E,S=r[0],N=r[1],T=r[2],C=Math.sqrt(S*S+N*N+T*T);if(Math.abs(C)<1e-6)return null;S*=C=1/C,N*=C,T*=C,i=Math.sin(e),o=Math.cos(e),a=1-o,u=n[0],s=n[1],f=n[2],c=n[3],l=n[4],h=n[5],p=n[6],d=n[7],v=n[8],m=n[9],g=n[10],y=n[11],_=S*S*a+o,b=N*S*a+T*i,x=T*S*a-N*i,w=S*N*a-T*i,M=N*N*a+o,k=T*N*a+S*i,A=S*T*a+N*i,z=N*T*a-S*i,E=T*T*a+o,t[0]=u*_+l*b+v*x,t[1]=s*_+h*b+m*x,t[2]=f*_+p*b+g*x,t[3]=c*_+d*b+y*x,t[4]=u*w+l*M+v*k,t[5]=s*w+h*M+m*k,t[6]=f*w+p*M+g*k,t[7]=c*w+d*M+y*k,t[8]=u*A+l*z+v*E,t[9]=s*A+h*z+m*E,t[10]=f*A+p*z+g*E,t[11]=c*A+d*z+y*E,n!==t&&(t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15]);return t}},function(t,n){t.exports=function(t,n,e){var r=Math.sin(e),i=Math.cos(e),o=n[4],a=n[5],u=n[6],s=n[7],f=n[8],c=n[9],l=n[10],h=n[11];n!==t&&(t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15]);return t[4]=o*i+f*r,t[5]=a*i+c*r,t[6]=u*i+l*r,t[7]=s*i+h*r,t[8]=f*i-o*r,t[9]=c*i-a*r,t[10]=l*i-u*r,t[11]=h*i-s*r,t}},function(t,n){t.exports=function(t,n,e){var r=Math.sin(e),i=Math.cos(e),o=n[0],a=n[1],u=n[2],s=n[3],f=n[8],c=n[9],l=n[10],h=n[11];n!==t&&(t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15]);return t[0]=o*i-f*r,t[1]=a*i-c*r,t[2]=u*i-l*r,t[3]=s*i-h*r,t[8]=o*r+f*i,t[9]=a*r+c*i,t[10]=u*r+l*i,t[11]=s*r+h*i,t}},function(t,n){t.exports=function(t,n,e){var r=Math.sin(e),i=Math.cos(e),o=n[0],a=n[1],u=n[2],s=n[3],f=n[4],c=n[5],l=n[6],h=n[7];n!==t&&(t[8]=n[8],t[9]=n[9],t[10]=n[10],t[11]=n[11],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15]);return t[0]=o*i+f*r,t[1]=a*i+c*r,t[2]=u*i+l*r,t[3]=s*i+h*r,t[4]=f*i-o*r,t[5]=c*i-a*r,t[6]=l*i-u*r,t[7]=h*i-s*r,t}},function(t,n){t.exports=function(t,n,e){var r=n[0],i=n[1],o=n[2],a=n[3],u=r+r,s=i+i,f=o+o,c=r*u,l=r*s,h=r*f,p=i*s,d=i*f,v=o*f,m=a*u,g=a*s,y=a*f;return t[0]=1-(p+v),t[1]=l+y,t[2]=h-g,t[3]=0,t[4]=l-y,t[5]=1-(c+v),t[6]=d+m,t[7]=0,t[8]=h+g,t[9]=d-m,t[10]=1-(c+p),t[11]=0,t[12]=e[0],t[13]=e[1],t[14]=e[2],t[15]=1,t}},function(t,n){t.exports=function(t,n){var e=n[0],r=n[1],i=n[2],o=n[3],a=e+e,u=r+r,s=i+i,f=e*a,c=r*a,l=r*u,h=i*a,p=i*u,d=i*s,v=o*a,m=o*u,g=o*s;return t[0]=1-l-d,t[1]=c+g,t[2]=h-m,t[3]=0,t[4]=c-g,t[5]=1-f-d,t[6]=p+v,t[7]=0,t[8]=h+m,t[9]=p-v,t[10]=1-f-l,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},function(t,n){t.exports=function(t,n,e,r,i,o,a){var u=1/(e-n),s=1/(i-r),f=1/(o-a);return t[0]=2*o*u,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=2*o*s,t[6]=0,t[7]=0,t[8]=(e+n)*u,t[9]=(i+r)*s,t[10]=(a+o)*f,t[11]=-1,t[12]=0,t[13]=0,t[14]=a*o*2*f,t[15]=0,t}},function(t,n){t.exports=function(t,n,e,r,i){var o=1/Math.tan(n/2),a=1/(r-i);return t[0]=o/e,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=o,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(i+r)*a,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*i*r*a,t[15]=0,t}},function(t,n){t.exports=function(t,n,e,r){var i=Math.tan(n.upDegrees*Math.PI/180),o=Math.tan(n.downDegrees*Math.PI/180),a=Math.tan(n.leftDegrees*Math.PI/180),u=Math.tan(n.rightDegrees*Math.PI/180),s=2/(a+u),f=2/(i+o);return t[0]=s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=f,t[6]=0,t[7]=0,t[8]=-(a-u)*s*.5,t[9]=(i-o)*f*.5,t[10]=r/(e-r),t[11]=-1,t[12]=0,t[13]=0,t[14]=r*e/(e-r),t[15]=0,t}},function(t,n){t.exports=function(t,n,e,r,i,o,a){var u=1/(n-e),s=1/(r-i),f=1/(o-a);return t[0]=-2*u,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*s,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*f,t[11]=0,t[12]=(n+e)*u,t[13]=(i+r)*s,t[14]=(a+o)*f,t[15]=1,t}},function(t,n,e){var r=e(77);t.exports=function(t,n,e,i){var o,a,u,s,f,c,l,h,p,d,v=n[0],m=n[1],g=n[2],y=i[0],_=i[1],b=i[2],x=e[0],w=e[1],M=e[2];if(Math.abs(v-x)<1e-6&&Math.abs(m-w)<1e-6&&Math.abs(g-M)<1e-6)return r(t);l=v-x,h=m-w,p=g-M,d=1/Math.sqrt(l*l+h*h+p*p),o=_*(p*=d)-b*(h*=d),a=b*(l*=d)-y*p,u=y*h-_*l,(d=Math.sqrt(o*o+a*a+u*u))?(o*=d=1/d,a*=d,u*=d):(o=0,a=0,u=0);s=h*u-p*a,f=p*o-l*u,c=l*a-h*o,(d=Math.sqrt(s*s+f*f+c*c))?(s*=d=1/d,f*=d,c*=d):(s=0,f=0,c=0);return t[0]=o,t[1]=s,t[2]=l,t[3]=0,t[4]=a,t[5]=f,t[6]=h,t[7]=0,t[8]=u,t[9]=c,t[10]=p,t[11]=0,t[12]=-(o*v+a*m+u*g),t[13]=-(s*v+f*m+c*g),t[14]=-(l*v+h*m+p*g),t[15]=1,t}},function(t,n){t.exports=function(t){return"mat4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+", "+t[9]+", "+t[10]+", "+t[11]+", "+t[12]+", "+t[13]+", "+t[14]+", "+t[15]+")"}},function(t,n,e){var r=e(266);t.exports=function(t,n,e,i,o,a,u,s,f){switch(n.type){case"wheel":n.dsx=n.dsy=Math.exp(-n.dy/100),n.dx=n.dy=0}if(n.buttons||-1!==["wheel","touch","pinch"].indexOf(n.type)){var c=t.x.inst_zoom,l=t.x.pan_by_zoom,h=t.x.pan_by_drag,p=t.y.inst_zoom,d=t.y.pan_by_zoom,v=t.y.pan_by_drag;"row-labels"===e&&(c=1,h=0,l=0),"col-labels"===e&&(p=1,v=0,d=0),"static"===e&&(c=1,h=0,l=0,p=1,v=0,d=0),n.preventDefault(),s[0]=c,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=p,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=1,s[11]=0,s[12]=l+h,s[13]=d+v,s[14]=0,s[15]=1,o.multiply(s,s,f),o.multiply(s,i,s),o.multiply(a,s,a)}var m=r.transformMat4([],r.transformMat4([],[n.x0,n.y0,0,1],i),o.invert([],a));n.x=m[0],n.y=m[1],u.emit("move",n)}},function(t,n,e){t.exports={create:e(267),clone:e(268),fromValues:e(269),copy:e(270),set:e(271),add:e(272),subtract:e(273),multiply:e(274),divide:e(275),min:e(276),max:e(277),scale:e(78),scaleAndAdd:e(278),distance:e(279),squaredDistance:e(280),length:e(281),squaredLength:e(282),negate:e(283),inverse:e(284),normalize:e(79),dot:e(285),lerp:e(286),random:e(287),transformMat4:e(288),transformQuat:e(289)}},function(t,n){t.exports=function(){var t=new Float32Array(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t}},function(t,n){t.exports=function(t){var n=new Float32Array(4);return n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n}},function(t,n){t.exports=function(t,n,e,r){var i=new Float32Array(4);return i[0]=t,i[1]=n,i[2]=e,i[3]=r,i}},function(t,n){t.exports=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t}},function(t,n){t.exports=function(t,n,e,r,i){return t[0]=n,t[1]=e,t[2]=r,t[3]=i,t}},function(t,n){t.exports=function(t,n,e){return t[0]=n[0]+e[0],t[1]=n[1]+e[1],t[2]=n[2]+e[2],t[3]=n[3]+e[3],t}},function(t,n){t.exports=function(t,n,e){return t[0]=n[0]-e[0],t[1]=n[1]-e[1],t[2]=n[2]-e[2],t[3]=n[3]-e[3],t}},function(t,n){t.exports=function(t,n,e){return t[0]=n[0]*e[0],t[1]=n[1]*e[1],t[2]=n[2]*e[2],t[3]=n[3]*e[3],t}},function(t,n){t.exports=function(t,n,e){return t[0]=n[0]/e[0],t[1]=n[1]/e[1],t[2]=n[2]/e[2],t[3]=n[3]/e[3],t}},function(t,n){t.exports=function(t,n,e){return t[0]=Math.min(n[0],e[0]),t[1]=Math.min(n[1],e[1]),t[2]=Math.min(n[2],e[2]),t[3]=Math.min(n[3],e[3]),t}},function(t,n){t.exports=function(t,n,e){return t[0]=Math.max(n[0],e[0]),t[1]=Math.max(n[1],e[1]),t[2]=Math.max(n[2],e[2]),t[3]=Math.max(n[3],e[3]),t}},function(t,n){t.exports=function(t,n,e,r){return t[0]=n[0]+e[0]*r,t[1]=n[1]+e[1]*r,t[2]=n[2]+e[2]*r,t[3]=n[3]+e[3]*r,t}},function(t,n){t.exports=function(t,n){var e=n[0]-t[0],r=n[1]-t[1],i=n[2]-t[2],o=n[3]-t[3];return Math.sqrt(e*e+r*r+i*i+o*o)}},function(t,n){t.exports=function(t,n){var e=n[0]-t[0],r=n[1]-t[1],i=n[2]-t[2],o=n[3]-t[3];return e*e+r*r+i*i+o*o}},function(t,n){t.exports=function(t){var n=t[0],e=t[1],r=t[2],i=t[3];return Math.sqrt(n*n+e*e+r*r+i*i)}},function(t,n){t.exports=function(t){var n=t[0],e=t[1],r=t[2],i=t[3];return n*n+e*e+r*r+i*i}},function(t,n){t.exports=function(t,n){return t[0]=-n[0],t[1]=-n[1],t[2]=-n[2],t[3]=-n[3],t}},function(t,n){t.exports=function(t,n){return t[0]=1/n[0],t[1]=1/n[1],t[2]=1/n[2],t[3]=1/n[3],t}},function(t,n){t.exports=function(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]+t[3]*n[3]}},function(t,n){t.exports=function(t,n,e,r){var i=n[0],o=n[1],a=n[2],u=n[3];return t[0]=i+r*(e[0]-i),t[1]=o+r*(e[1]-o),t[2]=a+r*(e[2]-a),t[3]=u+r*(e[3]-u),t}},function(t,n,e){var r=e(79),i=e(78);t.exports=function(t,n){return n=n||1,t[0]=Math.random(),t[1]=Math.random(),t[2]=Math.random(),t[3]=Math.random(),r(t,t),i(t,t,n),t}},function(t,n){t.exports=function(t,n,e){var r=n[0],i=n[1],o=n[2],a=n[3];return t[0]=e[0]*r+e[4]*i+e[8]*o+e[12]*a,t[1]=e[1]*r+e[5]*i+e[9]*o+e[13]*a,t[2]=e[2]*r+e[6]*i+e[10]*o+e[14]*a,t[3]=e[3]*r+e[7]*i+e[11]*o+e[15]*a,t}},function(t,n){t.exports=function(t,n,e){var r=n[0],i=n[1],o=n[2],a=e[0],u=e[1],s=e[2],f=e[3],c=f*r+u*o-s*i,l=f*i+s*r-a*o,h=f*o+a*i-u*r,p=-a*r-u*i-s*o;return t[0]=c*f+p*-a+l*-s-h*-u,t[1]=l*f+p*-u+h*-a-c*-s,t[2]=h*f+p*-s+c*-u-l*-a,t[3]=n[3],t}},function(t,n){t.exports=function(t){var n,e,r,i,o,a,u=t.labels.num_row,s=t.labels.num_col;t.node_canvas_pos={},_.each(["x","y"],(function(f){e="x"==f?s:u,a=t.viz_dim.mat_size[f]-t.viz_dim.heat_size[f],n=t.viz_dim.heat_size[f],o=n/e,t.node_canvas_pos[f+"_arr"]=Array(e).fill().map((function(t,c){return"x"===f?(r=c,i=-1,e=s):(r=c+1,i=1,e=u),(n-a-2*o*r)*i}))}))}},function(t,n,e){var r=e(80),i=e(81),o=e(82);t.exports=function(t){var n=t.params,e=t.regl,a={default_level:5,tri_height:.1,trap_height:.03,trap_float:.005,dendro_args:{},group_level:{},update_dendro:!1,selected_clust_names:[],group_info:{},default_link_level:.5,output_label_format:"list",min_dist:{}};if(a.min_dist.row=0,a.min_dist.col=0,"linkage"in n.network){let t,e;a.precalc_linkage=!0,a.max_linkage_dist={},["col","row"].forEach(r=>{t=n.network.linkage[r],a.max_linkage_dist[r]=t[t.length-1][2]+.01,e=a.max_linkage_dist[r]*a.default_link_level,o(n,r,e,a.min_dist[r])})}else a.precalc_linkage=!1;a.increment_buttons=!1,n.dendro=a,_.each(["row","col"],(function(t){n.dendro.group_level[t]=n.dendro.default_level,n.dendro.group_info[t]=r(n,t),n.dendro.dendro_args[t]=i(e,n,t)}))}},function(t,n){t.exports=function(t,n){var e,r;r="row"===n?t.dendro.group_info.row:t.dendro.group_info.col;var i,o=[];return _.each(r,(function(t){i=t.all_names.length,e=[t.pos_top,i],o.push(e)})),o}},function(t,n,e){var r=e(294),i=e(295);t.exports=function(t,n){var e={},o=[1,1,1,1];n.spill_depth={},n.spill_depth.mat_sides=.5,n.spill_depth.cats=.5,n.spill_depth.mat_corners=.2,n.spill_depth.label_corners=.001;_.each(["mat_sides","cats","mat_corners","label_corners"],(function(i){e[i]=r(t,n.spill_depth[i],o)})),n.spillover_args=e,n.spillover_triangles=i(n)}},function(t,n){t.exports=function(t,n,e=[1,1,1,1]){return{frag:"\n precision mediump float;\n uniform vec4 color;\n void main () {\n gl_FragColor = color;\n }",vert:"\n precision mediump float;\n attribute vec2 position;\n uniform float inst_depth;\n void main () {\n // positioned further up (matrix is lower at 0.)\n gl_Position = vec4(position, inst_depth, 1);\n }",attributes:{position:t.prop("pos")},uniforms:{color:e,inst_depth:n},blend:{enable:!0,func:{srcRGB:"src alpha",srcAlpha:1,dstRGB:"one minus src alpha",dstAlpha:1},equation:{rgb:"add",alpha:"add"},color:[0,0,0,0]},count:3,depth:{enable:!0,mask:!0,func:"less",range:[0,1]}}}},function(t,n){t.exports=function(t){var n=t.viz_dim,e=n.offcenter,r=n.mat_size,i=n.heat_size,o=n.canvas.height/n.canvas.width,a={};a.x=r.x/o,a.y=r.y/o;var u={};u.x=i.x/o,u.y=i.y/o;var s={},f=t.dendro.trap_height+t.dendro.trap_float,c={};return c.x=n.mat_size.x-n.heat_size.x,c.y=n.mat_size.y-n.heat_size.y,s.mat_sides=[{pos:[[-1,1],[-r.x+e.x,-1],[-1,-1]]},{pos:[[-1,1],[-r.x+e.x,1],[-r.x+e.x,-1]]},{pos:[[1,1],[r.x+e.x,-1],[1,-1]]},{pos:[[1,1],[r.x+e.x,1],[r.x+e.x,-1]]},{pos:[[-r.x+e.x,1],[-r.x+e.x,a.y-e.y],[r.x+e.x,1]]},{pos:[[r.x+e.x,1],[r.x+e.x,a.y-e.y],[-r.x+e.x,a.y-e.y]]},{pos:[[-r.x+e.x,-1],[-r.x+e.x,-a.y-e.y],[r.x+e.x,-1]]},{pos:[[r.x+e.x,-1],[r.x+e.x,-a.y-e.y],[-r.x+e.x,-a.y-e.y]]}],s.cats=[{pos:[[i.x+c.x+e.x,a.y-e.y],[-i.x+c.x+e.x,u.y-c.y-e.y],[i.x+c.x+e.x,u.y-c.y-e.y]]},{pos:[[-i.x+c.x+e.x,a.y-e.y],[r.x+e.x,a.y-e.y],[-i.x+c.x+e.x,u.y-c.y-e.y]]},{pos:[[-r.x+e.x,-a.y-e.y],[-r.x+e.x,u.y-c.y-e.y],[-i.x+c.x+e.x,u.y-c.y-e.y]]},{pos:[[-r.x+e.x,-a.y-e.y],[-i.x+c.x+e.x,-a.y-e.y],[-i.x+c.x+e.x,u.y-c.y-e.y]]}],s.mat_corners=[{pos:[[-1,1],[-i.x+c.x+e.x,u.y-c.y-e.y],[-1,u.y-c.y-e.y]]},{pos:[[-1,1],[-i.x+c.x+e.x,1],[-i.x+c.x+e.x,u.y-c.y-e.y]]},{pos:[[-1,-1],[-r.x+e.x,-a.y-e.y],[-1,-a.y-e.y]]},{pos:[[-1,-1],[-r.x+e.x,-1],[-r.x+e.x,-a.y-e.y]]},{pos:[[1,1],[r.x+e.x,a.y-e.y],[1,a.y-e.y]]},{pos:[[1,1],[r.x+e.x,1],[r.x+e.x,a.y-e.y]]},{pos:[[1,-1],[r.x+e.x,-a.y-e.y],[1,-a.y-e.y]]},{pos:[[1,-1],[r.x+e.x,-1],[r.x+e.x,-a.y-e.y]]}],s.label_corners=[{pos:[[-1,1],[-i.x+c.x+e.x,u.y-c.y-e.y],[-1,u.y-c.y-e.y]]},{pos:[[-1,1],[-i.x+c.x+e.x,1],[-i.x+c.x+e.x,u.y-c.y-e.y]]},{pos:[[-1,-1],[-i.x+c.x+e.x,-a.y-e.y],[-1,-a.y-e.y]]},{pos:[[-1,-1],[-i.x+c.x+e.x,-1],[-i.x+c.x+e.x,-a.y-e.y]]},{pos:[[1,a.y+1-r.y-2*e.x],[r.x+e.x,a.y-e.y],[1,a.y-e.y]]},{pos:[[1,a.y-e.y],[r.x+e.x,u.y-c.y-e.y],[1,u.y-c.y-e.y]]},{pos:[[r.x+e.x,a.y-e.y],[1,a.y-e.y],[r.x+e.x,u.y-c.y-e.y]]},{pos:[[1,-1],[r.x+e.x,-a.y-e.y],[1,-a.y-e.y]]},{pos:[[1,-1],[r.x+e.x,-1],[r.x+e.x,-a.y-e.y]]},{pos:[[1,u.y-c.y-e.y],[r.x+e.x+f,-a.y-e.y],[1,-a.y-e.y]]},{pos:[[1,u.y-c.y-e.y],[r.x+e.x+f,u.y-c.y-e.y],[r.x+e.x+f,-a.y-e.y]]},{pos:[[-i.x+c.x+e.x,-1],[-i.x+c.x+e.x,-a.y-e.y-f],[r.x+e.x,-1]]},{pos:[[r.x+e.x,-1],[r.x+e.x,-a.y-e.y-f],[-i.x+c.x+e.x,-a.y-e.y-f]]}],s}},function(t,n,e){t.exports=function(){var t=this.canvas_container,n=e(297)({extensions:["angle_instanced_arrays"],container:t});this.regl=n}},function(t,n,e){t.exports=function(){function t(t,n){this.id=L++,this.type=t,this.data=n}function n(t){return"["+function t(n){if(0===n.length)return[];var e=n.charAt(0),r=n.charAt(n.length-1);if(1<n.length&&e===r&&('"'===e||"'"===e))return['"'+n.substr(1,n.length-2).replace(/\\/g,"\\\\").replace(/"/g,'\\"')+'"'];if(e=/\[(false|true|null|\d+|'[^']*'|"[^"]*")\]/.exec(n))return t(n.substr(0,e.index)).concat(t(e[1])).concat(t(n.substr(e.index+e[0].length)));if(1===(e=n.split(".")).length)return['"'+n.replace(/\\/g,"\\\\").replace(/"/g,'\\"')+'"'];for(n=[],r=0;r<e.length;++r)n=n.concat(t(e[r]));return n}(t).join("][")+"]"}function e(t){return"string"==typeof t?t.split():t}function r(t){return"string"==typeof t?document.querySelector(t):t}function i(t){var n,i,o,a,u=t||{};t={};var s=[],f=[],c="undefined"==typeof window?1:window.devicePixelRatio,l=!1,h=function(t){},p=function(){};if("string"==typeof u?n=document.querySelector(u):"object"==typeof u&&("string"==typeof u.nodeName&&"function"==typeof u.appendChild&&"function"==typeof u.getBoundingClientRect?n=u:"function"==typeof u.drawArrays||"function"==typeof u.drawElements?o=(a=u).canvas:("gl"in u?a=u.gl:"canvas"in u?o=r(u.canvas):"container"in u&&(i=r(u.container)),"attributes"in u&&(t=u.attributes),"extensions"in u&&(s=e(u.extensions)),"optionalExtensions"in u&&(f=e(u.optionalExtensions)),"onDone"in u&&(h=u.onDone),"profile"in u&&(l=!!u.profile),"pixelRatio"in u&&(c=+u.pixelRatio))),n&&("canvas"===n.nodeName.toLowerCase()?o=n:i=n),!a){if(!o){if(!(n=function(t,n,e){function r(){var n=window.innerWidth,r=window.innerHeight;t!==document.body&&(n=(r=t.getBoundingClientRect()).right-r.left,r=r.bottom-r.top),i.width=e*n,i.height=e*r,U(i.style,{width:n+"px",height:r+"px"})}var i=document.createElement("canvas");return U(i.style,{border:0,margin:0,padding:0,top:0,left:0}),t.appendChild(i),t===document.body&&(i.style.position="absolute",U(t.style,{margin:0,padding:0})),window.addEventListener("resize",r,!1),r(),{canvas:i,onDestroy:function(){window.removeEventListener("resize",r),t.removeChild(i)}}}(i||document.body,0,c)))return null;o=n.canvas,p=n.onDestroy}a=function(t,n){function e(e){try{return t.getContext(e,n)}catch(t){return null}}return e("webgl")||e("experimental-webgl")||e("webgl-experimental")}(o,t)}return a?{gl:a,canvas:o,container:i,extensions:s,optionalExtensions:f,pixelRatio:c,profile:l,onDone:h,onDestroy:p}:(p(),h("webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org"),null)}function o(t,n){for(var e=Array(t),r=0;r<t;++r)e[r]=n(r);return e}function a(t){var n,e;return n=(65535<t)<<4,n|=e=(255<(t>>>=n))<<3,(n|=e=(15<(t>>>=e))<<2)|(e=(3<(t>>>=e))<<1)|t>>>e>>1}function u(){function t(t){t:{for(var n=16;268435456>=n;n*=16)if(t<=n){t=n;break t}t=0}return 0<(n=e[a(t)>>2]).length?n.pop():new ArrayBuffer(t)}function n(t){e[a(t.byteLength)>>2].push(t)}var e=o(8,(function(){return[]}));return{alloc:t,free:n,allocType:function(n,e){var r=null;switch(n){case 5120:r=new Int8Array(t(e),0,e);break;case 5121:r=new Uint8Array(t(e),0,e);break;case 5122:r=new Int16Array(t(2*e),0,e);break;case 5123:r=new Uint16Array(t(2*e),0,e);break;case 5124:r=new Int32Array(t(4*e),0,e);break;case 5125:r=new Uint32Array(t(4*e),0,e);break;case 5126:r=new Float32Array(t(4*e),0,e);break;default:return null}return r.length!==e?r.subarray(0,e):r},freeType:function(t){n(t.buffer)}}}function s(t){return!!t&&"object"==typeof t&&Array.isArray(t.shape)&&Array.isArray(t.stride)&&"number"==typeof t.offset&&t.shape.length===t.stride.length&&(Array.isArray(t.data)||X(t.data))}function f(t,n,e,r,i,o){for(var a=0;a<n;++a)for(var u=t[a],s=0;s<e;++s)for(var f=u[s],c=0;c<r;++c)i[o++]=f[c]}function c(t){return 0|$[Object.prototype.toString.call(t)]}function l(t,n){for(var e=0;e<n.length;++e)t[e]=n[e]}function h(t,n,e,r,i,o,a){for(var u=0,s=0;s<e;++s)for(var f=0;f<r;++f)t[u++]=n[i*s+o*f+a]}function p(t,n,e,r){function i(n){this.id=f++,this.buffer=t.createBuffer(),this.type=n,this.usage=35044,this.byteLength=0,this.dimension=1,this.dtype=5121,this.persistentData=null,e.profile&&(this.stats={size:0})}function o(n,e,r){n.byteLength=e.byteLength,t.bufferData(n.type,e,r)}function a(t,n,e,r,i,a){if(t.usage=e,Array.isArray(n)){if(t.dtype=r||5126,0<n.length)if(Array.isArray(n[0])){i=tt(n);for(var u=r=1;u<i.length;++u)r*=i[u];t.dimension=r,o(t,n=J(n,i,t.dtype),e),a?t.persistentData=n:V.freeType(n)}else"number"==typeof n[0]?(t.dimension=i,l(i=V.allocType(t.dtype,n.length),n),o(t,i,e),a?t.persistentData=i:V.freeType(i)):X(n[0])&&(t.dimension=n[0].length,t.dtype=r||c(n[0])||5126,o(t,n=J(n,[n.length,n[0].length],t.dtype),e),a?t.persistentData=n:V.freeType(n))}else if(X(n))t.dtype=r||c(n),t.dimension=i,o(t,n,e),a&&(t.persistentData=new Uint8Array(new Uint8Array(n.buffer)));else if(s(n)){i=n.shape;var f=n.stride,p=(u=n.offset,0),d=0,v=0,m=0;1===i.length?(p=i[0],d=1,v=f[0],m=0):2===i.length&&(p=i[0],d=i[1],v=f[0],m=f[1]),t.dtype=r||c(n.data)||5126,t.dimension=d,h(i=V.allocType(t.dtype,p*d),n.data,p,d,v,m,u),o(t,i,e),a?t.persistentData=i:V.freeType(i)}}function u(e){n.bufferCount--;for(var i=0;i<r.state.length;++i){var o=r.state[i];o.buffer===e&&(t.disableVertexAttribArray(i),o.buffer=null)}t.deleteBuffer(e.buffer),e.buffer=null,delete p[e.id]}var f=0,p={};i.prototype.bind=function(){t.bindBuffer(this.type,this.buffer)},i.prototype.destroy=function(){u(this)};var d=[];return e.profile&&(n.getTotalBufferSize=function(){var t=0;return Object.keys(p).forEach((function(n){t+=p[n].stats.size})),t}),{create:function(r,o,f,d){function v(n){var r=35044,i=null,o=0,u=0,f=1;return Array.isArray(n)||X(n)||s(n)?i=n:"number"==typeof n?o=0|n:n&&("data"in n&&(i=n.data),"usage"in n&&(r=K[n.usage]),"type"in n&&(u=Q[n.type]),"dimension"in n&&(f=0|n.dimension),"length"in n&&(o=0|n.length)),m.bind(),i?a(m,i,r,u,f,d):(o&&t.bufferData(m.type,o,r),m.dtype=u||5121,m.usage=r,m.dimension=f,m.byteLength=o),e.profile&&(m.stats.size=m.byteLength*nt[m.dtype]),v}n.bufferCount++;var m=new i(o);return p[m.id]=m,f||v(r),v._reglType="buffer",v._buffer=m,v.subdata=function(n,e){var r,i=0|(e||0);if(m.bind(),X(n))t.bufferSubData(m.type,i,n);else if(Array.isArray(n)){if(0<n.length)if("number"==typeof n[0]){var o=V.allocType(m.dtype,n.length);l(o,n),t.bufferSubData(m.type,i,o),V.freeType(o)}else(Array.isArray(n[0])||X(n[0]))&&(r=tt(n),o=J(n,r,m.dtype),t.bufferSubData(m.type,i,o),V.freeType(o))}else if(s(n)){r=n.shape;var a=n.stride,u=o=0,f=0,p=0;1===r.length?(o=r[0],u=1,f=a[0],p=0):2===r.length&&(o=r[0],u=r[1],f=a[0],p=a[1]),r=Array.isArray(n.data)?m.dtype:c(n.data),h(r=V.allocType(r,o*u),n.data,o,u,f,p,n.offset),t.bufferSubData(m.type,i,r),V.freeType(r)}return v},e.profile&&(v.stats=m.stats),v.destroy=function(){u(m)},v},createStream:function(t,n){var e=d.pop();return e||(e=new i(t)),e.bind(),a(e,n,35040,0,1,!1),e},destroyStream:function(t){d.push(t)},clear:function(){G(p).forEach(u),d.forEach(u)},getBuffer:function(t){return t&&t._buffer instanceof i?t._buffer:null},restore:function(){G(p).forEach((function(n){n.buffer=t.createBuffer(),t.bindBuffer(n.type,n.buffer),t.bufferData(n.type,n.persistentData||n.byteLength,n.usage)}))},_initBuffer:a}}function d(t,n,e,r){function i(t){this.id=f++,u[this.id]=this,this.buffer=t,this.primType=4,this.type=this.vertCount=0}function o(r,i,o,a,u,f,c){if(r.buffer.bind(),i){var l=c;c||X(i)&&(!s(i)||X(i.data))||(l=n.oes_element_index_uint?5125:5123),e._initBuffer(r.buffer,i,o,l,3)}else t.bufferData(34963,f,o),r.buffer.dtype=l||5121,r.buffer.usage=o,r.buffer.dimension=3,r.buffer.byteLength=f;if(l=c,!c){switch(r.buffer.dtype){case 5121:case 5120:l=5121;break;case 5123:case 5122:l=5123;break;case 5125:case 5124:l=5125}r.buffer.dtype=l}r.type=l,0>(i=u)&&(i=r.buffer.byteLength,5123===l?i>>=1:5125===l&&(i>>=2)),r.vertCount=i,i=a,0>a&&(i=4,1===(a=r.buffer.dimension)&&(i=0),2===a&&(i=1),3===a&&(i=4)),r.primType=i}function a(t){r.elementsCount--,delete u[t.id],t.buffer.destroy(),t.buffer=null}var u={},f=0,c={uint8:5121,uint16:5123};n.oes_element_index_uint&&(c.uint32=5125),i.prototype.bind=function(){this.buffer.bind()};var l=[];return{create:function(t,n){function u(t){if(t)if("number"==typeof t)f(t),l.primType=4,l.vertCount=0|t,l.type=5121;else{var n=null,e=35044,r=-1,i=-1,a=0,h=0;Array.isArray(t)||X(t)||s(t)?n=t:("data"in t&&(n=t.data),"usage"in t&&(e=K[t.usage]),"primitive"in t&&(r=et[t.primitive]),"count"in t&&(i=0|t.count),"type"in t&&(h=c[t.type]),"length"in t?a=0|t.length:(a=i,5123===h||5122===h?a*=2:5125!==h&&5124!==h||(a*=4))),o(l,n,e,r,i,a,h)}else f(),l.primType=4,l.vertCount=0,l.type=5121;return u}var f=e.create(null,34963,!0),l=new i(f._buffer);return r.elementsCount++,u(t),u._reglType="elements",u._elements=l,u.subdata=function(t,n){return f.subdata(t,n),u},u.destroy=function(){a(l)},u},createStream:function(t){var n=l.pop();return n||(n=new i(e.create(null,34963,!0,!1)._buffer)),o(n,t,35040,-1,-1,0,0),n},destroyStream:function(t){l.push(t)},getElements:function(t){return"function"==typeof t&&t._elements instanceof i?t._elements:null},clear:function(){G(u).forEach(a)}}}function v(t){for(var n=V.allocType(5123,t.length),e=0;e<t.length;++e)if(isNaN(t[e]))n[e]=65535;else if(1/0===t[e])n[e]=31744;else if(-1/0===t[e])n[e]=64512;else{rt[0]=t[e];var r=(o=it[0])>>>31<<15,i=(o<<1>>>24)-127,o=o>>13&1023;n[e]=-24>i?r:-14>i?r+(o+1024>>-14-i):15<i?r+31744:r+(i+15<<10)+o}return n}function m(t){return Array.isArray(t)||X(t)}function g(t){return"[object "+t+"]"}function y(t){return Array.isArray(t)&&(0===t.length||"number"==typeof t[0])}function _(t){return!(!Array.isArray(t)||0===t.length||!m(t[0]))}function b(t){return Object.prototype.toString.call(t)}function x(t){if(!t)return!1;var n=b(t);return 0<=pt.indexOf(n)||y(t)||_(t)||s(t)}function w(t,n){36193===t.type?(t.data=v(n),V.freeType(n)):t.data=n}function M(t,n,e,r,i,o){if(t=void 0!==vt[t]?vt[t]:ut[t]*dt[n],o&&(t*=6),i){for(r=0;1<=e;)r+=t*e*e,e/=2;return r}return t*e*r}function k(t,n,e,r,i,o,a){function u(){this.format=this.internalformat=6408,this.type=5121,this.flipY=this.premultiplyAlpha=this.compressed=!1,this.unpackAlignment=1,this.colorSpace=37444,this.channels=this.height=this.width=0}function f(t,n){t.internalformat=n.internalformat,t.format=n.format,t.type=n.type,t.compressed=n.compressed,t.premultiplyAlpha=n.premultiplyAlpha,t.flipY=n.flipY,t.unpackAlignment=n.unpackAlignment,t.colorSpace=n.colorSpace,t.width=n.width,t.height=n.height,t.channels=n.channels}function c(t,n){if("object"==typeof n&&n){"premultiplyAlpha"in n&&(t.premultiplyAlpha=n.premultiplyAlpha),"flipY"in n&&(t.flipY=n.flipY),"alignment"in n&&(t.unpackAlignment=n.alignment),"colorSpace"in n&&(t.colorSpace=H[n.colorSpace]),"type"in n&&(t.type=Y[n.type]);var e=t.width,r=t.height,i=t.channels,o=!1;"shape"in n?(e=n.shape[0],r=n.shape[1],3===n.shape.length&&(i=n.shape[2],o=!0)):("radius"in n&&(e=r=n.radius),"width"in n&&(e=n.width),"height"in n&&(r=n.height),"channels"in n&&(i=n.channels,o=!0)),t.width=0|e,t.height=0|r,t.channels=0|i,e=!1,"format"in n&&(e=n.format,r=t.internalformat=W[e],t.format=pt[r],e in Y&&!("type"in n)&&(t.type=Y[e]),e in Q&&(t.compressed=!0),e=!0),!o&&e?t.channels=ut[t.format]:o&&!e&&t.channels!==at[t.format]&&(t.format=t.internalformat=at[t.channels])}}function l(n){t.pixelStorei(37440,n.flipY),t.pixelStorei(37441,n.premultiplyAlpha),t.pixelStorei(37443,n.colorSpace),t.pixelStorei(3317,n.unpackAlignment)}function h(){u.call(this),this.yOffset=this.xOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function p(t,n){var e=null;if(x(n)?e=n:n&&(c(t,n),"x"in n&&(t.xOffset=0|n.x),"y"in n&&(t.yOffset=0|n.y),x(n.data)&&(e=n.data)),n.copy){var r=i.viewportWidth,o=i.viewportHeight;t.width=t.width||r-t.xOffset,t.height=t.height||o-t.yOffset,t.needsCopy=!0}else if(e){if(X(e))t.channels=t.channels||4,t.data=e,"type"in n||5121!==t.type||(t.type=0|$[Object.prototype.toString.call(e)]);else if(y(e)){switch(t.channels=t.channels||4,o=(r=e).length,t.type){case 5121:case 5123:case 5125:case 5126:(o=V.allocType(t.type,o)).set(r),t.data=o;break;case 36193:t.data=v(r)}t.alignment=1,t.needsFree=!0}else if(s(e)){r=e.data,Array.isArray(r)||5121!==t.type||(t.type=0|$[Object.prototype.toString.call(r)]),o=e.shape;var a,u,f,l,h=e.stride;3===o.length?(f=o[2],l=h[2]):l=f=1,a=o[0],u=o[1],o=h[0],h=h[1],t.alignment=1,t.width=a,t.height=u,t.channels=f,t.format=t.internalformat=at[f],t.needsFree=!0,a=l,e=e.offset,f=t.width,l=t.height,u=t.channels;for(var p=V.allocType(36193===t.type?5126:t.type,f*l*u),d=0,g=0;g<l;++g)for(var M=0;M<f;++M)for(var k=0;k<u;++k)p[d++]=r[o*M+h*g+a*k+e];w(t,p)}else if(b(e)===st||b(e)===ft)b(e)===st?t.element=e:t.element=e.canvas,t.width=t.element.width,t.height=t.element.height,t.channels=4;else if(b(e)===ct)t.element=e,t.width=e.width,t.height=e.height,t.channels=4;else if(b(e)===lt)t.element=e,t.width=e.naturalWidth,t.height=e.naturalHeight,t.channels=4;else if(b(e)===ht)t.element=e,t.width=e.videoWidth,t.height=e.videoHeight,t.channels=4;else if(_(e)){for(r=t.width||e[0].length,o=t.height||e.length,h=t.channels,h=m(e[0][0])?h||e[0][0].length:h||1,a=Z.shape(e),f=1,l=0;l<a.length;++l)f*=a[l];f=V.allocType(36193===t.type?5126:t.type,f),Z.flatten(e,a,"",f),w(t,f),t.alignment=1,t.width=r,t.height=o,t.channels=h,t.format=t.internalformat=at[h],t.needsFree=!0}}else t.width=t.width||1,t.height=t.height||1,t.channels=t.channels||4}function d(n,e,i,o,a){var u=n.element,s=n.data,f=n.internalformat,c=n.format,h=n.type,p=n.width,d=n.height;l(n),u?t.texSubImage2D(e,a,i,o,c,h,u):n.compressed?t.compressedTexSubImage2D(e,a,i,o,f,p,d,s):n.needsCopy?(r(),t.copyTexSubImage2D(e,a,i,o,n.xOffset,n.yOffset,p,d)):t.texSubImage2D(e,a,i,o,p,d,c,h,s)}function g(){return dt.pop()||new h}function k(t){t.needsFree&&V.freeType(t.data),h.call(t),dt.push(t)}function A(){u.call(this),this.genMipmaps=!1,this.mipmapHint=4352,this.mipmask=0,this.images=Array(16)}function z(t,n,e){var r=t.images[0]=g();t.mipmask=1,r.width=t.width=n,r.height=t.height=e,r.channels=t.channels=4}function E(t,n){var e=null;if(x(n))f(e=t.images[0]=g(),t),p(e,n),t.mipmask=1;else if(c(t,n),Array.isArray(n.mipmap))for(var r=n.mipmap,i=0;i<r.length;++i)f(e=t.images[i]=g(),t),e.width>>=i,e.height>>=i,p(e,r[i]),t.mipmask|=1<<i;else f(e=t.images[0]=g(),t),p(e,n),t.mipmask=1;f(t,t.images[0])}function S(n,e){for(var i=n.images,o=0;o<i.length&&i[o];++o){var a=i[o],u=e,s=o,f=a.element,c=a.data,h=a.internalformat,p=a.format,d=a.type,v=a.width,m=a.height,g=a.channels;l(a),f?t.texImage2D(u,s,p,p,d,f):a.compressed?t.compressedTexImage2D(u,s,h,v,m,0,c):a.needsCopy?(r(),t.copyTexImage2D(u,s,p,a.xOffset,a.yOffset,v,m,0)):((a=!c)&&(c=V.zero.allocType(d,v*m*g)),t.texImage2D(u,s,p,v,m,0,p,d,c),a&&c&&V.zero.freeType(c))}}function N(){var t=vt.pop()||new A;u.call(t);for(var n=t.mipmask=0;16>n;++n)t.images[n]=null;return t}function T(t){for(var n=t.images,e=0;e<n.length;++e)n[e]&&k(n[e]),n[e]=null;vt.push(t)}function C(){this.magFilter=this.minFilter=9728,this.wrapT=this.wrapS=33071,this.anisotropic=1,this.genMipmaps=!1,this.mipmapHint=4352}function j(t,n){"min"in n&&(t.minFilter=q[n.min],0<=ot.indexOf(t.minFilter)&&!("faces"in n)&&(t.genMipmaps=!0)),"mag"in n&&(t.magFilter=L[n.mag]);var e=t.wrapS,r=t.wrapT;if("wrap"in n){var i=n.wrap;"string"==typeof i?e=r=F[i]:Array.isArray(i)&&(e=F[i[0]],r=F[i[1]])}else"wrapS"in n&&(e=F[n.wrapS]),"wrapT"in n&&(r=F[n.wrapT]);if(t.wrapS=e,t.wrapT=r,"anisotropic"in n&&(t.anisotropic=n.anisotropic),"mipmap"in n){switch(e=!1,typeof n.mipmap){case"string":t.mipmapHint=D[n.mipmap],e=t.genMipmaps=!0;break;case"boolean":e=t.genMipmaps=n.mipmap;break;case"object":t.genMipmaps=!1,e=!0}!e||"min"in n||(t.minFilter=9984)}}function O(e,r){t.texParameteri(r,10241,e.minFilter),t.texParameteri(r,10240,e.magFilter),t.texParameteri(r,10242,e.wrapS),t.texParameteri(r,10243,e.wrapT),n.ext_texture_filter_anisotropic&&t.texParameteri(r,34046,e.anisotropic),e.genMipmaps&&(t.hint(33170,e.mipmapHint),t.generateMipmap(r))}function P(n){u.call(this),this.mipmask=0,this.internalformat=6408,this.id=mt++,this.refCount=1,this.target=n,this.texture=t.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new C,a.profile&&(this.stats={size:0})}function B(n){t.activeTexture(33984),t.bindTexture(n.target,n.texture)}function R(){var n=_t[0];n?t.bindTexture(n.target,n.texture):t.bindTexture(3553,null)}function I(n){var e=n.texture,r=n.unit,i=n.target;0<=r&&(t.activeTexture(33984+r),t.bindTexture(i,null),_t[r]=null),t.deleteTexture(e),n.texture=null,n.params=null,n.pixels=null,n.refCount=0,delete gt[n.id],o.textureCount--}var D={"don't care":4352,"dont care":4352,nice:4354,fast:4353},F={repeat:10497,clamp:33071,mirror:33648},L={nearest:9728,linear:9729},q=U({mipmap:9987,"nearest mipmap nearest":9984,"linear mipmap nearest":9985,"nearest mipmap linear":9986,"linear mipmap linear":9987},L),H={none:0,browser:37444},Y={uint8:5121,rgba4:32819,rgb565:33635,"rgb5 a1":32820},W={alpha:6406,luminance:6409,"luminance alpha":6410,rgb:6407,rgba:6408,rgba4:32854,"rgb5 a1":32855,rgb565:36194},Q={};n.ext_srgb&&(W.srgb=35904,W.srgba=35906),n.oes_texture_float&&(Y.float32=Y.float=5126),n.oes_texture_half_float&&(Y.float16=Y["half float"]=36193),n.webgl_depth_texture&&(U(W,{depth:6402,"depth stencil":34041}),U(Y,{uint16:5123,uint32:5125,"depth stencil":34042})),n.webgl_compressed_texture_s3tc&&U(Q,{"rgb s3tc dxt1":33776,"rgba s3tc dxt1":33777,"rgba s3tc dxt3":33778,"rgba s3tc dxt5":33779}),n.webgl_compressed_texture_atc&&U(Q,{"rgb atc":35986,"rgba atc explicit alpha":35987,"rgba atc interpolated alpha":34798}),n.webgl_compressed_texture_pvrtc&&U(Q,{"rgb pvrtc 4bppv1":35840,"rgb pvrtc 2bppv1":35841,"rgba pvrtc 4bppv1":35842,"rgba pvrtc 2bppv1":35843}),n.webgl_compressed_texture_etc1&&(Q["rgb etc1"]=36196);var K=Array.prototype.slice.call(t.getParameter(34467));Object.keys(Q).forEach((function(t){var n=Q[t];0<=K.indexOf(n)&&(W[t]=n)}));var J=Object.keys(W);e.textureFormats=J;var tt=[];Object.keys(W).forEach((function(t){tt[W[t]]=t}));var nt=[];Object.keys(Y).forEach((function(t){nt[Y[t]]=t}));var et=[];Object.keys(L).forEach((function(t){et[L[t]]=t}));var rt=[];Object.keys(q).forEach((function(t){rt[q[t]]=t}));var it=[];Object.keys(F).forEach((function(t){it[F[t]]=t}));var pt=J.reduce((function(t,n){var e=W[n];return 6409===e||6406===e||6409===e||6410===e||6402===e||34041===e?t[e]=e:32855===e||0<=n.indexOf("rgba")?t[e]=6408:t[e]=6407,t}),{}),dt=[],vt=[],mt=0,gt={},yt=e.maxTextureUnits,_t=Array(yt).map((function(){return null}));return U(P.prototype,{bind:function(){this.bindCount+=1;var n=this.unit;if(0>n){for(var e=0;e<yt;++e){var r=_t[e];if(r){if(0<r.bindCount)continue;r.unit=-1}_t[e]=this,n=e;break}a.profile&&o.maxTextureUnits<n+1&&(o.maxTextureUnits=n+1),this.unit=n,t.activeTexture(33984+n),t.bindTexture(this.target,this.texture)}return n},unbind:function(){--this.bindCount},decRef:function(){0>=--this.refCount&&I(this)}}),a.profile&&(o.getTotalTextureSize=function(){var t=0;return Object.keys(gt).forEach((function(n){t+=gt[n].stats.size})),t}),{create2D:function(n,e){function r(t,n){var e=i.texInfo;C.call(e);var o=N();return"number"==typeof t?z(o,0|t,"number"==typeof n?0|n:0|t):t?(j(e,t),E(o,t)):z(o,1,1),e.genMipmaps&&(o.mipmask=(o.width<<1)-1),i.mipmask=o.mipmask,f(i,o),i.internalformat=o.internalformat,r.width=o.width,r.height=o.height,B(i),S(o,3553),O(e,3553),R(),T(o),a.profile&&(i.stats.size=M(i.internalformat,i.type,o.width,o.height,e.genMipmaps,!1)),r.format=tt[i.internalformat],r.type=nt[i.type],r.mag=et[e.magFilter],r.min=rt[e.minFilter],r.wrapS=it[e.wrapS],r.wrapT=it[e.wrapT],r}var i=new P(3553);return gt[i.id]=i,o.textureCount++,r(n,e),r.subimage=function(t,n,e,o){n|=0,e|=0,o|=0;var a=g();return f(a,i),a.width=0,a.height=0,p(a,t),a.width=a.width||(i.width>>o)-n,a.height=a.height||(i.height>>o)-e,B(i),d(a,3553,n,e,o),R(),k(a),r},r.resize=function(n,e){var o=0|n,u=0|e||o;if(o===i.width&&u===i.height)return r;r.width=i.width=o,r.height=i.height=u,B(i);for(var s,f=i.channels,c=i.type,l=0;i.mipmask>>l;++l){var h=o>>l,p=u>>l;if(!h||!p)break;s=V.zero.allocType(c,h*p*f),t.texImage2D(3553,l,i.format,h,p,0,i.format,i.type,s),s&&V.zero.freeType(s)}return R(),a.profile&&(i.stats.size=M(i.internalformat,i.type,o,u,!1,!1)),r},r._reglType="texture2d",r._texture=i,a.profile&&(r.stats=i.stats),r.destroy=function(){i.decRef()},r},createCube:function(n,e,r,i,u,s){function l(t,n,e,r,i,o){var u,s=h.texInfo;for(C.call(s),u=0;6>u;++u)v[u]=N();if("number"!=typeof t&&t){if("object"==typeof t)if(n)E(v[0],t),E(v[1],n),E(v[2],e),E(v[3],r),E(v[4],i),E(v[5],o);else if(j(s,t),c(h,t),"faces"in t)for(t=t.faces,u=0;6>u;++u)f(v[u],h),E(v[u],t[u]);else for(u=0;6>u;++u)E(v[u],t)}else for(t=0|t||1,u=0;6>u;++u)z(v[u],t,t);for(f(h,v[0]),h.mipmask=s.genMipmaps?(v[0].width<<1)-1:v[0].mipmask,h.internalformat=v[0].internalformat,l.width=v[0].width,l.height=v[0].height,B(h),u=0;6>u;++u)S(v[u],34069+u);for(O(s,34067),R(),a.profile&&(h.stats.size=M(h.internalformat,h.type,l.width,l.height,s.genMipmaps,!0)),l.format=tt[h.internalformat],l.type=nt[h.type],l.mag=et[s.magFilter],l.min=rt[s.minFilter],l.wrapS=it[s.wrapS],l.wrapT=it[s.wrapT],u=0;6>u;++u)T(v[u]);return l}var h=new P(34067);gt[h.id]=h,o.cubeCount++;var v=Array(6);return l(n,e,r,i,u,s),l.subimage=function(t,n,e,r,i){e|=0,r|=0,i|=0;var o=g();return f(o,h),o.width=0,o.height=0,p(o,n),o.width=o.width||(h.width>>i)-e,o.height=o.height||(h.height>>i)-r,B(h),d(o,34069+t,e,r,i),R(),k(o),l},l.resize=function(n){if((n|=0)!==h.width){l.width=h.width=n,l.height=h.height=n,B(h);for(var e=0;6>e;++e)for(var r=0;h.mipmask>>r;++r)t.texImage2D(34069+e,r,h.format,n>>r,n>>r,0,h.format,h.type,null);return R(),a.profile&&(h.stats.size=M(h.internalformat,h.type,l.width,l.height,!1,!0)),l}},l._reglType="textureCube",l._texture=h,a.profile&&(l.stats=h.stats),l.destroy=function(){h.decRef()},l},clear:function(){for(var n=0;n<yt;++n)t.activeTexture(33984+n),t.bindTexture(3553,null),_t[n]=null;G(gt).forEach(I),o.cubeCount=0,o.textureCount=0},getTexture:function(t){return null},restore:function(){G(gt).forEach((function(n){n.texture=t.createTexture(),t.bindTexture(n.target,n.texture);for(var e=0;32>e;++e)if(0!=(n.mipmask&1<<e))if(3553===n.target)t.texImage2D(3553,e,n.internalformat,n.width>>e,n.height>>e,0,n.internalformat,n.type,null);else for(var r=0;6>r;++r)t.texImage2D(34069+r,e,n.internalformat,n.width>>e,n.height>>e,0,n.internalformat,n.type,null);O(n.texInfo,n.target)}))}}}function A(t,n,e,r,i,o){function a(t,n,e){this.target=t,this.texture=n,this.renderbuffer=e;var r=t=0;n?(t=n.width,r=n.height):e&&(t=e.width,r=e.height),this.width=t,this.height=r}function u(t){t&&(t.texture&&t.texture._texture.decRef(),t.renderbuffer&&t.renderbuffer._renderbuffer.decRef())}function s(t,n,e){t&&(t.texture?t.texture._texture.refCount+=1:t.renderbuffer._renderbuffer.refCount+=1)}function f(n,e){e&&(e.texture?t.framebufferTexture2D(36160,n,e.target,e.texture._texture.texture,0):t.framebufferRenderbuffer(36160,n,36161,e.renderbuffer._renderbuffer.renderbuffer))}function c(t){var n=3553,e=null,r=null,i=t;return"object"==typeof t&&(i=t.data,"target"in t&&(n=0|t.target)),"texture2d"===(t=i._reglType)?e=i:"textureCube"===t?e=i:"renderbuffer"===t&&(r=i,n=36161),new a(n,e,r)}function l(t,n,e,o,u){return e?((t=r.create2D({width:t,height:n,format:o,type:u}))._texture.refCount=0,new a(3553,t,null)):((t=i.create({width:t,height:n,format:o}))._renderbuffer.refCount=0,new a(36161,null,t))}function h(t){return t&&(t.texture||t.renderbuffer)}function p(t,n,e){t&&(t.texture?t.texture.resize(n,e):t.renderbuffer&&t.renderbuffer.resize(n,e))}function d(){this.id=M++,k[this.id]=this,this.framebuffer=t.createFramebuffer(),this.height=this.width=0,this.colorAttachments=[],this.depthStencilAttachment=this.stencilAttachment=this.depthAttachment=null}function v(t){t.colorAttachments.forEach(u),u(t.depthAttachment),u(t.stencilAttachment),u(t.depthStencilAttachment)}function m(n){t.deleteFramebuffer(n.framebuffer),n.framebuffer=null,o.framebufferCount--,delete k[n.id]}function g(n){var r;t.bindFramebuffer(36160,n.framebuffer);var i=n.colorAttachments;for(r=0;r<i.length;++r)f(36064+r,i[r]);for(r=i.length;r<e.maxColorAttachments;++r)t.framebufferTexture2D(36160,36064+r,3553,null,0);t.framebufferTexture2D(36160,33306,3553,null,0),t.framebufferTexture2D(36160,36096,3553,null,0),t.framebufferTexture2D(36160,36128,3553,null,0),f(36096,n.depthAttachment),f(36128,n.stencilAttachment),f(33306,n.depthStencilAttachment),t.checkFramebufferStatus(36160),t.bindFramebuffer(36160,_.next?_.next.framebuffer:null),_.cur=_.next,t.getError()}function y(t,n){function e(t,n){var i,o=0,a=0,u=!0,f=!0;i=null;var p=!0,d="rgba",m="uint8",y=1,_=null,w=null,M=null,k=!1;"number"==typeof t?(o=0|t,a=0|n||o):t?("shape"in t?(o=(a=t.shape)[0],a=a[1]):("radius"in t&&(o=a=t.radius),"width"in t&&(o=t.width),"height"in t&&(a=t.height)),("color"in t||"colors"in t)&&(i=t.color||t.colors,Array.isArray(i)),i||("colorCount"in t&&(y=0|t.colorCount),"colorTexture"in t&&(p=!!t.colorTexture,d="rgba4"),"colorType"in t&&(m=t.colorType,!p)&&("half float"===m||"float16"===m?d="rgba16f":"float"!==m&&"float32"!==m||(d="rgba32f")),"colorFormat"in t&&(d=t.colorFormat,0<=b.indexOf(d)?p=!0:0<=x.indexOf(d)&&(p=!1))),("depthTexture"in t||"depthStencilTexture"in t)&&(k=!(!t.depthTexture&&!t.depthStencilTexture)),"depth"in t&&("boolean"==typeof t.depth?u=t.depth:(_=t.depth,f=!1)),"stencil"in t&&("boolean"==typeof t.stencil?f=t.stencil:(w=t.stencil,u=!1)),"depthStencil"in t&&("boolean"==typeof t.depthStencil?u=f=t.depthStencil:(M=t.depthStencil,f=u=!1))):o=a=1;var A=null,z=null,E=null,S=null;if(Array.isArray(i))A=i.map(c);else if(i)A=[c(i)];else for(A=Array(y),i=0;i<y;++i)A[i]=l(o,a,p,d,m);for(o=o||A[0].width,a=a||A[0].height,_?z=c(_):u&&!f&&(z=l(o,a,k,"depth","uint32")),w?E=c(w):f&&!u&&(E=l(o,a,!1,"stencil","uint8")),M?S=c(M):!_&&!w&&f&&u&&(S=l(o,a,k,"depth stencil","depth stencil")),u=null,i=0;i<A.length;++i)s(A[i]),A[i]&&A[i].texture&&(f=yt[A[i].texture._texture.format]*_t[A[i].texture._texture.type],null===u&&(u=f));return s(z),s(E),s(S),v(r),r.width=o,r.height=a,r.colorAttachments=A,r.depthAttachment=z,r.stencilAttachment=E,r.depthStencilAttachment=S,e.color=A.map(h),e.depth=h(z),e.stencil=h(E),e.depthStencil=h(S),e.width=r.width,e.height=r.height,g(r),e}var r=new d;return o.framebufferCount++,e(t,n),U(e,{resize:function(t,n){var i=0|t,o=0|n||i;if(i===r.width&&o===r.height)return e;for(var a=r.colorAttachments,u=0;u<a.length;++u)p(a[u],i,o);return p(r.depthAttachment,i,o),p(r.stencilAttachment,i,o),p(r.depthStencilAttachment,i,o),r.width=e.width=i,r.height=e.height=o,g(r),e},_reglType:"framebuffer",_framebuffer:r,destroy:function(){m(r),v(r)},use:function(t){_.setFBO({framebuffer:e},t)}})}var _={cur:null,next:null,dirty:!1,setFBO:null},b=["rgba"],x=["rgba4","rgb565","rgb5 a1"];n.ext_srgb&&x.push("srgba"),n.ext_color_buffer_half_float&&x.push("rgba16f","rgb16f"),n.webgl_color_buffer_float&&x.push("rgba32f");var w=["uint8"];n.oes_texture_half_float&&w.push("half float","float16"),n.oes_texture_float&&w.push("float","float32");var M=0,k={};return U(_,{getFramebuffer:function(t){return"function"==typeof t&&"framebuffer"===t._reglType&&(t=t._framebuffer)instanceof d?t:null},create:y,createCube:function(t){function n(t){var i,o={color:null},a=0,u=null;i="rgba";var s="uint8",f=1;if("number"==typeof t?a=0|t:t?("shape"in t?a=t.shape[0]:("radius"in t&&(a=0|t.radius),"width"in t?a=0|t.width:"height"in t&&(a=0|t.height)),("color"in t||"colors"in t)&&(u=t.color||t.colors,Array.isArray(u)),u||("colorCount"in t&&(f=0|t.colorCount),"colorType"in t&&(s=t.colorType),"colorFormat"in t&&(i=t.colorFormat)),"depth"in t&&(o.depth=t.depth),"stencil"in t&&(o.stencil=t.stencil),"depthStencil"in t&&(o.depthStencil=t.depthStencil)):a=1,u)if(Array.isArray(u))for(t=[],i=0;i<u.length;++i)t[i]=u[i];else t=[u];else for(t=Array(f),u={radius:a,format:i,type:s},i=0;i<f;++i)t[i]=r.createCube(u);for(o.color=Array(t.length),i=0;i<t.length;++i)f=t[i],a=a||f.width,o.color[i]={target:34069,data:t[i]};for(i=0;6>i;++i){for(f=0;f<t.length;++f)o.color[f].target=34069+i;0<i&&(o.depth=e[0].depth,o.stencil=e[0].stencil,o.depthStencil=e[0].depthStencil),e[i]?e[i](o):e[i]=y(o)}return U(n,{width:a,height:a,color:t})}var e=Array(6);return n(t),U(n,{faces:e,resize:function(t){var r=0|t;if(r===n.width)return n;var i=n.color;for(t=0;t<i.length;++t)i[t].resize(r);for(t=0;6>t;++t)e[t].resize(r);return n.width=n.height=r,n},_reglType:"framebufferCube",destroy:function(){e.forEach((function(t){t.destroy()}))}})},clear:function(){G(k).forEach(m)},restore:function(){G(k).forEach((function(n){n.framebuffer=t.createFramebuffer(),g(n)}))}})}function z(){this.w=this.z=this.y=this.x=this.state=0,this.buffer=null,this.size=0,this.normalized=!1,this.type=5126,this.divisor=this.stride=this.offset=0}function E(t,n,e,r){function i(t,n,e,r){this.name=t,this.id=n,this.location=e,this.info=r}function o(t,n){for(var e=0;e<t.length;++e)if(t[e].id===n.id)return void(t[e].location=n.location);t.push(n)}function a(e,r,i){if(!(a=(i=35632===e?f:c)[r])){var o=n.str(r),a=t.createShader(e);t.shaderSource(a,o),t.compileShader(a),i[r]=a}return a}function u(t,n){this.id=p++,this.fragId=t,this.vertId=n,this.program=null,this.uniforms=[],this.attributes=[],r.profile&&(this.stats={uniformsCount:0,attributesCount:0})}function s(e,u){var s,f;s=a(35632,e.fragId),f=a(35633,e.vertId);var c=e.program=t.createProgram();t.attachShader(c,s),t.attachShader(c,f),t.linkProgram(c);var l=t.getProgramParameter(c,35718);r.profile&&(e.stats.uniformsCount=l);var h=e.uniforms;for(s=0;s<l;++s)if(f=t.getActiveUniform(c,s))if(1<f.size)for(var p=0;p<f.size;++p){var d=f.name.replace("[0]","["+p+"]");o(h,new i(d,n.id(d),t.getUniformLocation(c,d),f))}else o(h,new i(f.name,n.id(f.name),t.getUniformLocation(c,f.name),f));for(l=t.getProgramParameter(c,35721),r.profile&&(e.stats.attributesCount=l),h=e.attributes,s=0;s<l;++s)(f=t.getActiveAttrib(c,s))&&o(h,new i(f.name,n.id(f.name),t.getAttribLocation(c,f.name),f))}var f={},c={},l={},h=[],p=0;return r.profile&&(e.getMaxUniformsCount=function(){var t=0;return h.forEach((function(n){n.stats.uniformsCount>t&&(t=n.stats.uniformsCount)})),t},e.getMaxAttributesCount=function(){var t=0;return h.forEach((function(n){n.stats.attributesCount>t&&(t=n.stats.attributesCount)})),t}),{clear:function(){var n=t.deleteShader.bind(t);G(f).forEach(n),f={},G(c).forEach(n),c={},h.forEach((function(n){t.deleteProgram(n.program)})),h.length=0,l={},e.shaderCount=0},program:function(t,n,r){var i=l[n];i||(i=l[n]={});var o=i[t];return o||(o=new u(n,t),e.shaderCount++,s(o),i[t]=o,h.push(o)),o},restore:function(){f={},c={};for(var t=0;t<h.length;++t)s(h[t])},shader:a,frag:-1,vert:-1}}function S(t,n,e,r,i,o,a){function u(i){var o;o=null===n.next?5121:n.next.colorAttachments[0].texture._texture.type;var a=0,u=0,s=r.framebufferWidth,f=r.framebufferHeight,c=null;return X(i)?c=i:i&&(a=0|i.x,u=0|i.y,s=0|(i.width||r.framebufferWidth-a),f=0|(i.height||r.framebufferHeight-u),c=i.data||null),e(),i=s*f*4,c||(5121===o?c=new Uint8Array(i):5126===o&&(c=c||new Float32Array(i))),t.pixelStorei(3333,4),t.readPixels(a,u,s,f,6408,o,c),c}return function(t){return t&&"framebuffer"in t?function(t){var e;return n.setFBO({framebuffer:t.framebuffer},(function(){e=u(t)})),e}(t):u(t)}}function N(t){return Array.prototype.slice.call(t)}function T(t){return N(t).join("")}function C(){function t(){var t=[],n=[];return U((function(){t.push.apply(t,N(arguments))}),{def:function(){var r="v"+e++;return n.push(r),0<arguments.length&&(t.push(r,"="),t.push.apply(t,N(arguments)),t.push(";")),r},toString:function(){return T([0<n.length?"var "+n+";":"",T(t)])}})}function n(){function n(t,n){r(t,n,"=",e.def(t,n),";")}var e=t(),r=t(),i=e.toString,o=r.toString;return U((function(){e.apply(e,N(arguments))}),{def:e.def,entry:e,exit:r,save:n,set:function(t,r,i){n(t,r),e(t,r,"=",i,";")},toString:function(){return i()+o()}})}var e=0,r=[],i=[],o=t(),a={};return{global:o,link:function(t){for(var n=0;n<i.length;++n)if(i[n]===t)return r[n];return n="g"+e++,r.push(n),i.push(t),n},block:t,proc:function(t,e){function r(){var t="a"+i.length;return i.push(t),t}var i=[];e=e||0;for(var o=0;o<e;++o)r();var u=(o=n()).toString;return a[t]=U(o,{arg:r,toString:function(){return T(["function(",i.join(),"){",u(),"}"])}})},scope:n,cond:function(){var t=T(arguments),e=n(),r=n(),i=e.toString,o=r.toString;return U(e,{then:function(){return e.apply(e,N(arguments)),this},else:function(){return r.apply(r,N(arguments)),this},toString:function(){var n=o();return n&&(n="else{"+n+"}"),T(["if(",t,"){",i(),"}",n])}})},compile:function(){var t=['"use strict";',o,"return {"];Object.keys(a).forEach((function(n){t.push('"',n,'":',a[n].toString(),",")})),t.push("}");var n=T(t).replace(/;/g,";\n").replace(/}/g,"}\n").replace(/{/g,"{\n");return Function.apply(null,r.concat(n)).apply(null,i)}}}function j(t){return Array.isArray(t)||X(t)||s(t)}function O(t){return t.sort((function(t,n){return"viewport"===t?-1:"viewport"===n?1:t<n?-1:1}))}function P(t,n,e,r){this.thisDep=t,this.contextDep=n,this.propDep=e,this.append=r}function B(t){return t&&!(t.thisDep||t.contextDep||t.propDep)}function R(t){return new P(!1,!1,!1,t)}function I(t,n){var e=t.type;return 0===e?new P(!0,1<=(e=t.data.length),2<=e,n):4===e?new P((e=t.data).thisDep,e.contextDep,e.propDep,n):new P(3===e,2===e,1===e,n)}function D(t,n,e,r,i,a,u,s,f,c,l,h,p,d,v){function g(t){return t.replace(".","_")}function y(t,n,e){var r=g(t);rt.push(t),nt[r]=tt[r]=!!e,it[r]=n}function _(t,n,e){var r=g(t);rt.push(t),Array.isArray(e)?(tt[r]=e.slice(),nt[r]=e.slice()):tt[r]=nt[r]=e,ot[r]=n}function b(){var t=C(),e=t.link,r=t.global;t.id=st++,t.batchId="0";var i=e(at),o=t.shared={props:"a0"};Object.keys(at).forEach((function(t){o[t]=r.def(i,".",t)}));var a=t.next={},u=t.current={};Object.keys(ot).forEach((function(t){Array.isArray(tt[t])&&(a[t]=r.def(o.next,".",t),u[t]=r.def(o.current,".",t))}));var s=t.constants={};Object.keys(ut).forEach((function(t){s[t]=r.def(JSON.stringify(ut[t]))})),t.invoke=function(n,r){switch(r.type){case 0:var i=["this",o.context,o.props,t.batchId];return n.def(e(r.data),".call(",i.slice(0,Math.max(r.data.length+1,4)),")");case 1:return n.def(o.props,r.data);case 2:return n.def(o.context,r.data);case 3:return n.def("this",r.data);case 4:return r.data.append(t,n),r.data.ref}},t.attribCache={};var f={};return t.scopeAttrib=function(t){if((t=n.id(t))in f)return f[t];var r=c.scope[t];return r||(r=c.scope[t]=new Z),f[t]=e(r)},t}function x(t,n){var e=t.static,r=t.dynamic;if("framebuffer"in e){var i=e.framebuffer;return i?(i=s.getFramebuffer(i),R((function(t,n){var e=t.link(i),r=t.shared;return n.set(r.framebuffer,".next",e),r=r.context,n.set(r,".framebufferWidth",e+".width"),n.set(r,".framebufferHeight",e+".height"),e}))):R((function(t,n){var e=t.shared;return n.set(e.framebuffer,".next","null"),e=e.context,n.set(e,".framebufferWidth",e+".drawingBufferWidth"),n.set(e,".framebufferHeight",e+".drawingBufferHeight"),"null"}))}if("framebuffer"in r){var o=r.framebuffer;return I(o,(function(t,n){var e=t.invoke(n,o),r=t.shared,i=r.framebuffer;return e=n.def(i,".getFramebuffer(",e,")"),n.set(i,".next",e),r=r.context,n.set(r,".framebufferWidth",e+"?"+e+".width:"+r+".drawingBufferWidth"),n.set(r,".framebufferHeight",e+"?"+e+".height:"+r+".drawingBufferHeight"),e}))}return null}function w(t){function e(t){if(t in r){var e=n.id(r[t]);return(t=R((function(){return e}))).id=e,t}if(t in i){var o=i[t];return I(o,(function(t,n){var e=t.invoke(n,o);return n.def(t.shared.strings,".id(",e,")")}))}return null}var r=t.static,i=t.dynamic,o=e("frag"),a=e("vert"),u=null;return B(o)&&B(a)?(u=l.program(a.id,o.id),t=R((function(t,n){return t.link(u)}))):t=new P(o&&o.thisDep||a&&a.thisDep,o&&o.contextDep||a&&a.contextDep,o&&o.propDep||a&&a.propDep,(function(t,n){var e,r,i=t.shared.shader;return e=o?o.append(t,n):n.def(i,".","frag"),r=a?a.append(t,n):n.def(i,".","vert"),n.def(i+".program("+r+","+e+")")})),{frag:o,vert:a,progVar:t,program:u}}function M(t,n){function e(t,n){if(t in r){var e=0|r[t];return R((function(t,r){return n&&(t.OFFSET=e),e}))}if(t in i){var a=i[t];return I(a,(function(t,e){var r=t.invoke(e,a);return n&&(t.OFFSET=r),r}))}return n&&o?R((function(t,n){return t.OFFSET="0",0})):null}var r=t.static,i=t.dynamic,o=function(){if("elements"in r){var t=r.elements;j(t)?t=a.getElements(a.create(t,!0)):t&&(t=a.getElements(t));var n=R((function(n,e){if(t){var r=n.link(t);return n.ELEMENTS=r}return n.ELEMENTS=null}));return n.value=t,n}if("elements"in i){var e=i.elements;return I(e,(function(t,n){var r=(i=t.shared).isBufferArgs,i=i.elements,o=t.invoke(n,e),a=n.def("null");return r=n.def(r,"(",o,")"),o=t.cond(r).then(a,"=",i,".createStream(",o,");").else(a,"=",i,".getElements(",o,");"),n.entry(o),n.exit(t.cond(r).then(i,".destroyStream(",a,");")),t.ELEMENTS=a}))}return null}(),u=e("offset",!0);return{elements:o,primitive:function(){if("primitive"in r){var t=r.primitive;return R((function(n,e){return et[t]}))}if("primitive"in i){var n=i.primitive;return I(n,(function(t,e){var r=t.constants.primTypes,i=t.invoke(e,n);return e.def(r,"[",i,"]")}))}return o?B(o)?o.value?R((function(t,n){return n.def(t.ELEMENTS,".primType")})):R((function(){return 4})):new P(o.thisDep,o.contextDep,o.propDep,(function(t,n){var e=t.ELEMENTS;return n.def(e,"?",e,".primType:",4)})):null}(),count:function(){if("count"in r){var t=0|r.count;return R((function(){return t}))}if("count"in i){var n=i.count;return I(n,(function(t,e){return t.invoke(e,n)}))}return o?B(o)?o?u?new P(u.thisDep,u.contextDep,u.propDep,(function(t,n){return n.def(t.ELEMENTS,".vertCount-",t.OFFSET)})):R((function(t,n){return n.def(t.ELEMENTS,".vertCount")})):R((function(){return-1})):new P(o.thisDep||u.thisDep,o.contextDep||u.contextDep,o.propDep||u.propDep,(function(t,n){var e=t.ELEMENTS;return t.OFFSET?n.def(e,"?",e,".vertCount-",t.OFFSET,":-1"):n.def(e,"?",e,".vertCount:-1")})):null}(),instances:e("instances",!1),offset:u}}function k(t,e){var r=t.static,o=t.dynamic,a={};return Object.keys(r).forEach((function(t){var e=r[t],o=n.id(t),u=new Z;if(j(e))u.state=1,u.buffer=i.getBuffer(i.create(e,34962,!1,!0)),u.type=0;else if(f=i.getBuffer(e))u.state=1,u.buffer=f,u.type=0;else if("constant"in e){var s=e.constant;u.buffer="null",u.state=2,"number"==typeof s?u.x=s:bt.forEach((function(t,n){n<s.length&&(u[t]=s[n])}))}else{var f=j(e.buffer)?i.getBuffer(i.create(e.buffer,34962,!1,!0)):i.getBuffer(e.buffer),c=0|e.offset,l=0|e.stride,h=0|e.size,p=!!e.normalized,d=0;"type"in e&&(d=Q[e.type]),e=0|e.divisor,u.buffer=f,u.state=1,u.size=h,u.normalized=p,u.type=d||f.dtype,u.offset=c,u.stride=l,u.divisor=e}a[t]=R((function(t,n){var e=t.attribCache;if(o in e)return e[o];var r={isStream:!1};return Object.keys(u).forEach((function(t){r[t]=u[t]})),u.buffer&&(r.buffer=t.link(u.buffer),r.type=r.type||r.buffer+".dtype"),e[o]=r}))})),Object.keys(o).forEach((function(t){var n=o[t];a[t]=I(n,(function(t,e){function r(t){e(s[t],"=",i,".",t,"|0;")}var i=t.invoke(e,n),o=t.shared,a=o.isBufferArgs,u=o.buffer,s={isStream:e.def(!1)},f=new Z;f.state=1,Object.keys(f).forEach((function(t){s[t]=e.def(""+f[t])}));var c=s.buffer,l=s.type;return e("if(",a,"(",i,")){",s.isStream,"=true;",c,"=",u,".createStream(",34962,",",i,");",l,"=",c,".dtype;","}else{",c,"=",u,".getBuffer(",i,");","if(",c,"){",l,"=",c,".dtype;",'}else if("constant" in ',i,"){",s.state,"=",2,";","if(typeof "+i+'.constant === "number"){',s[bt[0]],"=",i,".constant;",bt.slice(1).map((function(t){return s[t]})).join("="),"=0;","}else{",bt.map((function(t,n){return s[t]+"="+i+".constant.length>"+n+"?"+i+".constant["+n+"]:0;"})).join(""),"}}else{","if(",a,"(",i,".buffer)){",c,"=",u,".createStream(",34962,",",i,".buffer);","}else{",c,"=",u,".getBuffer(",i,".buffer);","}",l,'="type" in ',i,"?",o.glTypes,"[",i,".type]:",c,".dtype;",s.normalized,"=!!",i,".normalized;"),r("size"),r("offset"),r("stride"),r("divisor"),e("}}"),e.exit("if(",s.isStream,"){",u,".destroyStream(",c,");","}"),s}))})),a}function A(t,n,e,r,i){var a=x(t),u=function(t,n,e){function r(t){if(t in i){var e=i[t];t=!0;var r,a,u=0|e.x,s=0|e.y;return"width"in e?r=0|e.width:t=!1,"height"in e?a=0|e.height:t=!1,new P(!t&&n&&n.thisDep,!t&&n&&n.contextDep,!t&&n&&n.propDep,(function(t,n){var i=t.shared.context,o=r;"width"in e||(o=n.def(i,".","framebufferWidth","-",u));var f=a;return"height"in e||(f=n.def(i,".","framebufferHeight","-",s)),[u,s,o,f]}))}if(t in o){var f=o[t];return t=I(f,(function(t,n){var e=t.invoke(n,f),r=t.shared.context,i=n.def(e,".x|0"),o=n.def(e,".y|0");return[i,o,n.def('"width" in ',e,"?",e,".width|0:","(",r,".","framebufferWidth","-",i,")"),e=n.def('"height" in ',e,"?",e,".height|0:","(",r,".","framebufferHeight","-",o,")")]})),n&&(t.thisDep=t.thisDep||n.thisDep,t.contextDep=t.contextDep||n.contextDep,t.propDep=t.propDep||n.propDep),t}return n?new P(n.thisDep,n.contextDep,n.propDep,(function(t,n){var e=t.shared.context;return[0,0,n.def(e,".","framebufferWidth"),n.def(e,".","framebufferHeight")]})):null}var i=t.static,o=t.dynamic;if(t=r("viewport")){var a=t;t=new P(t.thisDep,t.contextDep,t.propDep,(function(t,n){var e=a.append(t,n),r=t.shared.context;return n.set(r,".viewportWidth",e[2]),n.set(r,".viewportHeight",e[3]),e}))}return{viewport:t,scissor_box:r("scissor.box")}}(t,a),s=M(t),f=function(t,n){var e=t.static,r=t.dynamic,i={};return rt.forEach((function(t){function n(n,o){if(t in e){var u=n(e[t]);i[a]=R((function(){return u}))}else if(t in r){var s=r[t];i[a]=I(s,(function(t,n){return o(t,n,t.invoke(n,s))}))}}var a=g(t);switch(t){case"cull.enable":case"blend.enable":case"dither":case"stencil.enable":case"depth.enable":case"scissor.enable":case"polygonOffset.enable":case"sample.alpha":case"sample.enable":case"depth.mask":return n((function(t){return t}),(function(t,n,e){return e}));case"depth.func":return n((function(t){return Mt[t]}),(function(t,n,e){return n.def(t.constants.compareFuncs,"[",e,"]")}));case"depth.range":return n((function(t){return t}),(function(t,n,e){return[n.def("+",e,"[0]"),n=n.def("+",e,"[1]")]}));case"blend.func":return n((function(t){return[wt["srcRGB"in t?t.srcRGB:t.src],wt["dstRGB"in t?t.dstRGB:t.dst],wt["srcAlpha"in t?t.srcAlpha:t.src],wt["dstAlpha"in t?t.dstAlpha:t.dst]]}),(function(t,n,e){function r(t,r){return n.def('"',t,r,'" in ',e,"?",e,".",t,r,":",e,".",t)}t=t.constants.blendFuncs;var i=r("src","RGB"),o=r("dst","RGB"),a=(i=n.def(t,"[",i,"]"),n.def(t,"[",r("src","Alpha"),"]"));return[i,o=n.def(t,"[",o,"]"),a,t=n.def(t,"[",r("dst","Alpha"),"]")]}));case"blend.equation":return n((function(t){return"string"==typeof t?[$[t],$[t]]:"object"==typeof t?[$[t.rgb],$[t.alpha]]:void 0}),(function(t,n,e){var r=t.constants.blendEquations,i=n.def(),o=n.def();return(t=t.cond("typeof ",e,'==="string"')).then(i,"=",o,"=",r,"[",e,"];"),t.else(i,"=",r,"[",e,".rgb];",o,"=",r,"[",e,".alpha];"),n(t),[i,o]}));case"blend.color":return n((function(t){return o(4,(function(n){return+t[n]}))}),(function(t,n,e){return o(4,(function(t){return n.def("+",e,"[",t,"]")}))}));case"stencil.mask":return n((function(t){return 0|t}),(function(t,n,e){return n.def(e,"|0")}));case"stencil.func":return n((function(t){return[Mt[t.cmp||"keep"],t.ref||0,"mask"in t?t.mask:-1]}),(function(t,n,e){return[t=n.def('"cmp" in ',e,"?",t.constants.compareFuncs,"[",e,".cmp]",":",7680),n.def(e,".ref|0"),n=n.def('"mask" in ',e,"?",e,".mask|0:-1")]}));case"stencil.opFront":case"stencil.opBack":return n((function(n){return["stencil.opBack"===t?1029:1028,kt[n.fail||"keep"],kt[n.zfail||"keep"],kt[n.zpass||"keep"]]}),(function(n,e,r){function i(t){return e.def('"',t,'" in ',r,"?",o,"[",r,".",t,"]:",7680)}var o=n.constants.stencilOps;return["stencil.opBack"===t?1029:1028,i("fail"),i("zfail"),i("zpass")]}));case"polygonOffset.offset":return n((function(t){return[0|t.factor,0|t.units]}),(function(t,n,e){return[n.def(e,".factor|0"),n=n.def(e,".units|0")]}));case"cull.face":return n((function(t){var n=0;return"front"===t?n=1028:"back"===t&&(n=1029),n}),(function(t,n,e){return n.def(e,'==="front"?',1028,":",1029)}));case"lineWidth":return n((function(t){return t}),(function(t,n,e){return e}));case"frontFace":return n((function(t){return At[t]}),(function(t,n,e){return n.def(e+'==="cw"?2304:2305')}));case"colorMask":return n((function(t){return t.map((function(t){return!!t}))}),(function(t,n,e){return o(4,(function(t){return"!!"+e+"["+t+"]"}))}));case"sample.coverage":return n((function(t){return["value"in t?t.value:1,!!t.invert]}),(function(t,n,e){return[n.def('"value" in ',e,"?+",e,".value:1"),n=n.def("!!",e,".invert")]}))}})),i}(t),c=w(t),l=u.viewport;return l&&(f.viewport=l),(u=u[l=g("scissor.box")])&&(f[l]=u),(a={framebuffer:a,draw:s,shader:c,state:f,dirty:u=0<Object.keys(f).length}).profile=function(t){var n,e=t.static;if(t=t.dynamic,"profile"in e){var r=!!e.profile;(n=R((function(t,n){return r}))).enable=r}else if("profile"in t){var i=t.profile;n=I(i,(function(t,n){return t.invoke(n,i)}))}return n}(t),a.uniforms=function(t,n){var e=t.static,r=t.dynamic,i={};return Object.keys(e).forEach((function(t){var n,r=e[t];if("number"==typeof r||"boolean"==typeof r)n=R((function(){return r}));else if("function"==typeof r){var a=r._reglType;"texture2d"===a||"textureCube"===a?n=R((function(t){return t.link(r)})):"framebuffer"!==a&&"framebufferCube"!==a||(n=R((function(t){return t.link(r.color[0])})))}else m(r)&&(n=R((function(t){return t.global.def("[",o(r.length,(function(t){return r[t]})),"]")})));n.value=r,i[t]=n})),Object.keys(r).forEach((function(t){var n=r[t];i[t]=I(n,(function(t,e){return t.invoke(e,n)}))})),i}(e),a.attributes=k(n),a.context=function(t){var n=t.static,e=t.dynamic,r={};return Object.keys(n).forEach((function(t){var e=n[t];r[t]=R((function(t,n){return"number"==typeof e||"boolean"==typeof e?""+e:t.link(e)}))})),Object.keys(e).forEach((function(t){var n=e[t];r[t]=I(n,(function(t,e){return t.invoke(e,n)}))})),r}(r),a}function z(t,n,e){var r=t.shared.context,i=t.scope();Object.keys(e).forEach((function(o){n.save(r,"."+o),i(r,".",o,"=",e[o].append(t,n),";")})),n(i)}function E(t,n,e,r){var i,o=(u=t.shared).gl,a=u.framebuffer;J&&(i=n.def(u.extensions,".webgl_draw_buffers"));var u=(s=t.constants).drawBuffer,s=s.backBuffer;t=e?e.append(t,n):n.def(a,".next"),r||n("if(",t,"!==",a,".cur){"),n("if(",t,"){",o,".bindFramebuffer(",36160,",",t,".framebuffer);"),J&&n(i,".drawBuffersWEBGL(",u,"[",t,".colorAttachments.length]);"),n("}else{",o,".bindFramebuffer(",36160,",null);"),J&&n(i,".drawBuffersWEBGL(",s,");"),n("}",a,".cur=",t,";"),r||n("}")}function S(t,n,e){var r=t.shared,i=r.gl,a=t.current,u=t.next,s=r.current,f=r.next,c=t.cond(s,".dirty");rt.forEach((function(n){var r,l;if(!((n=g(n))in e.state))if(n in u){r=u[n],l=a[n];var h=o(tt[n].length,(function(t){return c.def(r,"[",t,"]")}));c(t.cond(h.map((function(t,n){return t+"!=="+l+"["+n+"]"})).join("||")).then(i,".",ot[n],"(",h,");",h.map((function(t,n){return l+"["+n+"]="+t})).join(";"),";"))}else r=c.def(f,".",n),h=t.cond(r,"!==",s,".",n),c(h),n in it?h(t.cond(r).then(i,".enable(",it[n],");").else(i,".disable(",it[n],");"),s,".",n,"=",r,";"):h(i,".",ot[n],"(",r,");",s,".",n,"=",r,";")})),0===Object.keys(e.state).length&&c(s,".dirty=false;"),n(c)}function N(t,n,e,r){var i=t.shared,o=t.current,a=i.current,u=i.gl;O(Object.keys(e)).forEach((function(i){var s=e[i];if(!r||r(s)){var f=s.append(t,n);if(it[i]){var c=it[i];B(s)?n(u,f?".enable(":".disable(",c,");"):n(t.cond(f).then(u,".enable(",c,");").else(u,".disable(",c,");")),n(a,".",i,"=",f,";")}else if(m(f)){var l=o[i];n(u,".",ot[i],"(",f,");",f.map((function(t,n){return l+"["+n+"]="+t})).join(";"),";")}else n(u,".",ot[i],"(",f,");",a,".",i,"=",f,";")}}))}function T(t,n){K&&(t.instancing=n.def(t.shared.extensions,".angle_instanced_arrays"))}function D(t,n,e,r,i){function o(){return"undefined"==typeof performance?"Date.now()":"performance.now()"}function a(t){t(f=n.def(),"=",o(),";"),"string"==typeof i?t(h,".count+=",i,";"):t(h,".count++;"),d&&(r?t(c=n.def(),"=",v,".getNumPendingQueries();"):t(v,".beginQuery(",h,");"))}function u(t){t(h,".cpuTime+=",o(),"-",f,";"),d&&(r?t(v,".pushScopeStats(",c,",",v,".getNumPendingQueries(),",h,");"):t(v,".endQuery();"))}function s(t){var e=n.def(p,".profile");n(p,".profile=",t,";"),n.exit(p,".profile=",e,";")}var f,c,l=t.shared,h=t.stats,p=l.current,v=l.timer;if(e=e.profile){if(B(e))return void(e.enable?(a(n),u(n.exit),s("true")):s("false"));s(e=e.append(t,n))}else e=n.def(p,".profile");a(l=t.block()),n("if(",e,"){",l,"}"),u(t=t.block()),n.exit("if(",e,"){",t,"}")}function F(t,n,e,r,i){function o(e,r,i){function o(){n("if(!",c,".buffer){",s,".enableVertexAttribArray(",f,");}");var e,o=i.type;e=i.size?n.def(i.size,"||",r):r,n("if(",c,".type!==",o,"||",c,".size!==",e,"||",p.map((function(t){return c+"."+t+"!=="+i[t]})).join("||"),"){",s,".bindBuffer(",34962,",",l,".buffer);",s,".vertexAttribPointer(",[f,e,o,i.normalized,i.stride,i.offset],");",c,".type=",o,";",c,".size=",e,";",p.map((function(t){return c+"."+t+"="+i[t]+";"})).join(""),"}"),K&&(o=i.divisor,n("if(",c,".divisor!==",o,"){",t.instancing,".vertexAttribDivisorANGLE(",[f,o],");",c,".divisor=",o,";}"))}function u(){n("if(",c,".buffer){",s,".disableVertexAttribArray(",f,");","}if(",bt.map((function(t,n){return c+"."+t+"!=="+h[n]})).join("||"),"){",s,".vertexAttrib4f(",f,",",h,");",bt.map((function(t,n){return c+"."+t+"="+h[n]+";"})).join(""),"}")}var s=a.gl,f=n.def(e,".location"),c=n.def(a.attributes,"[",f,"]");e=i.state;var l=i.buffer,h=[i.x,i.y,i.z,i.w],p=["buffer","normalized","offset","stride"];1===e?o():2===e?u():(n("if(",e,"===",1,"){"),o(),n("}else{"),u(),n("}"))}var a=t.shared;r.forEach((function(r){var a,u=r.name,s=e.attributes[u];if(s){if(!i(s))return;a=s.append(t,n)}else{if(!i(zt))return;var f=t.scopeAttrib(u);a={},Object.keys(new Z).forEach((function(t){a[t]=n.def(f,".",t)}))}o(t.link(r),function(t){switch(t){case 35664:case 35667:case 35671:return 2;case 35665:case 35668:case 35672:return 3;case 35666:case 35669:case 35673:return 4;default:return 1}}(r.info.type),a)}))}function U(t,e,r,i,a){for(var u,s=t.shared,f=s.gl,c=0;c<i.length;++c){var l,h=(v=i[c]).name,p=v.info.type,d=r.uniforms[h],v=t.link(v)+".location";if(d){if(!a(d))continue;if(B(d)){if(h=d.value,35678===p||35680===p)e(f,".uniform1i(",v,",",(p=t.link(h._texture||h.color[0]._texture))+".bind());"),e.exit(p,".unbind();");else if(35674===p||35675===p||35676===p)d=2,35675===p?d=3:35676===p&&(d=4),e(f,".uniformMatrix",d,"fv(",v,",false,",h=t.global.def("new Float32Array(["+Array.prototype.slice.call(h)+"])"),");");else{switch(p){case 5126:u="1f";break;case 35664:u="2f";break;case 35665:u="3f";break;case 35666:u="4f";break;case 35670:case 5124:u="1i";break;case 35671:case 35667:u="2i";break;case 35672:case 35668:u="3i";break;case 35673:u="4i";break;case 35669:u="4i"}e(f,".uniform",u,"(",v,",",m(h)?Array.prototype.slice.call(h):h,");")}continue}l=d.append(t,e)}else{if(!a(zt))continue;l=e.def(s.uniforms,"[",n.id(h),"]")}switch(35678===p?e("if(",l,"&&",l,'._reglType==="framebuffer"){',l,"=",l,".color[0];","}"):35680===p&&e("if(",l,"&&",l,'._reglType==="framebufferCube"){',l,"=",l,".color[0];","}"),h=1,p){case 35678:case 35680:p=e.def(l,"._texture"),e(f,".uniform1i(",v,",",p,".bind());"),e.exit(p,".unbind();");continue;case 5124:case 35670:u="1i";break;case 35667:case 35671:u="2i",h=2;break;case 35668:case 35672:u="3i",h=3;break;case 35669:case 35673:u="4i",h=4;break;case 5126:u="1f";break;case 35664:u="2f",h=2;break;case 35665:u="3f",h=3;break;case 35666:u="4f",h=4;break;case 35674:u="Matrix2fv";break;case 35675:u="Matrix3fv";break;case 35676:u="Matrix4fv"}if(e(f,".uniform",u,"(",v,","),"M"===u.charAt(0)){v=Math.pow(p-35674+2,2);var g=t.global.def("new Float32Array(",v,")");e("false,(Array.isArray(",l,")||",l," instanceof Float32Array)?",l,":(",o(v,(function(t){return g+"["+t+"]="+l+"["+t+"]"})),",",g,")")}else e(1<h?o(h,(function(t){return l+"["+t+"]"})):l);e(");")}}function L(t,n,e,r){function i(i){var o=h[i];return o?o.contextDep&&r.contextDynamic||o.propDep?o.append(t,e):o.append(t,n):n.def(l,".",i)}function o(){function t(){e(s,".drawElementsInstancedANGLE(",[d,m,g,v+"<<(("+g+"-5121)>>1)",u],");")}function n(){e(s,".drawArraysInstancedANGLE(",[d,v,m,u],");")}p?y?t():(e("if(",p,"){"),t(),e("}else{"),n(),e("}")):n()}function a(){function t(){e(c+".drawElements("+[d,m,g,v+"<<(("+g+"-5121)>>1)"]+");")}function n(){e(c+".drawArrays("+[d,v,m]+");")}p?y?t():(e("if(",p,"){"),t(),e("}else{"),n(),e("}")):n()}var u,s,f=t.shared,c=f.gl,l=f.draw,h=r.draw,p=function(){var i=h.elements,o=n;return i?((i.contextDep&&r.contextDynamic||i.propDep)&&(o=e),i=i.append(t,o)):i=o.def(l,".","elements"),i&&o("if("+i+")"+c+".bindBuffer(34963,"+i+".buffer.buffer);"),i}(),d=i("primitive"),v=i("offset"),m=function(){var i=h.count,o=n;return i?((i.contextDep&&r.contextDynamic||i.propDep)&&(o=e),i=i.append(t,o)):i=o.def(l,".","count"),i}();if("number"==typeof m){if(0===m)return}else e("if(",m,"){"),e.exit("}");K&&(u=i("instances"),s=t.instancing);var g=p+".type",y=h.elements&&B(h.elements);K&&("number"!=typeof u||0<=u)?"string"==typeof u?(e("if(",u,">0){"),o(),e("}else if(",u,"<0){"),a(),e("}")):o():a()}function H(t,n,e,r,i){return i=(n=b()).proc("body",i),K&&(n.instancing=i.def(n.shared.extensions,".angle_instanced_arrays")),t(n,i,e,r),n.compile().body}function Y(t,n,e,r){T(t,n),F(t,n,e,r.attributes,(function(){return!0})),U(t,n,e,r.uniforms,(function(){return!0})),L(t,n,n,e)}function V(t,n,e,r){function i(){return!0}t.batchId="a1",T(t,n),F(t,n,e,r.attributes,i),U(t,n,e,r.uniforms,i),L(t,n,n,e)}function W(t,n,e,r){function i(t){return t.contextDep&&a||t.propDep}function o(t){return!i(t)}T(t,n);var a=e.contextDep,u=n.def(),s=n.def();t.shared.props=s,t.batchId=u;var f=t.scope(),c=t.scope();n(f.entry,"for(",u,"=0;",u,"<","a1",";++",u,"){",s,"=","a0","[",u,"];",c,"}",f.exit),e.needsContext&&z(t,c,e.context),e.needsFramebuffer&&E(t,c,e.framebuffer),N(t,c,e.state,i),e.profile&&i(e.profile)&&D(t,c,e,!1,!0),r?(F(t,f,e,r.attributes,o),F(t,c,e,r.attributes,i),U(t,f,e,r.uniforms,o),U(t,c,e,r.uniforms,i),L(t,f,c,e)):(n=t.global.def("{}"),r=e.shader.progVar.append(t,c),s=c.def(r,".id"),f=c.def(n,"[",s,"]"),c(t.shared.gl,".useProgram(",r,".program);","if(!",f,"){",f,"=",n,"[",s,"]=",t.link((function(n){return H(V,t,e,n,2)})),"(",r,");}",f,".call(this,a0[",u,"],",u,");"))}function X(t,e){function r(n){var r=e.shader[n];r&&i.set(o.shader,"."+n,r.append(t,i))}var i=t.proc("scope",3);t.batchId="a2";var o=t.shared,a=o.current;z(t,i,e.context),e.framebuffer&&e.framebuffer.append(t,i),O(Object.keys(e.state)).forEach((function(n){var r=e.state[n].append(t,i);m(r)?r.forEach((function(e,r){i.set(t.next[n],"["+r+"]",e)})):i.set(o.next,"."+n,r)})),D(t,i,e,!0,!0),["elements","offset","count","instances","primitive"].forEach((function(n){var r=e.draw[n];r&&i.set(o.draw,"."+n,""+r.append(t,i))})),Object.keys(e.uniforms).forEach((function(r){i.set(o.uniforms,"["+n.id(r)+"]",e.uniforms[r].append(t,i))})),Object.keys(e.attributes).forEach((function(n){var r=e.attributes[n].append(t,i),o=t.scopeAttrib(n);Object.keys(new Z).forEach((function(t){i.set(o,"."+t,r[t])}))})),r("vert"),r("frag"),0<Object.keys(e.state).length&&(i(a,".dirty=true;"),i.exit(a,".dirty=true;")),i("a1(",t.shared.context,",a0,",t.batchId,");")}function G(t,n,e){var r=n.static[e];if(r&&function(t){if("object"==typeof t&&!m(t)){for(var n=Object.keys(t),e=0;e<n.length;++e)if(q.isDynamic(t[n[e]]))return!0;return!1}}(r)){var i=t.global,o=Object.keys(r),a=!1,u=!1,s=!1,f=t.global.def("{}");o.forEach((function(n){var e=r[n];if(q.isDynamic(e))"function"==typeof e&&(e=r[n]=q.unbox(e)),n=I(e,null),a=a||n.thisDep,s=s||n.propDep,u=u||n.contextDep;else{switch(i(f,".",n,"="),typeof e){case"number":i(e);break;case"string":i('"',e,'"');break;case"object":Array.isArray(e)&&i("[",e.join(),"]");break;default:i(t.link(e))}i(";")}})),n.dynamic[e]=new q.DynamicVariable(4,{thisDep:a,contextDep:u,propDep:s,ref:f,append:function(t,n){o.forEach((function(e){var i=r[e];q.isDynamic(i)&&(i=t.invoke(n,i),n(f,".",e,"=",i,";"))}))}}),delete n.static[e]}}var Z=c.Record,$={add:32774,subtract:32778,"reverse subtract":32779};e.ext_blend_minmax&&($.min=32775,$.max=32776);var K=e.angle_instanced_arrays,J=e.webgl_draw_buffers,tt={dirty:!0,profile:v.profile},nt={},rt=[],it={},ot={};y("dither",3024),y("blend.enable",3042),_("blend.color","blendColor",[0,0,0,0]),_("blend.equation","blendEquationSeparate",[32774,32774]),_("blend.func","blendFuncSeparate",[1,0,1,0]),y("depth.enable",2929,!0),_("depth.func","depthFunc",513),_("depth.range","depthRange",[0,1]),_("depth.mask","depthMask",!0),_("colorMask","colorMask",[!0,!0,!0,!0]),y("cull.enable",2884),_("cull.face","cullFace",1029),_("frontFace","frontFace",2305),_("lineWidth","lineWidth",1),y("polygonOffset.enable",32823),_("polygonOffset.offset","polygonOffset",[0,0]),y("sample.alpha",32926),y("sample.enable",32928),_("sample.coverage","sampleCoverage",[1,!1]),y("stencil.enable",2960),_("stencil.mask","stencilMask",-1),_("stencil.func","stencilFunc",[519,0,-1]),_("stencil.opFront","stencilOpSeparate",[1028,7680,7680,7680]),_("stencil.opBack","stencilOpSeparate",[1029,7680,7680,7680]),y("scissor.enable",3089),_("scissor.box","scissor",[0,0,t.drawingBufferWidth,t.drawingBufferHeight]),_("viewport","viewport",[0,0,t.drawingBufferWidth,t.drawingBufferHeight]);var at={gl:t,context:p,strings:n,next:nt,current:tt,draw:h,elements:a,buffer:i,shader:l,attributes:c.state,uniforms:f,framebuffer:s,extensions:e,timer:d,isBufferArgs:j},ut={primTypes:et,compareFuncs:Mt,blendFuncs:wt,blendEquations:$,stencilOps:kt,glTypes:Q,orientationType:At};J&&(ut.backBuffer=[1029],ut.drawBuffer=o(r.maxDrawbuffers,(function(t){return 0===t?[0]:o(t,(function(t){return 36064+t}))})));var st=0;return{next:nt,current:tt,procs:function(){var t=b(),n=t.proc("poll"),e=t.proc("refresh"),i=t.block();n(i),e(i);var a,u=t.shared,s=u.gl,f=u.next,c=u.current;i(c,".dirty=false;"),E(t,n),E(t,e,null,!0),K&&(a=t.link(K));for(var l=0;l<r.maxAttributes;++l){var h=e.def(u.attributes,"[",l,"]"),p=t.cond(h,".buffer");p.then(s,".enableVertexAttribArray(",l,");",s,".bindBuffer(",34962,",",h,".buffer.buffer);",s,".vertexAttribPointer(",l,",",h,".size,",h,".type,",h,".normalized,",h,".stride,",h,".offset);").else(s,".disableVertexAttribArray(",l,");",s,".vertexAttrib4f(",l,",",h,".x,",h,".y,",h,".z,",h,".w);",h,".buffer=null;"),e(p),K&&e(a,".vertexAttribDivisorANGLE(",l,",",h,".divisor);")}return Object.keys(it).forEach((function(r){var o=it[r],a=i.def(f,".",r),u=t.block();u("if(",a,"){",s,".enable(",o,")}else{",s,".disable(",o,")}",c,".",r,"=",a,";"),e(u),n("if(",a,"!==",c,".",r,"){",u,"}")})),Object.keys(ot).forEach((function(r){var a,u,l=ot[r],h=tt[r],p=t.block();p(s,".",l,"("),m(h)?(l=h.length,a=t.global.def(f,".",r),u=t.global.def(c,".",r),p(o(l,(function(t){return a+"["+t+"]"})),");",o(l,(function(t){return u+"["+t+"]="+a+"["+t+"];"})).join("")),n("if(",o(l,(function(t){return a+"["+t+"]!=="+u+"["+t+"]"})).join("||"),"){",p,"}")):(a=i.def(f,".",r),u=i.def(c,".",r),p(a,");",c,".",r,"=",a,";"),n("if(",a,"!==",u,"){",p,"}")),e(p)})),t.compile()}(),compile:function(t,n,e,r,i){var o=b();return o.stats=o.link(i),Object.keys(n.static).forEach((function(t){G(o,n,t)})),xt.forEach((function(n){G(o,t,n)})),e=A(t,n,e,r),function(t,n){var e=t.proc("draw",1);T(t,e),z(t,e,n.context),E(t,e,n.framebuffer),S(t,e,n),N(t,e,n.state),D(t,e,n,!1,!0);var r=n.shader.progVar.append(t,e);if(e(t.shared.gl,".useProgram(",r,".program);"),n.shader.program)Y(t,e,n,n.shader.program);else{var i=t.global.def("{}"),o=e.def(r,".id"),a=e.def(i,"[",o,"]");e(t.cond(a).then(a,".call(this,a0);").else(a,"=",i,"[",o,"]=",t.link((function(e){return H(Y,t,n,e,1)})),"(",r,");",a,".call(this,a0);"))}0<Object.keys(n.state).length&&e(t.shared.current,".dirty=true;")}(o,e),X(o,e),function(t,n){function e(t){return t.contextDep&&i||t.propDep}var r=t.proc("batch",2);t.batchId="0",T(t,r);var i=!1,o=!0;Object.keys(n.context).forEach((function(t){i=i||n.context[t].propDep})),i||(z(t,r,n.context),o=!1);var a=!1;if((u=n.framebuffer)?(u.propDep?i=a=!0:u.contextDep&&i&&(a=!0),a||E(t,r,u)):E(t,r,null),n.state.viewport&&n.state.viewport.propDep&&(i=!0),S(t,r,n),N(t,r,n.state,(function(t){return!e(t)})),n.profile&&e(n.profile)||D(t,r,n,!1,"a1"),n.contextDep=i,n.needsContext=o,n.needsFramebuffer=a,(o=n.shader.progVar).contextDep&&i||o.propDep)W(t,r,n,null);else if(o=o.append(t,r),r(t.shared.gl,".useProgram(",o,".program);"),n.shader.program)W(t,r,n,n.shader.program);else{var u=t.global.def("{}"),s=(a=r.def(o,".id"),r.def(u,"[",a,"]"));r(t.cond(s).then(s,".call(this,a0,a1);").else(s,"=",u,"[",a,"]=",t.link((function(e){return H(W,t,n,e,2)})),"(",o,");",s,".call(this,a0,a1);"))}0<Object.keys(n.state).length&&r(t.shared.current,".dirty=true;")}(o,e),o.compile()}}}function F(t,n){for(var e=0;e<t.length;++e)if(t[e]===n)return e;return-1}var U=function(t,n){for(var e=Object.keys(n),r=0;r<e.length;++r)t[e[r]]=n[e[r]];return t},L=0,q={DynamicVariable:t,define:function(e,r){return new t(e,n(r+""))},isDynamic:function(n){return"function"==typeof n&&!n._reglType||n instanceof t},unbox:function(n,e){return"function"==typeof n?new t(0,n):n},accessor:n},H={next:"function"==typeof requestAnimationFrame?function(t){return requestAnimationFrame(t)}:function(t){return setTimeout(t,16)},cancel:"function"==typeof cancelAnimationFrame?function(t){return cancelAnimationFrame(t)}:clearTimeout},Y="undefined"!=typeof performance&&performance.now?function(){return performance.now()}:function(){return+new Date},V=u();V.zero=u();var W=function(t,n){var e=1;n.ext_texture_filter_anisotropic&&(e=t.getParameter(34047));var r=1,i=1;n.webgl_draw_buffers&&(r=t.getParameter(34852),i=t.getParameter(36063));var o=!!n.oes_texture_float;if(o){o=t.createTexture(),t.bindTexture(3553,o),t.texImage2D(3553,0,6408,1,1,0,6408,5126,null);var a=t.createFramebuffer();if(t.bindFramebuffer(36160,a),t.framebufferTexture2D(36160,36064,3553,o,0),t.bindTexture(3553,null),36053!==t.checkFramebufferStatus(36160))o=!1;else{t.viewport(0,0,1,1),t.clearColor(1,0,0,1),t.clear(16384);var u=V.allocType(5126,4);t.readPixels(0,0,1,1,6408,5126,u),t.getError()?o=!1:(t.deleteFramebuffer(a),t.deleteTexture(o),o=1===u[0]),V.freeType(u)}}return u=!0,u=t.createTexture(),a=V.allocType(5121,36),t.activeTexture(33984),t.bindTexture(34067,u),t.texImage2D(34069,0,6408,3,3,0,6408,5121,a),V.freeType(a),t.bindTexture(34067,null),t.deleteTexture(u),u=!t.getError(),{colorBits:[t.getParameter(3410),t.getParameter(3411),t.getParameter(3412),t.getParameter(3413)],depthBits:t.getParameter(3414),stencilBits:t.getParameter(3415),subpixelBits:t.getParameter(3408),extensions:Object.keys(n).filter((function(t){return!!n[t]})),maxAnisotropic:e,maxDrawbuffers:r,maxColorAttachments:i,pointSizeDims:t.getParameter(33901),lineWidthDims:t.getParameter(33902),maxViewportDims:t.getParameter(3386),maxCombinedTextureUnits:t.getParameter(35661),maxCubeMapSize:t.getParameter(34076),maxRenderbufferSize:t.getParameter(34024),maxTextureUnits:t.getParameter(34930),maxTextureSize:t.getParameter(3379),maxAttributes:t.getParameter(34921),maxVertexUniforms:t.getParameter(36347),maxVertexTextureUnits:t.getParameter(35660),maxVaryingVectors:t.getParameter(36348),maxFragmentUniforms:t.getParameter(36349),glsl:t.getParameter(35724),renderer:t.getParameter(7937),vendor:t.getParameter(7936),version:t.getParameter(7938),readFloat:o,npotTextureCube:u}},X=function(t){return t instanceof Uint8Array||t instanceof Uint16Array||t instanceof Uint32Array||t instanceof Int8Array||t instanceof Int16Array||t instanceof Int32Array||t instanceof Float32Array||t instanceof Float64Array||t instanceof Uint8ClampedArray},G=function(t){return Object.keys(t).map((function(n){return t[n]}))},Z={shape:function(t){for(var n=[];t.length;t=t[0])n.push(t.length);return n},flatten:function(t,n,e,r){var i=1;if(n.length)for(var o=0;o<n.length;++o)i*=n[o];else i=0;switch(e=r||V.allocType(e,i),n.length){case 0:break;case 1:for(r=n[0],n=0;n<r;++n)e[n]=t[n];break;case 2:for(r=n[0],n=n[1],o=i=0;o<r;++o)for(var a=t[o],u=0;u<n;++u)e[i++]=a[u];break;case 3:f(t,n[0],n[1],n[2],e,0);break;default:!function t(n,e,r,i,o){for(var a=1,u=r+1;u<e.length;++u)a*=e[u];var s=e[r];if(4==e.length-r){var c=e[r+1],l=e[r+2];for(e=e[r+3],u=0;u<s;++u)f(n[u],c,l,e,i,o),o+=a}else for(u=0;u<s;++u)t(n[u],e,r+1,i,o),o+=a}(t,n,0,e,0)}return e}},$={"[object Int8Array]":5120,"[object Int16Array]":5122,"[object Int32Array]":5124,"[object Uint8Array]":5121,"[object Uint8ClampedArray]":5121,"[object Uint16Array]":5123,"[object Uint32Array]":5125,"[object Float32Array]":5126,"[object Float64Array]":5121,"[object ArrayBuffer]":5121},Q={int8:5120,int16:5122,int32:5124,uint8:5121,uint16:5123,uint32:5125,float:5126,float32:5126},K={dynamic:35048,stream:35040,static:35044},J=Z.flatten,tt=Z.shape,nt=[];nt[5120]=1,nt[5122]=2,nt[5124]=4,nt[5121]=1,nt[5123]=2,nt[5125]=4,nt[5126]=4;var et={points:0,point:0,lines:1,line:1,triangles:4,triangle:4,"line loop":2,"line strip":3,"triangle strip":5,"triangle fan":6},rt=new Float32Array(1),it=new Uint32Array(rt.buffer),ot=[9984,9986,9985,9987],at=[0,6409,6410,6407,6408],ut={};ut[6409]=ut[6406]=ut[6402]=1,ut[34041]=ut[6410]=2,ut[6407]=ut[35904]=3,ut[6408]=ut[35906]=4;var st=g("HTMLCanvasElement"),ft=g("CanvasRenderingContext2D"),ct=g("ImageBitmap"),lt=g("HTMLImageElement"),ht=g("HTMLVideoElement"),pt=Object.keys($).concat([st,ft,ct,lt,ht]),dt=[];dt[5121]=1,dt[5126]=4,dt[36193]=2,dt[5123]=2,dt[5125]=4;var vt=[];vt[32854]=2,vt[32855]=2,vt[36194]=2,vt[34041]=4,vt[33776]=.5,vt[33777]=.5,vt[33778]=1,vt[33779]=1,vt[35986]=.5,vt[35987]=1,vt[34798]=1,vt[35840]=.5,vt[35841]=.25,vt[35842]=.5,vt[35843]=.25,vt[36196]=.5;var mt=[];mt[32854]=2,mt[32855]=2,mt[36194]=2,mt[33189]=2,mt[36168]=1,mt[34041]=4,mt[35907]=4,mt[34836]=16,mt[34842]=8,mt[34843]=6;var gt=function(t,n,e,r,i){function o(t){this.id=f++,this.refCount=1,this.renderbuffer=t,this.format=32854,this.height=this.width=0,i.profile&&(this.stats={size:0})}function a(n){var e=n.renderbuffer;t.bindRenderbuffer(36161,null),t.deleteRenderbuffer(e),n.renderbuffer=null,n.refCount=0,delete c[n.id],r.renderbufferCount--}var u={rgba4:32854,rgb565:36194,"rgb5 a1":32855,depth:33189,stencil:36168,"depth stencil":34041};n.ext_srgb&&(u.srgba=35907),n.ext_color_buffer_half_float&&(u.rgba16f=34842,u.rgb16f=34843),n.webgl_color_buffer_float&&(u.rgba32f=34836);var s=[];Object.keys(u).forEach((function(t){s[u[t]]=t}));var f=0,c={};return o.prototype.decRef=function(){0>=--this.refCount&&a(this)},i.profile&&(r.getTotalRenderbufferSize=function(){var t=0;return Object.keys(c).forEach((function(n){t+=c[n].stats.size})),t}),{create:function(n,e){function a(n,e){var r=0,o=0,c=32854;if("object"==typeof n&&n?("shape"in n?(r=0|(o=n.shape)[0],o=0|o[1]):("radius"in n&&(r=o=0|n.radius),"width"in n&&(r=0|n.width),"height"in n&&(o=0|n.height)),"format"in n&&(c=u[n.format])):"number"==typeof n?(r=0|n,o="number"==typeof e?0|e:r):n||(r=o=1),r!==f.width||o!==f.height||c!==f.format)return a.width=f.width=r,a.height=f.height=o,f.format=c,t.bindRenderbuffer(36161,f.renderbuffer),t.renderbufferStorage(36161,c,r,o),i.profile&&(f.stats.size=mt[f.format]*f.width*f.height),a.format=s[f.format],a}var f=new o(t.createRenderbuffer());return c[f.id]=f,r.renderbufferCount++,a(n,e),a.resize=function(n,e){var r=0|n,o=0|e||r;return r===f.width&&o===f.height?a:(a.width=f.width=r,a.height=f.height=o,t.bindRenderbuffer(36161,f.renderbuffer),t.renderbufferStorage(36161,f.format,r,o),i.profile&&(f.stats.size=mt[f.format]*f.width*f.height),a)},a._reglType="renderbuffer",a._renderbuffer=f,i.profile&&(a.stats=f.stats),a.destroy=function(){f.decRef()},a},clear:function(){G(c).forEach(a)},restore:function(){G(c).forEach((function(n){n.renderbuffer=t.createRenderbuffer(),t.bindRenderbuffer(36161,n.renderbuffer),t.renderbufferStorage(36161,n.format,n.width,n.height)})),t.bindRenderbuffer(36161,null)}}},yt=[];yt[6408]=4,yt[6407]=3;var _t=[];_t[5121]=1,_t[5126]=4,_t[36193]=2;var bt=["x","y","z","w"],xt="blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset".split(" "),wt={0:0,1:1,zero:0,one:1,"src color":768,"one minus src color":769,"src alpha":770,"one minus src alpha":771,"dst color":774,"one minus dst color":775,"dst alpha":772,"one minus dst alpha":773,"constant color":32769,"one minus constant color":32770,"constant alpha":32771,"one minus constant alpha":32772,"src alpha saturate":776},Mt={never:512,less:513,"<":513,equal:514,"=":514,"==":514,"===":514,lequal:515,"<=":515,greater:516,">":516,notequal:517,"!=":517,"!==":517,gequal:518,">=":518,always:519},kt={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},At={cw:2304,ccw:2305},zt=new P(!1,!1,!1,(function(){}));return function(t){function n(){if(0===Z.length)w&&w.update(),J=null;else{J=H.next(n),l();for(var t=Z.length-1;0<=t;--t){var e=Z[t];e&&e(C,null,0)}m.flush(),w&&w.update()}}function e(){!J&&0<Z.length&&(J=H.next(n))}function r(){J&&(H.cancel(n),J=null)}function o(t){t.preventDefault(),r(),$.forEach((function(t){t()}))}function a(t){m.getError(),y.restore(),B.restore(),O.restore(),R.restore(),I.restore(),L.restore(),w&&w.restore(),V.procs.refresh(),e(),Q.forEach((function(t){t()}))}function u(t){function n(t){var n={},e={};return Object.keys(t).forEach((function(r){var i=t[r];q.isDynamic(i)?e[r]=q.unbox(i,r):n[r]=i})),{dynamic:e,static:n}}var e=n(t.context||{}),r=n(t.uniforms||{}),i=n(t.attributes||{}),o=n(function(t){function n(t){if(t in e){var n=e[t];delete e[t],Object.keys(n).forEach((function(r){e[t+"."+r]=n[r]}))}}var e=U({},t);return delete e.uniforms,delete e.attributes,delete e.context,"stencil"in e&&e.stencil.op&&(e.stencil.opBack=e.stencil.opFront=e.stencil.op,delete e.stencil.op),n("blend"),n("depth"),n("cull"),n("stencil"),n("polygonOffset"),n("scissor"),n("sample"),e}(t));t={gpuTime:0,cpuTime:0,count:0};var a=(e=V.compile(o,i,r,e,t)).draw,u=e.batch,s=e.scope,f=[];return U((function(t,n){var e;if("function"==typeof t)return s.call(this,null,t,0);if("function"==typeof n)if("number"==typeof t)for(e=0;e<t;++e)s.call(this,null,n,e);else{if(!Array.isArray(t))return s.call(this,t,n,0);for(e=0;e<t.length;++e)s.call(this,t[e],n,e)}else if("number"==typeof t){if(0<t)return u.call(this,function(t){for(;f.length<t;)f.push(null);return f}(0|t),0|t)}else{if(!Array.isArray(t))return a.call(this,t);if(t.length)return u.call(this,t,t.length)}}),{stats:t})}function s(t,n){var e=0;V.procs.poll();var r=n.color;r&&(m.clearColor(+r[0]||0,+r[1]||0,+r[2]||0,+r[3]||0),e|=16384),"depth"in n&&(m.clearDepth(+n.depth),e|=256),"stencil"in n&&(m.clearStencil(0|n.stencil),e|=1024),m.clear(e)}function f(t){return Z.push(t),e(),{cancel:function(){var n=F(Z,t);Z[n]=function t(){var n=F(Z,t);Z[n]=Z[Z.length-1],--Z.length,0>=Z.length&&r()}}}}function c(){var t=X.viewport,n=X.scissor_box;t[0]=t[1]=n[0]=n[1]=0,C.viewportWidth=C.framebufferWidth=C.drawingBufferWidth=t[2]=n[2]=m.drawingBufferWidth,C.viewportHeight=C.framebufferHeight=C.drawingBufferHeight=t[3]=n[3]=m.drawingBufferHeight}function l(){C.tick+=1,C.time=v(),c(),V.procs.poll()}function h(){c(),V.procs.refresh(),w&&w.update()}function v(){return(Y()-M)/1e3}if(!(t=i(t)))return null;var m=t.gl,g=m.getContextAttributes();m.isContextLost();var y=function(t,n){function e(n){var e;n=n.toLowerCase();try{e=r[n]=t.getExtension(n)}catch(t){}return!!e}for(var r={},i=0;i<n.extensions.length;++i){var o=n.extensions[i];if(!e(o))return n.onDestroy(),n.onDone('"'+o+'" extension is not supported by the current WebGL context, try upgrading your system or a different browser'),null}return n.optionalExtensions.forEach(e),{extensions:r,restore:function(){Object.keys(r).forEach((function(t){if(!e(t))throw Error("(regl): error restoring extension "+t)}))}}}(m,t);if(!y)return null;var _=function(){var t={"":0},n=[""];return{id:function(e){var r=t[e];return r||(r=t[e]=n.length,n.push(e),r)},str:function(t){return n[t]}}}(),b={bufferCount:0,elementsCount:0,framebufferCount:0,shaderCount:0,textureCount:0,cubeCount:0,renderbufferCount:0,maxTextureUnits:0},x=y.extensions,w=function(t,n){function e(){this.endQueryIndex=this.startQueryIndex=-1,this.sum=0,this.stats=null}function r(t,n,r){var i=u.pop()||new e;i.startQueryIndex=t,i.endQueryIndex=n,i.sum=0,i.stats=r,s.push(i)}var i=n.ext_disjoint_timer_query;if(!i)return null;var o=[],a=[],u=[],s=[],f=[],c=[];return{beginQuery:function(t){var n=o.pop()||i.createQueryEXT();i.beginQueryEXT(35007,n),a.push(n),r(a.length-1,a.length,t)},endQuery:function(){i.endQueryEXT(35007)},pushScopeStats:r,update:function(){var t,n;if(0!==(t=a.length)){c.length=Math.max(c.length,t+1),f.length=Math.max(f.length,t+1),f[0]=0;var e=c[0]=0;for(n=t=0;n<a.length;++n){var r=a[n];i.getQueryObjectEXT(r,34919)?(e+=i.getQueryObjectEXT(r,34918),o.push(r)):a[t++]=r,f[n+1]=e,c[n+1]=t}for(a.length=t,n=t=0;n<s.length;++n){var l=(e=s[n]).startQueryIndex;r=e.endQueryIndex,e.sum+=f[r]-f[l],l=c[l],(r=c[r])===l?(e.stats.gpuTime+=e.sum/1e6,u.push(e)):(e.startQueryIndex=l,e.endQueryIndex=r,s[t++]=e)}s.length=t}},getNumPendingQueries:function(){return a.length},clear:function(){o.push.apply(o,a);for(var t=0;t<o.length;t++)i.deleteQueryEXT(o[t]);a.length=0,o.length=0},restore:function(){a.length=0,o.length=0}}}(0,x),M=Y(),N=m.drawingBufferWidth,T=m.drawingBufferHeight,C={tick:0,time:0,viewportWidth:N,viewportHeight:T,framebufferWidth:N,framebufferHeight:T,drawingBufferWidth:N,drawingBufferHeight:T,pixelRatio:t.pixelRatio},j=W(m,x),O=(N=function(t,n,e,r){for(t=e.maxAttributes,n=Array(t),e=0;e<t;++e)n[e]=new z;return{Record:z,scope:{},state:n}}(m,x,j),p(m,b,t,N)),P=d(m,x,O,b),B=E(m,_,b,t),R=k(m,x,j,(function(){V.procs.poll()}),C,b,t),I=gt(m,x,0,b,t),L=A(m,x,j,R,I,b),V=D(m,_,x,j,O,P,0,L,{},N,B,{elements:null,primitive:4,count:-1,offset:0,instances:-1},C,w,t),X=(_=S(m,L,V.procs.poll,C),V.next),G=m.canvas,Z=[],$=[],Q=[],K=[t.onDestroy],J=null;G&&(G.addEventListener("webglcontextlost",o,!1),G.addEventListener("webglcontextrestored",a,!1));var tt=L.setFBO=u({framebuffer:q.define.call(null,1,"framebuffer")});return h(),g=U(u,{clear:function(t){if("framebuffer"in t)if(t.framebuffer&&"framebufferCube"===t.framebuffer_reglType)for(var n=0;6>n;++n)tt(U({framebuffer:t.framebuffer.faces[n]},t),s);else tt(t,s);else s(0,t)},prop:q.define.bind(null,1),context:q.define.bind(null,2),this:q.define.bind(null,3),draw:u({}),buffer:function(t){return O.create(t,34962,!1,!1)},elements:function(t){return P.create(t,!1)},texture:R.create2D,cube:R.createCube,renderbuffer:I.create,framebuffer:L.create,framebufferCube:L.createCube,attributes:g,frame:f,on:function(t,n){var e;switch(t){case"frame":return f(n);case"lost":e=$;break;case"restore":e=Q;break;case"destroy":e=K}return e.push(n),{cancel:function(){for(var t=0;t<e.length;++t)if(e[t]===n){e[t]=e[e.length-1],e.pop();break}}}},limits:j,hasExtension:function(t){return 0<=j.extensions.indexOf(t.toLowerCase())},read:_,destroy:function(){Z.length=0,r(),G&&(G.removeEventListener("webglcontextlost",o),G.removeEventListener("webglcontextrestored",a)),B.clear(),L.clear(),I.clear(),R.clear(),P.clear(),O.clear(),w&&w.clear(),K.forEach((function(t){t()}))},_gl:m,_refresh:h,poll:function(){l(),w&&w.update()},now:v,stats:b}),t.onDone(null,g),g}}()},function(t,n,e){var r=e(1);t.exports=function(){var t=this.args.container;r.select(t).append("div").attr("class","control-container").style("cursor","default"),r.select(t).append("div").attr("class","canvas-container").style("position","absolute").style("cursor","default");var n=r.select(t).select(".canvas-container")._groups[0][0],e=this.args.viz_height,i=this.args.viz_width;r.select(n).style("height",e+"px").style("width",i+"px"),this.canvas_container=n}},function(t,n,e){var r=e(1),i=e(300);t.exports=function(){var t,n,e=this,o=e.params;e.regl;_.each(["row","col"],(function(a){"row"===a?(t=175,n=o.viz_width-25):(t=795,n=55),r.select(o.root+" .canvas-container").append("svg").style("height","130px").style("width","20px").style("position","absolute").style("top",t+"px").style("left",n+"px").attr("class",a+"_dendro_slider_svg").attr("transform",(function(){return"rotate("+("row"===a?0:-90)+")"})).append("rect").style("height","130px").style("width","25px").style("fill","white"),i(e,a)}))}},function(t,n,e){var r=e(1),i=e(83);let o=e(84);t.exports=function(t,n){t.regl;let e=t.params;let a;a=e.dendro.precalc_linkage?3:-1;var u=r.drag().on("drag",(function(){e.is_slider_drag=!0;var t=r.event.y;t<0&&(t=0);t>100&&(t=100);this.nextSibling&&this.parentNode.appendChild(this);var i=c(t=o(t,a),e.dendro.precalc_linkage);r.select(this).attr("transform","translate(0, "+t+")"),e[n+"_dendro_slider_value"]=i})).on("end",(function(){i(t,n,e[n+"_dendro_slider_value"]),e.is_slider_drag=!1})),s=r.select(e.root+" ."+n+"_dendro_slider_svg").append("g").classed(n+"_slider_group",!0).attr("transform",(function(){return"translate(10, 12)","translate(10, 12)"}));s.append("rect").classed(n+"_slider_background",!0).attr("height","120px").attr("width","20px").attr("fill","red").attr("transform",(function(){return"translate(-10, -5)"})).attr("opacity",0),s.append("line").attr("stroke-width",100/7+"px").attr("stroke","black").attr("stroke-linecap","round").attr("opacity",0).attr("y1",0).attr("y2",(function(){return 98})).on("click",f);s.append("path").attr("fill","black").attr("transform","translate(-2.5, 0)").attr("d",(function(){return"M0,0 L0, 100 L10,0 Z"})).attr("opacity",.35).on("click",f);function f(){var u=r.mouse(this),s=o(u[1],a);r.select(e.root+" ."+n+"_group_circle").attr("transform","translate(0, "+s+")");var f=c(s,e.dendro.precalc_linkage);e[n+"_dendro_slider_value"]=f,i(t,n,f)}function c(t,n){let e;return e=n?1-t/100:10-t/10,e}s.append("circle").classed(n+"_group_circle",!0).attr("r",8).attr("transform",(function(){return"translate(0, 50)"})).attr("fill","blue").attr("opacity",.35).on("mouseover",(function(){r.select(this).attr("opacity",.6)})).on("mouseout",(function(){r.select(this).attr("opacity",.35)})).call(u),e.dendro.precalc_linkage&&s.append("text").classed("dendro_level_text",!0).text(e.dendro.default_link_level).attr("transform","translate(0, 90) rotate(90)").attr("font-family",'"Helvetica Neue", Helvetica, Arial, sans-serif').attr("font-weight",400).attr("font-size",15).attr("text-anchor","middle").attr("stroke","#47515b").attr("alignment-baseline","middle").attr("letter-spacing","2px").attr("cursor","default"),e.dendro.increment_buttons&&(s.append("path").attr("d",(function(){return"M0,10 L10, 0 L20,10 Z"})).attr("transform",(function(){return"translate(-10, -13)"})).attr("fill","blue").attr("opacity",.35).on("mouseover",(function(){r.select(this).attr("opacity",.6)})).on("mouseout",(function(){r.select(this).attr("opacity",.35)})).on("click",t=>console.log("increment up")),s.append("path").attr("d",(function(){return"M0,0 L10, 10 L20,0 Z"})).attr("transform",(function(){return"translate(-10, 100)"})).attr("fill","blue").attr("opacity",.35).on("mouseover",(function(){r.select(this).attr("opacity",.6)})).on("mouseout",(function(){r.select(this).attr("opacity",.35)})).on("click",t=>console.log("increment down")))}},function(t,n,e){var r=e(1);let i=e(12),o=e(309),a=e(86),u=e(88);t.exports=function(){var t=this,n=t.regl,s=t.params;s.tooltip_id="#d3-tip_"+s.root.replace("#","");var f=e(313).default().attr("id",s.tooltip_id.replace("#","")).attr("class","cgm-tooltip").direction("sw").html((function(){return""}));s.tooltip_fun=f;var c=r.select(s.root+" .control-container")._groups[0][0],l=s.viz_width,h=r.select(c).attr("height","135px").attr("width",l+"px").append("svg").classed("control_svg",!0).attr("height","135px").attr("width",l+"px").on("mouseover",(function(){s.tooltip.in_bounds_tooltip=!1}));h.append("rect").attr("height","135px").attr("width",l+"px").attr("position","absolute").attr("fill","white").attr("class","control-panel-background").call(f),e(314)(s),r.select(s.tooltip_id).style("line-height",1.5).style("font-weight","bold").style("padding-top","3px").style("padding-bottom","7px").style("padding-left","10px").style("padding-right","10px").style("background","rgba(0, 0, 0, 0.8)").style("color","#fff").style("border-radius","2px").style("pointer-events","none").style("font-family",'"Helvetica Neue", Helvetica, Arial, sans-serif').style("font-size","12px");h.append("rect").classed("north_border",!0).attr("height","1px").attr("width",l+"px").attr("position","absolute").attr("stroke","#eee").attr("stroke-width",3).attr("transform",(function(){return"translate( 0, 134)"}));var p={height:32,width:63,buffer:12};p.x_trans=p.width+p.buffer,p.fs=11;var d={row:{},col:{}};h.append("svg:a").append("svg:image").classed("cgm-logo",!0).attr("x",15).attr("y",55).attr("width",50).attr("height",50).attr("xlink:href","https://raw.githubusercontent.com/ismms-himc/clustergrammer-gl/master/img/graham_cracker_144.png").on("click",(function(t){window.open("https://clustergrammer.readthedocs.io/","_blank")}));d.row.x_trans=125,d.col.x_trans=125;d.col.y_trans=47,d.row.y_trans=d.col.y_trans+p.height+p.buffer,h.append("g").classed("panel_button_titles",!0).classed("reorder_button_title",!0).on("click",(function(){r.selectAll(s.root+" .panel_button_titles").attr("opacity",.5),r.select(this).attr("opacity",1),"recluster"==s.viz.current_panel&&(s.viz.current_panel="reorder",r.select(s.root+" .panel_button_title").text("reorder".toUpperCase()),r.select(s.root+" .top_button_title").text("COL"),r.select(s.root+" .bottom_button_title").text("ROW"),r.selectAll(s.root+" .reorder_buttons").style("display","block"),r.select(s.root+" .run_cluster_container").style("display","none"),r.selectAll(s.root+" .dist_options").style("display","none"),r.selectAll(s.root+" .link_options_container").style("display","none"))})).append("text").text("reorder".toUpperCase()).attr("font-family",'"Helvetica Neue", Helvetica, Arial, sans-serif').attr("font-weight",400).attr("font-size",p.fs).attr("text-anchor","middle").attr("stroke","#47515b").attr("alignment-baseline","middle").attr("letter-spacing","2px").attr("cursor","default").attr("transform",(function(){return"translate( 170, "+(47-2*p.buffer+2)+")"}));var v=["clust","sum","var","ini"];h.append("rect").attr("height","1px").attr("width","290px").attr("position","absolute").attr("stroke","#eee").attr("stroke-width",2).attr("transform",(function(){return"translate( "+(p.x_trans-p.buffer+1+60)+", "+(47-p.buffer+2)+")"}));let m={col:"top",row:"bottom"};_.each(["row","col"],(function(t){h.append("g").classed(m[t]+"_button_title_container",!0).attr("transform",(function(){return"translate(0, "+d[t].y_trans+")"})).append("text").classed(m[t]+"_button_title",!0).text(t.toUpperCase()).style("-webkit-user-select","none").attr("font-family",'"Helvetica Neue", Helvetica, Arial, sans-serif').attr("font-weight",400).attr("font-size",p.fs).attr("text-anchor","middle").attr("stroke","#47515b").attr("alignment-baseline","middle").attr("letter-spacing","2px").attr("cursor","default").attr("transform","translate(95, "+p.height/2+")");var i=h.append("g");i.classed(t+"-reorder-buttons",!0);var o=i.selectAll("g").data(v).enter().append("g").classed("reorder_buttons",!0).attr("transform",(function(n,e){return"translate("+(p.x_trans*e+d[t].x_trans)+", "+d[t].y_trans+")"})).on("click",(function(i){var o=i.replace("sum","rank").replace("var","rankvar");s.order.inst[t]!=o&&(console.log(">>>>>>>>",s.order.inst[t],o),e(17)(n,s,t,i),r.select(s.root+" ."+t+"-reorder-buttons").selectAll("rect").attr("stroke","#eee"),r.select(this).select("rect").attr("stroke","#8797ff"))}));o.append("rect").attr("height",p.height).attr("width",p.width).attr("fill","white").attr("rx",10).attr("ry",10).attr("stroke",(function(n){return s.order.inst[t]==n?"#8797ff":"#eee"})).attr("stroke-width",2.5),o.append("text").classed("button-name",!0).text((function(t){return t.toUpperCase()})).style("-webkit-user-select","none").attr("font-family",'"Helvetica Neue", Helvetica, Arial, sans-serif').attr("font-weight",400).attr("font-size",p.fs).attr("text-anchor","middle").attr("stroke","#47515b").attr("alignment-baseline","middle").attr("letter-spacing","2px").attr("cursor","default").attr("transform","translate("+p.width/2+", "+p.height/2+")")})),e(317)(n,t),e(318)(t);var g=r.select(s.root+" .control-container").append("div").classed("row_search_container",!0).style("position","absolute").style("padding-left","10px").style("padding-right","10px").style("margin-top","10px").style("top","37px").style("left","440px");let y=t.params.root.replace("#","");g.append("input").classed("form-control",!0).classed("row_search_box",!0).classed("sidebar_text",!0).attr("type","text").attr("placeholder","row names").attr("list","row_names_"+y).style("width","100px").style("height","20px").style("margin-top","5px").style("display","inline-block").style("padding","1pt 2pt");let b=s.network.row_node_names;g.append("datalist").attr("id","row_names_"+y).selectAll("options").data(b).enter().append("option").attr("value",t=>t),g.append("div").classed("row_search_button",!0).style("margin-top","5px").style("margin-left","5px").style("display","inline-block").attr("data-toggle","buttons").append("button").classed("sidebar_text",!0).html("Find").attr("type","button").classed("btn",!0).classed("btn-primary",!0).classed("submit_gene_button",!0).style("width","100%").style("font-size","14px").style("font-family",'"Helvetica Neue", Helvetica, Arial, sans-serif').style("font-weight",400).on("click",n=>{let e=r.select(s.root+" .control-container .row_search_box").node().value;s.search.searched_rows=e.split(", "),i(t)}),o(t),h.append("text").classed("download_section_title",!0).text("download".toUpperCase()).attr("font-family",'"Helvetica Neue", Helvetica, Arial, sans-serif').attr("font-weight",400).attr("font-size",p.fs).attr("text-anchor","middle").attr("stroke","#47515b").attr("alignment-baseline","middle").attr("letter-spacing","2px").attr("cursor","default").attr("transform",(function(){return"translate( 775, "+(47-2*p.buffer+2)+")"})),h.append("rect").classed("download_section_border",!0).attr("height","1px").attr("width","145px").attr("position","absolute").attr("stroke","#eee").attr("stroke-width",2).attr("transform",(function(){return"translate( 705, "+(47-p.buffer+2)+")"})),h.append("g").on("click",t=>{s.download.delimiter_name="csv",a(s)}).append("text").classed("download_section_type",!0).text("csv".toUpperCase()).attr("font-family",'"Helvetica Neue", Helvetica, Arial, sans-serif').attr("font-weight",400).attr("font-size",p.fs).attr("text-anchor","middle").attr("stroke","blue").attr("opacity",.75).attr("alignment-baseline","middle").attr("letter-spacing","2px").attr("cursor","default").attr("transform",(function(){return"translate( 725, 63)"}));h.append("g").on("click",t=>{s.download.delimiter_name="tsv",a(s)}).append("text").classed("download_section_type",!0).text("tsv".toUpperCase()).attr("font-family",'"Helvetica Neue", Helvetica, Arial, sans-serif').attr("font-weight",400).attr("font-size",p.fs).attr("text-anchor","middle").attr("stroke","blue").attr("opacity",.75).attr("alignment-baseline","middle").attr("letter-spacing","2px").attr("cursor","default").attr("transform",(function(){return"translate( 765, 63)"})),h.append("g").on("click",t=>{s.download.delimiter_name="tuple",a(s)}).append("text").classed("download_section_type",!0).text("tuple".toUpperCase()).attr("font-family",'"Helvetica Neue", Helvetica, Arial, sans-serif').attr("font-weight",400).attr("font-size",p.fs).attr("text-anchor","middle").attr("stroke","blue").attr("opacity",.75).attr("alignment-baseline","middle").attr("letter-spacing","2px").attr("cursor","default").attr("transform",(function(){return"translate( 815, 63)"})),h.append("text").classed("download_section_type",!0).text("matrix".toUpperCase()).attr("font-family",'"Helvetica Neue", Helvetica, Arial, sans-serif').attr("font-weight",400).attr("font-size",p.fs).attr("text-anchor","middle").attr("stroke","#47515b").attr("alignment-baseline","middle").attr("letter-spacing","2px").attr("cursor","default").attr("transform",(function(){return"translate( 675, 63)"})),h.append("text").classed("download_section_type",!0).text("meta".toUpperCase()).attr("font-family",'"Helvetica Neue", Helvetica, Arial, sans-serif').attr("font-weight",400).attr("font-size",p.fs).attr("text-anchor","middle").attr("stroke","#47515b").attr("alignment-baseline","middle").attr("letter-spacing","2px").attr("cursor","default").attr("transform",(function(){return"translate( 675, 107)"})),h.append("g").on("click",t=>{s.download.meta_type="col",u(s)}).append("text").classed("download_section_type",!0).text("col".toUpperCase()).attr("font-family",'"Helvetica Neue", Helvetica, Arial, sans-serif').attr("font-weight",400).attr("font-size",p.fs).attr("text-anchor","middle").attr("stroke","blue").attr("opacity",.75).attr("alignment-baseline","middle").attr("letter-spacing","2px").attr("cursor","default").attr("transform",(function(){return"translate( 725, 107)"})),h.append("g").on("click",t=>{s.download.meta_type="row",u(s)}).append("text").classed("download_section_type",!0).text("row".toUpperCase()).attr("font-family",'"Helvetica Neue", Helvetica, Arial, sans-serif').attr("font-weight",400).attr("font-size",p.fs).attr("text-anchor","middle").attr("stroke","blue").attr("opacity",.75).attr("alignment-baseline","middle").attr("letter-spacing","2px").attr("cursor","default").attr("transform",(function(){return"translate( 765, 107)"}))}},function(t,n,e){var r=e(16);t.exports=function(t,n){n.cameras.mat.draw(()=>{t(n.matrix_args.regl_props.rects)({interp_prop:r(n),run_animation:n.ani.running})})}},function(t,n){t.exports=function(t){return t<.5?4*t*t*t:.5*Math.pow(2*t-2,3)+1}},function(t,n,e){var r=e(13),i=e(20),o=e(305),a=e(16);t.exports=function(t,n,e){var u,s,f,c,l=n.labels["num_"+e];"col"===e?(u=(f=n.viz_dim.heat_size.x)/l*n.zoom_data.x.total_zoom,s=f/l,c=-n.viz_dim.mat_size.y-u):(u=.02,s=(f=n.viz_dim.heat_size.y)/l,c=-n.viz_dim.mat_size.x-u);var h,p=o(n,e,n.order.inst[e]),d=o(n,e,n.order.new[e]),v=r.scaling(2,1);"row"===e?h=0:"col"===e&&(h=Math.PI/2);var m=r.rotation(h),g=n.zoom_data.x.total_zoom,y=i("#eee",1);let _=Array(l).fill(y),b=n.search.searched_rows,x=_.map((t,r)=>{if("row"===e){let e=n.network.row_node_names[r];b.includes(e)&&(t=i("red",1))}return t});const w=t.buffer({length:l,usage:"dynamic"});return w(x),n.viz_tri_color_arr=x,{vert:"\n precision highp float;\n attribute vec2 ini_position;\n attribute float tri_offset_att_inst;\n attribute float tri_offset_att_new;\n\n uniform mat3 mat_rotate;\n uniform mat3 scale_y;\n uniform mat4 zoom;\n uniform float top_offset;\n uniform float total_zoom;\n uniform float interp_uni;\n uniform bool run_animation;\n\n varying vec3 new_position;\n varying vec3 vec_translate;\n varying vec2 viz_aid_pos;\n\n attribute vec4 color_att;\n varying vec4 color_vary;\n\n void main () {\n\n new_position = vec3(ini_position, 0);\n\n // interpolate between the two positions using the interpolate uniform\n if (run_animation){\n viz_aid_pos = mix(vec2(tri_offset_att_inst, 0), vec2(tri_offset_att_new, 0), interp_uni);\n } else{\n viz_aid_pos = vec2(tri_offset_att_inst, 0);\n }\n\n vec_translate = vec3(top_offset, viz_aid_pos);\n\n // rotate translated triangles\n new_position = mat_rotate * ( new_position + vec_translate );\n\n // depth is being set to 0.45\n gl_Position = zoom * vec4( vec2(new_position), 0.45, 1);\n\n // pass attribute (in vert) to varying in frag\n color_vary = color_att;\n }\n ",frag:"\n\n precision highp float;\n // uniform vec4 triangle_color;\n varying vec4 color_vary;\n\n // color triangle red\n void main () {\n\n // // defining the triangle color using a uniform\n // gl_FragColor = triangle_color;\n\n // define the triangle color using a varying\n gl_FragColor = color_vary;\n\n }\n\n ",attributes:{ini_position:[[u,0],[0,-s],[u,-2*s]],tri_offset_att_inst:{buffer:t.buffer(p),divisor:1},tri_offset_att_new:{buffer:t.buffer(d),divisor:1},color_att:{buffer:w,divisor:1}},uniforms:{zoom:function(t){return t.view},mat_rotate:m,scale_y:v,top_offset:c,total_zoom:g,interp_uni:()=>Math.max(0,Math.min(1,a(n))),run_animation:n.ani.running},count:3,instances:l,depth:{enable:!0,mask:!0,func:"less",range:[0,1]}}}},function(t,n){t.exports=function(t,n,e){var r,i,o,a=t.labels["num_"+n];"row"===n?(i=(r=t.viz_dim.heat_size.y)/a,o=t.viz_dim.mat_size.y-t.viz_dim.heat_size.y):(i=(r=t.viz_dim.heat_size.x)/a,o=-(t.viz_dim.mat_size.x-t.viz_dim.heat_size.x));var u,s,f,c=[];for(u=0;u<a;u++)f=t.network[n+"_nodes"][u][e],s="row"==n?a-f-1:f,c[u]=r-o-2*i*s;return c}},function(t,n,e){var r=e(1),i=e(13),o=e(16);t.exports=function(t,n,e){var a=n.labels.num_col,u=n.viz_dim.heat_size.x/a;n.text_scale.col=r.scaleLinear().domain([1,10]).range([1,10/n.allow_zoom.col]);var s=a/5;n.text_scale.col=r.scaleLinear().domain([1,n.max_zoom]).range([1,s]);var f=a,c=1/a*n.zoom_data.x.total_zoom,l=n.text_zoom.col.max_webgl_fs;c>l&&(f*=c/l);var h=i.rotation(Math.PI/4),p=i.scaling(1,n.zoom_data.x.total_zoom),d=u,v=-.5*(u/Math.sqrt(2));return{vert:"\n precision mediump float;\n attribute vec2 position;\n uniform mat4 zoom;\n uniform vec2 inst_offset;\n uniform vec2 new_offset;\n uniform float y_offset;\n uniform float scale_text;\n uniform mat3 mat_rotate;\n uniform mat3 text_y_scale;\n uniform float total_zoom;\n uniform float col_width;\n varying vec3 rotated_text;\n varying vec3 position_cols;\n uniform float heat_size;\n varying vec3 xy_positions;\n varying float x_position;\n varying float y_position;\n uniform float shift_text_out;\n uniform float shift_text_right;\n uniform float shift_text_up;\n uniform float shift_heat;\n uniform float interp_uni;\n uniform bool run_animation;\n varying vec2 mixed_offset;\n\n // last value is a sort-of zoom\n void main () {\n\n // rotate, reduce size, stretch in y, and give text triangles positions\n // shifting text up in the original text triangle units\n rotated_text = text_y_scale *\n mat_rotate *\n vec3(position.y/scale_text, position.x/scale_text, 0.0);\n\n // the y position is constant for all column labels\n //---------------------------------------------------------------\n // working on shifting text up\n //---------------------------------------------------------------\n y_position = y_offset;\n\n // the x position varies for all column labelss\n //---------------------------------------------------------------\n // interpolate between the two positions using the interpolate uniform\n if (run_animation){\n mixed_offset = mix(inst_offset, new_offset , interp_uni);\n } else {\n mixed_offset = inst_offset;\n }\n\n // mixed_offset = inst_offset;\n\n x_position = (mixed_offset[1] * 2.0 * heat_size + shift_heat + shift_text_right);\n\n position_cols = vec3( x_position, y_position, 0.10);\n\n xy_positions = rotated_text + position_cols;\n\n // reverse y position to get words to be upright\n ////////////////////////////\n // vec4: x, y, depth, zoom\n ////////////////////////////\n gl_Position = zoom * vec4( xy_positions, 1.0);\n\n }",frag:"\n precision mediump float;\n void main () {\n gl_FragColor = vec4(0.2, 0.2, 0.2, 1.0);\n }",attributes:{position:t.prop("positions")},elements:t.prop("cells"),uniforms:{zoom:e,inst_offset:t.prop("inst_offset"),new_offset:t.prop("new_offset"),scale_text:f,y_offset:n.viz_dim.mat_size.y,heat_size:n.viz_dim.heat_size.x,shift_heat:n.viz_dim.mat_size.x-n.viz_dim.heat_size.x,shift_text_right:d,shift_text_out:0,shift_text_up:v,mat_rotate:h,text_y_scale:p,total_zoom:n.zoom_data.x.total_zoom,col_width:u,interp_uni:()=>Math.max(0,Math.min(1,o(n))),run_animation:n.ani.running},depth:{enable:!0,mask:!0,func:"less",range:[0,1]}}}},function(t,n,e){var r=e(13),i=e(16);t.exports=function(t,n,e){var o=n.labels.num_row,a=o,u=1/o*n.zoom_data.y.total_zoom,s=n.text_zoom.row.max_webgl_fs;u>s&&(a*=u/s);var f=r.rotation(Math.PI/2),c=n.viz_dim.mat_size.x+.02;return{vert:"\n precision mediump float;\n attribute vec2 position;\n uniform mat4 zoom;\n uniform vec2 inst_offset;\n uniform vec2 new_offset;\n uniform float x_offset;\n uniform float scale_text;\n uniform float total_zoom;\n uniform mat3 mat_rotate;\n uniform float heat_size;\n varying float x_position;\n varying float y_position;\n uniform float shift_heat;\n uniform float interp_uni;\n uniform bool run_animation;\n varying vec2 mixed_offset;\n\n // vec3 tmp = vec3(1,1,1);\n\n // last value is a sort-of zoom\n void main () {\n\n // reverse y position to get words to be upright\n\n // the x position is constant for all row labels\n //------------------------------------------------------\n // total_zoom stretches out row labels horizontally\n // then text is offset to the left side of the heatmap\n //------------------------------------------------------\n x_position = position.x/scale_text * total_zoom - x_offset;\n\n // the y position varies for all row labels\n //------------------------------------------------------\n // shift by offset and then uniformly shift down by s\n // shift_heat\n //------------------------------------------------------\n // interpolate between the two positions using the interpolate uniform\n if (run_animation){\n mixed_offset = mix(inst_offset, new_offset , interp_uni);\n } else {\n mixed_offset = inst_offset;\n }\n\n // mixed_offset = inst_offset;\n\n y_position = -position.y/scale_text + 2.0 * heat_size * mixed_offset[1] - shift_heat ;\n\n gl_Position = zoom *\n vec4(x_position,\n y_position,\n 0.50,\n 1.0);\n }",frag:"\n precision mediump float;\n void main () {\n gl_FragColor = vec4(0.2, 0.2, 0.2, 1.0);\n }",attributes:{position:t.prop("positions")},elements:t.prop("cells"),uniforms:{zoom:e,inst_offset:t.prop("inst_offset"),new_offset:t.prop("new_offset"),scale_text:a,x_offset:c,heat_size:n.viz_dim.heat_size.y,shift_heat:n.viz_dim.mat_size.y-n.viz_dim.heat_size.y,total_zoom:n.zoom_data.y.total_zoom,mat_rotate:f,interp_uni:()=>Math.max(0,Math.min(1,i(n))),run_animation:n.ani.running},depth:{enable:!0,mask:!0,func:"less",range:[0,1]}}}},function(t,n){t.exports=function(t,n){n.cameras.static.draw(()=>{var e=n.spillover_args,r=n.spillover_triangles;t(e.mat_sides)(r.mat_sides),t(e.cats)(r.cats),t(e.mat_corners)(r.mat_corners),t(e.label_corners)(r.label_corners)})}},function(t,n,e){var r=e(1);let i=e(84),o=e(12);t.exports=function(t){console.log("build_opacity_slider!!");t.regl;let n=t.params;var e=r.drag().on("drag",(function(){n.is_opacity_drag=!0;var t=r.event.y;t<0&&(t=0);t>100&&(t=100);this.nextSibling&&this.parentNode.appendChild(this);var e=f(t=i(t,-1));r.select(this).attr("transform","translate(0, "+t+")"),n.opacity_slider_value=e})).on("end",(function(){n.is_opacity_drag=!1,c(n.opacity_slider_value)})),a=r.select(n.root+" .control_svg").append("g").classed("opacity_slider_group",!0).attr("transform",(function(){return"translate(10, 12)","translate(10, 12)"})).attr("transform","translate(435, 110), rotate(-90)");a.append("rect").classed("opacity_slider_background",!0).attr("height","120px").attr("width","20px").attr("fill","red").attr("transform",(function(){return"translate(-10, -5)"})).attr("opacity",0),a.append("line").attr("stroke-width",100/7+"px").attr("stroke","black").attr("stroke-linecap","round").attr("opacity",0).attr("y1",0).attr("y2",(function(){return 98})).on("click",s);a.append("path").attr("fill","black").attr("transform","translate(-2.5, 0)").attr("d",(function(){return"M0,0 L0, 100 L10,0 Z"})).attr("opacity",.35).on("click",s);a.append("circle").classed("opacity_group_circle",!0).attr("r",8).attr("transform",(function(){return"translate(0, 50)"})).attr("fill","blue").attr("opacity",.35).on("mouseover",(function(){r.select(this).attr("opacity",.6)})).on("mouseout",(function(){r.select(this).attr("opacity",.35)})).call(e);var u={};function s(){var t=r.mouse(this),e=i(t[1],-1);r.select(n.root+" .opacity_group_circle").attr("transform","translate(0, "+e+")");var o=f(e);n.opacity_slider_value=o,console.log("click opacity: ",o),c(o)}function f(t){let n=2*(t/50-1);return Math.pow(2,n)}function c(e){e=i(e,2),n.matrix.opacity_scale=e,t.make_matrix_args(),o(t),r.select(n.root+" .opacity_level_text").text(e)}u.height=32,u.width=63,u.buffer=12,u.x_trans=u.width+u.buffer,u.fs=11,a.append("text").text("opacity".toUpperCase()).attr("font-family",'"Helvetica Neue", Helvetica, Arial, sans-serif').attr("font-weight",400).attr("font-size",u.fs).attr("text-anchor","middle").attr("stroke","#47515b").attr("alignment-baseline","middle").attr("letter-spacing","2px").attr("cursor","default").attr("transform","translate(10, 140), rotate(90)"),n.dendro.default_opacity_scale=1,a.append("text").classed("opacity_level_text",!0).text("1.0").attr("transform","translate(-5, 140) rotate(90)").attr("font-family",'"Helvetica Neue", Helvetica, Arial, sans-serif').attr("font-weight",400).attr("font-size",11).attr("text-anchor","right").attr("stroke","#47515b").attr("alignment-baseline","middle").attr("letter-spacing","2px").attr("cursor","default")}},function(t,n,e){var r=e(311);t.exports=function(t){t.matrix;let n,e=t.download.delimiter_key[t.download.delimiter_name];for(var i,o={},a=(["row","col"].forEach(n=>{o[n]=t.network[n+"_nodes"].map(e=>t.labels["num_"+n]-1-e.ini)}),e),u=t.network.row_nodes,s=t.network.col_nodes,f=0;f<o.col.length;f++){var c=s[o.col[f]];let n;"tuple"===t.download.delimiter_name?n=r(t,c,"col"):(n=c.name,n.includes(": ")&&(n=n.split(": ")[1])),f<o.col.length-1?a=a+n+e:a+=n}var l;return t.norm.zscore_status,"non-zscored"===t.norm.zscore_status&&"mat_data_iz"in t?inst_mat_data=t.mat_data_iz:inst_mat_data=t.mat_data,a+="\n",o.row.forEach(s=>{i=inst_mat_data[s],l=u[s],"tuple"===t.download.delimiter_name?n=r(t,l,"row"):(n=l.name,n.includes(": ")&&(n=n.split(": ")[1])),a=a+n+e;for(var f=0;f<o.col.length;f++){var c=o.col[f];f<o.col.length-1?a=a+String(i[c])+e:a+=String(i[c])}a+="\n"}),a}},function(t,n){t.exports=function(t,n,e){var r,i=n.name,o=t.viz.all_cats[e].length;if(o>0){i="('"+i+"'";for(var a=0;a<o;a++)r="cat-"+String(a),i=i+", '"+String(n[r])+"'";i+=")"}else i=String(i);return i}},function(t,n){t.exports=function(t){console.log("make_meta_string");let n,e,r=",",i=t.download.meta_type,o=t.network[i+"_nodes"];return t.cat_data[i].forEach((n,e)=>{e<t.cat_data[i].length-1?r=r+n.cat_title+",":r+=n.cat_title}),console.log(r),r+="\n",o.forEach((o,a)=>{n=o.name,n.includes(": ")&&(n=n.split(": ")[1]),r=r+n+",",t.cat_data[i].forEach((n,a)=>{e=o["cat-"+String(a)],e.includes(": ")&&(e=e.split(": ")[1]),a<t.cat_data[i].length-1?r=r+e+",":r+=e}),r+="\n"}),r}},function(t,n,e){"use strict";e.r(n);var r=e(5),i=e(0);n.default=function(){var t=function(){return"n"},n=function(){return[0,0]},e=function(){return" "},o=document.body,a=p(),u=null,s=null,f=null;function c(t){var n;n=t.node(),(u=n?"svg"===n.tagName.toLowerCase()?n:n.ownerSVGElement:null)&&(s=u.createSVGPoint(),o.appendChild(a))}c.show=function(){var r=Array.prototype.slice.call(arguments);r[r.length-1]instanceof SVGElement&&(f=r.pop());var i,a=e.apply(this,r),u=n.apply(this,r),s=t.apply(this,r),p=d(),v=h.length,m=document.documentElement.scrollTop||o.scrollTop,g=document.documentElement.scrollLeft||o.scrollLeft;for(p.html(a).style("opacity",1).style("pointer-events","all");v--;)p.classed(h[v],!1);return i=l.get(s).apply(this),p.classed(s,!0).style("top",i.top+u[0]+m+"px").style("left",i.left+u[1]+g+"px"),c},c.hide=function(){return d().style("opacity",0).style("pointer-events","none"),c},c.attr=function(t,n){if(arguments.length<2&&"string"==typeof t)return d().attr(t);var e=Array.prototype.slice.call(arguments);return i.m.prototype.attr.apply(d(),e),c},c.style=function(t,n){if(arguments.length<2&&"string"==typeof t)return d().style(t);var e=Array.prototype.slice.call(arguments);return i.m.prototype.style.apply(d(),e),c},c.direction=function(n){return arguments.length?(t=null==n?n:m(n),c):t},c.offset=function(t){return arguments.length?(n=null==t?t:m(t),c):n},c.html=function(t){return arguments.length?(e=null==t?t:m(t),c):e},c.rootElement=function(t){return arguments.length?(o=null==t?t:m(t),c):o},c.destroy=function(){return a&&(d().remove(),a=null),c};var l=Object(r.c)({n:function(){var t=v(this);return{top:t.n.y-a.offsetHeight,left:t.n.x-a.offsetWidth/2}},s:function(){var t=v(this);return{top:t.s.y,left:t.s.x-a.offsetWidth/2}},e:function(){var t=v(this);return{top:t.e.y-a.offsetHeight/2,left:t.e.x}},w:function(){var t=v(this);return{top:t.w.y-a.offsetHeight/2,left:t.w.x-a.offsetWidth}},nw:function(){var t=v(this);return{top:t.nw.y-a.offsetHeight,left:t.nw.x-a.offsetWidth}},ne:function(){var t=v(this);return{top:t.ne.y-a.offsetHeight,left:t.ne.x}},sw:function(){var t=v(this);return{top:t.sw.y,left:t.sw.x-a.offsetWidth}},se:function(){var t=v(this);return{top:t.se.y,left:t.se.x}}}),h=l.keys();function p(){var t=Object(i.k)(document.createElement("div"));return t.style("position","absolute").style("top",0).style("opacity",0).style("pointer-events","none").style("box-sizing","border-box"),t.node()}function d(){return null==a&&(a=p(),o.appendChild(a)),Object(i.k)(a)}function v(t){for(var n=f||t;null==n.getScreenCTM&&null!=n.parentNode;)n=n.parentNode;var e={},r=n.getScreenCTM(),i=n.getBBox(),o=i.width,a=i.height,u=i.x,c=i.y;return s.x=u,s.y=c,e.nw=s.matrixTransform(r),s.x+=o,e.ne=s.matrixTransform(r),s.y+=a,e.se=s.matrixTransform(r),s.x-=o,e.sw=s.matrixTransform(r),s.y-=a/2,e.w=s.matrixTransform(r),s.x+=o,e.e=s.matrixTransform(r),s.x-=o/2,s.y-=a/2,e.n=s.matrixTransform(r),s.y+=a,e.s=s.matrixTransform(r),e}function m(t){return"function"==typeof t?t:function(){return t}}return c}},function(t,n,e){var r=e(1);t.exports=function(t){var n=t.root+" .control-panel-background",e=r.select(n).node();t.control_panel_bkg=e,t.tooltip_fun.show("tooltip",t.control_panel_bkg);var i=parseFloat(r.select(t.tooltip_id).style("width").replace("px","")),o=parseFloat(r.select(t.tooltip_id).style("height").replace("px",""));t.tooltip_ini_width=i,t.tooltip_ini_height=o,t.tooltip_fun.hide()}},function(t,n,e){var r=e(51);t.exports=function(t,n){n.arrs.position_arr.new=r(n,n.order.new.row,n.order.new.col),n.matrix_args.regl_props.rects.attributes.pos_att_new={buffer:t.buffer(n.arrs.position_arr.new),divisor:1}}},function(t,n,e){var r=e(54);t.exports=function(t,n){_.each(["row","col"],(function(e){for(var i=0;i<n.cat_data.cat_num[e];i++)n.cat_arrs.new[e][i]=r(n,e,i,n.order.new[e]),n.cat_args[e][i].attributes.cat_pos_att_new={buffer:t.buffer(n.cat_arrs.new[e][i]),divisor:1}}))}},function(t,n,e){var r=e(1),i=e(17);t.exports=function(t,n){var o=n.params;function a(n,r){let a=o.network[n+"_nodes"].map(t=>t),u="cat-"+String(r),s="cat-"+String(r-1),f="cat-"+String(r+1);var c,l;f in o.network[n+"_nodes"][0]?cat_secondary=f:s in o.network[n+"_nodes"][0]?cat_secondary=s:cat_secondary=u,c="cat_strings"===o.viz.cat_info[n][u].type?a.sort((l=[u,cat_secondary],(t,n)=>l.map(e=>{let r=1;return"-"===e[0]&&(r=-1,e=e.substring(1)),t[e]>n[e]?r:t[e]<n[e]?-r:0}).reduce((t,n)=>t||n,0))):a.sort((t,n)=>parseFloat(t[u].split(": ")[1])-parseFloat(n[u].split(": ")[1]));let h,p={};c.forEach((t,n)=>{h=t.name,h.includes(": ")&&(h=h.split(": ")[1]),p[h]=n}),o.network[n+"_nodes"].forEach((t,n)=>{h=t.name,h.includes(": ")&&(h=h.split(": ")[1]),t.custom=p[h]}),e(10)(t,o),i(t,o,n,"custom"),o.order.inst.col="custom"}var u=845,s=125,f=r.select(o.root+" .canvas-container").append("g").style("position","absolute").style("top",s+"px").style("left",u+"px").classed("col-cat-title-group",!0),c=f.append("svg").style("height",(function(){return 10*o.cat_data.col.length+5+"px"})).style("width","55px").classed("col-cat-title-svg",!0).append("g").classed("col-cat-reorder-group",!0);c.selectAll("rect").data(o.cat_data.col).enter().append("text").text((function(t){return t.cat_title})).style("font-family",'"Helvetica Neue", Helvetica, Arial, sans-serif').style("font-weight",800).style("font-size",12).attr("transform",(function(t,n){return"translate( 0, "+(11*n+10)+")"})),c.selectAll("rect").data(o.cat_data.col).enter().append("rect").style("width","55px").style("height",(function(){return"12px"})).style("fill","white").style("opacity",0).on("dblclick",(function(t,n){a("col",n),o.order.inst.col="custom",r.select(o.root+" .col-reorder-buttons").selectAll("rect").attr("stroke","#eee")})).attr("transform",(function(t,n){return"translate( 0, "+12*n+")"})).style("user-select","none"),u=125,s=62+12*o.cat_data.col.length;var l=r.select(o.root+" .canvas-container").append("g").style("position","absolute").style("top",s+"px").style("left",u+"px").classed("row-cat-title-group",!0),h=l.append("svg").style("width",(function(){return 10*o.cat_data.row.length+5+"px"})).style("height","60px").classed("row-cat-title-svg",!0).append("g").classed("row-cat-reorder-group",!0).attr("transform",(function(){return-90,"translate(0,60), rotate(-90)"}));h.selectAll("rect").data(o.cat_data.row).enter().append("text").text((function(t){return t.cat_title})).style("font-family",'"Helvetica Neue", Helvetica, Arial, sans-serif').style("font-weight",800).style("font-size",12).attr("transform",(function(t,n){return"translate( 0, "+(11*n+10)+")"})),h.selectAll("rect").data(o.cat_data.row).enter().append("rect").style("width","60px").style("height",(function(){return"12px"})).style("fill","white").style("opacity",0).on("dblclick",(function(t,n){a("row",n),o.order.inst.row="custom",r.select(o.root+" .row-reorder-buttons").selectAll("rect").attr("stroke","#eee")})).attr("transform",(function(t,n){return"translate( 0, "+12*n+")"})).style("user-select","none")}},function(t,n,e){var r=e(1);e(319);let i=e(12);t.exports=function(t){var n=t.params,e=65,o={height:32,width:63,buffer:12};o.x_trans=o.width+o.buffer,o.fs=11;control_svg=r.select(n.root+" .control-container svg"),control_svg.append("g").classed("panel_button_titles",!0).classed("recluster_button_title",!0).on("click",(function(){r.selectAll(n.root+" .panel_button_titles").attr("opacity",.5),r.select(this).attr("opacity",1),"reorder"===n.viz.current_panel&&(r.select(n.root+" .panel_button_title").text("recluster".toUpperCase()),r.select(n.root+" .top_button_title").text("DIST"),r.select(n.root+" .bottom_button_title").text("LINK"),r.selectAll(n.root+" .reorder_buttons").style("display","none"),r.select(n.root+" .run_cluster_container").style("display","block"),r.selectAll(n.root+" .dist_options").style("display","block"),r.selectAll(n.root+" .link_options_container").style("display","block"),n.viz.current_panel="recluster")})).attr("transform",(function(){return"translate( "+(200+e)+", "+(47-2*o.buffer+2)+")"})).attr("opacity",.5).append("text").text("recluster".toUpperCase()).attr("font-family",'"Helvetica Neue", Helvetica, Arial, sans-serif').attr("font-weight",400).attr("font-size",o.fs).attr("text-anchor","middle").attr("stroke","#47515b").attr("alignment-baseline","middle").attr("letter-spacing","2px").attr("cursor","default"),run_cluster_container=r.select(n.root+" .control_svg").append("g").classed("run_cluster_container",!0).attr("transform","translate(350, 91)").on("click",(function(){n.matrix.potential_recluster.distance_metric==t.params.matrix.distance_metric&&n.matrix.potential_recluster.linkage_type==t.params.matrix.linkage_type||(t.params.matrix.distance_metric=n.matrix.potential_recluster.distance_metric,t.params.matrix.linkage_type=n.matrix.potential_recluster.linkage_type,t.recluster(n.matrix.potential_recluster.distance_metric,n.matrix.potential_recluster.linkage_type))})).style("display","none"),run_cluster_container.append("rect").style("height",o.height).style("width",o.width).style("fill","white").style("rx",10).style("ry",10).style("stroke","#00FF75").style("stroke-width",2.5),run_cluster_container.append("text").classed("button-name",!0).text("run".toUpperCase()).style("font-family",'"Helvetica Neue", Helvetica, Arial, sans-serif').style("font-weight",400).style("font-size",o.fs).style("text-anchor","middle").style("stroke","#47515b").style("alignment-baseline","middle").style("letter-spacing","2px").style("cursor","default").attr("transform","translate("+o.width/2+", "+o.height/2+")");var a=[{short:"cos",full:"cosine"},{short:"corr",full:"correlation"},{short:"eucl",full:"euclidean"}];let u={cosine:"cos",correlation:"corr",euclidean:"eucl"};var s=65+(e=65);(a=r.select(n.root+" .control_svg").append("g").classed("dist_option_container",!0).selectAll("g").data(a).enter().append("g").classed("dist_options",!0).attr("transform",(function(t,n){return"translate("+(o.x_trans*n+s)+", 47)"})).on("click",(function(t){n.matrix.potential_recluster.distance_metric=t.full,r.select(n.root+" .dist_option_container").selectAll("rect").attr("stroke","#eee"),r.select(this).select("rect").attr("stroke","#008000")})).style("display","none")).append("rect").style("height",o.height).style("width",o.width).style("fill","white").style("rx",10).style("ry",10).attr("stroke",(function(t){return u[n.matrix.distance_metric]==t.short?"#008000":"#eee"})).style("stroke-width",2.5),a.append("text").classed("button-name",!0).text(t=>t.short.toUpperCase()).style("font-family",'"Helvetica Neue", Helvetica, Arial, sans-serif').style("font-weight",400).style("font-size",o.fs).style("text-anchor","middle").style("stroke","#47515b").style("alignment-baseline","middle").style("letter-spacing","2px").style("cursor","default").style("-webkit-user-select","none").attr("transform","translate("+o.width/2+", "+o.height/2+")");let f={average:"avg",single:"single",complete:"cmplt"};link_options_container=r.select(n.root+" .control_svg").append("g").classed("link_option_container",!0).selectAll("g").data([{short:"avg",full:"average"},{short:"single",full:"single"},{short:"cmplt",full:"complete"}]).enter().append("g").classed("link_options_container",!0).attr("transform",(function(t,n){return"translate("+(o.x_trans*n+s)+", 91)"})).on("click",(function(t){n.matrix.potential_recluster.linkage_type=t.full,r.select(n.root+" .link_option_container").selectAll("rect").attr("stroke","#eee"),r.select(this).select("rect").attr("stroke","#008000")})).style("display","none"),link_options_container.append("rect").style("height",o.height).style("width",o.width).style("fill","white").style("rx",10).style("ry",10).attr("stroke",(function(t){return f[n.matrix.linkage_type]==t.short?"#008000":"#eee"})).style("stroke-width",2.5),link_options_container.append("text").classed("button-name",!0).text(t=>t.short.toUpperCase()).style("font-family",'"Helvetica Neue", Helvetica, Arial, sans-serif').style("font-weight",400).style("font-size",o.fs).style("text-anchor","middle").style("stroke","#47515b").style("alignment-baseline","middle").style("letter-spacing","2px").style("cursor","default").style("-webkit-user-select","none").attr("transform","translate("+o.width/2+", "+o.height/2+")"),"zscored"===n.norm.initial_status&&control_svg.append("g").classed("panel_button_titles",!0).classed("normalize_button_title",!0).on("click",(function(){console.log("clicked Z-score Button");let n=t.params;"non-zscored"===n.norm.zscore_status?(n.norm.zscore_status="zscored",r.select(this).select("text").text("z-scored".toUpperCase())):(n.norm.zscore_status="non-zscored",r.select(this).select("text").text("raw".toUpperCase())),console.log("zscore_status",n.norm.zscore_status),t.make_matrix_args(),i(t)})).attr("transform",(function(){return"translate( "+(290+e)+", "+(47-2*o.buffer+2)+")"})).attr("opacity",1).append("text").text("z-scored".toUpperCase()).attr("font-family",'"Helvetica Neue", Helvetica, Arial, sans-serif').attr("font-weight",400).attr("font-size",o.fs).attr("text-anchor","middle").attr("stroke","#47515b").attr("alignment-baseline","middle").attr("letter-spacing","2px").attr("cursor","default")}},function(t,n,e){var r=e(1);t.exports=function(t,n,e,i=null){var o=t.params;"open"===e?(r.selectAll(t.params.root+" .svg_menus").remove(),null!==i&&i(t)):"close"===e&&(r.select(o.root+" ."+n).transition(700).attr("opacity",0),setTimeout((function(){r.select(o.root+" ."+n).remove()}),700))}},function(t,n,e){var r=e(1);_=e(21);var i=e(321),o=e(322),a=e(323),u=e(324),s=e(355),f=e(357);t.exports=function(t){var n=this,e=n.regl,c=n.params;c.ani.first_frame=!0,e.frame((function({time:l}){c.ani.time=l,c.int.total>1&&r.selectAll(c.root+" .group-svg-tooltip").remove(),c.int.total<0&&(c.int.total=0),c.reset_cameras&&i(e,c),c.ani.run_animation?o(c):c.ani.time>c.ani.duration_end&&!0===c.ani.running&&a(n),1==c.int.still_interacting||1==c.ani.ini_viz||1==c.ani.running||1==c.ani.update_viz?(u(n,t),c.ani.update_viz=!1):1==c.int.still_mouseover?(s(e,c),f(e,c)):c.labels.draw_labels||c.tooltip.show_tooltip||c.dendro.update_dendro?n.draw_labels_tooltips_or_dendro(t):f(e,c)}))}},function(t,n,e){var r=e(55),i=e(73);t.exports=function(t,n){n.reset_cameras=!1,n.zoom_data=r(),i(t,n),n.labels.draw_labels=!1,n.ani.ini_viz=!0,n.int.total=0}},function(t,n){t.exports=function(t){t.ani.run_animation=!1,t.ani.last_switch_time=t.ani.time,t.ani.running=!0,t.ani.duration_end=t.ani.last_switch_time+t.ani.ani_duration}},function(t,n,e){var r=e(1);t.exports=function(t){let n=t.regl,i=t.params;i.ani.running=!1,i.ani.run_animation=!1,i.matrix_args.regl_props.rects.attributes.pos_att_ini={buffer:n.buffer(i.arrs.position_arr.new),divisor:1},_.each(["row","col"],(function(t){for(var e=0;e<i.cat_data.cat_num[t];e++)i.cat_args[t][e].attributes.cat_pos_att_inst={buffer:n.buffer(i.cat_arrs.new[t][e]),divisor:1};i.order.inst[t]=i.order.new[t],"clust"===i.order.inst[t]&&r.select("."+t+"_dendro_slider_svg").style("display","block")})),_.each(["row","col"],(function(t){i.text_triangles.draw[t]=e(89)(i,t),e(56)(i,t)})),e(22)(t)}},function(t,n,e){t.exports=function(t,n){let r=t.regl,i=t.params;i.int.total=i.int.total+1,e(90)(t,n),setTimeout(e(354),100,r,i),i.ani.ini_viz=!1,i.ani.time_remain>0&&(i.ani.time_remain=i.ani.time_remain-1)}},function(t,n,e){var r=e(1),i=e(326);t.exports=function(t,n){let e=t.params;var o,a,u=e.int.mouseover;if("matrix-cell"===e.tooltip.tooltip_type)a=u.row.name,a+=" and ",a=(a+=u.col.name)+" <br>Value: "+u.value.toFixed(3),"value_iz"in e.int.mouseover&&(a=a+" <br>Original value: "+u.value_iz.toFixed(3)),e.tooltip_fun.show("tooltip"),r.select(e.tooltip_id).style("text-align","left").html(a);else if(e.tooltip.tooltip_type.indexOf("-label")>0)o=e.tooltip.tooltip_type.split("-")[0],a=u[o].name,_.each(u[o].cats,(function(t){a=a+"<br>"+t})),e.tooltip_fun.show("tooltip"),r.select(e.tooltip_id).style("text-align","left").html(a),!0===e.use_hzome&&e.hzome.gene_info(u[o].name);else if(e.tooltip.tooltip_type.indexOf("-dendro")>0)o=e.tooltip.tooltip_type.split("-")[0],i(t,n,o);else if(e.tooltip.tooltip_type.indexOf("-cat-")>0){o=e.tooltip.tooltip_type.split("-")[0];var s=e.tooltip.tooltip_type.split("-")[2];a=u[o].cats[s],e.tooltip_fun.show("tooltip"),r.select(e.tooltip_id).style("text-align","left").html(a)}}},function(t,n,e){var r=e(1),i=e(327),o=e(330),a=e(40),u=e(351);t.exports=function(t,n,e){var s=t.params,f=s.int.mouseover;s.tooltip_fun.show("tooltip"),r.select(s.tooltip_id).append("div").style("height","16px").style("text-align","right").style("cursor","default").on("click",(function(){s.tooltip.permanent_tooltip=!1,a(s)})).append("text").text("x").style("font-size","15px");var c=o(s,f[e].dendro,e);function l(t){let n;return"list"===s.dendro.output_label_format?n="["+s.dendro.selected_clust_names.map(t=>` '${t}'`).join(",")+"]":"tsv"===s.dendro.output_label_format?n=s.dendro.selected_clust_names.join("\t"):"csv"===s.dendro.output_label_format?n=s.dendro.selected_clust_names.join(", "):"new-line"===s.dendro.output_label_format&&(n=s.dendro.selected_clust_names.join("<br/>")),n}i(s,f[e].dendro,c),r.select(s.tooltip_id).append("text").style("display","inline-block").style("cursor","default").text("Selected "+e.replace("row","Rows").replace("col","Columns")+": "),selected_label_container=r.select(s.tooltip_id).append("div").style("display","inline-block").classed("selected_label_container",!0);let h=["list","csv","tsv"];selected_label_container.selectAll("text").data(h).enter().append("text").classed("output_format",!0).style("margin-left","2px").style("display","inline-block").style("cursor","default").on("click",t=>{s.dendro.output_label_format=t,r.selectAll(s.tooltip_id+" .selected_label_container .output_format").style("color",t=>{let n="white";return t===s.dendro.output_label_format&&(n="#0198E1"),n}),r.select(s.tooltip_id+" input").attr("value",l)}).text((t,n)=>{let e="";return e=n<h.length-1?t+", ":t,e}).style("color",t=>{let n="white";return t===s.dendro.output_label_format&&(n="#0198E1"),n}),r.select(s.tooltip_id).append("input").attr("value",l).style("width","364px").style("display","block").style("color","black"),s.cat_data.manual_category[e]&&u(t,n,e)}},function(t,n,e){var r=e(1);t.exports=function(t,n,i){if(i.length>0){var o=370,a=t.viz.cat_bar_height+2,u=!1;null!==i[0].bar_data[0][5]&&(o+=100,u=!0);var s=n.all_names.length,f=4;if(u){f=5;var c=i[0].bar_data;s=0,_.each(c,(function(t){s+=t[5]}))}let d=10,v=18;_.each(i.slice(0,4),(function(t){var n=t.bar_data.length;n>10&&(n=10),d+=v*(n+1)}));var l=r.select(t.tooltip_id).append("div").style("margin-top","5px").classed("cat_graph",!0).append("svg").style("height",d+"px").style("width",o+"px");l.append("rect").classed("cat_background",!0).attr("height",d+"px").attr("width",o+"px").attr("fill","white").attr("opacity",1),i=i.slice(0,4);var h=r.scaleLinear().domain([0,1e5]).range([20,30]),p=15;_.each(i,(function(n){var r=n.bar_data[0][f];n.bar_data=n.bar_data.slice(0,10);var i=h(r),o=l.append("g").classed("cgg",!0).attr("transform","translate(10, "+p+")"),c=o.append("g").classed("cat_bar_container",!0).attr("transform","translate(0, 10)").selectAll("g").data(n.bar_data).enter().append("g").attr("transform",(function(t,n){return"translate(0,"+n*a+")"}));e(328)(t,n,o,f,10,c),e(329)(t,o,c,4,u,i,f,s),p+=v*(n.bar_data.length+1)}))}}},function(t,n,e){var r=e(1);t.exports=function(t,n,e,i,o,a){var u=t.viz.cat_bar_width,s=t.viz.cat_bar_height,f=n.bar_data[0][i],c=n.type_name;c.length>=25&&(c=c.slice(0,25)+".."),e.append("text").classed("cat_graph_title",!0).text(c).style("font-family",'"Helvetica Neue", Helvetica, Arial, sans-serif').style("font-weight",800);e.append("line").attr("x1",0).attr("x2",u).attr("y1",4).attr("y2",4).attr("stroke","blue").attr("stroke-width",1).attr("opacity",1);var l=r.scaleLinear().domain([0,f]).range([0,u]);a.append("rect").attr("height",s+"px").attr("width",(function(t){return l(t[i])+"px"})).attr("fill",(function(t){return t[3]})).attr("opacity",t.viz.cat_colors.opacity).attr("stroke","grey").attr("stroke-width","0.5px"),a.append("text").classed("bar_labels",!0).text((function(t){var n=t[1];return n.indexOf(": ")>0&&(n=n.split(": ")[1]),n.indexOf("<p>")>0&&(n=n.split("<p>")[0]),n.length>=25&&(n=n.slice(0,25)+".."),n})).attr("transform",(function(){return"translate(5, "+.75*s+")"})).attr("font-family",'"Helvetica Neue", Helvetica, Arial, sans-serif').attr("font-weight",400).attr("text-anchor","right")}},function(t,n){t.exports=function(t,n,e,r,i,o,a,u){var s=t.viz.cat_bar_width,f=t.viz.cat_bar_height;n.append("text").text("Count").attr("transform",(function(){return"translate("+(s+o)+", 0)"})),n.append("text").text("Pct").attr("transform",(function(){return"translate("+(s+o+60)+", 0)"})),n.append("text").text("P-val").attr("transform",(function(){return"translate("+(s+o+115)+", 0)"})),i&&n.append("text").text("Clusters").attr("transform",(function(){return"translate("+(s+150)+", 0)"}));e.append("text").classed("count_labels",!0).text((function(t){var n=t[a];return n=n.toLocaleString(),String(n)})).attr("transform",(function(){return"translate("+(s+o+35)+", "+.75*f+")"})).attr("font-family",'"Helvetica Neue", Helvetica, Arial, sans-serif').attr("font-weight",400).attr("text-anchor","end"),e.append("text").classed("count_labels",!0).text((function(t){var n=t[a]/u*100;return n=(n=Math.round(10*n)/10).toLocaleString(),String(n)})).attr("transform",(function(){return"translate("+(s+o+35+47)+", "+.75*f+")"})).attr("font-family",'"Helvetica Neue", Helvetica, Arial, sans-serif').attr("font-weight",400).attr("text-anchor","end"),e.append("text").classed("count_labels",!0).text((function(t){var n=t[6];return n=n<.001?(n=parseFloat(n.toPrecision(3))).toExponential():parseFloat(n.toPrecision(2))})).attr("transform",(function(){return"translate("+(s+o+35+112)+", "+.75*f+")"})).attr("font-family",'"Helvetica Neue", Helvetica, Arial, sans-serif').attr("font-weight",400).attr("text-anchor","end"),i&&e.append("text").classed("count_labels",!0).text((function(t){return String(t[r].toLocaleString())})).attr("transform",(function(){return"translate("+(s+35+150+20)+", "+.75*f+")"})).attr("font-family",'"Helvetica Neue", Helvetica, Arial, sans-serif').attr("font-weight",400).attr("text-anchor","end")}},function(t,n,e){var r=e(331);t.exports=function(t,n,e){"both"===e&&(e="row");var i=n.all_names;t.dendro.selected_clust_names=i;var o,a=[],u=t.network[e+"_nodes"],s=null,f=!1;_.each(u,(function(t){(o=t.name).indexOf(": ")>=0&&(o=o.split(": ")[1]),i.indexOf(o)>=0&&a.push(t)}));var c=[];if(null!==t.viz.cat_info[e]){for(var l,h,p,d=t.viz.cat_info[e],v=_.keys(d),m=[],g=[],y=0;y<v.length;y++)p="cat-"+String(y),"cat_strings"===t.viz.cat_info[e][p].type?(l=t.viz.cat_names[e][p],g.push(l),m.push(p)):"number in clust"===t.viz.cat_names[e][p]&&(s=p,f=!0);var b,x,w={},M={},k=4;if(f&&(k=5),x=l===p,g.length>0){var A,z=i.length;_.each(m,(function(n){if(h=n.split("-")[1],l=g[h],x)if(n.indexOf("-")>=0){var i=parseInt(n.split("-")[1],10)+1;l="Category "+String(i)}else l="Category";var o,u;w[l]={},_.each(a,(function(t){(A=t[n]).indexOf(": ")>=0&&(A=A.split(": ")[1]),A in w[l]?(w[l][A].num_nodes=w[l][A].num_nodes+1,null!==s&&(w[l][A].num_nodes_ds=w[l][A].num_nodes_ds+parseInt(t[s].split(": ")[1],10))):(w[l][A]={},w[l][A].num_nodes=1,null!==s&&(w[l][A].num_nodes_ds=parseInt(t[s].split(": ")[1],10)))})),(M={}).type_name=l,M.num_in_clust=z,b=[];var f=w[l];for(var p in f){var d=t.viz.cat_info[e][n].cat_hist[p]/t.network[e+"_nodes"].length;u=x?p:l+": "+p;var v=f[p].num_nodes,m=r(v,z,d);if(_.has(f[p],"num_nodes_ds"))var y=f[p].num_nodes_ds;else y=null;o=t.viz.global_cat_colors[p],b.push([n,u,f[p],o,v,y,m])}b.sort((function(t,n){return n[k]-t[k]})),M.bar_data=b,c.push(M)}))}}return c}},function(t,n,e){var r=e(332),i=e(92).create();i.import(e(341)),t.exports=function(t,n,e){var o,a=i.factorial;function u(t,n,e){return e=a(n)/(a(t)*a(n-t))*(Math.pow(e,t)*Math.pow(1-e,n-t))}return o=function(t,n,e){for(var r=0,i=t;i<n+1;i++)r+=u(i,n,e);return r}(t,n,e),isNaN(o)&&(o=function(t,n,e){for(var i=(t-n*e)/Math.sqrt(n*e*(1-e)),a=r.z,u=r.p,s=-1,f=!1,c=0;c<a.length;c++){i<a[c]&&!1===f&&(s=c,f=!0)}return-1===s&&(s=a.length-1),o=u[s]}(t,n,e)),o}},function(t,n){t.exports={p:[.5,.4800611941616275,.460172162722971,.4403823076297575,.42074029056089696,.4012936743170763,.3820885778110473,.3631693488243809,.3445782583896758,.32635522028791997,.3085375387259869,.29115968678834636,.27425311775007355,.2578461108058647,.24196365222307303,.2266273523768682,.2118553985833967,.19766254312269238,.18406012534675947,.17105612630848183,.15865525393145707,.1468590563758959,.13566606094638267,.12507193563715024,.11506967022170828,.10564977366685535,.09680048458561036,.08850799143740196,.08075665923377107,.0735292596096483,.06680720126885807,.06057075800205901,.054799291699557974,.049471468033648075,.044565462758543006,.040059156863817086,.03593031911292579,.03215677479561371,.028716559816001783,.02558805952163861,.022750131948179195,.020182215405704383,.017864420562816542,.0157776073910905,.013903447513498595,.012224472655044696,.010724110021675795,.009386705534838566,.008197535924596114,.007142810735271415,.006209665325776132,.005386145954066684,.004661188023718747,.004024588542758303,.0034669738030406647,.002979763235054555,.002555130330427929,.0021859614549132405,.0018658133003840339,.0015888696473648667,.0013498980316300933,.0011442068310226977,.0009676032132183563,.0008163523128285604,.0006871379379158471,.0005770250423907659,.00048342414238377663,.0004040578018640207,.0003369292656768799,.00028029327681617744,.00023262907903552502,.00019261557563563279,.00015910859015753364,.00013112015442048433,.00010779973347738823,8841728520080377e-20,7234804392511979e-20,59058912418922374e-21,48096344017602614e-21,39075596597787456e-21,3167124183311986e-20,2560881647404149e-20,20657506912546683e-21,16623763729652213e-21,1334574901590631e-20,10688525774934402e-21,8539905470991794e-21,6806876599334031e-21,5412543907703841e-21,4293514469971858e-21,33976731247300535e-22,26822957796388472e-22,2112454702502842e-21,16596751443714555e-22,13008074539172771e-22,10170832425687032e-22,7.933281519755892e-7,6.173073720091925e-7,4.791832765903185e-7,3.710674079633327e-7,2.8665157187919333e-7,2.2090503226954194e-7,1.6982674071475937e-7,1.3024322953320117e-7,9.96442631693347e-8,7.6049605164887e-8,5.790134039964557e-8,4.397711594005869e-8,3.332044848542845e-8,2.518491005446105e-8,1.898956246588768e-8,1.4283479893922661e-8,1.0717590258310852e-8,8.022391850663474e-9,5.99037140106353e-9,4.462172453901611e-9,3.3157459783261365e-9,2.4578650618080152e-9,1.8175078630994235e-9,1.3407124440918662e-9,9.865876450376946e-10,7.242291705137605e-10,5.303423262948808e-10,3.8741473466756636e-10,2.823158037043268e-10,2.0522634252189396e-10,1.4882282217622966e-10,1.0765746385121517e-10,7768847581709776e-26,5592507575942645e-26,4016000583859088e-26,2876854173604311e-26,2055788909399508e-26,14654650977302715e-27,10420976987965154e-27,7392257778017794e-27,5230957544144525e-27,3692499427235561e-27,2600126965638173e-27,1826431061976961e-27,1279812543885835e-27,8945889558769844e-28,623784446333152e-27,43388950271780343e-29,3010627981117422e-28,20838581586720548e-29,14388386381575764e-29,9910342749547509e-29,6809224890620016e-29,46670115887190274e-30,31908916729108844e-30,21762912097085575e-30,14806537490047908e-30,10048965656526223e-30,6803311540773901e-30,4594627435778562e-30,3095358771958668e-30,20801863521393674e-31,1394517146659261e-30,9325575771681205e-31,622096057427174e-30,4139701816273122e-31,2747959392398221e-31,18196213635266084e-32,12019351542735647e-32,7919726314642476e-32,52055697448902465e-33,3413148326458146e-32,2232393197288031e-32,1456514112590909e-32,947953482220325e-32,6154425590850395e-33,3985804962848151e-33,25749715380118873e-34,16594208699647519e-34,10667637375474856e-34,6840807685935497e-34,4375964799309017e-34,27923343749396233e-35,17774117841455144e-35,11285884059538324e-35,7.148417011269684e-20,4.516591491435403e-20,2.846677408460209e-20,1.7897488120140146e-20,1.1224633591327901e-20,7022284240441541e-36,438238629906646e-35,27281535713460872e-37,16941535024881097e-37,10494515075362604e-37,6484814453077208e-37,39972212057261192e-38,24577864834723153e-38,1507493168810159e-37,9223413524939353e-38,5629282311376514e-38,34271987941135974e-39,20813752194932085e-39,12609160670206559e-39],z:[0,.05,.1,.15000000000000002,.2,.25,.30000000000000004,.35000000000000003,.4,.45,.5,.55,.6000000000000001,.65,.7000000000000001,.75,.8,.8500000000000001,.9,.9500000000000001,1,1.05,1.1,1.1500000000000001,1.2000000000000002,1.25,1.3,1.35,1.4000000000000001,1.4500000000000002,1.5,1.55,1.6,1.6500000000000001,1.7000000000000002,1.75,1.8,1.85,1.9000000000000001,1.9500000000000002,2,2.0500000000000003,2.1,2.15,2.2,2.25,2.3000000000000003,2.35,2.4000000000000004,2.45,2.5,2.5500000000000003,2.6,2.6500000000000004,2.7,2.75,2.8000000000000003,2.85,2.9000000000000004,2.95,3,3.0500000000000003,3.1,3.1500000000000004,3.2,3.25,3.3000000000000003,3.35,3.4000000000000004,3.45,3.5,3.5500000000000003,3.6,3.6500000000000004,3.7,3.75,3.8000000000000003,3.85,3.9000000000000004,3.95,4,4.05,4.1000000000000005,4.15,4.2,4.25,4.3,4.3500000000000005,4.4,4.45,4.5,4.55,4.6000000000000005,4.65,4.7,4.75,4.800000000000001,4.8500000000000005,4.9,4.95,5,5.050000000000001,5.1000000000000005,5.15,5.2,5.25,5.300000000000001,5.3500000000000005,5.4,5.45,5.5,5.550000000000001,5.6000000000000005,5.65,5.7,5.75,5.800000000000001,5.8500000000000005,5.9,5.95,6,6.050000000000001,6.1000000000000005,6.15,6.2,6.25,6.300000000000001,6.3500000000000005,6.4,6.45,6.5,6.550000000000001,6.6000000000000005,6.65,6.7,6.75,6.800000000000001,6.8500000000000005,6.9,6.95,7,7.050000000000001,7.1000000000000005,7.15,7.2,7.25,7.300000000000001,7.3500000000000005,7.4,7.45,7.5,7.550000000000001,7.6000000000000005,7.65,7.7,7.75,7.800000000000001,7.8500000000000005,7.9,7.95,8,8.05,8.1,8.15,8.200000000000001,8.25,8.3,8.35,8.4,8.450000000000001,8.5,8.55,8.6,8.65,8.700000000000001,8.75,8.8,8.85,8.9,8.950000000000001,9,9.05,9.1,9.15,9.200000000000001,9.25,9.3,9.35,9.4,9.450000000000001,9.5,9.55,9.600000000000001,9.65,9.700000000000001,9.75,9.8,9.850000000000001,9.9,9.950000000000001]}},function(t,n,e){var r=e(3).isFactory,i=e(334),o=e(93),a=e(338),u=e(340);n.create=function(t){if("function"!=typeof Object.create)throw new Error("ES5 not supported by this JavaScript engine. Please load the es5-shim and es5-sham library for compatibility.");var n=[],e=[],s=o.mixin({});s.type={},s.expression={transform:{},mathWithTransform:{}},s.typed=i.create(s.type);var f={epsilon:1e-12,matrix:"Matrix",number:"number",precision:64,predictable:!1,randomSeed:null};function c(t){if(!r(t))throw new Error("Factory object with properties `type`, `name`, and `factory` expected");var i,o=n.indexOf(t);return-1===o?(i=!0===t.math?t.factory(s.type,f,c,s.typed,s):t.factory(s.type,f,c,s.typed),n.push(t),e.push(i)):i=e[o],i}return s.import=c(a),s.config=c(u),s.expression.mathWithTransform.config=s.config,t&&s.config(t),s}},function(t,n,e){var r=e(335),i=e(4).digits,o=e(37),a=e(336),u=function(){return u=r.create,r};n.create=function(t){t.isNumber=function(t){return"number"==typeof t},t.isComplex=function(n){return t.Complex&&n instanceof t.Complex||!1},t.isBigNumber=o,t.isFraction=function(n){return t.Fraction&&n instanceof t.Fraction||!1},t.isUnit=function(t){return t&&t.constructor.prototype.isUnit||!1},t.isString=function(t){return"string"==typeof t},t.isArray=Array.isArray,t.isMatrix=a,t.isDenseMatrix=function(t){return t&&t.isDenseMatrix&&t.constructor.prototype.isMatrix||!1},t.isSparseMatrix=function(t){return t&&t.isSparseMatrix&&t.constructor.prototype.isMatrix||!1},t.isRange=function(t){return t&&t.constructor.prototype.isRange||!1},t.isIndex=function(t){return t&&t.constructor.prototype.isIndex||!1},t.isBoolean=function(t){return"boolean"==typeof t},t.isResultSet=function(t){return t&&t.constructor.prototype.isResultSet||!1},t.isHelp=function(t){return t&&t.constructor.prototype.isHelp||!1},t.isFunction=function(t){return"function"==typeof t},t.isDate=function(t){return t instanceof Date},t.isRegExp=function(t){return t instanceof RegExp},t.isObject=function(t){return"object"==typeof t},t.isNull=function(t){return null===t},t.isUndefined=function(t){return void 0===t},t.isAccessorNode=function(t){return t&&t.isAccessorNode&&t.constructor.prototype.isNode||!1},t.isArrayNode=function(t){return t&&t.isArrayNode&&t.constructor.prototype.isNode||!1},t.isAssignmentNode=function(t){return t&&t.isAssignmentNode&&t.constructor.prototype.isNode||!1},t.isBlockNode=function(t){return t&&t.isBlockNode&&t.constructor.prototype.isNode||!1},t.isConditionalNode=function(t){return t&&t.isConditionalNode&&t.constructor.prototype.isNode||!1},t.isConstantNode=function(t){return t&&t.isConstantNode&&t.constructor.prototype.isNode||!1},t.isFunctionAssignmentNode=function(t){return t&&t.isFunctionAssignmentNode&&t.constructor.prototype.isNode||!1},t.isFunctionNode=function(t){return t&&t.isFunctionNode&&t.constructor.prototype.isNode||!1},t.isIndexNode=function(t){return t&&t.isIndexNode&&t.constructor.prototype.isNode||!1},t.isNode=function(t){return t&&t.isNode&&t.constructor.prototype.isNode||!1},t.isObjectNode=function(t){return t&&t.isObjectNode&&t.constructor.prototype.isNode||!1},t.isOperatorNode=function(t){return t&&t.isOperatorNode&&t.constructor.prototype.isNode||!1},t.isParenthesisNode=function(t){return t&&t.isParenthesisNode&&t.constructor.prototype.isNode||!1},t.isRangeNode=function(t){return t&&t.isRangeNode&&t.constructor.prototype.isNode||!1},t.isSymbolNode=function(t){return t&&t.isSymbolNode&&t.constructor.prototype.isNode||!1},t.isChain=function(t){return t&&t.constructor.prototype.isChain||!1};var n=u();return n.types=[{name:"number",test:t.isNumber},{name:"Complex",test:t.isComplex},{name:"BigNumber",test:t.isBigNumber},{name:"Fraction",test:t.isFraction},{name:"Unit",test:t.isUnit},{name:"string",test:t.isString},{name:"Array",test:t.isArray},{name:"Matrix",test:t.isMatrix},{name:"DenseMatrix",test:t.isDenseMatrix},{name:"SparseMatrix",test:t.isSparseMatrix},{name:"Range",test:t.isRange},{name:"Index",test:t.isIndex},{name:"boolean",test:t.isBoolean},{name:"ResultSet",test:t.isResultSet},{name:"Help",test:t.isHelp},{name:"function",test:t.isFunction},{name:"Date",test:t.isDate},{name:"RegExp",test:t.isRegExp},{name:"Object",test:t.isObject},{name:"null",test:t.isNull},{name:"undefined",test:t.isUndefined},{name:"OperatorNode",test:t.isOperatorNode},{name:"ConstantNode",test:t.isConstantNode},{name:"SymbolNode",test:t.isSymbolNode},{name:"ParenthesisNode",test:t.isParenthesisNode},{name:"FunctionNode",test:t.isFunctionNode},{name:"FunctionAssignmentNode",test:t.isFunctionAssignmentNode},{name:"ArrayNode",test:t.isArrayNode},{name:"AssignmentNode",test:t.isAssignmentNode},{name:"BlockNode",test:t.isBlockNode},{name:"ConditionalNode",test:t.isConditionalNode},{name:"IndexNode",test:t.isIndexNode},{name:"RangeNode",test:t.isRangeNode},{name:"Node",test:t.isNode}],n.conversions=[{from:"number",to:"BigNumber",convert:function(n){if(i(n)>15)throw new TypeError("Cannot implicitly convert a number with >15 significant digits to BigNumber (value: "+n+"). Use function bignumber(x) to convert to BigNumber.");return new t.BigNumber(n)}},{from:"number",to:"Complex",convert:function(n){return new t.Complex(n,0)}},{from:"number",to:"string",convert:function(t){return t+""}},{from:"BigNumber",to:"Complex",convert:function(n){return new t.Complex(n.toNumber(),0)}},{from:"Fraction",to:"BigNumber",convert:function(t){throw new TypeError("Cannot implicitly convert a Fraction to BigNumber or vice versa. Use function bignumber(x) to convert to BigNumber or fraction(x) to convert to Fraction.")}},{from:"Fraction",to:"Complex",convert:function(n){return new t.Complex(n.valueOf(),0)}},{from:"number",to:"Fraction",convert:function(n){if(new t.Fraction(n).valueOf()!==n)throw new TypeError("Cannot implicitly convert a number to a Fraction when there will be a loss of precision (value: "+n+"). Use function fraction(x) to convert to Fraction.");return new t.Fraction(n)}},{from:"string",to:"number",convert:function(t){var n=Number(t);if(isNaN(n))throw new Error('Cannot convert "'+t+'" to a number');return n}},{from:"string",to:"BigNumber",convert:function(n){try{return new t.BigNumber(n)}catch(t){throw new Error('Cannot convert "'+n+'" to BigNumber')}}},{from:"string",to:"Fraction",convert:function(n){try{return new t.Fraction(n)}catch(t){throw new Error('Cannot convert "'+n+'" to Fraction')}}},{from:"string",to:"Complex",convert:function(n){try{return new t.Complex(n)}catch(t){throw new Error('Cannot convert "'+n+'" to Complex')}}},{from:"boolean",to:"number",convert:function(t){return+t}},{from:"boolean",to:"BigNumber",convert:function(n){return new t.BigNumber(+n)}},{from:"boolean",to:"Fraction",convert:function(n){return new t.Fraction(+n)}},{from:"boolean",to:"string",convert:function(t){return+t}},{from:"null",to:"number",convert:function(){return 0}},{from:"null",to:"string",convert:function(){return"null"}},{from:"null",to:"BigNumber",convert:function(){return new t.BigNumber(0)}},{from:"null",to:"Fraction",convert:function(){return new t.Fraction(0)}},{from:"Array",to:"Matrix",convert:function(n){return new t.DenseMatrix(n)}},{from:"Matrix",to:"Array",convert:function(t){return t.valueOf()}}],n}},function(t,n,e){"use strict";var r,i,o;i=[],void 0===(o="function"==typeof(r=function(){return function t(){function n(t){for(var n,e=0;e<m.types.length;e++){var r=m.types[e];if(r.name===t){n=r.test;break}}if(!n){var i;for(e=0;e<m.types.length;e++)if((r=m.types[e]).name.toLowerCase()==t.toLowerCase()){i=r.name;break}throw new Error('Unknown type "'+t+'"'+(i?'. Did you mean "'+i+'"?':""))}return n}function e(t){for(var n="",e=0;e<t.length;e++){var r=t[e];if(r.signatures&&""!=r.name)if(""==n)n=r.name;else if(n!=r.name){var i=new Error("Function names do not match (expected: "+n+", actual: "+r.name+")");throw i.data={actual:r.name,expected:n},i}}return n}function r(t,n,e,r,i){var o,a=f(r),u=i?i.split(","):null,s=t||"unnamed",l=u&&c(u,"any"),h={fn:t,index:e,actual:r,expected:u};o=u?n>e&&!l?"Unexpected type of argument in function "+s+" (expected: "+u.join(" or ")+", actual: "+a+", index: "+e+")":"Too few arguments in function "+s+" (expected: "+u.join(" or ")+", index: "+e+")":"Too many arguments in function "+s+" (expected: "+e+", actual: "+n+")";var p=new TypeError(o);return p.data=h,p}function i(t){this.name=t||"refs",this.categories={}}function o(t,n){if("string"==typeof t){var e=t.trim(),r="..."===e.substr(0,3);if(r&&(e=e.substr(3)),""===e)this.types=["any"];else{this.types=e.split("|");for(var i=0;i<this.types.length;i++)this.types[i]=this.types[i].trim()}}else{if(!Array.isArray(t)){if(t instanceof o)return t.clone();throw new Error("String or Array expected")}this.types=t}this.conversions=[],this.varArgs=r||n||!1,this.anyType=-1!==this.types.indexOf("any")}function a(t,n){var e;if("string"==typeof t)e=""!==t?t.split(","):[];else{if(!Array.isArray(t))throw new Error("string or Array expected");e=t}this.params=new Array(e.length),this.anyType=!1,this.varArgs=!1;for(var r=0;r<e.length;r++){var i=new o(e[r]);if(this.params[r]=i,i.anyType&&(this.anyType=!0),r===e.length-1)this.varArgs=i.varArgs;else if(i.varArgs)throw new SyntaxError('Unexpected variable arguments operator "..."')}this.fn=n}function u(t,n,e,r){this.path=t||[],this.param=t[t.length-1]||null,this.signature=n||null,this.childs=e||[],this.fallThrough=r||!1}function s(t,n){var e=new i,s=function(t){var n,e,r={},i=[];for(var o in t)if(t.hasOwnProperty(o)){if((n=new a(o,t[o])).ignore())continue;var u=n.expand();for(e=0;e<u.length;e++){var s=u[e],f=s.toString(),l=r[f];if(l){var h=a.compare(s,l);if(h<0)r[f]=s;else if(0===h)throw new Error('Signature "'+f+'" is defined twice')}else r[f]=s}}for(f in r)r.hasOwnProperty(f)&&i.push(r[f]);for(i.sort((function(t,n){return a.compare(t,n)})),e=0;e<i.length;e++)if((n=i[e]).varArgs)for(var p=n.params.length-1,d=n.params[p],v=0;v<d.types.length;){if(d.conversions[v])for(var m=d.types[v],g=0;g<i.length;g++){var y=i[g],_=y.params[p];if(y!==n&&_&&c(_.types,m)&&!_.conversions[p]){d.types.splice(v,1),d.conversions.splice(v,1),v--;break}}v++}return i}(n);if(0==s.length)throw new Error("No signatures provided");var f=function t(n,e,r){var i,a,s,f=e.length,l=[];for(i=0;i<n.length;i++)(a=n[i]).params.length!==f||s||(s=a),null!=a.params[f]&&l.push(a);l.sort((function(t,n){return o.compare(t.params[f],n.params[f])}));var h=[];for(i=0;i<l.length;i++){var p=(a=l[i]).params[f],d=h.filter((function(t){return t.param.overlapping(p)}))[0];if(d){if(d.param.varArgs)throw new Error('Conflicting types "'+d.param+'" and "'+p+'"');d.signatures.push(a)}else h.push({param:p,signatures:[a]})}var v=[];for(i=0;i<r.length;i++)r[i].paramsStartWith(e)&&v.push(r[i]);var m=!1;for(i=0;i<v.length;i++)if(!c(n,v[i])){m=!0;break}var g=new Array(h.length);for(i=0;i<h.length;i++){var y=h[i];g[i]=t(y.signatures,e.concat(y.param),v)}return new u(e,s,g,m)}(s,[],function(t){for(var n=[],e=0;e<t.length;e++)t[e].anyType&&n.push(t[e]);return n}(s)),l=[],h=(t||"").replace(/[^a-zA-Z0-9_$]/g,"_"),p=function(t){for(var n=[],e=0;e<t;e++)n[e]="arg"+e;return n}(function(t){for(var n=0,e=0;e<t.length;e++){var r=t[e].params.length;r>n&&(n=r)}return n}(s));l.push("function "+h+"("+p.join(", ")+") {"),l.push(' "use strict";'),l.push(" var name = "+JSON.stringify(t||"")+";"),l.push(f.toCode(e," ",!1)),l.push("}");var d=[e.toCode(),"return "+l.join("\n")].join("\n"),v=new Function(e.name,"createError",d)(e,r);return v.signatures=function(t){for(var n={},e=0;e<t.length;e++){var r=t[e];r.fn&&!r.hasConversions()&&(n[r.params.join(",")]=r.fn)}return n}(s),v}function f(t){for(var n,e=0;e<m.types.length;e++){var r=m.types[e];if("Object"===r.name)n=r;else if(r.test(t))return r.name}return n&&n.test(t)?n.name:"unknown"}function c(t,n){return-1!==t.indexOf(n)}function l(t){return t[t.length-1]}i.prototype.add=function(t,n){var e=n||"fn";this.categories[e]||(this.categories[e]=[]);var r=this.categories[e].indexOf(t);return-1==r&&(r=this.categories[e].length,this.categories[e].push(t)),e+r},i.prototype.toCode=function(){var t=[],n=this.name+".categories",e=this.categories;for(var r in e)if(e.hasOwnProperty(r))for(var i=e[r],o=0;o<i.length;o++)t.push("var "+r+o+" = "+n+"['"+r+"']["+o+"];");return t.join("\n")},o.compare=function(t,n){if(t.anyType)return 1;if(n.anyType)return-1;if(c(t.types,"Object"))return 1;if(c(n.types,"Object"))return-1;if(t.hasConversions()){if(n.hasConversions()){var e,r,i;for(e=0;e<t.conversions.length;e++)if(void 0!==t.conversions[e]){r=t.conversions[e];break}for(e=0;e<n.conversions.length;e++)if(void 0!==n.conversions[e]){i=n.conversions[e];break}return m.conversions.indexOf(r)-m.conversions.indexOf(i)}return 1}if(n.hasConversions())return-1;var o,a;for(e=0;e<m.types.length;e++)if(m.types[e].name===t.types[0]){o=e;break}for(e=0;e<m.types.length;e++)if(m.types[e].name===n.types[0]){a=e;break}return o-a},o.prototype.overlapping=function(t){for(var n=0;n<this.types.length;n++)if(c(t.types,this.types[n]))return!0;return!1},o.prototype.matches=function(t){return this.anyType||t.anyType||this.overlapping(t)},o.prototype.clone=function(){var t=new o(this.types.slice(),this.varArgs);return t.conversions=this.conversions.slice(),t},o.prototype.hasConversions=function(){return this.conversions.length>0},o.prototype.contains=function(t){for(var n=0;n<this.types.length;n++)if(t[this.types[n]])return!0;return!1},o.prototype.toString=function(t){for(var n=[],e={},r=0;r<this.types.length;r++){var i=this.conversions[r],o=t&&i?i.to:this.types[r];o in e||(e[o]=!0,n.push(o))}return(this.varArgs?"...":"")+n.join("|")},a.prototype.clone=function(){return new a(this.params.slice(),this.fn)},a.prototype.expand=function(){var t=[];return function n(e,r){if(r.length<e.params.length){var i,u,s,f=e.params[r.length];if(f.varArgs){for(u=f.clone(),i=0;i<m.conversions.length;i++)if(s=m.conversions[i],!c(f.types,s.from)&&c(f.types,s.to)){var l=u.types.length;u.types[l]=s.from,u.conversions[l]=s}n(e,r.concat(u))}else{for(i=0;i<f.types.length;i++)n(e,r.concat(new o(f.types[i])));for(i=0;i<m.conversions.length;i++)s=m.conversions[i],!c(f.types,s.from)&&c(f.types,s.to)&&((u=new o(s.from)).conversions[0]=s,n(e,r.concat(u)))}}else t.push(new a(r,e.fn))}(this,[]),t},a.compare=function(t,n){if(t.params.length>n.params.length)return 1;if(t.params.length<n.params.length)return-1;var e,r=t.params.length,i=0,a=0;for(e=0;e<r;e++)t.params[e].hasConversions()&&i++,n.params[e].hasConversions()&&a++;if(i>a)return 1;if(i<a)return-1;for(e=0;e<t.params.length;e++){var u=o.compare(t.params[e],n.params[e]);if(0!==u)return u}return 0},a.prototype.hasConversions=function(){for(var t=0;t<this.params.length;t++)if(this.params[t].hasConversions())return!0;return!1},a.prototype.ignore=function(){for(var t={},n=0;n<m.ignore.length;n++)t[m.ignore[n]]=!0;for(n=0;n<this.params.length;n++)if(this.params[n].contains(t))return!0;return!1},a.prototype.paramsStartWith=function(t){if(0===t.length)return!0;for(var n=l(this.params),e=l(t),r=0;r<t.length;r++){var i=this.params[r]||(n.varArgs?n:null),o=t[r]||(e.varArgs?e:null);if(!i||!o||!i.matches(o))return!1}return!0},a.prototype.toCode=function(t,n){for(var e=new Array(this.params.length),r=0;r<this.params.length;r++){var i=this.params[r],o=i.conversions[0];i.varArgs?e[r]="varArgs":e[r]=o?t.add(o.convert,"convert")+"(arg"+r+")":"arg"+r}var a=this.fn?t.add(this.fn,"signature"):void 0;return a?n+"return "+a+"("+e.join(", ")+"); // signature: "+this.params.join(", "):[].join("\n")},a.prototype.toString=function(){return this.params.join(", ")},u.prototype.toCode=function(t,e){var r=[];if(this.param){var i=this.path.length-1,o=this.param.conversions[0],a="// type: "+(o?o.from+" (convert to "+o.to+")":this.param);if(this.param.varArgs)if(this.param.anyType)r.push(e+"if (arguments.length > "+i+") {"),r.push(e+" var varArgs = [];"),r.push(e+" for (var i = "+i+"; i < arguments.length; i++) {"),r.push(e+" varArgs.push(arguments[i]);"),r.push(e+" }"),r.push(this.signature.toCode(t,e+" ")),r.push(e+"}");else{for(var u=function(e,r){for(var i=[],o=0;o<e.length;o++)i[o]=t.add(n(e[o]),"test")+"("+r+")";return i.join(" || ")}.bind(this),s=this.param.types,f=[],c=0;c<s.length;c++)void 0===this.param.conversions[c]&&f.push(s[c]);for(r.push(e+"if ("+u(s,"arg"+i)+") { "+a),r.push(e+" var varArgs = [arg"+i+"];"),r.push(e+" for (var i = "+(i+1)+"; i < arguments.length; i++) {"),r.push(e+" if ("+u(f,"arguments[i]")+") {"),r.push(e+" varArgs.push(arguments[i]);"),c=0;c<s.length;c++){var l=this.param.conversions[c];if(l){var h=t.add(n(s[c]),"test"),p=t.add(l.convert,"convert");r.push(e+" }"),r.push(e+" else if ("+h+"(arguments[i])) {"),r.push(e+" varArgs.push("+p+"(arguments[i]));")}}r.push(e+" } else {"),r.push(e+" throw createError(name, arguments.length, i, arguments[i], '"+f.join(",")+"');"),r.push(e+" }"),r.push(e+" }"),r.push(this.signature.toCode(t,e+" ")),r.push(e+"}")}else if(this.param.anyType)r.push(e+"// type: any"),r.push(this._innerCode(t,e));else{var d=this.param.types[0];h="any"!==d?t.add(n(d),"test"):null,r.push(e+"if ("+h+"(arg"+i+")) { "+a),r.push(this._innerCode(t,e+" ")),r.push(e+"}")}}else r.push(this._innerCode(t,e));return r.join("\n")},u.prototype._innerCode=function(t,n){var e,r=[];for(this.signature&&(r.push(n+"if (arguments.length === "+this.path.length+") {"),r.push(this.signature.toCode(t,n+" ")),r.push(n+"}")),e=0;e<this.childs.length;e++)r.push(this.childs[e].toCode(t,n));if(!this.fallThrough||this.param&&this.param.anyType){var i=this._exceptions(t,n);i&&r.push(i)}return r.join("\n")},u.prototype._exceptions=function(t,n){var e=this.path.length;if(0===this.childs.length)return[n+"if (arguments.length > "+e+") {",n+" throw createError(name, arguments.length, "+e+", arguments["+e+"]);",n+"}"].join("\n");for(var r={},i=[],o=0;o<this.childs.length;o++){var a=this.childs[o];if(a.param)for(var u=0;u<a.param.types.length;u++){var s=a.param.types[u];s in r||a.param.conversions[u]||(r[s]=!0,i.push(s))}}return n+"throw createError(name, arguments.length, "+e+", arguments["+e+"], '"+i.join(",")+"');"};var h=[{name:"number",test:function(t){return"number"==typeof t}},{name:"string",test:function(t){return"string"==typeof t}},{name:"boolean",test:function(t){return"boolean"==typeof t}},{name:"Function",test:function(t){return"function"==typeof t}},{name:"Array",test:Array.isArray},{name:"Date",test:function(t){return t instanceof Date}},{name:"RegExp",test:function(t){return t instanceof RegExp}},{name:"Object",test:function(t){return"object"==typeof t}},{name:"null",test:function(t){return null===t}},{name:"undefined",test:function(t){return void 0===t}}],p={},d=[],v=[],m={config:p,types:h,conversions:d,ignore:v};return(m=s("typed",{Object:function(t){var n=[];for(var r in t)t.hasOwnProperty(r)&&n.push(t[r]);return s(e(n),t)},"string, Object":s,"...Function":function(t){for(var n,r=e(t),i={},o=0;o<t.length;o++){var a=t[o];if("object"!=typeof a.signatures)throw(n=new TypeError("Function is no typed-function (index: "+o+")")).data={index:o},n;for(var u in a.signatures)if(a.signatures.hasOwnProperty(u))if(i.hasOwnProperty(u)){if(a.signatures[u]!==i[u])throw(n=new Error('Signature "'+u+'" is defined twice')).data={signature:u},n}else i[u]=a.signatures[u]}return s(r,i)}})).config=p,m.types=h,m.conversions=d,m.ignore=v,m.create=t,m.find=function(t,n){if(!t.signatures)throw new TypeError("Function is no typed-function");var e;if("string"==typeof n){e=n.split(",");for(var r=0;r<e.length;r++)e[r]=e[r].trim()}else{if(!Array.isArray(n))throw new TypeError("String array or a comma separated string expected");e=n}var i=e.join(","),o=t.signatures[i];if(o)return o;throw new TypeError("Signature not found (signature: "+(t.name||"unnamed")+"("+e.join(", ")+"))")},m.convert=function(t,n){var e=f(t);if(n===e)return t;for(var r=0;r<m.conversions.length;r++){var i=m.conversions[r];if(i.from===e&&i.to===n)return i.convert(t)}throw new Error("Cannot convert from "+e+" to "+n)},m.addType=function(t){if(!t||"string"!=typeof t.name||"function"!=typeof t.test)throw new TypeError("Object with properties {name: string, test: function} expected");m.types.push(t)},m.addConversion=function(t){if(!t||"string"!=typeof t.from||"string"!=typeof t.to||"function"!=typeof t.convert)throw new TypeError("Object with properties {from: string, to: string, convert: function} expected");m.conversions.push(t)},m}()})?r.apply(n,i):r)||(t.exports=o)},function(t,n,e){"use strict";t.exports=function(t){return t&&t.constructor.prototype.isMatrix||!1}},function(t,n){function e(){}e.prototype={on:function(t,n,e){var r=this.e||(this.e={});return(r[t]||(r[t]=[])).push({fn:n,ctx:e}),this},once:function(t,n,e){var r=this;function i(){r.off(t,i),n.apply(e,arguments)}return i._=n,this.on(t,i,e)},emit:function(t){for(var n=[].slice.call(arguments,1),e=((this.e||(this.e={}))[t]||[]).slice(),r=0,i=e.length;r<i;r++)e[r].fn.apply(e[r].ctx,n);return this},off:function(t,n){var e=this.e||(this.e={}),r=e[t],i=[];if(r&&n)for(var o=0,a=r.length;o<a;o++)r[o].fn!==n&&r[o].fn._!==n&&i.push(r[o]);return i.length?e[t]=i:delete e[t],this}},t.exports=e},function(t,n,e){"use strict";var r=e(3).lazy,i=e(3).isFactory,o=e(3).traverse,a=e(339);n.math=!0,n.name="import",n.factory=function(t,n,e,u,s){function f(t,n,e){if(e.wrap&&"function"==typeof n&&(n=function(t){var n=function(){for(var n=[],e=0,r=arguments.length;e<r;e++){var i=arguments[e];n[e]=i&&i.valueOf()}return t.apply(s,n)};t.transform&&(n.transform=t.transform);return n}(n)),p(s[t])&&p(n))return n=e.override?u(t,n.signatures):u(s[t],n),s[t]=n,c(t,n),void s.emit("import",t,(function(){return n}));if(void 0===s[t]||e.override)return s[t]=n,c(t,n),void s.emit("import",t,(function(){return n}));if(!e.silent)throw new Error('Cannot import "'+t+'": already exists')}function c(t,n){n&&"function"==typeof n.transform?(s.expression.transform[t]=n.transform,d(t)&&(s.expression.mathWithTransform[t]=n.transform)):(delete s.expression.transform[t],d(t)&&(s.expression.mathWithTransform[t]=n))}function l(t,n){if("string"==typeof t.name){var i=t.name,a=i in s.expression.transform,f=t.path?o(s,t.path):s,c=f.hasOwnProperty(i)?f[i]:void 0,l=function(){var r=e(t);if(r&&"function"==typeof r.transform)throw new Error('Transforms cannot be attached to factory functions. Please create a separate function for it with exports.path="expression.transform"');if(p(c)&&p(r))return n.override||(r=u(c,r)),r;if(void 0===c||n.override)return r;if(!n.silent)throw new Error('Cannot import "'+i+'": already exists')};!1!==t.lazy?(r(f,i,l),a||("expression.transform"===t.path||v(t))&&r(s.expression.mathWithTransform,i,l)):(f[i]=l(),a||("expression.transform"===t.path||v(t))&&(s.expression.mathWithTransform[i]=l())),s.emit("import",i,l,t.path)}else e(t)}function h(n){return"function"==typeof n||"number"==typeof n||"string"==typeof n||"boolean"==typeof n||null===n||n&&t.isUnit(n)||n&&t.isComplex(n)||n&&t.isBigNumber(n)||n&&t.isFraction(n)||n&&t.isMatrix(n)||n&&Array.isArray(n)}function p(t){return"function"==typeof t&&"object"==typeof t.signatures}function d(t){return!m.hasOwnProperty(t)}function v(t){return void 0===t.path&&!m.hasOwnProperty(t.name)}var m={expression:!0,type:!0,docs:!0,error:!0,json:!0,chain:!0};return(function t(n,e){var r=arguments.length;if(1!==r&&2!==r)throw new a("import",r,1,2);if(e||(e={}),i(n))l(n,e);else if(Array.isArray(n))n.forEach((function(n){t(n,e)}));else if("object"==typeof n){for(var o in n)if(n.hasOwnProperty(o)){var u=n[o];h(u)?f(o,u,e):i(n)?l(n,e):t(u,e)}}else if(!e.silent)throw new TypeError("Factory, Object, or Array expected")})},n.lazy=!0},function(t,n,e){"use strict";function r(t,n,e,i){if(!(this instanceof r))throw new SyntaxError("Constructor must be called with the new operator");this.fn=t,this.count=n,this.min=e,this.max=i,this.message="Wrong number of arguments in function "+t+" ("+n+" provided, "+e+(null!=i?"-"+i:"")+" expected)",this.stack=(new Error).stack}r.prototype=new Error,r.prototype.constructor=Error,r.prototype.name="ArgumentsError",r.prototype.isArgumentsError=!0,t.exports=r},function(t,n,e){"use strict";var r=e(3);function i(t,n,e){if(void 0!==t[n]&&(i=e,o=t[n],-1===i.indexOf(o))){var r=function(t,n){return t.map((function(t){return t.toLowerCase()})).indexOf(n.toLowerCase())}(e,t[n]);-1!==r?(console.warn('Warning: Wrong casing for configuration option "'+n+'", should be "'+e[r]+'" instead of "'+t[n]+'".'),t[n]=e[r]):console.warn('Warning: Unknown value "'+t[n]+'" for configuration option "'+n+'". Available options: '+e.map(JSON.stringify).join(", ")+".")}var i,o}n.name="config",n.math=!0,n.factory=function(t,n,e,o,a){var u=["Matrix","Array"],s=["number","BigNumber","Fraction"];function f(t){if(t){var e=r.map(n,r.clone);i(t,"matrix",u),i(t,"number",s),r.deepExtend(n,t);var o=r.map(n,r.clone),f=r.map(t,r.clone);return a.emit("config",o,e,f),o}return r.map(n,r.clone)}return f.MATRIX=u,f.NUMBER=s,f}},function(t,n,e){"use strict";var r=e(27);n.name="factorial",n.factory=function(t,n,i,o){var a=i(e(342)),u=e(9),s=o("factorial",{number:function(t){if(t<0)throw new Error("Value must be non-negative");return a(t+1)},BigNumber:function(t){if(t.isNegative())throw new Error("Value must be non-negative");return a(t.plus(1))},"Array | Matrix":function(t){return r(t,s)}});return s.toTex={1:"\\left(${args[0]}\\right)"+u.operators.factorial},s}},function(t,n,e){"use strict";var r=e(27),i=e(4).isInteger;var o=4.7421875,a=[.9999999999999971,57.15623566586292,-59.59796035547549,14.136097974741746,-.4919138160976202,3399464998481189e-20,4652362892704858e-20,-9837447530487956e-20,.0001580887032249125,-.00021026444172410488,.00021743961811521265,-.0001643181065367639,8441822398385275e-20,-26190838401581408e-21,36899182659531625e-22];n.name="gamma",n.factory=function(t,n,u,s){var f=u(e(94)),c=u(e(347)),l=s("gamma",{number:function(t){var n,e;if(i(t)){if(t<=0)return isFinite(t)?1/0:NaN;if(t>171)return 1/0;for(var r=t-2,u=t-1;r>1;)u*=r,r--;return 0==u&&(u=1),u}if(t<.5)return Math.PI/(Math.sin(Math.PI*t)*l(1-t));if(t>=171.35)return 1/0;if(t>85){var s=t*t,f=s*t,c=f*t,h=c*t;return Math.sqrt(2*Math.PI/t)*Math.pow(t/Math.E,t)*(1+1/(12*t)+1/(288*s)-139/(51840*f)-571/(2488320*c)+163879/(209018880*h)+5246819/(75246796800*h*t))}--t,e=a[0];for(var p=1;p<a.length;++p)e+=a[p]/(t+p);return n=t+o+.5,Math.sqrt(2*Math.PI)*Math.pow(n,t+.5)*Math.exp(-n)*e},Complex:function(n){var e,r;if(0==n.im)return l(n.re);n=new t.Complex(n.re-1,n.im),r=new t.Complex(a[0],0);for(var i=1;i<a.length;++i){var u=n.re+i,s=u*u+n.im*n.im;0!=s?(r.re+=a[i]*u/s,r.im+=-a[i]*n.im/s):r.re=a[i]<0?-1/0:1/0}e=new t.Complex(n.re+o+.5,n.im);var h=Math.sqrt(2*Math.PI);n.re+=.5;var p=c(e,n);0==p.im?p.re*=h:0==p.re?p.im*=h:(p.re*=h,p.im*=h);var d=Math.exp(-e.re);return e.re=d*Math.cos(-e.im),e.im=d*Math.sin(-e.im),f(f(p,e),r)},BigNumber:function(e){if(e.isInteger())return e.isNegative()||e.isZero()?new t.BigNumber(1/0):function(e){if(e.isZero())return new t.BigNumber(1);var r=n.precision+(0|Math.log(e.toNumber())),i=new(t.BigNumber.clone({precision:r}))(e),o=e.toNumber()-1;for(;o>1;)i=i.times(o),o--;return new t.BigNumber(i.toPrecision(t.BigNumber.precision))}(e.minus(1));if(!e.isFinite())return new t.BigNumber(e.isNegative()?NaN:1/0);throw new Error("Integer BigNumber expected")},"Array | Matrix":function(t){return r(t,l)}});return l.toTex={1:"\\Gamma\\left(${args[0]}\\right)"},l}},function(t,n){n.format=function(t,e){if("function"==typeof e)return e(t);if(!t.isFinite())return t.isNaN()?"NaN":t.gt(0)?"Infinity":"-Infinity";var r="auto",i=void 0;switch(void 0!==e&&(e.notation&&(r=e.notation),"number"==typeof e?i=e:e.precision&&(i=e.precision)),r){case"fixed":return n.toFixed(t,i);case"exponential":return n.toExponential(t,i);case"auto":var o=.001,a=1e5;e&&e.exponential&&(void 0!==e.exponential.lower&&(o=e.exponential.lower),void 0!==e.exponential.upper&&(a=e.exponential.upper));t.constructor.toExpNeg,t.constructor.toExpPos;if(t.constructor.config({toExpNeg:Math.round(Math.log(o)/Math.LN10),toExpPos:Math.round(Math.log(a)/Math.LN10)}),t.isZero())return"0";var u=t.abs();return(u.gte(o)&&u.lt(a)?t.toSignificantDigits(i).toFixed():n.toExponential(t,i)).replace(/((\.\d*?)(0+))($|e)/,(function(){var t=arguments[2],n=arguments[4];return"."!==t?t+n:n}));default:throw new Error('Unknown notation "'+r+'". Choose "auto", "exponential", or "fixed".')}},n.toExponential=function(t,n){return void 0!==n?t.toExponential(n-1):t.toExponential()},n.toFixed=function(t,n){return t.toFixed(n||0)}},function(t,n,e){"use strict";function r(t,n,e){if(!(this instanceof r))throw new SyntaxError("Constructor must be called with the new operator");this.index=t,arguments.length<3?(this.min=0,this.max=n):(this.min=n,this.max=e),void 0!==this.min&&this.index<this.min?this.message="Index out of range ("+this.index+" < "+this.min+")":void 0!==this.max&&this.index>=this.max?this.message="Index out of range ("+this.index+" > "+(this.max-1)+")":this.message="Index out of range ("+this.index+")",this.stack=(new Error).stack}r.prototype=new RangeError,r.prototype.constructor=RangeError,r.prototype.name="IndexError",r.prototype.isIndexError=!0,t.exports=r},function(t,n,e){"use strict";n.factory=function(t,n,e,r){var i=r("multiplyScalar",{"number, number":function(t,n){return t*n},"Complex, Complex":function(t,n){return t.mul(n)},"BigNumber, BigNumber":function(t,n){return t.times(n)},"Fraction, Fraction":function(t,n){return t.mul(n)},"number | Fraction | BigNumber | Complex, Unit":function(t,n){var e=n.clone();return e.value=null===e.value?e._normalize(t):i(e.value,t),e},"Unit, number | Fraction | BigNumber | Complex":function(t,n){var e=t.clone();return e.value=null===e.value?e._normalize(n):i(e.value,n),e},"Unit, Unit":function(t,n){return t.multiply(n)}});return i}},function(t,n,e){"use strict";n.name="algorithm11",n.factory=function(t,n,r,i){var o=r(e(18)),a=t.SparseMatrix;return function(t,n,e,r){var u=t._values,s=t._index,f=t._ptr,c=t._size,l=t._datatype;if(!u)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var h,p=c[0],d=c[1],v=o,m=0,g=e;"string"==typeof l&&(h=l,v=i.find(o,[h,h]),m=i.convert(0,h),n=i.convert(n,h),g=i.find(e,[h,h]));for(var y=[],_=[],b=[],x=new a({values:y,index:_,ptr:b,size:[p,d],datatype:h}),w=0;w<d;w++){b[w]=_.length;for(var M=f[w],k=f[w+1],A=M;A<k;A++){var z=s[A],E=r?g(n,u[A]):g(u[A],n);v(E,m)||(_.push(z),y.push(E))}}return b[d]=_.length,x}}},function(t,n,e){"use strict";var r=e(4).isInteger,i=e(28).size;n.name="pow",n.factory=function(t,n,o,a){var u=e(9),s=o(e(348)),f=o(e(94)),c=o(e(7)),l=o(e(349)),h=o(e(350)),p=a("pow",{"number, number":d,"Complex, Complex":function(t,n){return t.pow(n)},"BigNumber, BigNumber":function(e,r){return r.isInteger()||e>=0||n.predictable?e.pow(r):new t.Complex(e.toNumber(),0).pow(r.toNumber(),0)},"Fraction, Fraction":function(t,e){if(1!==e.d){if(n.predictable)throw new Error("Function pow does not support non-integer exponents for fractions.");return d(t.valueOf(),e.valueOf())}return t.pow(e)},"Array, number":v,"Array, BigNumber":function(t,n){return v(t,n.toNumber())},"Matrix, number":m,"Matrix, BigNumber":function(t,n){return m(t,n.toNumber())},"Unit, number":function(t,n){return t.pow(n)}});function d(e,i){if(n.predictable&&!r(i)&&e<0)try{var o=l(i),a=h(o);if((i===a||Math.abs((i-a)/i)<1e-14)&&o.d%2==1)return(o.n%2==0?1:-1)*Math.pow(-e,i)}catch(t){}return e*e<1&&i===1/0||e*e>1&&i===-1/0?0:n.predictable&&(e<-1&&i===1/0||e>-1&&e<0&&i===-1/0)?NaN:r(i)||e>=0||n.predictable?Math.pow(e,i):new t.Complex(e,0).pow(i,0)}function v(t,n){if(!r(n)||n<0)throw new TypeError("For A^b, b must be a positive integer (value is "+n+")");var e=i(t);if(2!=e.length)throw new Error("For A^b, A must be 2 dimensional (A has "+e.length+" dimensions)");if(e[0]!=e[1])throw new Error("For A^b, A must be square (size is "+e[0]+"x"+e[1]+")");for(var o=s(e[0]).valueOf(),a=t;n>=1;)1==(1&n)&&(o=f(a,o)),n>>=1,a=f(a,a);return o}function m(t,n){return c(v(t.valueOf(),n))}return p.toTex={2:"\\left(${args[0]}\\right)"+u.operators.pow+"{${args[1]}}"},p}},function(t,n,e){"use strict";var r=e(28),i=e(4).isInteger;n.name="eye",n.factory=function(t,n,o,a){var u=o(e(7)),s=a("eye",{"":function(){return"Matrix"===n.matrix?u([]):[]},string:function(t){return u(t)},"number | BigNumber":function(t){return c(t,t,"Matrix"===n.matrix?"default":void 0)},"number | BigNumber, string":function(t,n){return c(t,t,n)},"number | BigNumber, number | BigNumber":function(t,e){return c(t,e,"Matrix"===n.matrix?"default":void 0)},"number | BigNumber, number | BigNumber, string":function(t,n,e){return c(t,n,e)},Array:function(t){return f(t)},"Array, string":function(t,n){return f(t,n)},Matrix:function(t){return f(t.valueOf(),t.storage())},"Matrix, string":function(t,n){return f(t.valueOf(),n)}});return s.toTex=void 0,s;function f(t,n){switch(t.length){case 0:return n?u(n):[];case 1:return c(t[0],t[0],n);case 2:return c(t[0],t[1],n);default:throw new Error("Vector containing two values expected")}}function c(n,e,o){var a=t.isBigNumber(n)||t.isBigNumber(e)?t.BigNumber:null;if(t.isBigNumber(n)&&(n=n.toNumber()),t.isBigNumber(e)&&(e=e.toNumber()),!i(n)||n<1)throw new Error("Parameters in function eye must be positive integers");if(!i(e)||e<1)throw new Error("Parameters in function eye must be positive integers");var u=a?new t.BigNumber(1):1,s=a?new a(0):0,f=[n,e];if(o)return t.Matrix.storage(o).diagonal(f,u,0,s);for(var c=r.resize([],f,s),l=n<e?n:e,h=0;h<l;h++)c[h][h]=u;return c}}},function(t,n,e){"use strict";var r=e(27);n.name="fraction",n.factory=function(t,n,e,i){var o=i("fraction",{number:function(n){if(!isFinite(n)||isNaN(n))throw new Error(n+" cannot be represented as a fraction");return new t.Fraction(n)},string:function(n){return new t.Fraction(n)},"number, number":function(n,e){return new t.Fraction(n,e)},BigNumber:function(n){return new t.Fraction(n.toString())},Fraction:function(t){return t},Object:function(n){return new t.Fraction(n)},"Array | Matrix":function(t){return r(t,o)}});return o}},function(t,n,e){"use strict";var r=e(27);n.name="number",n.factory=function(t,n,e,i){var o=i("number",{"":function(){return 0},number:function(t){return t},string:function(t){var n=Number(t);if(isNaN(n))throw new SyntaxError('String "'+t+'" is no valid number');return n},BigNumber:function(t){return t.toNumber()},Fraction:function(t){return t.valueOf()},Unit:function(t){throw new Error("Second argument with valueless unit expected")},"Unit, string | Unit":function(t,n){return t.toNumber(n)},"Array | Matrix":function(t){return r(t,o)}});return o.toTex={0:"0",1:"\\left(${args[0]}\\right)",2:"\\left(\\left(${args[0]}\\right)${args[1]}\\right)"},o}},function(t,n,e){var r=e(1),i=e(97);t.exports=function(t,n,e){let o=t.params;r.select(o.tooltip_id).append("text").text("Manual Category: ");let a=r.select(o.tooltip_id).append("div").classed("color_picker_div",!0).style("height","0px").style("display","none");colors_array_1=["#ff4422","#ee1166","#9911bb","#6633bb","#3344bb","#1199ff","#00aaff","#00bbdd","#009988","#44bb44"],colors_array_2=["#88cc44","#ccdd22","#ffee11","#ffcc00","#ff9900","#ff5500","#775544","#999999","#828080","#444"];let u=function(t){r.select(o.tooltip_id+" .custom-cat-color").attr("value",t),r.select(o.tooltip_id+" .color-preview").style("background-color",t)};a.append("div").selectAll("div").data(colors_array_1).enter().append("div").style("width","30px").style("height","16px").style("display","inline-block").style("margin-left","5px").style("margin-right","2px").style("background-color",t=>t).on("click",t=>{u(t)}),a.append("div").selectAll("div").data(colors_array_2).enter().append("div").style("width","30px").style("height","16px").style("display","inline-block").style("margin-left","5px").style("margin-right","2px").style("background-color",t=>t).on("click",t=>{u(t)}),custom_cat_div=r.select(o.tooltip_id).append("div").classed("custom_cat_div",!0);let s=t.params.root.replace("#","");if(custom_cat_div.append("input").classed("custom-cat-input",!0).attr("placeholder","Category").attr("list","preferred_categories_"+s).style("width","140px").style("display","inline-block").style("color","black").on("change",t=>{let n,i=r.select(o.tooltip_id+" .custom-cat-input").node().value.trim();e+"_color_dict"in o.cat_data.manual_category&&i in o.cat_data.manual_category[e+"_color_dict"]&&(n=o.cat_data.manual_category[e+"_color_dict"][i],u(n))}),e+"_cats"in o.cat_data.manual_category){let t=o.cat_data.manual_category[e+"_cats"].map(t=>t.name);custom_cat_div.append("datalist").attr("id","preferred_categories_"+s).selectAll("options").data(t).enter().append("option").attr("value",t=>t)}custom_cat_div.append("input").classed("custom-cat-color",!0).attr("placeholder","Color").style("width","80px").style("display","inline-block").style("margin-left","5px").style("color","black").on("input",(function(t){r.select(o.tooltip_id+" .color-preview").style("background-color",this.value)}));custom_cat_div.append("div").classed("color-preview",!0).style("width","30px").style("height","16px").style("display","inline-block").style("margin-left","5px").style("margin-right","2px").style("background-color","white").on("click",t=>{!1===o.cat_data.showing_color_picker&&(r.select(o.tooltip_id+" .color_picker_div").style("height","45px").style("display","block"),r.select(o.tooltip_id).style("margin-top",(function(){let t=r.select(o.tooltip_id).style("margin-top").replace("px");return String(parseInt(t)-45)+"px"})),o.cat_data.showing_color_picker=!0)}),custom_cat_div.append("button").style("display","inline-block").style("margin-left","5px").style("padding","2px 5px").style("background-color","dodgerblue").style("border","1px solid #ddd").style("color","white").style("cursor","pointer").on("click",a=>{let u=r.select(o.tooltip_id+" .custom-cat-input").node().value.trim(),s=r.select(o.tooltip_id+" .custom-cat-color").node().value.trim();if(""!=u){e+"_color_dict"in o.cat_data.manual_category&&(o.cat_data.manual_category[e+"_color_dict"][u]=s),""===s&&(s="white");let r=o.dendro.selected_clust_names,a=o.cat_data[e][0].cat_title;o.network.global_cat_colors[u]=s,o.int.manual_update_cats=!0,i(t,e,a,u,r),o.is_widget&&t.widget_callback(n)}}).append("text").text("Set Category")}},function(t,n,e){var r=e(1);t.exports=function(){r.selectAll(".cgm-tooltip").each((function(){var t=r.select(this).attr("id").split("_")[1];r.select("#"+t).empty()&&r.select(this).style("display","none")}))}},function(t,n,e){var r=e(1);t.exports=function(t){r.selectAll(".cgm-tooltip").style("display","none"),r.select(t.tooltip_id).style("opacity",1).style("display","block").style("z-index",99);var n=parseFloat(r.select(t.tooltip_id).style("width").replace("px","")),e=parseFloat(r.select(t.tooltip_id).style("height").replace("px",""));t.d3_tip_width=n,"matrix-cell"===t.tooltip.tooltip_type?r.select(t.tooltip_id).style("margin-left",(function(){return t.zoom_data.x.cursor_position-n+22+"px"})).style("margin-top",(function(){return t.zoom_data.y.cursor_position-e+"px"})):"row-label"===t.tooltip.tooltip_type?r.select(t.tooltip_id).style("margin-left",(function(){return 150+12*t.cat_data.row.length+"px"})).style("margin-top",(function(){return t.zoom_data.y.cursor_position-e+"px"})):"col-label"===t.tooltip.tooltip_type?r.select(t.tooltip_id).style("margin-left",(function(){return t.zoom_data.x.cursor_position-n+22+"px"})).style("margin-top",(function(){return 125+12*t.cat_data.col.length+"px"})):"col-dendro"===t.tooltip.tooltip_type?r.select(t.tooltip_id).style("margin-left",(function(){return t.zoom_data.x.cursor_position-n/2+22+"px"})).style("margin-top",(function(){return 845-e+"px"})):"row-dendro"===t.tooltip.tooltip_type?r.select(t.tooltip_id).style("margin-left",(function(){return 870-n+"px"})).style("margin-top",(function(){return t.zoom_data.y.cursor_position-e+"px"})):t.tooltip.tooltip_type.includes("col-cat-")?r.select(t.tooltip_id).style("margin-left",(function(){return t.zoom_data.x.cursor_position-n+22+"px"})).style("margin-top",(function(){return 125+12*t.cat_data.col.length+"px"})):t.tooltip.tooltip_type.includes("row-cat-")&&r.select(t.tooltip_id).style("margin-left",(function(){return 150+12*t.cat_data.row.length+"px"})).style("margin-top",(function(){return t.zoom_data.y.cursor_position-e+"px"}))}},function(t,n){t.exports=function(t,n){n.int.total=n.int.total-1,0==n.int.total&&0==n.ani.ini_viz&&(0==n.ani.first_frame?(n.labels.draw_labels=!0,n.zoom_data.x.total_mouseover):n.ani.first_frame=!1)}},function(t,n,e){var r=e(1),i=e(356);t.exports=function(t,n){r.selectAll(n.root+" .group-svg-tooltip").remove(),n.zoom_data.x.total_mouseover=n.zoom_data.x.total_mouseover+1,setTimeout(i,100,t,n)}},function(t,n){t.exports=function(t,n){n.zoom_data.x.total_mouseover=n.zoom_data.x.total_mouseover-1,0==n.zoom_data.x.total_mouseover&&0==n.int.still_mouseover&&(n.tooltip.show_tooltip=!0)}},function(t,n,e){var r=e(59),i=e(72);t.exports=function(t,n){_.each(["row","col"],(function(t){if(n.labels.queue.high[t].length>0){var e=n.labels.queue.high[t][0],o=r(n,t,e);n.text_triangles[t][e]=o,i(n.labels.queue.high[t],t,e),0==n.labels.queue.high[t].length&&0==n.labels.precalc[t]&&(n.ani.update_viz=!0)}}))}},function(t,n,e){var r=e(1);t.exports=function(){r.select(this.params.base_container).selectAll("div").remove(),this.regl.destroy(),r.select(this.params.tooltip_id).remove()}},function(t,n,e){var r=e(1);t.exports=function(){var t=this.params;r.select(t.root+" .canvas-container canvas").on("mouseover",(function(){t.tooltip.on_canvas=!0})).on("mouseout",(function(){t.tooltip.on_canvas=!1}))}},function(t,n){t.exports=function(t){this.initialize_containers(),this.initialize_regl(),this.initialize_params(t),this.build_control_panel(),this.build_dendrogram_sliders(),this.ini_canvas_mouseover(),this.run_viz(t)}},function(t,n,e){var r=e(90);t.exports=function(t){this.regl;var n=this.params;r(this,t),n.tooltip.show_tooltip&&(n.tooltip.show_tooltip=!1),n.dendro.update_dendro&&(n.dendro.update_dendro=!1)}},function(t,n,e){var r=e(40);t.exports=function(t,n){t.ani.last_click=t.ani.time,t.int.manual_update_cats=!1;r(t,!0),t.tooltip.tooltip_type.includes("-dendro")&&!1===t.tooltip.permanent_tooltip&&(e(91)(this,n),t.tooltip.permanent_tooltip=!0),t.is_widget&&(console.log("--\x3e running widget callback on click"),this.widget_callback(n))}},function(t,n,e){var r=e(74),i=e(30),o=e(364),a=e(40),u=e(377);t.exports=function(t,n,e){var s=this,f=f||{},c=i({element:f.element||t._gl.canvas},f||{}).element;r({element:c}).on("interaction",(function(e){o(t,n,e),a(n)})).on("interactionend",(function(){n.ani.time-n.ani.last_click<n.ani.dblclick_duration?u(t,n):(console.log("single-click"),s.single_clicking(n,e))}))}},function(t,n,e){var r=e(365),i=e(373),o=e(375),a=e(376);t.exports=function(t,n,e){var u=n.zoom_data,s=n.zoom_restrict,f=n.viz_dim;if(e.buttons||-1!==["wheel","touch","pinch"].indexOf(e.type)){switch(e.type){case"wheel":e.dsx=e.dsy=Math.exp(-e.dy/100),e.dx=e.dy=0}var c;u.x.inst_zoom=e.dsx,u.x.pan_by_drag=e.dx,u.x.cursor_position=e.x0,u.y.inst_zoom=e.dsy,u.y.pan_by_drag=e.dy,u.y.cursor_position=e.y0,u.y.total_zoom<s.y.ratio?(u.x.inst_zoom=1,(c=u.y.total_zoom*u.y.inst_zoom)>s.y.ratio&&(u.x.inst_zoom=c/s.y.ratio)):u.x.total_zoom<s.x.ratio&&(u.y.inst_zoom=1,(c=u.x.total_zoom*u.x.inst_zoom)>s.x.ratio&&(u.y.inst_zoom=c/s.x.ratio)),u.x=r(n,s.x,u.x,f.heat.x,f.mat.x,"x"),u.y=r(n,s.y,u.y,f.heat.y,f.mat.y,"y"),o(n)}else"mousemove"===e.type&&(a(n),i(t,n,e))}},function(t,n,e){var r=e(366),i=e(367),o=e(368),a=e(369),u=e(370),s=e(371),f=e(372);t.exports=function(t,n,e,c,l,h){var p;p="x"===h?"width":"height",e.viz_offcenter=t.viz_dim.canvas[p]*t.viz_dim.offcenter[h]/2;var d=_.clone(e);r(t,e),i(e,n),e.heat_offset=l.max-c.max,o(e,c);var v=a(e,c);u(e,v);var m=s(e);return f(e,m,c,h,d),e}},function(t,n){t.exports=function(t,n){1==n.total_zoom&&n.inst_zoom<1&&(n.inst_zoom=1,t.reset_cameras=!0)}},function(t,n){t.exports=function(t,n){var e=n.max,r=n.min,i=t.total_zoom*t.inst_zoom;i<e&&i>r?t.total_zoom=i:i>=e?t.inst_zoom<1?t.total_zoom=t.total_zoom*t.inst_zoom:(t.inst_zoom=e/t.total_zoom,t.total_zoom=e):i<=r&&(t.inst_zoom>1?t.total_zoom=t.total_zoom*t.inst_zoom:(t.inst_zoom=r/t.total_zoom,t.total_zoom=r))}},function(t,n){t.exports=function(t,n){t.inst_zoom>1&&(t.pan_by_drag=0),t.pan_by_drag>0&&t.total_pan_min+t.pan_by_drag>=0&&(t.pan_by_drag=-t.total_pan_min),t.pan_by_drag<0&&t.total_pan_max-t.pan_by_drag>=0&&(t.pan_by_drag=t.total_pan_max),t.cursor_position<n.min+t.viz_offcenter?t.cursor_position=n.min+t.viz_offcenter:t.cursor_position>n.max+t.heat_offset+t.viz_offcenter&&(t.cursor_position=n.max+t.heat_offset+t.viz_offcenter)}},function(t,n){t.exports=function(t,n){var e={};return e.min=t.cursor_position-n.min-t.viz_offcenter,e.min<0?e.min=0:e.min>n.max&&(e.min=n.max),e.max=n.max+t.heat_offset-t.cursor_position+t.viz_offcenter,e.max<0?e.max=0:e.max>n.max+t.heat_offset&&(e.max=n.max+t.heat_offset),e}},function(t,n){t.exports=function(t,n){t.inst_eff_zoom=t.inst_zoom-1,t.pbz_relative_min=-t.inst_eff_zoom*n.min,t.pbz_relative_max=-t.inst_eff_zoom*n.max}},function(t,n){t.exports=function(t){var n={};return n.min=t.total_pan_min+t.pan_by_drag/t.total_zoom+t.pbz_relative_min/t.total_zoom,n.max=t.total_pan_max+-t.pan_by_drag/t.total_zoom+t.pbz_relative_max/t.total_zoom,n}},function(t,n){t.exports=function(t,n,e,r,i){t.fully_zoomed_out=!1,t.total_pan_min>=0&&t.total_pan_max>=0&&(t.fully_zoomed_out=!0);var o=!1;if(n.min>1e-4&&n.max>1e-4&&(o=!0),n.min<=1e-4&&n.max<=1e-4&&(t.pan_by_zoom=-t.inst_eff_zoom*t.cursor_position,t.total_pan_min=n.min,t.total_pan_max=n.max,t.prev_restrict=!1),n.min>1e-4){t.pan_by_zoom=-t.inst_eff_zoom*(e.min+t.viz_offcenter)-t.total_pan_min*t.total_zoom,t.total_pan_min=0;var a=e.max-e.min+t.viz_offcenter,u=-t.inst_eff_zoom*a;t.total_pan_max=t.total_pan_max+u/t.total_zoom,1==t.fully_zoomed_out&&(t.pan_by_zoom=0,t.total_pan_max=0),t.prev_restrict="min"}if(n.max>1e-4){t.pan_by_zoom=-t.inst_eff_zoom*(e.max+t.heat_offset+t.viz_offcenter)+t.total_pan_max*t.total_zoom,t.total_pan_max=0;var s=e.max+t.heat_offset-e.min+t.viz_offcenter,f=-t.inst_eff_zoom*s;t.total_pan_min=t.total_pan_min+f/t.total_zoom,1==t.fully_zoomed_out&&(t.pan_by_zoom=0,t.total_pan_min=0),t.prev_restrict="max"}o&&("min"===i.prev_restrict?t.pan_by_zoom=-t.inst_eff_zoom*(e.min+t.viz_offcenter):"max"===i.prev_restrict&&(t.pan_by_zoom=-t.inst_eff_zoom*(e.max+t.heat_offset+t.viz_offcenter)))}},function(t,n,e){t.exports=function(t,n,r){var i=n.viz_dim.heat,o=n.int.mouseover;_.each(["row","col"],(function(t){n.int.mouseover[t]={},n.int.mouseover[t].name=null,n.int.mouseover[t].cats=[]})),n.int.mouseover.value=null;var a,u={},s={x:"width",y:"height"},f={};_.each(["x","y"],(function(t){n.zoom_data[t].cursor_position=r[t+"0"],u[t]=n.viz_dim.canvas[s[t]]*n.viz_dim.offcenter[t]/2,f[t]=n.zoom_data[t].cursor_position-i[t].min-u[t],f[t]=f[t]/n.zoom_data[t].total_zoom-n.zoom_data[t].total_pan_min,n.zoom_data[t].cursor_rel_min=f[t]})),e(374)(n);var c={};if(n.tooltip.in_bounds_tooltip){var l,h=[];if("matrix-cell"===n.tooltip.tooltip_type)h=["row","col"];else if(n.tooltip.tooltip_type.indexOf("row")>=0)h=["row"];else if(n.tooltip.tooltip_type.indexOf("col")>=0&&(h=["col"],n.zoom_data.x.total_zoom/n.zoom_restrict.x.max>.01)){var p=126-n.zoom_data.y.cursor_position;p>0&&(f.x=f.x-p/n.zoom_data.x.total_zoom)}_.each(h,(function(t){"row"===t?(l=Math.floor(f.y/n.tile_pix_height),c[t]=n.labels.ordered_labels[t+"_indices"][l]):(l=Math.floor(f.x/n.tile_pix_width),c[t]=n.labels.ordered_labels[t+"_indices"][l]),o[t].name=n.labels.ordered_labels[t+"s"][l],"string"==typeof o[t].name&&o[t].name.includes(": ")&&(o[t].name=o[t].name.split(": ")[1]),o[t].cats=[],_.each(n.cat_data[t],(function(e,r){a=n.labels.ordered_labels[t+"_cats-"+r][l],o[t].cats[r]=a}))})),"matrix-cell"===n.tooltip.tooltip_type&&(n.int.mouseover.value=n.mat_data[c.row][c.col],"mat_data_iz"in n&&(n.int.mouseover.value_iz=n.mat_data_iz[c.row][c.col]))}n.tooltip.tooltip_type.indexOf("dendro")>=0&&("row-dendro"===n.tooltip.tooltip_type&&_.each(n.dendro.group_info.row,(function(t){t.all_names.includes(o.row.name)&&(o.row.dendro=t)})),"col-dendro"===n.tooltip.tooltip_type&&_.each(n.dendro.group_info.col,(function(t){t.all_names.includes(o.col.name)&&(o.col.dendro=t)})))}},function(t,n){t.exports=function(t){var n={x:{}};n.x.heat_min=125+12*t.cat_data.row.length,n.x.dendro_start=845,n.x.dendro_end=860,n.y={},n.y.heat_min=126+12*t.cat_data.col.length,n.y.dendro_start=845,n.y.dendro_end=860;var e,r={};r.x=t.zoom_data.x.cursor_position,r.y=t.zoom_data.y.cursor_position,t.tooltip.in_bounds_tooltip=!1,t.tooltip.tooltip_type="out-of-bounds",r.x>n.x.heat_min&&r.x<n.x.dendro_start&&r.y>n.y.heat_min&&r.y<n.y.dendro_start?(t.tooltip.in_bounds_tooltip=!0,t.tooltip.tooltip_type="matrix-cell"):r.x<=n.x.heat_min&&r.y>n.y.heat_min&&r.y<n.y.dendro_start?(t.tooltip.in_bounds_tooltip=!0,t.cat_data.row.length>0&&(e=Math.floor((n.x.heat_min-r.x)/12))+1<=t.cat_data.row.length?t.tooltip.tooltip_type="row-cat-"+String(t.cat_data.row.length-e-1):t.tooltip.tooltip_type="row-label"):r.y<=n.y.heat_min&&r.x>n.x.heat_min&&r.x<n.x.dendro_start?(t.tooltip.in_bounds_tooltip=!0,t.cat_data.col.length>0&&(e=Math.floor((n.y.heat_min-r.y)/12))+1<=t.cat_data.col.length?t.tooltip.tooltip_type="col-cat-"+String(t.cat_data.col.length-e-1):t.tooltip.tooltip_type="col-label"):r.x>=n.x.dendro_start&&r.x<n.x.dendro_end&&r.y>n.y.heat_min&&r.y<n.y.dendro_start?"clust"==t.order.inst.row&&(t.tooltip.tooltip_type="row-dendro",t.tooltip.in_bounds_tooltip=!0):r.y>=n.y.dendro_start&&r.y<n.y.dendro_end&&r.x>n.x.heat_min&&r.x<n.x.dendro_start&&"clust"==t.order.inst.col&&(t.tooltip.tooltip_type="col-dendro",t.tooltip.in_bounds_tooltip=!0)}},function(t,n){t.exports=function(t){0==t.int.still_interacting&&(t.int.still_interacting=!0,setTimeout((function(){t.int.still_interacting=!1}),100))}},function(t,n){t.exports=function(t){0==t.int.still_mouseover&&(t.int.still_mouseover=!0,setTimeout((function(){t.int.still_mouseover=!1}),1e3))}},function(t,n,e){var r=e(378);t.exports=function(t,n){"col-label"===n.tooltip.tooltip_type&&r(t,n,"col"),"row-label"===n.tooltip.tooltip_type&&r(t,n,"row")}},function(t,n,e){var r=e(1),i=e(17);t.exports=function(t,n,e){var o;o=n.int.mouseover[e].name;var a=_.indexOf(n.network[e+"_node_names"],o);n.search.searched_rows=o.split(", ");var u,s=[];"col"===e?(u="row",_.each(n.mat_data,(function(t){s.push(t[a])}))):(u="col",s=n.mat_data[a]);var f=r.range(s.length).sort((function(t,n){return s[n]-s[t]}));let c=n.labels["num_"+u];_.map(n.network[u+"_nodes"],(function(t,n){t.custom=c-f[n]}));var l=[];_.map(f,(function(t){l.push(n.network[u+"_nodes"][t].name)})),n.network[u+"_nodes"].forEach((function(t){t.custom=c-l.indexOf(t.name)-1})),i(t,n,u,"custom");r.select(n.root+" ."+u+"-reorder-buttons").selectAll("rect").style("stroke","#eee")}},function(t,n,e){var r=e(380),i=e(92).create(),o=e(382),a=e(383),u=e(83);i.import(e(385)),i.import(e(386)),t.exports=function(t="cosine",n="average"){var s=this;console.log("reclustering\n----------------------------------");var f={N_row_sum:"null",N_row_var:"null"};f.distance_metric=t,f.linkage_type=n;var c=t+"_"+n;f.name=c,f.nodes={},f.nodes.row_nodes=_.clone(s.params.network.row_nodes),f.nodes.col_nodes=_.clone(s.params.network.col_nodes),s.params.tree={},_.each(["row","col"],(function(e){var u,c,l,h=i.transpose;"row"===e?(u=_.clone(s.params.network.mat),c=s.params.network.row_nodes.map(t=>t.name.split(": ")[1]),l="row_nodes"):"col"===e&&(u=h(u=_.clone(s.params.network.mat)),c=s.params.network.col_nodes.map(t=>t.name.split(": ")[1]),l="col_nodes");for(var p,d,v=r.hcluster(u,o[t],n),m=a(v,c,s,e),g=f.nodes[l],y=0;y<g.length;y++)p=g[y],d=m.info[y],p.clust=d.order,p.group=d.group})),e(17)(s.regl,s.params,"row","clust"),e(17)(s.regl,s.params,"col","clust");let l=s.params.dendro.group_level;u(s,"row",l.row),u(s,"col",l.col)}},function(t,n,e){t.exports={hcluster:e(381),Kmeans:e(99),kmeans:e(99).kmeans}},function(t,n,e){var r=e(98),i=function(t,n,e){this.distance=t||"euclidean",this.linkage=n||"average",this.threshold=null==e?1/0:e,"string"==typeof this.distance&&(this.distance=r[this.distance])};i.prototype={tree:function(t,n,e){this.tree=[],this.dists=[],this.mins=[],this.index=[];for(var r=0;r<t.length;r++){var i={value:t[r],key:r,index:r,size:1};this.tree[r]=i,this.index[r]=i,this.dists[r]=[],this.mins[r]=0}for(r=0;r<this.tree.length;r++)for(var o=0;o<=r;o++){var a=r==o?1/0:this.distance(this.tree[r].value,this.tree[o].value);this.dists[r][o]=a,this.dists[o][r]=a,a<this.dists[r][this.mins[r]]&&(this.mins[r]=o)}this.dists_backup=_.clone(this.dists);var u=this.mergeClosest();for(r=0;u;)e&&r++%n==0&&e(this.tree),u=this.mergeClosest();return this.tree},mergeClosest:function(){for(var t=0,n=1/0,e=0;e<this.tree.length;e++){var r=this.tree[e].key;(u=this.dists[r][this.mins[r]])<n&&(t=r,n=u)}if(n>=this.threshold)return!1;var i=this.index[t],o=this.index[this.mins[t]],a={dist:n,left:i,right:o,key:i.key,size:i.size+o.size};this.tree[i.index]=a,this.tree.splice(o.index,1),this.index[i.key]=a;for(e=0;e<this.tree.length;e++){var u,s=this.tree[e];i.key==s.key?u=1/0:"single"==this.linkage?(u=this.dists[i.key][s.key],this.dists[i.key][s.key]>this.dists[o.key][s.key]&&(u=this.dists[o.key][s.key])):"complete"==this.linkage?(u=this.dists[i.key][s.key],this.dists[i.key][s.key]<this.dists[o.key][s.key]&&(u=this.dists[o.key][s.key])):u="average"==this.linkage?(this.dists[i.key][s.key]*i.size+this.dists[o.key][s.key]*o.size)/(i.size+o.size):this.distance(s.value,i.value),this.dists[i.key][s.key]=this.dists[s.key][i.key]=u}for(e=0;e<this.tree.length;e++){var f=this.tree[e].key;if(this.mins[f]==i.key||this.mins[f]==o.key){n=f;for(var c=0;c<this.tree.length;c++){var l=this.tree[c].key;this.dists[f][l]<this.dists[f][n]&&(n=l)}this.mins[f]=n}this.tree[e].index=e}return!0},clusters:function(t){(t>this.tree.size||t<1)&&(t=this.tree.size);for(var n=[],e=[this.tree];t>1;){var r=i(e);e.splice(e.indexOf(r),1),e.push(r.left,r.right),t--}function i(t){var n,e=-1;return t.forEach((function(t){t.dist>e&&(e=t.dist,n=t)})),n}return e.forEach((function(t){n.push(function t(n){return 1===n.size?[n.value]:t(n.left).concat(t(n.right))}(t))})),n}};t.exports=function(t,n,e,r,o,a){var u=new i(n,e,r),s=u.tree(t,o,a);return{hc:u,tree:void 0===r?s[0]:s,clusters:u.clusters}}},function(t,n){function e(t,n){for(var e=0,r=0;r<t.length;r++)e+=t[r]*n[r];return e}function r(t){for(var n=0,e=0;e<t.length;e++)n+=t[e]*t[e];return Math.sqrt(n)}function i(t,n){for(var e=[],r=0;r<t.length;r++)e.push(t[r]-n);return e}function o(t){for(var n=0,e=0;e<t.length;e++)n+=t[e];return n/t.length}t.exports={euclidean:function(t,n){for(var e=0,r=0;r<t.length;r++)e+=Math.pow(n[r]-t[r],2);return Math.sqrt(e)},cosine:function(t,n){return 1-e(t,n)/(r(t)*r(n))},correlation:function(t,n){var a=o(t),u=o(n),s=i(t,a),f=i(n,u);return 1-e(s,f)/(r(s)*r(f))}}},function(t,n,e){var r=e(384),i=e(21);t.exports=function(t,n,e,o){var a,u,s=r(t.hc.dists),f=0,c=[],l=[],h=[],p=t.tree,d=p.dist;e.params.tree[o]=p;var v=[],m=[],g=[];for(var y=0;y<=10;y++)v.push(s*y/10),g.push("above"),c.push(0),m.push(y);var b;console.log(o),console.log(v),i.each(["left","right"],(function(t){!function t(e,r,o,s,p){i.each(m,(function(t){s<=v[t]?("above"===p[t]&&(c[t]=c[t]+1),p[t]="below"):p[t]="above"})),i.has(e,"dist")?(s=e.dist,o+=1,i.each(["left","right"],(function(n){t(e[n],n,o,s,p)}))):(u=e.key,i.each(m,(function(t){"above"===p[t]&&(c[t]=c[t]+1)})),(a={}).level=o,a.order=f,a.group=_.clone(c),a.key=u,a.dist=s,a.name=n[u],l.push(a),h.push(u),f+=1)}(p[t],0,1,d,g)})),l.sort((function(t,n){return t.key-n.key}));var x=[];i.each(h,(function(t){b=n[t],x.push(b)}));var w={};return w.info=l,w.order=h,w.ordered_names=x,w}},function(t,n,e){var r=e(21);t.exports=function(t){var n=0;return r.each(t,(function(t){r.each(t,(function(t){isFinite(t)&&t>n&&(n=t)}))})),n}},function(t,n,e){"use strict";var r=e(3).clone,i=e(38).format;n.name="transpose",n.factory=function(t,n,o,a){var u=e(9),s=o(e(7)),f=t.DenseMatrix,c=t.SparseMatrix,l=a("transpose",{Array:function(t){return l(s(t)).valueOf()},Matrix:function(t){var n,e=t.size();switch(e.length){case 1:n=t.clone();break;case 2:var r=e[0],o=e[1];if(0===o)throw new RangeError("Cannot transpose a 2D matrix with no columns (size: "+i(e)+")");switch(t.storage()){case"dense":n=h(t,r,o);break;case"sparse":n=p(t,r,o)}break;default:throw new RangeError("Matrix must be a vector or two dimensional (size: "+i(this._size)+")")}return n},any:function(t){return r(t)}}),h=function(t,n,e){for(var i,o=t._data,a=[],u=0;u<e;u++){i=a[u]=[];for(var s=0;s<n;s++)i[s]=r(o[s][u])}return new f({data:a,size:[e,n],datatype:t._datatype})},p=function(t,n,e){for(var i,o,a,u=t._values,s=t._index,f=t._ptr,l=u?[]:void 0,h=[],p=[],d=[],v=0;v<n;v++)d[v]=0;for(i=0,o=s.length;i<o;i++)d[s[i]]++;for(var m=0,g=0;g<n;g++)p.push(m),m+=d[g],d[g]=p[g];for(p.push(m),a=0;a<e;a++)for(var y=f[a],_=f[a+1],b=y;b<_;b++){var x=d[s[b]]++;h[x]=a,u&&(l[x]=r(u[b]))}return new c({values:l,index:h,ptr:p,size:[e,n],datatype:t._datatype})};return l.toTex={1:"\\left(${args[0]}\\right)"+u.operators.transpose},l}},function(t,n,e){t.exports=[e(41),e(100),e(389),e(390),e(395),e(397),e(398),e(399),e(400),e(7),e(401)]},function(t,n,e){"use strict";n.isBoolean=function(t){return"boolean"==typeof t}},function(t,n){n.memoize=function(t,n){return function e(){"object"!=typeof e.cache&&(e.cache={});for(var r=[],i=0;i<arguments.length;i++)r[i]=arguments[i];var o=n?n(r):JSON.stringify(r);return o in e.cache?e.cache[o]:e.cache[o]=t.apply(t,r)}},n.maxArgumentCount=function(t){return Object.keys(t.signatures||{}).reduce((function(t,n){var e=(n.match(/,/g)||[]).length+1;return Math.max(t,e)}),-1)},n.callWithRightArgumentCount=function(t,n,e){return Object.keys(t.signatures||{}).reduce((function(t,n){var e=(n.match(/,/g)||[]).length+1;return Math.max(t,e)}),-1)}},function(t,n,e){"use strict";var r=e(19),i=e(6),o=r.array,a=r.object,u=r.string,s=r.number,f=Array.isArray,c=s.isNumber,l=s.isInteger,h=u.isString,p=o.validateIndex;n.name="SparseMatrix",n.path="type",n.factory=function(t,n,d,v){var m=d(e(41)),g=d(e(18));function y(n,e){if(!(this instanceof y))throw new SyntaxError("Constructor must be called with the new operator");if(e&&!h(e))throw new Error("Invalid datatype: "+e);if(t.isMatrix(n))_(this,n,e);else if(n&&f(n.index)&&f(n.ptr)&&f(n.size))this._values=n.values,this._index=n.index,this._ptr=n.ptr,this._size=n.size,this._datatype=e||n.datatype;else if(f(n))b(this,n,e);else{if(n)throw new TypeError("Unsupported type of data ("+r.types.type(n)+")");this._values=[],this._index=[],this._ptr=[0],this._size=[0,0],this._datatype=e}}var _=function(t,n,e){"SparseMatrix"===n.type?(t._values=n._values?a.clone(n._values):void 0,t._index=a.clone(n._index),t._ptr=a.clone(n._ptr),t._size=a.clone(n._size),t._datatype=e||n._datatype):b(t,n.valueOf(),e||n._datatype)},b=function(t,n,e){t._values=[],t._index=[],t._ptr=[],t._datatype=e;var r=n.length,i=0,o=g,a=0;if(h(e)&&(o=v.find(g,[e,e])||g,a=v.convert(0,e)),r>0){var u=0;do{t._ptr.push(t._index.length);for(var s=0;s<r;s++){var c=n[s];if(f(c)){if(0===u&&i<c.length&&(i=c.length),u<c.length){var l=c[u];o(l,a)||(t._values.push(l),t._index.push(s))}}else 0===u&&i<1&&(i=1),o(c,a)||(t._values.push(c),t._index.push(s))}u++}while(u<i)}t._ptr.push(t._index.length),t._size=[r,i]};y.prototype=new m,y.prototype.type="SparseMatrix",y.prototype.isSparseMatrix=!0,y.prototype.storage=function(){return"sparse"},y.prototype.datatype=function(){return this._datatype},y.prototype.create=function(t,n){return new y(t,n)},y.prototype.density=function(){var t=this._size[0],n=this._size[1];return 0!==t&&0!==n?this._index.length/(t*n):0},y.prototype.subset=function(t,n,e){if(!this._values)throw new Error("Cannot invoke subset on a Pattern only matrix");switch(arguments.length){case 1:return x(this,t);case 2:case 3:return w(this,t,n,e);default:throw new SyntaxError("Wrong number of arguments")}};var x=function(n,e){if(!t.isIndex(e))throw new TypeError("Invalid index");if(e.isScalar())return n.get(e.min());var r,o,a,u,s=e.size();if(s.length!=n._size.length)throw new i(s.length,n._size.length);var f=e.min(),c=e.max();for(r=0,o=n._size.length;r<o;r++)p(f[r],n._size[r]),p(c[r],n._size[r]);var l=n._values,h=n._index,d=n._ptr,v=e.dimension(0),m=e.dimension(1),g=[],_=[];v.forEach((function(t,n){_[t]=n[0],g[t]=!0}));var b=l?[]:void 0,x=[],w=[];return m.forEach((function(t){for(w.push(x.length),a=d[t],u=d[t+1];a<u;a++)r=h[a],!0===g[r]&&(x.push(_[r]),b&&b.push(l[a]))})),w.push(x.length),new y({values:b,index:x,ptr:w,size:s,datatype:n._datatype})},w=function(n,e,r,u){if(!e||!0!==e.isIndex)throw new TypeError("Invalid index");var s,f=e.size(),c=e.isScalar();if(t.isMatrix(r)?(s=r.size(),r=r.toArray()):s=o.size(r),c){if(0!==s.length)throw new TypeError("Scalar expected");n.set(e.min(),r,u)}else{if(1!==f.length&&2!==f.length)throw new i(f.length,n._size.length,"<");if(s.length<f.length){for(var l=0,h=0;1===f[l]&&1===s[l];)l++;for(;1===f[l];)h++,l++;r=o.unsqueeze(r,f.length,h,s)}if(!a.deepEqual(f,s))throw new i(f,s,">");for(var p=e.min()[0],d=e.min()[1],v=s[0],m=s[1],g=0;g<v;g++)for(var y=0;y<m;y++){var _=r[g][y];n.set([g+p,y+d],_,u)}}return n};y.prototype.get=function(t){if(!f(t))throw new TypeError("Array expected");if(t.length!=this._size.length)throw new i(t.length,this._size.length);if(!this._values)throw new Error("Cannot invoke get on a Pattern only matrix");var n=t[0],e=t[1];p(n,this._size[0]),p(e,this._size[1]);var r=M(n,this._ptr[e],this._ptr[e+1],this._index);return r<this._ptr[e+1]&&this._index[r]===n?this._values[r]:0},y.prototype.set=function(t,n,e){if(!f(t))throw new TypeError("Array expected");if(t.length!=this._size.length)throw new i(t.length,this._size.length);if(!this._values)throw new Error("Cannot invoke set on a Pattern only matrix");var r=t[0],o=t[1],a=this._size[0],u=this._size[1],s=g,c=0;h(this._datatype)&&(s=v.find(g,[this._datatype,this._datatype])||g,c=v.convert(0,this._datatype)),(r>a-1||o>u-1)&&(z(this,Math.max(r+1,a),Math.max(o+1,u),e),a=this._size[0],u=this._size[1]),p(r,a),p(o,u);var l=M(r,this._ptr[o],this._ptr[o+1],this._index);return l<this._ptr[o+1]&&this._index[l]===r?s(n,c)?k(l,o,this._values,this._index,this._ptr):this._values[l]=n:A(l,r,o,n,this._values,this._index,this._ptr),this};var M=function(t,n,e,r){if(e-n==0)return e;for(var i=n;i<e;i++)if(r[i]===t)return i;return n},k=function(t,n,e,r,i){e.splice(t,1),r.splice(t,1);for(var o=n+1;o<i.length;o++)i[o]--},A=function(t,n,e,r,i,o,a){i.splice(t,0,r),o.splice(t,0,n);for(var u=e+1;u<a.length;u++)a[u]++};y.prototype.resize=function(t,n,e){if(!f(t))throw new TypeError("Array expected");if(2!==t.length)throw new Error("Only two dimensions matrix are supported");t.forEach((function(n){if(!s.isNumber(n)||!s.isInteger(n)||n<0)throw new TypeError("Invalid size, must contain positive integers (size: "+u.format(t)+")")}));var r=e?this.clone():this;return z(r,t[0],t[1],n)};var z=function(t,n,e,r){var i=r||0,o=g,a=0;h(t._datatype)&&(o=v.find(g,[t._datatype,t._datatype])||g,a=v.convert(0,t._datatype),i=v.convert(i,t._datatype));var u,s,f,c=!o(i,a),l=t._size[0],p=t._size[1];if(e>p){for(s=p;s<e;s++)if(t._ptr[s]=t._values.length,c)for(u=0;u<l;u++)t._values.push(i),t._index.push(u);t._ptr[e]=t._values.length}else e<p&&(t._ptr.splice(e+1,p-e),t._values.splice(t._ptr[e],t._values.length),t._index.splice(t._ptr[e],t._index.length));if(p=e,n>l){if(c){var d=0;for(s=0;s<p;s++){t._ptr[s]=t._ptr[s]+d,f=t._ptr[s+1]+d;var m=0;for(u=l;u<n;u++,m++)t._values.splice(f+m,0,i),t._index.splice(f+m,0,u),d++}t._ptr[p]=t._values.length}}else if(n<l){var y=0;for(s=0;s<p;s++){t._ptr[s]=t._ptr[s]-y;var _=t._ptr[s],b=t._ptr[s+1]-y;for(f=_;f<b;f++)(u=t._index[f])>n-1&&(t._values.splice(f,1),t._index.splice(f,1),y++)}t._ptr[s]=t._values.length}return t._size[0]=n,t._size[1]=e,t};y.prototype.reshape=function(t,n){if(!f(t))throw new TypeError("Array expected");if(2!==t.length)throw new Error("Sparse matrices can only be reshaped in two dimensions");if(t.forEach((function(n){if(!s.isNumber(n)||!s.isInteger(n)||n<0)throw new TypeError("Invalid size, must contain positive integers (size: "+u.format(t)+")")})),this._size[0]*this._size[1]!=t[0]*t[1])throw new Error("Reshaping sparse matrix will result in the wrong number of elements");var e=n?this.clone():this;if(this._size[0]===t[0]&&this._size[1]===t[1])return e;for(var r=[],i=0;i<e._ptr.length;i++)for(var o=0;o<e._ptr[i+1]-e._ptr[i];o++)r.push(i);var a=e._values.slice(),c=e._index.slice();for(i=0;i<e._index.length;i++){var l=c[i],h=r[i],p=l*e._size[1]+h;r[i]=p%t[1],c[i]=Math.floor(p/t[1])}e._values.length=0,e._index.length=0,e._ptr.length=t[1]+1,e._size=t.slice();for(i=0;i<e._ptr.length;i++)e._ptr[i]=0;for(var d=0;d<a.length;d++){i=c[d],o=r[d];var v=a[d],m=M(i,e._ptr[o],e._ptr[o+1],e._index);A(m,i,o,v,e._values,e._index,e._ptr)}return e},y.prototype.clone=function(){return new y({values:this._values?a.clone(this._values):void 0,index:a.clone(this._index),ptr:a.clone(this._ptr),size:a.clone(this._size),datatype:this._datatype})},y.prototype.size=function(){return this._size.slice(0)},y.prototype.map=function(t,n){if(!this._values)throw new Error("Cannot invoke map on a Pattern only matrix");var e=this,r=this._size[0],i=this._size[1];return E(this,0,r-1,0,i-1,(function(n,r,i){return t(n,[r,i],e)}),n)};var E=function(t,n,e,r,i,o,a){var u=[],s=[],f=[],c=g,l=0;h(t._datatype)&&(c=v.find(g,[t._datatype,t._datatype])||g,l=v.convert(0,t._datatype));for(var p=function(t,n,e){t=o(t,n,e),c(t,l)||(u.push(t),s.push(n))},d=r;d<=i;d++){f.push(u.length);for(var m=t._ptr[d],_=t._ptr[d+1],b=n,x=m;x<_;x++){var w=t._index[x];if(w>=n&&w<=e){if(!a)for(var M=b;M<w;M++)p(0,M-n,d-r);p(t._values[x],w-n,d-r)}b=w+1}if(!a)for(var k=b;k<=e;k++)p(0,k-n,d-r)}return f.push(u.length),new y({values:u,index:s,ptr:f,size:[e-n+1,i-r+1]})};y.prototype.forEach=function(t,n){if(!this._values)throw new Error("Cannot invoke forEach on a Pattern only matrix");for(var e=this._size[0],r=this._size[1],i=0;i<r;i++){for(var o=this._ptr[i],a=this._ptr[i+1],u=0,s=o;s<a;s++){var f=this._index[s];if(!n)for(var c=u;c<f;c++)t(0,[c,i],this);t(this._values[s],[f,i],this),u=f+1}if(!n)for(var l=u;l<e;l++)t(0,[l,i],this)}},y.prototype.toArray=function(){return S(this._values,this._index,this._ptr,this._size,!0)},y.prototype.valueOf=function(){return S(this._values,this._index,this._ptr,this._size,!1)};var S=function(t,n,e,r,i){var o,u,s=r[0],f=r[1],c=[];for(o=0;o<s;o++)for(c[o]=[],u=0;u<f;u++)c[o][u]=0;for(u=0;u<f;u++)for(var l=e[u],h=e[u+1],p=l;p<h;p++)c[o=n[p]][u]=t?i?a.clone(t[p]):t[p]:1;return c};return y.prototype.format=function(t){for(var n=this._size[0],e=this._size[1],r=this.density(),i="Sparse Matrix ["+u.format(n,t)+" x "+u.format(e,t)+"] density: "+u.format(r,t)+"\n",o=0;o<e;o++)for(var a=this._ptr[o],s=this._ptr[o+1],f=a;f<s;f++){var c=this._index[f];i+="\n ("+u.format(c,t)+", "+u.format(o,t)+") ==> "+(this._values?u.format(this._values[f],t):"X")}return i},y.prototype.toString=function(){return u.format(this.toArray())},y.prototype.toJSON=function(){return{mathjs:"SparseMatrix",values:this._values,index:this._index,ptr:this._ptr,size:this._size,datatype:this._datatype}},y.prototype.diagonal=function(n){if(n){if(t.isBigNumber(n)&&(n=n.toNumber()),!c(n)||!l(n))throw new TypeError("The parameter k must be an integer number")}else n=0;var e=n>0?n:0,r=n<0?-n:0,i=this._size[0],o=this._size[1],a=Math.min(i-r,o-e),u=[],s=[],f=[];f[0]=0;for(var h=e;h<o&&u.length<a;h++)for(var p=this._ptr[h],d=this._ptr[h+1],v=p;v<d;v++){var m=this._index[v];if(m===h-e+r){u.push(this._values[v]),s[u.length-1]=m-r;break}}return f.push(u.length),new y({values:u,index:s,ptr:f,size:[a,1]})},y.fromJSON=function(t){return new y(t)},y.diagonal=function(n,e,r,i,o){if(!f(n))throw new TypeError("Array expected, size parameter");if(2!==n.length)throw new Error("Only two dimensions matrix are supported");if(n=n.map((function(n){if(t.isBigNumber(n)&&(n=n.toNumber()),!c(n)||!l(n)||n<1)throw new Error("Size values must be positive integers");return n})),r){if(t.isBigNumber(r)&&(r=r.toNumber()),!c(r)||!l(r))throw new TypeError("The parameter k must be an integer number")}else r=0;var a=g,u=0;h(o)&&(a=v.find(g,[o,o])||g,u=v.convert(0,o));var s,p=r>0?r:0,d=r<0?-r:0,m=n[0],_=n[1],b=Math.min(m-d,_-p);if(f(e)){if(e.length!==b)throw new Error("Invalid value array length");s=function(t){return e[t]}}else if(t.isMatrix(e)){var x=e.size();if(1!==x.length||x[0]!==b)throw new Error("Invalid matrix length");s=function(t){return e.get([t])}}else s=function(){return e};for(var w=[],M=[],k=[],A=0;A<_;A++){k.push(w.length);var z=A-p;if(z>=0&&z<b){var E=s(z);a(E,u)||(M.push(z+d),w.push(E))}}return k.push(w.length),new y({values:w,index:M,ptr:k,size:[m,_]})},y.prototype.swapRows=function(t,n){if(!(c(t)&&l(t)&&c(n)&&l(n)))throw new Error("Row index must be positive integers");if(2!==this._size.length)throw new Error("Only two dimensional matrix is supported");return p(t,this._size[0]),p(n,this._size[0]),y._swapRows(t,n,this._size[1],this._values,this._index,this._ptr),this},y._forEachRow=function(t,n,e,r,i){for(var o=r[t],a=r[t+1],u=o;u<a;u++)i(e[u],n[u])},y._swapRows=function(t,n,e,r,i,o){for(var a=0;a<e;a++){var u=o[a],s=o[a+1],f=M(t,u,s,i),c=M(n,u,s,i);if(f<s&&c<s&&i[f]===t&&i[c]===n){if(r){var l=r[f];r[f]=r[c],r[c]=l}}else if(f<s&&i[f]===t&&(c>=s||i[c]!==n)){var h=r?r[f]:void 0;i.splice(c,0,n),r&&r.splice(c,0,h),i.splice(c<=f?f+1:f,1),r&&r.splice(c<=f?f+1:f,1)}else if(c<s&&i[c]===n&&(f>=s||i[f]!==t)){var p=r?r[c]:void 0;i.splice(f,0,t),r&&r.splice(f,0,p),i.splice(f<=c?c+1:c,1),r&&r.splice(f<=c?c+1:c,1)}}},t.Matrix._storage.sparse=y,y},n.lazy=!1},function(t,n,e){"use strict";n.name="Spa",n.path="type",n.factory=function(t,n,r){var i=r(e(391)),o=r(e(18));function a(){if(!(this instanceof a))throw new SyntaxError("Constructor must be called with the new operator");this._values=[],this._heap=new t.FibonacciHeap}return a.prototype.type="Spa",a.prototype.isSpa=!0,a.prototype.set=function(t,n){if(this._values[t])this._values[t].value=n;else{var e=this._heap.insert(t,n);this._values[t]=e}},a.prototype.get=function(t){var n=this._values[t];return n?n.value:0},a.prototype.accumulate=function(t,n){var e=this._values[t];e?e.value=i(e.value,n):(e=this._heap.insert(t,n),this._values[t]=e)},a.prototype.forEach=function(t,n,e){var r=this._heap,i=this._values,a=[],u=r.extractMinimum();for(u&&a.push(u);u&&u.key<=n;)u.key>=t&&(o(u.value,0)||e(u.key,u.value,this)),(u=r.extractMinimum())&&a.push(u);for(var s=0;s<a.length;s++){var f=a[s];i[(u=r.insert(f.key,f.value)).key]=u}},a.prototype.swap=function(t,n){var e=this._values[t],r=this._values[n];if(!e&&r)e=this._heap.insert(t,r.value),this._heap.remove(r),this._values[t]=e,this._values[n]=void 0;else if(e&&!r)r=this._heap.insert(n,e.value),this._heap.remove(e),this._values[n]=r,this._values[t]=void 0;else if(e&&r){var i=e.value;e.value=r.value,r.value=i}},a}},function(t,n,e){"use strict";var r=e(3).extend;n.name="add",n.factory=function(t,n,i,o){var a=i(e(7)),u=i(e(96)),s=e(9),f=i(e(392)),c=i(e(393)),l=i(e(394)),h=i(e(42)),p=i(e(29)),d=o("add",r({"Matrix, Matrix":function(t,n){var e;switch(t.storage()){case"sparse":switch(n.storage()){case"sparse":e=c(t,n,u);break;default:e=f(n,t,u,!0)}break;default:switch(n.storage()){case"sparse":e=f(t,n,u,!1);break;default:e=h(t,n,u)}}return e},"Array, Array":function(t,n){return d(a(t),a(n)).valueOf()},"Array, Matrix":function(t,n){return d(a(t),n)},"Matrix, Array":function(t,n){return d(t,a(n))},"Matrix, any":function(t,n){var e;switch(t.storage()){case"sparse":e=l(t,n,u,!1);break;default:e=p(t,n,u,!1)}return e},"any, Matrix":function(t,n){var e;switch(n.storage()){case"sparse":e=l(n,t,u,!0);break;default:e=p(n,t,u,!0)}return e},"Array, any":function(t,n){return p(a(t),n,u,!1).valueOf()},"any, Array":function(t,n){return p(a(n),t,u,!0).valueOf()},"any, any":u,"Array | Matrix | any, Array | Matrix | any, ...any":function(t,n,e){for(var r=d(t,n),i=0;i<e.length;i++)r=d(r,e[i]);return r}},u.signatures));return d.toTex={2:"\\left(${args[0]}"+s.operators.add+"${args[1]}\\right)"},d}},function(t,n,e){"use strict";var r=e(6);n.name="algorithm01",n.factory=function(t,n,e,i){var o=t.DenseMatrix;return function(t,n,e,a){var u=t._data,s=t._size,f=t._datatype,c=n._values,l=n._index,h=n._ptr,p=n._size,d=n._datatype;if(s.length!==p.length)throw new r(s.length,p.length);if(s[0]!==p[0]||s[1]!==p[1])throw new RangeError("Dimension mismatch. Matrix A ("+s+") must match Matrix B ("+p+")");if(!c)throw new Error("Cannot perform operation on Dense Matrix and Pattern Sparse Matrix");var v,m,g=s[0],y=s[1],_="string"==typeof f&&f===d?f:void 0,b=_?i.find(e,[_,_]):e,x=[];for(v=0;v<g;v++)x[v]=[];var w=[],M=[];for(m=0;m<y;m++){for(var k=m+1,A=h[m],z=h[m+1],E=A;E<z;E++)w[v=l[E]]=a?b(c[E],u[v][m]):b(u[v][m],c[E]),M[v]=k;for(v=0;v<g;v++)M[v]===k?x[v][m]=w[v]:x[v][m]=u[v][m]}return new o({data:x,size:[g,y],datatype:_})}}},function(t,n,e){"use strict";var r=e(6);n.name="algorithm04",n.factory=function(t,n,i,o){var a=i(e(18)),u=t.SparseMatrix;return function(t,n,e){var i=t._values,s=t._index,f=t._ptr,c=t._size,l=t._datatype,h=n._values,p=n._index,d=n._ptr,v=n._size,m=n._datatype;if(c.length!==v.length)throw new r(c.length,v.length);if(c[0]!==v[0]||c[1]!==v[1])throw new RangeError("Dimension mismatch. Matrix A ("+c+") must match Matrix B ("+v+")");var g,y=c[0],_=c[1],b=a,x=0,w=e;"string"==typeof l&&l===m&&(g=l,b=o.find(a,[g,g]),x=o.convert(0,g),w=o.find(e,[g,g]));var M,k,A,z,E,S=i&&h?[]:void 0,N=[],T=[],C=new u({values:S,index:N,ptr:T,size:[y,_],datatype:g}),j=i&&h?[]:void 0,O=i&&h?[]:void 0,P=[],B=[];for(k=0;k<_;k++){T[k]=N.length;var R=k+1;for(z=f[k],E=f[k+1],A=z;A<E;A++)M=s[A],N.push(M),P[M]=R,j&&(j[M]=i[A]);for(z=d[k],E=d[k+1],A=z;A<E;A++)if(P[M=p[A]]===R){if(j){var I=w(j[M],h[A]);b(I,x)?P[M]=null:j[M]=I}}else N.push(M),B[M]=R,O&&(O[M]=h[A]);if(j&&O)for(A=T[k];A<N.length;)P[M=N[A]]===R?(S[A]=j[M],A++):B[M]===R?(S[A]=O[M],A++):N.splice(A,1)}return T[_]=N.length,C}}},function(t,n,e){"use strict";n.name="algorithm10",n.factory=function(t,n,e,r){var i=t.DenseMatrix;return function(t,n,e,o){var a=t._values,u=t._index,s=t._ptr,f=t._size,c=t._datatype;if(!a)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var l,h=f[0],p=f[1],d=e;"string"==typeof c&&(l=c,n=r.convert(n,l),d=r.find(e,[l,l]));for(var v=[],m=new i({data:v,size:[h,p],datatype:l}),g=[],y=[],_=0;_<p;_++){for(var b=_+1,x=s[_],w=s[_+1],M=x;M<w;M++){var k=u[M];g[k]=a[M],y[k]=b}for(var A=0;A<h;A++)0===_&&(v[A]=[]),y[A]===b?v[A][_]=o?d(n,g[A]):d(g[A],n):v[A][_]=n}return m}}},function(t,n,e){"use strict";n.name="FibonacciHeap",n.path="type",n.factory=function(t,n,r,i){var o=r(e(102)),a=r(e(396)),u=1/Math.log((1+Math.sqrt(5))/2);function s(){if(!(this instanceof s))throw new SyntaxError("Constructor must be called with the new operator");this._minimum=null,this._size=0}s.prototype.type="FibonacciHeap",s.prototype.isFibonacciHeap=!0,s.prototype.insert=function(t,n){var e={key:t,value:n,degree:0};if(this._minimum){var r=this._minimum;e.left=r,e.right=r.right,r.right=e,e.right.left=e,o(t,r.key)&&(this._minimum=e)}else e.left=e,e.right=e,this._minimum=e;return this._size++,e},s.prototype.size=function(){return this._size},s.prototype.clear=function(){this._minimum=null,this._size=0},s.prototype.isEmpty=function(){return 0===this._size},s.prototype.extractMinimum=function(){var t=this._minimum;if(null===t)return t;for(var n=this._minimum,e=t.degree,r=t.child;e>0;){var i=r.right;r.left.right=r.right,r.right.left=r.left,r.left=n,r.right=n.right,n.right=r,r.right.left=r,r.parent=null,r=i,e--}return t.left.right=t.right,t.right.left=t.left,t==t.right?n=null:(n=t.right,n=h(n,this._size)),this._size--,this._minimum=n,t},s.prototype.remove=function(t){this._minimum=f(this._minimum,t,-1),this.extractMinimum()};var f=function(t,n,e){n.key=e;var r=n.parent;return r&&o(n.key,r.key)&&(c(t,n,r),l(t,r)),o(n.key,t.key)&&(t=n),t},c=function(t,n,e){n.left.right=n.right,n.right.left=n.left,e.degree--,e.child==n&&(e.child=n.right),0===e.degree&&(e.child=null),n.left=t,n.right=t.right,t.right=n,n.right.left=n,n.parent=null,n.mark=!1},l=function(t,n){var e=n.parent;e&&(n.mark?(c(t,n,e),l(e)):n.mark=!0)},h=function(t,n){var e,r,i,s=Math.floor(Math.log(n)*u)+1,f=new Array(s),c=0,l=t;if(l)for(c++,l=l.right;l!==t;)c++,l=l.right;for(;c>0;){for(var h=l.degree,p=l.right;e=f[h];){if(a(l.key,e.key)){var d=e;e=l,l=d}i=l,(r=e).left.right=r.right,r.right.left=r.left,r.parent=i,i.child?(r.left=i.child,r.right=i.child.right,i.child.right=r,r.right.left=r):(i.child=r,r.right=r,r.left=r),i.degree++,r.mark=!1,f[h]=null,h++}f[h]=l,l=p,c--}t=null;for(var v=0;v<s;v++)(e=f[v])&&(t?(e.left.right=e.right,e.right.left=e.left,e.left=t,e.right=t.right,t.right=e,e.right.left=e,o(e.key,t.key)&&(t=e)):t=e);return t};return s}},function(t,n,e){"use strict";var r=e(4).nearlyEqual,i=e(39);n.name="larger",n.factory=function(t,n,o,a){var u=o(e(7)),s=o(e(103)),f=o(e(104)),c=o(e(105)),l=o(e(42)),h=o(e(29)),p=e(9),d=a("larger",{"boolean, boolean":function(t,n){return t>n},"number, number":function(t,e){return t>e&&!r(t,e,n.epsilon)},"BigNumber, BigNumber":function(t,e){return t.gt(e)&&!i(t,e,n.epsilon)},"Fraction, Fraction":function(t,n){return 1===t.compare(n)},"Complex, Complex":function(){throw new TypeError("No ordering relation is defined for complex numbers")},"Unit, Unit":function(t,n){if(!t.equalBase(n))throw new Error("Cannot compare units with different base");return d(t.value,n.value)},"string, string":function(t,n){return t>n},"Matrix, Matrix":function(t,n){var e;switch(t.storage()){case"sparse":switch(n.storage()){case"sparse":e=f(t,n,d);break;default:e=s(n,t,d,!0)}break;default:switch(n.storage()){case"sparse":e=s(t,n,d,!1);break;default:e=l(t,n,d)}}return e},"Array, Array":function(t,n){return d(u(t),u(n)).valueOf()},"Array, Matrix":function(t,n){return d(u(t),n)},"Matrix, Array":function(t,n){return d(t,u(n))},"Matrix, any":function(t,n){var e;switch(t.storage()){case"sparse":e=c(t,n,d,!1);break;default:e=h(t,n,d,!1)}return e},"any, Matrix":function(t,n){var e;switch(n.storage()){case"sparse":e=c(n,t,d,!0);break;default:e=h(n,t,d,!0)}return e},"Array, any":function(t,n){return h(u(t),n,d,!1).valueOf()},"any, Array":function(t,n){return h(u(n),t,d,!0).valueOf()}});return d.toTex={2:"\\left(${args[0]}"+p.operators.larger+"${args[1]}\\right)"},d}},function(t,n,e){"use strict";var r=e(19),i=r.string,o=r.object,a=Array.isArray,u=i.isString;n.name="ImmutableDenseMatrix",n.path="type",n.factory=function(t,n,i){var s=i(e(100)),f=i(e(102));function c(n,e){if(!(this instanceof c))throw new SyntaxError("Constructor must be called with the new operator");if(e&&!u(e))throw new Error("Invalid datatype: "+e);if(t.isMatrix(n)||a(n)){var i=new s(n,e);this._data=i._data,this._size=i._size,this._datatype=i._datatype,this._min=null,this._max=null}else if(n&&a(n.data)&&a(n.size))this._data=n.data,this._size=n.size,this._datatype=n.datatype,this._min=void 0!==n.min?n.min:null,this._max=void 0!==n.max?n.max:null;else{if(n)throw new TypeError("Unsupported type of data ("+r.types.type(n)+")");this._data=[],this._size=[0],this._datatype=e,this._min=null,this._max=null}}return c.prototype=new s,c.prototype.type="ImmutableDenseMatrix",c.prototype.isImmutableDenseMatrix=!0,c.prototype.subset=function(n){switch(arguments.length){case 1:var e=s.prototype.subset.call(this,n);return t.isMatrix(e)?new c({data:e._data,size:e._size,datatype:e._datatype}):e;case 2:case 3:throw new Error("Cannot invoke set subset on an Immutable Matrix instance");default:throw new SyntaxError("Wrong number of arguments")}},c.prototype.set=function(){throw new Error("Cannot invoke set on an Immutable Matrix instance")},c.prototype.resize=function(){throw new Error("Cannot invoke resize on an Immutable Matrix instance")},c.prototype.reshape=function(){throw new Error("Cannot invoke reshape on an Immutable Matrix instance")},c.prototype.clone=function(){return new c({data:o.clone(this._data),size:o.clone(this._size),datatype:this._datatype})},c.prototype.toJSON=function(){return{mathjs:"ImmutableDenseMatrix",data:this._data,size:this._size,datatype:this._datatype}},c.fromJSON=function(t){return new c(t)},c.prototype.swapRows=function(){throw new Error("Cannot invoke swapRows on an Immutable Matrix instance")},c.prototype.min=function(){if(null===this._min){var t=null;this.forEach((function(n){(null===t||f(n,t))&&(t=n)})),this._min=null!==t?t:void 0}return this._min},c.prototype.max=function(){if(null===this._max){var t=null;this.forEach((function(n){(null===t||f(t,n))&&(t=n)})),this._max=null!==t?t:void 0}return this._max},c}},function(t,n,e){"use strict";var r=e(3).clone,i=e(4).isInteger;n.name="Index",n.path="type",n.factory=function(t){function n(r){if(!(this instanceof n))throw new SyntaxError("Constructor must be called with the new operator");this._dimensions=[],this._isScalar=!0;for(var i=0,o=arguments.length;i<o;i++){var a=arguments[i];if(t.isRange(a))this._dimensions.push(a),this._isScalar=!1;else if(Array.isArray(a)||t.isMatrix(a)){var u=e(a.valueOf());this._dimensions.push(u);var s=u.size();1===s.length&&1===s[0]||(this._isScalar=!1)}else if("number"==typeof a)this._dimensions.push(e([a]));else{if("string"!=typeof a)throw new TypeError("Dimension must be an Array, Matrix, number, string, or Range");this._dimensions.push(a)}}}function e(n){for(var e=0,r=n.length;e<r;e++)if("number"!=typeof n[e]||!i(n[e]))throw new TypeError("Index parameters must be positive integer numbers");return new t.ImmutableDenseMatrix(n)}return n.prototype.type="Index",n.prototype.isIndex=!0,n.prototype.clone=function(){var t=new n;return t._dimensions=r(this._dimensions),t._isScalar=this._isScalar,t},n.create=function(t){var e=new n;return n.apply(e,t),e},n.prototype.size=function(){for(var t=[],n=0,e=this._dimensions.length;n<e;n++){var r=this._dimensions[n];t[n]="string"==typeof r?1:r.size()[0]}return t},n.prototype.max=function(){for(var t=[],n=0,e=this._dimensions.length;n<e;n++){var r=this._dimensions[n];t[n]="string"==typeof r?r:r.max()}return t},n.prototype.min=function(){for(var t=[],n=0,e=this._dimensions.length;n<e;n++){var r=this._dimensions[n];t[n]="string"==typeof r?r:r.min()}return t},n.prototype.forEach=function(t){for(var n=0,e=this._dimensions.length;n<e;n++)t(this._dimensions[n],n,this)},n.prototype.dimension=function(t){return this._dimensions[t]||null},n.prototype.isObjectProperty=function(){return 1===this._dimensions.length&&"string"==typeof this._dimensions[0]},n.prototype.getObjectProperty=function(){return this.isObjectProperty()?this._dimensions[0]:null},n.prototype.isScalar=function(){return this._isScalar},n.prototype.toArray=function(){for(var t=[],n=0,e=this._dimensions.length;n<e;n++){var r=this._dimensions[n];t.push("string"==typeof r?r:r.toArray())}return t},n.prototype.valueOf=n.prototype.toArray,n.prototype.toString=function(){for(var t=[],n=0,e=this._dimensions.length;n<e;n++){var r=this._dimensions[n];"string"==typeof r?t.push(JSON.stringify(r)):t.push(r.toString())}return"["+t.join(", ")+"]"},n.prototype.toJSON=function(){return{mathjs:"Index",dimensions:this._dimensions}},n.fromJSON=function(t){return n.create(t.dimensions)},n}},function(t,n,e){"use strict";var r=e(4);n.name="Range",n.path="type",n.factory=function(t,n,e,i){function o(n,e,r){if(!(this instanceof o))throw new SyntaxError("Constructor must be called with the new operator");if(null!=n)if(t.isBigNumber(n))n=n.toNumber();else if("number"!=typeof n)throw new TypeError("Parameter start must be a number");if(null!=e)if(t.isBigNumber(e))e=e.toNumber();else if("number"!=typeof e)throw new TypeError("Parameter end must be a number");if(null!=r)if(t.isBigNumber(r))r=r.toNumber();else if("number"!=typeof r)throw new TypeError("Parameter step must be a number");this.start=null!=n?parseFloat(n):0,this.end=null!=e?parseFloat(e):0,this.step=null!=r?parseFloat(r):1}return o.prototype.type="Range",o.prototype.isRange=!0,o.parse=function(t){if("string"!=typeof t)return null;var n=t.split(":").map((function(t){return parseFloat(t)}));if(n.some((function(t){return isNaN(t)})))return null;switch(n.length){case 2:return new o(n[0],n[1]);case 3:return new o(n[0],n[2],n[1]);default:return null}},o.prototype.clone=function(){return new o(this.start,this.end,this.step)},o.prototype.size=function(){var t=0,n=this.start,e=this.step,i=this.end-n;return r.sign(e)==r.sign(i)?t=Math.ceil(i/e):0==i&&(t=0),isNaN(t)&&(t=0),[t]},o.prototype.min=function(){var t=this.size()[0];return t>0?this.step>0?this.start:this.start+(t-1)*this.step:void 0},o.prototype.max=function(){var t=this.size()[0];return t>0?this.step>0?this.start+(t-1)*this.step:this.start:void 0},o.prototype.forEach=function(t){var n=this.start,e=this.step,r=this.end,i=0;if(e>0)for(;n<r;)t(n,[i],this),n+=e,i++;else if(e<0)for(;n>r;)t(n,[i],this),n+=e,i++},o.prototype.map=function(t){var n=[];return this.forEach((function(e,r,i){n[r[0]]=t(e,r,i)})),n},o.prototype.toArray=function(){var t=[];return this.forEach((function(n,e){t[e[0]]=n})),t},o.prototype.valueOf=function(){return this.toArray()},o.prototype.format=function(t){var n=r.format(this.start,t);return 1!=this.step&&(n+=":"+r.format(this.step,t)),n+=":"+r.format(this.end,t)},o.prototype.toString=function(){return this.format()},o.prototype.toJSON=function(){return{mathjs:"Range",start:this.start,end:this.end,step:this.step}},o.fromJSON=function(t){return new o(t.start,t.end,t.step)},o}},function(t,n,e){"use strict";n.name="index",n.factory=function(t,n,e,r){return r("index",{"...number | string | BigNumber | Range | Array | Matrix":function(n){var e=n.map((function(n){return t.isBigNumber(n)?n.toNumber():Array.isArray(n)||t.isMatrix(n)?n.map((function(n){return t.isBigNumber(n)?n.toNumber():n})):n})),r=new t.Index;return t.Index.apply(r,e),r}})}},function(t,n,e){"use strict";n.name="sparse",n.factory=function(t,n,e,r){var i=t.SparseMatrix,o=r("sparse",{"":function(){return new i([])},string:function(t){return new i([],t)},"Array | Matrix":function(t){return new i(t)},"Array | Matrix, string":function(t,n){return new i(t,n)}});return o.toTex={0:"\\begin{bsparse}\\end{bsparse}",1:"\\left(${args[0]}\\right)"},o}},function(t,n,e){let r=e(12);t.exports=function(t,n,i,o){params=t.params,regl=t.regl,t.params.network[n+"_nodes"].map(t=>{inst_name=t.name,inst_name.includes(": ")&&(inst_name=inst_name.split(": ")[1]);let n=o[inst_name],e=i+": "+n;t["cat-0"]=e}),t.params.network[n+"_node_names"].forEach(t=>{let e=o[t];params.cat_data.manual_cat_dict[n][i][t]=e}),e(22)(t),e(10)(regl,params),r(t)}}]);
//# sourceMappingURL=clustergrammer-gl.min.js.map