summaryrefslogtreecommitdiff
path: root/www/wiki/extensions/Mermaid/res
diff options
context:
space:
mode:
authorYaco <franco@reevo.org>2020-06-04 11:01:00 -0300
committerYaco <franco@reevo.org>2020-06-04 11:01:00 -0300
commitfc7369835258467bf97eb64f184b93691f9a9fd5 (patch)
treedaabd60089d2dd76d9f5fb416b005fbe159c799d /www/wiki/extensions/Mermaid/res
first commit
Diffstat (limited to 'www/wiki/extensions/Mermaid/res')
-rw-r--r--www/wiki/extensions/Mermaid/res/d3/d3.min.js8
-rw-r--r--www/wiki/extensions/Mermaid/res/d3/dagre-d3.min.js8113
-rw-r--r--www/wiki/extensions/Mermaid/res/ext.mermaid.css12
-rw-r--r--www/wiki/extensions/Mermaid/res/ext.mermaid.js38
-rw-r--r--www/wiki/extensions/Mermaid/res/mermaid/7.0.5/mermaid.dark.min.css1
-rw-r--r--www/wiki/extensions/Mermaid/res/mermaid/7.0.5/mermaid.forest.min.css1
-rw-r--r--www/wiki/extensions/Mermaid/res/mermaid/7.0.5/mermaid.min.css1
-rw-r--r--www/wiki/extensions/Mermaid/res/mermaid/7.0.5/mermaid.min.js28
-rw-r--r--www/wiki/extensions/Mermaid/res/mermaid/7.0.5/mermaid.neutral.min.css1
-rw-r--r--www/wiki/extensions/Mermaid/res/mermaid/7.0.5/mermaidAPI.min.js1
-rw-r--r--www/wiki/extensions/Mermaid/res/mermaid/8.0.0/mermaid.dark.min.css1
-rw-r--r--www/wiki/extensions/Mermaid/res/mermaid/8.0.0/mermaid.forest.min.css1
-rw-r--r--www/wiki/extensions/Mermaid/res/mermaid/8.0.0/mermaid.min.css1
-rw-r--r--www/wiki/extensions/Mermaid/res/mermaid/8.0.0/mermaid.min.js9
-rw-r--r--www/wiki/extensions/Mermaid/res/mermaid/8.0.0/mermaid.neutral.min.css1
-rw-r--r--www/wiki/extensions/Mermaid/res/mermaid/8.0.0/mermaidAPI.min.js1
16 files changed, 8218 insertions, 0 deletions
diff --git a/www/wiki/extensions/Mermaid/res/d3/d3.min.js b/www/wiki/extensions/Mermaid/res/d3/d3.min.js
new file mode 100644
index 00000000..4f9d80b7
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/res/d3/d3.min.js
@@ -0,0 +1,8 @@
+// https://d3js.org Version 4.0.0. Copyright 2016 Mike Bostock.
+!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n(t.d3=t.d3||{})}(this,function(t){"use strict";function n(t,n){return t<n?-1:t>n?1:t>=n?0:NaN}function e(t){return 1===t.length&&(t=r(t)),{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}}}function r(t){return function(e,r){return n(t(e),r)}}function i(t,n){return n<t?-1:n>t?1:n>=t?0:NaN}function o(t){return null===t?NaN:+t}function u(t,n){var e,r,i=t.length,u=0,a=0,c=-1,s=0;if(null==n)for(;++c<i;)isNaN(e=o(t[c]))||(r=e-u,u+=r/++s,a+=r*(e-u));else for(;++c<i;)isNaN(e=o(n(t[c],c,t)))||(r=e-u,u+=r/++s,a+=r*(e-u));if(s>1)return a/(s-1)}function a(t,n){var e=u(t,n);return e?Math.sqrt(e):e}function c(t,n){var e,r,i,o=-1,u=t.length;if(null==n){for(;++o<u;)if(null!=(r=t[o])&&r>=r){e=i=r;break}for(;++o<u;)null!=(r=t[o])&&(e>r&&(e=r),i<r&&(i=r))}else{for(;++o<u;)if(null!=(r=n(t[o],o,t))&&r>=r){e=i=r;break}for(;++o<u;)null!=(r=n(t[o],o,t))&&(e>r&&(e=r),i<r&&(i=r))}return[e,i]}function s(t){return function(){return t}}function f(t){return t}function l(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}function h(t,n,e){var r=p(t,n,e);return l(Math.ceil(t/r)*r,Math.floor(n/r)*r+r/2,r)}function p(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>=wd?i*=10:o>=Md?i*=5:o>=Td&&(i*=2),n<t?-i:i}function d(t){return Math.ceil(Math.log(t.length)/Math.LN2)+1}function v(){function t(t){var i,o,u=t.length,a=new Array(u);for(i=0;i<u;++i)a[i]=n(t[i],i,t);var c=e(a),s=c[0],f=c[1],l=r(a,s,f);Array.isArray(l)||(l=h(s,f,l));for(var p=l.length;l[0]<=s;)l.shift(),--p;for(;l[p-1]>=f;)l.pop(),--p;var d,v=new Array(p+1);for(i=0;i<=p;++i)d=v[i]=[],d.x0=i>0?l[i-1]:s,d.x1=i<p?l[i]:f;for(i=0;i<u;++i)o=a[i],s<=o&&o<=f&&v[yd(l,o,0,p)].push(t[i]);return v}var n=f,e=c,r=d;return t.value=function(e){return arguments.length?(n="function"==typeof e?e:s(e),t):n},t.domain=function(n){return arguments.length?(e="function"==typeof n?n:s([n[0],n[1]]),t):e},t.thresholds=function(n){return arguments.length?(r="function"==typeof n?n:s(Array.isArray(n)?xd.call(n):n),t):r},t}function _(t,n,e){if(null==e&&(e=o),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,u=Math.floor(i),a=+e(t[u],u,t),c=+e(t[u+1],u+1,t);return a+(c-a)*(i-u)}}function y(t,e,r){return t=bd.call(t,o).sort(n),Math.ceil((r-e)/(2*(_(t,.75)-_(t,.25))*Math.pow(t.length,-1/3)))}function g(t,n,e){return Math.ceil((e-n)/(3.5*a(t)*Math.pow(t.length,-1/3)))}function m(t,n){var e,r,i=-1,o=t.length;if(null==n){for(;++i<o;)if(null!=(r=t[i])&&r>=r){e=r;break}for(;++i<o;)null!=(r=t[i])&&r>e&&(e=r)}else{for(;++i<o;)if(null!=(r=n(t[i],i,t))&&r>=r){e=r;break}for(;++i<o;)null!=(r=n(t[i],i,t))&&r>e&&(e=r)}return e}function x(t,n){var e,r=0,i=t.length,u=-1,a=i;if(null==n)for(;++u<i;)isNaN(e=o(t[u]))?--a:r+=e;else for(;++u<i;)isNaN(e=o(n(t[u],u,t)))?--a:r+=e;if(a)return r/a}function b(t,e){var r,i=[],u=t.length,a=-1;if(null==e)for(;++a<u;)isNaN(r=o(t[a]))||i.push(r);else for(;++a<u;)isNaN(r=o(e(t[a],a,t)))||i.push(r);return _(i.sort(n),.5)}function w(t){for(var n,e,r,i=t.length,o=-1,u=0;++o<i;)u+=t[o].length;for(e=new Array(u);--i>=0;)for(r=t[i],n=r.length;--n>=0;)e[--u]=r[n];return e}function M(t,n){var e,r,i=-1,o=t.length;if(null==n){for(;++i<o;)if(null!=(r=t[i])&&r>=r){e=r;break}for(;++i<o;)null!=(r=t[i])&&e>r&&(e=r)}else{for(;++i<o;)if(null!=(r=n(t[i],i,t))&&r>=r){e=r;break}for(;++i<o;)null!=(r=n(t[i],i,t))&&e>r&&(e=r)}return e}function T(t){for(var n=0,e=t.length-1,r=t[0],i=new Array(e<0?0:e);n<e;)i[n]=[r,r=t[++n]];return i}function k(t,n){for(var e=n.length,r=new Array(e);e--;)r[e]=t[n[e]];return r}function N(t,e){if(r=t.length){var r,i,o=0,u=0,a=t[u];for(e||(e=n);++o<r;)(e(i=t[o],a)<0||0!==e(a,a))&&(a=i,u=o);return 0===e(a,a)?u:void 0}}function S(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}function E(t,n){var e,r=0,i=t.length,o=-1;if(null==n)for(;++o<i;)(e=+t[o])&&(r+=e);else for(;++o<i;)(e=+n(t[o],o,t))&&(r+=e);return r}function A(t){if(!(i=t.length))return[];for(var n=-1,e=M(t,C),r=new Array(e);++n<e;)for(var i,o=-1,u=r[n]=new Array(i);++o<i;)u[o]=t[o][n];return r}function C(t){return t.length}function z(){return A(arguments)}function P(){}function L(t,n){var e=new P;if(t instanceof P)t.each(function(t,n){e.set(n,t)});else if(Array.isArray(t)){var r,i=-1,o=t.length;if(null==n)for(;++i<o;)e.set(i,t[i]);else for(;++i<o;)e.set(n(r=t[i],i,t),r)}else if(t)for(var u in t)e.set(u,t[u]);return e}function q(){function t(n,i,u,a){if(i>=o.length)return null!=r?r(n):null!=e?n.sort(e):n;for(var c,s,f,l=-1,h=n.length,p=o[i++],d=L(),v=u();++l<h;)(f=d.get(c=p(s=n[l])+""))?f.push(s):d.set(c,[s]);return d.each(function(n,e){a(v,e,t(n,i,u,a))}),v}function n(t,e){if(++e>o.length)return t;var i,a=u[e-1];return null!=r&&e>=o.length?i=t.entries():(i=[],t.each(function(t,r){i.push({key:r,values:n(t,e)})})),null!=a?i.sort(function(t,n){return a(t.key,n.key)}):i}var e,r,i,o=[],u=[];return i={object:function(n){return t(n,0,U,R)},map:function(n){return t(n,0,D,O)},entries:function(e){return n(t(e,0,D,O),0)},key:function(t){return o.push(t),i},sortKeys:function(t){return u[o.length-1]=t,i},sortValues:function(t){return e=t,i},rollup:function(t){return r=t,i}}}function U(){return{}}function R(t,n,e){t[n]=e}function D(){return L()}function O(t,n,e){t.set(n,e)}function F(){}function I(t,n){var e=new F;if(t instanceof F)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}function Y(t){var n=[];for(var e in t)n.push(e);return n}function B(t){var n=[];for(var e in t)n.push(t[e]);return n}function j(t){var n=[];for(var e in t)n.push({key:e,value:t[e]});return n}function H(t,n){return t=null==t?0:+t,n=null==n?1:+n,1===arguments.length?(n=t,t=0):n-=t,function(){return Math.random()*n+t}}function X(t,n){var e,r;return t=null==t?0:+t,n=null==n?1:+n,function(){var i;if(null!=e)i=e,e=null;else do e=2*Math.random()-1,i=2*Math.random()-1,r=e*e+i*i;while(!r||r>1);return t+n*i*Math.sqrt(-2*Math.log(r)/r)}}function V(){var t=X.apply(this,arguments);return function(){return Math.exp(t())}}function W(t){return function(){for(var n=0,e=0;e<t;++e)n+=Math.random();return n}}function $(t){var n=W(t);return function(){return n()/t}}function Z(t){return function(){return-Math.log(1-Math.random())/t}}function G(t){return+t}function J(t){return t*t}function Q(t){return t*(2-t)}function K(t){return((t*=2)<=1?t*t:--t*(2-t)+1)/2}function tt(t){return t*t*t}function nt(t){return--t*t*t+1}function et(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}function rt(t){return 1-Math.cos(t*Pd)}function it(t){return Math.sin(t*Pd)}function ot(t){return(1-Math.cos(zd*t))/2}function ut(t){return Math.pow(2,10*t-10)}function at(t){return 1-Math.pow(2,-10*t)}function ct(t){return((t*=2)<=1?Math.pow(2,10*t-10):2-Math.pow(2,10-10*t))/2}function st(t){return 1-Math.sqrt(1-t*t)}function ft(t){return Math.sqrt(1- --t*t)}function lt(t){return((t*=2)<=1?1-Math.sqrt(1-t*t):Math.sqrt(1-(t-=2)*t)+1)/2}function ht(t){return 1-pt(1-t)}function pt(t){return(t=+t)<Ld?Bd*t*t:t<Ud?Bd*(t-=qd)*t+Rd:t<Od?Bd*(t-=Dd)*t+Fd:Bd*(t-=Id)*t+Yd}function dt(t){return((t*=2)<=1?1-pt(1-t):pt(t-1)+1)/2}function vt(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}function _t(t){for(var n,e,r=-1,i=t.length,o=0,u=0,a=t[i-1],c=0;++r<i;)n=a,a=t[r],c+=e=n[0]*a[1]-a[0]*n[1],o+=(n[0]+a[0])*e,u+=(n[1]+a[1])*e;return c*=3,[o/c,u/c]}function yt(t,n,e){return(n[0]-t[0])*(e[1]-t[1])-(n[1]-t[1])*(e[0]-t[0])}function gt(t,n){return t[0]-n[0]||t[1]-n[1]}function mt(t){for(var n=t.length,e=[0,1],r=2,i=2;i<n;++i){for(;r>1&&yt(t[e[r-2]],t[e[r-1]],t[i])<=0;)--r;e[r++]=i}return e.slice(0,r)}function xt(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(gt),n=0;n<e;++n)i[n]=[r[n][0],-r[n][1]];var o=mt(r),u=mt(i),a=u[0]===o[0],c=u[u.length-1]===o[o.length-1],s=[];for(n=o.length-1;n>=0;--n)s.push(t[r[o[n]][2]]);for(n=+a;n<u.length-c;++n)s.push(t[r[u[n]][2]]);return s}function bt(t,n){for(var e,r,i=t.length,o=t[i-1],u=n[0],a=n[1],c=o[0],s=o[1],f=!1,l=0;l<i;++l)o=t[l],e=o[0],r=o[1],r>a!=s>a&&u<(c-e)*(a-r)/(s-r)+e&&(f=!f),c=e,s=r;return f}function wt(t){for(var n,e,r=-1,i=t.length,o=t[i-1],u=o[0],a=o[1],c=0;++r<i;)n=u,e=a,o=t[r],u=o[0],a=o[1],n-=u,e-=a,c+=Math.sqrt(n*n+e*e);return c}function Mt(){this._x0=this._y0=this._x1=this._y1=null,this._=[]}function Tt(){return new Mt}function kt(t){var n=+this._x.call(null,t),e=+this._y.call(null,t);return Nt(this.cover(n,e),n,e,t)}function Nt(t,n,e,r){if(isNaN(n)||isNaN(e))return t;var i,o,u,a,c,s,f,l,h,p=t._root,d={data:r},v=t._x0,_=t._y0,y=t._x1,g=t._y1;if(!p)return t._root=d,t;for(;p.length;)if((s=n>=(o=(v+y)/2))?v=o:y=o,(f=e>=(u=(_+g)/2))?_=u:g=u,i=p,!(p=p[l=f<<1|s]))return i[l]=d,t;if(a=+t._x.call(null,p.data),c=+t._y.call(null,p.data),n===a&&e===c)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),(s=n>=(o=(v+y)/2))?v=o:y=o,(f=e>=(u=(_+g)/2))?_=u:g=u;while((l=f<<1|s)===(h=(c>=u)<<1|a>=o));return i[h]=p,i[l]=d,t}function St(t){var n,e,r,i,o=t.length,u=new Array(o),a=new Array(o),c=1/0,s=1/0,f=-(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))||(u[e]=r,a[e]=i,r<c&&(c=r),r>f&&(f=r),i<s&&(s=i),i>l&&(l=i));for(f<c&&(c=this._x0,f=this._x1),l<s&&(s=this._y0,l=this._y1),this.cover(c,s).cover(f,l),e=0;e<o;++e)Nt(this,u[e],a[e],t[e]);return this}function Et(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{if(!(e>t||t>i||r>n||n>o))return this;var u,a,c=i-e,s=this._root;switch(a=(n<(r+o)/2)<<1|t<(e+i)/2){case 0:do u=new Array(4),u[a]=s,s=u;while(c*=2,i=e+c,o=r+c,t>i||n>o);break;case 1:do u=new Array(4),u[a]=s,s=u;while(c*=2,e=i-c,o=r+c,e>t||n>o);break;case 2:do u=new Array(4),u[a]=s,s=u;while(c*=2,i=e+c,r=o-c,t>i||r>n);break;case 3:do u=new Array(4),u[a]=s,s=u;while(c*=2,e=i-c,r=o-c,e>t||r>n)}this._root&&this._root.length&&(this._root=s)}return this._x0=e,this._y0=r,this._x1=i,this._y1=o,this}function At(){var t=[];return this.visit(function(n){if(!n.length)do t.push(n.data);while(n=n.next)}),t}function Ct(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]]}function zt(t,n,e,r,i){this.node=t,this.x0=n,this.y0=e,this.x1=r,this.y1=i}function Pt(t,n,e){var r,i,o,u,a,c,s,f=this._x0,l=this._y0,h=this._x1,p=this._y1,d=[],v=this._root;for(v&&d.push(new zt(v,f,l,h,p)),null==e?e=1/0:(f=t-e,l=n-e,h=t+e,p=n+e,e*=e);c=d.pop();)if(!(!(v=c.node)||(i=c.x0)>h||(o=c.y0)>p||(u=c.x1)<f||(a=c.y1)<l))if(v.length){var _=(i+u)/2,y=(o+a)/2;d.push(new zt(v[3],_,y,u,a),new zt(v[2],i,y,_,a),new zt(v[1],_,o,u,y),new zt(v[0],i,o,_,y)),(s=(n>=y)<<1|t>=_)&&(c=d[d.length-1],d[d.length-1]=d[d.length-1-s],d[d.length-1-s]=c)}else{var g=t-+this._x.call(null,v.data),m=n-+this._y.call(null,v.data),x=g*g+m*m;if(x<e){var b=Math.sqrt(e=x);f=t-b,l=n-b,h=t+b,p=n+b,r=v.data}}return r}function Lt(t){if(isNaN(o=+this._x.call(null,t))||isNaN(u=+this._y.call(null,t)))return this;var n,e,r,i,o,u,a,c,s,f,l,h,p=this._root,d=this._x0,v=this._y0,_=this._x1,y=this._y1;if(!p)return this;if(p.length)for(;;){if((s=o>=(a=(d+_)/2))?d=a:_=a,(f=u>=(c=(v+y)/2))?v=c:y=c,n=p,!(p=p[l=f<<1|s]))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)}function qt(t){for(var n=0,e=t.length;n<e;++n)this.remove(t[n]);return this}function Ut(){return this._root}function Rt(){var t=0;return this.visit(function(n){if(!n.length)do++t;while(n=n.next)}),t}function Dt(t){var n,e,r,i,o,u,a=[],c=this._root;for(c&&a.push(new zt(c,this._x0,this._y0,this._x1,this._y1));n=a.pop();)if(!t(c=n.node,r=n.x0,i=n.y0,o=n.x1,u=n.y1)&&c.length){var s=(r+o)/2,f=(i+u)/2;(e=c[3])&&a.push(new zt(e,s,f,o,u)),(e=c[2])&&a.push(new zt(e,r,f,s,u)),(e=c[1])&&a.push(new zt(e,s,i,o,f)),(e=c[0])&&a.push(new zt(e,r,i,s,f))}return this}function Ot(t){var n,e=[],r=[];for(this._root&&e.push(new zt(this._root,this._x0,this._y0,this._x1,this._y1));n=e.pop();){var i=n.node;if(i.length){var o,u=n.x0,a=n.y0,c=n.x1,s=n.y1,f=(u+c)/2,l=(a+s)/2;(o=i[0])&&e.push(new zt(o,u,a,f,l)),(o=i[1])&&e.push(new zt(o,f,a,c,l)),(o=i[2])&&e.push(new zt(o,u,l,f,s)),(o=i[3])&&e.push(new zt(o,f,l,c,s))}r.push(n)}for(;n=r.pop();)t(n.node,n.x0,n.y0,n.x1,n.y1);return this}function Ft(t){return t[0]}function It(t){return arguments.length?(this._x=t,this):this._x}function Yt(t){return t[1]}function Bt(t){return arguments.length?(this._y=t,this):this._y}function jt(t,n,e){var r=new Ht(null==n?Ft:n,null==e?Yt:e,NaN,NaN,NaN,NaN);return null==t?r:r.addAll(t)}function Ht(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 Xt(t){for(var n={data:t.data},e=n;t=t.next;)e=e.next={data:t.data};return n}function Vt(t){if(!(t>=1))throw new Error;this._size=t,this._call=this._error=null,this._tasks=[],this._data=[],this._waiting=this._active=this._ended=this._start=0}function Wt(t){if(!t._start)try{$t(t)}catch(n){t._tasks[t._ended+t._active-1]&&Gt(t,n)}}function $t(t){for(;t._start=t._waiting&&t._active<t._size;){var n=t._ended+t._active,e=t._tasks[n],r=e.length-1,i=e[r];e[r]=Zt(t,n),--t._waiting,++t._active,e=i.apply(null,e),t._tasks[n]&&(t._tasks[n]=e||ov)}}function Zt(t,n){return function(e,r){t._tasks[n]&&(--t._active,++t._ended,t._tasks[n]=null,null==t._error&&(null!=e?Gt(t,e):(t._data[n]=r,t._waiting?Wt(t):Jt(t))))}}function Gt(t,n){var e,r=t._tasks.length;for(t._error=n,t._data=void 0,t._waiting=NaN;--r>=0;)if((e=t._tasks[r])&&(t._tasks[r]=null,e.abort))try{e.abort()}catch(n){}t._active=NaN,Jt(t)}function Jt(t){!t._active&&t._call&&t._call(t._error,t._data)}function Qt(t){return new Vt(arguments.length?+t:1/0)}function Kt(t){return function(){return t}}function tn(t){return t.innerRadius}function nn(t){return t.outerRadius}function en(t){return t.startAngle}function rn(t){return t.endAngle}function on(t){return t&&t.padAngle}function un(t){return t>=1?cv:t<=-1?-cv:Math.asin(t)}function an(t,n,e,r,i,o,u,a){var c=e-t,s=r-n,f=u-i,l=a-o,h=(f*(n-o)-l*(t-i))/(l*c-f*s);return[t+h*c,n+h*s]}function cn(t,n,e,r,i,o,u){var a=t-e,c=n-r,s=(u?o:-o)/Math.sqrt(a*a+c*c),f=s*c,l=-s*a,h=t+f,p=n+l,d=e+f,v=r+l,_=(h+d)/2,y=(p+v)/2,g=d-h,m=v-p,x=g*g+m*m,b=i-o,w=h*v-d*p,M=(m<0?-1:1)*Math.sqrt(Math.max(0,b*b*x-w*w)),T=(w*m-g*M)/x,k=(-w*g-m*M)/x,N=(w*m+g*M)/x,S=(-w*g+m*M)/x,E=T-_,A=k-y,C=N-_,z=S-y;return E*E+A*A>C*C+z*z&&(T=N,k=S),{cx:T,cy:k,x01:-f,y01:-l,x11:T*(i/b-1),y11:k*(i/b-1)}}function sn(){function t(){var t,s,f=+n.apply(this,arguments),l=+e.apply(this,arguments),h=o.apply(this,arguments)-cv,p=u.apply(this,arguments)-cv,d=Math.abs(p-h),v=p>h;if(c||(c=t=Tt()),l<f&&(s=l,l=f,f=s),l>uv)if(d>sv-uv)c.moveTo(l*Math.cos(h),l*Math.sin(h)),c.arc(0,0,l,h,p,!v),f>uv&&(c.moveTo(f*Math.cos(p),f*Math.sin(p)),c.arc(0,0,f,p,h,v));else{var _,y,g=h,m=p,x=h,b=p,w=d,M=d,T=a.apply(this,arguments)/2,k=T>uv&&(i?+i.apply(this,arguments):Math.sqrt(f*f+l*l)),N=Math.min(Math.abs(l-f)/2,+r.apply(this,arguments)),S=N,E=N;if(k>uv){var A=un(k/f*Math.sin(T)),C=un(k/l*Math.sin(T));(w-=2*A)>uv?(A*=v?1:-1,x+=A,b-=A):(w=0,x=b=(h+p)/2),(M-=2*C)>uv?(C*=v?1:-1,g+=C,m-=C):(M=0,g=m=(h+p)/2)}var z=l*Math.cos(g),P=l*Math.sin(g),L=f*Math.cos(b),q=f*Math.sin(b);if(N>uv){var U=l*Math.cos(m),R=l*Math.sin(m),D=f*Math.cos(x),O=f*Math.sin(x);if(d<av){var F=w>uv?an(z,P,D,O,U,R,L,q):[L,q],I=z-F[0],Y=P-F[1],B=U-F[0],j=R-F[1],H=1/Math.sin(Math.acos((I*B+Y*j)/(Math.sqrt(I*I+Y*Y)*Math.sqrt(B*B+j*j)))/2),X=Math.sqrt(F[0]*F[0]+F[1]*F[1]);S=Math.min(N,(f-X)/(H-1)),E=Math.min(N,(l-X)/(H+1))}}M>uv?E>uv?(_=cn(D,O,z,P,l,E,v),y=cn(U,R,L,q,l,E,v),c.moveTo(_.cx+_.x01,_.cy+_.y01),E<N?c.arc(_.cx,_.cy,E,Math.atan2(_.y01,_.x01),Math.atan2(y.y01,y.x01),!v):(c.arc(_.cx,_.cy,E,Math.atan2(_.y01,_.x01),Math.atan2(_.y11,_.x11),!v),c.arc(0,0,l,Math.atan2(_.cy+_.y11,_.cx+_.x11),Math.atan2(y.cy+y.y11,y.cx+y.x11),!v),c.arc(y.cx,y.cy,E,Math.atan2(y.y11,y.x11),Math.atan2(y.y01,y.x01),!v))):(c.moveTo(z,P),c.arc(0,0,l,g,m,!v)):c.moveTo(z,P),f>uv&&w>uv?S>uv?(_=cn(L,q,U,R,f,-S,v),y=cn(z,P,D,O,f,-S,v),c.lineTo(_.cx+_.x01,_.cy+_.y01),S<N?c.arc(_.cx,_.cy,S,Math.atan2(_.y01,_.x01),Math.atan2(y.y01,y.x01),!v):(c.arc(_.cx,_.cy,S,Math.atan2(_.y01,_.x01),Math.atan2(_.y11,_.x11),!v),c.arc(0,0,f,Math.atan2(_.cy+_.y11,_.cx+_.x11),Math.atan2(y.cy+y.y11,y.cx+y.x11),v),c.arc(y.cx,y.cy,S,Math.atan2(y.y11,y.x11),Math.atan2(y.y01,y.x01),!v))):c.arc(0,0,f,b,x,v):c.lineTo(L,q)}else c.moveTo(0,0);if(c.closePath(),t)return c=null,t+""||null}var n=tn,e=nn,r=Kt(0),i=null,o=en,u=rn,a=on,c=null;return t.centroid=function(){var t=(+n.apply(this,arguments)+ +e.apply(this,arguments))/2,r=(+o.apply(this,arguments)+ +u.apply(this,arguments))/2-av/2;return[Math.cos(r)*t,Math.sin(r)*t]},t.innerRadius=function(e){return arguments.length?(n="function"==typeof e?e:Kt(+e),t):n},t.outerRadius=function(n){return arguments.length?(e="function"==typeof n?n:Kt(+n),t):e},t.cornerRadius=function(n){return arguments.length?(r="function"==typeof n?n:Kt(+n),t):r},t.padRadius=function(n){return arguments.length?(i=null==n?null:"function"==typeof n?n:Kt(+n),t):i},t.startAngle=function(n){return arguments.length?(o="function"==typeof n?n:Kt(+n),t):o},t.endAngle=function(n){return arguments.length?(u="function"==typeof n?n:Kt(+n),t):u},t.padAngle=function(n){return arguments.length?(a="function"==typeof n?n:Kt(+n),t):a},t.context=function(n){return arguments.length?(c=null==n?null:n,t):c},t}function fn(t){this._context=t}function ln(t){return new fn(t)}function hn(t){return t[0]}function pn(t){return t[1]}function dn(){function t(t){var a,c,s,f=t.length,l=!1;for(null==i&&(u=o(s=Tt())),a=0;a<=f;++a)!(a<f&&r(c=t[a],a,t))===l&&((l=!l)?u.lineStart():u.lineEnd()),l&&u.point(+n(c,a,t),+e(c,a,t));if(s)return u=null,s+""||null}var n=hn,e=pn,r=Kt(!0),i=null,o=ln,u=null;return t.x=function(e){return arguments.length?(n="function"==typeof e?e:Kt(+e),t):n},t.y=function(n){return arguments.length?(e="function"==typeof n?n:Kt(+n),t):e},t.defined=function(n){return arguments.length?(r="function"==typeof n?n:Kt(!!n),t):r},t.curve=function(n){return arguments.length?(o=n,null!=i&&(u=o(i)),t):o},t.context=function(n){return arguments.length?(null==n?i=u=null:u=o(i=n),t):i},t}function vn(){function t(t){var n,f,l,h,p,d=t.length,v=!1,_=new Array(d),y=new Array(d);for(null==a&&(s=c(p=Tt())),n=0;n<=d;++n){if(!(n<d&&u(h=t[n],n,t))===v)if(v=!v)f=n,s.areaStart(),s.lineStart();else{for(s.lineEnd(),s.lineStart(),l=n-1;l>=f;--l)s.point(_[l],y[l]);s.lineEnd(),s.areaEnd()}v&&(_[n]=+e(h,n,t),y[n]=+i(h,n,t),s.point(r?+r(h,n,t):_[n],o?+o(h,n,t):y[n]))}if(p)return s=null,p+""||null}function n(){return dn().defined(u).curve(c).context(a)}var e=hn,r=null,i=Kt(0),o=pn,u=Kt(!0),a=null,c=ln,s=null;return t.x=function(n){return arguments.length?(e="function"==typeof n?n:Kt(+n),r=null,t):e},t.x0=function(n){return arguments.length?(e="function"==typeof n?n:Kt(+n),t):e},t.x1=function(n){return arguments.length?(r=null==n?null:"function"==typeof n?n:Kt(+n),t):r},t.y=function(n){return arguments.length?(i="function"==typeof n?n:Kt(+n),o=null,t):i},t.y0=function(n){return arguments.length?(i="function"==typeof n?n:Kt(+n),t):i},t.y1=function(n){return arguments.length?(o=null==n?null:"function"==typeof n?n:Kt(+n),t):o},t.lineX0=t.lineY0=function(){return n().x(e).y(i)},t.lineY1=function(){return n().x(e).y(o)},t.lineX1=function(){return n().x(r).y(i)},t.defined=function(n){return arguments.length?(u="function"==typeof n?n:Kt(!!n),t):u},t.curve=function(n){return arguments.length?(c=n,null!=a&&(s=c(a)),t):c},t.context=function(n){return arguments.length?(null==n?a=s=null:s=c(a=n),t):a},t}function _n(t,n){return n<t?-1:n>t?1:n>=t?0:NaN}function yn(t){return t}function gn(){function t(t){var a,c,s,f,l,h=t.length,p=0,d=new Array(h),v=new Array(h),_=+i.apply(this,arguments),y=Math.min(sv,Math.max(-sv,o.apply(this,arguments)-_)),g=Math.min(Math.abs(y)/h,u.apply(this,arguments)),m=g*(y<0?-1:1);for(a=0;a<h;++a)(l=v[d[a]=a]=+n(t[a],a,t))>0&&(p+=l);for(null!=e?d.sort(function(t,n){return e(v[t],v[n])}):null!=r&&d.sort(function(n,e){return r(t[n],t[e])}),a=0,s=p?(y-h*m)/p:0;a<h;++a,_=f)c=d[a],l=v[c],f=_+(l>0?l*s:0)+m,v[c]={data:t[c],index:a,value:l,startAngle:_,endAngle:f,padAngle:g};return v}var n=yn,e=_n,r=null,i=Kt(0),o=Kt(sv),u=Kt(0);return t.value=function(e){return arguments.length?(n="function"==typeof e?e:Kt(+e),t):n},t.sortValues=function(n){return arguments.length?(e=n,r=null,t):e},t.sort=function(n){return arguments.length?(r=n,e=null,t):r},t.startAngle=function(n){return arguments.length?(i="function"==typeof n?n:Kt(+n),t):i},t.endAngle=function(n){return arguments.length?(o="function"==typeof n?n:Kt(+n),t):o},t.padAngle=function(n){return arguments.length?(u="function"==typeof n?n:Kt(+n),t):u},t}function mn(t){this._curve=t}function xn(t){function n(n){return new mn(t(n))}return n._curve=t,n}function bn(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(xn(t)):n()._curve},t}function wn(){return bn(dn().curve(fv))}function Mn(){var t=vn().curve(fv),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 bn(e())},delete t.lineX0,t.lineEndAngle=function(){return bn(r())},delete t.lineX1,t.lineInnerRadius=function(){return bn(i())},delete t.lineY0,t.lineOuterRadius=function(){return bn(o())},delete t.lineY1,t.curve=function(t){return arguments.length?n(xn(t)):n()._curve},t}function Tn(){function t(){var t;if(r||(r=t=Tt()),n.apply(this,arguments).draw(r,+e.apply(this,arguments)),t)return r=null,t+""||null}var n=Kt(lv),e=Kt(64),r=null;return t.type=function(e){return arguments.length?(n="function"==typeof e?e:Kt(e),t):n},t.size=function(n){return arguments.length?(e="function"==typeof n?n:Kt(+n),t):e},t.context=function(n){return arguments.length?(r=null==n?null:n,t):r},t}function kn(){}function Nn(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 Sn(t){this._context=t}function En(t){return new Sn(t)}function An(t){this._context=t}function Cn(t){return new An(t)}function zn(t){this._context=t}function Pn(t){return new zn(t)}function Ln(t,n){this._basis=new Sn(t),this._beta=n}function qn(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 Un(t,n){this._context=t,this._k=(1-n)/6}function Rn(t,n){this._context=t,this._k=(1-n)/6}function Dn(t,n){this._context=t,this._k=(1-n)/6}function On(t,n,e){var r=t._x1,i=t._y1,o=t._x2,u=t._y2;if(t._l01_a>uv){var a=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,c=3*t._l01_a*(t._l01_a+t._l12_a);r=(r*a-t._x0*t._l12_2a+t._x2*t._l01_2a)/c,i=(i*a-t._y0*t._l12_2a+t._y2*t._l01_2a)/c}if(t._l23_a>uv){var s=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,f=3*t._l23_a*(t._l23_a+t._l12_a);o=(o*s+t._x1*t._l23_2a-n*t._l12_2a)/f,u=(u*s+t._y1*t._l23_2a-e*t._l12_2a)/f}t._context.bezierCurveTo(r,i,o,u,t._x2,t._y2)}function Fn(t,n){this._context=t,this._alpha=n}function In(t,n){this._context=t,this._alpha=n}function Yn(t,n){this._context=t,this._alpha=n}function Bn(t){this._context=t}function jn(t){return new Bn(t)}function Hn(t){return t<0?-1:1}function Xn(t,n,e){var r=t._x1-t._x0,i=n-t._x1,o=(t._y1-t._y0)/(r||i<0&&-0),u=(e-t._y1)/(i||r<0&&-0),a=(o*i+u*r)/(r+i);return(Hn(o)+Hn(u))*Math.min(Math.abs(o),Math.abs(u),.5*Math.abs(a))||0}function Vn(t,n){var e=t._x1-t._x0;return e?(3*(t._y1-t._y0)/e-n)/2:n}function Wn(t,n,e){var r=t._x0,i=t._y0,o=t._x1,u=t._y1,a=(o-r)/3;t._context.bezierCurveTo(r+a,i+a*n,o-a,u-a*e,o,u)}function $n(t){this._context=t}function Zn(t){this._context=new Gn(t)}function Gn(t){this._context=t}function Jn(t){return new $n(t)}function Qn(t){return new Zn(t)}function Kn(t){this._context=t}function te(t){var n,e,r=t.length-1,i=new Array(r),o=new Array(r),u=new Array(r);for(i[0]=0,o[0]=2,u[0]=t[0]+2*t[1],n=1;n<r-1;++n)i[n]=1,o[n]=4,u[n]=4*t[n]+2*t[n+1];for(i[r-1]=2,o[r-1]=7,u[r-1]=8*t[r-1]+t[r],n=1;n<r;++n)e=i[n]/o[n-1],o[n]-=e,u[n]-=e*u[n-1];for(i[r-1]=u[r-1]/o[r-1],n=r-2;n>=0;--n)i[n]=(u[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]}function ne(t){return new Kn(t)}function ee(t,n){this._context=t,this._t=n}function re(t){return new ee(t,.5)}function ie(t){return new ee(t,0)}function oe(t){return new ee(t,1)}function ue(t,n){if((r=t.length)>1)for(var e,r,i=1,o=t[n[0]],u=o.length;i<r;++i){e=o,o=t[n[i]];for(var a=0;a<u;++a)o[a][1]+=o[a][0]=isNaN(e[a][1])?e[a][0]:e[a][1]}}function ae(t){for(var n=t.length,e=new Array(n);--n>=0;)e[n]=n;return e}function ce(t,n){return t[n]}function se(){function t(t){var o,u,a=n.apply(this,arguments),c=t.length,s=a.length,f=new Array(s);for(o=0;o<s;++o){for(var l,h=a[o],p=f[o]=new Array(c),d=0;d<c;++d)p[d]=l=[0,+i(t[d],h,d,t)],l.data=t[d];p.key=h}for(o=0,u=e(f);o<s;++o)f[u[o]].index=o;return r(f,u),f}var n=Kt([]),e=ae,r=ue,i=ce;return t.keys=function(e){return arguments.length?(n="function"==typeof e?e:Kt(Dv.call(e)),t):n},t.value=function(n){return arguments.length?(i="function"==typeof n?n:Kt(+n),t):i},t.order=function(n){return arguments.length?(e=null==n?ae:"function"==typeof n?n:Kt(Dv.call(n)),t):e},t.offset=function(n){return arguments.length?(r=null==n?ue:n,t):r},t}function fe(t,n){if((r=t.length)>0){for(var e,r,i,o=0,u=t[0].length;o<u;++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}ue(t,n)}}function le(t,n){if((e=t.length)>0){for(var e,r=0,i=t[n[0]],o=i.length;r<o;++r){for(var u=0,a=0;u<e;++u)a+=t[u][r][1]||0;i[r][1]+=i[r][0]=-a/2}ue(t,n)}}function he(t,n){if((i=t.length)>0&&(r=(e=t[n[0]]).length)>0){for(var e,r,i,o=0,u=1;u<r;++u){for(var a=0,c=0,s=0;a<i;++a){for(var f=t[n[a]],l=f[u][1]||0,h=f[u-1][1]||0,p=(l-h)/2,d=0;d<a;++d){var v=t[n[d]],_=v[u][1]||0,y=v[u-1][1]||0;p+=_-y}c+=l,s+=p*l}e[u-1][1]+=e[u-1][0]=o,c&&(o-=s/c)}e[u-1][1]+=e[u-1][0]=o,ue(t,n)}}function pe(t){var n=t.map(de);return ae(t).sort(function(t,e){return n[t]-n[e]})}function de(t){for(var n,e=0,r=-1,i=t.length;++r<i;)(n=+t[r][1])&&(e+=n);return e}function ve(t){return pe(t).reverse()}function _e(t){var n,e,r=t.length,i=t.map(de),o=ae(t).sort(function(t,n){return i[n]-i[t]}),u=0,a=0,c=[],s=[];for(n=0;n<r;++n)e=o[n],u<a?(u+=i[e],c.push(e)):(a+=i[e],s.push(e));return s.reverse().concat(c)}function ye(t){return ae(t).reverse()}function ge(t,n,e){t.prototype=n.prototype=e,e.constructor=t}function me(t,n){var e=Object.create(t.prototype);for(var r in n)e[r]=n[r];return e}function xe(){}function be(t){var n;return t=(t+"").trim().toLowerCase(),(n=Iv.exec(t))?(n=parseInt(n[1],16),new Ne(n>>8&15|n>>4&240,n>>4&15|240&n,(15&n)<<4|15&n,1)):(n=Yv.exec(t))?we(parseInt(n[1],16)):(n=Bv.exec(t))?new Ne(n[1],n[2],n[3],1):(n=jv.exec(t))?new Ne(255*n[1]/100,255*n[2]/100,255*n[3]/100,1):(n=Hv.exec(t))?Me(n[1],n[2],n[3],n[4]):(n=Xv.exec(t))?Me(255*n[1]/100,255*n[2]/100,255*n[3]/100,n[4]):(n=Vv.exec(t))?Se(n[1],n[2]/100,n[3]/100,1):(n=Wv.exec(t))?Se(n[1],n[2]/100,n[3]/100,n[4]):$v.hasOwnProperty(t)?we($v[t]):"transparent"===t?new Ne(NaN,NaN,NaN,0):null}function we(t){return new Ne(t>>16&255,t>>8&255,255&t,1)}function Me(t,n,e,r){return r<=0&&(t=n=e=NaN),new Ne(t,n,e,r)}function Te(t){return t instanceof xe||(t=be(t)),t?(t=t.rgb(),new Ne(t.r,t.g,t.b,t.opacity)):new Ne}function ke(t,n,e,r){return 1===arguments.length?Te(t):new Ne(t,n,e,null==r?1:r)}function Ne(t,n,e,r){this.r=+t,this.g=+n,this.b=+e,this.opacity=+r}function Se(t,n,e,r){return r<=0?t=n=e=NaN:e<=0||e>=1?t=n=NaN:n<=0&&(t=NaN),new Ce(t,n,e,r)}function Ee(t){if(t instanceof Ce)return new Ce(t.h,t.s,t.l,t.opacity);if(t instanceof xe||(t=be(t)),!t)return new Ce;if(t instanceof Ce)return t;t=t.rgb();var n=t.r/255,e=t.g/255,r=t.b/255,i=Math.min(n,e,r),o=Math.max(n,e,r),u=NaN,a=o-i,c=(o+i)/2;return a?(u=n===o?(e-r)/a+6*(e<r):e===o?(r-n)/a+2:(n-e)/a+4,a/=c<.5?o+i:2-o-i,u*=60):a=c>0&&c<1?0:u,new Ce(u,a,c,t.opacity)}function Ae(t,n,e,r){return 1===arguments.length?Ee(t):new Ce(t,n,e,null==r?1:r)}function Ce(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}function ze(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 Pe(t){if(t instanceof qe)return new qe(t.l,t.a,t.b,t.opacity);if(t instanceof Ye){var n=t.h*Zv;return new qe(t.l,Math.cos(n)*t.c,Math.sin(n)*t.c,t.opacity)}t instanceof Ne||(t=Te(t));var e=Oe(t.r),r=Oe(t.g),i=Oe(t.b),o=Ue((.4124564*e+.3575761*r+.1804375*i)/Qv),u=Ue((.2126729*e+.7151522*r+.072175*i)/Kv),a=Ue((.0193339*e+.119192*r+.9503041*i)/t_);return new qe(116*u-16,500*(o-u),200*(u-a),t.opacity)}function Le(t,n,e,r){return 1===arguments.length?Pe(t):new qe(t,n,e,null==r?1:r)}function qe(t,n,e,r){this.l=+t,this.a=+n,this.b=+e,this.opacity=+r}function Ue(t){return t>i_?Math.pow(t,1/3):t/r_+n_}function Re(t){return t>e_?t*t*t:r_*(t-n_)}function De(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function Oe(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Fe(t){if(t instanceof Ye)return new Ye(t.h,t.c,t.l,t.opacity);t instanceof qe||(t=Pe(t));var n=Math.atan2(t.b,t.a)*Gv;return new Ye(n<0?n+360:n,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function Ie(t,n,e,r){return 1===arguments.length?Fe(t):new Ye(t,n,e,null==r?1:r)}function Ye(t,n,e,r){this.h=+t,this.c=+n,this.l=+e,this.opacity=+r}function Be(t){if(t instanceof He)return new He(t.h,t.s,t.l,t.opacity);t instanceof Ne||(t=Te(t));var n=t.r/255,e=t.g/255,r=t.b/255,i=(h_*r+f_*n-l_*e)/(h_+f_-l_),o=r-i,u=(s_*(e-i)-a_*o)/c_,a=Math.sqrt(u*u+o*o)/(s_*i*(1-i)),c=a?Math.atan2(u,o)*Gv-120:NaN;return new He(c<0?c+360:c,a,i,t.opacity)}function je(t,n,e,r){return 1===arguments.length?Be(t):new He(t,n,e,null==r?1:r)}function He(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}function Xe(t,n,e,r,i){var o=t*t,u=o*t;return((1-3*t+3*o-u)*n+(4-6*o+3*u)*e+(1+3*t+3*o-3*u)*r+u*i)/6}function Ve(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],u=r>0?t[r-1]:2*i-o,a=r<n-1?t[r+2]:2*o-i;return Xe((e-r/n)*n,u,i,o,a)}}function We(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],u=t[(r+1)%n],a=t[(r+2)%n];return Xe((e-r/n)*n,i,o,u,a)}}function $e(t){return function(){return t}}function Ze(t,n){return function(e){return t+e*n}}function Ge(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)}}function Je(t,n){var e=n-t;return e?Ze(t,e>180||e<-180?e-360*Math.round(e/360):e):$e(isNaN(t)?n:t)}function Qe(t){return 1===(t=+t)?Ke:function(n,e){return e-n?Ge(n,e,t):$e(isNaN(n)?e:n)}}function Ke(t,n){var e=n-t;return e?Ze(t,e):$e(isNaN(t)?n:t)}function tr(t){return function(n){var e,r,i=n.length,o=new Array(i),u=new Array(i),a=new Array(i);for(e=0;e<i;++e)r=ke(n[e]),o[e]=r.r||0,u[e]=r.g||0,a[e]=r.b||0;return o=t(o),u=t(u),a=t(a),r.opacity=1,function(t){return r.r=o(t),r.g=u(t),r.b=a(t),r+""}}}function nr(t,n){var e,r=n?n.length:0,i=t?Math.min(r,t.length):0,o=new Array(r),u=new Array(r);for(e=0;e<i;++e)o[e]=ar(t[e],n[e]);
+for(;e<r;++e)u[e]=n[e];return function(t){for(e=0;e<i;++e)u[e]=o[e](t);return u}}function er(t,n){return t=+t,n-=t,function(e){return t+n*e}}function rr(t,n){var e,r={},i={};null!==t&&"object"==typeof t||(t={}),null!==n&&"object"==typeof n||(n={});for(e in n)e in t?r[e]=ar(t[e],n[e]):i[e]=n[e];return function(t){for(e in r)i[e]=r[e](t);return i}}function ir(t){return function(){return t}}function or(t){return function(n){return t(n)+""}}function ur(t,n){var e,r,i,o=x_.lastIndex=b_.lastIndex=0,u=-1,a=[],c=[];for(t+="",n+="";(e=x_.exec(t))&&(r=b_.exec(n));)(i=r.index)>o&&(i=n.slice(o,i),a[u]?a[u]+=i:a[++u]=i),(e=e[0])===(r=r[0])?a[u]?a[u]+=r:a[++u]=r:(a[++u]=null,c.push({i:u,x:er(e,r)})),o=b_.lastIndex;return o<n.length&&(i=n.slice(o),a[u]?a[u]+=i:a[++u]=i),a.length<2?c[0]?or(c[0].x):ir(n):(n=c.length,function(t){for(var e,r=0;r<n;++r)a[(e=c[r]).i]=e.x(t);return a.join("")})}function ar(t,n){var e,r=typeof n;return null==n||"boolean"===r?$e(n):("number"===r?er:"string"===r?(e=be(n))?(n=e,y_):ur:n instanceof be?y_:Array.isArray(n)?nr:rr)(t,n)}function cr(t,n){return t=+t,n-=t,function(e){return Math.round(t+n*e)}}function sr(t,n,e,r,i,o){var u,a,c;return(u=Math.sqrt(t*t+n*n))&&(t/=u,n/=u),(c=t*e+n*r)&&(e-=t*c,r-=n*c),(a=Math.sqrt(e*e+r*r))&&(e/=a,r/=a,c/=a),t*r<n*e&&(t=-t,n=-n,c=-c,u=-u),{translateX:i,translateY:o,rotate:Math.atan2(n,t)*w_,skewX:Math.atan(c)*w_,scaleX:u,scaleY:a}}function fr(t){if("none"===t)return M_;p_||(p_=document.createElement("DIV"),d_=document.documentElement,v_=document.defaultView),p_.style.transform=t,t=v_.getComputedStyle(d_.appendChild(p_),null).getPropertyValue("transform"),d_.removeChild(p_);var n=t.slice(7,-1).split(",");return sr(+n[0],+n[1],+n[2],+n[3],+n[4],+n[5])}function lr(t){__||(__=document.createElementNS("http://www.w3.org/2000/svg","g")),__.setAttribute("transform",null==t?"":t);var n=__.transform.baseVal.consolidate().matrix;return sr(n.a,n.b,n.c,n.d,n.e,n.f)}function hr(t,n,e,r){function i(t){return t.length?t.pop()+" ":""}function o(t,r,i,o,u,a){if(t!==i||r!==o){var c=u.push("translate(",null,n,null,e);a.push({i:c-4,x:er(t,i)},{i:c-2,x:er(r,o)})}else(i||o)&&u.push("translate("+i+n+o+e)}function u(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:er(t,n)})):n&&e.push(i(e)+"rotate("+n+r)}function a(t,n,e,o){t!==n?o.push({i:e.push(i(e)+"skewX(",null,r)-2,x:er(t,n)}):n&&e.push(i(e)+"skewX("+n+r)}function c(t,n,e,r,o,u){if(t!==e||n!==r){var a=o.push(i(o)+"scale(",null,",",null,")");u.push({i:a-4,x:er(t,e)},{i:a-2,x:er(n,r)})}else 1===e&&1===r||o.push(i(o)+"scale("+e+","+r+")")}return function(n,e){var r=[],i=[];return n=t(n),e=t(e),o(n.translateX,n.translateY,e.translateX,e.translateY,r,i),u(n.rotate,e.rotate,r,i),a(n.skewX,e.skewX,r,i),c(n.scaleX,n.scaleY,e.scaleX,e.scaleY,r,i),n=e=null,function(t){for(var n,e=-1,o=i.length;++e<o;)r[(n=i[e]).i]=n.x(t);return r.join("")}}}function pr(t){return((t=Math.exp(t))+1/t)/2}function dr(t){return((t=Math.exp(t))-1/t)/2}function vr(t){return((t=Math.exp(2*t))-1)/(t+1)}function _r(t,n){var e,r,i=t[0],o=t[1],u=t[2],a=n[0],c=n[1],s=n[2],f=a-i,l=c-o,h=f*f+l*l;if(h<A_)r=Math.log(s/u)/N_,e=function(t){return[i+t*f,o+t*l,u*Math.exp(N_*t*r)]};else{var p=Math.sqrt(h),d=(s*s-u*u+E_*h)/(2*u*S_*p),v=(s*s-u*u-E_*h)/(2*s*S_*p),_=Math.log(Math.sqrt(d*d+1)-d),y=Math.log(Math.sqrt(v*v+1)-v);r=(y-_)/N_,e=function(t){var n=t*r,e=pr(_),a=u/(S_*p)*(e*vr(N_*n+_)-dr(_));return[i+a*f,o+a*l,u*e/pr(N_*n+_)]}}return e.duration=1e3*r,e}function yr(t){return function(n,e){var r=t((n=Ae(n)).h,(e=Ae(e)).h),i=Ke(n.s,e.s),o=Ke(n.l,e.l),u=Ke(n.opacity,e.opacity);return function(t){return n.h=r(t),n.s=i(t),n.l=o(t),n.opacity=u(t),n+""}}}function gr(t,n){var e=Ke((t=Le(t)).l,(n=Le(n)).l),r=Ke(t.a,n.a),i=Ke(t.b,n.b),o=Ke(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 mr(t){return function(n,e){var r=t((n=Ie(n)).h,(e=Ie(e)).h),i=Ke(n.c,e.c),o=Ke(n.l,e.l),u=Ke(n.opacity,e.opacity);return function(t){return n.h=r(t),n.c=i(t),n.l=o(t),n.opacity=u(t),n+""}}}function xr(t){return function n(e){function r(n,r){var i=t((n=je(n)).h,(r=je(r)).h),o=Ke(n.s,r.s),u=Ke(n.l,r.l),a=Ke(n.opacity,r.opacity);return function(t){return n.h=i(t),n.s=o(t),n.l=u(Math.pow(t,e)),n.opacity=a(t),n+""}}return e=+e,r.gamma=n,r}(1)}function br(t,n){for(var e=new Array(n),r=0;r<n;++r)e[r]=t(r/(n-1));return e}function wr(){for(var t,n=0,e=arguments.length,r={};n<e;++n){if(!(t=arguments[n]+"")||t in r)throw new Error("illegal type: "+t);r[t]=[]}return new Mr(r)}function Mr(t){this._=t}function Tr(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 kr(t,n){for(var e,r=0,i=t.length;r<i;++r)if((e=t[r]).name===n)return e.value}function Nr(t,n,e){for(var r=0,i=t.length;r<i;++r)if(t[r].name===n){t[r]=R_,t=t.slice(0,r).concat(t.slice(r+1));break}return null!=e&&t.push({name:n,value:e}),t}function Sr(t){return new Function("d","return {"+t.map(function(t,n){return JSON.stringify(t)+": d["+n+"]"}).join(",")+"}")}function Er(t,n){var e=Sr(t);return function(r,i){return n(e(r),i,t)}}function Ar(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 Cr(t){function n(t,n){var r,i,o=e(t,function(t,e){return r?r(t,e-1):(i=t,void(r=n?Er(t,n):Sr(t)))});return o.columns=i,o}function e(t,n){function e(){if(f>=s)return u;if(i)return i=!1,o;var n,e=f;if(34===t.charCodeAt(e)){for(var r=e;r++<s;)if(34===t.charCodeAt(r)){if(34!==t.charCodeAt(r+1))break;++r}return f=r+2,n=t.charCodeAt(r+1),13===n?(i=!0,10===t.charCodeAt(r+2)&&++f):10===n&&(i=!0),t.slice(e+1,r).replace(/""/g,'"')}for(;f<s;){var a=1;if(n=t.charCodeAt(f++),10===n)i=!0;else if(13===n)i=!0,10===t.charCodeAt(f)&&(++f,++a);else if(n!==c)continue;return t.slice(e,f-a)}return t.slice(e)}for(var r,i,o={},u={},a=[],s=t.length,f=0,l=0;(r=e())!==u;){for(var h=[];r!==o&&r!==u;)h.push(r),r=e();n&&null==(h=n(h,l++))||a.push(h)}return a}function r(n,e){return null==e&&(e=Ar(n)),[e.map(u).join(t)].concat(n.map(function(n){return e.map(function(t){return u(n[t])}).join(t)})).join("\n")}function i(t){return t.map(o).join("\n")}function o(n){return n.map(u).join(t)}function u(t){return null==t?"":a.test(t+="")?'"'+t.replace(/\"/g,'""')+'"':t}var a=new RegExp('["'+t+"\n]"),c=t.charCodeAt(0);return{parse:n,parseRows:e,format:r,formatRows:i}}function zr(t,n){function e(t){var n,e=s.status;if(!e&&Lr(s)||e>=200&&e<300||304===e){if(o)try{n=o.call(r,s)}catch(i){return void a.call("error",r,i)}else n=s;a.call("load",r,n)}else a.call("error",r,t)}var r,i,o,u,a=wr("beforesend","progress","load","error"),c=L(),s=new XMLHttpRequest,f=null,l=null,h=0;return"undefined"==typeof XDomainRequest||"withCredentials"in s||!/^(http(s)?:)?\/\//.test(t)||(s=new XDomainRequest),"onload"in s?s.onload=s.onerror=s.ontimeout=e:s.onreadystatechange=function(t){s.readyState>3&&e(t)},s.onprogress=function(t){a.call("progress",r,t)},r={header:function(t,n){return t=(t+"").toLowerCase(),arguments.length<2?c.get(t):(null==n?c.remove(t):c.set(t,n+""),r)},mimeType:function(t){return arguments.length?(i=null==t?null:t+"",r):i},responseType:function(t){return arguments.length?(u=t,r):u},timeout:function(t){return arguments.length?(h=+t,r):h},user:function(t){return arguments.length<1?f:(f=null==t?null:t+"",r)},password:function(t){return arguments.length<1?l:(l=null==t?null:t+"",r)},response:function(t){return o=t,r},get:function(t,n){return r.send("GET",t,n)},post:function(t,n){return r.send("POST",t,n)},send:function(n,e,o){return o||"function"!=typeof e||(o=e,e=null),o&&1===o.length&&(o=Pr(o)),s.open(n,t,!0,f,l),null==i||c.has("accept")||c.set("accept",i+",*/*"),s.setRequestHeader&&c.each(function(t,n){s.setRequestHeader(n,t)}),null!=i&&s.overrideMimeType&&s.overrideMimeType(i),null!=u&&(s.responseType=u),h>0&&(s.timeout=h),o&&r.on("error",o).on("load",function(t){o(null,t)}),a.call("beforesend",r,s),s.send(null==e?null:e),r},abort:function(){return s.abort(),r},on:function(){var t=a.on.apply(a,arguments);return t===a?r:t}},n?r.get(n):r}function Pr(t){return function(n,e){t(null==n?e:null)}}function Lr(t){var n=t.responseType;return n&&"text"!==n?t.response:t.responseText}function qr(t,n){return function(e,r){var i=zr(e).mimeType(t).response(n);return r?i.get(r):i}}function Ur(t,n){return function(e,r,i){arguments.length<3&&(i=r,r=null);var o=zr(e).mimeType(t);return o.row=function(t){return arguments.length?o.response(Rr(n,r=t)):r},o.row(r),i?o.get(i):o}}function Rr(t,n){return function(e){return t(e.responseText,n)}}function Dr(){return uy||(sy(Or),uy=cy.now()+ay)}function Or(){uy=0}function Fr(){this._call=this._time=this._next=null}function Ir(t,n,e){var r=new Fr;return r.restart(t,n,e),r}function Yr(){Dr(),++ny;for(var t,n=D_;n;)(t=uy-n._time)>=0&&n._call.call(null,t),n=n._next;--ny}function Br(t){uy=(oy=t||cy.now())+ay,ny=ey=0;try{Yr()}finally{ny=0,Hr(),uy=0}}function jr(){var t=cy.now(),n=t-oy;n>iy&&(ay-=n,oy=t)}function Hr(){for(var t,n,e=D_,r=1/0;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:D_=n);O_=t,Xr(r)}function Xr(t){if(!ny){ey&&(ey=clearTimeout(ey));var n=t-uy;n>24?(t<1/0&&(ey=setTimeout(Br,n)),ry&&(ry=clearInterval(ry))):(ry||(ry=setInterval(jr,iy)),ny=1,sy(Br))}}function Vr(t,n,e){var r=new Fr;return n=null==n?0:+n,r.restart(function(e){r.stop(),t(e+n)},n,e),r}function Wr(t,n,e){var r=new Fr,i=n;return null==n?(r.restart(t,n,e),r):(n=+n,e=null==e?Dr():+e,r.restart(function o(u){u+=i,r.restart(o,i+=n,e),t(u)},n,e),r)}function $r(t,n,e,r){function i(n){return t(n=new Date((+n))),n}return i.floor=i,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 u=[];if(e=i.ceil(e),o=null==o?1:Math.floor(o),!(e<r&&o>0))return u;do u.push(new Date((+e)));while(n(e,o),t(e),e<r);return u},i.filter=function(e){return $r(function(n){for(;t(n),!e(n);)n.setTime(n-1)},function(t,r){for(;--r>=0;)for(;n(t,1),!e(t););})},e&&(i.count=function(n,r){return fy.setTime(+n),ly.setTime(+r),t(fy),t(ly),Math.floor(e(fy,ly))},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}function Zr(t){return $r(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-(n.getTimezoneOffset()-t.getTimezoneOffset())*vy)/gy})}function Gr(t){return $r(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)/gy})}function Jr(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)]}function Qr(t){return t=Jr(Math.abs(t)),t?t[1]:NaN}function Kr(t,n){return function(e,r){for(var i=e.length,o=[],u=0,a=t[0],c=0;i>0&&a>0&&(c+a+1>r&&(a=Math.max(1,r-c)),o.push(e.substring(i-=a,i+a)),!((c+=a+1)>r));)a=t[u=(u+1)%t.length];return o.reverse().join(n)}}function ti(t,n){t=t.toPrecision(n);t:for(var e,r=t.length,i=1,o=-1;i<r;++i)switch(t[i]){case".":o=e=i;break;case"0":0===o&&(o=i),e=i;break;case"e":break t;default:o>0&&(o=0)}return o>0?t.slice(0,o)+t.slice(e+1):t}function ni(t,n){var e=Jr(t,n);if(!e)return t+"";var r=e[0],i=e[1],o=i-(dg=3*Math.max(-8,Math.min(8,Math.floor(i/3))))+1,u=r.length;return o===u?r:o>u?r+new Array(o-u+1).join("0"):o>0?r.slice(0,o)+"."+r.slice(o):"0."+new Array(1-o).join("0")+Jr(t,Math.max(0,n+o-1))[0]}function ei(t,n){var e=Jr(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")}function ri(t){return new ii(t)}function ii(t){if(!(n=yg.exec(t)))throw new Error("invalid format: "+t);var n,e=n[1]||" ",r=n[2]||">",i=n[3]||"-",o=n[4]||"",u=!!n[5],a=n[6]&&+n[6],c=!!n[7],s=n[8]&&+n[8].slice(1),f=n[9]||"";"n"===f?(c=!0,f="g"):_g[f]||(f=""),(u||"0"===e&&"="===r)&&(u=!0,e="0",r="="),this.fill=e,this.align=r,this.sign=i,this.symbol=o,this.zero=u,this.width=a,this.comma=c,this.precision=s,this.type=f}function oi(t){return t}function ui(t){function n(t){function n(t){var n,i,c,g=d,m=v;if("c"===p)m=_(t)+m,t="";else{t=+t;var x=(t<0||1/t<0)&&(t*=-1,!0);if(t=_(t,h),x)for(n=-1,i=t.length,x=!1;++n<i;)if(c=t.charCodeAt(n),48<c&&c<58||"x"===p&&96<c&&c<103||"X"===p&&64<c&&c<71){x=!0;break}if(g=(x?"("===a?a:"-":"-"===a||"("===a?"":a)+g,m=m+("s"===p?mg[8+dg/3]:"")+(x&&"("===a?")":""),y)for(n=-1,i=t.length;++n<i;)if(c=t.charCodeAt(n),48>c||c>57){m=(46===c?o+t.slice(n+1):t.slice(n))+m,t=t.slice(0,n);break}}l&&!s&&(t=r(t,1/0));var b=g.length+t.length+m.length,w=b<f?new Array(f-b+1).join(e):"";switch(l&&s&&(t=r(w+t,w.length?f-m.length:1/0),w=""),u){case"<":return g+t+m+w;case"=":return g+w+t+m;case"^":return w.slice(0,b=w.length>>1)+g+t+m+w.slice(b)}return w+g+t+m}t=ri(t);var e=t.fill,u=t.align,a=t.sign,c=t.symbol,s=t.zero,f=t.width,l=t.comma,h=t.precision,p=t.type,d="$"===c?i[0]:"#"===c&&/[boxX]/.test(p)?"0"+p.toLowerCase():"",v="$"===c?i[1]:/[%p]/.test(p)?"%":"",_=_g[p],y=!p||/[defgprs%]/.test(p);return h=null==h?p?6:12:/[gprs]/.test(p)?Math.max(1,Math.min(21,h)):Math.max(0,Math.min(20,h)),n.toString=function(){return t+""},n}function e(t,e){var r=n((t=ri(t),t.type="f",t)),i=3*Math.max(-8,Math.min(8,Math.floor(Qr(e)/3))),o=Math.pow(10,-i),u=mg[8+i/3];return function(t){return r(o*t)+u}}var r=t.grouping&&t.thousands?Kr(t.grouping,t.thousands):oi,i=t.currency,o=t.decimal;return{format:n,formatPrefix:e}}function ai(n){return gg=ui(n),t.format=gg.format,t.formatPrefix=gg.formatPrefix,gg}function ci(t){return Math.max(0,-Qr(Math.abs(t)))}function si(t,n){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(Qr(n)/3)))-Qr(Math.abs(t)))}function fi(t,n){return t=Math.abs(t),n=Math.abs(n)-t,Math.max(0,Qr(n)-Qr(t))+1}function li(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 hi(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 pi(t){return{y:t,m:0,d:1,H:0,M:0,S:0,L:0}}function di(t){function n(t,n){return function(e){var r,i,o,u=[],a=-1,c=0,s=t.length;for(e instanceof Date||(e=new Date((+e)));++a<s;)37===t.charCodeAt(a)&&(u.push(t.slice(c,a)),null!=(i=bg[r=t.charAt(++a)])?r=t.charAt(++a):i="e"===r?" ":"0",(o=n[r])&&(r=o(e,i)),u.push(r),c=a+1);return u.push(t.slice(c,a)),u.join("")}}function e(t,n){return function(e){var i=pi(1900),o=r(i,t,e+="",0);if(o!=e.length)return null;if("p"in i&&(i.H=i.H%12+12*i.p),"W"in i||"U"in i){"w"in i||(i.w="W"in i?1:0);var u="Z"in i?hi(pi(i.y)).getUTCDay():n(pi(i.y)).getDay();i.m=0,i.d="W"in i?(i.w+6)%7+7*i.W-(u+5)%7:i.w+7*i.U-(u+6)%7}return"Z"in i?(i.H+=i.Z/100|0,i.M+=i.Z%100,hi(i)):n(i)}}function r(t,n,e,r){for(var i,o,u=0,a=n.length,c=e.length;u<a;){if(r>=c)return-1;if(i=n.charCodeAt(u++),37===i){if(i=n.charAt(u++),o=B[i in bg?n.charAt(u++):i],!o||(r=o(t,e,r))<0)return-1}else if(i!=e.charCodeAt(r++))return-1}return r}function i(t,n,e){var r=C.exec(n.slice(e));return r?(t.p=z[r[0].toLowerCase()],e+r[0].length):-1}function o(t,n,e){var r=q.exec(n.slice(e));return r?(t.w=U[r[0].toLowerCase()],e+r[0].length):-1}function u(t,n,e){var r=P.exec(n.slice(e));return r?(t.w=L[r[0].toLowerCase()],e+r[0].length):-1}function a(t,n,e){var r=O.exec(n.slice(e));return r?(t.m=F[r[0].toLowerCase()],e+r[0].length):-1}function c(t,n,e){var r=R.exec(n.slice(e));return r?(t.m=D[r[0].toLowerCase()],e+r[0].length):-1}function s(t,n,e){return r(t,w,n,e)}function f(t,n,e){return r(t,M,n,e)}function l(t,n,e){return r(t,T,n,e)}function h(t){return S[t.getDay()]}function p(t){return N[t.getDay()]}function d(t){return A[t.getMonth()]}function v(t){return E[t.getMonth()]}function _(t){return k[+(t.getHours()>=12)]}function y(t){return S[t.getUTCDay()]}function g(t){return N[t.getUTCDay()]}function m(t){return A[t.getUTCMonth()]}function x(t){return E[t.getUTCMonth()]}function b(t){return k[+(t.getUTCHours()>=12)]}var w=t.dateTime,M=t.date,T=t.time,k=t.periods,N=t.days,S=t.shortDays,E=t.months,A=t.shortMonths,C=yi(k),z=gi(k),P=yi(N),L=gi(N),q=yi(S),U=gi(S),R=yi(E),D=gi(E),O=yi(A),F=gi(A),I={a:h,A:p,b:d,B:v,c:null,d:Li,e:Li,H:qi,I:Ui,j:Ri,L:Di,m:Oi,M:Fi,p:_,S:Ii,U:Yi,w:Bi,W:ji,x:null,X:null,y:Hi,Y:Xi,Z:Vi,"%":ao},Y={a:y,A:g,b:m,B:x,c:null,d:Wi,e:Wi,H:$i,I:Zi,j:Gi,L:Ji,m:Qi,M:Ki,p:b,S:to,U:no,w:eo,W:ro,x:null,X:null,y:io,Y:oo,Z:uo,"%":ao},B={a:o,A:u,b:a,B:c,c:s,d:Ni,e:Ni,H:Ei,I:Ei,j:Si,L:zi,m:ki,M:Ai,p:i,S:Ci,U:xi,w:mi,W:bi,x:f,X:l,y:Mi,Y:wi,Z:Ti,"%":Pi};return I.x=n(M,I),I.X=n(T,I),I.c=n(w,I),Y.x=n(M,Y),Y.X=n(T,Y),Y.c=n(w,Y),{format:function(t){var e=n(t+="",I);return e.toString=function(){return t},e},parse:function(t){var n=e(t+="",li);return n.toString=function(){return t},n},utcFormat:function(t){var e=n(t+="",Y);return e.toString=function(){return t},e},utcParse:function(t){var n=e(t,hi);return n.toString=function(){return t},n}}}function vi(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 _i(t){return t.replace(Tg,"\\$&")}function yi(t){return new RegExp("^(?:"+t.map(_i).join("|")+")","i")}function gi(t){for(var n={},e=-1,r=t.length;++e<r;)n[t[e].toLowerCase()]=e;return n}function mi(t,n,e){var r=wg.exec(n.slice(e,e+1));return r?(t.w=+r[0],e+r[0].length):-1}function xi(t,n,e){var r=wg.exec(n.slice(e));return r?(t.U=+r[0],e+r[0].length):-1}function bi(t,n,e){var r=wg.exec(n.slice(e));return r?(t.W=+r[0],e+r[0].length):-1}function wi(t,n,e){var r=wg.exec(n.slice(e,e+4));return r?(t.y=+r[0],e+r[0].length):-1}function Mi(t,n,e){var r=wg.exec(n.slice(e,e+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),e+r[0].length):-1}function Ti(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 ki(t,n,e){var r=wg.exec(n.slice(e,e+2));return r?(t.m=r[0]-1,e+r[0].length):-1}function Ni(t,n,e){var r=wg.exec(n.slice(e,e+2));return r?(t.d=+r[0],e+r[0].length):-1}function Si(t,n,e){var r=wg.exec(n.slice(e,e+3));return r?(t.m=0,t.d=+r[0],e+r[0].length):-1}function Ei(t,n,e){var r=wg.exec(n.slice(e,e+2));return r?(t.H=+r[0],e+r[0].length):-1}function Ai(t,n,e){var r=wg.exec(n.slice(e,e+2));return r?(t.M=+r[0],e+r[0].length):-1}function Ci(t,n,e){var r=wg.exec(n.slice(e,e+2));return r?(t.S=+r[0],e+r[0].length):-1}function zi(t,n,e){var r=wg.exec(n.slice(e,e+3));return r?(t.L=+r[0],e+r[0].length):-1}function Pi(t,n,e){var r=Mg.exec(n.slice(e,e+1));return r?e+r[0].length:-1}function Li(t,n){return vi(t.getDate(),n,2)}function qi(t,n){return vi(t.getHours(),n,2)}function Ui(t,n){return vi(t.getHours()%12||12,n,2)}function Ri(t,n){return vi(1+ky.count(jy(t),t),n,3)}function Di(t,n){return vi(t.getMilliseconds(),n,3)}function Oi(t,n){return vi(t.getMonth()+1,n,2)}function Fi(t,n){return vi(t.getMinutes(),n,2)}function Ii(t,n){return vi(t.getSeconds(),n,2)}function Yi(t,n){return vi(Sy.count(jy(t),t),n,2)}function Bi(t){return t.getDay()}function ji(t,n){return vi(Ey.count(jy(t),t),n,2)}function Hi(t,n){return vi(t.getFullYear()%100,n,2)}function Xi(t,n){return vi(t.getFullYear()%1e4,n,4)}function Vi(t){var n=t.getTimezoneOffset();return(n>0?"-":(n*=-1,"+"))+vi(n/60|0,"0",2)+vi(n%60,"0",2)}function Wi(t,n){return vi(t.getUTCDate(),n,2)}function $i(t,n){return vi(t.getUTCHours(),n,2)}function Zi(t,n){return vi(t.getUTCHours()%12||12,n,2)}function Gi(t,n){return vi(1+Zy.count(pg(t),t),n,3)}function Ji(t,n){return vi(t.getUTCMilliseconds(),n,3)}function Qi(t,n){return vi(t.getUTCMonth()+1,n,2)}function Ki(t,n){return vi(t.getUTCMinutes(),n,2)}function to(t,n){return vi(t.getUTCSeconds(),n,2)}function no(t,n){return vi(Jy.count(pg(t),t),n,2)}function eo(t){return t.getUTCDay()}function ro(t,n){return vi(Qy.count(pg(t),t),n,2)}function io(t,n){return vi(t.getUTCFullYear()%100,n,2)}function oo(t,n){return vi(t.getUTCFullYear()%1e4,n,4)}function uo(){return"+0000"}function ao(){return"%"}function co(n){return xg=di(n),t.timeFormat=xg.format,t.timeParse=xg.parse,t.utcFormat=xg.utcFormat,t.utcParse=xg.utcParse,xg}function so(t){return t.toISOString()}function fo(t){var n=new Date(t);return isNaN(n)?null:n}function lo(t){function n(n){var o=n+"",u=e.get(o);if(!u){if(i!==zg)return i;e.set(o,u=r.push(n))}return t[(u-1)%t.length]}var e=L(),r=[],i=zg;return t=null==t?[]:Cg.call(t),n.domain=function(t){if(!arguments.length)return r.slice();r=[],e=L();for(var i,o,u=-1,a=t.length;++u<a;)e.has(o=(i=t[u])+"")||e.set(o,r.push(i));return n},n.range=function(e){return arguments.length?(t=Cg.call(e),n):t.slice()},n.unknown=function(t){return arguments.length?(i=t,n):i},n.copy=function(){return lo().domain(r).range(t).unknown(i)},n}function ho(){function t(){var t=i().length,r=u[1]<u[0],h=u[r-0],p=u[1-r];n=(p-h)/Math.max(1,t-c+2*s),a&&(n=Math.floor(n)),h+=(p-h-n*(t-c))*f,e=n*(1-c),a&&(h=Math.round(h),e=Math.round(e));var d=l(t).map(function(t){return h+n*t});return o(r?d.reverse():d)}var n,e,r=lo().unknown(void 0),i=r.domain,o=r.range,u=[0,1],a=!1,c=0,s=0,f=.5;return delete r.unknown,r.domain=function(n){return arguments.length?(i(n),t()):i()},r.range=function(n){return arguments.length?(u=[+n[0],+n[1]],t()):u.slice()},r.rangeRound=function(n){return u=[+n[0],+n[1]],a=!0,t()},r.bandwidth=function(){return e},r.step=function(){return n},r.round=function(n){return arguments.length?(a=!!n,t()):a},r.padding=function(n){return arguments.length?(c=s=Math.max(0,Math.min(1,n)),t()):c},r.paddingInner=function(n){return arguments.length?(c=Math.max(0,Math.min(1,n)),t()):c},r.paddingOuter=function(n){return arguments.length?(s=Math.max(0,Math.min(1,n)),t()):s},r.align=function(n){return arguments.length?(f=Math.max(0,Math.min(1,n)),t()):f},r.copy=function(){return ho().domain(i()).range(u).round(a).paddingInner(c).paddingOuter(s).align(f)},t()}function po(t){var n=t.copy;return t.padding=t.paddingOuter,delete t.paddingInner,delete t.paddingOuter,t.copy=function(){return po(n())},t}function vo(){return po(ho().paddingInner(1))}function _o(t){return function(){return t}}function yo(t){return+t}function go(t,n){return(n-=t=+t)?function(e){return(e-t)/n}:_o(n)}function mo(t){return function(n,e){var r=t(n=+n,e=+e);return function(t){return t<=n?0:t>=e?1:r(t)}}}function xo(t){return function(n,e){var r=t(n=+n,e=+e);return function(t){return t<=0?n:t>=1?e:r(t)}}}function bo(t,n,e,r){var i=t[0],o=t[1],u=n[0],a=n[1];return o<i?(i=e(o,i),u=r(a,u)):(i=e(i,o),u=r(u,a)),function(t){return u(i(t))}}function wo(t,n,e,r){var i=Math.min(t.length,n.length)-1,o=new Array(i),u=new Array(i),a=-1;for(t[i]<t[0]&&(t=t.slice().reverse(),n=n.slice().reverse());++a<i;)o[a]=e(t[a],t[a+1]),u[a]=r(n[a],n[a+1]);return function(n){var e=yd(t,n,1,i)-1;return u[e](o[e](n))}}function Mo(t,n){return n.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp())}function To(t,n){function e(){return i=Math.min(a.length,c.length)>2?wo:bo,o=u=null,r}function r(n){return(o||(o=i(a,c,f?mo(t):t,s)))(+n)}var i,o,u,a=Pg,c=Pg,s=ar,f=!1;return r.invert=function(t){return(u||(u=i(c,a,go,f?xo(n):n)))(+t)},r.domain=function(t){return arguments.length?(a=Ag.call(t,yo),e()):a.slice()},r.range=function(t){return arguments.length?(c=Cg.call(t),e()):c.slice()},r.rangeRound=function(t){return c=Cg.call(t),s=cr,e()},r.clamp=function(t){return arguments.length?(f=!!t,e()):f},r.interpolate=function(t){return arguments.length?(s=t,e()):s},e()}function ko(n,e,r){var i,o=n[0],u=n[n.length-1],a=p(o,u,null==e?10:e);switch(r=ri(null==r?",f":r),r.type){case"s":var c=Math.max(Math.abs(o),Math.abs(u));return null!=r.precision||isNaN(i=si(a,c))||(r.precision=i),t.formatPrefix(r,c);case"":case"e":case"g":case"p":case"r":null!=r.precision||isNaN(i=fi(a,Math.max(Math.abs(o),Math.abs(u))))||(r.precision=i-("e"===r.type));break;case"f":case"%":null!=r.precision||isNaN(i=ci(a))||(r.precision=i-2*("%"===r.type))}return t.format(r)}function No(t){var n=t.domain;return t.ticks=function(t){var e=n();return h(e[0],e[e.length-1],null==t?10:t)},t.tickFormat=function(t,e){return ko(n(),t,e)},t.nice=function(e){var r=n(),i=r.length-1,o=null==e?10:e,u=r[0],a=r[i],c=p(u,a,o);return c&&(c=p(Math.floor(u/c)*c,Math.ceil(a/c)*c,o),r[0]=Math.floor(u/c)*c,r[i]=Math.ceil(a/c)*c,n(r)),t},t}function So(){var t=To(go,er);return t.copy=function(){return Mo(t,So())},No(t)}function Eo(){function t(t){return+t}var n=[0,1];return t.invert=t,t.domain=t.range=function(e){return arguments.length?(n=Ag.call(e,yo),t):n.slice()},t.copy=function(){return Eo().domain(n)},No(t)}function Ao(t,n){t=t.slice();var e,r=0,i=t.length-1,o=t[r],u=t[i];return u<o&&(e=r,r=i,i=e,e=o,o=u,u=e),t[r]=n.floor(o),t[i]=n.ceil(u),t}function Co(t,n){return(n=Math.log(n/t))?function(e){return Math.log(e/t)/n}:_o(n)}function zo(t,n){return t<0?function(e){return-Math.pow(-n,e)*Math.pow(-t,1-e)}:function(e){return Math.pow(n,e)*Math.pow(t,1-e)}}function Po(t){return isFinite(t)?+("1e"+t):t<0?0:t}function Lo(t){return 10===t?Po:t===Math.E?Math.exp:function(n){return Math.pow(t,n)}}function qo(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})}function Uo(t){return function(n){return-t(-n)}}function Ro(){function n(){return o=qo(i),u=Lo(i),r()[0]<0&&(o=Uo(o),u=Uo(u)),e}var e=To(Co,zo).domain([1,10]),r=e.domain,i=10,o=qo(10),u=Lo(10);return e.base=function(t){return arguments.length?(i=+t,n()):i},e.domain=function(t){return arguments.length?(r(t),n()):r()},e.ticks=function(t){var n,e=r(),a=e[0],c=e[e.length-1];(n=c<a)&&(p=a,a=c,c=p);var s,f,l,p=o(a),d=o(c),v=null==t?10:+t,_=[];if(!(i%1)&&d-p<v){if(p=Math.round(p)-1,d=Math.round(d)+1,a>0){for(;p<d;++p)for(f=1,s=u(p);f<i;++f)if(l=s*f,!(l<a)){if(l>c)break;_.push(l)}}else for(;p<d;++p)for(f=i-1,s=u(p);f>=1;--f)if(l=s*f,!(l<a)){if(l>c)break;_.push(l)}}else _=h(p,d,Math.min(d-p,v)).map(u);return n?_.reverse():_},e.tickFormat=function(n,r){if(null==r&&(r=10===i?".0e":","),"function"!=typeof r&&(r=t.format(r)),n===1/0)return r;null==n&&(n=10);var a=Math.max(1,i*n/e.ticks().length);return function(t){var n=t/u(Math.round(o(t)));return n*i<i-.5&&(n*=i),n<=a?r(t):""}},e.nice=function(){return r(Ao(r(),{floor:function(t){return u(Math.floor(o(t)))},ceil:function(t){return u(Math.ceil(o(t)))}}))},e.copy=function(){return Mo(e,Ro().base(i))},e}function Do(t,n){return t<0?-Math.pow(-t,n):Math.pow(t,n)}function Oo(){function t(t,n){return(n=Do(n,e)-(t=Do(t,e)))?function(r){return(Do(r,e)-t)/n}:_o(n)}function n(t,n){return n=Do(n,e)-(t=Do(t,e)),function(r){return Do(t+n*r,1/e)}}var e=1,r=To(t,n),i=r.domain;return r.exponent=function(t){return arguments.length?(e=+t,i(i())):e},r.copy=function(){return Mo(r,Oo().exponent(e))},No(r)}function Fo(){return Oo().exponent(.5)}function Io(){function t(){var t=0,n=Math.max(1,i.length);for(o=new Array(n-1);++t<n;)o[t-1]=_(r,t/n);return e}function e(t){if(!isNaN(t=+t))return i[yd(o,t)]}var r=[],i=[],o=[];return e.invertExtent=function(t){var n=i.indexOf(t);return n<0?[NaN,NaN]:[n>0?o[n-1]:r[0],n<o.length?o[n]:r[r.length-1]]},e.domain=function(e){if(!arguments.length)return r.slice();r=[];for(var i,o=0,u=e.length;o<u;++o)i=e[o],null==i||isNaN(i=+i)||r.push(i);return r.sort(n),t()},e.range=function(n){return arguments.length?(i=Cg.call(n),t()):i.slice()},e.quantiles=function(){return o.slice()},e.copy=function(){return Io().domain(r).range(i)},e}function Yo(){function t(t){if(t<=t)return u[yd(o,t,0,i)]}function n(){var n=-1;for(o=new Array(i);++n<i;)o[n]=((n+1)*r-(n-i)*e)/(i+1);return t}var e=0,r=1,i=1,o=[.5],u=[0,1];return t.domain=function(t){return arguments.length?(e=+t[0],r=+t[1],n()):[e,r]},t.range=function(t){return arguments.length?(i=(u=Cg.call(t)).length-1,n()):u.slice()},t.invertExtent=function(t){var n=u.indexOf(t);return n<0?[NaN,NaN]:n<1?[e,o[0]]:n>=i?[o[i-1],r]:[o[n-1],o[n]]},t.copy=function(){return Yo().domain([e,r]).range(u)},No(t)}function Bo(){function t(t){if(t<=t)return e[yd(n,t,0,r)]}var n=[.5],e=[0,1],r=1;return t.domain=function(i){return arguments.length?(n=Cg.call(i),r=Math.min(n.length,e.length-1),t):n.slice()},t.range=function(i){return arguments.length?(e=Cg.call(i),r=Math.min(n.length,e.length-1),t):e.slice()},t.invertExtent=function(t){var r=e.indexOf(t);return[n[r-1],n[r]]},t.copy=function(){return Bo().domain(n).range(e)},t}function jo(t){return new Date(t)}function Ho(t){return t instanceof Date?+t:+new Date((+t))}function Xo(t,n,r,i,o,u,a,c,s){function f(e){return(a(e)<e?_:u(e)<e?y:o(e)<e?g:i(e)<e?m:n(e)<e?r(e)<e?x:b:t(e)<e?w:M)(e)}function l(n,r,i,o){if(null==n&&(n=10),"number"==typeof n){var u=Math.abs(i-r)/n,a=e(function(t){return t[2]}).right(T,u);a===T.length?(o=p(r/Fg,i/Fg,n),n=t):a?(a=T[u/T[a-1][2]<T[a][2]/u?a-1:a],o=a[1],n=a[0]):(o=p(r,i,n),n=c)}return null==o?n:n.every(o)}var h=To(go,er),d=h.invert,v=h.domain,_=s(".%L"),y=s(":%S"),g=s("%I:%M"),m=s("%I %p"),x=s("%a %d"),b=s("%b %d"),w=s("%B"),M=s("%Y"),T=[[a,1,Lg],[a,5,5*Lg],[a,15,15*Lg],[a,30,30*Lg],[u,1,qg],[u,5,5*qg],[u,15,15*qg],[u,30,30*qg],[o,1,Ug],[o,3,3*Ug],[o,6,6*Ug],[o,12,12*Ug],[i,1,Rg],[i,2,2*Rg],[r,1,Dg],[n,1,Og],[n,3,3*Og],[t,1,Fg]];return h.invert=function(t){return new Date(d(t))},h.domain=function(t){return arguments.length?v(Ag.call(t,Ho)):v().map(jo)},h.ticks=function(t,n){var e,r=v(),i=r[0],o=r[r.length-1],u=o<i;return u&&(e=i,i=o,o=e),e=l(t,i,o,n),e=e?e.range(i,o+1):[],u?e.reverse():e},h.tickFormat=function(t,n){return null==n?f:s(n)},h.nice=function(t,n){var e=v();return(t=l(t,e[0],e[e.length-1],n))?v(Ao(e,t)):h},h.copy=function(){return Mo(h,Xo(t,n,r,i,o,u,a,c,s))},h}function Vo(){return Xo(jy,Yy,Sy,ky,My,by,my,hy,t.timeFormat).domain([new Date(2e3,0,1),new Date(2e3,0,2)])}function Wo(){return Xo(pg,lg,Jy,Zy,Wy,Xy,my,hy,t.utcFormat).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)])}function $o(t){return t.match(/.{6}/g).map(function(t){return"#"+t})}function Zo(t){(t<0||t>1)&&(t-=Math.floor(t));var n=Math.abs(t-.5);return Wg.h=360*t-100,Wg.s=1.5-1.5*n,Wg.l=.8-.9*n,Wg+""}function Go(t){var n=t.length;return function(e){return t[Math.max(0,Math.min(n-1,Math.floor(e*n)))]}}function Jo(t){function n(n){var o=(n-e)/(r-e);return t(i?Math.max(0,Math.min(1,o)):o)}var e=0,r=1,i=!1;return n.domain=function(t){return arguments.length?(e=+t[0],r=+t[1],n):[e,r]},n.clamp=function(t){return arguments.length?(i=!!t,n):i},n.interpolator=function(e){return arguments.length?(t=e,n):t},n.copy=function(){return Jo(t).domain([e,r]).clamp(i)},No(n)}function Qo(t){var n=t+="",e=n.indexOf(":");return e>=0&&"xmlns"!==(n=t.slice(0,e))&&(t=t.slice(e+1)),Kg.hasOwnProperty(n)?{space:Kg[n],local:t}:t}function Ko(t){return function(){var n=this.ownerDocument,e=this.namespaceURI;return e===Qg&&n.documentElement.namespaceURI===Qg?n.createElement(t):n.createElementNS(e,t)}}function tu(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function nu(t){var n=Qo(t);return(n.local?tu:Ko)(n)}function eu(){return new ru}function ru(){this._="@"+(++tm).toString(36)}function iu(t,n,e){return t=ou(t,n,e),function(n){var e=n.relatedTarget;e&&(e===this||8&e.compareDocumentPosition(this))||t.call(this,n)}}function ou(n,e,r){return function(i){var o=t.event;t.event=i;try{n.call(this,this.__data__,e,r)}finally{t.event=o}}}function uu(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 au(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 cu(t,n,e){
+var r=om.hasOwnProperty(t.type)?iu:ou;return function(i,o,u){var a,c=this.__on,s=r(n,o,u);if(c)for(var f=0,l=c.length;f<l;++f)if((a=c[f]).type===t.type&&a.name===t.name)return this.removeEventListener(a.type,a.listener,a.capture),this.addEventListener(a.type,a.listener=s,a.capture=e),void(a.value=n);this.addEventListener(t.type,s,e),a={type:t.type,name:t.name,value:n,listener:s,capture:e},c?c.push(a):this.__on=[a]}}function su(t,n,e){var r,i,o=uu(t+""),u=o.length;{if(!(arguments.length<2)){for(a=n?cu:au,null==e&&(e=!1),r=0;r<u;++r)this.each(a(o[r],n,e));return this}var a=this.node().__on;if(a)for(var c,s=0,f=a.length;s<f;++s)for(r=0,c=a[s];r<u;++r)if((i=o[r]).type===c.type&&i.name===c.name)return c.value}}function fu(n,e,r,i){var o=t.event;n.sourceEvent=t.event,t.event=n;try{return e.apply(r,i)}finally{t.event=o}}function lu(){for(var n,e=t.event;n=e.sourceEvent;)e=n;return e}function hu(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()),[r.x,r.y]}var i=t.getBoundingClientRect();return[n.clientX-i.left-t.clientLeft,n.clientY-i.top-t.clientTop]}function pu(t){var n=lu();return n.changedTouches&&(n=n.changedTouches[0]),hu(t,n)}function du(){}function vu(t){return null==t?du:function(){return this.querySelector(t)}}function _u(t){"function"!=typeof t&&(t=vu(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o,u,a=n[i],c=a.length,s=r[i]=new Array(c),f=0;f<c;++f)(o=a[f])&&(u=t.call(o,o.__data__,f,a))&&("__data__"in o&&(u.__data__=o.__data__),s[f]=u);return new Pa(r,this._parents)}function yu(){return[]}function gu(t){return null==t?yu:function(){return this.querySelectorAll(t)}}function mu(t){"function"!=typeof t&&(t=gu(t));for(var n=this._groups,e=n.length,r=[],i=[],o=0;o<e;++o)for(var u,a=n[o],c=a.length,s=0;s<c;++s)(u=a[s])&&(r.push(t.call(u,u.__data__,s,a)),i.push(u));return new Pa(r,i)}function xu(t){"function"!=typeof t&&(t=im(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o,u=n[i],a=u.length,c=r[i]=[],s=0;s<a;++s)(o=u[s])&&t.call(o,o.__data__,s,u)&&c.push(o);return new Pa(r,this._parents)}function bu(t){return new Array(t.length)}function wu(){return new Pa(this._enter||this._groups.map(bu),this._parents)}function Mu(t,n){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=n}function Tu(t){return function(){return t}}function ku(t,n,e,r,i,o){for(var u,a=0,c=n.length,s=o.length;a<s;++a)(u=n[a])?(u.__data__=o[a],r[a]=u):e[a]=new Mu(t,o[a]);for(;a<c;++a)(u=n[a])&&(i[a]=u)}function Nu(t,n,e,r,i,o,u){var a,c,s,f={},l=n.length,h=o.length,p=new Array(l);for(a=0;a<l;++a)(c=n[a])&&(p[a]=s=am+u.call(c,c.__data__,a,n),s in f?i[a]=c:f[s]=c);for(a=0;a<h;++a)s=am+u.call(t,o[a],a,o),(c=f[s])?(r[a]=c,c.__data__=o[a],f[s]=null):e[a]=new Mu(t,o[a]);for(a=0;a<l;++a)(c=n[a])&&f[p[a]]===c&&(i[a]=c)}function Su(t,n){if(!t)return p=new Array(this.size()),s=-1,this.each(function(t){p[++s]=t}),p;var e=n?Nu:ku,r=this._parents,i=this._groups;"function"!=typeof t&&(t=Tu(t));for(var o=i.length,u=new Array(o),a=new Array(o),c=new Array(o),s=0;s<o;++s){var f=r[s],l=i[s],h=l.length,p=t.call(f,f&&f.__data__,s,r),d=p.length,v=a[s]=new Array(d),_=u[s]=new Array(d),y=c[s]=new Array(h);e(f,l,v,_,y,p,n);for(var g,m,x=0,b=0;x<d;++x)if(g=v[x]){for(x>=b&&(b=x+1);!(m=_[b])&&++b<d;);g._next=m||null}}return u=new Pa(u,r),u._enter=a,u._exit=c,u}function Eu(){return new Pa(this._exit||this._groups.map(bu),this._parents)}function Au(t){for(var n=this._groups,e=t._groups,r=n.length,i=e.length,o=Math.min(r,i),u=new Array(r),a=0;a<o;++a)for(var c,s=n[a],f=e[a],l=s.length,h=u[a]=new Array(l),p=0;p<l;++p)(c=s[p]||f[p])&&(h[p]=c);for(;a<r;++a)u[a]=n[a];return new Pa(u,this._parents)}function Cu(){for(var t=this._groups,n=-1,e=t.length;++n<e;)for(var r,i=t[n],o=i.length-1,u=i[o];--o>=0;)(r=i[o])&&(u&&u!==r.nextSibling&&u.parentNode.insertBefore(r,u),u=r);return this}function zu(t){function n(n,e){return n&&e?t(n.__data__,e.__data__):!n-!e}t||(t=Pu);for(var e=this._groups,r=e.length,i=new Array(r),o=0;o<r;++o){for(var u,a=e[o],c=a.length,s=i[o]=new Array(c),f=0;f<c;++f)(u=a[f])&&(s[f]=u);s.sort(n)}return new Pa(i,this._parents).order()}function Pu(t,n){return t<n?-1:t>n?1:t>=n?0:NaN}function Lu(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function qu(){var t=new Array(this.size()),n=-1;return this.each(function(){t[++n]=this}),t}function Uu(){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 u=r[i];if(u)return u}return null}function Ru(){var t=0;return this.each(function(){++t}),t}function Du(){return!this.node()}function Ou(t){for(var n=this._groups,e=0,r=n.length;e<r;++e)for(var i,o=n[e],u=0,a=o.length;u<a;++u)(i=o[u])&&t.call(i,i.__data__,u,o);return this}function Fu(t){return function(){this.removeAttribute(t)}}function Iu(t){return function(){this.removeAttributeNS(t.space,t.local)}}function Yu(t,n){return function(){this.setAttribute(t,n)}}function Bu(t,n){return function(){this.setAttributeNS(t.space,t.local,n)}}function ju(t,n){return function(){var e=n.apply(this,arguments);null==e?this.removeAttribute(t):this.setAttribute(t,e)}}function Hu(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)}}function Xu(t,n){var e=Qo(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?Iu:Fu:"function"==typeof n?e.local?Hu:ju:e.local?Bu:Yu)(e,n))}function Vu(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function Wu(t){return function(){this.style.removeProperty(t)}}function $u(t,n,e){return function(){this.style.setProperty(t,n,e)}}function Zu(t,n,e){return function(){var r=n.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,e)}}function Gu(t,n,e){var r;return arguments.length>1?this.each((null==n?Wu:"function"==typeof n?Zu:$u)(t,n,null==e?"":e)):Vu(r=this.node()).getComputedStyle(r,null).getPropertyValue(t)}function Ju(t){return function(){delete this[t]}}function Qu(t,n){return function(){this[t]=n}}function Ku(t,n){return function(){var e=n.apply(this,arguments);null==e?delete this[t]:this[t]=e}}function ta(t,n){return arguments.length>1?this.each((null==n?Ju:"function"==typeof n?Ku:Qu)(t,n)):this.node()[t]}function na(t){return t.trim().split(/^|\s+/)}function ea(t){return t.classList||new ra(t)}function ra(t){this._node=t,this._names=na(t.getAttribute("class")||"")}function ia(t,n){for(var e=ea(t),r=-1,i=n.length;++r<i;)e.add(n[r])}function oa(t,n){for(var e=ea(t),r=-1,i=n.length;++r<i;)e.remove(n[r])}function ua(t){return function(){ia(this,t)}}function aa(t){return function(){oa(this,t)}}function ca(t,n){return function(){(n.apply(this,arguments)?ia:oa)(this,t)}}function sa(t,n){var e=na(t+"");if(arguments.length<2){for(var r=ea(this.node()),i=-1,o=e.length;++i<o;)if(!r.contains(e[i]))return!1;return!0}return this.each(("function"==typeof n?ca:n?ua:aa)(e,n))}function fa(){this.textContent=""}function la(t){return function(){this.textContent=t}}function ha(t){return function(){var n=t.apply(this,arguments);this.textContent=null==n?"":n}}function pa(t){return arguments.length?this.each(null==t?fa:("function"==typeof t?ha:la)(t)):this.node().textContent}function da(){this.innerHTML=""}function va(t){return function(){this.innerHTML=t}}function _a(t){return function(){var n=t.apply(this,arguments);this.innerHTML=null==n?"":n}}function ya(t){return arguments.length?this.each(null==t?da:("function"==typeof t?_a:va)(t)):this.node().innerHTML}function ga(){this.nextSibling&&this.parentNode.appendChild(this)}function ma(){return this.each(ga)}function xa(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function ba(){return this.each(xa)}function wa(t){var n="function"==typeof t?t:nu(t);return this.select(function(){return this.appendChild(n.apply(this,arguments))})}function Ma(){return null}function Ta(t,n){var e="function"==typeof t?t:nu(t),r=null==n?Ma:"function"==typeof n?n:vu(n);return this.select(function(){return this.insertBefore(e.apply(this,arguments),r.apply(this,arguments)||null)})}function ka(){var t=this.parentNode;t&&t.removeChild(this)}function Na(){return this.each(ka)}function Sa(t){return arguments.length?this.property("__data__",t):this.node().__data__}function Ea(t,n,e){var r=Vu(t),i=r.CustomEvent;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 Aa(t,n){return function(){return Ea(this,t,n)}}function Ca(t,n){return function(){return Ea(this,t,n.apply(this,arguments))}}function za(t,n){return this.each(("function"==typeof n?Ca:Aa)(t,n))}function Pa(t,n){this._groups=t,this._parents=n}function La(){return new Pa([[document.documentElement]],cm)}function qa(t){return"string"==typeof t?new Pa([[document.querySelector(t)]],[document.documentElement]):new Pa([[t]],cm)}function Ua(t){return"string"==typeof t?new Pa([document.querySelectorAll(t)],[document.documentElement]):new Pa([null==t?[]:t],cm)}function Ra(t,n,e){arguments.length<3&&(e=n,n=lu().changedTouches);for(var r,i=0,o=n?n.length:0;i<o;++i)if((r=n[i]).identifier===e)return hu(t,r);return null}function Da(t,n){null==n&&(n=lu().touches);for(var e=0,r=n?n.length:0,i=new Array(r);e<r;++e)i[e]=hu(t,n[e]);return i}function Oa(t,n,e,r,i,o){var u=t.__transition;if(u){if(e in u)return}else t.__transition={};Ba(t,e,{name:n,index:r,group:i,on:sm,tween:fm,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:lm})}function Fa(t,n){var e=t.__transition;if(!e||!(e=e[n])||e.state>lm)throw new Error("too late");return e}function Ia(t,n){var e=t.__transition;if(!e||!(e=e[n])||e.state>pm)throw new Error("too late");return e}function Ya(t,n){var e=t.__transition;if(!e||!(e=e[n]))throw new Error("too late");return e}function Ba(t,n,e){function r(t){e.state=hm,e.delay<=t?i(t-e.delay):e.timer.restart(i,e.delay,e.time)}function i(r){var i,c,s,f;for(i in a)f=a[i],f.name===e.name&&(f.state===dm?(f.state=_m,f.timer.stop(),f.on.call("interrupt",t,t.__data__,f.index,f.group),delete a[i]):+i<n&&(f.state=_m,f.timer.stop(),delete a[i]));if(Vr(function(){e.state===dm&&(e.timer.restart(o,e.delay,e.time),o(r))}),e.state=pm,e.on.call("start",t,t.__data__,e.index,e.group),e.state===pm){for(e.state=dm,u=new Array(s=e.tween.length),i=0,c=-1;i<s;++i)(f=e.tween[i].value.call(t,t.__data__,e.index,e.group))&&(u[++c]=f);u.length=c+1}}function o(r){for(var i=r<e.duration?e.ease.call(null,r/e.duration):(e.state=vm,1),o=-1,c=u.length;++o<c;)u[o].call(null,i);if(e.state===vm){e.state=_m,e.timer.stop(),e.on.call("end",t,t.__data__,e.index,e.group);for(o in a)if(+o!==n)return void delete a[n];delete t.__transition}}var u,a=t.__transition;a[n]=e,e.timer=Ir(r,0,e.time)}function ja(t,n){var e,r,i,o=t.__transition,u=!0;if(o){n=null==n?null:n+"";for(i in o)(e=o[i]).name===n?(r=e.state===dm,e.state=_m,e.timer.stop(),r&&e.on.call("interrupt",t,t.__data__,e.index,e.group),delete o[i]):u=!1;u&&delete t.__transition}}function Ha(t){return this.each(function(){ja(this,t)})}function Xa(t,n){var e,r;return function(){var i=Ia(this,t),o=i.tween;if(o!==e){r=e=o;for(var u=0,a=r.length;u<a;++u)if(r[u].name===n){r=r.slice(),r.splice(u,1);break}}i.tween=r}}function Va(t,n,e){var r,i;if("function"!=typeof e)throw new Error;return function(){var o=Ia(this,t),u=o.tween;if(u!==r){i=(r=u).slice();for(var a={name:n,value:e},c=0,s=i.length;c<s;++c)if(i[c].name===n){i[c]=a;break}c===s&&i.push(a)}o.tween=i}}function Wa(t,n){var e=this._id;if(t+="",arguments.length<2){for(var r,i=Ya(this.node(),e).tween,o=0,u=i.length;o<u;++o)if((r=i[o]).name===t)return r.value;return null}return this.each((null==n?Xa:Va)(e,t,n))}function $a(t,n,e){var r=t._id;return t.each(function(){var t=Ia(this,r);(t.value||(t.value={}))[n]=e.apply(this,arguments)}),function(t){return Ya(t,r).value[n]}}function Za(t,n){var e;return("number"==typeof n?er:n instanceof be?y_:(e=be(n))?(n=e,y_):ur)(t,n)}function Ga(t){return function(){this.removeAttribute(t)}}function Ja(t){return function(){this.removeAttributeNS(t.space,t.local)}}function Qa(t,n,e){var r,i;return function(){var o=this.getAttribute(t);return o===e?null:o===r?i:i=n(r=o,e)}}function Ka(t,n,e){var r,i;return function(){var o=this.getAttributeNS(t.space,t.local);return o===e?null:o===r?i:i=n(r=o,e)}}function tc(t,n,e){var r,i,o;return function(){var u,a=e(this);return null==a?void this.removeAttribute(t):(u=this.getAttribute(t),u===a?null:u===r&&a===i?o:o=n(r=u,i=a))}}function nc(t,n,e){var r,i,o;return function(){var u,a=e(this);return null==a?void this.removeAttributeNS(t.space,t.local):(u=this.getAttributeNS(t.space,t.local),u===a?null:u===r&&a===i?o:o=n(r=u,i=a))}}function ec(t,n){var e=Qo(t),r="transform"===e?k_:Za;return this.attrTween(t,"function"==typeof n?(e.local?nc:tc)(e,r,$a(this,"attr."+t,n)):null==n?(e.local?Ja:Ga)(e):(e.local?Ka:Qa)(e,r,n))}function rc(t,n){function e(){var e=this,r=n.apply(e,arguments);return r&&function(n){e.setAttributeNS(t.space,t.local,r(n))}}return e._value=n,e}function ic(t,n){function e(){var e=this,r=n.apply(e,arguments);return r&&function(n){e.setAttribute(t,r(n))}}return e._value=n,e}function oc(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=Qo(t);return this.tween(e,(r.local?rc:ic)(r,n))}function uc(t,n){return function(){Fa(this,t).delay=+n.apply(this,arguments)}}function ac(t,n){return n=+n,function(){Fa(this,t).delay=n}}function cc(t){var n=this._id;return arguments.length?this.each(("function"==typeof t?uc:ac)(n,t)):Ya(this.node(),n).delay}function sc(t,n){return function(){Ia(this,t).duration=+n.apply(this,arguments)}}function fc(t,n){return n=+n,function(){Ia(this,t).duration=n}}function lc(t){var n=this._id;return arguments.length?this.each(("function"==typeof t?sc:fc)(n,t)):Ya(this.node(),n).duration}function hc(t,n){if("function"!=typeof n)throw new Error;return function(){Ia(this,t).ease=n}}function pc(t){var n=this._id;return arguments.length?this.each(hc(n,t)):Ya(this.node(),n).ease}function dc(t){"function"!=typeof t&&(t=im(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o,u=n[i],a=u.length,c=r[i]=[],s=0;s<a;++s)(o=u[s])&&t.call(o,o.__data__,s,u)&&c.push(o);return new Uc(r,this._parents,this._name,this._id)}function vc(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),u=new Array(r),a=0;a<o;++a)for(var c,s=n[a],f=e[a],l=s.length,h=u[a]=new Array(l),p=0;p<l;++p)(c=s[p]||f[p])&&(h[p]=c);for(;a<r;++a)u[a]=n[a];return new Uc(u,this._parents,this._name,this._id)}function _c(t){return(t+"").trim().split(/^|\s+/).every(function(t){var n=t.indexOf(".");return n>=0&&(t=t.slice(0,n)),!t||"start"===t})}function yc(t,n,e){var r,i,o=_c(n)?Fa:Ia;return function(){var u=o(this,t),a=u.on;a!==r&&(i=(r=a).copy()).on(n,e),u.on=i}}function gc(t,n){var e=this._id;return arguments.length<2?Ya(this.node(),e).on.on(t):this.each(yc(e,t,n))}function mc(t){return function(){var n=this.parentNode;for(var e in this.__transition)if(+e!==t)return;n&&n.removeChild(this)}}function xc(){return this.on("end.remove",mc(this._id))}function bc(t){var n=this._name,e=this._id;"function"!=typeof t&&(t=vu(t));for(var r=this._groups,i=r.length,o=new Array(i),u=0;u<i;++u)for(var a,c,s=r[u],f=s.length,l=o[u]=new Array(f),h=0;h<f;++h)(a=s[h])&&(c=t.call(a,a.__data__,h,s))&&("__data__"in a&&(c.__data__=a.__data__),l[h]=c,Oa(l[h],n,e,h,l,Ya(a,e)));return new Uc(o,this._parents,n,e)}function wc(t){var n=this._name,e=this._id;"function"!=typeof t&&(t=gu(t));for(var r=this._groups,i=r.length,o=[],u=[],a=0;a<i;++a)for(var c,s=r[a],f=s.length,l=0;l<f;++l)if(c=s[l]){for(var h,p=t.call(c,c.__data__,l,s),d=Ya(c,e),v=0,_=p.length;v<_;++v)(h=p[v])&&Oa(h,n,e,v,p,d);o.push(p),u.push(c)}return new Uc(o,u,n,e)}function Mc(){return new ym(this._groups,this._parents)}function Tc(t,n){var e,r,i;return function(){var o=Vu(this).getComputedStyle(this,null),u=o.getPropertyValue(t),a=(this.style.removeProperty(t),o.getPropertyValue(t));return u===a?null:u===e&&a===r?i:i=n(e=u,r=a)}}function kc(t){return function(){this.style.removeProperty(t)}}function Nc(t,n,e){var r,i;return function(){var o=Vu(this).getComputedStyle(this,null).getPropertyValue(t);return o===e?null:o===r?i:i=n(r=o,e)}}function Sc(t,n,e){var r,i,o;return function(){var u=Vu(this).getComputedStyle(this,null),a=u.getPropertyValue(t),c=e(this);return null==c&&(this.style.removeProperty(t),c=u.getPropertyValue(t)),a===c?null:a===r&&c===i?o:o=n(r=a,i=c)}}function Ec(t,n,e){var r="transform"==(t+="")?T_:Za;return null==n?this.styleTween(t,Tc(t,r)).on("end.style."+t,kc(t)):this.styleTween(t,"function"==typeof n?Sc(t,r,$a(this,"style."+t,n)):Nc(t,r,n),e)}function Ac(t,n,e){function r(){var r=this,i=n.apply(r,arguments);return i&&function(n){r.style.setProperty(t,i(n),e)}}return r._value=n,r}function Cc(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,Ac(t,n,null==e?"":e))}function zc(t){return function(){this.textContent=t}}function Pc(t){return function(){var n=t(this);this.textContent=null==n?"":n}}function Lc(t){return this.tween("text","function"==typeof t?Pc($a(this,"text",t)):zc(null==t?"":t+""))}function qc(){for(var t=this._name,n=this._id,e=Dc(),r=this._groups,i=r.length,o=0;o<i;++o)for(var u,a=r[o],c=a.length,s=0;s<c;++s)if(u=a[s]){var f=Ya(u,n);Oa(u,t,e,s,a,{time:f.time+f.delay+f.duration,delay:0,duration:f.duration,ease:f.ease})}return new Uc(r,this._parents,t,e)}function Uc(t,n,e,r){this._groups=t,this._parents=n,this._name=e,this._id=r}function Rc(t){return La().transition(t)}function Dc(){return++gm}function Oc(t,n){for(var e;!(e=t.__transition)||!(e=e[n]);)if(!(t=t.parentNode))return xm.time=Dr(),xm;return e}function Fc(t){var n,e;t instanceof Uc?(n=t._id,t=t._name):(n=Dc(),(e=xm).time=Dr(),t=null==t?null:t+"");for(var r=this._groups,i=r.length,o=0;o<i;++o)for(var u,a=r[o],c=a.length,s=0;s<c;++s)(u=a[s])&&Oa(u,t,n,s,a,e||Oc(u,n));return new Uc(r,this._parents,t,n)}function Ic(t,n){var e,r,i=t.__transition;if(i){n=null==n?null:n+"";for(r in i)if((e=i[r]).state>hm&&e.name===n)return new Uc([[t]],bm,n,(+r))}return null}function Yc(t){return t}function Bc(t,n,e){var r=t(e);return"translate("+(isFinite(r)?r:n(e))+",0)"}function jc(t,n,e){var r=t(e);return"translate(0,"+(isFinite(r)?r:n(e))+")"}function Hc(t){var n=t.bandwidth()/2;return function(e){return t(e)+n}}function Xc(){return!this.__axis}function Vc(t,n){function e(e){var s,f=null==i?n.ticks?n.ticks.apply(n,r):n.domain():i,l=null==o?n.tickFormat?n.tickFormat.apply(n,r):Yc:o,h=Math.max(u,0)+c,p=t===Mm||t===km?Bc:jc,d=n.range(),v=d[0]+.5,_=d[d.length-1]+.5,y=(n.bandwidth?Hc:Yc)(n.copy()),g=e.selection?e.selection():e,m=g.selectAll(".domain").data([null]),x=g.selectAll(".tick").data(f,n).order(),b=x.exit(),w=x.enter().append("g").attr("class","tick"),M=x.select("line"),T=x.select("text"),k=t===Mm||t===Nm?-1:1,N=t===Nm||t===Tm?(s="x","y"):(s="y","x");m=m.merge(m.enter().insert("path",".tick").attr("class","domain").attr("stroke","#000")),x=x.merge(w),M=M.merge(w.append("line").attr("stroke","#000").attr(s+"2",k*u).attr(N+"1",.5).attr(N+"2",.5)),T=T.merge(w.append("text").attr("fill","#000").attr(s,k*h).attr(N,.5).attr("dy",t===Mm?"0em":t===km?".71em":".32em")),e!==g&&(m=m.transition(e),x=x.transition(e),M=M.transition(e),T=T.transition(e),b=b.transition(e).attr("opacity",Sm).attr("transform",function(t){return p(y,this.parentNode.__axis||y,t)}),w.attr("opacity",Sm).attr("transform",function(t){return p(this.parentNode.__axis||y,y,t)})),b.remove(),m.attr("d",t===Nm||t==Tm?"M"+k*a+","+v+"H0.5V"+_+"H"+k*a:"M"+v+","+k*a+"V0.5H"+_+"V"+k*a),x.attr("opacity",1).attr("transform",function(t){return p(y,y,t)}),M.attr(s+"2",k*u),T.attr(s,k*h).text(l),g.filter(Xc).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===Tm?"start":t===Nm?"end":"middle"),g.each(function(){this.__axis=y})}var r=[],i=null,o=null,u=6,a=6,c=3;return e.scale=function(t){return arguments.length?(n=t,e):n},e.ticks=function(){return r=wm.call(arguments),e},e.tickArguments=function(t){return arguments.length?(r=null==t?[]:wm.call(t),e):r.slice()},e.tickValues=function(t){return arguments.length?(i=null==t?null:wm.call(t),e):i&&i.slice()},e.tickFormat=function(t){return arguments.length?(o=t,e):o},e.tickSize=function(t){return arguments.length?(u=a=+t,e):u},e.tickSizeInner=function(t){return arguments.length?(u=+t,e):u},e.tickSizeOuter=function(t){return arguments.length?(a=+t,e):a},e.tickPadding=function(t){return arguments.length?(c=+t,e):c},e}function Wc(t){return Vc(Mm,t)}function $c(t){return Vc(Tm,t)}function Zc(t){return Vc(km,t)}function Gc(t){return Vc(Nm,t)}function Jc(t,n){return t.parent===n.parent?1:2}function Qc(t){return t.reduce(Kc,0)/t.length}function Kc(t,n){return t+n.x}function ts(t){return 1+t.reduce(ns,0)}function ns(t,n){return Math.max(t,n.y)}function es(t){for(var n;n=t.children;)t=n[0];return t}function rs(t){for(var n;n=t.children;)t=n[n.length-1];return t}function is(){function t(t){var o,u=0;t.eachAfter(function(t){var e=t.children;e?(t.x=Qc(e),t.y=ts(e)):(t.x=o?u+=n(t,o):0,t.y=0,o=t)});var a=es(t),c=rs(t),s=a.x-n(a,c)/2,f=c.x+n(c,a)/2;return t.eachAfter(i?function(n){n.x=(n.x-t.x)*e,n.y=(t.y-n.y)*r}:function(n){n.x=(n.x-s)/(f-s)*e,n.y=(1-(t.y?n.y/t.y:1))*r})}var n=Jc,e=1,r=1,i=!1;return t.separation=function(e){return arguments.length?(n=e,t):n},t.size=function(n){return arguments.length?(i=!1,e=+n[0],r=+n[1],t):i?null:[e,r]},t.nodeSize=function(n){return arguments.length?(i=!0,e=+n[0],r=+n[1],t):i?[e,r]:null},t}function os(t){var n,e,r,i,o=this,u=[o];do for(n=u.reverse(),u=[];o=n.pop();)if(t(o),e=o.children)for(r=0,i=e.length;r<i;++r)u.push(e[r]);while(u.length);return this}function us(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}function as(t){for(var n,e,r,i=this,o=[i],u=[];i=o.pop();)if(u.push(i),n=i.children)for(e=0,r=n.length;e<r;++e)o.push(n[e]);for(;i=u.pop();)t(i);return this}function cs(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})}function ss(t){return this.eachBefore(function(n){n.children&&n.children.sort(t)})}function fs(t){for(var n=this,e=ls(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}function ls(t,n){if(t===n)return t;var e=t.ancestors(),r=n.ancestors(),i=null;for(t=e.pop(),n=r.pop();t===n;)i=t,t=e.pop(),n=r.pop();return i}function hs(){for(var t=this,n=[t];t=t.parent;)n.push(t);return n}function ps(){var t=[];return this.each(function(n){t.push(n)}),t}function ds(){var t=[];return this.eachBefore(function(n){n.children||t.push(n)}),t}function vs(){var t=this,n=[];return t.each(function(e){e!==t&&n.push({source:e.parent,target:e})}),n}function _s(t,n){var e,r,i,o,u,a=new bs(t),c=+t.value&&(a.value=t.value),s=[a];for(null==n&&(n=gs);e=s.pop();)if(c&&(e.value=+e.data.value),(i=n(e.data))&&(u=i.length))for(e.children=new Array(u),o=u-1;o>=0;--o)s.push(r=e.children[o]=new bs(i[o])),r.parent=e,r.depth=e.depth+1;return a.eachBefore(xs)}function ys(){return _s(this).eachBefore(ms)}function gs(t){return t.children}function ms(t){t.data=t.data.data}function xs(t){var n=0;do t.height=n;while((t=t.parent)&&t.height<++n)}function bs(t){this.data=t,this.depth=this.height=0,this.parent=null}function ws(t){this._=t,this.next=null}function Ms(t){for(var n,e=(t=t.slice()).length,r=null,i=r;e;){var o=new ws(t[e-1]);i=i?i.next=o:r=o,t[n]=t[--e]}return{head:r,tail:i}}function Ts(t){return Ns(Ms(t),[])}function ks(t,n){var e=n.x-t.x,r=n.y-t.y,i=t.r-n.r;return i*i+1e-6>e*e+r*r}function Ns(t,n){var e,r,i,o=null,u=t.head;switch(n.length){case 1:e=Ss(n[0]);break;case 2:e=Es(n[0],n[1]);break;case 3:e=As(n[0],n[1],n[2])}for(;u;)i=u._,r=u.next,e&&ks(e,i)?o=u:(o?(t.tail=o,o.next=null):t.head=t.tail=null,n.push(i),e=Ns(t,n),n.pop(),t.head?(u.next=t.head,t.head=u):(u.next=null,t.head=t.tail=u),o=t.tail,o.next=r),u=r;return t.tail=o,e}function Ss(t){return{x:t.x,y:t.y,r:t.r}}function Es(t,n){var e=t.x,r=t.y,i=t.r,o=n.x,u=n.y,a=n.r,c=o-e,s=u-r,f=a-i,l=Math.sqrt(c*c+s*s);return{x:(e+o+c/l*f)/2,y:(r+u+s/l*f)/2,r:(l+i+a)/2}}function As(t,n,e){var r=t.x,i=t.y,o=t.r,u=n.x,a=n.y,c=n.r,s=e.x,f=e.y,l=e.r,h=2*(r-u),p=2*(i-a),d=2*(c-o),v=r*r+i*i-o*o-u*u-a*a+c*c,_=2*(r-s),y=2*(i-f),g=2*(l-o),m=r*r+i*i-o*o-s*s-f*f+l*l,x=_*p-h*y,b=(p*m-y*v)/x-r,w=(y*d-p*g)/x,M=(_*v-h*m)/x-i,T=(h*g-_*d)/x,k=w*w+T*T-1,N=2*(b*w+M*T+o),S=b*b+M*M-o*o,E=(-N-Math.sqrt(N*N-4*k*S))/(2*k);return{x:b+w*E+r,y:M+T*E+i,r:E}}function Cs(t,n,e){var r=t.x,i=t.y,o=n.r+e.r,u=t.r+e.r,a=n.x-r,c=n.y-i,s=a*a+c*c;if(s){var f=.5+((u*=u)-(o*=o))/(2*s),l=Math.sqrt(Math.max(0,2*o*(u+s)-(u-=s)*u-o*o))/(2*s);e.x=r+f*a+l*c,e.y=i+f*c-l*a}else e.x=r+u,e.y=i}function zs(t,n){var e=n.x-t.x,r=n.y-t.y,i=t.r+n.r;return i*i>e*e+r*r}function Ps(t,n,e){var r=t.x-n,i=t.y-e;return r*r+i*i}function Ls(t){this._=t,this.next=null,this.previous=null}function qs(t){if(!(i=t.length))return 0;var n,e,r,i;if(n=t[0],n.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;Cs(e,n,r=t[2]);var o,u,a,c,s,f,l,h=n.r*n.r,p=e.r*e.r,d=r.r*r.r,v=h+p+d,_=h*n.x+p*e.x+d*r.x,y=h*n.y+p*e.y+d*r.y;n=new Ls(n),e=new Ls(e),r=new Ls(r),n.next=r.previous=e,e.next=n.previous=r,r.next=e.previous=n;t:for(a=3;a<i;++a){if(Cs(n._,e._,r=t[a]),r=new Ls(r),(s=n.previous)===(c=e.next)){if(zs(c._,r._)){n=e,e=c,--a;continue t}}else{f=c._.r,l=s._.r;do if(f<=l){if(zs(c._,r._)){e=c,n.next=e,e.previous=n,--a;continue t}c=c.next,f+=c._.r}else{if(zs(s._,r._)){n=s,n.next=e,e.previous=n,--a;continue t}s=s.previous,l+=s._.r}while(c!==s.next)}for(r.previous=n,r.next=e,n.next=e.previous=e=r,v+=d=r._.r*r._.r,_+=d*r._.x,y+=d*r._.y,h=Ps(n._,o=_/v,u=y/v);(r=r.next)!==e;)(d=Ps(r._,o,u))<h&&(n=r,h=d);e=n.next}for(n=[e._],r=e;(r=r.next)!==e;)n.push(r._);for(r=Ts(n),a=0;a<i;++a)n=t[a],n.x-=r.x,n.y-=r.y;return r.r}function Us(t){return qs(t),t}function Rs(t){return null==t?null:Ds(t)}function Ds(t){if("function"!=typeof t)throw new Error;return t}function Os(){return 0}function Fs(t){return function(){return t}}function Is(t){return Math.sqrt(t.value)}function Ys(){function t(t){return t.x=e/2,t.y=r/2,n?t.eachBefore(Bs(n)).eachAfter(js(i,.5)).eachBefore(Hs(1)):t.eachBefore(Bs(Is)).eachAfter(js(Os,1)).eachAfter(js(i,t.r/Math.min(e,r))).eachBefore(Hs(Math.min(e,r)/(2*t.r))),t}var n=null,e=1,r=1,i=Os;return t.radius=function(e){return arguments.length?(n=Rs(e),t):n},t.size=function(n){return arguments.length?(e=+n[0],r=+n[1],t):[e,r]},t.padding=function(n){return arguments.length?(i="function"==typeof n?n:Fs(+n),t):i},t}function Bs(t){return function(n){n.children||(n.r=Math.max(0,+t(n)||0))}}function js(t,n){return function(e){if(r=e.children){var r,i,o,u=r.length,a=t(e)*n||0;if(a)for(i=0;i<u;++i)r[i].r+=a;if(o=qs(r),a)for(i=0;i<u;++i)r[i].r-=a;e.r=o+a}}}function Hs(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)}}function Xs(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)}function Vs(t,n,e,r,i){for(var o,u=t.children,a=-1,c=u.length,s=t.value&&(r-n)/t.value;++a<c;)o=u[a],o.y0=e,o.y1=i,o.x0=n,o.x1=n+=o.value*s}function Ws(){function t(t){var u=t.height+1;return t.x0=t.y0=i,t.x1=e,t.y1=r/u,t.eachBefore(n(r,u)),o&&t.eachBefore(Xs),t}function n(t,n){return function(e){e.children&&Vs(e,e.x0,t*(e.depth+1)/n,e.x1,t*(e.depth+2)/n);var r=e.x0,o=e.y0,u=e.x1-i,a=e.y1-i;u<r&&(r=u=(r+u)/2),a<o&&(o=a=(o+a)/2),e.x0=r,e.y0=o,e.x1=u,e.y1=a}}var e=1,r=1,i=0,o=!1;return t.round=function(n){return arguments.length?(o=!!n,t):o},t.size=function(n){return arguments.length?(e=+n[0],r=+n[1],t):[e,r]},t.padding=function(n){return arguments.length?(i=+n,t):i},t}function $s(t){return t.id}function Zs(t){return t.parentId}function Gs(){function t(t){var r,i,o,u,a,c,s,f=t.length,l=new Array(f),h={};for(i=0;i<f;++i)r=t[i],a=l[i]=new bs(r),null!=(c=n(r,i,t))&&(c+="")&&(s=Em+(a.id=c),h[s]=s in h?Cm:a);for(i=0;i<f;++i)if(a=l[i],c=e(t[i],i,t),null!=c&&(c+="")){if(u=h[Em+c],!u)throw new Error("missing: "+c);if(u===Cm)throw new Error("ambiguous: "+c);u.children?u.children.push(a):u.children=[a],a.parent=u}else{if(o)throw new Error("multiple roots");o=a}if(!o)throw new Error("no root");if(o.parent=Am,o.eachBefore(function(t){t.depth=t.parent.depth+1,--f}).eachBefore(xs),o.parent=null,f>0)throw new Error("cycle");return o}var n=$s,e=Zs;return t.id=function(e){return arguments.length?(n=Ds(e),t):n},t.parentId=function(n){return arguments.length?(e=Ds(n),t):e},t}function Js(t,n){return t.parent===n.parent?1:2}function Qs(t){var n=t.children;return n?n[0]:t.t}function Ks(t){var n=t.children;return n?n[n.length-1]:t.t}function tf(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 nf(t){for(var n,e=0,r=0,i=t.children,o=i.length;--o>=0;)n=i[o],n.z+=e,n.m+=e,e+=n.s+(r+=n.c)}function ef(t,n,e){return t.a.parent===n.parent?t.a:e}function rf(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}function of(t){for(var n,e,r,i,o,u=new rf(t,0),a=[u];n=a.pop();)if(r=n._.children)for(n.children=new Array(o=r.length),i=o-1;i>=0;--i)a.push(e=n.children[i]=new rf(r[i],i)),e.parent=n;return(u.parent=new rf(null,0)).children=[u],u}function uf(){function t(t){var r=of(t);if(r.eachAfter(n),r.parent.m=-r.z,r.eachBefore(e),c)t.eachBefore(i);else{var s=t,f=t,l=t;t.eachBefore(function(t){t.x<s.x&&(s=t),t.x>f.x&&(f=t),t.depth>l.depth&&(l=t)});var h=s===f?1:o(s,f)/2,p=h-s.x,d=u/(f.x+h+p),v=a/(l.depth||1);t.eachBefore(function(t){t.x=(t.x+p)*d,t.y=t.depth*v})}return t}function n(t){var n=t.children,e=t.parent.children,i=t.i?e[t.i-1]:null;if(n){nf(t);var u=(n[0].z+n[n.length-1].z)/2;i?(t.z=i.z+o(t._,i._),t.m=t.z-u):t.z=u}else i&&(t.z=i.z+o(t._,i._));t.parent.A=r(t,i,t.parent.A||e[0])}function e(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function r(t,n,e){if(n){for(var r,i=t,u=t,a=n,c=i.parent.children[0],s=i.m,f=u.m,l=a.m,h=c.m;a=Ks(a),i=Qs(i),a&&i;)c=Qs(c),u=Ks(u),u.a=t,r=a.z+l-i.z-s+o(a._,i._),r>0&&(tf(ef(a,t,e),t,r),s+=r,f+=r),l+=a.m,s+=i.m,h+=c.m,f+=u.m;a&&!Ks(u)&&(u.t=a,u.m+=l-f),i&&!Qs(c)&&(c.t=i,c.m+=s-h,e=t)}return e}function i(t){t.x*=u,t.y=t.depth*a}var o=Js,u=1,a=1,c=null;return t.separation=function(n){return arguments.length?(o=n,t):o},t.size=function(n){return arguments.length?(c=!1,u=+n[0],a=+n[1],t):c?null:[u,a]},t.nodeSize=function(n){return arguments.length?(c=!0,u=+n[0],a=+n[1],t):c?[u,a]:null},t}function af(t,n,e,r,i){for(var o,u=t.children,a=-1,c=u.length,s=t.value&&(i-e)/t.value;++a<c;)o=u[a],o.x0=n,o.x1=r,o.y0=e,o.y1=e+=o.value*s}function cf(t,n,e,r,i,o){for(var u,a,c,s,f,l,h,p,d,v,_,y,g=[],m=n.children,x=0,b=m.length,w=n.value;x<b;){for(s=i-e,f=o-r,h=p=l=m[x].value,_=Math.max(f/s,s/f)/(w*t),y=l*l*_,v=Math.max(p/y,y/h),c=x+1;c<b;++c){if(l+=a=m[c].value,a<h&&(h=a),a>p&&(p=a),y=l*l*_,d=Math.max(p/y,y/h),d>v){l-=a;break}v=d}g.push(u={value:l,dice:s<f,children:m.slice(x,c)}),u.dice?Vs(u,e,r,i,w?r+=f*l/w:o):af(u,e,r,w?e+=s*l/w:i,o),w-=l,x=c}return g}function sf(){function t(t){return t.x0=t.y0=0,t.x1=i,t.y1=o,t.eachBefore(n),u=[0],r&&t.eachBefore(Xs),t}function n(t){var n=u[t.depth],r=t.x0+n,i=t.y0+n,o=t.x1-n,h=t.y1-n;o<r&&(r=o=(r+o)/2),h<i&&(i=h=(i+h)/2),t.x0=r,t.y0=i,t.x1=o,t.y1=h,t.children&&(n=u[t.depth+1]=a(t)/2,r+=l(t)-n,i+=c(t)-n,o-=s(t)-n,h-=f(t)-n,o<r&&(r=o=(r+o)/2),h<i&&(i=h=(i+h)/2),e(t,r,i,o,h))}var e=Pm,r=!1,i=1,o=1,u=[0],a=Os,c=Os,s=Os,f=Os,l=Os;return t.round=function(n){
+return arguments.length?(r=!!n,t):r},t.size=function(n){return arguments.length?(i=+n[0],o=+n[1],t):[i,o]},t.tile=function(n){return arguments.length?(e=Ds(n),t):e},t.padding=function(n){return arguments.length?t.paddingInner(n).paddingOuter(n):t.paddingInner()},t.paddingInner=function(n){return arguments.length?(a="function"==typeof n?n:Fs(+n),t):a},t.paddingOuter=function(n){return arguments.length?t.paddingTop(n).paddingRight(n).paddingBottom(n).paddingLeft(n):t.paddingTop()},t.paddingTop=function(n){return arguments.length?(c="function"==typeof n?n:Fs(+n),t):c},t.paddingRight=function(n){return arguments.length?(s="function"==typeof n?n:Fs(+n),t):s},t.paddingBottom=function(n){return arguments.length?(f="function"==typeof n?n:Fs(+n),t):f},t.paddingLeft=function(n){return arguments.length?(l="function"==typeof n?n:Fs(+n),t):l},t}function ff(t,n,e,r,i){function o(t,n,e,r,i,u,a){if(t>=n-1){var s=c[t];return s.x0=r,s.y0=i,s.x1=u,s.y1=a,void 0}for(var l=f[t],h=e/2+l,p=t+1,d=n-1;p<d;){var v=p+d>>>1;f[v]<h?p=v+1:d=v}var _=f[p]-l,y=e-_;if(a-i>u-r){var g=(i*y+a*_)/e;o(t,p,_,r,i,u,g),o(p,n,y,r,g,u,a)}else{var m=(r*y+u*_)/e;o(t,p,_,r,i,m,a),o(p,n,y,m,i,u,a)}}var u,a,c=t.children,s=c.length,f=new Array(s+1);for(f[0]=a=u=0;u<s;++u)f[u+1]=a+=c[u].value;o(0,s,t.value,n,e,r,i)}function lf(t,n,e,r,i){(1&t.depth?af:Vs)(t,n,e,r,i)}function hf(t,n){function e(){var e,i,o=r.length,u=0,a=0;for(e=0;e<o;++e)i=r[e],u+=i.x,a+=i.y;for(u=u/o-t,a=a/o-n,e=0;e<o;++e)i=r[e],i.x-=u,i.y-=a}var r;return null==t&&(t=0),null==n&&(n=0),e.initialize=function(t){r=t},e.x=function(n){return arguments.length?(t=+n,e):t},e.y=function(t){return arguments.length?(n=+t,e):n},e}function pf(t){return function(){return t}}function df(){return 1e-6*(Math.random()-.5)}function vf(t){return t.x+t.vx}function _f(t){return t.y+t.vy}function yf(t){function n(){function t(t,e,r,i,u){var a=t.data,p=t.r,d=l+p;{if(!a)return e>s+d||i<s-d||r>f+d||u<f-d;if(a.index>n){var v=s-a.x-a.vx,_=f-a.y-a.vy,y=v*v+_*_;y<d*d&&(0===v&&(v=df(),y+=v*v),0===_&&(_=df(),y+=_*_),y=(d-(y=Math.sqrt(y)))/y*o,c.vx+=(v*=y)*(d=(p*=p)/(h+p)),c.vy+=(_*=y)*d,a.vx-=v*(d=1-d),a.vy-=_*d)}}}for(var n,a,c,s,f,l,h,p=r.length,d=0;d<u;++d)for(a=jt(r,vf,_f).visitAfter(e),n=0;n<p;++n)c=r[n],l=i[n],h=l*l,s=c.x+c.vx,f=c.y+c.vy,a.visit(t)}function e(t){if(t.data)return t.r=i[t.data.index];for(var n=t.r=0;n<4;++n)t[n]&&t[n].r>t.r&&(t.r=t[n].r)}var r,i,o=1,u=1;return"function"!=typeof t&&(t=pf(null==t?1:+t)),n.initialize=function(n){var e,o=(r=n).length;for(i=new Array(o),e=0;e<o;++e)i[e]=+t(r[e],e,r)},n.iterations=function(t){return arguments.length?(u=+t,n):u},n.strength=function(t){return arguments.length?(o=+t,n):o},n.radius=function(e){return arguments.length?(t="function"==typeof e?e:pf(+e),n):t},n}function gf(t,n){return n}function mf(t){function n(t){return 1/Math.min(s[t.source.index],s[t.target.index])}function e(n){for(var e=0,r=t.length;e<d;++e)for(var i,o,c,s,l,h,p,v=0;v<r;++v)i=t[v],o=i.source,c=i.target,s=c.x+c.vx-o.x-o.vx||df(),l=c.y+c.vy-o.y-o.vy||df(),h=Math.sqrt(s*s+l*l),h=(h-a[v])/h*n*u[v],s*=h,l*=h,c.vx-=s*(p=f[v]),c.vy-=l*p,o.vx+=s*(p=1-p),o.vy+=l*p}function r(){if(c){var n,e,r=c.length,h=t.length,p=L(c,l);for(n=0,s=new Array(r);n<r;++n)s[n]=0;for(n=0;n<h;++n)e=t[n],e.index=n,"object"!=typeof e.source&&(e.source=p.get(e.source)),"object"!=typeof e.target&&(e.target=p.get(e.target)),++s[e.source.index],++s[e.target.index];for(n=0,f=new Array(h);n<h;++n)e=t[n],f[n]=s[e.source.index]/(s[e.source.index]+s[e.target.index]);u=new Array(h),i(),a=new Array(h),o()}}function i(){if(c)for(var n=0,e=t.length;n<e;++n)u[n]=+h(t[n],n,t)}function o(){if(c)for(var n=0,e=t.length;n<e;++n)a[n]=+p(t[n],n,t)}var u,a,c,s,f,l=gf,h=n,p=pf(30),d=1;return null==t&&(t=[]),e.initialize=function(t){c=t,r()},e.links=function(n){return arguments.length?(t=n,r(),e):t},e.id=function(t){return arguments.length?(l=t,e):l},e.iterations=function(t){return arguments.length?(d=+t,e):d},e.strength=function(t){return arguments.length?(h="function"==typeof t?t:pf(+t),i(),e):h},e.distance=function(t){return arguments.length?(p="function"==typeof t?t:pf(+t),o(),e):p},e}function xf(t){return t.x}function bf(t){return t.y}function wf(t){function n(){e(),p.call("tick",o),u<a&&(h.stop(),p.call("end",o))}function e(){var n,e,r=t.length;for(u+=(s-u)*c,l.each(function(t){t(u)}),n=0;n<r;++n)e=t[n],null==e.fx?e.x+=e.vx*=f:(e.x=e.fx,e.vx=0),null==e.fy?e.y+=e.vy*=f:(e.y=e.fy,e.vy=0)}function r(){for(var n,e=0,r=t.length;e<r;++e){if(n=t[e],n.index=e,isNaN(n.x)||isNaN(n.y)){var i=qm*Math.sqrt(e),o=e*Um;n.x=i*Math.cos(o),n.y=i*Math.sin(o)}(isNaN(n.vx)||isNaN(n.vy))&&(n.vx=n.vy=0)}}function i(n){return n.initialize&&n.initialize(t),n}var o,u=1,a=.001,c=1-Math.pow(a,1/300),s=0,f=.6,l=L(),h=Ir(n),p=wr("tick","end");return null==t&&(t=[]),r(),o={tick:e,restart:function(){return h.restart(n),o},stop:function(){return h.stop(),o},nodes:function(n){return arguments.length?(t=n,r(),l.each(i),o):t},alpha:function(t){return arguments.length?(u=+t,o):u},alphaMin:function(t){return arguments.length?(a=+t,o):a},alphaDecay:function(t){return arguments.length?(c=+t,o):+c},alphaTarget:function(t){return arguments.length?(s=+t,o):s},velocityDecay:function(t){return arguments.length?(f=1-t,o):1-f},force:function(t,n){return arguments.length>1?(null==n?l.remove(t):l.set(t,i(n)),o):l.get(t)},find:function(n,e,r){var i,o,u,a,c,s=0,f=t.length;for(null==r?r=1/0:r*=r,s=0;s<f;++s)a=t[s],i=n-a.x,o=e-a.y,u=i*i+o*o,u<r&&(c=a,r=u);return c},on:function(t,n){return arguments.length>1?(p.on(t,n),o):p.on(t)}}}function Mf(){function t(t){var n,a=i.length,c=jt(i,xf,bf).visitAfter(e);for(u=t,n=0;n<a;++n)o=i[n],c.visit(r)}function n(){if(i){var t,n=i.length;for(a=new Array(n),t=0;t<n;++t)a[t]=+c(i[t],t,i)}}function e(t){var n,e,r,i,o,u=0;if(t.length){for(r=i=o=0;o<4;++o)(n=t[o])&&(e=n.value)&&(u+=e,r+=e*n.x,i+=e*n.y);t.x=r/u,t.y=i/u}else{n=t,n.x=n.data.x,n.y=n.data.y;do u+=a[n.data.index];while(n=n.next)}t.value=u}function r(t,n,e,r){if(!t.value)return!0;var i=t.x-o.x,c=t.y-o.y,h=r-n,p=i*i+c*c;if(h*h/l<p)return p<f&&(0===i&&(i=df(),p+=i*i),0===c&&(c=df(),p+=c*c),p<s&&(p=Math.sqrt(s*p)),o.vx+=i*t.value*u/p,o.vy+=c*t.value*u/p),!0;if(!(t.length||p>=f)){(t.data!==o||t.next)&&(0===i&&(i=df(),p+=i*i),0===c&&(c=df(),p+=c*c),p<s&&(p=Math.sqrt(s*p)));do t.data!==o&&(h=a[t.data.index]*u/p,o.vx+=i*h,o.vy+=c*h);while(t=t.next)}}var i,o,u,a,c=pf(-30),s=1,f=1/0,l=.81;return t.initialize=function(t){i=t,n()},t.strength=function(e){return arguments.length?(c="function"==typeof e?e:pf(+e),n(),t):c},t.distanceMin=function(n){return arguments.length?(s=n*n,t):Math.sqrt(s)},t.distanceMax=function(n){return arguments.length?(f=n*n,t):Math.sqrt(f)},t.theta=function(n){return arguments.length?(l=n*n,t):Math.sqrt(l)},t}function Tf(t){function n(t){for(var n,e=0,u=r.length;e<u;++e)n=r[e],n.vx+=(o[e]-n.x)*i[e]*t}function e(){if(r){var n,e=r.length;for(i=new Array(e),o=new Array(e),n=0;n<e;++n)i[n]=isNaN(o[n]=+t(r[n],n,r))?0:+u(r[n],n,r)}}var r,i,o,u=pf(.1);return"function"!=typeof t&&(t=pf(null==t?0:+t)),n.initialize=function(t){r=t,e()},n.strength=function(t){return arguments.length?(u="function"==typeof t?t:pf(+t),e(),n):u},n.x=function(r){return arguments.length?(t="function"==typeof r?r:pf(+r),e(),n):t},n}function kf(t){function n(t){for(var n,e=0,u=r.length;e<u;++e)n=r[e],n.vy+=(o[e]-n.y)*i[e]*t}function e(){if(r){var n,e=r.length;for(i=new Array(e),o=new Array(e),n=0;n<e;++n)i[n]=isNaN(o[n]=+t(r[n],n,r))?0:+u(r[n],n,r)}}var r,i,o,u=pf(.1);return"function"!=typeof t&&(t=pf(null==t?0:+t)),n.initialize=function(t){r=t,e()},n.strength=function(t){return arguments.length?(u="function"==typeof t?t:pf(+t),e(),n):u},n.y=function(r){return arguments.length?(t="function"==typeof r?r:pf(+r),e(),n):t},n}function Nf(){t.event.stopImmediatePropagation()}function Sf(){t.event.preventDefault(),t.event.stopImmediatePropagation()}function Ef(t){var n=t.document.documentElement,e=qa(t).on("dragstart.drag",Sf,!0);"onselectstart"in n?e.on("selectstart.drag",Sf,!0):(n.__noselect=n.style.MozUserSelect,n.style.MozUserSelect="none")}function Af(t,n){var e=t.document.documentElement,r=qa(t).on("dragstart.drag",null);n&&(r.on("click.drag",Sf,!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)}function Cf(t){return function(){return t}}function zf(t,n,e,r,i,o,u,a,c,s){this.target=t,this.type=n,this.subject=e,this.identifier=r,this.active=i,this.x=o,this.y=u,this.dx=a,this.dy=c,this._=s}function Pf(){return!t.event.button}function Lf(){return this.parentNode}function qf(n){return null==n?{x:t.event.x,y:t.event.y}:n}function Uf(){function n(t){t.on("mousedown.drag",e).on("touchstart.drag",o).on("touchmove.drag",u).on("touchend.drag touchcancel.drag",a).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function e(){if(!f&&l.apply(this,arguments)){var n=c("mouse",h.apply(this,arguments),pu,this,arguments);n&&(qa(t.event.view).on("mousemove.drag",r,!0).on("mouseup.drag",i,!0),Ef(t.event.view),Nf(),s=!1,n("start"))}}function r(){Sf(),s=!0,d.mouse("drag")}function i(){qa(t.event.view).on("mousemove.drag mouseup.drag",null),Af(t.event.view,s),Sf(),d.mouse("end")}function o(){if(l.apply(this,arguments)){var n,e,r=t.event.changedTouches,i=h.apply(this,arguments),o=r.length;for(n=0;n<o;++n)(e=c(r[n].identifier,i,Ra,this,arguments))&&(Nf(),e("start"))}}function u(){var n,e,r=t.event.changedTouches,i=r.length;for(n=0;n<i;++n)(e=d[r[n].identifier])&&(Sf(),e("drag"))}function a(){var n,e,r=t.event.changedTouches,i=r.length;for(f&&clearTimeout(f),f=setTimeout(function(){f=null},500),n=0;n<i;++n)(e=d[r[n].identifier])&&(Nf(),e("end"))}function c(e,r,i,o,u){var a,c,s,f=i(r,e),l=v.copy();if(fu(new zf(n,"beforestart",a,e,_,f[0],f[1],0,0,l),function(){return null!=(t.event.subject=a=p.apply(o,u))&&(c=a.x-f[0]||0,s=a.y-f[1]||0,!0)}))return function h(t){var p,v=f;switch(t){case"start":d[e]=h,p=_++;break;case"end":delete d[e],--_;case"drag":f=i(r,e),p=_}fu(new zf(n,t,a,e,p,f[0]+c,f[1]+s,f[0]-v[0],f[1]-v[1],l),l.apply,l,[t,o,u])}}var s,f,l=Pf,h=Lf,p=qf,d={},v=wr("start","drag","end"),_=0;return n.filter=function(t){return arguments.length?(l="function"==typeof t?t:Cf(!!t),n):l},n.container=function(t){return arguments.length?(h="function"==typeof t?t:Cf(t),n):h},n.subject=function(t){return arguments.length?(p="function"==typeof t?t:Cf(t),n):p},n.on=function(){var t=v.on.apply(v,arguments);return t===v?n:t},n}function Rf(t){return function(){return t}}function Df(t){return t[0]}function Of(t){return t[1]}function Ff(){this._=null}function If(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function Yf(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 Bf(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 jf(t){for(;t.L;)t=t.L;return t}function Hf(t,n,e,r){var i=[null,null],o=Im.push(i)-1;return i.left=t,i.right=n,e&&Vf(i,t,n,e),r&&Vf(i,n,t,r),Om[t.index].halfedges.push(o),Om[n.index].halfedges.push(o),i}function Xf(t,n,e){var r=[n,e];return r.left=t,r}function Vf(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 Wf(t,n,e,r,i){var o,u=t[0],a=t[1],c=u[0],s=u[1],f=a[0],l=a[1],h=0,p=1,d=f-c,v=l-s;if(o=n-c,d||!(o>0)){if(o/=d,d<0){if(o<h)return;o<p&&(p=o)}else if(d>0){if(o>p)return;o>h&&(h=o)}if(o=r-c,d||!(o<0)){if(o/=d,d<0){if(o>p)return;o>h&&(h=o)}else if(d>0){if(o<h)return;o<p&&(p=o)}if(o=e-s,v||!(o>0)){if(o/=v,v<0){if(o<h)return;o<p&&(p=o)}else if(v>0){if(o>p)return;o>h&&(h=o)}if(o=i-s,v||!(o<0)){if(o/=v,v<0){if(o>p)return;o>h&&(h=o)}else if(v>0){if(o<h)return;o<p&&(p=o)}return!(h>0||p<1)||(h>0&&(t[0]=[c+h*d,s+h*v]),p<1&&(t[1]=[c+p*d,s+p*v]),!0)}}}}}function $f(t,n,e,r,i){var o=t[1];if(o)return!0;var u,a,c=t[0],s=t.left,f=t.right,l=s[0],h=s[1],p=f[0],d=f[1],v=(l+p)/2,_=(h+d)/2;if(d===h){if(v<n||v>=r)return;if(l>p){if(c){if(c[1]>=i)return}else c=[v,e];o=[v,i]}else{if(c){if(c[1]<e)return}else c=[v,i];o=[v,e]}}else if(u=(l-p)/(d-h),a=_-u*v,u<-1||u>1)if(l>p){if(c){if(c[1]>=i)return}else c=[(e-a)/u,e];o=[(i-a)/u,i]}else{if(c){if(c[1]<e)return}else c=[(i-a)/u,i];o=[(e-a)/u,e]}else if(h<d){if(c){if(c[0]>=r)return}else c=[n,u*n+a];o=[r,u*r+a]}else{if(c){if(c[0]<n)return}else c=[r,u*r+a];o=[n,u*n+a]}return t[0]=c,t[1]=o,!0}function Zf(t,n,e,r){for(var i,o=Im.length;o--;)$f(i=Im[o],t,n,e,r)&&Wf(i,t,n,e,r)&&(Math.abs(i[0][0]-i[1][0])>jm||Math.abs(i[0][1]-i[1][1])>jm)||delete Im[o]}function Gf(t){return Om[t.index]={site:t,halfedges:[]}}function Jf(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 Qf(t,n){return n[+(n.left!==t.site)]}function Kf(t,n){return n[+(n.left===t.site)]}function tl(){for(var t,n,e,r,i=0,o=Om.length;i<o;++i)if((t=Om[i])&&(r=(n=t.halfedges).length)){var u=new Array(r),a=new Array(r);for(e=0;e<r;++e)u[e]=e,a[e]=Jf(t,Im[n[e]]);for(u.sort(function(t,n){return a[n]-a[t]}),e=0;e<r;++e)a[e]=n[u[e]];for(e=0;e<r;++e)n[e]=a[e]}}function nl(t,n,e,r){var i,o,u,a,c,s,f,l,h,p,d,v,_=Om.length,y=!0;for(i=0;i<_;++i)if(o=Om[i]){for(u=o.site,c=o.halfedges,a=c.length;a--;)Im[c[a]]||c.splice(a,1);for(a=0,s=c.length;a<s;)p=Kf(o,Im[c[a]]),d=p[0],v=p[1],f=Qf(o,Im[c[++a%s]]),l=f[0],h=f[1],(Math.abs(d-l)>jm||Math.abs(v-h)>jm)&&(c.splice(a,0,Im.push(Xf(u,p,Math.abs(d-t)<jm&&r-v>jm?[t,Math.abs(l-t)<jm?h:r]:Math.abs(v-r)<jm&&e-d>jm?[Math.abs(h-r)<jm?l:e,r]:Math.abs(d-e)<jm&&v-n>jm?[e,Math.abs(l-e)<jm?h:n]:Math.abs(v-n)<jm&&d-t>jm?[Math.abs(h-n)<jm?l:t,n]:null))-1),++s);s&&(y=!1)}if(y){var g,m,x,b=1/0;for(i=0,y=null;i<_;++i)(o=Om[i])&&(u=o.site,g=u[0]-t,m=u[1]-n,x=g*g+m*m,x<b&&(b=x,y=o));if(y){var w=[t,n],M=[t,r],T=[e,r],k=[e,n];y.halfedges.push(Im.push(Xf(u=y.site,w,M))-1,Im.push(Xf(u,M,T))-1,Im.push(Xf(u,T,k))-1,Im.push(Xf(u,k,w))-1)}}for(i=0;i<_;++i)(o=Om[i])&&(o.halfedges.length||delete Om[i])}function el(){If(this),this.x=this.y=this.arc=this.site=this.cy=null}function rl(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 u=i[0],a=i[1],c=r[0]-u,s=r[1]-a,f=o[0]-u,l=o[1]-a,h=2*(c*l-s*f);if(!(h>=-Hm)){var p=c*c+s*s,d=f*f+l*l,v=(l*p-s*d)/h,_=(c*d-f*p)/h,y=Ym.pop()||new el;y.arc=t,y.site=i,y.x=v+u,y.y=(y.cy=_+a)+Math.sqrt(v*v+_*_),t.circle=y;for(var g=null,m=Fm._;m;)if(y.y<m.y||y.y===m.y&&y.x<=m.x){if(!m.L){g=m.P;break}m=m.L}else{if(!m.R){g=m;break}m=m.R}Fm.insert(g,y),g||(Rm=y)}}}}function il(t){var n=t.circle;n&&(n.P||(Rm=n.N),Fm.remove(n),Ym.push(n),If(n),t.circle=null)}function ol(){If(this),this.edge=this.site=this.circle=null}function ul(t){var n=Bm.pop()||new ol;return n.site=t,n}function al(t){il(t),Dm.remove(t),Bm.push(t),If(t)}function cl(t){var n=t.circle,e=n.x,r=n.cy,i=[e,r],o=t.P,u=t.N,a=[t];al(t);for(var c=o;c.circle&&Math.abs(e-c.circle.x)<jm&&Math.abs(r-c.circle.cy)<jm;)o=c.P,a.unshift(c),al(c),c=o;a.unshift(c),il(c);for(var s=u;s.circle&&Math.abs(e-s.circle.x)<jm&&Math.abs(r-s.circle.cy)<jm;)u=s.N,a.push(s),al(s),s=u;a.push(s),il(s);var f,l=a.length;for(f=1;f<l;++f)s=a[f],c=a[f-1],Vf(s.edge,c.site,s.site,i);c=a[0],s=a[l-1],s.edge=Hf(c.site,s.site,null,i),rl(c),rl(s)}function sl(t){for(var n,e,r,i,o=t[0],u=t[1],a=Dm._;a;)if(r=fl(a,u)-o,r>jm)a=a.L;else{if(i=o-ll(a,u),!(i>jm)){r>-jm?(n=a.P,e=a):i>-jm?(n=a,e=a.N):n=e=a;break}if(!a.R){n=a;break}a=a.R}Gf(t);var c=ul(t);if(Dm.insert(n,c),n||e){if(n===e)return il(n),e=ul(n.site),Dm.insert(c,e),c.edge=e.edge=Hf(n.site,c.site),rl(n),void rl(e);if(!e)return void(c.edge=Hf(n.site,c.site));il(n),il(e);var s=n.site,f=s[0],l=s[1],h=t[0]-f,p=t[1]-l,d=e.site,v=d[0]-f,_=d[1]-l,y=2*(h*_-p*v),g=h*h+p*p,m=v*v+_*_,x=[(_*g-p*m)/y+f,(h*m-v*g)/y+l];Vf(e.edge,s,d,x),c.edge=Hf(s,t,null,x),e.edge=Hf(t,d,null,x),rl(n),rl(e)}}function fl(t,n){var e=t.site,r=e[0],i=e[1],o=i-n;if(!o)return r;var u=t.P;if(!u)return-(1/0);e=u.site;var a=e[0],c=e[1],s=c-n;if(!s)return a;var f=a-r,l=1/o-1/s,h=f/s;return l?(-h+Math.sqrt(h*h-2*l*(f*f/(-2*s)-c+s/2+i-o/2)))/l+r:(r+a)/2}function ll(t,n){var e=t.N;if(e)return fl(e,n);var r=t.site;return r[1]===n?r[0]:1/0}function hl(t,n,e){return(t[0]-e[0])*(n[1]-t[1])-(t[0]-n[0])*(e[1]-t[1])}function pl(t,n){return n[1]-t[1]||n[0]-t[0]}function dl(t,n){var e,r,i,o=t.sort(pl).pop();for(Im=[],Om=new Array(t.length),Dm=new Ff,Fm=new Ff;;)if(i=Rm,o&&(!i||o[1]<i.y||o[1]===i.y&&o[0]<i.x))o[0]===e&&o[1]===r||(sl(o),e=o[0],r=o[1]),o=t.pop();else{if(!i)break;cl(i.arc)}if(tl(),n){var u=+n[0][0],a=+n[0][1],c=+n[1][0],s=+n[1][1];Zf(u,a,c,s),nl(u,a,c,s)}this.edges=Im,this.cells=Om,Dm=Fm=Im=Om=null}function vl(){function t(t){return new dl(t.map(function(r,i){var o=[Math.round(n(r,i,t)/jm)*jm,Math.round(e(r,i,t)/jm)*jm];return o.index=i,o.data=r,o}),r)}var n=Df,e=Of,r=null;return t.polygons=function(n){return t(n).polygons()},t.links=function(n){return t(n).links()},t.triangles=function(n){return t(n).triangles()},t.x=function(e){return arguments.length?(n="function"==typeof e?e:Rf(+e),t):n},t.y=function(n){return arguments.length?(e="function"==typeof n?n:Rf(+n),t):e},t.extent=function(n){return arguments.length?(r=null==n?null:[[+n[0][0],+n[0][1]],[+n[1][0],+n[1][1]]],t):r&&[[r[0][0],r[0][1]],[r[1][0],r[1][1]]]},t.size=function(n){return arguments.length?(r=null==n?null:[[0,0],[+n[0],+n[1]]],t):r&&[r[1][0],r[1][1]]},t}function _l(t){return function(){return t}}function yl(t,n,e){this.target=t,this.type=n,this.transform=e}function gl(t,n,e){this.k=t,this.x=n,this.y=e}function ml(t){return t.__zoom||Xm}function xl(){t.event.stopImmediatePropagation()}function bl(){t.event.preventDefault(),t.event.stopImmediatePropagation()}function wl(){return!t.event.button}function Ml(){var t,n,e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,t=e.width.baseVal.value,n=e.height.baseVal.value):(t=e.clientWidth,n=e.clientHeight),[[0,0],[t,n]]}function Tl(){return this.__zoom||Xm}function kl(){function n(t){t.on("wheel.zoom",s).on("mousedown.zoom",f).on("dblclick.zoom",l).on("touchstart.zoom",h).on("touchmove.zoom",p).on("touchend.zoom touchcancel.zoom",d).style("-webkit-tap-highlight-color","rgba(0,0,0,0)").property("__zoom",Tl)}function e(t,n){return n=Math.max(M,Math.min(T,n)),n===t.k?t:new gl(n,t.x,t.y)}function r(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 gl(t.k,r,i)}function i(t,n){var e=Math.min(0,t.invertX(n[0][0])-k)||Math.max(0,t.invertX(n[1][0])-N),r=Math.min(0,t.invertY(n[0][1])-S)||Math.max(0,t.invertY(n[1][1])-E);return e||r?t.translate(e,r):t}function o(t){return[(+t[0][0]+ +t[1][0])/2,(+t[0][1]+ +t[1][1])/2]}function u(t,n,e){t.on("start.zoom",function(){a(this,arguments).start()}).on("interrupt.zoom end.zoom",function(){a(this,arguments).end()}).tween("zoom",function(){var t=this,r=arguments,i=a(t,r),u=w.apply(t,r),c=e||o(u),s=Math.max(u[1][0]-u[0][0],u[1][1]-u[0][1]),f=t.__zoom,l="function"==typeof n?n.apply(t,r):n,h=_r(f.invert(c).concat(s/f.k),l.invert(c).concat(s/l.k));return function(t){if(1===t)t=l;else{var n=h(t),e=s/n[2];t=new gl(e,c[0]-n[0]*e,c[1]-n[1]*e)}i.zoom(null,t)}})}function a(t,n){for(var e,r=0,i=C.length;r<i;++r)if((e=C[r]).that===t)return e;return new c(t,n)}function c(t,n){this.that=t,this.args=n,this.index=-1,this.active=0}function s(){function n(){x=null,o.end()}if(b.apply(this,arguments)){var o=a(this,arguments),u=this.__zoom,c=Math.max(M,Math.min(T,u.k*Math.pow(2,-t.event.deltaY*(t.event.deltaMode?120:1)/500)));if(x){var s=pu(this);_[0]===s[0]&&_[1]===s[1]||(y=u.invert(_=s)),clearTimeout(x)}else{if(u.k===c)return;o.extent=w.apply(this,arguments),y=u.invert(_=pu(this)),ja(this),o.start()}bl(),x=setTimeout(n,L),o.zoom("mouse",i(r(e(u,c),_,y),o.extent))}}function f(){function n(){bl(),v=!0,o.zoom("mouse",i(r(o.that.__zoom,_=pu(o.that),y),o.extent))}function e(){u.on("mousemove.zoom mouseup.zoom",null),Af(t.event.view,v),bl(),o.end()}if(!m&&b.apply(this,arguments)){var o=a(this,arguments),u=qa(t.event.view).on("mousemove.zoom",n,!0).on("mouseup.zoom",e,!0);Ef(t.event.view),xl(),v=!1,o.extent=w.apply(this,arguments),y=this.__zoom.invert(_=pu(this)),ja(this),o.start()}}function l(){if(b.apply(this,arguments)){var o=this.__zoom,a=pu(this),c=o.invert(a),s=o.k*(t.event.shiftKey?.5:2),f=i(r(e(o,s),a,c),w.apply(this,arguments));bl(),A>0?qa(this).transition().duration(A).call(u,f,a):qa(this).call(n.transform,f)}}function h(){if(b.apply(this,arguments)){var n,e,r,i=a(this,arguments),o=t.event.changedTouches,u=o.length;for(xl(),n=0;n<u;++n)e=o[n],r=Ra(this,o,e.identifier),r=[r,this.__zoom.invert(r),e.identifier],i.touch0?i.touch1||(i.touch1=r):i.touch0=r;return g&&(g=clearTimeout(g),!i.touch1)?(i.end(),l.apply(this,arguments)):void(t.event.touches.length===u&&(g=setTimeout(function(){g=null},P),ja(this),i.extent=w.apply(this,arguments),i.start()))}}function p(){var n,o,u,c,s=a(this,arguments),f=t.event.changedTouches,l=f.length;for(bl(),g&&(g=clearTimeout(g)),n=0;n<l;++n)o=f[n],u=Ra(this,f,o.identifier),s.touch0&&s.touch0[2]===o.identifier?s.touch0[0]=u:s.touch1&&s.touch1[2]===o.identifier&&(s.touch1[0]=u);if(o=s.that.__zoom,s.touch1){var h=s.touch0[0],p=s.touch0[1],d=s.touch1[0],v=s.touch1[1],_=(_=d[0]-h[0])*_+(_=d[1]-h[1])*_,y=(y=v[0]-p[0])*y+(y=v[1]-p[1])*y;o=e(o,Math.sqrt(_/y)),u=[(h[0]+d[0])/2,(h[1]+d[1])/2],c=[(p[0]+v[0])/2,(p[1]+v[1])/2]}else{if(!s.touch0)return;u=s.touch0[0],c=s.touch0[1]}s.zoom("touch",i(r(o,u,c),s.extent))}function d(){var n,e,r=a(this,arguments),i=t.event.changedTouches,o=i.length;for(xl(),m&&clearTimeout(m),m=setTimeout(function(){m=null},P),n=0;n<o;++n)e=i[n],r.touch0&&r.touch0[2]===e.identifier?delete r.touch0:r.touch1&&r.touch1[2]===e.identifier&&delete r.touch1;r.touch1&&!r.touch0&&(r.touch0=r.touch1,delete r.touch1),r.touch0||r.end()}var v,_,y,g,m,x,b=wl,w=Ml,M=0,T=1/0,k=-T,N=T,S=k,E=N,A=250,C=[],z=wr("start","zoom","end"),P=500,L=150;return n.transform=function(t,n){var e=t.selection?t.selection():t;e.property("__zoom",Tl),t!==e?u(t,n):e.interrupt().each(function(){a(this,arguments).start().zoom(null,"function"==typeof n?n.apply(this,arguments):n).end()})},n.scaleBy=function(t,e){n.scaleTo(t,function(){var t=this.__zoom.k,n="function"==typeof e?e.apply(this,arguments):e;return t*n})},n.scaleTo=function(t,u){n.transform(t,function(){var t=w.apply(this,arguments),n=this.__zoom,a=o(t),c=n.invert(a),s="function"==typeof u?u.apply(this,arguments):u;return i(r(e(n,s),a,c),t)})},n.translateBy=function(t,e,r){n.transform(t,function(){return i(this.__zoom.translate("function"==typeof e?e.apply(this,arguments):e,"function"==typeof r?r.apply(this,arguments):r),w.apply(this,arguments))})},c.prototype={start:function(){return 1===++this.active&&(this.index=C.push(this)-1,this.emit("start")),this},zoom:function(t,n){return _&&"mouse"!==t&&(y=n.invert(_)),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&&(C.splice(this.index,1),_=y=null,this.index=-1,this.emit("end")),this},emit:function(t){fu(new yl(n,t,this.that.__zoom),z.apply,z,[t,this.that,this.args])}},n.filter=function(t){return arguments.length?(b="function"==typeof t?t:_l(!!t),n):b},n.extent=function(t){return arguments.length?(w="function"==typeof t?t:_l([[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]]),n):w},n.scaleExtent=function(t){return arguments.length?(M=+t[0],T=+t[1],n):[M,T]},n.translateExtent=function(t){return arguments.length?(k=+t[0][0],N=+t[1][0],S=+t[0][1],E=+t[1][1],n):[[k,S],[N,E]]},n.duration=function(t){return arguments.length?(A=+t,n):A},n.on=function(){var t=z.on.apply(z,arguments);return t===z?n:t},n}function Nl(t){return function(){return t}}function Sl(t,n,e){this.target=t,this.type=n,this.selection=e}function El(){t.event.stopImmediatePropagation()}function Al(){t.event.preventDefault(),t.event.stopImmediatePropagation()}function Cl(t){return{type:t}}function zl(){return!t.event.button}function Pl(){var t=this.ownerSVGElement||this;return[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]}function Ll(t){for(;!t.__brush;)if(!(t=t.parentNode))return;return t.__brush}function ql(t){return t[0][0]===t[1][0]||t[0][1]===t[1][1]}function Ul(t){var n=t.__brush;return n?n.dim.output(n.selection):null}function Rl(){return Fl(Gm)}function Dl(){return Fl(Jm)}function Ol(){return Fl(Qm)}function Fl(n){function e(t){var e=t.property("__brush",a).selectAll(".overlay").data([Cl("overlay")]);e.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",Km.overlay).merge(e).each(function(){var t=Ll(this).extent;qa(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])}),t.selectAll(".selection").data([Cl("selection")]).enter().append("rect").attr("class","selection").attr("cursor",Km.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var i=t.selectAll(".handle").data(n.handles,function(t){return t.type});i.exit().remove(),i.enter().append("rect").attr("class",function(t){return"handle handle--"+t.type}).attr("cursor",function(t){return Km[t.type]}),t.each(r).attr("fill","none").attr("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush touchstart.brush",u)}function r(){var t=qa(this),n=Ll(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]-h/2:n[0][0]-h/2}).attr("y",function(t){return"s"===t.type[0]?n[1][1]-h/2:n[0][1]-h/2}).attr("width",function(t){return"n"===t.type||"s"===t.type?n[1][0]-n[0][0]+h:h}).attr("height",function(t){return"e"===t.type||"w"===t.type?n[1][1]-n[0][1]+h:h})):t.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}function i(t,n){return t.__brush.emitter||new o(t,n)}function o(t,n){this.that=t,this.args=n,this.state=t.__brush,this.active=0}function u(){function e(){var t=pu(T);!R||w||M||(Math.abs(t[0]-O[0])>Math.abs(t[1]-O[1])?M=!0:w=!0),O=t,b=!0,Al(),o()}function o(){var t;switch(m=O[0]-D[0],x=O[1]-D[1],N){case Wm:case Vm:S&&(m=Math.max(P-l,Math.min(q-v,m)),h=l+m,_=v+m),E&&(x=Math.max(L-p,Math.min(U-y,x)),d=p+x,g=y+x);break;case $m:S<0?(m=Math.max(P-l,Math.min(q-l,m)),h=l+m,_=v):S>0&&(m=Math.max(P-v,Math.min(q-v,m)),h=l,_=v+m),E<0?(x=Math.max(L-p,Math.min(U-p,x)),d=p+x,g=y):E>0&&(x=Math.max(L-y,Math.min(U-y,x)),d=p,g=y+x);break;case Zm:S&&(h=Math.max(P,Math.min(q,l-m*S)),_=Math.max(P,Math.min(q,v+m*S))),E&&(d=Math.max(L,Math.min(U,p-x*E)),g=Math.max(L,Math.min(U,y+x*E)))}_<h&&(S*=-1,t=l,l=v,v=t,t=h,h=_,_=t,k in tx&&Y.attr("cursor",Km[k=tx[k]])),g<d&&(E*=-1,t=p,p=y,y=t,t=d,d=g,g=t,k in nx&&Y.attr("cursor",Km[k=nx[k]])),z=A.selection,w&&(h=z[0][0],_=z[1][0]),M&&(d=z[0][1],g=z[1][1]),z[0][0]===h&&z[0][1]===d&&z[1][0]===_&&z[1][1]===g||(A.selection=[[h,d],[_,g]],r.call(T),F.brush())}function u(){if(El(),t.event.touches){if(t.event.touches.length)return;c&&clearTimeout(c),c=setTimeout(function(){c=null},500),I.on("touchmove.brush touchend.brush touchcancel.brush",null)}else Af(t.event.view,b),B.on("keydown.brush keyup.brush mousemove.brush mouseup.brush",null);I.attr("pointer-events","all"),Y.attr("cursor",Km.overlay),ql(z)&&(A.selection=null,r.call(T)),F.end()}function a(){switch(t.event.keyCode){case 16:R=S&&E;break;case 18:N===$m&&(S&&(v=_-m*S,l=h+m*S),E&&(y=g-x*E,p=d+x*E),N=Zm,o());break;case 32:N!==$m&&N!==Zm||(S<0?v=_-m:S>0&&(l=h-m),E<0?y=g-x:E>0&&(p=d-x),N=Wm,Y.attr("cursor",Km.selection),o());break;default:return}Al()}function s(){switch(t.event.keyCode){case 16:R&&(w=M=R=!1,o());break;case 18:N===Zm&&(S<0?v=_:S>0&&(l=h),E<0?y=g:E>0&&(p=d),N=$m,o());break;case 32:N===Wm&&(t.event.altKey?(S&&(v=_-m*S,l=h+m*S),E&&(y=g-x*E,p=d+x*E),N=Zm):(S<0?v=_:S>0&&(l=h),E<0?y=g:E>0&&(p=d),N=$m),Y.attr("cursor",Km[k]),o());break;default:return}Al()}if(t.event.touches){if(t.event.changedTouches.length<t.event.touches.length)return Al()}else if(c)return;if(f.apply(this,arguments)){var l,h,p,d,v,_,y,g,m,x,b,w,M,T=this,k=t.event.target.__data__.type,N="selection"===(t.event.metaKey?k="overlay":k)?Vm:t.event.altKey?Zm:$m,S=n===Jm?null:ex[k],E=n===Gm?null:rx[k],A=Ll(T),C=A.extent,z=A.selection,P=C[0][0],L=C[0][1],q=C[1][0],U=C[1][1],R=S&&E&&t.event.shiftKey,D=pu(T),O=D,F=i(T,arguments).beforestart();"overlay"===k?A.selection=z=[[l=n===Jm?P:D[0],p=n===Gm?L:D[1]],[v=n===Jm?q:l,y=n===Gm?U:p]]:(l=z[0][0],p=z[0][1],v=z[1][0],y=z[1][1]),h=l,d=p,_=v,g=y;var I=qa(T).attr("pointer-events","none"),Y=I.selectAll(".overlay").attr("cursor",Km[k]);if(t.event.touches)I.on("touchmove.brush",e,!0).on("touchend.brush touchcancel.brush",u,!0);else{var B=qa(t.event.view).on("keydown.brush",a,!0).on("keyup.brush",s,!0).on("mousemove.brush",e,!0).on("mouseup.brush",u,!0);Ef(t.event.view)}El(),ja(T),r.call(T),F.start()}}function a(){var t=this.__brush||{selection:null};return t.extent=s.apply(this,arguments),t.dim=n,t}var c,s=Pl,f=zl,l=wr(e,"start","brush","end"),h=6;return e.move=function(t,e){t.selection?t.on("start.brush",function(){i(this,arguments).beforestart().start()}).on("interrupt.brush end.brush",function(){i(this,arguments).end()}).tween("brush",function(){function t(t){u.selection=1===t&&ql(s)?null:f(t),r.call(o),a.brush()}var o=this,u=o.__brush,a=i(o,arguments),c=u.selection,s=n.input("function"==typeof e?e.apply(this,arguments):e,u.extent),f=ar(c,s);return c&&s?t:t(1)}):t.each(function(){var t=this,o=arguments,u=t.__brush,a=n.input("function"==typeof e?e.apply(t,o):e,u.extent),c=i(t,o).beforestart();ja(t),u.selection=null==a||ql(a)?null:a,r.call(t),c.start().brush().end()})},o.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},brush:function(){return this.emit("brush"),this},end:function(){return 0===--this.active&&(delete this.state.emitter,this.emit("end")),this},emit:function(t){fu(new Sl(e,t,n.output(this.state.selection)),l.apply,l,[t,this.that,this.args])}},e.extent=function(t){return arguments.length?(s="function"==typeof t?t:Nl([[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]]),e):s},e.filter=function(t){return arguments.length?(f="function"==typeof t?t:Nl(!!t),e):f},e.handleSize=function(t){return arguments.length?(h=+t,e):h},e.on=function(){var t=l.on.apply(l,arguments);return t===l?e:t},e}function Il(){return new Yl}function Yl(){this.reset()}function Bl(t,n,e){var r=t.s=n+e,i=r-n,o=r-i;t.t=n-o+(e-i)}function jl(t){return t>1?0:t<-1?Yx:Math.acos(t)}function Hl(t){return t>1?Bx:t<-1?-Bx:Math.asin(t)}function Xl(t){return(t=nb(t/2))*t}function Vl(){}function Wl(t,n){t&&ub.hasOwnProperty(t.type)&&ub[t.type](t,n)}function $l(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 Zl(t,n){var e=-1,r=t.length;for(n.polygonStart();++e<r;)$l(t[e],n,1);n.polygonEnd()}function Gl(t,n){t&&ob.hasOwnProperty(t.type)?ob[t.type](t,n):Wl(t,n)}function Jl(){ab.point=Kl}function Ql(){th(ux,ax)}function Kl(t,n){ab.point=th,ux=t,ax=n,t*=Vx,n*=Vx,cx=t,sx=Gx(n=n/2+jx),fx=nb(n)}function th(t,n){t*=Vx,n*=Vx,n=n/2+jx;var e=t-cx,r=e>=0?1:-1,i=r*e,o=Gx(n),u=nb(n),a=fx*u,c=sx*o+a*Gx(i),s=a*r*nb(i);ix.add(Zx(s,c)),cx=t,sx=o,fx=u}function nh(t){return ox?ox.reset():(ox=Il(),ix=Il()),Gl(t,ab),2*ox}function eh(t){return[Zx(t[1],t[0]),Hl(t[2])]}function rh(t){var n=t[0],e=t[1],r=Gx(e);return[r*Gx(n),r*nb(n),nb(e)]}function ih(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]}function oh(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 uh(t,n){t[0]+=n[0],t[1]+=n[1],t[2]+=n[2]}function ah(t,n){return[t[0]*n,t[1]*n,t[2]*n]}function ch(t){var n=rb(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=n,t[1]/=n,t[2]/=n}function sh(t,n){xx.push(bx=[lx=t,px=t]),n<hx&&(hx=n),n>dx&&(dx=n)}function fh(t,n){
+var e=rh([t*Vx,n*Vx]);if(gx){var r=oh(gx,e),i=[r[1],-r[0],0],o=oh(i,r);ch(o),o=eh(o);var u,a=t-vx,c=a>0?1:-1,s=o[0]*Xx*c,f=Wx(a)>180;f^(c*vx<s&&s<c*t)?(u=o[1]*Xx,u>dx&&(dx=u)):(s=(s+360)%360-180,f^(c*vx<s&&s<c*t)?(u=-o[1]*Xx,u<hx&&(hx=u)):(n<hx&&(hx=n),n>dx&&(dx=n))),f?t<vx?_h(lx,t)>_h(lx,px)&&(px=t):_h(t,px)>_h(lx,px)&&(lx=t):px>=lx?(t<lx&&(lx=t),t>px&&(px=t)):t>vx?_h(lx,t)>_h(lx,px)&&(px=t):_h(t,px)>_h(lx,px)&&(lx=t)}else sh(t,n);gx=e,vx=t}function lh(){cb.point=fh}function hh(){bx[0]=lx,bx[1]=px,cb.point=sh,gx=null}function ph(t,n){if(gx){var e=t-vx;mx.add(Wx(e)>180?e+(e>0?360:-360):e)}else _x=t,yx=n;ab.point(t,n),fh(t,n)}function dh(){ab.lineStart()}function vh(){ph(_x,yx),ab.lineEnd(),Wx(mx)>Fx&&(lx=-(px=180)),bx[0]=lx,bx[1]=px,gx=null}function _h(t,n){return(n-=t)<0?n+360:n}function yh(t,n){return t[0]-n[0]}function gh(t,n){return t[0]<=t[1]?t[0]<=n&&n<=t[1]:n<t[0]||t[1]<n}function mh(t){var n,e,r,i,o,u,a;if(mx?mx.reset():mx=Il(),dx=px=-(lx=hx=1/0),xx=[],Gl(t,cb),e=xx.length){for(xx.sort(yh),n=1,r=xx[0],o=[r];n<e;++n)i=xx[n],gh(r,i[0])||gh(r,i[1])?(_h(r[0],i[1])>_h(r[0],r[1])&&(r[1]=i[1]),_h(i[0],r[1])>_h(r[0],r[1])&&(r[0]=i[0])):o.push(r=i);for(u=-(1/0),e=o.length-1,n=0,r=o[e];n<=e;r=i,++n)i=o[n],(a=_h(r[1],i[0]))>u&&(u=a,lx=i[0],px=r[1])}return xx=bx=null,lx===1/0||hx===1/0?[[NaN,NaN],[NaN,NaN]]:[[lx,hx],[px,dx]]}function xh(t,n){t*=Vx,n*=Vx;var e=Gx(n);bh(e*Gx(t),e*nb(t),nb(n))}function bh(t,n,e){++wx,Tx+=(t-Tx)/wx,kx+=(n-kx)/wx,Nx+=(e-Nx)/wx}function wh(){sb.point=Mh}function Mh(t,n){t*=Vx,n*=Vx;var e=Gx(n);Ux=e*Gx(t),Rx=e*nb(t),Dx=nb(n),sb.point=Th,bh(Ux,Rx,Dx)}function Th(t,n){t*=Vx,n*=Vx;var e=Gx(n),r=e*Gx(t),i=e*nb(t),o=nb(n),u=Zx(rb((u=Rx*o-Dx*i)*u+(u=Dx*r-Ux*o)*u+(u=Ux*i-Rx*r)*u),Ux*r+Rx*i+Dx*o);Mx+=u,Sx+=u*(Ux+(Ux=r)),Ex+=u*(Rx+(Rx=i)),Ax+=u*(Dx+(Dx=o)),bh(Ux,Rx,Dx)}function kh(){sb.point=xh}function Nh(){sb.point=Eh}function Sh(){Ah(Lx,qx),sb.point=xh}function Eh(t,n){Lx=t,qx=n,t*=Vx,n*=Vx,sb.point=Ah;var e=Gx(n);Ux=e*Gx(t),Rx=e*nb(t),Dx=nb(n),bh(Ux,Rx,Dx)}function Ah(t,n){t*=Vx,n*=Vx;var e=Gx(n),r=e*Gx(t),i=e*nb(t),o=nb(n),u=Rx*o-Dx*i,a=Dx*r-Ux*o,c=Ux*i-Rx*r,s=rb(u*u+a*a+c*c),f=Ux*r+Rx*i+Dx*o,l=s&&-jl(f)/s,h=Zx(s,f);Cx+=l*u,zx+=l*a,Px+=l*c,Mx+=h,Sx+=h*(Ux+(Ux=r)),Ex+=h*(Rx+(Rx=i)),Ax+=h*(Dx+(Dx=o)),bh(Ux,Rx,Dx)}function Ch(t){wx=Mx=Tx=kx=Nx=Sx=Ex=Ax=Cx=zx=Px=0,Gl(t,sb);var n=Cx,e=zx,r=Px,i=n*n+e*e+r*r;return i<Ix&&(n=Sx,e=Ex,r=Ax,Mx<Fx&&(n=Tx,e=kx,r=Nx),i=n*n+e*e+r*r,i<Ix)?[NaN,NaN]:[Zx(e,n)*Xx,Hl(r/rb(i))*Xx]}function zh(t){return function(){return t}}function Ph(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),e&&t.invert(e[0],e[1])}),e}function Lh(t,n){return[t>Yx?t-Hx:t<-Yx?t+Hx:t,n]}function qh(t,n,e){return(t%=Hx)?n||e?Ph(Rh(t),Dh(n,e)):Rh(t):n||e?Dh(n,e):Lh}function Uh(t){return function(n,e){return n+=t,[n>Yx?n-Hx:n<-Yx?n+Hx:n,e]}}function Rh(t){var n=Uh(t);return n.invert=Uh(-t),n}function Dh(t,n){function e(t,n){var e=Gx(n),a=Gx(t)*e,c=nb(t)*e,s=nb(n),f=s*r+a*i;return[Zx(c*o-f*u,a*r-s*i),Hl(f*o+c*u)]}var r=Gx(t),i=nb(t),o=Gx(n),u=nb(n);return e.invert=function(t,n){var e=Gx(n),a=Gx(t)*e,c=nb(t)*e,s=nb(n),f=s*o-c*u;return[Zx(c*o+s*u,a*r+f*i),Hl(f*r-a*i)]},e}function Oh(t){function n(n){return n=t(n[0]*Vx,n[1]*Vx),n[0]*=Xx,n[1]*=Xx,n}return t=qh(t[0]*Vx,t[1]*Vx,t.length>2?t[2]*Vx:0),n.invert=function(n){return n=t.invert(n[0]*Vx,n[1]*Vx),n[0]*=Xx,n[1]*=Xx,n},n}function Fh(t,n,e,r,i,o){if(e){var u=Gx(n),a=nb(n),c=r*e;null==i?(i=n+r*Hx,o=n-c/2):(i=Ih(u,i),o=Ih(u,o),(r>0?i<o:i>o)&&(i+=r*Hx));for(var s,f=i;r>0?f>o:f<o;f-=c)s=eh([u,-a*Gx(f),-a*nb(f)]),t.point(s[0],s[1])}}function Ih(t,n){n=rh(n),n[0]-=t,ch(n);var e=jl(-n[1]);return((-n[2]<0?-e:e)+Hx-Fx)%Hx}function Yh(){function t(t,n){e.push(t=r(t,n)),t[0]*=Xx,t[1]*=Xx}function n(){var t=i.apply(this,arguments),n=o.apply(this,arguments)*Vx,c=u.apply(this,arguments)*Vx;return e=[],r=qh(-t[0]*Vx,-t[1]*Vx,0).invert,Fh(a,n,c,1),t={type:"Polygon",coordinates:[e]},e=r=null,t}var e,r,i=zh([0,0]),o=zh(90),u=zh(6),a={point:t};return n.center=function(t){return arguments.length?(i="function"==typeof t?t:zh([+t[0],+t[1]]),n):i},n.radius=function(t){return arguments.length?(o="function"==typeof t?t:zh(+t),n):o},n.precision=function(t){return arguments.length?(u="function"==typeof t?t:zh(+t),n):u},n}function Bh(){var t,n=[];return{point:function(n,e){t.push([n,e])},lineStart:function(){n.push(t=[])},lineEnd:Vl,rejoin:function(){n.length>1&&n.push(n.pop().concat(n.shift()))},result:function(){var e=n;return n=[],t=null,e}}}function jh(t,n,e,r,i,o){var u,a=t[0],c=t[1],s=n[0],f=n[1],l=0,h=1,p=s-a,d=f-c;if(u=e-a,p||!(u>0)){if(u/=p,p<0){if(u<l)return;u<h&&(h=u)}else if(p>0){if(u>h)return;u>l&&(l=u)}if(u=i-a,p||!(u<0)){if(u/=p,p<0){if(u>h)return;u>l&&(l=u)}else if(p>0){if(u<l)return;u<h&&(h=u)}if(u=r-c,d||!(u>0)){if(u/=d,d<0){if(u<l)return;u<h&&(h=u)}else if(d>0){if(u>h)return;u>l&&(l=u)}if(u=o-c,d||!(u<0)){if(u/=d,d<0){if(u>h)return;u>l&&(l=u)}else if(d>0){if(u<l)return;u<h&&(h=u)}return l>0&&(t[0]=a+l*p,t[1]=c+l*d),h<1&&(n[0]=a+h*p,n[1]=c+h*d),!0}}}}}function Hh(t,n){return Wx(t[0]-n[0])<Fx&&Wx(t[1]-n[1])<Fx}function Xh(t,n,e,r){this.x=t,this.z=n,this.o=e,this.e=r,this.v=!1,this.n=this.p=null}function Vh(t,n,e,r,i){var o,u,a=[],c=[];if(t.forEach(function(t){if(!((n=t.length-1)<=0)){var n,e,r=t[0],u=t[n];if(Hh(r,u)){for(i.lineStart(),o=0;o<n;++o)i.point((r=t[o])[0],r[1]);return void i.lineEnd()}a.push(e=new Xh(r,t,null,(!0))),c.push(e.o=new Xh(r,null,e,(!1))),a.push(e=new Xh(u,t,null,(!1))),c.push(e.o=new Xh(u,null,e,(!0)))}}),a.length){for(c.sort(n),Wh(a),Wh(c),o=0,u=c.length;o<u;++o)c[o].e=e=!e;for(var s,f,l=a[0];;){for(var h=l,p=!0;h.v;)if((h=h.n)===l)return;s=h.z,i.lineStart();do{if(h.v=h.o.v=!0,h.e){if(p)for(o=0,u=s.length;o<u;++o)i.point((f=s[o])[0],f[1]);else r(h.x,h.n.x,1,i);h=h.n}else{if(p)for(s=h.p.z,o=s.length-1;o>=0;--o)i.point((f=s[o])[0],f[1]);else r(h.x,h.p.x,-1,i);h=h.p}h=h.o,s=h.z,p=!p}while(!h.v);i.lineEnd()}}}function Wh(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}}function $h(t,n,e,r){function i(i,o){return t<=i&&i<=e&&n<=o&&o<=r}function o(i,o,a,s){var f=0,l=0;if(null==i||(f=u(i,a))!==(l=u(o,a))||c(i,o)<0^a>0){do s.point(0===f||3===f?t:e,f>1?r:n);while((f=(f+a+4)%4)!==l)}else s.point(o[0],o[1])}function u(r,i){return Wx(r[0]-t)<Fx?i>0?0:3:Wx(r[0]-e)<Fx?i>0?2:1:Wx(r[1]-n)<Fx?i>0?1:0:i>0?3:2}function a(t,n){return c(t.x,n.x)}function c(t,n){var e=u(t,1),r=u(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(u){function c(t,n){i(t,n)&&S.point(t,n)}function s(){for(var n=0,e=0,i=_.length;e<i;++e)for(var o,u,a=_[e],c=1,s=a.length,f=a[0],l=f[0],h=f[1];c<s;++c)o=l,u=h,f=a[c],l=f[0],h=f[1],u<=r?h>r&&(l-o)*(r-u)>(h-u)*(t-o)&&++n:h<=r&&(l-o)*(r-u)<(h-u)*(t-o)&&--n;return n}function f(){S=E,v=[],_=[],N=!0}function l(){var t=s(),n=N&&t,e=(v=w(v)).length;(n||e)&&(u.polygonStart(),n&&(u.lineStart(),o(null,null,1,u),u.lineEnd()),e&&Vh(v,a,t,o,u),u.polygonEnd()),S=u,v=_=y=null}function h(){A.point=d,_&&_.push(y=[]),k=!0,T=!1,b=M=NaN}function p(){v&&(d(g,m),x&&T&&E.rejoin(),v.push(E.result())),A.point=c,T&&S.lineEnd()}function d(o,u){var a=i(o,u);if(_&&y.push([o,u]),k)g=o,m=u,x=a,k=!1,a&&(S.lineStart(),S.point(o,u));else if(a&&T)S.point(o,u);else{var c=[b=Math.max(Mb,Math.min(wb,b)),M=Math.max(Mb,Math.min(wb,M))],s=[o=Math.max(Mb,Math.min(wb,o)),u=Math.max(Mb,Math.min(wb,u))];jh(c,s,t,n,e,r)?(T||(S.lineStart(),S.point(c[0],c[1])),S.point(s[0],s[1]),a||S.lineEnd(),N=!1):a&&(S.lineStart(),S.point(o,u),N=!1)}b=o,M=u,T=a}var v,_,y,g,m,x,b,M,T,k,N,S=u,E=Bh(),A={point:c,lineStart:h,lineEnd:p,polygonStart:f,polygonEnd:l};return A}}function Zh(){var t,n,e,r=0,i=0,o=960,u=500;return e={stream:function(e){return t&&n===e?t:t=$h(r,i,o,u)(n=e)},extent:function(a){return arguments.length?(r=+a[0][0],i=+a[0][1],o=+a[1][0],u=+a[1][1],t=n=null,e):[[r,i],[o,u]]}}}function Gh(){Tb.point=Qh,Tb.lineEnd=Jh}function Jh(){Tb.point=Tb.lineEnd=Vl}function Qh(t,n){t*=Vx,n*=Vx,lb=t,hb=nb(n),pb=Gx(n),Tb.point=Kh}function Kh(t,n){t*=Vx,n*=Vx;var e=nb(n),r=Gx(n),i=Wx(t-lb),o=Gx(i),u=nb(i),a=r*u,c=pb*e-hb*r*o,s=hb*e+pb*r*o;fb.add(Zx(rb(a*a+c*c),s)),lb=t,hb=e,pb=r}function tp(t){return fb?fb.reset():fb=Il(),Gl(t,Tb),+fb}function np(t,n){return kb[0]=t,kb[1]=n,tp(Nb)}function ep(t,n,e){var r=l(t,n-Fx,e).concat(n);return function(t){return r.map(function(n){return[t,n]})}}function rp(t,n,e){var r=l(t,n-Fx,e).concat(n);return function(t){return r.map(function(n){return[n,t]})}}function ip(){function t(){return{type:"MultiLineString",coordinates:n()}}function n(){return l(Jx(o/y)*y,i,y).map(p).concat(l(Jx(s/g)*g,c,g).map(d)).concat(l(Jx(r/v)*v,e,v).filter(function(t){return Wx(t%y)>Fx}).map(f)).concat(l(Jx(a/_)*_,u,_).filter(function(t){return Wx(t%g)>Fx}).map(h))}var e,r,i,o,u,a,c,s,f,h,p,d,v=10,_=v,y=90,g=360,m=2.5;return t.lines=function(){return n().map(function(t){return{type:"LineString",coordinates:t}})},t.outline=function(){return{type:"Polygon",coordinates:[p(o).concat(d(c).slice(1),p(i).reverse().slice(1),d(s).reverse().slice(1))]}},t.extent=function(n){return arguments.length?t.extentMajor(n).extentMinor(n):t.extentMinor()},t.extentMajor=function(n){return arguments.length?(o=+n[0][0],i=+n[1][0],s=+n[0][1],c=+n[1][1],o>i&&(n=o,o=i,i=n),s>c&&(n=s,s=c,c=n),t.precision(m)):[[o,s],[i,c]]},t.extentMinor=function(n){return arguments.length?(r=+n[0][0],e=+n[1][0],a=+n[0][1],u=+n[1][1],r>e&&(n=r,r=e,e=n),a>u&&(n=a,a=u,u=n),t.precision(m)):[[r,a],[e,u]]},t.step=function(n){return arguments.length?t.stepMajor(n).stepMinor(n):t.stepMinor()},t.stepMajor=function(n){return arguments.length?(y=+n[0],g=+n[1],t):[y,g]},t.stepMinor=function(n){return arguments.length?(v=+n[0],_=+n[1],t):[v,_]},t.precision=function(n){return arguments.length?(m=+n,f=ep(a,u,90),h=rp(r,e,m),p=ep(s,c,90),d=rp(o,i,m),t):m},t.extentMajor([[-180,-90+Fx],[180,90-Fx]]).extentMinor([[-180,-80-Fx],[180,80+Fx]])}function op(t,n){var e=t[0]*Vx,r=t[1]*Vx,i=n[0]*Vx,o=n[1]*Vx,u=Gx(r),a=nb(r),c=Gx(o),s=nb(o),f=u*Gx(e),l=u*nb(e),h=c*Gx(i),p=c*nb(i),d=2*Hl(rb(Xl(o-r)+u*c*Xl(i-e))),v=nb(d),_=d?function(t){var n=nb(t*=d)/v,e=nb(d-t)/v,r=e*f+n*h,i=e*l+n*p,o=e*a+n*s;return[Zx(i,r)*Xx,Zx(o,rb(r*r+i*i))*Xx]}:function(){return[e*Xx,r*Xx]};return _.distance=d,_}function up(t){return t}function ap(){Ab.point=cp}function cp(t,n){Ab.point=sp,db=_b=t,vb=yb=n}function sp(t,n){Eb.add(yb*t-_b*n),_b=t,yb=n}function fp(){sp(db,vb)}function lp(t,n){t<Cb&&(Cb=t),t>Pb&&(Pb=t),n<zb&&(zb=n),n>Lb&&(Lb=n)}function hp(t,n){Ub+=t,Rb+=n,++Db}function pp(){Hb.point=dp}function dp(t,n){Hb.point=vp,hp(xb=t,bb=n)}function vp(t,n){var e=t-xb,r=n-bb,i=rb(e*e+r*r);Ob+=i*(xb+t)/2,Fb+=i*(bb+n)/2,Ib+=i,hp(xb=t,bb=n)}function _p(){Hb.point=hp}function yp(){Hb.point=mp}function gp(){xp(gb,mb)}function mp(t,n){Hb.point=xp,hp(gb=xb=t,mb=bb=n)}function xp(t,n){var e=t-xb,r=n-bb,i=rb(e*e+r*r);Ob+=i*(xb+t)/2,Fb+=i*(bb+n)/2,Ib+=i,i=bb*t-xb*n,Yb+=i*(xb+t),Bb+=i*(bb+n),jb+=3*i,hp(xb=t,bb=n)}function bp(t){function n(n,e){t.moveTo(n+u,e),t.arc(n,e,u,0,Hx)}function e(n,e){t.moveTo(n,e),a.point=r}function r(n,e){t.lineTo(n,e)}function i(){a.point=n}function o(){t.closePath()}var u=4.5,a={point:n,lineStart:function(){a.point=e},lineEnd:i,polygonStart:function(){a.lineEnd=o},polygonEnd:function(){a.lineEnd=i,a.point=n},pointRadius:function(t){return u=t,a},result:Vl};return a}function wp(){function t(t,n){a.push("M",t,",",n,u)}function n(t,n){a.push("M",t,",",n),c.point=e}function e(t,n){a.push("L",t,",",n)}function r(){c.point=n}function i(){c.point=t}function o(){a.push("Z")}var u=Mp(4.5),a=[],c={point:t,lineStart:r,lineEnd:i,polygonStart:function(){c.lineEnd=o},polygonEnd:function(){c.lineEnd=i,c.point=t},pointRadius:function(t){return u=Mp(t),c},result:function(){if(a.length){var t=a.join("");return a=[],t}}};return c}function Mp(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}function Tp(){function t(t){return t&&("function"==typeof o&&i.pointRadius(+o.apply(this,arguments)),Gl(t,e(i))),i.result()}var n,e,r,i,o=4.5;return t.area=function(t){return Gl(t,e(Ab)),Ab.result()},t.bounds=function(t){return Gl(t,e(qb)),qb.result()},t.centroid=function(t){return Gl(t,e(Hb)),Hb.result()},t.projection=function(r){return arguments.length?(e=null==(n=r)?up:r.stream,t):n},t.context=function(n){return arguments.length?(i=null==(r=n)?new wp:new bp(n),"function"!=typeof o&&i.pointRadius(o),t):r},t.pointRadius=function(n){return arguments.length?(o="function"==typeof n?n:(i.pointRadius(+n),+n),t):o},t.projection(null).context(null)}function kp(t,n){for(var e=n[0],r=n[1],i=[nb(e),-Gx(e),0],o=0,u=0,a=0,c=t.length;a<c;++a)if(f=(s=t[a]).length)for(var s,f,l=s[f-1],h=l[0],p=l[1]/2+jx,d=nb(p),v=Gx(p),_=0;_<f;++_,h=g,d=x,v=b,l=y){var y=s[_],g=y[0],m=y[1]/2+jx,x=nb(m),b=Gx(m),w=g-h,M=w>=0?1:-1,T=M*w,k=T>Yx,N=d*x;if(Xb.add(Zx(N*M*nb(T),v*b+N*Gx(T))),o+=k?w+M*Hx:w,k^h>=e^g>=e){var S=oh(rh(l),rh(y));ch(S);var E=oh(i,S);ch(E);var A=(k^w>=0?-1:1)*Hl(E[2]);(r>A||r===A&&(S[0]||S[1]))&&(u+=k^w>=0?1:-1)}}var C=(o<-Fx||o<Fx&&Xb<-Fx)^1&u;return Xb.reset(),C}function Np(t,n,e,r){return function(i,o){function u(n,e){var r=i(n,e);t(n=r[0],e=r[1])&&o.point(n,e)}function a(t,n){var e=i(t,n);_.point(e[0],e[1])}function c(){b.point=a,_.lineStart()}function s(){b.point=u,_.lineEnd()}function f(t,n){v.push([t,n]);var e=i(t,n);m.point(e[0],e[1])}function l(){m.lineStart(),v=[]}function h(){f(v[0][0],v[0][1]),m.lineEnd();var t,n,e,r,i=m.clean(),u=g.result(),a=u.length;if(v.pop(),p.push(v),v=null,a)if(1&i){if(e=u[0],(n=e.length-1)>0){for(x||(o.polygonStart(),x=!0),o.lineStart(),t=0;t<n;++t)o.point((r=e[t])[0],r[1]);o.lineEnd()}}else a>1&&2&i&&u.push(u.pop().concat(u.shift())),d.push(u.filter(Sp))}var p,d,v,_=n(o),y=i.invert(r[0],r[1]),g=Bh(),m=n(g),x=!1,b={point:u,lineStart:c,lineEnd:s,polygonStart:function(){b.point=f,b.lineStart=l,b.lineEnd=h,d=[],p=[]},polygonEnd:function(){b.point=u,b.lineStart=c,b.lineEnd=s,d=w(d);var t=kp(p,y);d.length?(x||(o.polygonStart(),x=!0),Vh(d,Ep,t,e,o)):t&&(x||(o.polygonStart(),x=!0),o.lineStart(),e(null,null,1,o),o.lineEnd()),x&&(o.polygonEnd(),x=!1),d=p=null},sphere:function(){o.polygonStart(),o.lineStart(),e(null,null,1,o),o.lineEnd(),o.polygonEnd()}};return b}}function Sp(t){return t.length>1}function Ep(t,n){return((t=t.x)[0]<0?t[1]-Bx-Fx:Bx-t[1])-((n=n.x)[0]<0?n[1]-Bx-Fx:Bx-n[1])}function Ap(t){var n,e=NaN,r=NaN,i=NaN;return{lineStart:function(){t.lineStart(),n=1},point:function(o,u){var a=o>0?Yx:-Yx,c=Wx(o-e);Wx(c-Yx)<Fx?(t.point(e,r=(r+u)/2>0?Bx:-Bx),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(a,r),t.point(o,r),n=0):i!==a&&c>=Yx&&(Wx(e-i)<Fx&&(e-=i*Fx),Wx(o-a)<Fx&&(o-=a*Fx),r=Cp(e,r,o,u),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(a,r),n=0),t.point(e=o,r=u),i=a},lineEnd:function(){t.lineEnd(),e=r=NaN},clean:function(){return 2-n}}}function Cp(t,n,e,r){var i,o,u=nb(t-e);return Wx(u)>Fx?$x((nb(n)*(o=Gx(r))*nb(e)-nb(r)*(i=Gx(n))*nb(t))/(i*o*u)):(n+r)/2}function zp(t,n,e,r){var i;if(null==t)i=e*Bx,r.point(-Yx,i),r.point(0,i),r.point(Yx,i),r.point(Yx,0),r.point(Yx,-i),r.point(0,-i),r.point(-Yx,-i),r.point(-Yx,0),r.point(-Yx,i);else if(Wx(t[0]-n[0])>Fx){var o=t[0]<n[0]?Yx:-Yx;i=e*o/2,r.point(-o,i),r.point(0,i),r.point(o,i)}else r.point(n[0],n[1])}function Pp(t,n){function e(e,r,i,o){Fh(o,t,n,i,e,r)}function r(t,n){return Gx(t)*Gx(n)>a}function i(t){var n,e,i,a,f;return{lineStart:function(){a=i=!1,f=1},point:function(l,h){var p,d=[l,h],v=r(l,h),_=c?v?0:u(l,h):v?u(l+(l<0?Yx:-Yx),h):0;if(!n&&(a=i=v)&&t.lineStart(),v!==i&&(p=o(n,d),(Hh(n,p)||Hh(d,p))&&(d[0]+=Fx,d[1]+=Fx,v=r(d[0],d[1]))),v!==i)f=0,v?(t.lineStart(),p=o(d,n),t.point(p[0],p[1])):(p=o(n,d),t.point(p[0],p[1]),t.lineEnd()),n=p;else if(s&&n&&c^v){var y;_&e||!(y=o(d,n,!0))||(f=0,c?(t.lineStart(),t.point(y[0][0],y[0][1]),t.point(y[1][0],y[1][1]),t.lineEnd()):(t.point(y[1][0],y[1][1]),t.lineEnd(),t.lineStart(),t.point(y[0][0],y[0][1])))}!v||n&&Hh(n,d)||t.point(d[0],d[1]),n=d,i=v,e=_},lineEnd:function(){i&&t.lineEnd(),n=null},clean:function(){return f|(a&&i)<<1}}}function o(t,n,e){var r=rh(t),i=rh(n),o=[1,0,0],u=oh(r,i),c=ih(u,u),s=u[0],f=c-s*s;if(!f)return!e&&t;var l=a*c/f,h=-a*s/f,p=oh(o,u),d=ah(o,l),v=ah(u,h);uh(d,v);var _=p,y=ih(d,_),g=ih(_,_),m=y*y-g*(ih(d,d)-1);if(!(m<0)){var x=rb(m),b=ah(_,(-y-x)/g);if(uh(b,d),b=eh(b),!e)return b;var w,M=t[0],T=n[0],k=t[1],N=n[1];T<M&&(w=M,M=T,T=w);var S=T-M,E=Wx(S-Yx)<Fx,A=E||S<Fx;if(!E&&N<k&&(w=k,k=N,N=w),A?E?k+N>0^b[1]<(Wx(b[0]-M)<Fx?k:N):k<=b[1]&&b[1]<=N:S>Yx^(M<=b[0]&&b[0]<=T)){var C=ah(_,(-y+x)/g);return uh(C,d),[b,eh(C)]}}}function u(n,e){var r=c?t:Yx-t,i=0;return n<-r?i|=1:n>r&&(i|=2),e<-r?i|=4:e>r&&(i|=8),i}var a=Gx(t),c=a>0,s=Wx(a)>Fx;return Np(r,i,e,c?[0,-t]:[-Yx,t-Yx])}function Lp(t){return{stream:qp(t)}}function qp(t){function n(){}var e=n.prototype=Object.create(Up.prototype);for(var r in t)e[r]=t[r];return function(t){var e=new n;return e.stream=t,e}}function Up(){}function Rp(t,n){return+n?Op(t,n):Dp(t)}function Dp(t){return qp({point:function(n,e){n=t(n,e),this.stream.point(n[0],n[1])}})}function Op(t,n){function e(r,i,o,u,a,c,s,f,l,h,p,d,v,_){var y=s-r,g=f-i,m=y*y+g*g;if(m>4*n&&v--){var x=u+h,b=a+p,w=c+d,M=rb(x*x+b*b+w*w),T=Hl(w/=M),k=Wx(Wx(w)-1)<Fx||Wx(o-l)<Fx?(o+l)/2:Zx(b,x),N=t(k,T),S=N[0],E=N[1],A=S-r,C=E-i,z=g*A-y*C;(z*z/m>n||Wx((y*A+g*C)/m-.5)>.3||u*h+a*p+c*d<$b)&&(e(r,i,o,u,a,c,S,E,k,x/=M,b/=M,w,v,_),_.point(S,E),e(S,E,k,x,b,w,s,f,l,h,p,d,v,_))}}return function(n){function r(e,r){e=t(e,r),n.point(e[0],e[1])}function i(){y=NaN,w.point=o,n.lineStart()}function o(r,i){var o=rh([r,i]),u=t(r,i);e(y,g,_,m,x,b,y=u[0],g=u[1],_=r,m=o[0],x=o[1],b=o[2],Wb,n),n.point(y,g)}function u(){w.point=r,n.lineEnd()}function a(){i(),w.point=c,w.lineEnd=s}function c(t,n){o(f=t,n),l=y,h=g,p=m,d=x,v=b,w.point=o}function s(){e(y,g,_,m,x,b,l,h,f,p,d,v,Wb,n),w.lineEnd=u,u()}var f,l,h,p,d,v,_,y,g,m,x,b,w={point:r,lineStart:i,lineEnd:u,polygonStart:function(){n.polygonStart(),w.lineStart=a},polygonEnd:function(){n.polygonEnd(),w.lineStart=i}};return w}}function Fp(t){return Ip(function(){return t})()}function Ip(t){function n(t){return t=f(t[0]*Vx,t[1]*Vx),[t[0]*_+a,c-t[1]*_]}function e(t){return t=f.invert((t[0]-a)/_,(c-t[1])/_),t&&[t[0]*Xx,t[1]*Xx]}function r(t,n){return t=u(t,n),[t[0]*_+a,c-t[1]*_]}function i(){f=Ph(s=qh(b,w,M),u);var t=u(m,x);return a=y-t[0]*_,c=g+t[1]*_,o()}function o(){return d=v=null,n}var u,a,c,s,f,l,h,p,d,v,_=150,y=480,g=250,m=0,x=0,b=0,w=0,M=0,T=null,k=Vb,N=null,S=up,E=.5,A=Rp(r,E);return n.stream=function(t){return d&&v===t?d:d=Zb(k(s,A(S(v=t))))},n.clipAngle=function(t){return arguments.length?(k=+t?Pp(T=t*Vx,6*Vx):(T=null,Vb),o()):T*Xx},n.clipExtent=function(t){return arguments.length?(S=null==t?(N=l=h=p=null,up):$h(N=+t[0][0],l=+t[0][1],h=+t[1][0],p=+t[1][1]),o()):null==N?null:[[N,l],[h,p]]},n.scale=function(t){return arguments.length?(_=+t,i()):_},n.translate=function(t){return arguments.length?(y=+t[0],g=+t[1],i()):[y,g]},n.center=function(t){return arguments.length?(m=t[0]%360*Vx,x=t[1]%360*Vx,i()):[m*Xx,x*Xx]},n.rotate=function(t){return arguments.length?(b=t[0]%360*Vx,w=t[1]%360*Vx,M=t.length>2?t[2]%360*Vx:0,i()):[b*Xx,w*Xx,M*Xx]},n.precision=function(t){return arguments.length?(A=Rp(r,E=t*t),o()):rb(E)},function(){return u=t.apply(this,arguments),n.invert=u.invert&&e,i()}}function Yp(t){var n=0,e=Yx/3,r=Ip(t),i=r(n,e);return i.parallels=function(t){return arguments.length?r(n=t[0]*Vx,e=t[1]*Vx):[n*Xx,e*Xx]},i}function Bp(t,n){function e(t,n){var e=rb(o-2*i*nb(n))/i;return[e*nb(t*=i),u-e*Gx(t)]}var r=nb(t),i=(r+nb(n))/2,o=1+r*(2*i-r),u=rb(o)/i;return e.invert=function(t,n){var e=u-n;return[Zx(t,e)/i,Hl((o-(t*t+e*e)*i*i)/(2*i))]},e}function jp(){return Yp(Bp).scale(151).translate([480,347])}function Hp(){return jp().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])}function Xp(t){var n=t.length;return{point:function(e,r){for(var i=-1;++i<n;)t[i].point(e,r)},sphere:function(){for(var e=-1;++e<n;)t[e].sphere()},lineStart:function(){for(var e=-1;++e<n;)t[e].lineStart()},lineEnd:function(){for(var e=-1;++e<n;)t[e].lineEnd()},polygonStart:function(){for(var e=-1;++e<n;)t[e].polygonStart()},polygonEnd:function(){for(var e=-1;++e<n;)t[e].polygonEnd()}}}function Vp(){function t(t){var n=t[0],e=t[1];return u=null,r.point(n,e),u||(i.point(n,e),u)||(o.point(n,e),u)}var n,e,r,i,o,u,a=Hp(),c=jp().rotate([154,0]).center([-2,58.5]).parallels([55,65]),s=jp().rotate([157,0]).center([-3,19.9]).parallels([8,18]),f={point:function(t,n){u=[t,n]}};return t.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?c:i>=.166&&i<.234&&r>=-.214&&r<-.115?s:a).invert(t)},t.stream=function(t){return n&&e===t?n:n=Xp([a.stream(e=t),c.stream(t),s.stream(t)])},t.precision=function(n){return arguments.length?(a.precision(n),c.precision(n),s.precision(n),t):a.precision()},t.scale=function(n){return arguments.length?(a.scale(n),c.scale(.35*n),s.scale(n),t.translate(a.translate())):a.scale()},t.translate=function(n){if(!arguments.length)return a.translate();var e=a.scale(),u=+n[0],l=+n[1];return r=a.translate(n).clipExtent([[u-.455*e,l-.238*e],[u+.455*e,l+.238*e]]).stream(f),i=c.translate([u-.307*e,l+.201*e]).clipExtent([[u-.425*e+Fx,l+.12*e+Fx],[u-.214*e-Fx,l+.234*e-Fx]]).stream(f),o=s.translate([u-.205*e,l+.212*e]).clipExtent([[u-.214*e+Fx,l+.166*e+Fx],[u-.115*e-Fx,l+.234*e-Fx]]).stream(f),t},t.scale(1070)}function Wp(t){return function(n,e){var r=Gx(n),i=Gx(e),o=t(r*i);return[o*i*nb(n),o*nb(e)]}}function $p(t){return function(n,e){var r=rb(n*n+e*e),i=t(r),o=nb(i),u=Gx(i);return[Zx(n*o,r*u),Hl(r&&e*o/r)]}}function Zp(){return Fp(Gb).scale(120).clipAngle(179.999)}function Gp(){return Fp(Jb).scale(480/Hx).clipAngle(179.999)}function Jp(t,n){return[t,Kx(ib((Bx+n)/2))]}function Qp(){return Kp(Jp)}function Kp(t){var n,e=Fp(t),r=e.scale,i=e.translate,o=e.clipExtent;return e.scale=function(t){return arguments.length?(r(t),n&&e.clipExtent(null),e):r()},e.translate=function(t){return arguments.length?(i(t),n&&e.clipExtent(null),e):i()},e.clipExtent=function(t){if(!arguments.length)return n?null:o();if(n=null==t){var u=Yx*r(),a=i();t=[[a[0]-u,a[1]-u],[a[0]+u,a[1]+u]]}return o(t),e},e.clipExtent(null).scale(961/Hx)}function td(t){return ib((Bx+t)/2)}function nd(t,n){function e(t,n){o>0?n<-Bx+Fx&&(n=-Bx+Fx):n>Bx-Fx&&(n=Bx-Fx);var e=o/tb(td(n),i);return[e*nb(i*t),o-e*Gx(i*t)]}var r=Gx(t),i=t===n?nb(t):Kx(r/Gx(n))/Kx(td(n)/td(t)),o=r*tb(td(t),i)/i;return i?(e.invert=function(t,n){var e=o-n,r=eb(i)*rb(t*t+e*e);return[Zx(t,e)/i,2*$x(tb(o/r,1/i))-Bx]},e):Jp}function ed(){return Yp(nd)}function rd(t,n){return[t,n]}function id(){return Fp(rd).scale(480/Yx)}function od(t,n){function e(t,n){var e=o-n,r=i*t;return[e*nb(r),o-e*Gx(r)]}var r=Gx(t),i=t===n?nb(t):(r-Gx(n))/(n-t),o=r/i+t;return Wx(i)<Fx?rd:(e.invert=function(t,n){var e=o-n;return[Zx(t,e)/i,o-eb(i)*rb(t*t+e*e)]},e)}function ud(){return Yp(od).scale(128).translate([480,280])}function ad(t,n){var e=Gx(n),r=Gx(t)*e;return[e*nb(t)/r,nb(n)/r]}function cd(){return Fp(ad).scale(139).clipAngle(60)}function sd(t,n){return[Gx(n)*nb(t),nb(n)]}function fd(){return Fp(sd).scale(240).clipAngle(90+Fx)}function ld(t,n){var e=Gx(n),r=1+Gx(t)*e;return[e*nb(t)/r,nb(n)/r]}function hd(){return Fp(ld).scale(240).clipAngle(142)}function pd(t,n){return[Kx(ib((Bx+n)/2)),-t]}function dd(){var t=Kp(pd),n=t.center,e=t.rotate;return t.center=function(t){return arguments.length?n([-t[1],t[0]]):(t=n(),[t[1],-t[0]])},t.rotate=function(t){return arguments.length?e([t[0],t[1],t.length>2?t[2]+90:90]):(t=e(),[t[0],t[1],t[2]-90])},e([0,0,90])}var vd="4.0.0",_d=e(n),yd=_d.right,gd=_d.left,md=Array.prototype,xd=md.slice,bd=md.map,wd=Math.sqrt(50),Md=Math.sqrt(10),Td=Math.sqrt(2),kd="$";P.prototype=L.prototype={constructor:P,has:function(t){return kd+t in this},get:function(t){return this[kd+t]},set:function(t,n){return this[kd+t]=n,this},remove:function(t){var n=kd+t;return n in this&&delete this[n]},clear:function(){for(var t in this)t[0]===kd&&delete this[t]},keys:function(){var t=[];for(var n in this)n[0]===kd&&t.push(n.slice(1));return t},values:function(){var t=[];for(var n in this)n[0]===kd&&t.push(this[n]);return t},entries:function(){var t=[];for(var n in this)n[0]===kd&&t.push({key:n.slice(1),value:this[n]});return t},size:function(){var t=0;for(var n in this)n[0]===kd&&++t;return t},empty:function(){for(var t in this)if(t[0]===kd)return!1;return!0},each:function(t){for(var n in this)n[0]===kd&&t(this[n],n.slice(1),this)}};var Nd=L.prototype;F.prototype=I.prototype={constructor:F,has:Nd.has,add:function(t){return t+="",this[kd+t]=t,this},remove:Nd.remove,clear:Nd.clear,values:Nd.keys,size:Nd.size,empty:Nd.empty,each:Nd.each};var Sd=3,Ed=function Qb(t){function n(n){return Math.pow(n,t)}return t=+t,n.exponent=Qb,n}(Sd),Ad=function Kb(t){function n(n){return 1-Math.pow(1-n,t)}return t=+t,n.exponent=Kb,n}(Sd),Cd=function tw(t){function n(n){return((n*=2)<=1?Math.pow(n,t):2-Math.pow(2-n,t))/2}return t=+t,n.exponent=tw,n}(Sd),zd=Math.PI,Pd=zd/2,Ld=4/11,qd=6/11,Ud=8/11,Rd=.75,Dd=9/11,Od=10/11,Fd=.9375,Id=21/22,Yd=63/64,Bd=1/Ld/Ld,jd=1.70158,Hd=function nw(t){function n(n){return n*n*((t+1)*n-t)}return t=+t,n.overshoot=nw,n}(jd),Xd=function ew(t){function n(n){return--n*n*((t+1)*n+t)+1}return t=+t,n.overshoot=ew,n}(jd),Vd=function rw(t){function n(n){return((n*=2)<1?n*n*((t+1)*n-t):(n-=2)*n*((t+1)*n+t)+2)/2}return t=+t,n.overshoot=rw,n}(jd),Wd=2*Math.PI,$d=1,Zd=.3,Gd=function iw(t,n){function e(e){return t*Math.pow(2,10*--e)*Math.sin((r-e)/n)}var r=Math.asin(1/(t=Math.max(1,t)))*(n/=Wd);return e.amplitude=function(t){return iw(t,n*Wd)},e.period=function(n){return iw(t,n)},e}($d,Zd),Jd=function ow(t,n){function e(e){return 1-t*Math.pow(2,-10*(e=+e))*Math.sin((e+r)/n)}var r=Math.asin(1/(t=Math.max(1,t)))*(n/=Wd);return e.amplitude=function(t){return ow(t,n*Wd)},e.period=function(n){return ow(t,n)},e}($d,Zd),Qd=function uw(t,n){function e(e){return((e=2*e-1)<0?t*Math.pow(2,10*e)*Math.sin((r-e)/n):2-t*Math.pow(2,-10*e)*Math.sin((r+e)/n))/2}var r=Math.asin(1/(t=Math.max(1,t)))*(n/=Wd);return e.amplitude=function(t){return uw(t,n*Wd)},e.period=function(n){return uw(t,n)},e}($d,Zd),Kd=Math.PI,tv=2*Kd,nv=1e-6,ev=tv-nv;Mt.prototype=Tt.prototype={constructor:Mt,moveTo:function(t,n){this._.push("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._.push("Z"))},lineTo:function(t,n){this._.push("L",this._x1=+t,",",this._y1=+n)},quadraticCurveTo:function(t,n,e,r){this._.push("Q",+t,",",+n,",",this._x1=+e,",",this._y1=+r)},bezierCurveTo:function(t,n,e,r,i,o){this._.push("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,u=this._y1,a=e-t,c=r-n,s=o-t,f=u-n,l=s*s+f*f;if(i<0)throw new Error("negative radius: "+i);if(null===this._x1)this._.push("M",this._x1=t,",",this._y1=n);else if(l>nv)if(Math.abs(f*a-c*s)>nv&&i){var h=e-o,p=r-u,d=a*a+c*c,v=h*h+p*p,_=Math.sqrt(d),y=Math.sqrt(l),g=i*Math.tan((Kd-Math.acos((d+l-v)/(2*_*y)))/2),m=g/y,x=g/_;Math.abs(m-1)>nv&&this._.push("L",t+m*s,",",n+m*f),this._.push("A",i,",",i,",0,0,",+(f*h>s*p),",",this._x1=t+x*a,",",this._y1=n+x*c)}else this._.push("L",this._x1=t,",",this._y1=n);else;},arc:function(t,n,e,r,i,o){t=+t,n=+n,e=+e;var u=e*Math.cos(r),a=e*Math.sin(r),c=t+u,s=n+a,f=1^o,l=o?r-i:i-r;if(e<0)throw new Error("negative radius: "+e);null===this._x1?this._.push("M",c,",",s):(Math.abs(this._x1-c)>nv||Math.abs(this._y1-s)>nv)&&this._.push("L",c,",",s),e&&(l>ev?this._.push("A",e,",",e,",0,1,",f,",",t-u,",",n-a,"A",e,",",e,",0,1,",f,",",this._x1=c,",",this._y1=s):(l<0&&(l=l%tv+tv),this._.push("A",e,",",e,",0,",+(l>=Kd),",",f,",",this._x1=t+e*Math.cos(i),",",this._y1=n+e*Math.sin(i))))},rect:function(t,n,e,r){this._.push("M",this._x0=this._x1=+t,",",this._y0=this._y1=+n,"h",+e,"v",+r,"h",-e,"Z")},toString:function(){return this._.join("")}};var rv=jt.prototype=Ht.prototype;rv.copy=function(){var t,n,e=new Ht(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=Xt(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]=Xt(n));return e},rv.add=kt,rv.addAll=St,rv.cover=Et,rv.data=At,rv.extent=Ct,rv.find=Pt,rv.remove=Lt,rv.removeAll=qt,rv.root=Ut,rv.size=Rt,rv.visit=Dt,rv.visitAfter=Ot,rv.x=It,rv.y=Bt;var iv=[].slice,ov={};Vt.prototype=Qt.prototype={constructor:Vt,defer:function(t){if("function"!=typeof t||this._call)throw new Error;if(null!=this._error)return this;var n=iv.call(arguments,1);return n.push(t),++this._waiting,this._tasks.push(n),Wt(this),this},abort:function(){return null==this._error&&Gt(this,new Error("abort")),this},await:function(t){if("function"!=typeof t||this._call)throw new Error;return this._call=function(n,e){t.apply(null,[n].concat(e))},Jt(this),this},awaitAll:function(t){if("function"!=typeof t||this._call)throw new Error;return this._call=t,Jt(this),this}};var uv=1e-12,av=Math.PI,cv=av/2,sv=2*av;fn.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 fv=xn(ln);mn.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 lv={draw:function(t,n){var e=Math.sqrt(n/av);t.moveTo(e,0),t.arc(0,0,e,0,sv)}},hv={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()}},pv=Math.sqrt(1/3),dv=2*pv,vv={draw:function(t,n){var e=Math.sqrt(n/dv),r=e*pv;t.moveTo(0,-e),t.lineTo(r,0),t.lineTo(0,e),t.lineTo(-r,0),t.closePath()}},_v=.8908130915292852,yv=Math.sin(av/10)/Math.sin(7*av/10),gv=Math.sin(sv/10)*yv,mv=-Math.cos(sv/10)*yv,xv={draw:function(t,n){var e=Math.sqrt(n*_v),r=gv*e,i=mv*e;t.moveTo(0,-e),t.lineTo(r,i);for(var o=1;o<5;++o){var u=sv*o/5,a=Math.cos(u),c=Math.sin(u);t.lineTo(c*e,-a*e),t.lineTo(a*r-c*i,c*r+a*i)}t.closePath()}},bv={draw:function(t,n){var e=Math.sqrt(n),r=-e/2;t.rect(r,r,e,e)}},wv=Math.sqrt(3),Mv={draw:function(t,n){var e=-Math.sqrt(n/(3*wv));t.moveTo(0,2*e),t.lineTo(-wv*e,-e),t.lineTo(wv*e,-e),t.closePath()}},Tv=-.5,kv=Math.sqrt(3)/2,Nv=1/Math.sqrt(12),Sv=3*(Nv/2+1),Ev={draw:function(t,n){var e=Math.sqrt(n/Sv),r=e/2,i=e*Nv,o=r,u=e*Nv+e,a=-o,c=u;t.moveTo(r,i),t.lineTo(o,u),t.lineTo(a,c),t.lineTo(Tv*r-kv*i,kv*r+Tv*i),t.lineTo(Tv*o-kv*u,kv*o+Tv*u),t.lineTo(Tv*a-kv*c,kv*a+Tv*c),t.lineTo(Tv*r+kv*i,Tv*i-kv*r),t.lineTo(Tv*o+kv*u,Tv*u-kv*o),t.lineTo(Tv*a+kv*c,Tv*c-kv*a),t.closePath()}},Av=[lv,hv,vv,bv,xv,Mv,Ev];Sn.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:Nn(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:Nn(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}},An.prototype={areaStart:kn,areaEnd:kn,
+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:Nn(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}},zn.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:Nn(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}},Ln.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],u=t[e]-i,a=n[e]-o,c=-1;++c<=e;)r=c/e,this._basis.point(this._beta*t[c]+(1-this._beta)*(i+r*u),this._beta*n[c]+(1-this._beta)*(o+r*a));this._x=this._y=null,this._basis.lineEnd()},point:function(t,n){this._x.push(+t),this._y.push(+n)}};var Cv=function aw(t){function n(n){return 1===t?new Sn(n):new Ln(n,t)}return n.beta=function(t){return aw(+t)},n}(.85);Un.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:qn(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:qn(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 zv=function cw(t){function n(n){return new Un(n,t)}return n.tension=function(t){return cw(+t)},n}(0);Rn.prototype={areaStart:kn,areaEnd:kn,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:qn(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 Pv=function sw(t){function n(n){return new Rn(n,t)}return n.tension=function(t){return sw(+t)},n}(0);Dn.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:qn(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 Lv=function fw(t){function n(n){return new Dn(n,t)}return n.tension=function(t){return fw(+t)},n}(0);Fn.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,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:On(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 qv=function lw(t){function n(n){return t?new Fn(n,t):new Un(n,0)}return n.alpha=function(t){return lw(+t)},n}(.5);In.prototype={areaStart:kn,areaEnd:kn,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:On(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 Uv=function hw(t){function n(n){return t?new In(n,t):new Rn(n,0)}return n.alpha=function(t){return hw(+t)},n}(.5);Yn.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:On(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 Rv=function pw(t){function n(n){return t?new Yn(n,t):new Dn(n,0)}return n.alpha=function(t){return pw(+t)},n}(.5);Bn.prototype={areaStart:kn,areaEnd:kn,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))}},$n.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:Wn(this,this._t0,Vn(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(t=+t,n=+n,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,Wn(this,Vn(this,e=Xn(this,t,n)),e);break;default:Wn(this,this._t0,e=Xn(this,t,n))}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n,this._t0=e}}},(Zn.prototype=Object.create($n.prototype)).point=function(t,n){$n.prototype.point.call(this,n,t)},Gn.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)}},Kn.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=te(t),i=te(n),o=0,u=1;u<e;++o,++u)this._context.bezierCurveTo(r[0][o],i[0][o],r[1][o],i[1][o],t[u],n[u]);(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)}},ee.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 Dv=Array.prototype.slice,Ov=.7,Fv=1/Ov,Iv=/^#([0-9a-f]{3})$/,Yv=/^#([0-9a-f]{6})$/,Bv=/^rgb\(\s*([-+]?\d+)\s*,\s*([-+]?\d+)\s*,\s*([-+]?\d+)\s*\)$/,jv=/^rgb\(\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*\)$/,Hv=/^rgba\(\s*([-+]?\d+)\s*,\s*([-+]?\d+)\s*,\s*([-+]?\d+)\s*,\s*([-+]?\d+(?:\.\d+)?)\s*\)$/,Xv=/^rgba\(\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)\s*\)$/,Vv=/^hsl\(\s*([-+]?\d+(?:\.\d+)?)\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*\)$/,Wv=/^hsla\(\s*([-+]?\d+(?:\.\d+)?)\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)\s*\)$/,$v={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};ge(xe,be,{displayable:function(){return this.rgb().displayable()},toString:function(){return this.rgb()+""}}),ge(Ne,ke,me(xe,{brighter:function(t){return t=null==t?Fv:Math.pow(Fv,t),new Ne(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?Ov:Math.pow(Ov,t),new Ne(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&0<=this.g&&this.g<=255&&0<=this.b&&this.b<=255&&0<=this.opacity&&this.opacity<=1},toString:function(){var t=this.opacity;return t=isNaN(t)?1:Math.max(0,Math.min(1,t)),(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+")")}})),ge(Ce,Ae,me(xe,{brighter:function(t){return t=null==t?Fv:Math.pow(Fv,t),new Ce(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?Ov:Math.pow(Ov,t),new Ce(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 Ne(ze(t>=240?t-240:t+120,i,r),ze(t,i,r),ze(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}}));var Zv=Math.PI/180,Gv=180/Math.PI,Jv=18,Qv=.95047,Kv=1,t_=1.08883,n_=4/29,e_=6/29,r_=3*e_*e_,i_=e_*e_*e_;ge(qe,Le,me(xe,{brighter:function(t){return new qe(this.l+Jv*(null==t?1:t),this.a,this.b,this.opacity)},darker:function(t){return new qe(this.l-Jv*(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 t=Kv*Re(t),n=Qv*Re(n),e=t_*Re(e),new Ne(De(3.2404542*n-1.5371385*t-.4985314*e),De(-.969266*n+1.8760108*t+.041556*e),De(.0556434*n-.2040259*t+1.0572252*e),this.opacity)}})),ge(Ye,Ie,me(xe,{brighter:function(t){return new Ye(this.h,this.c,this.l+Jv*(null==t?1:t),this.opacity)},darker:function(t){return new Ye(this.h,this.c,this.l-Jv*(null==t?1:t),this.opacity)},rgb:function(){return Pe(this).rgb()}}));var o_=-.14861,u_=1.78277,a_=-.29227,c_=-.90649,s_=1.97294,f_=s_*c_,l_=s_*u_,h_=u_*a_-c_*o_;ge(He,je,me(xe,{brighter:function(t){return t=null==t?Fv:Math.pow(Fv,t),new He(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?Ov:Math.pow(Ov,t),new He(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*Zv,n=+this.l,e=isNaN(this.s)?0:this.s*n*(1-n),r=Math.cos(t),i=Math.sin(t);return new Ne(255*(n+e*(o_*r+u_*i)),255*(n+e*(a_*r+c_*i)),255*(n+e*(s_*r)),this.opacity)}}));var p_,d_,v_,__,y_=function dw(t){function n(t,n){var r=e((t=ke(t)).r,(n=ke(n)).r),i=e(t.g,n.g),o=e(t.b,n.b),u=e(t.opacity,n.opacity);return function(n){return t.r=r(n),t.g=i(n),t.b=o(n),t.opacity=u(n),t+""}}var e=Qe(t);return n.gamma=dw,n}(1),g_=tr(Ve),m_=tr(We),x_=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,b_=new RegExp(x_.source,"g"),w_=180/Math.PI,M_={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1},T_=hr(fr,"px, ","px)","deg)"),k_=hr(lr,", ",")",")"),N_=Math.SQRT2,S_=2,E_=4,A_=1e-12,C_=yr(Je),z_=yr(Ke),P_=mr(Je),L_=mr(Ke),q_=xr(Je),U_=xr(Ke),R_={value:function(){}};Mr.prototype=wr.prototype={constructor:Mr,on:function(t,n){var e,r=this._,i=Tr(t+"",r),o=-1,u=i.length;{if(!(arguments.length<2)){if(null!=n&&"function"!=typeof n)throw new Error("invalid callback: "+n);for(;++o<u;)if(e=(t=i[o]).type)r[e]=Nr(r[e],t.name,n);else if(null==n)for(e in r)r[e]=Nr(r[e],t.name,null);return this}for(;++o<u;)if((e=(t=i[o]).type)&&(e=kr(r[e],t.name)))return e}},copy:function(){var t={},n=this._;for(var e in n)t[e]=n[e].slice();return new Mr(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(r=this._[t],o=0,e=r.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 D_,O_,F_=Cr(","),I_=F_.parse,Y_=F_.parseRows,B_=F_.format,j_=F_.formatRows,H_=Cr("\t"),X_=H_.parse,V_=H_.parseRows,W_=H_.format,$_=H_.formatRows,Z_=qr("text/html",function(t){return document.createRange().createContextualFragment(t.responseText)}),G_=qr("application/json",function(t){return JSON.parse(t.responseText)}),J_=qr("text/plain",function(t){return t.responseText}),Q_=qr("application/xml",function(t){var n=t.responseXML;if(!n)throw new Error("parse error");return n}),K_=Ur("text/csv",I_),ty=Ur("text/tab-separated-values",X_),ny=0,ey=0,ry=0,iy=1e3,oy=0,uy=0,ay=0,cy="object"==typeof performance?performance:Date,sy="function"==typeof requestAnimationFrame?cy===Date?function(t){requestAnimationFrame(function(){t(cy.now())})}:requestAnimationFrame:function(t){setTimeout(t,17)};Fr.prototype=Ir.prototype={constructor:Fr,restart:function(t,n,e){if("function"!=typeof t)throw new TypeError("callback is not a function");e=(null==e?Dr():+e)+(null==n?0:+n),this._next||O_===this||(O_?O_._next=this:D_=this,O_=this),this._call=t,this._time=e,Xr()},stop:function(){this._call&&(this._call=null,this._time=1/0,Xr())}};var fy=new Date,ly=new Date,hy=$r(function(){},function(t,n){t.setTime(+t+n)},function(t,n){return n-t});hy.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?$r(function(n){n.setTime(Math.floor(n/t)*t)},function(n,e){n.setTime(+n+e*t)},function(n,e){return(e-n)/t}):hy:null};var py=hy.range,dy=1e3,vy=6e4,_y=36e5,yy=864e5,gy=6048e5,my=$r(function(t){t.setTime(Math.floor(t/dy)*dy)},function(t,n){t.setTime(+t+n*dy)},function(t,n){return(n-t)/dy},function(t){return t.getUTCSeconds()}),xy=my.range,by=$r(function(t){t.setTime(Math.floor(t/vy)*vy)},function(t,n){t.setTime(+t+n*vy)},function(t,n){return(n-t)/vy},function(t){return t.getMinutes()}),wy=by.range,My=$r(function(t){var n=t.getTimezoneOffset()*vy%_y;n<0&&(n+=_y),t.setTime(Math.floor((+t-n)/_y)*_y+n)},function(t,n){t.setTime(+t+n*_y)},function(t,n){return(n-t)/_y},function(t){return t.getHours()}),Ty=My.range,ky=$r(function(t){t.setHours(0,0,0,0)},function(t,n){t.setDate(t.getDate()+n)},function(t,n){return(n-t-(n.getTimezoneOffset()-t.getTimezoneOffset())*vy)/yy},function(t){return t.getDate()-1}),Ny=ky.range,Sy=Zr(0),Ey=Zr(1),Ay=Zr(2),Cy=Zr(3),zy=Zr(4),Py=Zr(5),Ly=Zr(6),qy=Sy.range,Uy=Ey.range,Ry=Ay.range,Dy=Cy.range,Oy=zy.range,Fy=Py.range,Iy=Ly.range,Yy=$r(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()}),By=Yy.range,jy=$r(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()});jy.every=function(t){return isFinite(t=Math.floor(t))&&t>0?$r(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 Hy=jy.range,Xy=$r(function(t){t.setUTCSeconds(0,0)},function(t,n){t.setTime(+t+n*vy)},function(t,n){return(n-t)/vy},function(t){return t.getUTCMinutes()}),Vy=Xy.range,Wy=$r(function(t){t.setUTCMinutes(0,0,0)},function(t,n){t.setTime(+t+n*_y)},function(t,n){return(n-t)/_y},function(t){return t.getUTCHours()}),$y=Wy.range,Zy=$r(function(t){t.setUTCHours(0,0,0,0)},function(t,n){t.setUTCDate(t.getUTCDate()+n)},function(t,n){return(n-t)/yy},function(t){return t.getUTCDate()-1}),Gy=Zy.range,Jy=Gr(0),Qy=Gr(1),Ky=Gr(2),tg=Gr(3),ng=Gr(4),eg=Gr(5),rg=Gr(6),ig=Jy.range,og=Qy.range,ug=Ky.range,ag=tg.range,cg=ng.range,sg=eg.range,fg=rg.range,lg=$r(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()}),hg=lg.range,pg=$r(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()});pg.every=function(t){return isFinite(t=Math.floor(t))&&t>0?$r(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 dg,vg=pg.range,_g={"":ti,"%":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 ei(100*t,n)},r:ei,s:ni,X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}},yg=/^(?:(.)?([<>=^]))?([+\-\( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?([a-z%])?$/i;ii.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(null==this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(null==this.precision?"":"."+Math.max(0,0|this.precision))+this.type};var gg,mg=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];t.format,t.formatPrefix,ai({decimal:".",thousands:",",grouping:[3],currency:["$",""]});var xg,bg={"-":"",_:" ",0:"0"},wg=/^\s*\d+/,Mg=/^%/,Tg=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g;t.timeFormat,t.timeParse,t.utcFormat,t.utcParse,co({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"]});var kg="%Y-%m-%dT%H:%M:%S.%LZ",Ng=Date.prototype.toISOString?so:t.utcFormat(kg),Sg=+new Date("2000-01-01T00:00:00.000Z")?fo:t.utcParse(kg),Eg=Array.prototype,Ag=Eg.map,Cg=Eg.slice,zg={name:"implicit"},Pg=[0,1],Lg=1e3,qg=60*Lg,Ug=60*qg,Rg=24*Ug,Dg=7*Rg,Og=30*Rg,Fg=365*Rg,Ig=$o("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"),Yg=$o("393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6"),Bg=$o("3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9"),jg=$o("1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5"),Hg=U_(je(300,.5,0),je(-240,.5,1)),Xg=U_(je(-100,.75,.35),je(80,1.5,.8)),Vg=U_(je(260,.75,.35),je(80,1.5,.8)),Wg=je(),$g=Go($o("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725")),Zg=Go($o("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),Gg=Go($o("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),Jg=Go($o("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921")),Qg="http://www.w3.org/1999/xhtml",Kg={svg:"http://www.w3.org/2000/svg",xhtml:Qg,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},tm=0;ru.prototype=eu.prototype={constructor:ru,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 nm=function(t){return function(){return this.matches(t)}};if("undefined"!=typeof document){var em=document.documentElement;if(!em.matches){var rm=em.webkitMatchesSelector||em.msMatchesSelector||em.mozMatchesSelector||em.oMatchesSelector;nm=function(t){return function(){return rm.call(this,t)}}}}var im=nm,om={};if(t.event=null,"undefined"!=typeof document){var um=document.documentElement;"onmouseenter"in um||(om={mouseenter:"mouseover",
+mouseleave:"mouseout"})}Mu.prototype={constructor:Mu,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)}};var am="$";ra.prototype={add:function(t){var n=this._names.indexOf(t);n<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}};var cm=[null];Pa.prototype=La.prototype={constructor:Pa,select:_u,selectAll:mu,filter:xu,data:Su,enter:wu,exit:Eu,merge:Au,order:Cu,sort:zu,call:Lu,nodes:qu,node:Uu,size:Ru,empty:Du,each:Ou,attr:Xu,style:Gu,property:ta,classed:sa,text:pa,html:ya,raise:ma,lower:ba,append:wa,insert:Ta,remove:Na,datum:Sa,on:su,dispatch:za};var sm=wr("start","end","interrupt"),fm=[],lm=0,hm=1,pm=2,dm=3,vm=4,_m=5,ym=La.prototype.constructor,gm=0,mm=La.prototype;Uc.prototype=Rc.prototype={constructor:Uc,select:bc,selectAll:wc,filter:dc,merge:vc,selection:Mc,transition:qc,call:mm.call,nodes:mm.nodes,node:mm.node,size:mm.size,empty:mm.empty,each:mm.each,on:gc,attr:ec,attrTween:oc,style:Ec,styleTween:Cc,text:Lc,remove:xc,tween:Wa,delay:cc,duration:lc,ease:pc};var xm={time:null,delay:0,duration:250,ease:et};La.prototype.interrupt=Ha,La.prototype.transition=Fc;var bm=[null],wm=Array.prototype.slice,Mm=1,Tm=2,km=3,Nm=4,Sm=1e-6;bs.prototype=_s.prototype={constructor:bs,each:os,eachAfter:as,eachBefore:us,sum:cs,sort:ss,path:fs,ancestors:hs,descendants:ps,leaves:ds,links:vs,copy:ys};var Em="$",Am={depth:-1},Cm={};rf.prototype=Object.create(bs.prototype);var zm=(1+Math.sqrt(5))/2,Pm=function vw(t){function n(n,e,r,i,o){cf(t,n,e,r,i,o)}return n.ratio=function(t){return vw((t=+t)>1?t:1)},n}(zm),Lm=function _w(t){function n(n,e,r,i,o){if((u=n._squarify)&&u.ratio===t)for(var u,a,c,s,f,l=-1,h=u.length,p=n.value;++l<h;){for(a=u[l],c=a.children,s=a.value=0,f=c.length;s<f;++s)a.value+=c[s].value;a.dice?Vs(a,e,r,i,r+=(o-r)*a.value/p):af(a,e,r,e+=(i-e)*a.value/p,o),p-=a.value}else n._squarify=u=cf(t,n,e,r,i,o),u.ratio=t}return n.ratio=function(t){return _w((t=+t)>1?t:1)},n}(zm),qm=10,Um=Math.PI*(3-Math.sqrt(5));zf.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t},Ff.prototype={constructor:Ff,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=jf(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;)r=e.U,e===r.L?(i=r.R,i&&i.C?(e.C=i.C=!1,r.C=!0,t=r):(t===e.R&&(Yf(this,e),t=e,e=t.U),e.C=!1,r.C=!0,Bf(this,r))):(i=r.L,i&&i.C?(e.C=i.C=!1,r.C=!0,t=r):(t===e.L&&(Bf(this,e),t=e,e=t.U),e.C=!1,r.C=!0,Yf(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,u=t.R;if(e=o?u?jf(u):o:u,i?i.L===t?i.L=e:i.R=e:this._=e,o&&u?(r=e.C,e.C=t.C,e.L=o,o.U=e,e!==u?(i=e.U,e.U=t.U,t=e.R,i.L=t,e.R=u,u.U=e):(e.U=i,i=e,t=e.R)):(r=t.C,t=e),t&&(t.U=i),!r){if(t&&t.C)return void(t.C=!1);do{if(t===this._)break;if(t===i.L){if(n=i.R,n.C&&(n.C=!1,i.C=!0,Yf(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,Bf(this,n),n=i.R),n.C=i.C,i.C=n.R.C=!1,Yf(this,i),t=this._;break}}else if(n=i.L,n.C&&(n.C=!1,i.C=!0,Bf(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,Yf(this,n),n=i.L),n.C=i.C,i.C=n.L.C=!1,Bf(this,i),t=this._;break}n.C=!0,t=i,i=i.U}while(!t.C);t&&(t.C=!1)}}};var Rm,Dm,Om,Fm,Im,Ym=[],Bm=[],jm=1e-6,Hm=1e-12;dl.prototype={constructor:dl,polygons:function(){var t=this.edges;return this.cells.map(function(n){var e=n.halfedges.map(function(e){return Qf(n,t[e])});return e.data=n.site.data,e})},triangles:function(){var t=[],n=this.edges;return this.cells.forEach(function(e,r){for(var i,o=e.site,u=e.halfedges,a=-1,c=u.length,s=n[u[c-1]],f=s.left===o?s.right:s.left;++a<c;)i=f,s=n[u[a]],f=s.left===o?s.right:s.left,r<i.index&&r<f.index&&hl(o,i,f)<0&&t.push([o.data,i.data,f.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}})}},gl.prototype={constructor:gl,scale:function(t){return 1===t?this:new gl(this.k*t,this.x,this.y)},translate:function(t,n){return 0===t&0===n?this:new gl(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 Xm=new gl(1,0,0);ml.prototype=gl.prototype;var Vm={name:"drag"},Wm={name:"space"},$m={name:"handle"},Zm={name:"center"},Gm={name:"x",handles:["e","w"].map(Cl),input:function(t,n){return t&&[[t[0],n[0][1]],[t[1],n[1][1]]]},output:function(t){return t&&[t[0][0],t[1][0]]}},Jm={name:"y",handles:["n","s"].map(Cl),input:function(t,n){return t&&[[n[0][0],t[0]],[n[1][0],t[1]]]},output:function(t){return t&&[t[0][1],t[1][1]]}},Qm={name:"xy",handles:["n","e","s","w","nw","ne","se","sw"].map(Cl),input:function(t){return t},output:function(t){return t}},Km={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"},tx={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},nx={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},ex={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},rx={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1};Yl.prototype={constructor:Yl,reset:function(){this.s=this.t=0},add:function(t){Bl(Ox,t,this.t),Bl(this,Ox.s,this.s),this.s?this.t+=Ox.t:this.s=Ox.t},valueOf:function(){return this.s}};var ix,ox,ux,ax,cx,sx,fx,lx,hx,px,dx,vx,_x,yx,gx,mx,xx,bx,wx,Mx,Tx,kx,Nx,Sx,Ex,Ax,Cx,zx,Px,Lx,qx,Ux,Rx,Dx,Ox=new Yl,Fx=1e-6,Ix=1e-12,Yx=Math.PI,Bx=Yx/2,jx=Yx/4,Hx=2*Yx,Xx=180/Yx,Vx=Yx/180,Wx=Math.abs,$x=Math.atan,Zx=Math.atan2,Gx=Math.cos,Jx=Math.ceil,Qx=Math.exp,Kx=Math.log,tb=Math.pow,nb=Math.sin,eb=Math.sign||function(t){return t>0?1:t<0?-1:0},rb=Math.sqrt,ib=Math.tan,ob={Feature:function(t,n){Wl(t.geometry,n)},FeatureCollection:function(t,n){for(var e=t.features,r=-1,i=e.length;++r<i;)Wl(e[r].geometry,n)}},ub={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){$l(t.coordinates,n,0)},MultiLineString:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)$l(e[r],n,0)},Polygon:function(t,n){Zl(t.coordinates,n)},MultiPolygon:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)Zl(e[r],n)},GeometryCollection:function(t,n){for(var e=t.geometries,r=-1,i=e.length;++r<i;)Wl(e[r],n)}},ab={point:Vl,lineStart:Vl,lineEnd:Vl,polygonStart:function(){ix.reset(),ab.lineStart=Jl,ab.lineEnd=Ql},polygonEnd:function(){var t=+ix;ox.add(t<0?Hx+t:t),this.lineStart=this.lineEnd=this.point=Vl},sphere:function(){ox.add(Hx)}},cb={point:sh,lineStart:lh,lineEnd:hh,polygonStart:function(){cb.point=ph,cb.lineStart=dh,cb.lineEnd=vh,mx.reset(),ab.polygonStart()},polygonEnd:function(){ab.polygonEnd(),cb.point=sh,cb.lineStart=lh,cb.lineEnd=hh,ix<0?(lx=-(px=180),hx=-(dx=90)):mx>Fx?dx=90:mx<-Fx&&(hx=-90),bx[0]=lx,bx[1]=px}},sb={sphere:Vl,point:xh,lineStart:wh,lineEnd:kh,polygonStart:function(){sb.lineStart=Nh,sb.lineEnd=Sh},polygonEnd:function(){sb.lineStart=wh,sb.lineEnd=kh}};Lh.invert=Lh;var fb,lb,hb,pb,db,vb,_b,yb,gb,mb,xb,bb,wb=1e9,Mb=-wb,Tb={sphere:Vl,point:Vl,lineStart:Gh,lineEnd:Vl,polygonStart:Vl,polygonEnd:Vl},kb=[null,null],Nb={type:"LineString",coordinates:kb},Sb=Il(),Eb=Il(),Ab={point:Vl,lineStart:Vl,lineEnd:Vl,polygonStart:function(){Ab.lineStart=ap,Ab.lineEnd=fp},polygonEnd:function(){Ab.lineStart=Ab.lineEnd=Ab.point=Vl,Sb.add(Wx(Eb)),Eb.reset()},result:function(){var t=Sb/2;return Sb.reset(),t}},Cb=1/0,zb=Cb,Pb=-Cb,Lb=Pb,qb={point:lp,lineStart:Vl,lineEnd:Vl,polygonStart:Vl,polygonEnd:Vl,result:function(){var t=[[Cb,zb],[Pb,Lb]];return Pb=Lb=-(zb=Cb=1/0),t}},Ub=0,Rb=0,Db=0,Ob=0,Fb=0,Ib=0,Yb=0,Bb=0,jb=0,Hb={point:hp,lineStart:pp,lineEnd:_p,polygonStart:function(){Hb.lineStart=yp,Hb.lineEnd=gp},polygonEnd:function(){Hb.point=hp,Hb.lineStart=pp,Hb.lineEnd=_p},result:function(){var t=jb?[Yb/jb,Bb/jb]:Ib?[Ob/Ib,Fb/Ib]:Db?[Ub/Db,Rb/Db]:[NaN,NaN];return Ub=Rb=Db=Ob=Fb=Ib=Yb=Bb=jb=0,t}},Xb=Il(),Vb=Np(function(){return!0},Ap,zp,[-Yx,-Bx]);Up.prototype={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 Wb=16,$b=Gx(30*Vx),Zb=qp({point:function(t,n){this.stream.point(t*Vx,n*Vx)}}),Gb=Wp(function(t){return rb(2/(1+t))});Gb.invert=$p(function(t){return 2*Hl(t/2)});var Jb=Wp(function(t){return(t=jl(t))&&t/nb(t)});Jb.invert=$p(function(t){return t}),Jp.invert=function(t,n){return[t,2*$x(Qx(n))-Bx]},rd.invert=rd,ad.invert=$p($x),sd.invert=$p(Hl),ld.invert=$p(function(t){return 2+$x(t)}),pd.invert=function(t,n){return[-n,2*$x(Qx(t))-Bx]},t.version=vd,t.bisect=yd,t.bisectRight=yd,t.bisectLeft=gd,t.ascending=n,t.bisector=e,t.descending=i,t.deviation=a,t.extent=c,t.histogram=v,t.thresholdFreedmanDiaconis=y,t.thresholdScott=g,t.thresholdSturges=d,t.max=m,t.mean=x,t.median=b,t.merge=w,t.min=M,t.pairs=T,t.permute=k,t.quantile=_,t.range=l,t.scan=N,t.shuffle=S,t.sum=E,t.ticks=h,t.tickStep=p,t.transpose=A,t.variance=u,t.zip=z,t.entries=j,t.keys=Y,t.values=B,t.map=L,t.set=I,t.nest=q,t.randomUniform=H,t.randomNormal=X,t.randomLogNormal=V,t.randomBates=$,t.randomIrwinHall=W,t.randomExponential=Z,t.easeLinear=G,t.easeQuad=K,t.easeQuadIn=J,t.easeQuadOut=Q,t.easeQuadInOut=K,t.easeCubic=et,t.easeCubicIn=tt,t.easeCubicOut=nt,t.easeCubicInOut=et,t.easePoly=Cd,t.easePolyIn=Ed,t.easePolyOut=Ad,t.easePolyInOut=Cd,t.easeSin=ot,t.easeSinIn=rt,t.easeSinOut=it,t.easeSinInOut=ot,t.easeExp=ct,t.easeExpIn=ut,t.easeExpOut=at,t.easeExpInOut=ct,t.easeCircle=lt,t.easeCircleIn=st,t.easeCircleOut=ft,t.easeCircleInOut=lt,t.easeBounce=pt,t.easeBounceIn=ht,t.easeBounceOut=pt,t.easeBounceInOut=dt,t.easeBack=Vd,t.easeBackIn=Hd,t.easeBackOut=Xd,t.easeBackInOut=Vd,t.easeElastic=Jd,t.easeElasticIn=Gd,t.easeElasticOut=Jd,t.easeElasticInOut=Qd,t.polygonArea=vt,t.polygonCentroid=_t,t.polygonHull=xt,t.polygonContains=bt,t.polygonLength=wt,t.path=Tt,t.quadtree=jt,t.queue=Qt,t.arc=sn,t.area=vn,t.line=dn,t.pie=gn,t.radialArea=Mn,t.radialLine=wn,t.symbol=Tn,t.symbols=Av,t.symbolCircle=lv,t.symbolCross=hv,t.symbolDiamond=vv,t.symbolSquare=bv,t.symbolStar=xv,t.symbolTriangle=Mv,t.symbolWye=Ev,t.curveBasisClosed=Cn,t.curveBasisOpen=Pn,t.curveBasis=En,t.curveBundle=Cv,t.curveCardinalClosed=Pv,t.curveCardinalOpen=Lv,t.curveCardinal=zv,t.curveCatmullRomClosed=Uv,t.curveCatmullRomOpen=Rv,t.curveCatmullRom=qv,t.curveLinearClosed=jn,t.curveLinear=ln,t.curveMonotoneX=Jn,t.curveMonotoneY=Qn,t.curveNatural=ne,t.curveStep=re,t.curveStepAfter=oe,t.curveStepBefore=ie,t.stack=se,t.stackOffsetExpand=fe,t.stackOffsetNone=ue,t.stackOffsetSilhouette=le,t.stackOffsetWiggle=he,t.stackOrderAscending=pe,t.stackOrderDescending=ve,t.stackOrderInsideOut=_e,t.stackOrderNone=ae,t.stackOrderReverse=ye,t.color=be,t.rgb=ke,t.hsl=Ae,t.lab=Le,t.hcl=Ie,t.cubehelix=je,t.interpolate=ar,t.interpolateArray=nr,t.interpolateNumber=er,t.interpolateObject=rr,t.interpolateRound=cr,t.interpolateString=ur,t.interpolateTransformCss=T_,t.interpolateTransformSvg=k_,t.interpolateZoom=_r,t.interpolateRgb=y_,t.interpolateRgbBasis=g_,t.interpolateRgbBasisClosed=m_,t.interpolateHsl=C_,t.interpolateHslLong=z_,t.interpolateLab=gr,t.interpolateHcl=P_,t.interpolateHclLong=L_,t.interpolateCubehelix=q_,t.interpolateCubehelixLong=U_,t.interpolateBasis=Ve,t.interpolateBasisClosed=We,t.quantize=br,t.dispatch=wr,t.dsvFormat=Cr,t.csvParse=I_,t.csvParseRows=Y_,t.csvFormat=B_,t.csvFormatRows=j_,t.tsvParse=X_,t.tsvParseRows=V_,t.tsvFormat=W_,t.tsvFormatRows=$_,t.request=zr,t.html=Z_,t.json=G_,t.text=J_,t.xml=Q_,t.csv=K_,t.tsv=ty,t.now=Dr,t.timer=Ir,t.timerFlush=Yr,t.timeout=Vr,t.interval=Wr,t.timeInterval=$r,t.timeMillisecond=hy,t.timeMilliseconds=py,t.timeSecond=my,t.timeSeconds=xy,t.timeMinute=by,t.timeMinutes=wy,t.timeHour=My,t.timeHours=Ty,t.timeDay=ky,t.timeDays=Ny,t.timeWeek=Sy,t.timeWeeks=qy,t.timeSunday=Sy,t.timeSundays=qy,t.timeMonday=Ey,t.timeMondays=Uy,t.timeTuesday=Ay,t.timeTuesdays=Ry,t.timeWednesday=Cy,t.timeWednesdays=Dy,t.timeThursday=zy,t.timeThursdays=Oy,t.timeFriday=Py,t.timeFridays=Fy,t.timeSaturday=Ly,t.timeSaturdays=Iy,t.timeMonth=Yy,t.timeMonths=By,t.timeYear=jy,t.timeYears=Hy,t.utcMillisecond=hy,t.utcMilliseconds=py,t.utcSecond=my,t.utcSeconds=xy,t.utcMinute=Xy,t.utcMinutes=Vy,t.utcHour=Wy,t.utcHours=$y,t.utcDay=Zy,t.utcDays=Gy,t.utcWeek=Jy,t.utcWeeks=ig,t.utcSunday=Jy,t.utcSundays=ig,t.utcMonday=Qy,t.utcMondays=og,t.utcTuesday=Ky,t.utcTuesdays=ug,t.utcWednesday=tg,t.utcWednesdays=ag,t.utcThursday=ng,t.utcThursdays=cg,t.utcFriday=eg,t.utcFridays=sg,t.utcSaturday=rg,t.utcSaturdays=fg,t.utcMonth=lg,t.utcMonths=hg,t.utcYear=pg,t.utcYears=vg,t.formatLocale=ui,t.formatDefaultLocale=ai,t.formatSpecifier=ri,t.precisionFixed=ci,t.precisionPrefix=si,t.precisionRound=fi,t.isoFormat=Ng,t.isoParse=Sg,t.timeFormatLocale=di,t.timeFormatDefaultLocale=co,t.scaleBand=ho,t.scalePoint=vo,t.scaleIdentity=Eo,t.scaleLinear=So,t.scaleLog=Ro,t.scaleOrdinal=lo,t.scaleImplicit=zg,t.scalePow=Oo,t.scaleSqrt=Fo,t.scaleQuantile=Io,t.scaleQuantize=Yo,t.scaleThreshold=Bo,t.scaleTime=Vo,t.scaleUtc=Wo,t.schemeCategory10=Ig,t.schemeCategory20b=Yg,t.schemeCategory20c=Bg,t.schemeCategory20=jg,t.scaleSequential=Jo,t.interpolateCubehelixDefault=Hg,t.interpolateRainbow=Zo,t.interpolateWarm=Xg,t.interpolateCool=Vg,t.interpolateViridis=$g,t.interpolateMagma=Zg,t.interpolateInferno=Gg,t.interpolatePlasma=Jg,t.creator=nu,t.customEvent=fu,t.local=eu,t.matcher=im,t.mouse=pu,t.namespace=Qo,t.namespaces=Kg,t.select=qa,t.selectAll=Ua,t.selection=La,t.selector=vu,t.selectorAll=gu,t.touch=Ra,t.touches=Da,t.window=Vu,t.active=Ic,t.interrupt=ja,t.transition=Rc,t.axisTop=Wc,t.axisRight=$c,t.axisBottom=Zc,t.axisLeft=Gc,t.cluster=is,t.hierarchy=_s,t.pack=Ys,t.packSiblings=Us,t.packEnclose=Ts,t.partition=Ws,t.stratify=Gs,t.tree=uf,t.treemap=sf,t.treemapBinary=ff,t.treemapDice=Vs,t.treemapSlice=af,t.treemapSliceDice=lf,t.treemapSquarify=Pm,t.treemapResquarify=Lm,t.forceCenter=hf,t.forceCollide=yf,t.forceLink=mf,t.forceManyBody=Mf,t.forceSimulation=wf,t.forceX=Tf,t.forceY=kf,t.drag=Uf,t.dragDisable=Ef,t.dragEnable=Af,t.voronoi=vl,t.zoom=kl,t.zoomIdentity=Xm,t.zoomTransform=ml,t.brush=Ol,t.brushX=Rl,t.brushY=Dl,t.brushSelection=Ul,t.geoArea=nh,t.geoBounds=mh,t.geoCentroid=Ch,t.geoCircle=Yh,t.geoClipExtent=Zh,t.geoDistance=np,t.geoGraticule=ip,t.geoInterpolate=op,t.geoLength=tp,t.geoPath=Tp,t.geoAlbers=Hp,t.geoAlbersUsa=Vp,t.geoAzimuthalEqualArea=Zp,t.geoAzimuthalEquidistant=Gp,t.geoConicConformal=ed,t.geoConicEqualArea=jp,t.geoConicEquidistant=ud,t.geoEquirectangular=id,t.geoGnomonic=cd,t.geoProjection=Fp,t.geoProjectionMutator=Ip,t.geoMercator=Qp,t.geoOrthographic=fd,t.geoStereographic=hd,t.geoTransverseMercator=dd,t.geoRotation=Oh,t.geoStream=Gl,t.geoTransform=Lp,Object.defineProperty(t,"__esModule",{value:!0})}); \ No newline at end of file
diff --git a/www/wiki/extensions/Mermaid/res/d3/dagre-d3.min.js b/www/wiki/extensions/Mermaid/res/d3/dagre-d3.min.js
new file mode 100644
index 00000000..e0fadb50
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/res/d3/dagre-d3.min.js
@@ -0,0 +1,8113 @@
+(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.dagreD3=f()}})(function(){var define,module,exports;return function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s}({1:[function(require,module,exports){
+/**
+ * @license
+ * Copyright (c) 2012-2013 Chris Pettitt
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+module.exports={graphlib:require("./lib/graphlib"),dagre:require("./lib/dagre"),intersect:require("./lib/intersect"),render:require("./lib/render"),util:require("./lib/util"),version:require("./lib/version")}},{"./lib/dagre":8,"./lib/graphlib":9,"./lib/intersect":10,"./lib/render":25,"./lib/util":27,"./lib/version":28}],2:[function(require,module,exports){var util=require("./util");module.exports={default:normal,normal:normal,vee:vee,undirected:undirected};function normal(parent,id,edge,type){var marker=parent.append("marker").attr("id",id).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto");var path=marker.append("path").attr("d","M 0 0 L 10 5 L 0 10 z").style("stroke-width",1).style("stroke-dasharray","1,0");util.applyStyle(path,edge[type+"Style"]);if(edge[type+"Class"]){path.attr("class",edge[type+"Class"])}}function vee(parent,id,edge,type){var marker=parent.append("marker").attr("id",id).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto");var path=marker.append("path").attr("d","M 0 0 L 10 5 L 0 10 L 4 5 z").style("stroke-width",1).style("stroke-dasharray","1,0");util.applyStyle(path,edge[type+"Style"]);if(edge[type+"Class"]){path.attr("class",edge[type+"Class"])}}function undirected(parent,id,edge,type){var marker=parent.append("marker").attr("id",id).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto");var path=marker.append("path").attr("d","M 0 5 L 10 5").style("stroke-width",1).style("stroke-dasharray","1,0");util.applyStyle(path,edge[type+"Style"]);if(edge[type+"Class"]){path.attr("class",edge[type+"Class"])}}},{"./util":27}],3:[function(require,module,exports){var util=require("./util"),addLabel=require("./label/add-label");module.exports=createClusters;function createClusters(selection,g){var clusters=g.nodes().filter(function(v){return util.isSubgraph(g,v)}),svgClusters=selection.selectAll("g.cluster").data(clusters,function(v){return v});svgClusters.selectAll("*").remove();svgClusters.enter().append("g").attr("class","cluster").attr("id",function(v){var node=g.node(v);return node.id}).style("opacity",0);svgClusters=selection.selectAll("g.cluster");util.applyTransition(svgClusters,g).style("opacity",1);svgClusters.each(function(v){var node=g.node(v),thisGroup=d3.select(this);d3.select(this).append("rect");var labelGroup=thisGroup.append("g").attr("class","label");addLabel(labelGroup,node,node.clusterLabelPos)});svgClusters.selectAll("rect").each(function(c){var node=g.node(c);var domCluster=d3.select(this);util.applyStyle(domCluster,node.style)});util.applyTransition(svgClusters.exit(),g).style("opacity",0).remove();return svgClusters}},{"./label/add-label":18,"./util":27}],4:[function(require,module,exports){"use strict";var _=require("./lodash"),addLabel=require("./label/add-label"),util=require("./util"),d3=require("./d3");module.exports=createEdgeLabels;function createEdgeLabels(selection,g){var svgEdgeLabels=selection.selectAll("g.edgeLabel").data(g.edges(),function(e){return util.edgeToId(e)}).classed("update",true);svgEdgeLabels.selectAll("*").remove();svgEdgeLabels.enter().append("g").classed("edgeLabel",true).style("opacity",0);svgEdgeLabels=selection.selectAll("g.edgeLabel");svgEdgeLabels.each(function(e){var edge=g.edge(e),label=addLabel(d3.select(this),g.edge(e),0,0).classed("label",true),bbox=label.node().getBBox();if(edge.labelId){label.attr("id",edge.labelId)}if(!_.has(edge,"width")){edge.width=bbox.width}if(!_.has(edge,"height")){edge.height=bbox.height}});util.applyTransition(svgEdgeLabels.exit(),g).style("opacity",0).remove();return svgEdgeLabels}},{"./d3":7,"./label/add-label":18,"./lodash":21,"./util":27}],5:[function(require,module,exports){"use strict";var _=require("./lodash"),intersectNode=require("./intersect/intersect-node"),util=require("./util"),d3=require("./d3");module.exports=createEdgePaths;function createEdgePaths(selection,g,arrows){var svgPaths=selection.selectAll("g.edgePath").data(g.edges(),function(e){return util.edgeToId(e)}).classed("update",true);enter(svgPaths,g);exit(svgPaths,g);svgPaths=selection.selectAll("g.edgePath");util.applyTransition(svgPaths,g).style("opacity",1);
+// Save DOM element in the path group, and set ID and class
+svgPaths.each(function(e){var domEdge=d3.select(this);var edge=g.edge(e);edge.elem=this;if(edge.id){domEdge.attr("id",edge.id)}util.applyClass(domEdge,edge["class"],(domEdge.classed("update")?"update ":"")+"edgePath")});svgPaths.selectAll("path.path").each(function(e){var edge=g.edge(e);edge.arrowheadId=_.uniqueId("arrowhead");var domEdge=d3.select(this).attr("marker-end",function(){return"url("+makeFragmentRef(location.href,edge.arrowheadId)+")"}).style("fill","none");util.applyTransition(domEdge,g).attr("d",function(e){return calcPoints(g,e)});util.applyStyle(domEdge,edge.style)});svgPaths.selectAll("defs *").remove();svgPaths.selectAll("defs").each(function(e){var edge=g.edge(e),arrowhead=arrows[edge.arrowhead];arrowhead(d3.select(this),edge.arrowheadId,edge,"arrowhead")});return svgPaths}function makeFragmentRef(url,fragmentId){var baseUrl=url.split("#")[0];return baseUrl+"#"+fragmentId}function calcPoints(g,e){var edge=g.edge(e),tail=g.node(e.v),head=g.node(e.w),points=edge.points.slice(1,edge.points.length-1);points.unshift(intersectNode(tail,points[0]));points.push(intersectNode(head,points[points.length-1]));return createLine(edge,points)}function createLine(edge,points){var line=d3.line().x(function(d){return d.x}).y(function(d){return d.y});line.curve(edge.lineCurve);return line(points)}function getCoords(elem){var bbox=elem.getBBox(),matrix=elem.ownerSVGElement.getScreenCTM().inverse().multiply(elem.getScreenCTM()).translate(bbox.width/2,bbox.height/2);return{x:matrix.e,y:matrix.f}}function enter(svgPaths,g){var svgPathsEnter=svgPaths.enter().append("g").attr("class","edgePath").style("opacity",0);svgPathsEnter.append("path").attr("class","path").attr("d",function(e){var edge=g.edge(e),sourceElem=g.node(e.v).elem,points=_.range(edge.points.length).map(function(){return getCoords(sourceElem)});return createLine(edge,points)});svgPathsEnter.append("defs")}function exit(svgPaths,g){var svgPathExit=svgPaths.exit();util.applyTransition(svgPathExit,g).style("opacity",0).remove();util.applyTransition(svgPathExit.select("path.path"),g).attr("d",function(e){var source=g.node(e.v);if(source){var points=_.range(this.getTotalLength()).map(function(){return source});return createLine({},points)}else{return d3.select(this).attr("d")}})}},{"./d3":7,"./intersect/intersect-node":14,"./lodash":21,"./util":27}],6:[function(require,module,exports){"use strict";var _=require("./lodash"),addLabel=require("./label/add-label"),util=require("./util"),d3=require("./d3");module.exports=createNodes;function createNodes(selection,g,shapes){var simpleNodes=g.nodes().filter(function(v){return!util.isSubgraph(g,v)});var svgNodes=selection.selectAll("g.node").data(simpleNodes,function(v){return v}).classed("update",true);svgNodes.selectAll("*").remove();svgNodes.enter().append("g").attr("class","node").style("opacity",0);svgNodes=selection.selectAll("g.node");svgNodes.each(function(v){var node=g.node(v),thisGroup=d3.select(this);util.applyClass(thisGroup,node["class"],(thisGroup.classed("update")?"update ":"")+"node");var labelGroup=thisGroup.append("g").attr("class","label"),labelDom=addLabel(labelGroup,node),shape=shapes[node.shape],bbox=_.pick(labelDom.node().getBBox(),"width","height");node.elem=this;if(node.id){thisGroup.attr("id",node.id)}if(node.labelId){labelGroup.attr("id",node.labelId)}if(_.has(node,"width")){bbox.width=node.width}if(_.has(node,"height")){bbox.height=node.height}bbox.width+=node.paddingLeft+node.paddingRight;bbox.height+=node.paddingTop+node.paddingBottom;labelGroup.attr("transform","translate("+(node.paddingLeft-node.paddingRight)/2+","+(node.paddingTop-node.paddingBottom)/2+")");var shapeSvg=shape(d3.select(this),bbox,node);util.applyStyle(shapeSvg,node.style);var shapeBBox=shapeSvg.node().getBBox();node.width=shapeBBox.width;node.height=shapeBBox.height});util.applyTransition(svgNodes.exit(),g).style("opacity",0).remove();return svgNodes}},{"./d3":7,"./label/add-label":18,"./lodash":21,"./util":27}],7:[function(require,module,exports){
+// Stub to get D3 either via NPM or from the global object
+module.exports=window.d3},{}],8:[function(require,module,exports){
+/* global window */
+var dagre;if(require){try{dagre=require("dagre")}catch(e){}}if(!dagre){dagre=window.dagre}module.exports=dagre},{dagre:29}],9:[function(require,module,exports){
+/* global window */
+var graphlib;if(require){try{graphlib=require("graphlib")}catch(e){}}if(!graphlib){graphlib=window.graphlib}module.exports=graphlib},{graphlib:59}],10:[function(require,module,exports){module.exports={node:require("./intersect-node"),circle:require("./intersect-circle"),ellipse:require("./intersect-ellipse"),polygon:require("./intersect-polygon"),rect:require("./intersect-rect")}},{"./intersect-circle":11,"./intersect-ellipse":12,"./intersect-node":14,"./intersect-polygon":15,"./intersect-rect":16}],11:[function(require,module,exports){var intersectEllipse=require("./intersect-ellipse");module.exports=intersectCircle;function intersectCircle(node,rx,point){return intersectEllipse(node,rx,rx,point)}},{"./intersect-ellipse":12}],12:[function(require,module,exports){module.exports=intersectEllipse;function intersectEllipse(node,rx,ry,point){
+// Formulae from: http://mathworld.wolfram.com/Ellipse-LineIntersection.html
+var cx=node.x;var cy=node.y;var px=cx-point.x;var py=cy-point.y;var det=Math.sqrt(rx*rx*py*py+ry*ry*px*px);var dx=Math.abs(rx*ry*px/det);if(point.x<cx){dx=-dx}var dy=Math.abs(rx*ry*py/det);if(point.y<cy){dy=-dy}return{x:cx+dx,y:cy+dy}}},{}],13:[function(require,module,exports){module.exports=intersectLine;
+/*
+ * Returns the point at which two lines, p and q, intersect or returns
+ * undefined if they do not intersect.
+ */function intersectLine(p1,p2,q1,q2){
+// Algorithm from J. Avro, (ed.) Graphics Gems, No 2, Morgan Kaufmann, 1994,
+// p7 and p473.
+var a1,a2,b1,b2,c1,c2;var r1,r2,r3,r4;var denom,offset,num;var x,y;
+// Compute a1, b1, c1, where line joining points 1 and 2 is F(x,y) = a1 x +
+// b1 y + c1 = 0.
+a1=p2.y-p1.y;b1=p1.x-p2.x;c1=p2.x*p1.y-p1.x*p2.y;
+// Compute r3 and r4.
+r3=a1*q1.x+b1*q1.y+c1;r4=a1*q2.x+b1*q2.y+c1;
+// Check signs of r3 and r4. If both point 3 and point 4 lie on
+// same side of line 1, the line segments do not intersect.
+if(r3!==0&&r4!==0&&sameSign(r3,r4)){return}
+// Compute a2, b2, c2 where line joining points 3 and 4 is G(x,y) = a2 x + b2 y + c2 = 0
+a2=q2.y-q1.y;b2=q1.x-q2.x;c2=q2.x*q1.y-q1.x*q2.y;
+// Compute r1 and r2
+r1=a2*p1.x+b2*p1.y+c2;r2=a2*p2.x+b2*p2.y+c2;
+// Check signs of r1 and r2. If both point 1 and point 2 lie
+// on same side of second line segment, the line segments do
+// not intersect.
+if(r1!==0&&r2!==0&&sameSign(r1,r2)){return}
+// Line segments intersect: compute intersection point.
+denom=a1*b2-a2*b1;if(denom===0){return}offset=Math.abs(denom/2);
+// The denom/2 is to get rounding instead of truncating. It
+// is added or subtracted to the numerator, depending upon the
+// sign of the numerator.
+num=b1*c2-b2*c1;x=num<0?(num-offset)/denom:(num+offset)/denom;num=a2*c1-a1*c2;y=num<0?(num-offset)/denom:(num+offset)/denom;return{x:x,y:y}}function sameSign(r1,r2){return r1*r2>0}},{}],14:[function(require,module,exports){module.exports=intersectNode;function intersectNode(node,point){return node.intersect(point)}},{}],15:[function(require,module,exports){var intersectLine=require("./intersect-line");module.exports=intersectPolygon;
+/*
+ * Returns the point ({x, y}) at which the point argument intersects with the
+ * node argument assuming that it has the shape specified by polygon.
+ */function intersectPolygon(node,polyPoints,point){var x1=node.x;var y1=node.y;var intersections=[];var minX=Number.POSITIVE_INFINITY,minY=Number.POSITIVE_INFINITY;polyPoints.forEach(function(entry){minX=Math.min(minX,entry.x);minY=Math.min(minY,entry.y)});var left=x1-node.width/2-minX;var top=y1-node.height/2-minY;for(var i=0;i<polyPoints.length;i++){var p1=polyPoints[i];var p2=polyPoints[i<polyPoints.length-1?i+1:0];var intersect=intersectLine(node,point,{x:left+p1.x,y:top+p1.y},{x:left+p2.x,y:top+p2.y});if(intersect){intersections.push(intersect)}}if(!intersections.length){console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",node);return node}if(intersections.length>1){
+// More intersections, find the one nearest to edge end point
+intersections.sort(function(p,q){var pdx=p.x-point.x,pdy=p.y-point.y,distp=Math.sqrt(pdx*pdx+pdy*pdy),qdx=q.x-point.x,qdy=q.y-point.y,distq=Math.sqrt(qdx*qdx+qdy*qdy);return distp<distq?-1:distp===distq?0:1})}return intersections[0]}},{"./intersect-line":13}],16:[function(require,module,exports){module.exports=intersectRect;function intersectRect(node,point){var x=node.x;var y=node.y;
+// Rectangle intersection algorithm from:
+// http://math.stackexchange.com/questions/108113/find-edge-between-two-boxes
+var dx=point.x-x;var dy=point.y-y;var w=node.width/2;var h=node.height/2;var sx,sy;if(Math.abs(dy)*w>Math.abs(dx)*h){
+// Intersection is top or bottom of rect.
+if(dy<0){h=-h}sx=dy===0?0:h*dx/dy;sy=h}else{
+// Intersection is left or right of rect.
+if(dx<0){w=-w}sx=w;sy=dx===0?0:w*dy/dx}return{x:x+sx,y:y+sy}}},{}],17:[function(require,module,exports){var util=require("../util");module.exports=addHtmlLabel;function addHtmlLabel(root,node){var fo=root.append("foreignObject").attr("width","100000");var div=fo.append("xhtml:div");div.attr("xmlns","http://www.w3.org/1999/xhtml");var label=node.label;switch(typeof label){case"function":div.insert(label);break;case"object":
+// Currently we assume this is a DOM object.
+div.insert(function(){return label});break;default:div.html(label)}util.applyStyle(div,node.labelStyle);div.style("display","inline-block");
+// Fix for firefox
+div.style("white-space","nowrap");var client=div.node().getBoundingClientRect();fo.attr("width",client.width).attr("height",client.height);return fo}},{"../util":27}],18:[function(require,module,exports){var addTextLabel=require("./add-text-label"),addHtmlLabel=require("./add-html-label"),addSVGLabel=require("./add-svg-label");module.exports=addLabel;function addLabel(root,node,location){var label=node.label;var labelSvg=root.append("g");
+// Allow the label to be a string, a function that returns a DOM element, or
+// a DOM element itself.
+if(node.labelType==="svg"){addSVGLabel(labelSvg,node)}else if(typeof label!=="string"||node.labelType==="html"){addHtmlLabel(labelSvg,node)}else{addTextLabel(labelSvg,node)}var labelBBox=labelSvg.node().getBBox();var y;switch(location){case"top":y=-node.height/2;break;case"bottom":y=node.height/2-labelBBox.height;break;default:y=-labelBBox.height/2}labelSvg.attr("transform","translate("+-labelBBox.width/2+","+y+")");return labelSvg}},{"./add-html-label":17,"./add-svg-label":19,"./add-text-label":20}],19:[function(require,module,exports){var util=require("../util");module.exports=addSVGLabel;function addSVGLabel(root,node){var domNode=root;domNode.node().appendChild(node.label);util.applyStyle(domNode,node.labelStyle);return domNode}},{"../util":27}],20:[function(require,module,exports){var util=require("../util");module.exports=addTextLabel;
+/*
+ * Attaches a text label to the specified root. Handles escape sequences.
+ */function addTextLabel(root,node){var domNode=root.append("text");var lines=processEscapeSequences(node.label).split("\n");for(var i=0;i<lines.length;i++){domNode.append("tspan").attr("xml:space","preserve").attr("dy","1em").attr("x","1").text(lines[i])}util.applyStyle(domNode,node.labelStyle);return domNode}function processEscapeSequences(text){var newText="",escaped=false,ch;for(var i=0;i<text.length;++i){ch=text[i];if(escaped){switch(ch){case"n":newText+="\n";break;default:newText+=ch}escaped=false}else if(ch==="\\"){escaped=true}else{newText+=ch}}return newText}},{"../util":27}],21:[function(require,module,exports){
+/* global window */
+var lodash;if(require){try{lodash=require("lodash")}catch(e){}}if(!lodash){lodash=window._}module.exports=lodash},{lodash:79}],22:[function(require,module,exports){"use strict";var util=require("./util"),d3=require("./d3");module.exports=positionClusters;function positionClusters(selection,g){var created=selection.filter(function(){return!d3.select(this).classed("update")});function translate(v){var node=g.node(v);return"translate("+node.x+","+node.y+")"}created.attr("transform",translate);util.applyTransition(selection,g).style("opacity",1).attr("transform",translate);util.applyTransition(created.selectAll("rect"),g).attr("width",function(v){return g.node(v).width}).attr("height",function(v){return g.node(v).height}).attr("x",function(v){var node=g.node(v);return-node.width/2}).attr("y",function(v){var node=g.node(v);return-node.height/2})}},{"./d3":7,"./util":27}],23:[function(require,module,exports){"use strict";var util=require("./util"),d3=require("./d3"),_=require("./lodash");module.exports=positionEdgeLabels;function positionEdgeLabels(selection,g){var created=selection.filter(function(){return!d3.select(this).classed("update")});function translate(e){var edge=g.edge(e);return _.has(edge,"x")?"translate("+edge.x+","+edge.y+")":""}created.attr("transform",translate);util.applyTransition(selection,g).style("opacity",1).attr("transform",translate)}},{"./d3":7,"./lodash":21,"./util":27}],24:[function(require,module,exports){"use strict";var util=require("./util"),d3=require("./d3");module.exports=positionNodes;function positionNodes(selection,g){var created=selection.filter(function(){return!d3.select(this).classed("update")});function translate(v){var node=g.node(v);return"translate("+node.x+","+node.y+")"}created.attr("transform",translate);util.applyTransition(selection,g).style("opacity",1).attr("transform",translate)}},{"./d3":7,"./util":27}],25:[function(require,module,exports){var _=require("./lodash"),layout=require("./dagre").layout;module.exports=render;
+// This design is based on http://bost.ocks.org/mike/chart/.
+function render(){var createNodes=require("./create-nodes"),createClusters=require("./create-clusters"),createEdgeLabels=require("./create-edge-labels"),createEdgePaths=require("./create-edge-paths"),positionNodes=require("./position-nodes"),positionEdgeLabels=require("./position-edge-labels"),positionClusters=require("./position-clusters"),shapes=require("./shapes"),arrows=require("./arrows");var fn=function(svg,g){preProcessGraph(g);svg.selectAll("*").remove();var outputGroup=createOrSelectGroup(svg,"output"),clustersGroup=createOrSelectGroup(outputGroup,"clusters"),edgePathsGroup=createOrSelectGroup(outputGroup,"edgePaths"),edgeLabels=createEdgeLabels(createOrSelectGroup(outputGroup,"edgeLabels"),g),nodes=createNodes(createOrSelectGroup(outputGroup,"nodes"),g,shapes);layout(g);positionNodes(nodes,g);positionEdgeLabels(edgeLabels,g);createEdgePaths(edgePathsGroup,g,arrows);var clusters=createClusters(clustersGroup,g);positionClusters(clusters,g);postProcessGraph(g)};fn.createNodes=function(value){if(!arguments.length)return createNodes;createNodes=value;return fn};fn.createClusters=function(value){if(!arguments.length)return createClusters;createClusters=value;return fn};fn.createEdgeLabels=function(value){if(!arguments.length)return createEdgeLabels;createEdgeLabels=value;return fn};fn.createEdgePaths=function(value){if(!arguments.length)return createEdgePaths;createEdgePaths=value;return fn};fn.shapes=function(value){if(!arguments.length)return shapes;shapes=value;return fn};fn.arrows=function(value){if(!arguments.length)return arrows;arrows=value;return fn};return fn}var NODE_DEFAULT_ATTRS={paddingLeft:10,paddingRight:10,paddingTop:10,paddingBottom:10,rx:0,ry:0,shape:"rect"};var EDGE_DEFAULT_ATTRS={arrowhead:"normal",lineCurve:d3.curveLinear};function preProcessGraph(g){g.nodes().forEach(function(v){var node=g.node(v);if(!_.has(node,"label")&&!g.children(v).length){node.label=v}if(_.has(node,"paddingX")){_.defaults(node,{paddingLeft:node.paddingX,paddingRight:node.paddingX})}if(_.has(node,"paddingY")){_.defaults(node,{paddingTop:node.paddingY,paddingBottom:node.paddingY})}if(_.has(node,"padding")){_.defaults(node,{paddingLeft:node.padding,paddingRight:node.padding,paddingTop:node.padding,paddingBottom:node.padding})}_.defaults(node,NODE_DEFAULT_ATTRS);_.each(["paddingLeft","paddingRight","paddingTop","paddingBottom"],function(k){node[k]=Number(node[k])});
+// Save dimensions for restore during post-processing
+if(_.has(node,"width")){node._prevWidth=node.width}if(_.has(node,"height")){node._prevHeight=node.height}});g.edges().forEach(function(e){var edge=g.edge(e);if(!_.has(edge,"label")){edge.label=""}_.defaults(edge,EDGE_DEFAULT_ATTRS)})}function postProcessGraph(g){_.each(g.nodes(),function(v){var node=g.node(v);
+// Restore original dimensions
+if(_.has(node,"_prevWidth")){node.width=node._prevWidth}else{delete node.width}if(_.has(node,"_prevHeight")){node.height=node._prevHeight}else{delete node.height}delete node._prevWidth;delete node._prevHeight})}function createOrSelectGroup(root,name){var selection=root.select("g."+name);if(selection.empty()){selection=root.append("g").attr("class",name)}return selection}},{"./arrows":2,"./create-clusters":3,"./create-edge-labels":4,"./create-edge-paths":5,"./create-nodes":6,"./dagre":8,"./lodash":21,"./position-clusters":22,"./position-edge-labels":23,"./position-nodes":24,"./shapes":26}],26:[function(require,module,exports){"use strict";var intersectRect=require("./intersect/intersect-rect"),intersectEllipse=require("./intersect/intersect-ellipse"),intersectCircle=require("./intersect/intersect-circle"),intersectPolygon=require("./intersect/intersect-polygon");module.exports={rect:rect,ellipse:ellipse,circle:circle,diamond:diamond};function rect(parent,bbox,node){var shapeSvg=parent.insert("rect",":first-child").attr("rx",node.rx).attr("ry",node.ry).attr("x",-bbox.width/2).attr("y",-bbox.height/2).attr("width",bbox.width).attr("height",bbox.height);node.intersect=function(point){return intersectRect(node,point)};return shapeSvg}function ellipse(parent,bbox,node){var rx=bbox.width/2,ry=bbox.height/2,shapeSvg=parent.insert("ellipse",":first-child").attr("x",-bbox.width/2).attr("y",-bbox.height/2).attr("rx",rx).attr("ry",ry);node.intersect=function(point){return intersectEllipse(node,rx,ry,point)};return shapeSvg}function circle(parent,bbox,node){var r=Math.max(bbox.width,bbox.height)/2,shapeSvg=parent.insert("circle",":first-child").attr("x",-bbox.width/2).attr("y",-bbox.height/2).attr("r",r);node.intersect=function(point){return intersectCircle(node,r,point)};return shapeSvg}
+// Circumscribe an ellipse for the bounding box with a diamond shape. I derived
+// the function to calculate the diamond shape from:
+// http://mathforum.org/kb/message.jspa?messageID=3750236
+function diamond(parent,bbox,node){var w=bbox.width*Math.SQRT2/2,h=bbox.height*Math.SQRT2/2,points=[{x:0,y:-h},{x:-w,y:0},{x:0,y:h},{x:w,y:0}],shapeSvg=parent.insert("polygon",":first-child").attr("points",points.map(function(p){return p.x+","+p.y}).join(" "));node.intersect=function(p){return intersectPolygon(node,points,p)};return shapeSvg}},{"./intersect/intersect-circle":11,"./intersect/intersect-ellipse":12,"./intersect/intersect-polygon":15,"./intersect/intersect-rect":16}],27:[function(require,module,exports){var _=require("./lodash");
+// Public utility functions
+module.exports={isSubgraph:isSubgraph,edgeToId:edgeToId,applyStyle:applyStyle,applyClass:applyClass,applyTransition:applyTransition};
+/*
+ * Returns true if the specified node in the graph is a subgraph node. A
+ * subgraph node is one that contains other nodes.
+ */function isSubgraph(g,v){return!!g.children(v).length}function edgeToId(e){return escapeId(e.v)+":"+escapeId(e.w)+":"+escapeId(e.name)}var ID_DELIM=/:/g;function escapeId(str){return str?String(str).replace(ID_DELIM,"\\:"):""}function applyStyle(dom,styleFn){if(styleFn){dom.attr("style",styleFn)}}function applyClass(dom,classFn,otherClasses){if(classFn){dom.attr("class",classFn).attr("class",otherClasses+" "+dom.attr("class"))}}function applyTransition(selection,g){var graph=g.graph();if(_.isPlainObject(graph)){var transition=graph.transition;if(_.isFunction(transition)){return transition(selection)}}return selection}},{"./lodash":21}],28:[function(require,module,exports){module.exports="0.5.3"},{}],29:[function(require,module,exports){
+/*
+Copyright (c) 2012-2014 Chris Pettitt
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+*/
+module.exports={graphlib:require("./lib/graphlib"),layout:require("./lib/layout"),debug:require("./lib/debug"),util:{time:require("./lib/util").time,notime:require("./lib/util").notime},version:require("./lib/version")}},{"./lib/debug":34,"./lib/graphlib":35,"./lib/layout":37,"./lib/util":57,"./lib/version":58}],30:[function(require,module,exports){"use strict";var _=require("./lodash"),greedyFAS=require("./greedy-fas");module.exports={run:run,undo:undo};function run(g){var fas=g.graph().acyclicer==="greedy"?greedyFAS(g,weightFn(g)):dfsFAS(g);_.each(fas,function(e){var label=g.edge(e);g.removeEdge(e);label.forwardName=e.name;label.reversed=true;g.setEdge(e.w,e.v,label,_.uniqueId("rev"))});function weightFn(g){return function(e){return g.edge(e).weight}}}function dfsFAS(g){var fas=[],stack={},visited={};function dfs(v){if(_.has(visited,v)){return}visited[v]=true;stack[v]=true;_.each(g.outEdges(v),function(e){if(_.has(stack,e.w)){fas.push(e)}else{dfs(e.w)}});delete stack[v]}_.each(g.nodes(),dfs);return fas}function undo(g){_.each(g.edges(),function(e){var label=g.edge(e);if(label.reversed){g.removeEdge(e);var forwardName=label.forwardName;delete label.reversed;delete label.forwardName;g.setEdge(e.w,e.v,label,forwardName)}})}},{"./greedy-fas":36,"./lodash":38}],31:[function(require,module,exports){var _=require("./lodash"),util=require("./util");module.exports=addBorderSegments;function addBorderSegments(g){function dfs(v){var children=g.children(v),node=g.node(v);if(children.length){_.each(children,dfs)}if(_.has(node,"minRank")){node.borderLeft=[];node.borderRight=[];for(var rank=node.minRank,maxRank=node.maxRank+1;rank<maxRank;++rank){addBorderNode(g,"borderLeft","_bl",v,node,rank);addBorderNode(g,"borderRight","_br",v,node,rank)}}}_.each(g.children(),dfs)}function addBorderNode(g,prop,prefix,sg,sgNode,rank){var label={width:0,height:0,rank:rank,borderType:prop},prev=sgNode[prop][rank-1],curr=util.addDummyNode(g,"border",label,prefix);sgNode[prop][rank]=curr;g.setParent(curr,sg);if(prev){g.setEdge(prev,curr,{weight:1})}}},{"./lodash":38,"./util":57}],32:[function(require,module,exports){"use strict";var _=require("./lodash");module.exports={adjust:adjust,undo:undo};function adjust(g){var rankDir=g.graph().rankdir.toLowerCase();if(rankDir==="lr"||rankDir==="rl"){swapWidthHeight(g)}}function undo(g){var rankDir=g.graph().rankdir.toLowerCase();if(rankDir==="bt"||rankDir==="rl"){reverseY(g)}if(rankDir==="lr"||rankDir==="rl"){swapXY(g);swapWidthHeight(g)}}function swapWidthHeight(g){_.each(g.nodes(),function(v){swapWidthHeightOne(g.node(v))});_.each(g.edges(),function(e){swapWidthHeightOne(g.edge(e))})}function swapWidthHeightOne(attrs){var w=attrs.width;attrs.width=attrs.height;attrs.height=w}function reverseY(g){_.each(g.nodes(),function(v){reverseYOne(g.node(v))});_.each(g.edges(),function(e){var edge=g.edge(e);_.each(edge.points,reverseYOne);if(_.has(edge,"y")){reverseYOne(edge)}})}function reverseYOne(attrs){attrs.y=-attrs.y}function swapXY(g){_.each(g.nodes(),function(v){swapXYOne(g.node(v))});_.each(g.edges(),function(e){var edge=g.edge(e);_.each(edge.points,swapXYOne);if(_.has(edge,"x")){swapXYOne(edge)}})}function swapXYOne(attrs){var x=attrs.x;attrs.x=attrs.y;attrs.y=x}},{"./lodash":38}],33:[function(require,module,exports){
+/*
+ * Simple doubly linked list implementation derived from Cormen, et al.,
+ * "Introduction to Algorithms".
+ */
+module.exports=List;function List(){var sentinel={};sentinel._next=sentinel._prev=sentinel;this._sentinel=sentinel}List.prototype.dequeue=function(){var sentinel=this._sentinel,entry=sentinel._prev;if(entry!==sentinel){unlink(entry);return entry}};List.prototype.enqueue=function(entry){var sentinel=this._sentinel;if(entry._prev&&entry._next){unlink(entry)}entry._next=sentinel._next;sentinel._next._prev=entry;sentinel._next=entry;entry._prev=sentinel};List.prototype.toString=function(){var strs=[],sentinel=this._sentinel,curr=sentinel._prev;while(curr!==sentinel){strs.push(JSON.stringify(curr,filterOutLinks));curr=curr._prev}return"["+strs.join(", ")+"]"};function unlink(entry){entry._prev._next=entry._next;entry._next._prev=entry._prev;delete entry._next;delete entry._prev}function filterOutLinks(k,v){if(k!=="_next"&&k!=="_prev"){return v}}},{}],34:[function(require,module,exports){var _=require("./lodash"),util=require("./util"),Graph=require("./graphlib").Graph;module.exports={debugOrdering:debugOrdering};
+/* istanbul ignore next */function debugOrdering(g){var layerMatrix=util.buildLayerMatrix(g);var h=new Graph({compound:true,multigraph:true}).setGraph({});_.each(g.nodes(),function(v){h.setNode(v,{label:v});h.setParent(v,"layer"+g.node(v).rank)});_.each(g.edges(),function(e){h.setEdge(e.v,e.w,{},e.name)});_.each(layerMatrix,function(layer,i){var layerV="layer"+i;h.setNode(layerV,{rank:"same"});_.reduce(layer,function(u,v){h.setEdge(u,v,{style:"invis"});return v})});return h}},{"./graphlib":35,"./lodash":38,"./util":57}],35:[function(require,module,exports){
+/* global window */
+var graphlib;if(typeof require==="function"){try{graphlib=require("graphlib")}catch(e){}}if(!graphlib){graphlib=window.graphlib}module.exports=graphlib},{graphlib:59}],36:[function(require,module,exports){var _=require("./lodash"),Graph=require("./graphlib").Graph,List=require("./data/list");
+/*
+ * A greedy heuristic for finding a feedback arc set for a graph. A feedback
+ * arc set is a set of edges that can be removed to make a graph acyclic.
+ * The algorithm comes from: P. Eades, X. Lin, and W. F. Smyth, "A fast and
+ * effective heuristic for the feedback arc set problem." This implementation
+ * adjusts that from the paper to allow for weighted edges.
+ */module.exports=greedyFAS;var DEFAULT_WEIGHT_FN=_.constant(1);function greedyFAS(g,weightFn){if(g.nodeCount()<=1){return[]}var state=buildState(g,weightFn||DEFAULT_WEIGHT_FN);var results=doGreedyFAS(state.graph,state.buckets,state.zeroIdx);
+// Expand multi-edges
+return _.flatten(_.map(results,function(e){return g.outEdges(e.v,e.w)}),true)}function doGreedyFAS(g,buckets,zeroIdx){var results=[],sources=buckets[buckets.length-1],sinks=buckets[0];var entry;while(g.nodeCount()){while(entry=sinks.dequeue()){removeNode(g,buckets,zeroIdx,entry)}while(entry=sources.dequeue()){removeNode(g,buckets,zeroIdx,entry)}if(g.nodeCount()){for(var i=buckets.length-2;i>0;--i){entry=buckets[i].dequeue();if(entry){results=results.concat(removeNode(g,buckets,zeroIdx,entry,true));break}}}}return results}function removeNode(g,buckets,zeroIdx,entry,collectPredecessors){var results=collectPredecessors?[]:undefined;_.each(g.inEdges(entry.v),function(edge){var weight=g.edge(edge),uEntry=g.node(edge.v);if(collectPredecessors){results.push({v:edge.v,w:edge.w})}uEntry.out-=weight;assignBucket(buckets,zeroIdx,uEntry)});_.each(g.outEdges(entry.v),function(edge){var weight=g.edge(edge),w=edge.w,wEntry=g.node(w);wEntry["in"]-=weight;assignBucket(buckets,zeroIdx,wEntry)});g.removeNode(entry.v);return results}function buildState(g,weightFn){var fasGraph=new Graph,maxIn=0,maxOut=0;_.each(g.nodes(),function(v){fasGraph.setNode(v,{v:v,in:0,out:0})});
+// Aggregate weights on nodes, but also sum the weights across multi-edges
+// into a single edge for the fasGraph.
+_.each(g.edges(),function(e){var prevWeight=fasGraph.edge(e.v,e.w)||0,weight=weightFn(e),edgeWeight=prevWeight+weight;fasGraph.setEdge(e.v,e.w,edgeWeight);maxOut=Math.max(maxOut,fasGraph.node(e.v).out+=weight);maxIn=Math.max(maxIn,fasGraph.node(e.w)["in"]+=weight)});var buckets=_.range(maxOut+maxIn+3).map(function(){return new List});var zeroIdx=maxIn+1;_.each(fasGraph.nodes(),function(v){assignBucket(buckets,zeroIdx,fasGraph.node(v))});return{graph:fasGraph,buckets:buckets,zeroIdx:zeroIdx}}function assignBucket(buckets,zeroIdx,entry){if(!entry.out){buckets[0].enqueue(entry)}else if(!entry["in"]){buckets[buckets.length-1].enqueue(entry)}else{buckets[entry.out-entry["in"]+zeroIdx].enqueue(entry)}}},{"./data/list":33,"./graphlib":35,"./lodash":38}],37:[function(require,module,exports){"use strict";var _=require("./lodash"),acyclic=require("./acyclic"),normalize=require("./normalize"),rank=require("./rank"),normalizeRanks=require("./util").normalizeRanks,parentDummyChains=require("./parent-dummy-chains"),removeEmptyRanks=require("./util").removeEmptyRanks,nestingGraph=require("./nesting-graph"),addBorderSegments=require("./add-border-segments"),coordinateSystem=require("./coordinate-system"),order=require("./order"),position=require("./position"),util=require("./util"),Graph=require("./graphlib").Graph;module.exports=layout;function layout(g,opts){var time=opts&&opts.debugTiming?util.time:util.notime;time("layout",function(){var layoutGraph=time(" buildLayoutGraph",function(){return buildLayoutGraph(g)});time(" runLayout",function(){runLayout(layoutGraph,time)});time(" updateInputGraph",function(){updateInputGraph(g,layoutGraph)})})}function runLayout(g,time){time(" makeSpaceForEdgeLabels",function(){makeSpaceForEdgeLabels(g)});time(" removeSelfEdges",function(){removeSelfEdges(g)});time(" acyclic",function(){acyclic.run(g)});time(" nestingGraph.run",function(){nestingGraph.run(g)});time(" rank",function(){rank(util.asNonCompoundGraph(g))});time(" injectEdgeLabelProxies",function(){injectEdgeLabelProxies(g)});time(" removeEmptyRanks",function(){removeEmptyRanks(g)});time(" nestingGraph.cleanup",function(){nestingGraph.cleanup(g)});time(" normalizeRanks",function(){normalizeRanks(g)});time(" assignRankMinMax",function(){assignRankMinMax(g)});time(" removeEdgeLabelProxies",function(){removeEdgeLabelProxies(g)});time(" normalize.run",function(){normalize.run(g)});time(" parentDummyChains",function(){parentDummyChains(g)});time(" addBorderSegments",function(){addBorderSegments(g)});time(" order",function(){order(g)});time(" insertSelfEdges",function(){insertSelfEdges(g)});time(" adjustCoordinateSystem",function(){coordinateSystem.adjust(g)});time(" position",function(){position(g)});time(" positionSelfEdges",function(){positionSelfEdges(g)});time(" removeBorderNodes",function(){removeBorderNodes(g)});time(" normalize.undo",function(){normalize.undo(g)});time(" fixupEdgeLabelCoords",function(){fixupEdgeLabelCoords(g)});time(" undoCoordinateSystem",function(){coordinateSystem.undo(g)});time(" translateGraph",function(){translateGraph(g)});time(" assignNodeIntersects",function(){assignNodeIntersects(g)});time(" reversePoints",function(){reversePointsForReversedEdges(g)});time(" acyclic.undo",function(){acyclic.undo(g)})}
+/*
+ * Copies final layout information from the layout graph back to the input
+ * graph. This process only copies whitelisted attributes from the layout graph
+ * to the input graph, so it serves as a good place to determine what
+ * attributes can influence layout.
+ */function updateInputGraph(inputGraph,layoutGraph){_.each(inputGraph.nodes(),function(v){var inputLabel=inputGraph.node(v),layoutLabel=layoutGraph.node(v);if(inputLabel){inputLabel.x=layoutLabel.x;inputLabel.y=layoutLabel.y;if(layoutGraph.children(v).length){inputLabel.width=layoutLabel.width;inputLabel.height=layoutLabel.height}}});_.each(inputGraph.edges(),function(e){var inputLabel=inputGraph.edge(e),layoutLabel=layoutGraph.edge(e);inputLabel.points=layoutLabel.points;if(_.has(layoutLabel,"x")){inputLabel.x=layoutLabel.x;inputLabel.y=layoutLabel.y}});inputGraph.graph().width=layoutGraph.graph().width;inputGraph.graph().height=layoutGraph.graph().height}var graphNumAttrs=["nodesep","edgesep","ranksep","marginx","marginy"],graphDefaults={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},graphAttrs=["acyclicer","ranker","rankdir","align"],nodeNumAttrs=["width","height"],nodeDefaults={width:0,height:0},edgeNumAttrs=["minlen","weight","width","height","labeloffset"],edgeDefaults={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},edgeAttrs=["labelpos"];
+/*
+ * Constructs a new graph from the input graph, which can be used for layout.
+ * This process copies only whitelisted attributes from the input graph to the
+ * layout graph. Thus this function serves as a good place to determine what
+ * attributes can influence layout.
+ */function buildLayoutGraph(inputGraph){var g=new Graph({multigraph:true,compound:true}),graph=canonicalize(inputGraph.graph());g.setGraph(_.merge({},graphDefaults,selectNumberAttrs(graph,graphNumAttrs),_.pick(graph,graphAttrs)));_.each(inputGraph.nodes(),function(v){var node=canonicalize(inputGraph.node(v));g.setNode(v,_.defaults(selectNumberAttrs(node,nodeNumAttrs),nodeDefaults));g.setParent(v,inputGraph.parent(v))});_.each(inputGraph.edges(),function(e){var edge=canonicalize(inputGraph.edge(e));g.setEdge(e,_.merge({},edgeDefaults,selectNumberAttrs(edge,edgeNumAttrs),_.pick(edge,edgeAttrs)))});return g}
+/*
+ * This idea comes from the Gansner paper: to account for edge labels in our
+ * layout we split each rank in half by doubling minlen and halving ranksep.
+ * Then we can place labels at these mid-points between nodes.
+ *
+ * We also add some minimal padding to the width to push the label for the edge
+ * away from the edge itself a bit.
+ */function makeSpaceForEdgeLabels(g){var graph=g.graph();graph.ranksep/=2;_.each(g.edges(),function(e){var edge=g.edge(e);edge.minlen*=2;if(edge.labelpos.toLowerCase()!=="c"){if(graph.rankdir==="TB"||graph.rankdir==="BT"){edge.width+=edge.labeloffset}else{edge.height+=edge.labeloffset}}})}
+/*
+ * Creates temporary dummy nodes that capture the rank in which each edge's
+ * label is going to, if it has one of non-zero width and height. We do this
+ * so that we can safely remove empty ranks while preserving balance for the
+ * label's position.
+ */function injectEdgeLabelProxies(g){_.each(g.edges(),function(e){var edge=g.edge(e);if(edge.width&&edge.height){var v=g.node(e.v),w=g.node(e.w),label={rank:(w.rank-v.rank)/2+v.rank,e:e};util.addDummyNode(g,"edge-proxy",label,"_ep")}})}function assignRankMinMax(g){var maxRank=0;_.each(g.nodes(),function(v){var node=g.node(v);if(node.borderTop){node.minRank=g.node(node.borderTop).rank;node.maxRank=g.node(node.borderBottom).rank;maxRank=_.max(maxRank,node.maxRank)}});g.graph().maxRank=maxRank}function removeEdgeLabelProxies(g){_.each(g.nodes(),function(v){var node=g.node(v);if(node.dummy==="edge-proxy"){g.edge(node.e).labelRank=node.rank;g.removeNode(v)}})}function translateGraph(g){var minX=Number.POSITIVE_INFINITY,maxX=0,minY=Number.POSITIVE_INFINITY,maxY=0,graphLabel=g.graph(),marginX=graphLabel.marginx||0,marginY=graphLabel.marginy||0;function getExtremes(attrs){var x=attrs.x,y=attrs.y,w=attrs.width,h=attrs.height;minX=Math.min(minX,x-w/2);maxX=Math.max(maxX,x+w/2);minY=Math.min(minY,y-h/2);maxY=Math.max(maxY,y+h/2)}_.each(g.nodes(),function(v){getExtremes(g.node(v))});_.each(g.edges(),function(e){var edge=g.edge(e);if(_.has(edge,"x")){getExtremes(edge)}});minX-=marginX;minY-=marginY;_.each(g.nodes(),function(v){var node=g.node(v);node.x-=minX;node.y-=minY});_.each(g.edges(),function(e){var edge=g.edge(e);_.each(edge.points,function(p){p.x-=minX;p.y-=minY});if(_.has(edge,"x")){edge.x-=minX}if(_.has(edge,"y")){edge.y-=minY}});graphLabel.width=maxX-minX+marginX;graphLabel.height=maxY-minY+marginY}function assignNodeIntersects(g){_.each(g.edges(),function(e){var edge=g.edge(e),nodeV=g.node(e.v),nodeW=g.node(e.w),p1,p2;if(!edge.points){edge.points=[];p1=nodeW;p2=nodeV}else{p1=edge.points[0];p2=edge.points[edge.points.length-1]}edge.points.unshift(util.intersectRect(nodeV,p1));edge.points.push(util.intersectRect(nodeW,p2))})}function fixupEdgeLabelCoords(g){_.each(g.edges(),function(e){var edge=g.edge(e);if(_.has(edge,"x")){if(edge.labelpos==="l"||edge.labelpos==="r"){edge.width-=edge.labeloffset}switch(edge.labelpos){case"l":edge.x-=edge.width/2+edge.labeloffset;break;case"r":edge.x+=edge.width/2+edge.labeloffset;break}}})}function reversePointsForReversedEdges(g){_.each(g.edges(),function(e){var edge=g.edge(e);if(edge.reversed){edge.points.reverse()}})}function removeBorderNodes(g){_.each(g.nodes(),function(v){if(g.children(v).length){var node=g.node(v),t=g.node(node.borderTop),b=g.node(node.borderBottom),l=g.node(_.last(node.borderLeft)),r=g.node(_.last(node.borderRight));node.width=Math.abs(r.x-l.x);node.height=Math.abs(b.y-t.y);node.x=l.x+node.width/2;node.y=t.y+node.height/2}});_.each(g.nodes(),function(v){if(g.node(v).dummy==="border"){g.removeNode(v)}})}function removeSelfEdges(g){_.each(g.edges(),function(e){if(e.v===e.w){var node=g.node(e.v);if(!node.selfEdges){node.selfEdges=[]}node.selfEdges.push({e:e,label:g.edge(e)});g.removeEdge(e)}})}function insertSelfEdges(g){var layers=util.buildLayerMatrix(g);_.each(layers,function(layer){var orderShift=0;_.each(layer,function(v,i){var node=g.node(v);node.order=i+orderShift;_.each(node.selfEdges,function(selfEdge){util.addDummyNode(g,"selfedge",{width:selfEdge.label.width,height:selfEdge.label.height,rank:node.rank,order:i+ ++orderShift,e:selfEdge.e,label:selfEdge.label},"_se")});delete node.selfEdges})})}function positionSelfEdges(g){_.each(g.nodes(),function(v){var node=g.node(v);if(node.dummy==="selfedge"){var selfNode=g.node(node.e.v),x=selfNode.x+selfNode.width/2,y=selfNode.y,dx=node.x-x,dy=selfNode.height/2;g.setEdge(node.e,node.label);g.removeNode(v);node.label.points=[{x:x+2*dx/3,y:y-dy},{x:x+5*dx/6,y:y-dy},{x:x+dx,y:y},{x:x+5*dx/6,y:y+dy},{x:x+2*dx/3,y:y+dy}];node.label.x=node.x;node.label.y=node.y}})}function selectNumberAttrs(obj,attrs){return _.mapValues(_.pick(obj,attrs),Number)}function canonicalize(attrs){var newAttrs={};_.each(attrs,function(v,k){newAttrs[k.toLowerCase()]=v});return newAttrs}},{"./acyclic":30,"./add-border-segments":31,"./coordinate-system":32,"./graphlib":35,"./lodash":38,"./nesting-graph":39,"./normalize":40,"./order":45,"./parent-dummy-chains":50,"./position":52,"./rank":54,"./util":57}],38:[function(require,module,exports){
+/* global window */
+var lodash;if(typeof require==="function"){try{lodash=require("lodash")}catch(e){}}if(!lodash){lodash=window._}module.exports=lodash},{lodash:79}],39:[function(require,module,exports){var _=require("./lodash"),util=require("./util");module.exports={run:run,cleanup:cleanup};
+/*
+ * A nesting graph creates dummy nodes for the tops and bottoms of subgraphs,
+ * adds appropriate edges to ensure that all cluster nodes are placed between
+ * these boundries, and ensures that the graph is connected.
+ *
+ * In addition we ensure, through the use of the minlen property, that nodes
+ * and subgraph border nodes to not end up on the same rank.
+ *
+ * Preconditions:
+ *
+ * 1. Input graph is a DAG
+ * 2. Nodes in the input graph has a minlen attribute
+ *
+ * Postconditions:
+ *
+ * 1. Input graph is connected.
+ * 2. Dummy nodes are added for the tops and bottoms of subgraphs.
+ * 3. The minlen attribute for nodes is adjusted to ensure nodes do not
+ * get placed on the same rank as subgraph border nodes.
+ *
+ * The nesting graph idea comes from Sander, "Layout of Compound Directed
+ * Graphs."
+ */function run(g){var root=util.addDummyNode(g,"root",{},"_root"),depths=treeDepths(g),height=_.max(depths)-1,nodeSep=2*height+1;g.graph().nestingRoot=root;
+// Multiply minlen by nodeSep to align nodes on non-border ranks.
+_.each(g.edges(),function(e){g.edge(e).minlen*=nodeSep});
+// Calculate a weight that is sufficient to keep subgraphs vertically compact
+var weight=sumWeights(g)+1;
+// Create border nodes and link them up
+_.each(g.children(),function(child){dfs(g,root,nodeSep,weight,height,depths,child)});
+// Save the multiplier for node layers for later removal of empty border
+// layers.
+g.graph().nodeRankFactor=nodeSep}function dfs(g,root,nodeSep,weight,height,depths,v){var children=g.children(v);if(!children.length){if(v!==root){g.setEdge(root,v,{weight:0,minlen:nodeSep})}return}var top=util.addBorderNode(g,"_bt"),bottom=util.addBorderNode(g,"_bb"),label=g.node(v);g.setParent(top,v);label.borderTop=top;g.setParent(bottom,v);label.borderBottom=bottom;_.each(children,function(child){dfs(g,root,nodeSep,weight,height,depths,child);var childNode=g.node(child),childTop=childNode.borderTop?childNode.borderTop:child,childBottom=childNode.borderBottom?childNode.borderBottom:child,thisWeight=childNode.borderTop?weight:2*weight,minlen=childTop!==childBottom?1:height-depths[v]+1;g.setEdge(top,childTop,{weight:thisWeight,minlen:minlen,nestingEdge:true});g.setEdge(childBottom,bottom,{weight:thisWeight,minlen:minlen,nestingEdge:true})});if(!g.parent(v)){g.setEdge(root,top,{weight:0,minlen:height+depths[v]})}}function treeDepths(g){var depths={};function dfs(v,depth){var children=g.children(v);if(children&&children.length){_.each(children,function(child){dfs(child,depth+1)})}depths[v]=depth}_.each(g.children(),function(v){dfs(v,1)});return depths}function sumWeights(g){return _.reduce(g.edges(),function(acc,e){return acc+g.edge(e).weight},0)}function cleanup(g){var graphLabel=g.graph();g.removeNode(graphLabel.nestingRoot);delete graphLabel.nestingRoot;_.each(g.edges(),function(e){var edge=g.edge(e);if(edge.nestingEdge){g.removeEdge(e)}})}},{"./lodash":38,"./util":57}],40:[function(require,module,exports){"use strict";var _=require("./lodash"),util=require("./util");module.exports={run:run,undo:undo};
+/*
+ * Breaks any long edges in the graph into short segments that span 1 layer
+ * each. This operation is undoable with the denormalize function.
+ *
+ * Pre-conditions:
+ *
+ * 1. The input graph is a DAG.
+ * 2. Each node in the graph has a "rank" property.
+ *
+ * Post-condition:
+ *
+ * 1. All edges in the graph have a length of 1.
+ * 2. Dummy nodes are added where edges have been split into segments.
+ * 3. The graph is augmented with a "dummyChains" attribute which contains
+ * the first dummy in each chain of dummy nodes produced.
+ */function run(g){g.graph().dummyChains=[];_.each(g.edges(),function(edge){normalizeEdge(g,edge)})}function normalizeEdge(g,e){var v=e.v,vRank=g.node(v).rank,w=e.w,wRank=g.node(w).rank,name=e.name,edgeLabel=g.edge(e),labelRank=edgeLabel.labelRank;if(wRank===vRank+1)return;g.removeEdge(e);var dummy,attrs,i;for(i=0,++vRank;vRank<wRank;++i,++vRank){edgeLabel.points=[];attrs={width:0,height:0,edgeLabel:edgeLabel,edgeObj:e,rank:vRank};dummy=util.addDummyNode(g,"edge",attrs,"_d");if(vRank===labelRank){attrs.width=edgeLabel.width;attrs.height=edgeLabel.height;attrs.dummy="edge-label";attrs.labelpos=edgeLabel.labelpos}g.setEdge(v,dummy,{weight:edgeLabel.weight},name);if(i===0){g.graph().dummyChains.push(dummy)}v=dummy}g.setEdge(v,w,{weight:edgeLabel.weight},name)}function undo(g){_.each(g.graph().dummyChains,function(v){var node=g.node(v),origLabel=node.edgeLabel,w;g.setEdge(node.edgeObj,origLabel);while(node.dummy){w=g.successors(v)[0];g.removeNode(v);origLabel.points.push({x:node.x,y:node.y});if(node.dummy==="edge-label"){origLabel.x=node.x;origLabel.y=node.y;origLabel.width=node.width;origLabel.height=node.height}v=w;node=g.node(v)}})}},{"./lodash":38,"./util":57}],41:[function(require,module,exports){var _=require("../lodash");module.exports=addSubgraphConstraints;function addSubgraphConstraints(g,cg,vs){var prev={},rootPrev;_.each(vs,function(v){var child=g.parent(v),parent,prevChild;while(child){parent=g.parent(child);if(parent){prevChild=prev[parent];prev[parent]=child}else{prevChild=rootPrev;rootPrev=child}if(prevChild&&prevChild!==child){cg.setEdge(prevChild,child);return}child=parent}});
+/*
+ function dfs(v) {
+ var children = v ? g.children(v) : g.children();
+ if (children.length) {
+ var min = Number.POSITIVE_INFINITY,
+ subgraphs = [];
+ _.each(children, function(child) {
+ var childMin = dfs(child);
+ if (g.children(child).length) {
+ subgraphs.push({ v: child, order: childMin });
+ }
+ min = Math.min(min, childMin);
+ });
+ _.reduce(_.sortBy(subgraphs, "order"), function(prev, curr) {
+ cg.setEdge(prev.v, curr.v);
+ return curr;
+ });
+ return min;
+ }
+ return g.node(v).order;
+ }
+ dfs(undefined);
+ */}},{"../lodash":38}],42:[function(require,module,exports){var _=require("../lodash");module.exports=barycenter;function barycenter(g,movable){return _.map(movable,function(v){var inV=g.inEdges(v);if(!inV.length){return{v:v}}else{var result=_.reduce(inV,function(acc,e){var edge=g.edge(e),nodeU=g.node(e.v);return{sum:acc.sum+edge.weight*nodeU.order,weight:acc.weight+edge.weight}},{sum:0,weight:0});return{v:v,barycenter:result.sum/result.weight,weight:result.weight}}})}},{"../lodash":38}],43:[function(require,module,exports){var _=require("../lodash"),Graph=require("../graphlib").Graph;module.exports=buildLayerGraph;
+/*
+ * Constructs a graph that can be used to sort a layer of nodes. The graph will
+ * contain all base and subgraph nodes from the request layer in their original
+ * hierarchy and any edges that are incident on these nodes and are of the type
+ * requested by the "relationship" parameter.
+ *
+ * Nodes from the requested rank that do not have parents are assigned a root
+ * node in the output graph, which is set in the root graph attribute. This
+ * makes it easy to walk the hierarchy of movable nodes during ordering.
+ *
+ * Pre-conditions:
+ *
+ * 1. Input graph is a DAG
+ * 2. Base nodes in the input graph have a rank attribute
+ * 3. Subgraph nodes in the input graph has minRank and maxRank attributes
+ * 4. Edges have an assigned weight
+ *
+ * Post-conditions:
+ *
+ * 1. Output graph has all nodes in the movable rank with preserved
+ * hierarchy.
+ * 2. Root nodes in the movable layer are made children of the node
+ * indicated by the root attribute of the graph.
+ * 3. Non-movable nodes incident on movable nodes, selected by the
+ * relationship parameter, are included in the graph (without hierarchy).
+ * 4. Edges incident on movable nodes, selected by the relationship
+ * parameter, are added to the output graph.
+ * 5. The weights for copied edges are aggregated as need, since the output
+ * graph is not a multi-graph.
+ */function buildLayerGraph(g,rank,relationship){var root=createRootNode(g),result=new Graph({compound:true}).setGraph({root:root}).setDefaultNodeLabel(function(v){return g.node(v)});_.each(g.nodes(),function(v){var node=g.node(v),parent=g.parent(v);if(node.rank===rank||node.minRank<=rank&&rank<=node.maxRank){result.setNode(v);result.setParent(v,parent||root);
+// This assumes we have only short edges!
+_.each(g[relationship](v),function(e){var u=e.v===v?e.w:e.v,edge=result.edge(u,v),weight=!_.isUndefined(edge)?edge.weight:0;result.setEdge(u,v,{weight:g.edge(e).weight+weight})});if(_.has(node,"minRank")){result.setNode(v,{borderLeft:node.borderLeft[rank],borderRight:node.borderRight[rank]})}}});return result}function createRootNode(g){var v;while(g.hasNode(v=_.uniqueId("_root")));return v}},{"../graphlib":35,"../lodash":38}],44:[function(require,module,exports){"use strict";var _=require("../lodash");module.exports=crossCount;
+/*
+ * A function that takes a layering (an array of layers, each with an array of
+ * ordererd nodes) and a graph and returns a weighted crossing count.
+ *
+ * Pre-conditions:
+ *
+ * 1. Input graph must be simple (not a multigraph), directed, and include
+ * only simple edges.
+ * 2. Edges in the input graph must have assigned weights.
+ *
+ * Post-conditions:
+ *
+ * 1. The graph and layering matrix are left unchanged.
+ *
+ * This algorithm is derived from Barth, et al., "Bilayer Cross Counting."
+ */function crossCount(g,layering){var cc=0;for(var i=1;i<layering.length;++i){cc+=twoLayerCrossCount(g,layering[i-1],layering[i])}return cc}function twoLayerCrossCount(g,northLayer,southLayer){
+// Sort all of the edges between the north and south layers by their position
+// in the north layer and then the south. Map these edges to the position of
+// their head in the south layer.
+var southPos=_.zipObject(southLayer,_.map(southLayer,function(v,i){return i}));var southEntries=_.flatten(_.map(northLayer,function(v){return _.chain(g.outEdges(v)).map(function(e){return{pos:southPos[e.w],weight:g.edge(e).weight}}).sortBy("pos").value()}),true);
+// Build the accumulator tree
+var firstIndex=1;while(firstIndex<southLayer.length)firstIndex<<=1;var treeSize=2*firstIndex-1;firstIndex-=1;var tree=_.map(new Array(treeSize),function(){return 0});
+// Calculate the weighted crossings
+var cc=0;_.each(southEntries.forEach(function(entry){var index=entry.pos+firstIndex;tree[index]+=entry.weight;var weightSum=0;while(index>0){if(index%2){weightSum+=tree[index+1]}index=index-1>>1;tree[index]+=entry.weight}cc+=entry.weight*weightSum}));return cc}},{"../lodash":38}],45:[function(require,module,exports){"use strict";var _=require("../lodash"),initOrder=require("./init-order"),crossCount=require("./cross-count"),sortSubgraph=require("./sort-subgraph"),buildLayerGraph=require("./build-layer-graph"),addSubgraphConstraints=require("./add-subgraph-constraints"),Graph=require("../graphlib").Graph,util=require("../util");module.exports=order;
+/*
+ * Applies heuristics to minimize edge crossings in the graph and sets the best
+ * order solution as an order attribute on each node.
+ *
+ * Pre-conditions:
+ *
+ * 1. Graph must be DAG
+ * 2. Graph nodes must be objects with a "rank" attribute
+ * 3. Graph edges must have the "weight" attribute
+ *
+ * Post-conditions:
+ *
+ * 1. Graph nodes will have an "order" attribute based on the results of the
+ * algorithm.
+ */function order(g){var maxRank=util.maxRank(g),downLayerGraphs=buildLayerGraphs(g,_.range(1,maxRank+1),"inEdges"),upLayerGraphs=buildLayerGraphs(g,_.range(maxRank-1,-1,-1),"outEdges");var layering=initOrder(g);assignOrder(g,layering);var bestCC=Number.POSITIVE_INFINITY,best;for(var i=0,lastBest=0;lastBest<4;++i,++lastBest){sweepLayerGraphs(i%2?downLayerGraphs:upLayerGraphs,i%4>=2);layering=util.buildLayerMatrix(g);var cc=crossCount(g,layering);if(cc<bestCC){lastBest=0;best=_.cloneDeep(layering);bestCC=cc}}assignOrder(g,best)}function buildLayerGraphs(g,ranks,relationship){return _.map(ranks,function(rank){return buildLayerGraph(g,rank,relationship)})}function sweepLayerGraphs(layerGraphs,biasRight){var cg=new Graph;_.each(layerGraphs,function(lg){var root=lg.graph().root;var sorted=sortSubgraph(lg,root,cg,biasRight);_.each(sorted.vs,function(v,i){lg.node(v).order=i});addSubgraphConstraints(lg,cg,sorted.vs)})}function assignOrder(g,layering){_.each(layering,function(layer){_.each(layer,function(v,i){g.node(v).order=i})})}},{"../graphlib":35,"../lodash":38,"../util":57,"./add-subgraph-constraints":41,"./build-layer-graph":43,"./cross-count":44,"./init-order":46,"./sort-subgraph":48}],46:[function(require,module,exports){"use strict";var _=require("../lodash");module.exports=initOrder;
+/*
+ * Assigns an initial order value for each node by performing a DFS search
+ * starting from nodes in the first rank. Nodes are assigned an order in their
+ * rank as they are first visited.
+ *
+ * This approach comes from Gansner, et al., "A Technique for Drawing Directed
+ * Graphs."
+ *
+ * Returns a layering matrix with an array per layer and each layer sorted by
+ * the order of its nodes.
+ */function initOrder(g){var visited={},simpleNodes=_.filter(g.nodes(),function(v){return!g.children(v).length}),maxRank=_.max(_.map(simpleNodes,function(v){return g.node(v).rank})),layers=_.map(_.range(maxRank+1),function(){return[]});function dfs(v){if(_.has(visited,v))return;visited[v]=true;var node=g.node(v);layers[node.rank].push(v);_.each(g.successors(v),dfs)}var orderedVs=_.sortBy(simpleNodes,function(v){return g.node(v).rank});_.each(orderedVs,dfs);return layers}},{"../lodash":38}],47:[function(require,module,exports){"use strict";var _=require("../lodash");module.exports=resolveConflicts;
+/*
+ * Given a list of entries of the form {v, barycenter, weight} and a
+ * constraint graph this function will resolve any conflicts between the
+ * constraint graph and the barycenters for the entries. If the barycenters for
+ * an entry would violate a constraint in the constraint graph then we coalesce
+ * the nodes in the conflict into a new node that respects the contraint and
+ * aggregates barycenter and weight information.
+ *
+ * This implementation is based on the description in Forster, "A Fast and
+ * Simple Hueristic for Constrained Two-Level Crossing Reduction," thought it
+ * differs in some specific details.
+ *
+ * Pre-conditions:
+ *
+ * 1. Each entry has the form {v, barycenter, weight}, or if the node has
+ * no barycenter, then {v}.
+ *
+ * Returns:
+ *
+ * A new list of entries of the form {vs, i, barycenter, weight}. The list
+ * `vs` may either be a singleton or it may be an aggregation of nodes
+ * ordered such that they do not violate constraints from the constraint
+ * graph. The property `i` is the lowest original index of any of the
+ * elements in `vs`.
+ */function resolveConflicts(entries,cg){var mappedEntries={};_.each(entries,function(entry,i){var tmp=mappedEntries[entry.v]={indegree:0,in:[],out:[],vs:[entry.v],i:i};if(!_.isUndefined(entry.barycenter)){tmp.barycenter=entry.barycenter;tmp.weight=entry.weight}});_.each(cg.edges(),function(e){var entryV=mappedEntries[e.v],entryW=mappedEntries[e.w];if(!_.isUndefined(entryV)&&!_.isUndefined(entryW)){entryW.indegree++;entryV.out.push(mappedEntries[e.w])}});var sourceSet=_.filter(mappedEntries,function(entry){return!entry.indegree});return doResolveConflicts(sourceSet)}function doResolveConflicts(sourceSet){var entries=[];function handleIn(vEntry){return function(uEntry){if(uEntry.merged){return}if(_.isUndefined(uEntry.barycenter)||_.isUndefined(vEntry.barycenter)||uEntry.barycenter>=vEntry.barycenter){mergeEntries(vEntry,uEntry)}}}function handleOut(vEntry){return function(wEntry){wEntry["in"].push(vEntry);if(--wEntry.indegree===0){sourceSet.push(wEntry)}}}while(sourceSet.length){var entry=sourceSet.pop();entries.push(entry);_.each(entry["in"].reverse(),handleIn(entry));_.each(entry.out,handleOut(entry))}return _.chain(entries).filter(function(entry){return!entry.merged}).map(function(entry){return _.pick(entry,["vs","i","barycenter","weight"])}).value()}function mergeEntries(target,source){var sum=0,weight=0;if(target.weight){sum+=target.barycenter*target.weight;weight+=target.weight}if(source.weight){sum+=source.barycenter*source.weight;weight+=source.weight}target.vs=source.vs.concat(target.vs);target.barycenter=sum/weight;target.weight=weight;target.i=Math.min(source.i,target.i);source.merged=true}},{"../lodash":38}],48:[function(require,module,exports){var _=require("../lodash"),barycenter=require("./barycenter"),resolveConflicts=require("./resolve-conflicts"),sort=require("./sort");module.exports=sortSubgraph;function sortSubgraph(g,v,cg,biasRight){var movable=g.children(v),node=g.node(v),bl=node?node.borderLeft:undefined,br=node?node.borderRight:undefined,subgraphs={};if(bl){movable=_.filter(movable,function(w){return w!==bl&&w!==br})}var barycenters=barycenter(g,movable);_.each(barycenters,function(entry){if(g.children(entry.v).length){var subgraphResult=sortSubgraph(g,entry.v,cg,biasRight);subgraphs[entry.v]=subgraphResult;if(_.has(subgraphResult,"barycenter")){mergeBarycenters(entry,subgraphResult)}}});var entries=resolveConflicts(barycenters,cg);expandSubgraphs(entries,subgraphs);var result=sort(entries,biasRight);if(bl){result.vs=_.flatten([bl,result.vs,br],true);if(g.predecessors(bl).length){var blPred=g.node(g.predecessors(bl)[0]),brPred=g.node(g.predecessors(br)[0]);if(!_.has(result,"barycenter")){result.barycenter=0;result.weight=0}result.barycenter=(result.barycenter*result.weight+blPred.order+brPred.order)/(result.weight+2);result.weight+=2}}return result}function expandSubgraphs(entries,subgraphs){_.each(entries,function(entry){entry.vs=_.flatten(entry.vs.map(function(v){if(subgraphs[v]){return subgraphs[v].vs}return v}),true)})}function mergeBarycenters(target,other){if(!_.isUndefined(target.barycenter)){target.barycenter=(target.barycenter*target.weight+other.barycenter*other.weight)/(target.weight+other.weight);target.weight+=other.weight}else{target.barycenter=other.barycenter;target.weight=other.weight}}},{"../lodash":38,"./barycenter":42,"./resolve-conflicts":47,"./sort":49}],49:[function(require,module,exports){var _=require("../lodash"),util=require("../util");module.exports=sort;function sort(entries,biasRight){var parts=util.partition(entries,function(entry){return _.has(entry,"barycenter")});var sortable=parts.lhs,unsortable=_.sortBy(parts.rhs,function(entry){return-entry.i}),vs=[],sum=0,weight=0,vsIndex=0;sortable.sort(compareWithBias(!!biasRight));vsIndex=consumeUnsortable(vs,unsortable,vsIndex);_.each(sortable,function(entry){vsIndex+=entry.vs.length;vs.push(entry.vs);sum+=entry.barycenter*entry.weight;weight+=entry.weight;vsIndex=consumeUnsortable(vs,unsortable,vsIndex)});var result={vs:_.flatten(vs,true)};if(weight){result.barycenter=sum/weight;result.weight=weight}return result}function consumeUnsortable(vs,unsortable,index){var last;while(unsortable.length&&(last=_.last(unsortable)).i<=index){unsortable.pop();vs.push(last.vs);index++}return index}function compareWithBias(bias){return function(entryV,entryW){if(entryV.barycenter<entryW.barycenter){return-1}else if(entryV.barycenter>entryW.barycenter){return 1}return!bias?entryV.i-entryW.i:entryW.i-entryV.i}}},{"../lodash":38,"../util":57}],50:[function(require,module,exports){var _=require("./lodash");module.exports=parentDummyChains;function parentDummyChains(g){var postorderNums=postorder(g);_.each(g.graph().dummyChains,function(v){var node=g.node(v),edgeObj=node.edgeObj,pathData=findPath(g,postorderNums,edgeObj.v,edgeObj.w),path=pathData.path,lca=pathData.lca,pathIdx=0,pathV=path[pathIdx],ascending=true;while(v!==edgeObj.w){node=g.node(v);if(ascending){while((pathV=path[pathIdx])!==lca&&g.node(pathV).maxRank<node.rank){pathIdx++}if(pathV===lca){ascending=false}}if(!ascending){while(pathIdx<path.length-1&&g.node(pathV=path[pathIdx+1]).minRank<=node.rank){pathIdx++}pathV=path[pathIdx]}g.setParent(v,pathV);v=g.successors(v)[0]}})}
+// Find a path from v to w through the lowest common ancestor (LCA). Return the
+// full path and the LCA.
+function findPath(g,postorderNums,v,w){var vPath=[],wPath=[],low=Math.min(postorderNums[v].low,postorderNums[w].low),lim=Math.max(postorderNums[v].lim,postorderNums[w].lim),parent,lca;
+// Traverse up from v to find the LCA
+parent=v;do{parent=g.parent(parent);vPath.push(parent)}while(parent&&(postorderNums[parent].low>low||lim>postorderNums[parent].lim));lca=parent;
+// Traverse from w to LCA
+parent=w;while((parent=g.parent(parent))!==lca){wPath.push(parent)}return{path:vPath.concat(wPath.reverse()),lca:lca}}function postorder(g){var result={},lim=0;function dfs(v){var low=lim;_.each(g.children(v),dfs);result[v]={low:low,lim:lim++}}_.each(g.children(),dfs);return result}},{"./lodash":38}],51:[function(require,module,exports){"use strict";var _=require("../lodash"),Graph=require("../graphlib").Graph,util=require("../util");
+/*
+ * This module provides coordinate assignment based on Brandes and Köpf, "Fast
+ * and Simple Horizontal Coordinate Assignment."
+ */module.exports={positionX:positionX,findType1Conflicts:findType1Conflicts,findType2Conflicts:findType2Conflicts,addConflict:addConflict,hasConflict:hasConflict,verticalAlignment:verticalAlignment,horizontalCompaction:horizontalCompaction,alignCoordinates:alignCoordinates,findSmallestWidthAlignment:findSmallestWidthAlignment,balance:balance};
+/*
+ * Marks all edges in the graph with a type-1 conflict with the "type1Conflict"
+ * property. A type-1 conflict is one where a non-inner segment crosses an
+ * inner segment. An inner segment is an edge with both incident nodes marked
+ * with the "dummy" property.
+ *
+ * This algorithm scans layer by layer, starting with the second, for type-1
+ * conflicts between the current layer and the previous layer. For each layer
+ * it scans the nodes from left to right until it reaches one that is incident
+ * on an inner segment. It then scans predecessors to determine if they have
+ * edges that cross that inner segment. At the end a final scan is done for all
+ * nodes on the current rank to see if they cross the last visited inner
+ * segment.
+ *
+ * This algorithm (safely) assumes that a dummy node will only be incident on a
+ * single node in the layers being scanned.
+ */function findType1Conflicts(g,layering){var conflicts={};function visitLayer(prevLayer,layer){var
+// last visited node in the previous layer that is incident on an inner
+// segment.
+k0=0,
+// Tracks the last node in this layer scanned for crossings with a type-1
+// segment.
+scanPos=0,prevLayerLength=prevLayer.length,lastNode=_.last(layer);_.each(layer,function(v,i){var w=findOtherInnerSegmentNode(g,v),k1=w?g.node(w).order:prevLayerLength;if(w||v===lastNode){_.each(layer.slice(scanPos,i+1),function(scanNode){_.each(g.predecessors(scanNode),function(u){var uLabel=g.node(u),uPos=uLabel.order;if((uPos<k0||k1<uPos)&&!(uLabel.dummy&&g.node(scanNode).dummy)){addConflict(conflicts,u,scanNode)}})});scanPos=i+1;k0=k1}});return layer}_.reduce(layering,visitLayer);return conflicts}function findType2Conflicts(g,layering){var conflicts={};function scan(south,southPos,southEnd,prevNorthBorder,nextNorthBorder){var v;_.each(_.range(southPos,southEnd),function(i){v=south[i];if(g.node(v).dummy){_.each(g.predecessors(v),function(u){var uNode=g.node(u);if(uNode.dummy&&(uNode.order<prevNorthBorder||uNode.order>nextNorthBorder)){addConflict(conflicts,u,v)}})}})}function visitLayer(north,south){var prevNorthPos=-1,nextNorthPos,southPos=0;_.each(south,function(v,southLookahead){if(g.node(v).dummy==="border"){var predecessors=g.predecessors(v);if(predecessors.length){nextNorthPos=g.node(predecessors[0]).order;scan(south,southPos,southLookahead,prevNorthPos,nextNorthPos);southPos=southLookahead;prevNorthPos=nextNorthPos}}scan(south,southPos,south.length,nextNorthPos,north.length)});return south}_.reduce(layering,visitLayer);return conflicts}function findOtherInnerSegmentNode(g,v){if(g.node(v).dummy){return _.find(g.predecessors(v),function(u){return g.node(u).dummy})}}function addConflict(conflicts,v,w){if(v>w){var tmp=v;v=w;w=tmp}var conflictsV=conflicts[v];if(!conflictsV){conflicts[v]=conflictsV={}}conflictsV[w]=true}function hasConflict(conflicts,v,w){if(v>w){var tmp=v;v=w;w=tmp}return _.has(conflicts[v],w)}
+/*
+ * Try to align nodes into vertical "blocks" where possible. This algorithm
+ * attempts to align a node with one of its median neighbors. If the edge
+ * connecting a neighbor is a type-1 conflict then we ignore that possibility.
+ * If a previous node has already formed a block with a node after the node
+ * we're trying to form a block with, we also ignore that possibility - our
+ * blocks would be split in that scenario.
+ */function verticalAlignment(g,layering,conflicts,neighborFn){var root={},align={},pos={};
+// We cache the position here based on the layering because the graph and
+// layering may be out of sync. The layering matrix is manipulated to
+// generate different extreme alignments.
+_.each(layering,function(layer){_.each(layer,function(v,order){root[v]=v;align[v]=v;pos[v]=order})});_.each(layering,function(layer){var prevIdx=-1;_.each(layer,function(v){var ws=neighborFn(v);if(ws.length){ws=_.sortBy(ws,function(w){return pos[w]});var mp=(ws.length-1)/2;for(var i=Math.floor(mp),il=Math.ceil(mp);i<=il;++i){var w=ws[i];if(align[v]===v&&prevIdx<pos[w]&&!hasConflict(conflicts,v,w)){align[w]=v;align[v]=root[v]=root[w];prevIdx=pos[w]}}}})});return{root:root,align:align}}function horizontalCompaction(g,layering,root,align,reverseSep){
+// This portion of the algorithm differs from BK due to a number of problems.
+// Instead of their algorithm we construct a new block graph and do two
+// sweeps. The first sweep places blocks with the smallest possible
+// coordinates. The second sweep removes unused space by moving blocks to the
+// greatest coordinates without violating separation.
+var xs={},blockG=buildBlockGraph(g,layering,root,reverseSep);
+// First pass, assign smallest coordinates via DFS
+var visited={};function pass1(v){if(!_.has(visited,v)){visited[v]=true;xs[v]=_.reduce(blockG.inEdges(v),function(max,e){pass1(e.v);return Math.max(max,xs[e.v]+blockG.edge(e))},0)}}_.each(blockG.nodes(),pass1);var borderType=reverseSep?"borderLeft":"borderRight";function pass2(v){if(visited[v]!==2){visited[v]++;var node=g.node(v);var min=_.reduce(blockG.outEdges(v),function(min,e){pass2(e.w);return Math.min(min,xs[e.w]-blockG.edge(e))},Number.POSITIVE_INFINITY);if(min!==Number.POSITIVE_INFINITY&&node.borderType!==borderType){xs[v]=Math.max(xs[v],min)}}}_.each(blockG.nodes(),pass2);
+// Assign x coordinates to all nodes
+_.each(align,function(v){xs[v]=xs[root[v]]});return xs}function buildBlockGraph(g,layering,root,reverseSep){var blockGraph=new Graph,graphLabel=g.graph(),sepFn=sep(graphLabel.nodesep,graphLabel.edgesep,reverseSep);_.each(layering,function(layer){var u;_.each(layer,function(v){var vRoot=root[v];blockGraph.setNode(vRoot);if(u){var uRoot=root[u],prevMax=blockGraph.edge(uRoot,vRoot);blockGraph.setEdge(uRoot,vRoot,Math.max(sepFn(g,v,u),prevMax||0))}u=v})});return blockGraph}
+/*
+ * Returns the alignment that has the smallest width of the given alignments.
+ */function findSmallestWidthAlignment(g,xss){return _.min(xss,function(xs){var min=_.min(xs,function(x,v){return x-width(g,v)/2}),max=_.max(xs,function(x,v){return x+width(g,v)/2});return max-min})}
+/*
+ * Align the coordinates of each of the layout alignments such that
+ * left-biased alignments have their minimum coordinate at the same point as
+ * the minimum coordinate of the smallest width alignment and right-biased
+ * alignments have their maximum coordinate at the same point as the maximum
+ * coordinate of the smallest width alignment.
+ */function alignCoordinates(xss,alignTo){var alignToMin=_.min(alignTo),alignToMax=_.max(alignTo);_.each(["u","d"],function(vert){_.each(["l","r"],function(horiz){var alignment=vert+horiz,xs=xss[alignment],delta;if(xs===alignTo)return;delta=horiz==="l"?alignToMin-_.min(xs):alignToMax-_.max(xs);if(delta){xss[alignment]=_.mapValues(xs,function(x){return x+delta})}})})}function balance(xss,align){return _.mapValues(xss.ul,function(ignore,v){if(align){return xss[align.toLowerCase()][v]}else{var xs=_.sortBy(_.pluck(xss,v));return(xs[1]+xs[2])/2}})}function positionX(g){var layering=util.buildLayerMatrix(g),conflicts=_.merge(findType1Conflicts(g,layering),findType2Conflicts(g,layering));var xss={},adjustedLayering;_.each(["u","d"],function(vert){adjustedLayering=vert==="u"?layering:_.values(layering).reverse();_.each(["l","r"],function(horiz){if(horiz==="r"){adjustedLayering=_.map(adjustedLayering,function(inner){return _.values(inner).reverse()})}var neighborFn=_.bind(vert==="u"?g.predecessors:g.successors,g);var align=verticalAlignment(g,adjustedLayering,conflicts,neighborFn);var xs=horizontalCompaction(g,adjustedLayering,align.root,align.align,horiz==="r");if(horiz==="r"){xs=_.mapValues(xs,function(x){return-x})}xss[vert+horiz]=xs})});var smallestWidth=findSmallestWidthAlignment(g,xss);alignCoordinates(xss,smallestWidth);return balance(xss,g.graph().align)}function sep(nodeSep,edgeSep,reverseSep){return function(g,v,w){var vLabel=g.node(v),wLabel=g.node(w),sum=0,delta;sum+=vLabel.width/2;if(_.has(vLabel,"labelpos")){switch(vLabel.labelpos.toLowerCase()){case"l":delta=-vLabel.width/2;break;case"r":delta=vLabel.width/2;break}}if(delta){sum+=reverseSep?delta:-delta}delta=0;sum+=(vLabel.dummy?edgeSep:nodeSep)/2;sum+=(wLabel.dummy?edgeSep:nodeSep)/2;sum+=wLabel.width/2;if(_.has(wLabel,"labelpos")){switch(wLabel.labelpos.toLowerCase()){case"l":delta=wLabel.width/2;break;case"r":delta=-wLabel.width/2;break}}if(delta){sum+=reverseSep?delta:-delta}delta=0;return sum}}function width(g,v){return g.node(v).width}},{"../graphlib":35,"../lodash":38,"../util":57}],52:[function(require,module,exports){"use strict";var _=require("../lodash"),util=require("../util"),positionX=require("./bk").positionX;module.exports=position;function position(g){g=util.asNonCompoundGraph(g);positionY(g);_.each(positionX(g),function(x,v){g.node(v).x=x})}function positionY(g){var layering=util.buildLayerMatrix(g),rankSep=g.graph().ranksep,prevY=0;_.each(layering,function(layer){var maxHeight=_.max(_.map(layer,function(v){return g.node(v).height}));_.each(layer,function(v){g.node(v).y=prevY+maxHeight/2});prevY+=maxHeight+rankSep})}},{"../lodash":38,"../util":57,"./bk":51}],53:[function(require,module,exports){"use strict";var _=require("../lodash"),Graph=require("../graphlib").Graph,slack=require("./util").slack;module.exports=feasibleTree;
+/*
+ * Constructs a spanning tree with tight edges and adjusted the input node's
+ * ranks to achieve this. A tight edge is one that is has a length that matches
+ * its "minlen" attribute.
+ *
+ * The basic structure for this function is derived from Gansner, et al., "A
+ * Technique for Drawing Directed Graphs."
+ *
+ * Pre-conditions:
+ *
+ * 1. Graph must be a DAG.
+ * 2. Graph must be connected.
+ * 3. Graph must have at least one node.
+ * 5. Graph nodes must have been previously assigned a "rank" property that
+ * respects the "minlen" property of incident edges.
+ * 6. Graph edges must have a "minlen" property.
+ *
+ * Post-conditions:
+ *
+ * - Graph nodes will have their rank adjusted to ensure that all edges are
+ * tight.
+ *
+ * Returns a tree (undirected graph) that is constructed using only "tight"
+ * edges.
+ */function feasibleTree(g){var t=new Graph({directed:false});
+// Choose arbitrary node from which to start our tree
+var start=g.nodes()[0],size=g.nodeCount();t.setNode(start,{});var edge,delta;while(tightTree(t,g)<size){edge=findMinSlackEdge(t,g);delta=t.hasNode(edge.v)?slack(g,edge):-slack(g,edge);shiftRanks(t,g,delta)}return t}
+/*
+ * Finds a maximal tree of tight edges and returns the number of nodes in the
+ * tree.
+ */function tightTree(t,g){function dfs(v){_.each(g.nodeEdges(v),function(e){var edgeV=e.v,w=v===edgeV?e.w:edgeV;if(!t.hasNode(w)&&!slack(g,e)){t.setNode(w,{});t.setEdge(v,w,{});dfs(w)}})}_.each(t.nodes(),dfs);return t.nodeCount()}
+/*
+ * Finds the edge with the smallest slack that is incident on tree and returns
+ * it.
+ */function findMinSlackEdge(t,g){return _.min(g.edges(),function(e){if(t.hasNode(e.v)!==t.hasNode(e.w)){return slack(g,e)}})}function shiftRanks(t,g,delta){_.each(t.nodes(),function(v){g.node(v).rank+=delta})}},{"../graphlib":35,"../lodash":38,"./util":56}],54:[function(require,module,exports){"use strict";var rankUtil=require("./util"),longestPath=rankUtil.longestPath,feasibleTree=require("./feasible-tree"),networkSimplex=require("./network-simplex");module.exports=rank;
+/*
+ * Assigns a rank to each node in the input graph that respects the "minlen"
+ * constraint specified on edges between nodes.
+ *
+ * This basic structure is derived from Gansner, et al., "A Technique for
+ * Drawing Directed Graphs."
+ *
+ * Pre-conditions:
+ *
+ * 1. Graph must be a connected DAG
+ * 2. Graph nodes must be objects
+ * 3. Graph edges must have "weight" and "minlen" attributes
+ *
+ * Post-conditions:
+ *
+ * 1. Graph nodes will have a "rank" attribute based on the results of the
+ * algorithm. Ranks can start at any index (including negative), we'll
+ * fix them up later.
+ */function rank(g){switch(g.graph().ranker){case"network-simplex":networkSimplexRanker(g);break;case"tight-tree":tightTreeRanker(g);break;case"longest-path":longestPathRanker(g);break;default:networkSimplexRanker(g)}}
+// A fast and simple ranker, but results are far from optimal.
+var longestPathRanker=longestPath;function tightTreeRanker(g){longestPath(g);feasibleTree(g)}function networkSimplexRanker(g){networkSimplex(g)}},{"./feasible-tree":53,"./network-simplex":55,"./util":56}],55:[function(require,module,exports){"use strict";var _=require("../lodash"),feasibleTree=require("./feasible-tree"),slack=require("./util").slack,initRank=require("./util").longestPath,preorder=require("../graphlib").alg.preorder,postorder=require("../graphlib").alg.postorder,simplify=require("../util").simplify;module.exports=networkSimplex;
+// Expose some internals for testing purposes
+networkSimplex.initLowLimValues=initLowLimValues;networkSimplex.initCutValues=initCutValues;networkSimplex.calcCutValue=calcCutValue;networkSimplex.leaveEdge=leaveEdge;networkSimplex.enterEdge=enterEdge;networkSimplex.exchangeEdges=exchangeEdges;
+/*
+ * The network simplex algorithm assigns ranks to each node in the input graph
+ * and iteratively improves the ranking to reduce the length of edges.
+ *
+ * Preconditions:
+ *
+ * 1. The input graph must be a DAG.
+ * 2. All nodes in the graph must have an object value.
+ * 3. All edges in the graph must have "minlen" and "weight" attributes.
+ *
+ * Postconditions:
+ *
+ * 1. All nodes in the graph will have an assigned "rank" attribute that has
+ * been optimized by the network simplex algorithm. Ranks start at 0.
+ *
+ *
+ * A rough sketch of the algorithm is as follows:
+ *
+ * 1. Assign initial ranks to each node. We use the longest path algorithm,
+ * which assigns ranks to the lowest position possible. In general this
+ * leads to very wide bottom ranks and unnecessarily long edges.
+ * 2. Construct a feasible tight tree. A tight tree is one such that all
+ * edges in the tree have no slack (difference between length of edge
+ * and minlen for the edge). This by itself greatly improves the assigned
+ * rankings by shorting edges.
+ * 3. Iteratively find edges that have negative cut values. Generally a
+ * negative cut value indicates that the edge could be removed and a new
+ * tree edge could be added to produce a more compact graph.
+ *
+ * Much of the algorithms here are derived from Gansner, et al., "A Technique
+ * for Drawing Directed Graphs." The structure of the file roughly follows the
+ * structure of the overall algorithm.
+ */function networkSimplex(g){g=simplify(g);initRank(g);var t=feasibleTree(g);initLowLimValues(t);initCutValues(t,g);var e,f;while(e=leaveEdge(t)){f=enterEdge(t,g,e);exchangeEdges(t,g,e,f)}}
+/*
+ * Initializes cut values for all edges in the tree.
+ */function initCutValues(t,g){var vs=postorder(t,t.nodes());vs=vs.slice(0,vs.length-1);_.each(vs,function(v){assignCutValue(t,g,v)})}function assignCutValue(t,g,child){var childLab=t.node(child),parent=childLab.parent;t.edge(child,parent).cutvalue=calcCutValue(t,g,child)}
+/*
+ * Given the tight tree, its graph, and a child in the graph calculate and
+ * return the cut value for the edge between the child and its parent.
+ */function calcCutValue(t,g,child){var childLab=t.node(child),parent=childLab.parent,
+// True if the child is on the tail end of the edge in the directed graph
+childIsTail=true,
+// The graph's view of the tree edge we're inspecting
+graphEdge=g.edge(child,parent),
+// The accumulated cut value for the edge between this node and its parent
+cutValue=0;if(!graphEdge){childIsTail=false;graphEdge=g.edge(parent,child)}cutValue=graphEdge.weight;_.each(g.nodeEdges(child),function(e){var isOutEdge=e.v===child,other=isOutEdge?e.w:e.v;if(other!==parent){var pointsToHead=isOutEdge===childIsTail,otherWeight=g.edge(e).weight;cutValue+=pointsToHead?otherWeight:-otherWeight;if(isTreeEdge(t,child,other)){var otherCutValue=t.edge(child,other).cutvalue;cutValue+=pointsToHead?-otherCutValue:otherCutValue}}});return cutValue}function initLowLimValues(tree,root){if(arguments.length<2){root=tree.nodes()[0]}dfsAssignLowLim(tree,{},1,root)}function dfsAssignLowLim(tree,visited,nextLim,v,parent){var low=nextLim,label=tree.node(v);visited[v]=true;_.each(tree.neighbors(v),function(w){if(!_.has(visited,w)){nextLim=dfsAssignLowLim(tree,visited,nextLim,w,v)}});label.low=low;label.lim=nextLim++;if(parent){label.parent=parent}else{
+// TODO should be able to remove this when we incrementally update low lim
+delete label.parent}return nextLim}function leaveEdge(tree){return _.find(tree.edges(),function(e){return tree.edge(e).cutvalue<0})}function enterEdge(t,g,edge){var v=edge.v,w=edge.w;
+// For the rest of this function we assume that v is the tail and w is the
+// head, so if we don't have this edge in the graph we should flip it to
+// match the correct orientation.
+if(!g.hasEdge(v,w)){v=edge.w;w=edge.v}var vLabel=t.node(v),wLabel=t.node(w),tailLabel=vLabel,flip=false;
+// If the root is in the tail of the edge then we need to flip the logic that
+// checks for the head and tail nodes in the candidates function below.
+if(vLabel.lim>wLabel.lim){tailLabel=wLabel;flip=true}var candidates=_.filter(g.edges(),function(edge){return flip===isDescendant(t,t.node(edge.v),tailLabel)&&flip!==isDescendant(t,t.node(edge.w),tailLabel)});return _.min(candidates,function(edge){return slack(g,edge)})}function exchangeEdges(t,g,e,f){var v=e.v,w=e.w;t.removeEdge(v,w);t.setEdge(f.v,f.w,{});initLowLimValues(t);initCutValues(t,g);updateRanks(t,g)}function updateRanks(t,g){var root=_.find(t.nodes(),function(v){return!g.node(v).parent}),vs=preorder(t,root);vs=vs.slice(1);_.each(vs,function(v){var parent=t.node(v).parent,edge=g.edge(v,parent),flipped=false;if(!edge){edge=g.edge(parent,v);flipped=true}g.node(v).rank=g.node(parent).rank+(flipped?edge.minlen:-edge.minlen)})}
+/*
+ * Returns true if the edge is in the tree.
+ */function isTreeEdge(tree,u,v){return tree.hasEdge(u,v)}
+/*
+ * Returns true if the specified node is descendant of the root node per the
+ * assigned low and lim attributes in the tree.
+ */function isDescendant(tree,vLabel,rootLabel){return rootLabel.low<=vLabel.lim&&vLabel.lim<=rootLabel.lim}},{"../graphlib":35,"../lodash":38,"../util":57,"./feasible-tree":53,"./util":56}],56:[function(require,module,exports){"use strict";var _=require("../lodash");module.exports={longestPath:longestPath,slack:slack};
+/*
+ * Initializes ranks for the input graph using the longest path algorithm. This
+ * algorithm scales well and is fast in practice, it yields rather poor
+ * solutions. Nodes are pushed to the lowest layer possible, leaving the bottom
+ * ranks wide and leaving edges longer than necessary. However, due to its
+ * speed, this algorithm is good for getting an initial ranking that can be fed
+ * into other algorithms.
+ *
+ * This algorithm does not normalize layers because it will be used by other
+ * algorithms in most cases. If using this algorithm directly, be sure to
+ * run normalize at the end.
+ *
+ * Pre-conditions:
+ *
+ * 1. Input graph is a DAG.
+ * 2. Input graph node labels can be assigned properties.
+ *
+ * Post-conditions:
+ *
+ * 1. Each node will be assign an (unnormalized) "rank" property.
+ */function longestPath(g){var visited={};function dfs(v){var label=g.node(v);if(_.has(visited,v)){return label.rank}visited[v]=true;var rank=_.min(_.map(g.outEdges(v),function(e){return dfs(e.w)-g.edge(e).minlen}));if(rank===Number.POSITIVE_INFINITY){rank=0}return label.rank=rank}_.each(g.sources(),dfs)}
+/*
+ * Returns the amount of slack for the given edge. The slack is defined as the
+ * difference between the length of the edge and its minimum length.
+ */function slack(g,e){return g.node(e.w).rank-g.node(e.v).rank-g.edge(e).minlen}},{"../lodash":38}],57:[function(require,module,exports){"use strict";var _=require("./lodash"),Graph=require("./graphlib").Graph;module.exports={addDummyNode:addDummyNode,simplify:simplify,asNonCompoundGraph:asNonCompoundGraph,successorWeights:successorWeights,predecessorWeights:predecessorWeights,intersectRect:intersectRect,buildLayerMatrix:buildLayerMatrix,normalizeRanks:normalizeRanks,removeEmptyRanks:removeEmptyRanks,addBorderNode:addBorderNode,maxRank:maxRank,partition:partition,time:time,notime:notime};
+/*
+ * Adds a dummy node to the graph and return v.
+ */function addDummyNode(g,type,attrs,name){var v;do{v=_.uniqueId(name)}while(g.hasNode(v));attrs.dummy=type;g.setNode(v,attrs);return v}
+/*
+ * Returns a new graph with only simple edges. Handles aggregation of data
+ * associated with multi-edges.
+ */function simplify(g){var simplified=(new Graph).setGraph(g.graph());_.each(g.nodes(),function(v){simplified.setNode(v,g.node(v))});_.each(g.edges(),function(e){var simpleLabel=simplified.edge(e.v,e.w)||{weight:0,minlen:1},label=g.edge(e);simplified.setEdge(e.v,e.w,{weight:simpleLabel.weight+label.weight,minlen:Math.max(simpleLabel.minlen,label.minlen)})});return simplified}function asNonCompoundGraph(g){var simplified=new Graph({multigraph:g.isMultigraph()}).setGraph(g.graph());_.each(g.nodes(),function(v){if(!g.children(v).length){simplified.setNode(v,g.node(v))}});_.each(g.edges(),function(e){simplified.setEdge(e,g.edge(e))});return simplified}function successorWeights(g){var weightMap=_.map(g.nodes(),function(v){var sucs={};_.each(g.outEdges(v),function(e){sucs[e.w]=(sucs[e.w]||0)+g.edge(e).weight});return sucs});return _.zipObject(g.nodes(),weightMap)}function predecessorWeights(g){var weightMap=_.map(g.nodes(),function(v){var preds={};_.each(g.inEdges(v),function(e){preds[e.v]=(preds[e.v]||0)+g.edge(e).weight});return preds});return _.zipObject(g.nodes(),weightMap)}
+/*
+ * Finds where a line starting at point ({x, y}) would intersect a rectangle
+ * ({x, y, width, height}) if it were pointing at the rectangle's center.
+ */function intersectRect(rect,point){var x=rect.x;var y=rect.y;
+// Rectangle intersection algorithm from:
+// http://math.stackexchange.com/questions/108113/find-edge-between-two-boxes
+var dx=point.x-x;var dy=point.y-y;var w=rect.width/2;var h=rect.height/2;if(!dx&&!dy){throw new Error("Not possible to find intersection inside of the rectangle")}var sx,sy;if(Math.abs(dy)*w>Math.abs(dx)*h){
+// Intersection is top or bottom of rect.
+if(dy<0){h=-h}sx=h*dx/dy;sy=h}else{
+// Intersection is left or right of rect.
+if(dx<0){w=-w}sx=w;sy=w*dy/dx}return{x:x+sx,y:y+sy}}
+/*
+ * Given a DAG with each node assigned "rank" and "order" properties, this
+ * function will produce a matrix with the ids of each node.
+ */function buildLayerMatrix(g){var layering=_.map(_.range(maxRank(g)+1),function(){return[]});_.each(g.nodes(),function(v){var node=g.node(v),rank=node.rank;if(!_.isUndefined(rank)){layering[rank][node.order]=v}});return layering}
+/*
+ * Adjusts the ranks for all nodes in the graph such that all nodes v have
+ * rank(v) >= 0 and at least one node w has rank(w) = 0.
+ */function normalizeRanks(g){var min=_.min(_.map(g.nodes(),function(v){return g.node(v).rank}));_.each(g.nodes(),function(v){var node=g.node(v);if(_.has(node,"rank")){node.rank-=min}})}function removeEmptyRanks(g){
+// Ranks may not start at 0, so we need to offset them
+var offset=_.min(_.map(g.nodes(),function(v){return g.node(v).rank}));var layers=[];_.each(g.nodes(),function(v){var rank=g.node(v).rank-offset;if(!layers[rank]){layers[rank]=[]}layers[rank].push(v)});var delta=0,nodeRankFactor=g.graph().nodeRankFactor;_.each(layers,function(vs,i){if(_.isUndefined(vs)&&i%nodeRankFactor!==0){--delta}else if(delta){_.each(vs,function(v){g.node(v).rank+=delta})}})}function addBorderNode(g,prefix,rank,order){var node={width:0,height:0};if(arguments.length>=4){node.rank=rank;node.order=order}return addDummyNode(g,"border",node,prefix)}function maxRank(g){return _.max(_.map(g.nodes(),function(v){var rank=g.node(v).rank;if(!_.isUndefined(rank)){return rank}}))}
+/*
+ * Partition a collection into two groups: `lhs` and `rhs`. If the supplied
+ * function returns true for an entry it goes into `lhs`. Otherwise it goes
+ * into `rhs.
+ */function partition(collection,fn){var result={lhs:[],rhs:[]};_.each(collection,function(value){if(fn(value)){result.lhs.push(value)}else{result.rhs.push(value)}});return result}
+/*
+ * Returns a new function that wraps `fn` with a timer. The wrapper logs the
+ * time it takes to execute the function.
+ */function time(name,fn){var start=_.now();try{return fn()}finally{console.log(name+" time: "+(_.now()-start)+"ms")}}function notime(name,fn){return fn()}},{"./graphlib":35,"./lodash":38}],58:[function(require,module,exports){module.exports="0.7.4"},{}],59:[function(require,module,exports){
+/**
+ * Copyright (c) 2014, Chris Pettitt
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * 3. Neither the name of the copyright holder nor the names of its contributors
+ * may be used to endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+var lib=require("./lib");module.exports={Graph:lib.Graph,json:require("./lib/json"),alg:require("./lib/alg"),version:lib.version}},{"./lib":75,"./lib/alg":66,"./lib/json":76}],60:[function(require,module,exports){var _=require("../lodash");module.exports=components;function components(g){var visited={},cmpts=[],cmpt;function dfs(v){if(_.has(visited,v))return;visited[v]=true;cmpt.push(v);_.each(g.successors(v),dfs);_.each(g.predecessors(v),dfs)}_.each(g.nodes(),function(v){cmpt=[];dfs(v);if(cmpt.length){cmpts.push(cmpt)}});return cmpts}},{"../lodash":77}],61:[function(require,module,exports){var _=require("../lodash");module.exports=dfs;
+/*
+ * A helper that preforms a pre- or post-order traversal on the input graph
+ * and returns the nodes in the order they were visited. This algorithm treats
+ * the input as undirected.
+ *
+ * Order must be one of "pre" or "post".
+ */function dfs(g,vs,order){if(!_.isArray(vs)){vs=[vs]}var acc=[],visited={};_.each(vs,function(v){if(!g.hasNode(v)){throw new Error("Graph does not have node: "+v)}doDfs(g,v,order==="post",visited,acc)});return acc}function doDfs(g,v,postorder,visited,acc){if(!_.has(visited,v)){visited[v]=true;if(!postorder){acc.push(v)}_.each(g.neighbors(v),function(w){doDfs(g,w,postorder,visited,acc)});if(postorder){acc.push(v)}}}},{"../lodash":77}],62:[function(require,module,exports){var dijkstra=require("./dijkstra"),_=require("../lodash");module.exports=dijkstraAll;function dijkstraAll(g,weightFunc,edgeFunc){return _.transform(g.nodes(),function(acc,v){acc[v]=dijkstra(g,v,weightFunc,edgeFunc)},{})}},{"../lodash":77,"./dijkstra":63}],63:[function(require,module,exports){var _=require("../lodash"),PriorityQueue=require("../data/priority-queue");module.exports=dijkstra;var DEFAULT_WEIGHT_FUNC=_.constant(1);function dijkstra(g,source,weightFn,edgeFn){return runDijkstra(g,String(source),weightFn||DEFAULT_WEIGHT_FUNC,edgeFn||function(v){return g.outEdges(v)})}function runDijkstra(g,source,weightFn,edgeFn){var results={},pq=new PriorityQueue,v,vEntry;var updateNeighbors=function(edge){var w=edge.v!==v?edge.v:edge.w,wEntry=results[w],weight=weightFn(edge),distance=vEntry.distance+weight;if(weight<0){throw new Error("dijkstra does not allow negative edge weights. "+"Bad edge: "+edge+" Weight: "+weight)}if(distance<wEntry.distance){wEntry.distance=distance;wEntry.predecessor=v;pq.decrease(w,distance)}};g.nodes().forEach(function(v){var distance=v===source?0:Number.POSITIVE_INFINITY;results[v]={distance:distance};pq.add(v,distance)});while(pq.size()>0){v=pq.removeMin();vEntry=results[v];if(vEntry.distance===Number.POSITIVE_INFINITY){break}edgeFn(v).forEach(updateNeighbors)}return results}},{"../data/priority-queue":73,"../lodash":77}],64:[function(require,module,exports){var _=require("../lodash"),tarjan=require("./tarjan");module.exports=findCycles;function findCycles(g){return _.filter(tarjan(g),function(cmpt){return cmpt.length>1||cmpt.length===1&&g.hasEdge(cmpt[0],cmpt[0])})}},{"../lodash":77,"./tarjan":71}],65:[function(require,module,exports){var _=require("../lodash");module.exports=floydWarshall;var DEFAULT_WEIGHT_FUNC=_.constant(1);function floydWarshall(g,weightFn,edgeFn){return runFloydWarshall(g,weightFn||DEFAULT_WEIGHT_FUNC,edgeFn||function(v){return g.outEdges(v)})}function runFloydWarshall(g,weightFn,edgeFn){var results={},nodes=g.nodes();nodes.forEach(function(v){results[v]={};results[v][v]={distance:0};nodes.forEach(function(w){if(v!==w){results[v][w]={distance:Number.POSITIVE_INFINITY}}});edgeFn(v).forEach(function(edge){var w=edge.v===v?edge.w:edge.v,d=weightFn(edge);results[v][w]={distance:d,predecessor:v}})});nodes.forEach(function(k){var rowK=results[k];nodes.forEach(function(i){var rowI=results[i];nodes.forEach(function(j){var ik=rowI[k];var kj=rowK[j];var ij=rowI[j];var altDistance=ik.distance+kj.distance;if(altDistance<ij.distance){ij.distance=altDistance;ij.predecessor=kj.predecessor}})})});return results}},{"../lodash":77}],66:[function(require,module,exports){module.exports={components:require("./components"),dijkstra:require("./dijkstra"),dijkstraAll:require("./dijkstra-all"),findCycles:require("./find-cycles"),floydWarshall:require("./floyd-warshall"),isAcyclic:require("./is-acyclic"),postorder:require("./postorder"),preorder:require("./preorder"),prim:require("./prim"),tarjan:require("./tarjan"),topsort:require("./topsort")}},{"./components":60,"./dijkstra":63,"./dijkstra-all":62,"./find-cycles":64,"./floyd-warshall":65,"./is-acyclic":67,"./postorder":68,"./preorder":69,"./prim":70,"./tarjan":71,"./topsort":72}],67:[function(require,module,exports){var topsort=require("./topsort");module.exports=isAcyclic;function isAcyclic(g){try{topsort(g)}catch(e){if(e instanceof topsort.CycleException){return false}throw e}return true}},{"./topsort":72}],68:[function(require,module,exports){var dfs=require("./dfs");module.exports=postorder;function postorder(g,vs){return dfs(g,vs,"post")}},{"./dfs":61}],69:[function(require,module,exports){var dfs=require("./dfs");module.exports=preorder;function preorder(g,vs){return dfs(g,vs,"pre")}},{"./dfs":61}],70:[function(require,module,exports){var _=require("../lodash"),Graph=require("../graph"),PriorityQueue=require("../data/priority-queue");module.exports=prim;function prim(g,weightFunc){var result=new Graph,parents={},pq=new PriorityQueue,v;function updateNeighbors(edge){var w=edge.v===v?edge.w:edge.v,pri=pq.priority(w);if(pri!==undefined){var edgeWeight=weightFunc(edge);if(edgeWeight<pri){parents[w]=v;pq.decrease(w,edgeWeight)}}}if(g.nodeCount()===0){return result}_.each(g.nodes(),function(v){pq.add(v,Number.POSITIVE_INFINITY);result.setNode(v)});
+// Start from an arbitrary node
+pq.decrease(g.nodes()[0],0);var init=false;while(pq.size()>0){v=pq.removeMin();if(_.has(parents,v)){result.setEdge(v,parents[v])}else if(init){throw new Error("Input graph is not connected: "+g)}else{init=true}g.nodeEdges(v).forEach(updateNeighbors)}return result}},{"../data/priority-queue":73,"../graph":74,"../lodash":77}],71:[function(require,module,exports){var _=require("../lodash");module.exports=tarjan;function tarjan(g){var index=0,stack=[],visited={},// node id -> { onStack, lowlink, index }
+results=[];function dfs(v){var entry=visited[v]={onStack:true,lowlink:index,index:index++};stack.push(v);g.successors(v).forEach(function(w){if(!_.has(visited,w)){dfs(w);entry.lowlink=Math.min(entry.lowlink,visited[w].lowlink)}else if(visited[w].onStack){entry.lowlink=Math.min(entry.lowlink,visited[w].index)}});if(entry.lowlink===entry.index){var cmpt=[],w;do{w=stack.pop();visited[w].onStack=false;cmpt.push(w)}while(v!==w);results.push(cmpt)}}g.nodes().forEach(function(v){if(!_.has(visited,v)){dfs(v)}});return results}},{"../lodash":77}],72:[function(require,module,exports){var _=require("../lodash");module.exports=topsort;topsort.CycleException=CycleException;function topsort(g){var visited={},stack={},results=[];function visit(node){if(_.has(stack,node)){throw new CycleException}if(!_.has(visited,node)){stack[node]=true;visited[node]=true;_.each(g.predecessors(node),visit);delete stack[node];results.push(node)}}_.each(g.sinks(),visit);if(_.size(visited)!==g.nodeCount()){throw new CycleException}return results}function CycleException(){}},{"../lodash":77}],73:[function(require,module,exports){var _=require("../lodash");module.exports=PriorityQueue;
+/**
+ * A min-priority queue data structure. This algorithm is derived from Cormen,
+ * et al., "Introduction to Algorithms". The basic idea of a min-priority
+ * queue is that you can efficiently (in O(1) time) get the smallest key in
+ * the queue. Adding and removing elements takes O(log n) time. A key can
+ * have its priority decreased in O(log n) time.
+ */function PriorityQueue(){this._arr=[];this._keyIndices={}}
+/**
+ * Returns the number of elements in the queue. Takes `O(1)` time.
+ */PriorityQueue.prototype.size=function(){return this._arr.length};
+/**
+ * Returns the keys that are in the queue. Takes `O(n)` time.
+ */PriorityQueue.prototype.keys=function(){return this._arr.map(function(x){return x.key})};
+/**
+ * Returns `true` if **key** is in the queue and `false` if not.
+ */PriorityQueue.prototype.has=function(key){return _.has(this._keyIndices,key)};
+/**
+ * Returns the priority for **key**. If **key** is not present in the queue
+ * then this function returns `undefined`. Takes `O(1)` time.
+ *
+ * @param {Object} key
+ */PriorityQueue.prototype.priority=function(key){var index=this._keyIndices[key];if(index!==undefined){return this._arr[index].priority}};
+/**
+ * Returns the key for the minimum element in this queue. If the queue is
+ * empty this function throws an Error. Takes `O(1)` time.
+ */PriorityQueue.prototype.min=function(){if(this.size()===0){throw new Error("Queue underflow")}return this._arr[0].key};
+/**
+ * Inserts a new key into the priority queue. If the key already exists in
+ * the queue this function returns `false`; otherwise it will return `true`.
+ * Takes `O(n)` time.
+ *
+ * @param {Object} key the key to add
+ * @param {Number} priority the initial priority for the key
+ */PriorityQueue.prototype.add=function(key,priority){var keyIndices=this._keyIndices;key=String(key);if(!_.has(keyIndices,key)){var arr=this._arr;var index=arr.length;keyIndices[key]=index;arr.push({key:key,priority:priority});this._decrease(index);return true}return false};
+/**
+ * Removes and returns the smallest key in the queue. Takes `O(log n)` time.
+ */PriorityQueue.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var min=this._arr.pop();delete this._keyIndices[min.key];this._heapify(0);return min.key};
+/**
+ * Decreases the priority for **key** to **priority**. If the new priority is
+ * greater than the previous priority, this function will throw an Error.
+ *
+ * @param {Object} key the key for which to raise priority
+ * @param {Number} priority the new priority for the key
+ */PriorityQueue.prototype.decrease=function(key,priority){var index=this._keyIndices[key];if(priority>this._arr[index].priority){throw new Error("New priority is greater than current priority. "+"Key: "+key+" Old: "+this._arr[index].priority+" New: "+priority)}this._arr[index].priority=priority;this._decrease(index)};PriorityQueue.prototype._heapify=function(i){var arr=this._arr;var l=2*i,r=l+1,largest=i;if(l<arr.length){largest=arr[l].priority<arr[largest].priority?l:largest;if(r<arr.length){largest=arr[r].priority<arr[largest].priority?r:largest}if(largest!==i){this._swap(i,largest);this._heapify(largest)}}};PriorityQueue.prototype._decrease=function(index){var arr=this._arr;var priority=arr[index].priority;var parent;while(index!==0){parent=index>>1;if(arr[parent].priority<priority){break}this._swap(index,parent);index=parent}};PriorityQueue.prototype._swap=function(i,j){var arr=this._arr;var keyIndices=this._keyIndices;var origArrI=arr[i];var origArrJ=arr[j];arr[i]=origArrJ;arr[j]=origArrI;keyIndices[origArrJ.key]=i;keyIndices[origArrI.key]=j}},{"../lodash":77}],74:[function(require,module,exports){"use strict";var _=require("./lodash");module.exports=Graph;var DEFAULT_EDGE_NAME="\0",GRAPH_NODE="\0",EDGE_KEY_DELIM="";
+// Implementation notes:
+//
+// * Node id query functions should return string ids for the nodes
+// * Edge id query functions should return an "edgeObj", edge object, that is
+// composed of enough information to uniquely identify an edge: {v, w, name}.
+// * Internally we use an "edgeId", a stringified form of the edgeObj, to
+// reference edges. This is because we need a performant way to look these
+// edges up and, object properties, which have string keys, are the closest
+// we're going to get to a performant hashtable in JavaScript.
+function Graph(opts){this._isDirected=_.has(opts,"directed")?opts.directed:true;this._isMultigraph=_.has(opts,"multigraph")?opts.multigraph:false;this._isCompound=_.has(opts,"compound")?opts.compound:false;
+// Label for the graph itself
+this._label=undefined;
+// Defaults to be set when creating a new node
+this._defaultNodeLabelFn=_.constant(undefined);
+// Defaults to be set when creating a new edge
+this._defaultEdgeLabelFn=_.constant(undefined);
+// v -> label
+this._nodes={};if(this._isCompound){
+// v -> parent
+this._parent={};
+// v -> children
+this._children={};this._children[GRAPH_NODE]={}}
+// v -> edgeObj
+this._in={};
+// u -> v -> Number
+this._preds={};
+// v -> edgeObj
+this._out={};
+// v -> w -> Number
+this._sucs={};
+// e -> edgeObj
+this._edgeObjs={};
+// e -> label
+this._edgeLabels={}}
+/* Number of nodes in the graph. Should only be changed by the implementation. */Graph.prototype._nodeCount=0;
+/* Number of edges in the graph. Should only be changed by the implementation. */Graph.prototype._edgeCount=0;
+/* === Graph functions ========= */Graph.prototype.isDirected=function(){return this._isDirected};Graph.prototype.isMultigraph=function(){return this._isMultigraph};Graph.prototype.isCompound=function(){return this._isCompound};Graph.prototype.setGraph=function(label){this._label=label;return this};Graph.prototype.graph=function(){return this._label};
+/* === Node functions ========== */Graph.prototype.setDefaultNodeLabel=function(newDefault){if(!_.isFunction(newDefault)){newDefault=_.constant(newDefault)}this._defaultNodeLabelFn=newDefault;return this};Graph.prototype.nodeCount=function(){return this._nodeCount};Graph.prototype.nodes=function(){return _.keys(this._nodes)};Graph.prototype.sources=function(){return _.filter(this.nodes(),function(v){return _.isEmpty(this._in[v])},this)};Graph.prototype.sinks=function(){return _.filter(this.nodes(),function(v){return _.isEmpty(this._out[v])},this)};Graph.prototype.setNodes=function(vs,value){var args=arguments;_.each(vs,function(v){if(args.length>1){this.setNode(v,value)}else{this.setNode(v)}},this);return this};Graph.prototype.setNode=function(v,value){if(_.has(this._nodes,v)){if(arguments.length>1){this._nodes[v]=value}return this}this._nodes[v]=arguments.length>1?value:this._defaultNodeLabelFn(v);if(this._isCompound){this._parent[v]=GRAPH_NODE;this._children[v]={};this._children[GRAPH_NODE][v]=true}this._in[v]={};this._preds[v]={};this._out[v]={};this._sucs[v]={};++this._nodeCount;return this};Graph.prototype.node=function(v){return this._nodes[v]};Graph.prototype.hasNode=function(v){return _.has(this._nodes,v)};Graph.prototype.removeNode=function(v){var self=this;if(_.has(this._nodes,v)){var removeEdge=function(e){self.removeEdge(self._edgeObjs[e])};delete this._nodes[v];if(this._isCompound){this._removeFromParentsChildList(v);delete this._parent[v];_.each(this.children(v),function(child){this.setParent(child)},this);delete this._children[v]}_.each(_.keys(this._in[v]),removeEdge);delete this._in[v];delete this._preds[v];_.each(_.keys(this._out[v]),removeEdge);delete this._out[v];delete this._sucs[v];--this._nodeCount}return this};Graph.prototype.setParent=function(v,parent){if(!this._isCompound){throw new Error("Cannot set parent in a non-compound graph")}if(_.isUndefined(parent)){parent=GRAPH_NODE}else{
+// Coerce parent to string
+parent+="";for(var ancestor=parent;!_.isUndefined(ancestor);ancestor=this.parent(ancestor)){if(ancestor===v){throw new Error("Setting "+parent+" as parent of "+v+" would create create a cycle")}}this.setNode(parent)}this.setNode(v);this._removeFromParentsChildList(v);this._parent[v]=parent;this._children[parent][v]=true;return this};Graph.prototype._removeFromParentsChildList=function(v){delete this._children[this._parent[v]][v]};Graph.prototype.parent=function(v){if(this._isCompound){var parent=this._parent[v];if(parent!==GRAPH_NODE){return parent}}};Graph.prototype.children=function(v){if(_.isUndefined(v)){v=GRAPH_NODE}if(this._isCompound){var children=this._children[v];if(children){return _.keys(children)}}else if(v===GRAPH_NODE){return this.nodes()}else if(this.hasNode(v)){return[]}};Graph.prototype.predecessors=function(v){var predsV=this._preds[v];if(predsV){return _.keys(predsV)}};Graph.prototype.successors=function(v){var sucsV=this._sucs[v];if(sucsV){return _.keys(sucsV)}};Graph.prototype.neighbors=function(v){var preds=this.predecessors(v);if(preds){return _.union(preds,this.successors(v))}};Graph.prototype.filterNodes=function(filter){var copy=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});copy.setGraph(this.graph());_.each(this._nodes,function(value,v){if(filter(v)){copy.setNode(v,value)}},this);_.each(this._edgeObjs,function(e){if(copy.hasNode(e.v)&&copy.hasNode(e.w)){copy.setEdge(e,this.edge(e))}},this);var self=this;var parents={};function findParent(v){var parent=self.parent(v);if(parent===undefined||copy.hasNode(parent)){parents[v]=parent;return parent}else if(parent in parents){return parents[parent]}else{return findParent(parent)}}if(this._isCompound){_.each(copy.nodes(),function(v){copy.setParent(v,findParent(v))})}return copy};
+/* === Edge functions ========== */Graph.prototype.setDefaultEdgeLabel=function(newDefault){if(!_.isFunction(newDefault)){newDefault=_.constant(newDefault)}this._defaultEdgeLabelFn=newDefault;return this};Graph.prototype.edgeCount=function(){return this._edgeCount};Graph.prototype.edges=function(){return _.values(this._edgeObjs)};Graph.prototype.setPath=function(vs,value){var self=this,args=arguments;_.reduce(vs,function(v,w){if(args.length>1){self.setEdge(v,w,value)}else{self.setEdge(v,w)}return w});return this};
+/*
+ * setEdge(v, w, [value, [name]])
+ * setEdge({ v, w, [name] }, [value])
+ */Graph.prototype.setEdge=function(){var v,w,name,value,valueSpecified=false,arg0=arguments[0];if(typeof arg0==="object"&&arg0!==null&&"v"in arg0){v=arg0.v;w=arg0.w;name=arg0.name;if(arguments.length===2){value=arguments[1];valueSpecified=true}}else{v=arg0;w=arguments[1];name=arguments[3];if(arguments.length>2){value=arguments[2];valueSpecified=true}}v=""+v;w=""+w;if(!_.isUndefined(name)){name=""+name}var e=edgeArgsToId(this._isDirected,v,w,name);if(_.has(this._edgeLabels,e)){if(valueSpecified){this._edgeLabels[e]=value}return this}if(!_.isUndefined(name)&&!this._isMultigraph){throw new Error("Cannot set a named edge when isMultigraph = false")}
+// It didn't exist, so we need to create it.
+// First ensure the nodes exist.
+this.setNode(v);this.setNode(w);this._edgeLabels[e]=valueSpecified?value:this._defaultEdgeLabelFn(v,w,name);var edgeObj=edgeArgsToObj(this._isDirected,v,w,name);
+// Ensure we add undirected edges in a consistent way.
+v=edgeObj.v;w=edgeObj.w;Object.freeze(edgeObj);this._edgeObjs[e]=edgeObj;incrementOrInitEntry(this._preds[w],v);incrementOrInitEntry(this._sucs[v],w);this._in[w][e]=edgeObj;this._out[v][e]=edgeObj;this._edgeCount++;return this};Graph.prototype.edge=function(v,w,name){var e=arguments.length===1?edgeObjToId(this._isDirected,arguments[0]):edgeArgsToId(this._isDirected,v,w,name);return this._edgeLabels[e]};Graph.prototype.hasEdge=function(v,w,name){var e=arguments.length===1?edgeObjToId(this._isDirected,arguments[0]):edgeArgsToId(this._isDirected,v,w,name);return _.has(this._edgeLabels,e)};Graph.prototype.removeEdge=function(v,w,name){var e=arguments.length===1?edgeObjToId(this._isDirected,arguments[0]):edgeArgsToId(this._isDirected,v,w,name),edge=this._edgeObjs[e];if(edge){v=edge.v;w=edge.w;delete this._edgeLabels[e];delete this._edgeObjs[e];decrementOrRemoveEntry(this._preds[w],v);decrementOrRemoveEntry(this._sucs[v],w);delete this._in[w][e];delete this._out[v][e];this._edgeCount--}return this};Graph.prototype.inEdges=function(v,u){var inV=this._in[v];if(inV){var edges=_.values(inV);if(!u){return edges}return _.filter(edges,function(edge){return edge.v===u})}};Graph.prototype.outEdges=function(v,w){var outV=this._out[v];if(outV){var edges=_.values(outV);if(!w){return edges}return _.filter(edges,function(edge){return edge.w===w})}};Graph.prototype.nodeEdges=function(v,w){var inEdges=this.inEdges(v,w);if(inEdges){return inEdges.concat(this.outEdges(v,w))}};function incrementOrInitEntry(map,k){if(map[k]){map[k]++}else{map[k]=1}}function decrementOrRemoveEntry(map,k){if(!--map[k]){delete map[k]}}function edgeArgsToId(isDirected,v_,w_,name){var v=""+v_;var w=""+w_;if(!isDirected&&v>w){var tmp=v;v=w;w=tmp}return v+EDGE_KEY_DELIM+w+EDGE_KEY_DELIM+(_.isUndefined(name)?DEFAULT_EDGE_NAME:name)}function edgeArgsToObj(isDirected,v_,w_,name){var v=""+v_;var w=""+w_;if(!isDirected&&v>w){var tmp=v;v=w;w=tmp}var edgeObj={v:v,w:w};if(name){edgeObj.name=name}return edgeObj}function edgeObjToId(isDirected,edgeObj){return edgeArgsToId(isDirected,edgeObj.v,edgeObj.w,edgeObj.name)}},{"./lodash":77}],75:[function(require,module,exports){
+// Includes only the "core" of graphlib
+module.exports={Graph:require("./graph"),version:require("./version")}},{"./graph":74,"./version":78}],76:[function(require,module,exports){var _=require("./lodash"),Graph=require("./graph");module.exports={write:write,read:read};function write(g){var json={options:{directed:g.isDirected(),multigraph:g.isMultigraph(),compound:g.isCompound()},nodes:writeNodes(g),edges:writeEdges(g)};if(!_.isUndefined(g.graph())){json.value=_.clone(g.graph())}return json}function writeNodes(g){return _.map(g.nodes(),function(v){var nodeValue=g.node(v),parent=g.parent(v),node={v:v};if(!_.isUndefined(nodeValue)){node.value=nodeValue}if(!_.isUndefined(parent)){node.parent=parent}return node})}function writeEdges(g){return _.map(g.edges(),function(e){var edgeValue=g.edge(e),edge={v:e.v,w:e.w};if(!_.isUndefined(e.name)){edge.name=e.name}if(!_.isUndefined(edgeValue)){edge.value=edgeValue}return edge})}function read(json){var g=new Graph(json.options).setGraph(json.value);_.each(json.nodes,function(entry){g.setNode(entry.v,entry.value);if(entry.parent){g.setParent(entry.v,entry.parent)}});_.each(json.edges,function(entry){g.setEdge({v:entry.v,w:entry.w,name:entry.name},entry.value)});return g}},{"./graph":74,"./lodash":77}],77:[function(require,module,exports){arguments[4][38][0].apply(exports,arguments)},{dup:38,lodash:79}],78:[function(require,module,exports){module.exports="1.0.7"},{}],79:[function(require,module,exports){(function(global){(function(){
+/** Used as a safe reference for `undefined` in pre-ES5 environments. */
+var undefined;
+/** Used as the semantic version number. */var VERSION="3.10.1";
+/** Used to compose bitmasks for wrapper metadata. */var BIND_FLAG=1,BIND_KEY_FLAG=2,CURRY_BOUND_FLAG=4,CURRY_FLAG=8,CURRY_RIGHT_FLAG=16,PARTIAL_FLAG=32,PARTIAL_RIGHT_FLAG=64,ARY_FLAG=128,REARG_FLAG=256;
+/** Used as default options for `_.trunc`. */var DEFAULT_TRUNC_LENGTH=30,DEFAULT_TRUNC_OMISSION="...";
+/** Used to detect when a function becomes hot. */var HOT_COUNT=150,HOT_SPAN=16;
+/** Used as the size to enable large array optimizations. */var LARGE_ARRAY_SIZE=200;
+/** Used to indicate the type of lazy iteratees. */var LAZY_FILTER_FLAG=1,LAZY_MAP_FLAG=2;
+/** Used as the `TypeError` message for "Functions" methods. */var FUNC_ERROR_TEXT="Expected a function";
+/** Used as the internal argument placeholder. */var PLACEHOLDER="__lodash_placeholder__";
+/** `Object#toString` result references. */var argsTag="[object Arguments]",arrayTag="[object Array]",boolTag="[object Boolean]",dateTag="[object Date]",errorTag="[object Error]",funcTag="[object Function]",mapTag="[object Map]",numberTag="[object Number]",objectTag="[object Object]",regexpTag="[object RegExp]",setTag="[object Set]",stringTag="[object String]",weakMapTag="[object WeakMap]";var arrayBufferTag="[object ArrayBuffer]",float32Tag="[object Float32Array]",float64Tag="[object Float64Array]",int8Tag="[object Int8Array]",int16Tag="[object Int16Array]",int32Tag="[object Int32Array]",uint8Tag="[object Uint8Array]",uint8ClampedTag="[object Uint8ClampedArray]",uint16Tag="[object Uint16Array]",uint32Tag="[object Uint32Array]";
+/** Used to match empty string literals in compiled template source. */var reEmptyStringLeading=/\b__p \+= '';/g,reEmptyStringMiddle=/\b(__p \+=) '' \+/g,reEmptyStringTrailing=/(__e\(.*?\)|\b__t\)) \+\n'';/g;
+/** Used to match HTML entities and HTML characters. */var reEscapedHtml=/&(?:amp|lt|gt|quot|#39|#96);/g,reUnescapedHtml=/[&<>"'`]/g,reHasEscapedHtml=RegExp(reEscapedHtml.source),reHasUnescapedHtml=RegExp(reUnescapedHtml.source);
+/** Used to match template delimiters. */var reEscape=/<%-([\s\S]+?)%>/g,reEvaluate=/<%([\s\S]+?)%>/g,reInterpolate=/<%=([\s\S]+?)%>/g;
+/** Used to match property names within property paths. */var reIsDeepProp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/,reIsPlainProp=/^\w*$/,rePropName=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g;
+/**
+ * Used to match `RegExp` [syntax characters](http://ecma-international.org/ecma-262/6.0/#sec-patterns)
+ * and those outlined by [`EscapeRegExpPattern`](http://ecma-international.org/ecma-262/6.0/#sec-escaperegexppattern).
+ */var reRegExpChars=/^[:!,]|[\\^$.*+?()[\]{}|\/]|(^[0-9a-fA-Fnrtuvx])|([\n\r\u2028\u2029])/g,reHasRegExpChars=RegExp(reRegExpChars.source);
+/** Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks). */var reComboMark=/[\u0300-\u036f\ufe20-\ufe23]/g;
+/** Used to match backslashes in property paths. */var reEscapeChar=/\\(\\)?/g;
+/** Used to match [ES template delimiters](http://ecma-international.org/ecma-262/6.0/#sec-template-literal-lexical-components). */var reEsTemplate=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g;
+/** Used to match `RegExp` flags from their coerced string values. */var reFlags=/\w*$/;
+/** Used to detect hexadecimal string values. */var reHasHexPrefix=/^0[xX]/;
+/** Used to detect host constructors (Safari > 5). */var reIsHostCtor=/^\[object .+?Constructor\]$/;
+/** Used to detect unsigned integer values. */var reIsUint=/^\d+$/;
+/** Used to match latin-1 supplementary letters (excluding mathematical operators). */var reLatin1=/[\xc0-\xd6\xd8-\xde\xdf-\xf6\xf8-\xff]/g;
+/** Used to ensure capturing order of template delimiters. */var reNoMatch=/($^)/;
+/** Used to match unescaped characters in compiled string literals. */var reUnescapedString=/['\n\r\u2028\u2029\\]/g;
+/** Used to match words to create compound words. */var reWords=function(){var upper="[A-Z\\xc0-\\xd6\\xd8-\\xde]",lower="[a-z\\xdf-\\xf6\\xf8-\\xff]+";return RegExp(upper+"+(?="+upper+lower+")|"+upper+"?"+lower+"|"+upper+"+|[0-9]+","g")}();
+/** Used to assign default `context` object properties. */var contextProps=["Array","ArrayBuffer","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Math","Number","Object","RegExp","Set","String","_","clearTimeout","isFinite","parseFloat","parseInt","setTimeout","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap"];
+/** Used to make template sourceURLs easier to identify. */var templateCounter=-1;
+/** Used to identify `toStringTag` values of typed arrays. */var typedArrayTags={};typedArrayTags[float32Tag]=typedArrayTags[float64Tag]=typedArrayTags[int8Tag]=typedArrayTags[int16Tag]=typedArrayTags[int32Tag]=typedArrayTags[uint8Tag]=typedArrayTags[uint8ClampedTag]=typedArrayTags[uint16Tag]=typedArrayTags[uint32Tag]=true;typedArrayTags[argsTag]=typedArrayTags[arrayTag]=typedArrayTags[arrayBufferTag]=typedArrayTags[boolTag]=typedArrayTags[dateTag]=typedArrayTags[errorTag]=typedArrayTags[funcTag]=typedArrayTags[mapTag]=typedArrayTags[numberTag]=typedArrayTags[objectTag]=typedArrayTags[regexpTag]=typedArrayTags[setTag]=typedArrayTags[stringTag]=typedArrayTags[weakMapTag]=false;
+/** Used to identify `toStringTag` values supported by `_.clone`. */var cloneableTags={};cloneableTags[argsTag]=cloneableTags[arrayTag]=cloneableTags[arrayBufferTag]=cloneableTags[boolTag]=cloneableTags[dateTag]=cloneableTags[float32Tag]=cloneableTags[float64Tag]=cloneableTags[int8Tag]=cloneableTags[int16Tag]=cloneableTags[int32Tag]=cloneableTags[numberTag]=cloneableTags[objectTag]=cloneableTags[regexpTag]=cloneableTags[stringTag]=cloneableTags[uint8Tag]=cloneableTags[uint8ClampedTag]=cloneableTags[uint16Tag]=cloneableTags[uint32Tag]=true;cloneableTags[errorTag]=cloneableTags[funcTag]=cloneableTags[mapTag]=cloneableTags[setTag]=cloneableTags[weakMapTag]=false;
+/** Used to map latin-1 supplementary letters to basic latin letters. */var deburredLetters={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss"};
+/** Used to map characters to HTML entities. */var htmlEscapes={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","`":"&#96;"};
+/** Used to map HTML entities to characters. */var htmlUnescapes={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'","&#96;":"`"};
+/** Used to determine if values are of the language type `Object`. */var objectTypes={function:true,object:true};
+/** Used to escape characters for inclusion in compiled regexes. */var regexpEscapes={0:"x30",1:"x31",2:"x32",3:"x33",4:"x34",5:"x35",6:"x36",7:"x37",8:"x38",9:"x39",A:"x41",B:"x42",C:"x43",D:"x44",E:"x45",F:"x46",a:"x61",b:"x62",c:"x63",d:"x64",e:"x65",f:"x66",n:"x6e",r:"x72",t:"x74",u:"x75",v:"x76",x:"x78"};
+/** Used to escape characters for inclusion in compiled string literals. */var stringEscapes={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"};
+/** Detect free variable `exports`. */var freeExports=objectTypes[typeof exports]&&exports&&!exports.nodeType&&exports;
+/** Detect free variable `module`. */var freeModule=objectTypes[typeof module]&&module&&!module.nodeType&&module;
+/** Detect free variable `global` from Node.js. */var freeGlobal=freeExports&&freeModule&&typeof global=="object"&&global&&global.Object&&global;
+/** Detect free variable `self`. */var freeSelf=objectTypes[typeof self]&&self&&self.Object&&self;
+/** Detect free variable `window`. */var freeWindow=objectTypes[typeof window]&&window&&window.Object&&window;
+/** Detect the popular CommonJS extension `module.exports`. */var moduleExports=freeModule&&freeModule.exports===freeExports&&freeExports;
+/**
+ * Used as a reference to the global object.
+ *
+ * The `this` value is used if it's the global object to avoid Greasemonkey's
+ * restricted `window` object, otherwise the `window` object is used.
+ */var root=freeGlobal||freeWindow!==(this&&this.window)&&freeWindow||freeSelf||this;
+/*--------------------------------------------------------------------------*/
+/**
+ * The base implementation of `compareAscending` which compares values and
+ * sorts them in ascending order without guaranteeing a stable sort.
+ *
+ * @private
+ * @param {*} value The value to compare.
+ * @param {*} other The other value to compare.
+ * @returns {number} Returns the sort order indicator for `value`.
+ */function baseCompareAscending(value,other){if(value!==other){var valIsNull=value===null,valIsUndef=value===undefined,valIsReflexive=value===value;var othIsNull=other===null,othIsUndef=other===undefined,othIsReflexive=other===other;if(value>other&&!othIsNull||!valIsReflexive||valIsNull&&!othIsUndef&&othIsReflexive||valIsUndef&&othIsReflexive){return 1}if(value<other&&!valIsNull||!othIsReflexive||othIsNull&&!valIsUndef&&valIsReflexive||othIsUndef&&valIsReflexive){return-1}}return 0}
+/**
+ * The base implementation of `_.findIndex` and `_.findLastIndex` without
+ * support for callback shorthands and `this` binding.
+ *
+ * @private
+ * @param {Array} array The array to search.
+ * @param {Function} predicate The function invoked per iteration.
+ * @param {boolean} [fromRight] Specify iterating from right to left.
+ * @returns {number} Returns the index of the matched value, else `-1`.
+ */function baseFindIndex(array,predicate,fromRight){var length=array.length,index=fromRight?length:-1;while(fromRight?index--:++index<length){if(predicate(array[index],index,array)){return index}}return-1}
+/**
+ * The base implementation of `_.indexOf` without support for binary searches.
+ *
+ * @private
+ * @param {Array} array The array to search.
+ * @param {*} value The value to search for.
+ * @param {number} fromIndex The index to search from.
+ * @returns {number} Returns the index of the matched value, else `-1`.
+ */function baseIndexOf(array,value,fromIndex){if(value!==value){return indexOfNaN(array,fromIndex)}var index=fromIndex-1,length=array.length;while(++index<length){if(array[index]===value){return index}}return-1}
+/**
+ * The base implementation of `_.isFunction` without support for environments
+ * with incorrect `typeof` results.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
+ */function baseIsFunction(value){
+// Avoid a Chakra JIT bug in compatibility modes of IE 11.
+// See https://github.com/jashkenas/underscore/issues/1621 for more details.
+return typeof value=="function"||false}
+/**
+ * Converts `value` to a string if it's not one. An empty string is returned
+ * for `null` or `undefined` values.
+ *
+ * @private
+ * @param {*} value The value to process.
+ * @returns {string} Returns the string.
+ */function baseToString(value){return value==null?"":value+""}
+/**
+ * Used by `_.trim` and `_.trimLeft` to get the index of the first character
+ * of `string` that is not found in `chars`.
+ *
+ * @private
+ * @param {string} string The string to inspect.
+ * @param {string} chars The characters to find.
+ * @returns {number} Returns the index of the first character not found in `chars`.
+ */function charsLeftIndex(string,chars){var index=-1,length=string.length;while(++index<length&&chars.indexOf(string.charAt(index))>-1){}return index}
+/**
+ * Used by `_.trim` and `_.trimRight` to get the index of the last character
+ * of `string` that is not found in `chars`.
+ *
+ * @private
+ * @param {string} string The string to inspect.
+ * @param {string} chars The characters to find.
+ * @returns {number} Returns the index of the last character not found in `chars`.
+ */function charsRightIndex(string,chars){var index=string.length;while(index--&&chars.indexOf(string.charAt(index))>-1){}return index}
+/**
+ * Used by `_.sortBy` to compare transformed elements of a collection and stable
+ * sort them in ascending order.
+ *
+ * @private
+ * @param {Object} object The object to compare.
+ * @param {Object} other The other object to compare.
+ * @returns {number} Returns the sort order indicator for `object`.
+ */function compareAscending(object,other){return baseCompareAscending(object.criteria,other.criteria)||object.index-other.index}
+/**
+ * Used by `_.sortByOrder` to compare multiple properties of a value to another
+ * and stable sort them.
+ *
+ * If `orders` is unspecified, all valuess are sorted in ascending order. Otherwise,
+ * a value is sorted in ascending order if its corresponding order is "asc", and
+ * descending if "desc".
+ *
+ * @private
+ * @param {Object} object The object to compare.
+ * @param {Object} other The other object to compare.
+ * @param {boolean[]} orders The order to sort by for each property.
+ * @returns {number} Returns the sort order indicator for `object`.
+ */function compareMultiple(object,other,orders){var index=-1,objCriteria=object.criteria,othCriteria=other.criteria,length=objCriteria.length,ordersLength=orders.length;while(++index<length){var result=baseCompareAscending(objCriteria[index],othCriteria[index]);if(result){if(index>=ordersLength){return result}var order=orders[index];return result*(order==="asc"||order===true?1:-1)}}
+// Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications
+// that causes it, under certain circumstances, to provide the same value for
+// `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247
+// for more details.
+//
+// This also ensures a stable sort in V8 and other engines.
+// See https://code.google.com/p/v8/issues/detail?id=90 for more details.
+return object.index-other.index}
+/**
+ * Used by `_.deburr` to convert latin-1 supplementary letters to basic latin letters.
+ *
+ * @private
+ * @param {string} letter The matched letter to deburr.
+ * @returns {string} Returns the deburred letter.
+ */function deburrLetter(letter){return deburredLetters[letter]}
+/**
+ * Used by `_.escape` to convert characters to HTML entities.
+ *
+ * @private
+ * @param {string} chr The matched character to escape.
+ * @returns {string} Returns the escaped character.
+ */function escapeHtmlChar(chr){return htmlEscapes[chr]}
+/**
+ * Used by `_.escapeRegExp` to escape characters for inclusion in compiled regexes.
+ *
+ * @private
+ * @param {string} chr The matched character to escape.
+ * @param {string} leadingChar The capture group for a leading character.
+ * @param {string} whitespaceChar The capture group for a whitespace character.
+ * @returns {string} Returns the escaped character.
+ */function escapeRegExpChar(chr,leadingChar,whitespaceChar){if(leadingChar){chr=regexpEscapes[chr]}else if(whitespaceChar){chr=stringEscapes[chr]}return"\\"+chr}
+/**
+ * Used by `_.template` to escape characters for inclusion in compiled string literals.
+ *
+ * @private
+ * @param {string} chr The matched character to escape.
+ * @returns {string} Returns the escaped character.
+ */function escapeStringChar(chr){return"\\"+stringEscapes[chr]}
+/**
+ * Gets the index at which the first occurrence of `NaN` is found in `array`.
+ *
+ * @private
+ * @param {Array} array The array to search.
+ * @param {number} fromIndex The index to search from.
+ * @param {boolean} [fromRight] Specify iterating from right to left.
+ * @returns {number} Returns the index of the matched `NaN`, else `-1`.
+ */function indexOfNaN(array,fromIndex,fromRight){var length=array.length,index=fromIndex+(fromRight?0:-1);while(fromRight?index--:++index<length){var other=array[index];if(other!==other){return index}}return-1}
+/**
+ * Checks if `value` is object-like.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
+ */function isObjectLike(value){return!!value&&typeof value=="object"}
+/**
+ * Used by `trimmedLeftIndex` and `trimmedRightIndex` to determine if a
+ * character code is whitespace.
+ *
+ * @private
+ * @param {number} charCode The character code to inspect.
+ * @returns {boolean} Returns `true` if `charCode` is whitespace, else `false`.
+ */function isSpace(charCode){return charCode<=160&&(charCode>=9&&charCode<=13)||charCode==32||charCode==160||charCode==5760||charCode==6158||charCode>=8192&&(charCode<=8202||charCode==8232||charCode==8233||charCode==8239||charCode==8287||charCode==12288||charCode==65279)}
+/**
+ * Replaces all `placeholder` elements in `array` with an internal placeholder
+ * and returns an array of their indexes.
+ *
+ * @private
+ * @param {Array} array The array to modify.
+ * @param {*} placeholder The placeholder to replace.
+ * @returns {Array} Returns the new array of placeholder indexes.
+ */function replaceHolders(array,placeholder){var index=-1,length=array.length,resIndex=-1,result=[];while(++index<length){if(array[index]===placeholder){array[index]=PLACEHOLDER;result[++resIndex]=index}}return result}
+/**
+ * An implementation of `_.uniq` optimized for sorted arrays without support
+ * for callback shorthands and `this` binding.
+ *
+ * @private
+ * @param {Array} array The array to inspect.
+ * @param {Function} [iteratee] The function invoked per iteration.
+ * @returns {Array} Returns the new duplicate-value-free array.
+ */function sortedUniq(array,iteratee){var seen,index=-1,length=array.length,resIndex=-1,result=[];while(++index<length){var value=array[index],computed=iteratee?iteratee(value,index,array):value;if(!index||seen!==computed){seen=computed;result[++resIndex]=value}}return result}
+/**
+ * Used by `_.trim` and `_.trimLeft` to get the index of the first non-whitespace
+ * character of `string`.
+ *
+ * @private
+ * @param {string} string The string to inspect.
+ * @returns {number} Returns the index of the first non-whitespace character.
+ */function trimmedLeftIndex(string){var index=-1,length=string.length;while(++index<length&&isSpace(string.charCodeAt(index))){}return index}
+/**
+ * Used by `_.trim` and `_.trimRight` to get the index of the last non-whitespace
+ * character of `string`.
+ *
+ * @private
+ * @param {string} string The string to inspect.
+ * @returns {number} Returns the index of the last non-whitespace character.
+ */function trimmedRightIndex(string){var index=string.length;while(index--&&isSpace(string.charCodeAt(index))){}return index}
+/**
+ * Used by `_.unescape` to convert HTML entities to characters.
+ *
+ * @private
+ * @param {string} chr The matched character to unescape.
+ * @returns {string} Returns the unescaped character.
+ */function unescapeHtmlChar(chr){return htmlUnescapes[chr]}
+/*--------------------------------------------------------------------------*/
+/**
+ * Create a new pristine `lodash` function using the given `context` object.
+ *
+ * @static
+ * @memberOf _
+ * @category Utility
+ * @param {Object} [context=root] The context object.
+ * @returns {Function} Returns a new `lodash` function.
+ * @example
+ *
+ * _.mixin({ 'foo': _.constant('foo') });
+ *
+ * var lodash = _.runInContext();
+ * lodash.mixin({ 'bar': lodash.constant('bar') });
+ *
+ * _.isFunction(_.foo);
+ * // => true
+ * _.isFunction(_.bar);
+ * // => false
+ *
+ * lodash.isFunction(lodash.foo);
+ * // => false
+ * lodash.isFunction(lodash.bar);
+ * // => true
+ *
+ * // using `context` to mock `Date#getTime` use in `_.now`
+ * var mock = _.runInContext({
+ * 'Date': function() {
+ * return { 'getTime': getTimeMock };
+ * }
+ * });
+ *
+ * // or creating a suped-up `defer` in Node.js
+ * var defer = _.runInContext({ 'setTimeout': setImmediate }).defer;
+ */function runInContext(context){
+// Avoid issues with some ES3 environments that attempt to use values, named
+// after built-in constructors like `Object`, for the creation of literals.
+// ES5 clears this up by stating that literals must use built-in constructors.
+// See https://es5.github.io/#x11.1.5 for more details.
+context=context?_.defaults(root.Object(),context,_.pick(root,contextProps)):root;
+/** Native constructor references. */var Array=context.Array,Date=context.Date,Error=context.Error,Function=context.Function,Math=context.Math,Number=context.Number,Object=context.Object,RegExp=context.RegExp,String=context.String,TypeError=context.TypeError;
+/** Used for native method references. */var arrayProto=Array.prototype,objectProto=Object.prototype,stringProto=String.prototype;
+/** Used to resolve the decompiled source of functions. */var fnToString=Function.prototype.toString;
+/** Used to check objects for own properties. */var hasOwnProperty=objectProto.hasOwnProperty;
+/** Used to generate unique IDs. */var idCounter=0;
+/**
+ * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)
+ * of values.
+ */var objToString=objectProto.toString;
+/** Used to restore the original `_` reference in `_.noConflict`. */var oldDash=root._;
+/** Used to detect if a method is native. */var reIsNative=RegExp("^"+fnToString.call(hasOwnProperty).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");
+/** Native method references. */var ArrayBuffer=context.ArrayBuffer,clearTimeout=context.clearTimeout,parseFloat=context.parseFloat,pow=Math.pow,propertyIsEnumerable=objectProto.propertyIsEnumerable,Set=getNative(context,"Set"),setTimeout=context.setTimeout,splice=arrayProto.splice,Uint8Array=context.Uint8Array,WeakMap=getNative(context,"WeakMap");
+/* Native method references for those with the same name as other `lodash` methods. */var nativeCeil=Math.ceil,nativeCreate=getNative(Object,"create"),nativeFloor=Math.floor,nativeIsArray=getNative(Array,"isArray"),nativeIsFinite=context.isFinite,nativeKeys=getNative(Object,"keys"),nativeMax=Math.max,nativeMin=Math.min,nativeNow=getNative(Date,"now"),nativeParseInt=context.parseInt,nativeRandom=Math.random;
+/** Used as references for `-Infinity` and `Infinity`. */var NEGATIVE_INFINITY=Number.NEGATIVE_INFINITY,POSITIVE_INFINITY=Number.POSITIVE_INFINITY;
+/** Used as references for the maximum length and index of an array. */var MAX_ARRAY_LENGTH=4294967295,MAX_ARRAY_INDEX=MAX_ARRAY_LENGTH-1,HALF_MAX_ARRAY_LENGTH=MAX_ARRAY_LENGTH>>>1;
+/**
+ * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)
+ * of an array-like value.
+ */var MAX_SAFE_INTEGER=9007199254740991;
+/** Used to store function metadata. */var metaMap=WeakMap&&new WeakMap;
+/** Used to lookup unminified function names. */var realNames={};
+/*------------------------------------------------------------------------*/
+/**
+ * Creates a `lodash` object which wraps `value` to enable implicit chaining.
+ * Methods that operate on and return arrays, collections, and functions can
+ * be chained together. Methods that retrieve a single value or may return a
+ * primitive value will automatically end the chain returning the unwrapped
+ * value. Explicit chaining may be enabled using `_.chain`. The execution of
+ * chained methods is lazy, that is, execution is deferred until `_#value`
+ * is implicitly or explicitly called.
+ *
+ * Lazy evaluation allows several methods to support shortcut fusion. Shortcut
+ * fusion is an optimization strategy which merge iteratee calls; this can help
+ * to avoid the creation of intermediate data structures and greatly reduce the
+ * number of iteratee executions.
+ *
+ * Chaining is supported in custom builds as long as the `_#value` method is
+ * directly or indirectly included in the build.
+ *
+ * In addition to lodash methods, wrappers have `Array` and `String` methods.
+ *
+ * The wrapper `Array` methods are:
+ * `concat`, `join`, `pop`, `push`, `reverse`, `shift`, `slice`, `sort`,
+ * `splice`, and `unshift`
+ *
+ * The wrapper `String` methods are:
+ * `replace` and `split`
+ *
+ * The wrapper methods that support shortcut fusion are:
+ * `compact`, `drop`, `dropRight`, `dropRightWhile`, `dropWhile`, `filter`,
+ * `first`, `initial`, `last`, `map`, `pluck`, `reject`, `rest`, `reverse`,
+ * `slice`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, `toArray`,
+ * and `where`
+ *
+ * The chainable wrapper methods are:
+ * `after`, `ary`, `assign`, `at`, `before`, `bind`, `bindAll`, `bindKey`,
+ * `callback`, `chain`, `chunk`, `commit`, `compact`, `concat`, `constant`,
+ * `countBy`, `create`, `curry`, `debounce`, `defaults`, `defaultsDeep`,
+ * `defer`, `delay`, `difference`, `drop`, `dropRight`, `dropRightWhile`,
+ * `dropWhile`, `fill`, `filter`, `flatten`, `flattenDeep`, `flow`, `flowRight`,
+ * `forEach`, `forEachRight`, `forIn`, `forInRight`, `forOwn`, `forOwnRight`,
+ * `functions`, `groupBy`, `indexBy`, `initial`, `intersection`, `invert`,
+ * `invoke`, `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`,
+ * `matchesProperty`, `memoize`, `merge`, `method`, `methodOf`, `mixin`,
+ * `modArgs`, `negate`, `omit`, `once`, `pairs`, `partial`, `partialRight`,
+ * `partition`, `pick`, `plant`, `pluck`, `property`, `propertyOf`, `pull`,
+ * `pullAt`, `push`, `range`, `rearg`, `reject`, `remove`, `rest`, `restParam`,
+ * `reverse`, `set`, `shuffle`, `slice`, `sort`, `sortBy`, `sortByAll`,
+ * `sortByOrder`, `splice`, `spread`, `take`, `takeRight`, `takeRightWhile`,
+ * `takeWhile`, `tap`, `throttle`, `thru`, `times`, `toArray`, `toPlainObject`,
+ * `transform`, `union`, `uniq`, `unshift`, `unzip`, `unzipWith`, `values`,
+ * `valuesIn`, `where`, `without`, `wrap`, `xor`, `zip`, `zipObject`, `zipWith`
+ *
+ * The wrapper methods that are **not** chainable by default are:
+ * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clone`, `cloneDeep`,
+ * `deburr`, `endsWith`, `escape`, `escapeRegExp`, `every`, `find`, `findIndex`,
+ * `findKey`, `findLast`, `findLastIndex`, `findLastKey`, `findWhere`, `first`,
+ * `floor`, `get`, `gt`, `gte`, `has`, `identity`, `includes`, `indexOf`,
+ * `inRange`, `isArguments`, `isArray`, `isBoolean`, `isDate`, `isElement`,
+ * `isEmpty`, `isEqual`, `isError`, `isFinite` `isFunction`, `isMatch`,
+ * `isNative`, `isNaN`, `isNull`, `isNumber`, `isObject`, `isPlainObject`,
+ * `isRegExp`, `isString`, `isUndefined`, `isTypedArray`, `join`, `kebabCase`,
+ * `last`, `lastIndexOf`, `lt`, `lte`, `max`, `min`, `noConflict`, `noop`,
+ * `now`, `pad`, `padLeft`, `padRight`, `parseInt`, `pop`, `random`, `reduce`,
+ * `reduceRight`, `repeat`, `result`, `round`, `runInContext`, `shift`, `size`,
+ * `snakeCase`, `some`, `sortedIndex`, `sortedLastIndex`, `startCase`,
+ * `startsWith`, `sum`, `template`, `trim`, `trimLeft`, `trimRight`, `trunc`,
+ * `unescape`, `uniqueId`, `value`, and `words`
+ *
+ * The wrapper method `sample` will return a wrapped value when `n` is provided,
+ * otherwise an unwrapped value is returned.
+ *
+ * @name _
+ * @constructor
+ * @category Chain
+ * @param {*} value The value to wrap in a `lodash` instance.
+ * @returns {Object} Returns the new `lodash` wrapper instance.
+ * @example
+ *
+ * var wrapped = _([1, 2, 3]);
+ *
+ * // returns an unwrapped value
+ * wrapped.reduce(function(total, n) {
+ * return total + n;
+ * });
+ * // => 6
+ *
+ * // returns a wrapped value
+ * var squares = wrapped.map(function(n) {
+ * return n * n;
+ * });
+ *
+ * _.isArray(squares);
+ * // => false
+ *
+ * _.isArray(squares.value());
+ * // => true
+ */function lodash(value){if(isObjectLike(value)&&!isArray(value)&&!(value instanceof LazyWrapper)){if(value instanceof LodashWrapper){return value}if(hasOwnProperty.call(value,"__chain__")&&hasOwnProperty.call(value,"__wrapped__")){return wrapperClone(value)}}return new LodashWrapper(value)}
+/**
+ * The function whose prototype all chaining wrappers inherit from.
+ *
+ * @private
+ */function baseLodash(){
+// No operation performed.
+}
+/**
+ * The base constructor for creating `lodash` wrapper objects.
+ *
+ * @private
+ * @param {*} value The value to wrap.
+ * @param {boolean} [chainAll] Enable chaining for all wrapper methods.
+ * @param {Array} [actions=[]] Actions to peform to resolve the unwrapped value.
+ */function LodashWrapper(value,chainAll,actions){this.__wrapped__=value;this.__actions__=actions||[];this.__chain__=!!chainAll}
+/**
+ * An object environment feature flags.
+ *
+ * @static
+ * @memberOf _
+ * @type Object
+ */var support=lodash.support={};
+/**
+ * By default, the template delimiters used by lodash are like those in
+ * embedded Ruby (ERB). Change the following template settings to use
+ * alternative delimiters.
+ *
+ * @static
+ * @memberOf _
+ * @type Object
+ */lodash.templateSettings={
+/**
+ * Used to detect `data` property values to be HTML-escaped.
+ *
+ * @memberOf _.templateSettings
+ * @type RegExp
+ */
+escape:reEscape,
+/**
+ * Used to detect code to be evaluated.
+ *
+ * @memberOf _.templateSettings
+ * @type RegExp
+ */
+evaluate:reEvaluate,
+/**
+ * Used to detect `data` property values to inject.
+ *
+ * @memberOf _.templateSettings
+ * @type RegExp
+ */
+interpolate:reInterpolate,
+/**
+ * Used to reference the data object in the template text.
+ *
+ * @memberOf _.templateSettings
+ * @type string
+ */
+variable:"",
+/**
+ * Used to import variables into the compiled template.
+ *
+ * @memberOf _.templateSettings
+ * @type Object
+ */
+imports:{
+/**
+ * A reference to the `lodash` function.
+ *
+ * @memberOf _.templateSettings.imports
+ * @type Function
+ */
+_:lodash}};
+/*------------------------------------------------------------------------*/
+/**
+ * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation.
+ *
+ * @private
+ * @param {*} value The value to wrap.
+ */function LazyWrapper(value){this.__wrapped__=value;this.__actions__=[];this.__dir__=1;this.__filtered__=false;this.__iteratees__=[];this.__takeCount__=POSITIVE_INFINITY;this.__views__=[]}
+/**
+ * Creates a clone of the lazy wrapper object.
+ *
+ * @private
+ * @name clone
+ * @memberOf LazyWrapper
+ * @returns {Object} Returns the cloned `LazyWrapper` object.
+ */function lazyClone(){var result=new LazyWrapper(this.__wrapped__);result.__actions__=arrayCopy(this.__actions__);result.__dir__=this.__dir__;result.__filtered__=this.__filtered__;result.__iteratees__=arrayCopy(this.__iteratees__);result.__takeCount__=this.__takeCount__;result.__views__=arrayCopy(this.__views__);return result}
+/**
+ * Reverses the direction of lazy iteration.
+ *
+ * @private
+ * @name reverse
+ * @memberOf LazyWrapper
+ * @returns {Object} Returns the new reversed `LazyWrapper` object.
+ */function lazyReverse(){if(this.__filtered__){var result=new LazyWrapper(this);result.__dir__=-1;result.__filtered__=true}else{result=this.clone();result.__dir__*=-1}return result}
+/**
+ * Extracts the unwrapped value from its lazy wrapper.
+ *
+ * @private
+ * @name value
+ * @memberOf LazyWrapper
+ * @returns {*} Returns the unwrapped value.
+ */function lazyValue(){var array=this.__wrapped__.value(),dir=this.__dir__,isArr=isArray(array),isRight=dir<0,arrLength=isArr?array.length:0,view=getView(0,arrLength,this.__views__),start=view.start,end=view.end,length=end-start,index=isRight?end:start-1,iteratees=this.__iteratees__,iterLength=iteratees.length,resIndex=0,takeCount=nativeMin(length,this.__takeCount__);if(!isArr||arrLength<LARGE_ARRAY_SIZE||arrLength==length&&takeCount==length){return baseWrapperValue(isRight&&isArr?array.reverse():array,this.__actions__)}var result=[];outer:while(length--&&resIndex<takeCount){index+=dir;var iterIndex=-1,value=array[index];while(++iterIndex<iterLength){var data=iteratees[iterIndex],iteratee=data.iteratee,type=data.type,computed=iteratee(value);if(type==LAZY_MAP_FLAG){value=computed}else if(!computed){if(type==LAZY_FILTER_FLAG){continue outer}else{break outer}}}result[resIndex++]=value}return result}
+/*------------------------------------------------------------------------*/
+/**
+ * Creates a cache object to store key/value pairs.
+ *
+ * @private
+ * @static
+ * @name Cache
+ * @memberOf _.memoize
+ */function MapCache(){this.__data__={}}
+/**
+ * Removes `key` and its value from the cache.
+ *
+ * @private
+ * @name delete
+ * @memberOf _.memoize.Cache
+ * @param {string} key The key of the value to remove.
+ * @returns {boolean} Returns `true` if the entry was removed successfully, else `false`.
+ */function mapDelete(key){return this.has(key)&&delete this.__data__[key]}
+/**
+ * Gets the cached value for `key`.
+ *
+ * @private
+ * @name get
+ * @memberOf _.memoize.Cache
+ * @param {string} key The key of the value to get.
+ * @returns {*} Returns the cached value.
+ */function mapGet(key){return key=="__proto__"?undefined:this.__data__[key]}
+/**
+ * Checks if a cached value for `key` exists.
+ *
+ * @private
+ * @name has
+ * @memberOf _.memoize.Cache
+ * @param {string} key The key of the entry to check.
+ * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
+ */function mapHas(key){return key!="__proto__"&&hasOwnProperty.call(this.__data__,key)}
+/**
+ * Sets `value` to `key` of the cache.
+ *
+ * @private
+ * @name set
+ * @memberOf _.memoize.Cache
+ * @param {string} key The key of the value to cache.
+ * @param {*} value The value to cache.
+ * @returns {Object} Returns the cache object.
+ */function mapSet(key,value){if(key!="__proto__"){this.__data__[key]=value}return this}
+/*------------------------------------------------------------------------*/
+/**
+ *
+ * Creates a cache object to store unique values.
+ *
+ * @private
+ * @param {Array} [values] The values to cache.
+ */function SetCache(values){var length=values?values.length:0;this.data={hash:nativeCreate(null),set:new Set};while(length--){this.push(values[length])}}
+/**
+ * Checks if `value` is in `cache` mimicking the return signature of
+ * `_.indexOf` by returning `0` if the value is found, else `-1`.
+ *
+ * @private
+ * @param {Object} cache The cache to search.
+ * @param {*} value The value to search for.
+ * @returns {number} Returns `0` if `value` is found, else `-1`.
+ */function cacheIndexOf(cache,value){var data=cache.data,result=typeof value=="string"||isObject(value)?data.set.has(value):data.hash[value];return result?0:-1}
+/**
+ * Adds `value` to the cache.
+ *
+ * @private
+ * @name push
+ * @memberOf SetCache
+ * @param {*} value The value to cache.
+ */function cachePush(value){var data=this.data;if(typeof value=="string"||isObject(value)){data.set.add(value)}else{data.hash[value]=true}}
+/*------------------------------------------------------------------------*/
+/**
+ * Creates a new array joining `array` with `other`.
+ *
+ * @private
+ * @param {Array} array The array to join.
+ * @param {Array} other The other array to join.
+ * @returns {Array} Returns the new concatenated array.
+ */function arrayConcat(array,other){var index=-1,length=array.length,othIndex=-1,othLength=other.length,result=Array(length+othLength);while(++index<length){result[index]=array[index]}while(++othIndex<othLength){result[index++]=other[othIndex]}return result}
+/**
+ * Copies the values of `source` to `array`.
+ *
+ * @private
+ * @param {Array} source The array to copy values from.
+ * @param {Array} [array=[]] The array to copy values to.
+ * @returns {Array} Returns `array`.
+ */function arrayCopy(source,array){var index=-1,length=source.length;array||(array=Array(length));while(++index<length){array[index]=source[index]}return array}
+/**
+ * A specialized version of `_.forEach` for arrays without support for callback
+ * shorthands and `this` binding.
+ *
+ * @private
+ * @param {Array} array The array to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @returns {Array} Returns `array`.
+ */function arrayEach(array,iteratee){var index=-1,length=array.length;while(++index<length){if(iteratee(array[index],index,array)===false){break}}return array}
+/**
+ * A specialized version of `_.forEachRight` for arrays without support for
+ * callback shorthands and `this` binding.
+ *
+ * @private
+ * @param {Array} array The array to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @returns {Array} Returns `array`.
+ */function arrayEachRight(array,iteratee){var length=array.length;while(length--){if(iteratee(array[length],length,array)===false){break}}return array}
+/**
+ * A specialized version of `_.every` for arrays without support for callback
+ * shorthands and `this` binding.
+ *
+ * @private
+ * @param {Array} array The array to iterate over.
+ * @param {Function} predicate The function invoked per iteration.
+ * @returns {boolean} Returns `true` if all elements pass the predicate check,
+ * else `false`.
+ */function arrayEvery(array,predicate){var index=-1,length=array.length;while(++index<length){if(!predicate(array[index],index,array)){return false}}return true}
+/**
+ * A specialized version of `baseExtremum` for arrays which invokes `iteratee`
+ * with one argument: (value).
+ *
+ * @private
+ * @param {Array} array The array to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @param {Function} comparator The function used to compare values.
+ * @param {*} exValue The initial extremum value.
+ * @returns {*} Returns the extremum value.
+ */function arrayExtremum(array,iteratee,comparator,exValue){var index=-1,length=array.length,computed=exValue,result=computed;while(++index<length){var value=array[index],current=+iteratee(value);if(comparator(current,computed)){computed=current;result=value}}return result}
+/**
+ * A specialized version of `_.filter` for arrays without support for callback
+ * shorthands and `this` binding.
+ *
+ * @private
+ * @param {Array} array The array to iterate over.
+ * @param {Function} predicate The function invoked per iteration.
+ * @returns {Array} Returns the new filtered array.
+ */function arrayFilter(array,predicate){var index=-1,length=array.length,resIndex=-1,result=[];while(++index<length){var value=array[index];if(predicate(value,index,array)){result[++resIndex]=value}}return result}
+/**
+ * A specialized version of `_.map` for arrays without support for callback
+ * shorthands and `this` binding.
+ *
+ * @private
+ * @param {Array} array The array to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @returns {Array} Returns the new mapped array.
+ */function arrayMap(array,iteratee){var index=-1,length=array.length,result=Array(length);while(++index<length){result[index]=iteratee(array[index],index,array)}return result}
+/**
+ * Appends the elements of `values` to `array`.
+ *
+ * @private
+ * @param {Array} array The array to modify.
+ * @param {Array} values The values to append.
+ * @returns {Array} Returns `array`.
+ */function arrayPush(array,values){var index=-1,length=values.length,offset=array.length;while(++index<length){array[offset+index]=values[index]}return array}
+/**
+ * A specialized version of `_.reduce` for arrays without support for callback
+ * shorthands and `this` binding.
+ *
+ * @private
+ * @param {Array} array The array to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @param {*} [accumulator] The initial value.
+ * @param {boolean} [initFromArray] Specify using the first element of `array`
+ * as the initial value.
+ * @returns {*} Returns the accumulated value.
+ */function arrayReduce(array,iteratee,accumulator,initFromArray){var index=-1,length=array.length;if(initFromArray&&length){accumulator=array[++index]}while(++index<length){accumulator=iteratee(accumulator,array[index],index,array)}return accumulator}
+/**
+ * A specialized version of `_.reduceRight` for arrays without support for
+ * callback shorthands and `this` binding.
+ *
+ * @private
+ * @param {Array} array The array to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @param {*} [accumulator] The initial value.
+ * @param {boolean} [initFromArray] Specify using the last element of `array`
+ * as the initial value.
+ * @returns {*} Returns the accumulated value.
+ */function arrayReduceRight(array,iteratee,accumulator,initFromArray){var length=array.length;if(initFromArray&&length){accumulator=array[--length]}while(length--){accumulator=iteratee(accumulator,array[length],length,array)}return accumulator}
+/**
+ * A specialized version of `_.some` for arrays without support for callback
+ * shorthands and `this` binding.
+ *
+ * @private
+ * @param {Array} array The array to iterate over.
+ * @param {Function} predicate The function invoked per iteration.
+ * @returns {boolean} Returns `true` if any element passes the predicate check,
+ * else `false`.
+ */function arraySome(array,predicate){var index=-1,length=array.length;while(++index<length){if(predicate(array[index],index,array)){return true}}return false}
+/**
+ * A specialized version of `_.sum` for arrays without support for callback
+ * shorthands and `this` binding..
+ *
+ * @private
+ * @param {Array} array The array to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @returns {number} Returns the sum.
+ */function arraySum(array,iteratee){var length=array.length,result=0;while(length--){result+=+iteratee(array[length])||0}return result}
+/**
+ * Used by `_.defaults` to customize its `_.assign` use.
+ *
+ * @private
+ * @param {*} objectValue The destination object property value.
+ * @param {*} sourceValue The source object property value.
+ * @returns {*} Returns the value to assign to the destination object.
+ */function assignDefaults(objectValue,sourceValue){return objectValue===undefined?sourceValue:objectValue}
+/**
+ * Used by `_.template` to customize its `_.assign` use.
+ *
+ * **Note:** This function is like `assignDefaults` except that it ignores
+ * inherited property values when checking if a property is `undefined`.
+ *
+ * @private
+ * @param {*} objectValue The destination object property value.
+ * @param {*} sourceValue The source object property value.
+ * @param {string} key The key associated with the object and source values.
+ * @param {Object} object The destination object.
+ * @returns {*} Returns the value to assign to the destination object.
+ */function assignOwnDefaults(objectValue,sourceValue,key,object){return objectValue===undefined||!hasOwnProperty.call(object,key)?sourceValue:objectValue}
+/**
+ * A specialized version of `_.assign` for customizing assigned values without
+ * support for argument juggling, multiple sources, and `this` binding `customizer`
+ * functions.
+ *
+ * @private
+ * @param {Object} object The destination object.
+ * @param {Object} source The source object.
+ * @param {Function} customizer The function to customize assigned values.
+ * @returns {Object} Returns `object`.
+ */function assignWith(object,source,customizer){var index=-1,props=keys(source),length=props.length;while(++index<length){var key=props[index],value=object[key],result=customizer(value,source[key],key,object,source);if((result===result?result!==value:value===value)||value===undefined&&!(key in object)){object[key]=result}}return object}
+/**
+ * The base implementation of `_.assign` without support for argument juggling,
+ * multiple sources, and `customizer` functions.
+ *
+ * @private
+ * @param {Object} object The destination object.
+ * @param {Object} source The source object.
+ * @returns {Object} Returns `object`.
+ */function baseAssign(object,source){return source==null?object:baseCopy(source,keys(source),object)}
+/**
+ * The base implementation of `_.at` without support for string collections
+ * and individual key arguments.
+ *
+ * @private
+ * @param {Array|Object} collection The collection to iterate over.
+ * @param {number[]|string[]} props The property names or indexes of elements to pick.
+ * @returns {Array} Returns the new array of picked elements.
+ */function baseAt(collection,props){var index=-1,isNil=collection==null,isArr=!isNil&&isArrayLike(collection),length=isArr?collection.length:0,propsLength=props.length,result=Array(propsLength);while(++index<propsLength){var key=props[index];if(isArr){result[index]=isIndex(key,length)?collection[key]:undefined}else{result[index]=isNil?undefined:collection[key]}}return result}
+/**
+ * Copies properties of `source` to `object`.
+ *
+ * @private
+ * @param {Object} source The object to copy properties from.
+ * @param {Array} props The property names to copy.
+ * @param {Object} [object={}] The object to copy properties to.
+ * @returns {Object} Returns `object`.
+ */function baseCopy(source,props,object){object||(object={});var index=-1,length=props.length;while(++index<length){var key=props[index];object[key]=source[key]}return object}
+/**
+ * The base implementation of `_.callback` which supports specifying the
+ * number of arguments to provide to `func`.
+ *
+ * @private
+ * @param {*} [func=_.identity] The value to convert to a callback.
+ * @param {*} [thisArg] The `this` binding of `func`.
+ * @param {number} [argCount] The number of arguments to provide to `func`.
+ * @returns {Function} Returns the callback.
+ */function baseCallback(func,thisArg,argCount){var type=typeof func;if(type=="function"){return thisArg===undefined?func:bindCallback(func,thisArg,argCount)}if(func==null){return identity}if(type=="object"){return baseMatches(func)}return thisArg===undefined?property(func):baseMatchesProperty(func,thisArg)}
+/**
+ * The base implementation of `_.clone` without support for argument juggling
+ * and `this` binding `customizer` functions.
+ *
+ * @private
+ * @param {*} value The value to clone.
+ * @param {boolean} [isDeep] Specify a deep clone.
+ * @param {Function} [customizer] The function to customize cloning values.
+ * @param {string} [key] The key of `value`.
+ * @param {Object} [object] The object `value` belongs to.
+ * @param {Array} [stackA=[]] Tracks traversed source objects.
+ * @param {Array} [stackB=[]] Associates clones with source counterparts.
+ * @returns {*} Returns the cloned value.
+ */function baseClone(value,isDeep,customizer,key,object,stackA,stackB){var result;if(customizer){result=object?customizer(value,key,object):customizer(value)}if(result!==undefined){return result}if(!isObject(value)){return value}var isArr=isArray(value);if(isArr){result=initCloneArray(value);if(!isDeep){return arrayCopy(value,result)}}else{var tag=objToString.call(value),isFunc=tag==funcTag;if(tag==objectTag||tag==argsTag||isFunc&&!object){result=initCloneObject(isFunc?{}:value);if(!isDeep){return baseAssign(result,value)}}else{return cloneableTags[tag]?initCloneByTag(value,tag,isDeep):object?value:{}}}
+// Check for circular references and return its corresponding clone.
+stackA||(stackA=[]);stackB||(stackB=[]);var length=stackA.length;while(length--){if(stackA[length]==value){return stackB[length]}}
+// Add the source value to the stack of traversed objects and associate it with its clone.
+stackA.push(value);stackB.push(result);
+// Recursively populate clone (susceptible to call stack limits).
+// Recursively populate clone (susceptible to call stack limits).
+(isArr?arrayEach:baseForOwn)(value,function(subValue,key){result[key]=baseClone(subValue,isDeep,customizer,key,value,stackA,stackB)});return result}
+/**
+ * The base implementation of `_.create` without support for assigning
+ * properties to the created object.
+ *
+ * @private
+ * @param {Object} prototype The object to inherit from.
+ * @returns {Object} Returns the new object.
+ */var baseCreate=function(){function object(){}return function(prototype){if(isObject(prototype)){object.prototype=prototype;var result=new object;object.prototype=undefined}return result||{}}}();
+/**
+ * The base implementation of `_.delay` and `_.defer` which accepts an index
+ * of where to slice the arguments to provide to `func`.
+ *
+ * @private
+ * @param {Function} func The function to delay.
+ * @param {number} wait The number of milliseconds to delay invocation.
+ * @param {Object} args The arguments provide to `func`.
+ * @returns {number} Returns the timer id.
+ */function baseDelay(func,wait,args){if(typeof func!="function"){throw new TypeError(FUNC_ERROR_TEXT)}return setTimeout(function(){func.apply(undefined,args)},wait)}
+/**
+ * The base implementation of `_.difference` which accepts a single array
+ * of values to exclude.
+ *
+ * @private
+ * @param {Array} array The array to inspect.
+ * @param {Array} values The values to exclude.
+ * @returns {Array} Returns the new array of filtered values.
+ */function baseDifference(array,values){var length=array?array.length:0,result=[];if(!length){return result}var index=-1,indexOf=getIndexOf(),isCommon=indexOf==baseIndexOf,cache=isCommon&&values.length>=LARGE_ARRAY_SIZE?createCache(values):null,valuesLength=values.length;if(cache){indexOf=cacheIndexOf;isCommon=false;values=cache}outer:while(++index<length){var value=array[index];if(isCommon&&value===value){var valuesIndex=valuesLength;while(valuesIndex--){if(values[valuesIndex]===value){continue outer}}result.push(value)}else if(indexOf(values,value,0)<0){result.push(value)}}return result}
+/**
+ * The base implementation of `_.forEach` without support for callback
+ * shorthands and `this` binding.
+ *
+ * @private
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @returns {Array|Object|string} Returns `collection`.
+ */var baseEach=createBaseEach(baseForOwn);
+/**
+ * The base implementation of `_.forEachRight` without support for callback
+ * shorthands and `this` binding.
+ *
+ * @private
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @returns {Array|Object|string} Returns `collection`.
+ */var baseEachRight=createBaseEach(baseForOwnRight,true);
+/**
+ * The base implementation of `_.every` without support for callback
+ * shorthands and `this` binding.
+ *
+ * @private
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function} predicate The function invoked per iteration.
+ * @returns {boolean} Returns `true` if all elements pass the predicate check,
+ * else `false`
+ */function baseEvery(collection,predicate){var result=true;baseEach(collection,function(value,index,collection){result=!!predicate(value,index,collection);return result});return result}
+/**
+ * Gets the extremum value of `collection` invoking `iteratee` for each value
+ * in `collection` to generate the criterion by which the value is ranked.
+ * The `iteratee` is invoked with three arguments: (value, index|key, collection).
+ *
+ * @private
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @param {Function} comparator The function used to compare values.
+ * @param {*} exValue The initial extremum value.
+ * @returns {*} Returns the extremum value.
+ */function baseExtremum(collection,iteratee,comparator,exValue){var computed=exValue,result=computed;baseEach(collection,function(value,index,collection){var current=+iteratee(value,index,collection);if(comparator(current,computed)||current===exValue&&current===result){computed=current;result=value}});return result}
+/**
+ * The base implementation of `_.fill` without an iteratee call guard.
+ *
+ * @private
+ * @param {Array} array The array to fill.
+ * @param {*} value The value to fill `array` with.
+ * @param {number} [start=0] The start position.
+ * @param {number} [end=array.length] The end position.
+ * @returns {Array} Returns `array`.
+ */function baseFill(array,value,start,end){var length=array.length;start=start==null?0:+start||0;if(start<0){start=-start>length?0:length+start}end=end===undefined||end>length?length:+end||0;if(end<0){end+=length}length=start>end?0:end>>>0;start>>>=0;while(start<length){array[start++]=value}return array}
+/**
+ * The base implementation of `_.filter` without support for callback
+ * shorthands and `this` binding.
+ *
+ * @private
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function} predicate The function invoked per iteration.
+ * @returns {Array} Returns the new filtered array.
+ */function baseFilter(collection,predicate){var result=[];baseEach(collection,function(value,index,collection){if(predicate(value,index,collection)){result.push(value)}});return result}
+/**
+ * The base implementation of `_.find`, `_.findLast`, `_.findKey`, and `_.findLastKey`,
+ * without support for callback shorthands and `this` binding, which iterates
+ * over `collection` using the provided `eachFunc`.
+ *
+ * @private
+ * @param {Array|Object|string} collection The collection to search.
+ * @param {Function} predicate The function invoked per iteration.
+ * @param {Function} eachFunc The function to iterate over `collection`.
+ * @param {boolean} [retKey] Specify returning the key of the found element
+ * instead of the element itself.
+ * @returns {*} Returns the found element or its key, else `undefined`.
+ */function baseFind(collection,predicate,eachFunc,retKey){var result;eachFunc(collection,function(value,key,collection){if(predicate(value,key,collection)){result=retKey?key:value;return false}});return result}
+/**
+ * The base implementation of `_.flatten` with added support for restricting
+ * flattening and specifying the start index.
+ *
+ * @private
+ * @param {Array} array The array to flatten.
+ * @param {boolean} [isDeep] Specify a deep flatten.
+ * @param {boolean} [isStrict] Restrict flattening to arrays-like objects.
+ * @param {Array} [result=[]] The initial result value.
+ * @returns {Array} Returns the new flattened array.
+ */function baseFlatten(array,isDeep,isStrict,result){result||(result=[]);var index=-1,length=array.length;while(++index<length){var value=array[index];if(isObjectLike(value)&&isArrayLike(value)&&(isStrict||isArray(value)||isArguments(value))){if(isDeep){
+// Recursively flatten arrays (susceptible to call stack limits).
+baseFlatten(value,isDeep,isStrict,result)}else{arrayPush(result,value)}}else if(!isStrict){result[result.length]=value}}return result}
+/**
+ * The base implementation of `baseForIn` and `baseForOwn` which iterates
+ * over `object` properties returned by `keysFunc` invoking `iteratee` for
+ * each property. Iteratee functions may exit iteration early by explicitly
+ * returning `false`.
+ *
+ * @private
+ * @param {Object} object The object to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @param {Function} keysFunc The function to get the keys of `object`.
+ * @returns {Object} Returns `object`.
+ */var baseFor=createBaseFor();
+/**
+ * This function is like `baseFor` except that it iterates over properties
+ * in the opposite order.
+ *
+ * @private
+ * @param {Object} object The object to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @param {Function} keysFunc The function to get the keys of `object`.
+ * @returns {Object} Returns `object`.
+ */var baseForRight=createBaseFor(true);
+/**
+ * The base implementation of `_.forIn` without support for callback
+ * shorthands and `this` binding.
+ *
+ * @private
+ * @param {Object} object The object to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @returns {Object} Returns `object`.
+ */function baseForIn(object,iteratee){return baseFor(object,iteratee,keysIn)}
+/**
+ * The base implementation of `_.forOwn` without support for callback
+ * shorthands and `this` binding.
+ *
+ * @private
+ * @param {Object} object The object to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @returns {Object} Returns `object`.
+ */function baseForOwn(object,iteratee){return baseFor(object,iteratee,keys)}
+/**
+ * The base implementation of `_.forOwnRight` without support for callback
+ * shorthands and `this` binding.
+ *
+ * @private
+ * @param {Object} object The object to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @returns {Object} Returns `object`.
+ */function baseForOwnRight(object,iteratee){return baseForRight(object,iteratee,keys)}
+/**
+ * The base implementation of `_.functions` which creates an array of
+ * `object` function property names filtered from those provided.
+ *
+ * @private
+ * @param {Object} object The object to inspect.
+ * @param {Array} props The property names to filter.
+ * @returns {Array} Returns the new array of filtered property names.
+ */function baseFunctions(object,props){var index=-1,length=props.length,resIndex=-1,result=[];while(++index<length){var key=props[index];if(isFunction(object[key])){result[++resIndex]=key}}return result}
+/**
+ * The base implementation of `get` without support for string paths
+ * and default values.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @param {Array} path The path of the property to get.
+ * @param {string} [pathKey] The key representation of path.
+ * @returns {*} Returns the resolved value.
+ */function baseGet(object,path,pathKey){if(object==null){return}if(pathKey!==undefined&&pathKey in toObject(object)){path=[pathKey]}var index=0,length=path.length;while(object!=null&&index<length){object=object[path[index++]]}return index&&index==length?object:undefined}
+/**
+ * The base implementation of `_.isEqual` without support for `this` binding
+ * `customizer` functions.
+ *
+ * @private
+ * @param {*} value The value to compare.
+ * @param {*} other The other value to compare.
+ * @param {Function} [customizer] The function to customize comparing values.
+ * @param {boolean} [isLoose] Specify performing partial comparisons.
+ * @param {Array} [stackA] Tracks traversed `value` objects.
+ * @param {Array} [stackB] Tracks traversed `other` objects.
+ * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
+ */function baseIsEqual(value,other,customizer,isLoose,stackA,stackB){if(value===other){return true}if(value==null||other==null||!isObject(value)&&!isObjectLike(other)){return value!==value&&other!==other}return baseIsEqualDeep(value,other,baseIsEqual,customizer,isLoose,stackA,stackB)}
+/**
+ * A specialized version of `baseIsEqual` for arrays and objects which performs
+ * deep comparisons and tracks traversed objects enabling objects with circular
+ * references to be compared.
+ *
+ * @private
+ * @param {Object} object The object to compare.
+ * @param {Object} other The other object to compare.
+ * @param {Function} equalFunc The function to determine equivalents of values.
+ * @param {Function} [customizer] The function to customize comparing objects.
+ * @param {boolean} [isLoose] Specify performing partial comparisons.
+ * @param {Array} [stackA=[]] Tracks traversed `value` objects.
+ * @param {Array} [stackB=[]] Tracks traversed `other` objects.
+ * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
+ */function baseIsEqualDeep(object,other,equalFunc,customizer,isLoose,stackA,stackB){var objIsArr=isArray(object),othIsArr=isArray(other),objTag=arrayTag,othTag=arrayTag;if(!objIsArr){objTag=objToString.call(object);if(objTag==argsTag){objTag=objectTag}else if(objTag!=objectTag){objIsArr=isTypedArray(object)}}if(!othIsArr){othTag=objToString.call(other);if(othTag==argsTag){othTag=objectTag}else if(othTag!=objectTag){othIsArr=isTypedArray(other)}}var objIsObj=objTag==objectTag,othIsObj=othTag==objectTag,isSameTag=objTag==othTag;if(isSameTag&&!(objIsArr||objIsObj)){return equalByTag(object,other,objTag)}if(!isLoose){var objIsWrapped=objIsObj&&hasOwnProperty.call(object,"__wrapped__"),othIsWrapped=othIsObj&&hasOwnProperty.call(other,"__wrapped__");if(objIsWrapped||othIsWrapped){return equalFunc(objIsWrapped?object.value():object,othIsWrapped?other.value():other,customizer,isLoose,stackA,stackB)}}if(!isSameTag){return false}
+// Assume cyclic values are equal.
+// For more information on detecting circular references see https://es5.github.io/#JO.
+stackA||(stackA=[]);stackB||(stackB=[]);var length=stackA.length;while(length--){if(stackA[length]==object){return stackB[length]==other}}
+// Add `object` and `other` to the stack of traversed objects.
+stackA.push(object);stackB.push(other);var result=(objIsArr?equalArrays:equalObjects)(object,other,equalFunc,customizer,isLoose,stackA,stackB);stackA.pop();stackB.pop();return result}
+/**
+ * The base implementation of `_.isMatch` without support for callback
+ * shorthands and `this` binding.
+ *
+ * @private
+ * @param {Object} object The object to inspect.
+ * @param {Array} matchData The propery names, values, and compare flags to match.
+ * @param {Function} [customizer] The function to customize comparing objects.
+ * @returns {boolean} Returns `true` if `object` is a match, else `false`.
+ */function baseIsMatch(object,matchData,customizer){var index=matchData.length,length=index,noCustomizer=!customizer;if(object==null){return!length}object=toObject(object);while(index--){var data=matchData[index];if(noCustomizer&&data[2]?data[1]!==object[data[0]]:!(data[0]in object)){return false}}while(++index<length){data=matchData[index];var key=data[0],objValue=object[key],srcValue=data[1];if(noCustomizer&&data[2]){if(objValue===undefined&&!(key in object)){return false}}else{var result=customizer?customizer(objValue,srcValue,key):undefined;if(!(result===undefined?baseIsEqual(srcValue,objValue,customizer,true):result)){return false}}}return true}
+/**
+ * The base implementation of `_.map` without support for callback shorthands
+ * and `this` binding.
+ *
+ * @private
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @returns {Array} Returns the new mapped array.
+ */function baseMap(collection,iteratee){var index=-1,result=isArrayLike(collection)?Array(collection.length):[];baseEach(collection,function(value,key,collection){result[++index]=iteratee(value,key,collection)});return result}
+/**
+ * The base implementation of `_.matches` which does not clone `source`.
+ *
+ * @private
+ * @param {Object} source The object of property values to match.
+ * @returns {Function} Returns the new function.
+ */function baseMatches(source){var matchData=getMatchData(source);if(matchData.length==1&&matchData[0][2]){var key=matchData[0][0],value=matchData[0][1];return function(object){if(object==null){return false}return object[key]===value&&(value!==undefined||key in toObject(object))}}return function(object){return baseIsMatch(object,matchData)}}
+/**
+ * The base implementation of `_.matchesProperty` which does not clone `srcValue`.
+ *
+ * @private
+ * @param {string} path The path of the property to get.
+ * @param {*} srcValue The value to compare.
+ * @returns {Function} Returns the new function.
+ */function baseMatchesProperty(path,srcValue){var isArr=isArray(path),isCommon=isKey(path)&&isStrictComparable(srcValue),pathKey=path+"";path=toPath(path);return function(object){if(object==null){return false}var key=pathKey;object=toObject(object);if((isArr||!isCommon)&&!(key in object)){object=path.length==1?object:baseGet(object,baseSlice(path,0,-1));if(object==null){return false}key=last(path);object=toObject(object)}return object[key]===srcValue?srcValue!==undefined||key in object:baseIsEqual(srcValue,object[key],undefined,true)}}
+/**
+ * The base implementation of `_.merge` without support for argument juggling,
+ * multiple sources, and `this` binding `customizer` functions.
+ *
+ * @private
+ * @param {Object} object The destination object.
+ * @param {Object} source The source object.
+ * @param {Function} [customizer] The function to customize merged values.
+ * @param {Array} [stackA=[]] Tracks traversed source objects.
+ * @param {Array} [stackB=[]] Associates values with source counterparts.
+ * @returns {Object} Returns `object`.
+ */function baseMerge(object,source,customizer,stackA,stackB){if(!isObject(object)){return object}var isSrcArr=isArrayLike(source)&&(isArray(source)||isTypedArray(source)),props=isSrcArr?undefined:keys(source);arrayEach(props||source,function(srcValue,key){if(props){key=srcValue;srcValue=source[key]}if(isObjectLike(srcValue)){stackA||(stackA=[]);stackB||(stackB=[]);baseMergeDeep(object,source,key,baseMerge,customizer,stackA,stackB)}else{var value=object[key],result=customizer?customizer(value,srcValue,key,object,source):undefined,isCommon=result===undefined;if(isCommon){result=srcValue}if((result!==undefined||isSrcArr&&!(key in object))&&(isCommon||(result===result?result!==value:value===value))){object[key]=result}}});return object}
+/**
+ * A specialized version of `baseMerge` for arrays and objects which performs
+ * deep merges and tracks traversed objects enabling objects with circular
+ * references to be merged.
+ *
+ * @private
+ * @param {Object} object The destination object.
+ * @param {Object} source The source object.
+ * @param {string} key The key of the value to merge.
+ * @param {Function} mergeFunc The function to merge values.
+ * @param {Function} [customizer] The function to customize merged values.
+ * @param {Array} [stackA=[]] Tracks traversed source objects.
+ * @param {Array} [stackB=[]] Associates values with source counterparts.
+ * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
+ */function baseMergeDeep(object,source,key,mergeFunc,customizer,stackA,stackB){var length=stackA.length,srcValue=source[key];while(length--){if(stackA[length]==srcValue){object[key]=stackB[length];return}}var value=object[key],result=customizer?customizer(value,srcValue,key,object,source):undefined,isCommon=result===undefined;if(isCommon){result=srcValue;if(isArrayLike(srcValue)&&(isArray(srcValue)||isTypedArray(srcValue))){result=isArray(value)?value:isArrayLike(value)?arrayCopy(value):[]}else if(isPlainObject(srcValue)||isArguments(srcValue)){result=isArguments(value)?toPlainObject(value):isPlainObject(value)?value:{}}else{isCommon=false}}
+// Add the source value to the stack of traversed objects and associate
+// it with its merged value.
+stackA.push(srcValue);stackB.push(result);if(isCommon){
+// Recursively merge objects and arrays (susceptible to call stack limits).
+object[key]=mergeFunc(result,srcValue,customizer,stackA,stackB)}else if(result===result?result!==value:value===value){object[key]=result}}
+/**
+ * The base implementation of `_.property` without support for deep paths.
+ *
+ * @private
+ * @param {string} key The key of the property to get.
+ * @returns {Function} Returns the new function.
+ */function baseProperty(key){return function(object){return object==null?undefined:object[key]}}
+/**
+ * A specialized version of `baseProperty` which supports deep paths.
+ *
+ * @private
+ * @param {Array|string} path The path of the property to get.
+ * @returns {Function} Returns the new function.
+ */function basePropertyDeep(path){var pathKey=path+"";path=toPath(path);return function(object){return baseGet(object,path,pathKey)}}
+/**
+ * The base implementation of `_.pullAt` without support for individual
+ * index arguments and capturing the removed elements.
+ *
+ * @private
+ * @param {Array} array The array to modify.
+ * @param {number[]} indexes The indexes of elements to remove.
+ * @returns {Array} Returns `array`.
+ */function basePullAt(array,indexes){var length=array?indexes.length:0;while(length--){var index=indexes[length];if(index!=previous&&isIndex(index)){var previous=index;splice.call(array,index,1)}}return array}
+/**
+ * The base implementation of `_.random` without support for argument juggling
+ * and returning floating-point numbers.
+ *
+ * @private
+ * @param {number} min The minimum possible value.
+ * @param {number} max The maximum possible value.
+ * @returns {number} Returns the random number.
+ */function baseRandom(min,max){return min+nativeFloor(nativeRandom()*(max-min+1))}
+/**
+ * The base implementation of `_.reduce` and `_.reduceRight` without support
+ * for callback shorthands and `this` binding, which iterates over `collection`
+ * using the provided `eachFunc`.
+ *
+ * @private
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @param {*} accumulator The initial value.
+ * @param {boolean} initFromCollection Specify using the first or last element
+ * of `collection` as the initial value.
+ * @param {Function} eachFunc The function to iterate over `collection`.
+ * @returns {*} Returns the accumulated value.
+ */function baseReduce(collection,iteratee,accumulator,initFromCollection,eachFunc){eachFunc(collection,function(value,index,collection){accumulator=initFromCollection?(initFromCollection=false,value):iteratee(accumulator,value,index,collection)});return accumulator}
+/**
+ * The base implementation of `setData` without support for hot loop detection.
+ *
+ * @private
+ * @param {Function} func The function to associate metadata with.
+ * @param {*} data The metadata.
+ * @returns {Function} Returns `func`.
+ */var baseSetData=!metaMap?identity:function(func,data){metaMap.set(func,data);return func};
+/**
+ * The base implementation of `_.slice` without an iteratee call guard.
+ *
+ * @private
+ * @param {Array} array The array to slice.
+ * @param {number} [start=0] The start position.
+ * @param {number} [end=array.length] The end position.
+ * @returns {Array} Returns the slice of `array`.
+ */function baseSlice(array,start,end){var index=-1,length=array.length;start=start==null?0:+start||0;if(start<0){start=-start>length?0:length+start}end=end===undefined||end>length?length:+end||0;if(end<0){end+=length}length=start>end?0:end-start>>>0;start>>>=0;var result=Array(length);while(++index<length){result[index]=array[index+start]}return result}
+/**
+ * The base implementation of `_.some` without support for callback shorthands
+ * and `this` binding.
+ *
+ * @private
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function} predicate The function invoked per iteration.
+ * @returns {boolean} Returns `true` if any element passes the predicate check,
+ * else `false`.
+ */function baseSome(collection,predicate){var result;baseEach(collection,function(value,index,collection){result=predicate(value,index,collection);return!result});return!!result}
+/**
+ * The base implementation of `_.sortBy` which uses `comparer` to define
+ * the sort order of `array` and replaces criteria objects with their
+ * corresponding values.
+ *
+ * @private
+ * @param {Array} array The array to sort.
+ * @param {Function} comparer The function to define sort order.
+ * @returns {Array} Returns `array`.
+ */function baseSortBy(array,comparer){var length=array.length;array.sort(comparer);while(length--){array[length]=array[length].value}return array}
+/**
+ * The base implementation of `_.sortByOrder` without param guards.
+ *
+ * @private
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.
+ * @param {boolean[]} orders The sort orders of `iteratees`.
+ * @returns {Array} Returns the new sorted array.
+ */function baseSortByOrder(collection,iteratees,orders){var callback=getCallback(),index=-1;iteratees=arrayMap(iteratees,function(iteratee){return callback(iteratee)});var result=baseMap(collection,function(value){var criteria=arrayMap(iteratees,function(iteratee){return iteratee(value)});return{criteria:criteria,index:++index,value:value}});return baseSortBy(result,function(object,other){return compareMultiple(object,other,orders)})}
+/**
+ * The base implementation of `_.sum` without support for callback shorthands
+ * and `this` binding.
+ *
+ * @private
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @returns {number} Returns the sum.
+ */function baseSum(collection,iteratee){var result=0;baseEach(collection,function(value,index,collection){result+=+iteratee(value,index,collection)||0});return result}
+/**
+ * The base implementation of `_.uniq` without support for callback shorthands
+ * and `this` binding.
+ *
+ * @private
+ * @param {Array} array The array to inspect.
+ * @param {Function} [iteratee] The function invoked per iteration.
+ * @returns {Array} Returns the new duplicate-value-free array.
+ */function baseUniq(array,iteratee){var index=-1,indexOf=getIndexOf(),length=array.length,isCommon=indexOf==baseIndexOf,isLarge=isCommon&&length>=LARGE_ARRAY_SIZE,seen=isLarge?createCache():null,result=[];if(seen){indexOf=cacheIndexOf;isCommon=false}else{isLarge=false;seen=iteratee?[]:result}outer:while(++index<length){var value=array[index],computed=iteratee?iteratee(value,index,array):value;if(isCommon&&value===value){var seenIndex=seen.length;while(seenIndex--){if(seen[seenIndex]===computed){continue outer}}if(iteratee){seen.push(computed)}result.push(value)}else if(indexOf(seen,computed,0)<0){if(iteratee||isLarge){seen.push(computed)}result.push(value)}}return result}
+/**
+ * The base implementation of `_.values` and `_.valuesIn` which creates an
+ * array of `object` property values corresponding to the property names
+ * of `props`.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @param {Array} props The property names to get values for.
+ * @returns {Object} Returns the array of property values.
+ */function baseValues(object,props){var index=-1,length=props.length,result=Array(length);while(++index<length){result[index]=object[props[index]]}return result}
+/**
+ * The base implementation of `_.dropRightWhile`, `_.dropWhile`, `_.takeRightWhile`,
+ * and `_.takeWhile` without support for callback shorthands and `this` binding.
+ *
+ * @private
+ * @param {Array} array The array to query.
+ * @param {Function} predicate The function invoked per iteration.
+ * @param {boolean} [isDrop] Specify dropping elements instead of taking them.
+ * @param {boolean} [fromRight] Specify iterating from right to left.
+ * @returns {Array} Returns the slice of `array`.
+ */function baseWhile(array,predicate,isDrop,fromRight){var length=array.length,index=fromRight?length:-1;while((fromRight?index--:++index<length)&&predicate(array[index],index,array)){}return isDrop?baseSlice(array,fromRight?0:index,fromRight?index+1:length):baseSlice(array,fromRight?index+1:0,fromRight?length:index)}
+/**
+ * The base implementation of `wrapperValue` which returns the result of
+ * performing a sequence of actions on the unwrapped `value`, where each
+ * successive action is supplied the return value of the previous.
+ *
+ * @private
+ * @param {*} value The unwrapped value.
+ * @param {Array} actions Actions to peform to resolve the unwrapped value.
+ * @returns {*} Returns the resolved value.
+ */function baseWrapperValue(value,actions){var result=value;if(result instanceof LazyWrapper){result=result.value()}var index=-1,length=actions.length;while(++index<length){var action=actions[index];result=action.func.apply(action.thisArg,arrayPush([result],action.args))}return result}
+/**
+ * Performs a binary search of `array` to determine the index at which `value`
+ * should be inserted into `array` in order to maintain its sort order.
+ *
+ * @private
+ * @param {Array} array The sorted array to inspect.
+ * @param {*} value The value to evaluate.
+ * @param {boolean} [retHighest] Specify returning the highest qualified index.
+ * @returns {number} Returns the index at which `value` should be inserted
+ * into `array`.
+ */function binaryIndex(array,value,retHighest){var low=0,high=array?array.length:low;if(typeof value=="number"&&value===value&&high<=HALF_MAX_ARRAY_LENGTH){while(low<high){var mid=low+high>>>1,computed=array[mid];if((retHighest?computed<=value:computed<value)&&computed!==null){low=mid+1}else{high=mid}}return high}return binaryIndexBy(array,value,identity,retHighest)}
+/**
+ * This function is like `binaryIndex` except that it invokes `iteratee` for
+ * `value` and each element of `array` to compute their sort ranking. The
+ * iteratee is invoked with one argument; (value).
+ *
+ * @private
+ * @param {Array} array The sorted array to inspect.
+ * @param {*} value The value to evaluate.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @param {boolean} [retHighest] Specify returning the highest qualified index.
+ * @returns {number} Returns the index at which `value` should be inserted
+ * into `array`.
+ */function binaryIndexBy(array,value,iteratee,retHighest){value=iteratee(value);var low=0,high=array?array.length:0,valIsNaN=value!==value,valIsNull=value===null,valIsUndef=value===undefined;while(low<high){var mid=nativeFloor((low+high)/2),computed=iteratee(array[mid]),isDef=computed!==undefined,isReflexive=computed===computed;if(valIsNaN){var setLow=isReflexive||retHighest}else if(valIsNull){setLow=isReflexive&&isDef&&(retHighest||computed!=null)}else if(valIsUndef){setLow=isReflexive&&(retHighest||isDef)}else if(computed==null){setLow=false}else{setLow=retHighest?computed<=value:computed<value}if(setLow){low=mid+1}else{high=mid}}return nativeMin(high,MAX_ARRAY_INDEX)}
+/**
+ * A specialized version of `baseCallback` which only supports `this` binding
+ * and specifying the number of arguments to provide to `func`.
+ *
+ * @private
+ * @param {Function} func The function to bind.
+ * @param {*} thisArg The `this` binding of `func`.
+ * @param {number} [argCount] The number of arguments to provide to `func`.
+ * @returns {Function} Returns the callback.
+ */function bindCallback(func,thisArg,argCount){if(typeof func!="function"){return identity}if(thisArg===undefined){return func}switch(argCount){case 1:return function(value){return func.call(thisArg,value)};case 3:return function(value,index,collection){return func.call(thisArg,value,index,collection)};case 4:return function(accumulator,value,index,collection){return func.call(thisArg,accumulator,value,index,collection)};case 5:return function(value,other,key,object,source){return func.call(thisArg,value,other,key,object,source)}}return function(){return func.apply(thisArg,arguments)}}
+/**
+ * Creates a clone of the given array buffer.
+ *
+ * @private
+ * @param {ArrayBuffer} buffer The array buffer to clone.
+ * @returns {ArrayBuffer} Returns the cloned array buffer.
+ */function bufferClone(buffer){var result=new ArrayBuffer(buffer.byteLength),view=new Uint8Array(result);view.set(new Uint8Array(buffer));return result}
+/**
+ * Creates an array that is the composition of partially applied arguments,
+ * placeholders, and provided arguments into a single array of arguments.
+ *
+ * @private
+ * @param {Array|Object} args The provided arguments.
+ * @param {Array} partials The arguments to prepend to those provided.
+ * @param {Array} holders The `partials` placeholder indexes.
+ * @returns {Array} Returns the new array of composed arguments.
+ */function composeArgs(args,partials,holders){var holdersLength=holders.length,argsIndex=-1,argsLength=nativeMax(args.length-holdersLength,0),leftIndex=-1,leftLength=partials.length,result=Array(leftLength+argsLength);while(++leftIndex<leftLength){result[leftIndex]=partials[leftIndex]}while(++argsIndex<holdersLength){result[holders[argsIndex]]=args[argsIndex]}while(argsLength--){result[leftIndex++]=args[argsIndex++]}return result}
+/**
+ * This function is like `composeArgs` except that the arguments composition
+ * is tailored for `_.partialRight`.
+ *
+ * @private
+ * @param {Array|Object} args The provided arguments.
+ * @param {Array} partials The arguments to append to those provided.
+ * @param {Array} holders The `partials` placeholder indexes.
+ * @returns {Array} Returns the new array of composed arguments.
+ */function composeArgsRight(args,partials,holders){var holdersIndex=-1,holdersLength=holders.length,argsIndex=-1,argsLength=nativeMax(args.length-holdersLength,0),rightIndex=-1,rightLength=partials.length,result=Array(argsLength+rightLength);while(++argsIndex<argsLength){result[argsIndex]=args[argsIndex]}var offset=argsIndex;while(++rightIndex<rightLength){result[offset+rightIndex]=partials[rightIndex]}while(++holdersIndex<holdersLength){result[offset+holders[holdersIndex]]=args[argsIndex++]}return result}
+/**
+ * Creates a `_.countBy`, `_.groupBy`, `_.indexBy`, or `_.partition` function.
+ *
+ * @private
+ * @param {Function} setter The function to set keys and values of the accumulator object.
+ * @param {Function} [initializer] The function to initialize the accumulator object.
+ * @returns {Function} Returns the new aggregator function.
+ */function createAggregator(setter,initializer){return function(collection,iteratee,thisArg){var result=initializer?initializer():{};iteratee=getCallback(iteratee,thisArg,3);if(isArray(collection)){var index=-1,length=collection.length;while(++index<length){var value=collection[index];setter(result,value,iteratee(value,index,collection),collection)}}else{baseEach(collection,function(value,key,collection){setter(result,value,iteratee(value,key,collection),collection)})}return result}}
+/**
+ * Creates a `_.assign`, `_.defaults`, or `_.merge` function.
+ *
+ * @private
+ * @param {Function} assigner The function to assign values.
+ * @returns {Function} Returns the new assigner function.
+ */function createAssigner(assigner){return restParam(function(object,sources){var index=-1,length=object==null?0:sources.length,customizer=length>2?sources[length-2]:undefined,guard=length>2?sources[2]:undefined,thisArg=length>1?sources[length-1]:undefined;if(typeof customizer=="function"){customizer=bindCallback(customizer,thisArg,5);length-=2}else{customizer=typeof thisArg=="function"?thisArg:undefined;length-=customizer?1:0}if(guard&&isIterateeCall(sources[0],sources[1],guard)){customizer=length<3?undefined:customizer;length=1}while(++index<length){var source=sources[index];if(source){assigner(object,source,customizer)}}return object})}
+/**
+ * Creates a `baseEach` or `baseEachRight` function.
+ *
+ * @private
+ * @param {Function} eachFunc The function to iterate over a collection.
+ * @param {boolean} [fromRight] Specify iterating from right to left.
+ * @returns {Function} Returns the new base function.
+ */function createBaseEach(eachFunc,fromRight){return function(collection,iteratee){var length=collection?getLength(collection):0;if(!isLength(length)){return eachFunc(collection,iteratee)}var index=fromRight?length:-1,iterable=toObject(collection);while(fromRight?index--:++index<length){if(iteratee(iterable[index],index,iterable)===false){break}}return collection}}
+/**
+ * Creates a base function for `_.forIn` or `_.forInRight`.
+ *
+ * @private
+ * @param {boolean} [fromRight] Specify iterating from right to left.
+ * @returns {Function} Returns the new base function.
+ */function createBaseFor(fromRight){return function(object,iteratee,keysFunc){var iterable=toObject(object),props=keysFunc(object),length=props.length,index=fromRight?length:-1;while(fromRight?index--:++index<length){var key=props[index];if(iteratee(iterable[key],key,iterable)===false){break}}return object}}
+/**
+ * Creates a function that wraps `func` and invokes it with the `this`
+ * binding of `thisArg`.
+ *
+ * @private
+ * @param {Function} func The function to bind.
+ * @param {*} [thisArg] The `this` binding of `func`.
+ * @returns {Function} Returns the new bound function.
+ */function createBindWrapper(func,thisArg){var Ctor=createCtorWrapper(func);function wrapper(){var fn=this&&this!==root&&this instanceof wrapper?Ctor:func;return fn.apply(thisArg,arguments)}return wrapper}
+/**
+ * Creates a `Set` cache object to optimize linear searches of large arrays.
+ *
+ * @private
+ * @param {Array} [values] The values to cache.
+ * @returns {null|Object} Returns the new cache object if `Set` is supported, else `null`.
+ */function createCache(values){return nativeCreate&&Set?new SetCache(values):null}
+/**
+ * Creates a function that produces compound words out of the words in a
+ * given string.
+ *
+ * @private
+ * @param {Function} callback The function to combine each word.
+ * @returns {Function} Returns the new compounder function.
+ */function createCompounder(callback){return function(string){var index=-1,array=words(deburr(string)),length=array.length,result="";while(++index<length){result=callback(result,array[index],index)}return result}}
+/**
+ * Creates a function that produces an instance of `Ctor` regardless of
+ * whether it was invoked as part of a `new` expression or by `call` or `apply`.
+ *
+ * @private
+ * @param {Function} Ctor The constructor to wrap.
+ * @returns {Function} Returns the new wrapped function.
+ */function createCtorWrapper(Ctor){return function(){
+// Use a `switch` statement to work with class constructors.
+// See http://ecma-international.org/ecma-262/6.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist
+// for more details.
+var args=arguments;switch(args.length){case 0:return new Ctor;case 1:return new Ctor(args[0]);case 2:return new Ctor(args[0],args[1]);case 3:return new Ctor(args[0],args[1],args[2]);case 4:return new Ctor(args[0],args[1],args[2],args[3]);case 5:return new Ctor(args[0],args[1],args[2],args[3],args[4]);case 6:return new Ctor(args[0],args[1],args[2],args[3],args[4],args[5]);case 7:return new Ctor(args[0],args[1],args[2],args[3],args[4],args[5],args[6])}var thisBinding=baseCreate(Ctor.prototype),result=Ctor.apply(thisBinding,args);
+// Mimic the constructor's `return` behavior.
+// See https://es5.github.io/#x13.2.2 for more details.
+return isObject(result)?result:thisBinding}}
+/**
+ * Creates a `_.curry` or `_.curryRight` function.
+ *
+ * @private
+ * @param {boolean} flag The curry bit flag.
+ * @returns {Function} Returns the new curry function.
+ */function createCurry(flag){function curryFunc(func,arity,guard){if(guard&&isIterateeCall(func,arity,guard)){arity=undefined}var result=createWrapper(func,flag,undefined,undefined,undefined,undefined,undefined,arity);result.placeholder=curryFunc.placeholder;return result}return curryFunc}
+/**
+ * Creates a `_.defaults` or `_.defaultsDeep` function.
+ *
+ * @private
+ * @param {Function} assigner The function to assign values.
+ * @param {Function} customizer The function to customize assigned values.
+ * @returns {Function} Returns the new defaults function.
+ */function createDefaults(assigner,customizer){return restParam(function(args){var object=args[0];if(object==null){return object}args.push(customizer);return assigner.apply(undefined,args)})}
+/**
+ * Creates a `_.max` or `_.min` function.
+ *
+ * @private
+ * @param {Function} comparator The function used to compare values.
+ * @param {*} exValue The initial extremum value.
+ * @returns {Function} Returns the new extremum function.
+ */function createExtremum(comparator,exValue){return function(collection,iteratee,thisArg){if(thisArg&&isIterateeCall(collection,iteratee,thisArg)){iteratee=undefined}iteratee=getCallback(iteratee,thisArg,3);if(iteratee.length==1){collection=isArray(collection)?collection:toIterable(collection);var result=arrayExtremum(collection,iteratee,comparator,exValue);if(!(collection.length&&result===exValue)){return result}}return baseExtremum(collection,iteratee,comparator,exValue)}}
+/**
+ * Creates a `_.find` or `_.findLast` function.
+ *
+ * @private
+ * @param {Function} eachFunc The function to iterate over a collection.
+ * @param {boolean} [fromRight] Specify iterating from right to left.
+ * @returns {Function} Returns the new find function.
+ */function createFind(eachFunc,fromRight){return function(collection,predicate,thisArg){predicate=getCallback(predicate,thisArg,3);if(isArray(collection)){var index=baseFindIndex(collection,predicate,fromRight);return index>-1?collection[index]:undefined}return baseFind(collection,predicate,eachFunc)}}
+/**
+ * Creates a `_.findIndex` or `_.findLastIndex` function.
+ *
+ * @private
+ * @param {boolean} [fromRight] Specify iterating from right to left.
+ * @returns {Function} Returns the new find function.
+ */function createFindIndex(fromRight){return function(array,predicate,thisArg){if(!(array&&array.length)){return-1}predicate=getCallback(predicate,thisArg,3);return baseFindIndex(array,predicate,fromRight)}}
+/**
+ * Creates a `_.findKey` or `_.findLastKey` function.
+ *
+ * @private
+ * @param {Function} objectFunc The function to iterate over an object.
+ * @returns {Function} Returns the new find function.
+ */function createFindKey(objectFunc){return function(object,predicate,thisArg){predicate=getCallback(predicate,thisArg,3);return baseFind(object,predicate,objectFunc,true)}}
+/**
+ * Creates a `_.flow` or `_.flowRight` function.
+ *
+ * @private
+ * @param {boolean} [fromRight] Specify iterating from right to left.
+ * @returns {Function} Returns the new flow function.
+ */function createFlow(fromRight){return function(){var wrapper,length=arguments.length,index=fromRight?length:-1,leftIndex=0,funcs=Array(length);while(fromRight?index--:++index<length){var func=funcs[leftIndex++]=arguments[index];if(typeof func!="function"){throw new TypeError(FUNC_ERROR_TEXT)}if(!wrapper&&LodashWrapper.prototype.thru&&getFuncName(func)=="wrapper"){wrapper=new LodashWrapper([],true)}}index=wrapper?-1:length;while(++index<length){func=funcs[index];var funcName=getFuncName(func),data=funcName=="wrapper"?getData(func):undefined;if(data&&isLaziable(data[0])&&data[1]==(ARY_FLAG|CURRY_FLAG|PARTIAL_FLAG|REARG_FLAG)&&!data[4].length&&data[9]==1){wrapper=wrapper[getFuncName(data[0])].apply(wrapper,data[3])}else{wrapper=func.length==1&&isLaziable(func)?wrapper[funcName]():wrapper.thru(func)}}return function(){var args=arguments,value=args[0];if(wrapper&&args.length==1&&isArray(value)&&value.length>=LARGE_ARRAY_SIZE){return wrapper.plant(value).value()}var index=0,result=length?funcs[index].apply(this,args):value;while(++index<length){result=funcs[index].call(this,result)}return result}}}
+/**
+ * Creates a function for `_.forEach` or `_.forEachRight`.
+ *
+ * @private
+ * @param {Function} arrayFunc The function to iterate over an array.
+ * @param {Function} eachFunc The function to iterate over a collection.
+ * @returns {Function} Returns the new each function.
+ */function createForEach(arrayFunc,eachFunc){return function(collection,iteratee,thisArg){return typeof iteratee=="function"&&thisArg===undefined&&isArray(collection)?arrayFunc(collection,iteratee):eachFunc(collection,bindCallback(iteratee,thisArg,3))}}
+/**
+ * Creates a function for `_.forIn` or `_.forInRight`.
+ *
+ * @private
+ * @param {Function} objectFunc The function to iterate over an object.
+ * @returns {Function} Returns the new each function.
+ */function createForIn(objectFunc){return function(object,iteratee,thisArg){if(typeof iteratee!="function"||thisArg!==undefined){iteratee=bindCallback(iteratee,thisArg,3)}return objectFunc(object,iteratee,keysIn)}}
+/**
+ * Creates a function for `_.forOwn` or `_.forOwnRight`.
+ *
+ * @private
+ * @param {Function} objectFunc The function to iterate over an object.
+ * @returns {Function} Returns the new each function.
+ */function createForOwn(objectFunc){return function(object,iteratee,thisArg){if(typeof iteratee!="function"||thisArg!==undefined){iteratee=bindCallback(iteratee,thisArg,3)}return objectFunc(object,iteratee)}}
+/**
+ * Creates a function for `_.mapKeys` or `_.mapValues`.
+ *
+ * @private
+ * @param {boolean} [isMapKeys] Specify mapping keys instead of values.
+ * @returns {Function} Returns the new map function.
+ */function createObjectMapper(isMapKeys){return function(object,iteratee,thisArg){var result={};iteratee=getCallback(iteratee,thisArg,3);baseForOwn(object,function(value,key,object){var mapped=iteratee(value,key,object);key=isMapKeys?mapped:key;value=isMapKeys?value:mapped;result[key]=value});return result}}
+/**
+ * Creates a function for `_.padLeft` or `_.padRight`.
+ *
+ * @private
+ * @param {boolean} [fromRight] Specify padding from the right.
+ * @returns {Function} Returns the new pad function.
+ */function createPadDir(fromRight){return function(string,length,chars){string=baseToString(string);return(fromRight?string:"")+createPadding(string,length,chars)+(fromRight?"":string)}}
+/**
+ * Creates a `_.partial` or `_.partialRight` function.
+ *
+ * @private
+ * @param {boolean} flag The partial bit flag.
+ * @returns {Function} Returns the new partial function.
+ */function createPartial(flag){var partialFunc=restParam(function(func,partials){var holders=replaceHolders(partials,partialFunc.placeholder);return createWrapper(func,flag,undefined,partials,holders)});return partialFunc}
+/**
+ * Creates a function for `_.reduce` or `_.reduceRight`.
+ *
+ * @private
+ * @param {Function} arrayFunc The function to iterate over an array.
+ * @param {Function} eachFunc The function to iterate over a collection.
+ * @returns {Function} Returns the new each function.
+ */function createReduce(arrayFunc,eachFunc){return function(collection,iteratee,accumulator,thisArg){var initFromArray=arguments.length<3;return typeof iteratee=="function"&&thisArg===undefined&&isArray(collection)?arrayFunc(collection,iteratee,accumulator,initFromArray):baseReduce(collection,getCallback(iteratee,thisArg,4),accumulator,initFromArray,eachFunc)}}
+/**
+ * Creates a function that wraps `func` and invokes it with optional `this`
+ * binding of, partial application, and currying.
+ *
+ * @private
+ * @param {Function|string} func The function or method name to reference.
+ * @param {number} bitmask The bitmask of flags. See `createWrapper` for more details.
+ * @param {*} [thisArg] The `this` binding of `func`.
+ * @param {Array} [partials] The arguments to prepend to those provided to the new function.
+ * @param {Array} [holders] The `partials` placeholder indexes.
+ * @param {Array} [partialsRight] The arguments to append to those provided to the new function.
+ * @param {Array} [holdersRight] The `partialsRight` placeholder indexes.
+ * @param {Array} [argPos] The argument positions of the new function.
+ * @param {number} [ary] The arity cap of `func`.
+ * @param {number} [arity] The arity of `func`.
+ * @returns {Function} Returns the new wrapped function.
+ */function createHybridWrapper(func,bitmask,thisArg,partials,holders,partialsRight,holdersRight,argPos,ary,arity){var isAry=bitmask&ARY_FLAG,isBind=bitmask&BIND_FLAG,isBindKey=bitmask&BIND_KEY_FLAG,isCurry=bitmask&CURRY_FLAG,isCurryBound=bitmask&CURRY_BOUND_FLAG,isCurryRight=bitmask&CURRY_RIGHT_FLAG,Ctor=isBindKey?undefined:createCtorWrapper(func);function wrapper(){
+// Avoid `arguments` object use disqualifying optimizations by
+// converting it to an array before providing it to other functions.
+var length=arguments.length,index=length,args=Array(length);while(index--){args[index]=arguments[index]}if(partials){args=composeArgs(args,partials,holders)}if(partialsRight){args=composeArgsRight(args,partialsRight,holdersRight)}if(isCurry||isCurryRight){var placeholder=wrapper.placeholder,argsHolders=replaceHolders(args,placeholder);length-=argsHolders.length;if(length<arity){var newArgPos=argPos?arrayCopy(argPos):undefined,newArity=nativeMax(arity-length,0),newsHolders=isCurry?argsHolders:undefined,newHoldersRight=isCurry?undefined:argsHolders,newPartials=isCurry?args:undefined,newPartialsRight=isCurry?undefined:args;bitmask|=isCurry?PARTIAL_FLAG:PARTIAL_RIGHT_FLAG;bitmask&=~(isCurry?PARTIAL_RIGHT_FLAG:PARTIAL_FLAG);if(!isCurryBound){bitmask&=~(BIND_FLAG|BIND_KEY_FLAG)}var newData=[func,bitmask,thisArg,newPartials,newsHolders,newPartialsRight,newHoldersRight,newArgPos,ary,newArity],result=createHybridWrapper.apply(undefined,newData);if(isLaziable(func)){setData(result,newData)}result.placeholder=placeholder;return result}}var thisBinding=isBind?thisArg:this,fn=isBindKey?thisBinding[func]:func;if(argPos){args=reorder(args,argPos)}if(isAry&&ary<args.length){args.length=ary}if(this&&this!==root&&this instanceof wrapper){fn=Ctor||createCtorWrapper(func)}return fn.apply(thisBinding,args)}return wrapper}
+/**
+ * Creates the padding required for `string` based on the given `length`.
+ * The `chars` string is truncated if the number of characters exceeds `length`.
+ *
+ * @private
+ * @param {string} string The string to create padding for.
+ * @param {number} [length=0] The padding length.
+ * @param {string} [chars=' '] The string used as padding.
+ * @returns {string} Returns the pad for `string`.
+ */function createPadding(string,length,chars){var strLength=string.length;length=+length;if(strLength>=length||!nativeIsFinite(length)){return""}var padLength=length-strLength;chars=chars==null?" ":chars+"";return repeat(chars,nativeCeil(padLength/chars.length)).slice(0,padLength)}
+/**
+ * Creates a function that wraps `func` and invokes it with the optional `this`
+ * binding of `thisArg` and the `partials` prepended to those provided to
+ * the wrapper.
+ *
+ * @private
+ * @param {Function} func The function to partially apply arguments to.
+ * @param {number} bitmask The bitmask of flags. See `createWrapper` for more details.
+ * @param {*} thisArg The `this` binding of `func`.
+ * @param {Array} partials The arguments to prepend to those provided to the new function.
+ * @returns {Function} Returns the new bound function.
+ */function createPartialWrapper(func,bitmask,thisArg,partials){var isBind=bitmask&BIND_FLAG,Ctor=createCtorWrapper(func);function wrapper(){
+// Avoid `arguments` object use disqualifying optimizations by
+// converting it to an array before providing it `func`.
+var argsIndex=-1,argsLength=arguments.length,leftIndex=-1,leftLength=partials.length,args=Array(leftLength+argsLength);while(++leftIndex<leftLength){args[leftIndex]=partials[leftIndex]}while(argsLength--){args[leftIndex++]=arguments[++argsIndex]}var fn=this&&this!==root&&this instanceof wrapper?Ctor:func;return fn.apply(isBind?thisArg:this,args)}return wrapper}
+/**
+ * Creates a `_.ceil`, `_.floor`, or `_.round` function.
+ *
+ * @private
+ * @param {string} methodName The name of the `Math` method to use when rounding.
+ * @returns {Function} Returns the new round function.
+ */function createRound(methodName){var func=Math[methodName];return function(number,precision){precision=precision===undefined?0:+precision||0;if(precision){precision=pow(10,precision);return func(number*precision)/precision}return func(number)}}
+/**
+ * Creates a `_.sortedIndex` or `_.sortedLastIndex` function.
+ *
+ * @private
+ * @param {boolean} [retHighest] Specify returning the highest qualified index.
+ * @returns {Function} Returns the new index function.
+ */function createSortedIndex(retHighest){return function(array,value,iteratee,thisArg){var callback=getCallback(iteratee);return iteratee==null&&callback===baseCallback?binaryIndex(array,value,retHighest):binaryIndexBy(array,value,callback(iteratee,thisArg,1),retHighest)}}
+/**
+ * Creates a function that either curries or invokes `func` with optional
+ * `this` binding and partially applied arguments.
+ *
+ * @private
+ * @param {Function|string} func The function or method name to reference.
+ * @param {number} bitmask The bitmask of flags.
+ * The bitmask may be composed of the following flags:
+ * 1 - `_.bind`
+ * 2 - `_.bindKey`
+ * 4 - `_.curry` or `_.curryRight` of a bound function
+ * 8 - `_.curry`
+ * 16 - `_.curryRight`
+ * 32 - `_.partial`
+ * 64 - `_.partialRight`
+ * 128 - `_.rearg`
+ * 256 - `_.ary`
+ * @param {*} [thisArg] The `this` binding of `func`.
+ * @param {Array} [partials] The arguments to be partially applied.
+ * @param {Array} [holders] The `partials` placeholder indexes.
+ * @param {Array} [argPos] The argument positions of the new function.
+ * @param {number} [ary] The arity cap of `func`.
+ * @param {number} [arity] The arity of `func`.
+ * @returns {Function} Returns the new wrapped function.
+ */function createWrapper(func,bitmask,thisArg,partials,holders,argPos,ary,arity){var isBindKey=bitmask&BIND_KEY_FLAG;if(!isBindKey&&typeof func!="function"){throw new TypeError(FUNC_ERROR_TEXT)}var length=partials?partials.length:0;if(!length){bitmask&=~(PARTIAL_FLAG|PARTIAL_RIGHT_FLAG);partials=holders=undefined}length-=holders?holders.length:0;if(bitmask&PARTIAL_RIGHT_FLAG){var partialsRight=partials,holdersRight=holders;partials=holders=undefined}var data=isBindKey?undefined:getData(func),newData=[func,bitmask,thisArg,partials,holders,partialsRight,holdersRight,argPos,ary,arity];if(data){mergeData(newData,data);bitmask=newData[1];arity=newData[9]}newData[9]=arity==null?isBindKey?0:func.length:nativeMax(arity-length,0)||0;if(bitmask==BIND_FLAG){var result=createBindWrapper(newData[0],newData[2])}else if((bitmask==PARTIAL_FLAG||bitmask==(BIND_FLAG|PARTIAL_FLAG))&&!newData[4].length){result=createPartialWrapper.apply(undefined,newData)}else{result=createHybridWrapper.apply(undefined,newData)}var setter=data?baseSetData:setData;return setter(result,newData)}
+/**
+ * A specialized version of `baseIsEqualDeep` for arrays with support for
+ * partial deep comparisons.
+ *
+ * @private
+ * @param {Array} array The array to compare.
+ * @param {Array} other The other array to compare.
+ * @param {Function} equalFunc The function to determine equivalents of values.
+ * @param {Function} [customizer] The function to customize comparing arrays.
+ * @param {boolean} [isLoose] Specify performing partial comparisons.
+ * @param {Array} [stackA] Tracks traversed `value` objects.
+ * @param {Array} [stackB] Tracks traversed `other` objects.
+ * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.
+ */function equalArrays(array,other,equalFunc,customizer,isLoose,stackA,stackB){var index=-1,arrLength=array.length,othLength=other.length;if(arrLength!=othLength&&!(isLoose&&othLength>arrLength)){return false}
+// Ignore non-index properties.
+while(++index<arrLength){var arrValue=array[index],othValue=other[index],result=customizer?customizer(isLoose?othValue:arrValue,isLoose?arrValue:othValue,index):undefined;if(result!==undefined){if(result){continue}return false}
+// Recursively compare arrays (susceptible to call stack limits).
+if(isLoose){if(!arraySome(other,function(othValue){return arrValue===othValue||equalFunc(arrValue,othValue,customizer,isLoose,stackA,stackB)})){return false}}else if(!(arrValue===othValue||equalFunc(arrValue,othValue,customizer,isLoose,stackA,stackB))){return false}}return true}
+/**
+ * A specialized version of `baseIsEqualDeep` for comparing objects of
+ * the same `toStringTag`.
+ *
+ * **Note:** This function only supports comparing values with tags of
+ * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.
+ *
+ * @private
+ * @param {Object} object The object to compare.
+ * @param {Object} other The other object to compare.
+ * @param {string} tag The `toStringTag` of the objects to compare.
+ * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
+ */function equalByTag(object,other,tag){switch(tag){case boolTag:case dateTag:
+// Coerce dates and booleans to numbers, dates to milliseconds and booleans
+// to `1` or `0` treating invalid dates coerced to `NaN` as not equal.
+return+object==+other;case errorTag:return object.name==other.name&&object.message==other.message;case numberTag:
+// Treat `NaN` vs. `NaN` as equal.
+return object!=+object?other!=+other:object==+other;case regexpTag:case stringTag:
+// Coerce regexes to strings and treat strings primitives and string
+// objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.
+return object==other+""}return false}
+/**
+ * A specialized version of `baseIsEqualDeep` for objects with support for
+ * partial deep comparisons.
+ *
+ * @private
+ * @param {Object} object The object to compare.
+ * @param {Object} other The other object to compare.
+ * @param {Function} equalFunc The function to determine equivalents of values.
+ * @param {Function} [customizer] The function to customize comparing values.
+ * @param {boolean} [isLoose] Specify performing partial comparisons.
+ * @param {Array} [stackA] Tracks traversed `value` objects.
+ * @param {Array} [stackB] Tracks traversed `other` objects.
+ * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
+ */function equalObjects(object,other,equalFunc,customizer,isLoose,stackA,stackB){var objProps=keys(object),objLength=objProps.length,othProps=keys(other),othLength=othProps.length;if(objLength!=othLength&&!isLoose){return false}var index=objLength;while(index--){var key=objProps[index];if(!(isLoose?key in other:hasOwnProperty.call(other,key))){return false}}var skipCtor=isLoose;while(++index<objLength){key=objProps[index];var objValue=object[key],othValue=other[key],result=customizer?customizer(isLoose?othValue:objValue,isLoose?objValue:othValue,key):undefined;
+// Recursively compare objects (susceptible to call stack limits).
+if(!(result===undefined?equalFunc(objValue,othValue,customizer,isLoose,stackA,stackB):result)){return false}skipCtor||(skipCtor=key=="constructor")}if(!skipCtor){var objCtor=object.constructor,othCtor=other.constructor;
+// Non `Object` object instances with different constructors are not equal.
+if(objCtor!=othCtor&&("constructor"in object&&"constructor"in other)&&!(typeof objCtor=="function"&&objCtor instanceof objCtor&&typeof othCtor=="function"&&othCtor instanceof othCtor)){return false}}return true}
+/**
+ * Gets the appropriate "callback" function. If the `_.callback` method is
+ * customized this function returns the custom method, otherwise it returns
+ * the `baseCallback` function. If arguments are provided the chosen function
+ * is invoked with them and its result is returned.
+ *
+ * @private
+ * @returns {Function} Returns the chosen function or its result.
+ */function getCallback(func,thisArg,argCount){var result=lodash.callback||callback;result=result===callback?baseCallback:result;return argCount?result(func,thisArg,argCount):result}
+/**
+ * Gets metadata for `func`.
+ *
+ * @private
+ * @param {Function} func The function to query.
+ * @returns {*} Returns the metadata for `func`.
+ */var getData=!metaMap?noop:function(func){return metaMap.get(func)};
+/**
+ * Gets the name of `func`.
+ *
+ * @private
+ * @param {Function} func The function to query.
+ * @returns {string} Returns the function name.
+ */function getFuncName(func){var result=func.name,array=realNames[result],length=array?array.length:0;while(length--){var data=array[length],otherFunc=data.func;if(otherFunc==null||otherFunc==func){return data.name}}return result}
+/**
+ * Gets the appropriate "indexOf" function. If the `_.indexOf` method is
+ * customized this function returns the custom method, otherwise it returns
+ * the `baseIndexOf` function. If arguments are provided the chosen function
+ * is invoked with them and its result is returned.
+ *
+ * @private
+ * @returns {Function|number} Returns the chosen function or its result.
+ */function getIndexOf(collection,target,fromIndex){var result=lodash.indexOf||indexOf;result=result===indexOf?baseIndexOf:result;return collection?result(collection,target,fromIndex):result}
+/**
+ * Gets the "length" property value of `object`.
+ *
+ * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)
+ * that affects Safari on at least iOS 8.1-8.3 ARM64.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @returns {*} Returns the "length" value.
+ */var getLength=baseProperty("length");
+/**
+ * Gets the propery names, values, and compare flags of `object`.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @returns {Array} Returns the match data of `object`.
+ */function getMatchData(object){var result=pairs(object),length=result.length;while(length--){result[length][2]=isStrictComparable(result[length][1])}return result}
+/**
+ * Gets the native function at `key` of `object`.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @param {string} key The key of the method to get.
+ * @returns {*} Returns the function if it's native, else `undefined`.
+ */function getNative(object,key){var value=object==null?undefined:object[key];return isNative(value)?value:undefined}
+/**
+ * Gets the view, applying any `transforms` to the `start` and `end` positions.
+ *
+ * @private
+ * @param {number} start The start of the view.
+ * @param {number} end The end of the view.
+ * @param {Array} transforms The transformations to apply to the view.
+ * @returns {Object} Returns an object containing the `start` and `end`
+ * positions of the view.
+ */function getView(start,end,transforms){var index=-1,length=transforms.length;while(++index<length){var data=transforms[index],size=data.size;switch(data.type){case"drop":start+=size;break;case"dropRight":end-=size;break;case"take":end=nativeMin(end,start+size);break;case"takeRight":start=nativeMax(start,end-size);break}}return{start:start,end:end}}
+/**
+ * Initializes an array clone.
+ *
+ * @private
+ * @param {Array} array The array to clone.
+ * @returns {Array} Returns the initialized clone.
+ */function initCloneArray(array){var length=array.length,result=new array.constructor(length);
+// Add array properties assigned by `RegExp#exec`.
+if(length&&typeof array[0]=="string"&&hasOwnProperty.call(array,"index")){result.index=array.index;result.input=array.input}return result}
+/**
+ * Initializes an object clone.
+ *
+ * @private
+ * @param {Object} object The object to clone.
+ * @returns {Object} Returns the initialized clone.
+ */function initCloneObject(object){var Ctor=object.constructor;if(!(typeof Ctor=="function"&&Ctor instanceof Ctor)){Ctor=Object}return new Ctor}
+/**
+ * Initializes an object clone based on its `toStringTag`.
+ *
+ * **Note:** This function only supports cloning values with tags of
+ * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.
+ *
+ * @private
+ * @param {Object} object The object to clone.
+ * @param {string} tag The `toStringTag` of the object to clone.
+ * @param {boolean} [isDeep] Specify a deep clone.
+ * @returns {Object} Returns the initialized clone.
+ */function initCloneByTag(object,tag,isDeep){var Ctor=object.constructor;switch(tag){case arrayBufferTag:return bufferClone(object);case boolTag:case dateTag:return new Ctor(+object);case float32Tag:case float64Tag:case int8Tag:case int16Tag:case int32Tag:case uint8Tag:case uint8ClampedTag:case uint16Tag:case uint32Tag:var buffer=object.buffer;return new Ctor(isDeep?bufferClone(buffer):buffer,object.byteOffset,object.length);case numberTag:case stringTag:return new Ctor(object);case regexpTag:var result=new Ctor(object.source,reFlags.exec(object));result.lastIndex=object.lastIndex}return result}
+/**
+ * Invokes the method at `path` on `object`.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @param {Array|string} path The path of the method to invoke.
+ * @param {Array} args The arguments to invoke the method with.
+ * @returns {*} Returns the result of the invoked method.
+ */function invokePath(object,path,args){if(object!=null&&!isKey(path,object)){path=toPath(path);object=path.length==1?object:baseGet(object,baseSlice(path,0,-1));path=last(path)}var func=object==null?object:object[path];return func==null?undefined:func.apply(object,args)}
+/**
+ * Checks if `value` is array-like.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is array-like, else `false`.
+ */function isArrayLike(value){return value!=null&&isLength(getLength(value))}
+/**
+ * Checks if `value` is a valid array-like index.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.
+ * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
+ */function isIndex(value,length){value=typeof value=="number"||reIsUint.test(value)?+value:-1;length=length==null?MAX_SAFE_INTEGER:length;return value>-1&&value%1==0&&value<length}
+/**
+ * Checks if the provided arguments are from an iteratee call.
+ *
+ * @private
+ * @param {*} value The potential iteratee value argument.
+ * @param {*} index The potential iteratee index or key argument.
+ * @param {*} object The potential iteratee object argument.
+ * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.
+ */function isIterateeCall(value,index,object){if(!isObject(object)){return false}var type=typeof index;if(type=="number"?isArrayLike(object)&&isIndex(index,object.length):type=="string"&&index in object){var other=object[index];return value===value?value===other:other!==other}return false}
+/**
+ * Checks if `value` is a property name and not a property path.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @param {Object} [object] The object to query keys on.
+ * @returns {boolean} Returns `true` if `value` is a property name, else `false`.
+ */function isKey(value,object){var type=typeof value;if(type=="string"&&reIsPlainProp.test(value)||type=="number"){return true}if(isArray(value)){return false}var result=!reIsDeepProp.test(value);return result||object!=null&&value in toObject(object)}
+/**
+ * Checks if `func` has a lazy counterpart.
+ *
+ * @private
+ * @param {Function} func The function to check.
+ * @returns {boolean} Returns `true` if `func` has a lazy counterpart, else `false`.
+ */function isLaziable(func){var funcName=getFuncName(func);if(!(funcName in LazyWrapper.prototype)){return false}var other=lodash[funcName];if(func===other){return true}var data=getData(other);return!!data&&func===data[0]}
+/**
+ * Checks if `value` is a valid array-like length.
+ *
+ * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
+ */function isLength(value){return typeof value=="number"&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER}
+/**
+ * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` if suitable for strict
+ * equality comparisons, else `false`.
+ */function isStrictComparable(value){return value===value&&!isObject(value)}
+/**
+ * Merges the function metadata of `source` into `data`.
+ *
+ * Merging metadata reduces the number of wrappers required to invoke a function.
+ * This is possible because methods like `_.bind`, `_.curry`, and `_.partial`
+ * may be applied regardless of execution order. Methods like `_.ary` and `_.rearg`
+ * augment function arguments, making the order in which they are executed important,
+ * preventing the merging of metadata. However, we make an exception for a safe
+ * common case where curried functions have `_.ary` and or `_.rearg` applied.
+ *
+ * @private
+ * @param {Array} data The destination metadata.
+ * @param {Array} source The source metadata.
+ * @returns {Array} Returns `data`.
+ */function mergeData(data,source){var bitmask=data[1],srcBitmask=source[1],newBitmask=bitmask|srcBitmask,isCommon=newBitmask<ARY_FLAG;var isCombo=srcBitmask==ARY_FLAG&&bitmask==CURRY_FLAG||srcBitmask==ARY_FLAG&&bitmask==REARG_FLAG&&data[7].length<=source[8]||srcBitmask==(ARY_FLAG|REARG_FLAG)&&bitmask==CURRY_FLAG;
+// Exit early if metadata can't be merged.
+if(!(isCommon||isCombo)){return data}
+// Use source `thisArg` if available.
+if(srcBitmask&BIND_FLAG){data[2]=source[2];
+// Set when currying a bound function.
+newBitmask|=bitmask&BIND_FLAG?0:CURRY_BOUND_FLAG}
+// Compose partial arguments.
+var value=source[3];if(value){var partials=data[3];data[3]=partials?composeArgs(partials,value,source[4]):arrayCopy(value);data[4]=partials?replaceHolders(data[3],PLACEHOLDER):arrayCopy(source[4])}
+// Compose partial right arguments.
+value=source[5];if(value){partials=data[5];data[5]=partials?composeArgsRight(partials,value,source[6]):arrayCopy(value);data[6]=partials?replaceHolders(data[5],PLACEHOLDER):arrayCopy(source[6])}
+// Use source `argPos` if available.
+value=source[7];if(value){data[7]=arrayCopy(value)}
+// Use source `ary` if it's smaller.
+if(srcBitmask&ARY_FLAG){data[8]=data[8]==null?source[8]:nativeMin(data[8],source[8])}
+// Use source `arity` if one is not provided.
+if(data[9]==null){data[9]=source[9]}
+// Use source `func` and merge bitmasks.
+data[0]=source[0];data[1]=newBitmask;return data}
+/**
+ * Used by `_.defaultsDeep` to customize its `_.merge` use.
+ *
+ * @private
+ * @param {*} objectValue The destination object property value.
+ * @param {*} sourceValue The source object property value.
+ * @returns {*} Returns the value to assign to the destination object.
+ */function mergeDefaults(objectValue,sourceValue){return objectValue===undefined?sourceValue:merge(objectValue,sourceValue,mergeDefaults)}
+/**
+ * A specialized version of `_.pick` which picks `object` properties specified
+ * by `props`.
+ *
+ * @private
+ * @param {Object} object The source object.
+ * @param {string[]} props The property names to pick.
+ * @returns {Object} Returns the new object.
+ */function pickByArray(object,props){object=toObject(object);var index=-1,length=props.length,result={};while(++index<length){var key=props[index];if(key in object){result[key]=object[key]}}return result}
+/**
+ * A specialized version of `_.pick` which picks `object` properties `predicate`
+ * returns truthy for.
+ *
+ * @private
+ * @param {Object} object The source object.
+ * @param {Function} predicate The function invoked per iteration.
+ * @returns {Object} Returns the new object.
+ */function pickByCallback(object,predicate){var result={};baseForIn(object,function(value,key,object){if(predicate(value,key,object)){result[key]=value}});return result}
+/**
+ * Reorder `array` according to the specified indexes where the element at
+ * the first index is assigned as the first element, the element at
+ * the second index is assigned as the second element, and so on.
+ *
+ * @private
+ * @param {Array} array The array to reorder.
+ * @param {Array} indexes The arranged array indexes.
+ * @returns {Array} Returns `array`.
+ */function reorder(array,indexes){var arrLength=array.length,length=nativeMin(indexes.length,arrLength),oldArray=arrayCopy(array);while(length--){var index=indexes[length];array[length]=isIndex(index,arrLength)?oldArray[index]:undefined}return array}
+/**
+ * Sets metadata for `func`.
+ *
+ * **Note:** If this function becomes hot, i.e. is invoked a lot in a short
+ * period of time, it will trip its breaker and transition to an identity function
+ * to avoid garbage collection pauses in V8. See [V8 issue 2070](https://code.google.com/p/v8/issues/detail?id=2070)
+ * for more details.
+ *
+ * @private
+ * @param {Function} func The function to associate metadata with.
+ * @param {*} data The metadata.
+ * @returns {Function} Returns `func`.
+ */var setData=function(){var count=0,lastCalled=0;return function(key,value){var stamp=now(),remaining=HOT_SPAN-(stamp-lastCalled);lastCalled=stamp;if(remaining>0){if(++count>=HOT_COUNT){return key}}else{count=0}return baseSetData(key,value)}}();
+/**
+ * A fallback implementation of `Object.keys` which creates an array of the
+ * own enumerable property names of `object`.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @returns {Array} Returns the array of property names.
+ */function shimKeys(object){var props=keysIn(object),propsLength=props.length,length=propsLength&&object.length;var allowIndexes=!!length&&isLength(length)&&(isArray(object)||isArguments(object));var index=-1,result=[];while(++index<propsLength){var key=props[index];if(allowIndexes&&isIndex(key,length)||hasOwnProperty.call(object,key)){result.push(key)}}return result}
+/**
+ * Converts `value` to an array-like object if it's not one.
+ *
+ * @private
+ * @param {*} value The value to process.
+ * @returns {Array|Object} Returns the array-like object.
+ */function toIterable(value){if(value==null){return[]}if(!isArrayLike(value)){return values(value)}return isObject(value)?value:Object(value)}
+/**
+ * Converts `value` to an object if it's not one.
+ *
+ * @private
+ * @param {*} value The value to process.
+ * @returns {Object} Returns the object.
+ */function toObject(value){return isObject(value)?value:Object(value)}
+/**
+ * Converts `value` to property path array if it's not one.
+ *
+ * @private
+ * @param {*} value The value to process.
+ * @returns {Array} Returns the property path array.
+ */function toPath(value){if(isArray(value)){return value}var result=[];baseToString(value).replace(rePropName,function(match,number,quote,string){result.push(quote?string.replace(reEscapeChar,"$1"):number||match)});return result}
+/**
+ * Creates a clone of `wrapper`.
+ *
+ * @private
+ * @param {Object} wrapper The wrapper to clone.
+ * @returns {Object} Returns the cloned wrapper.
+ */function wrapperClone(wrapper){return wrapper instanceof LazyWrapper?wrapper.clone():new LodashWrapper(wrapper.__wrapped__,wrapper.__chain__,arrayCopy(wrapper.__actions__))}
+/*------------------------------------------------------------------------*/
+/**
+ * Creates an array of elements split into groups the length of `size`.
+ * If `collection` can't be split evenly, the final chunk will be the remaining
+ * elements.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to process.
+ * @param {number} [size=1] The length of each chunk.
+ * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+ * @returns {Array} Returns the new array containing chunks.
+ * @example
+ *
+ * _.chunk(['a', 'b', 'c', 'd'], 2);
+ * // => [['a', 'b'], ['c', 'd']]
+ *
+ * _.chunk(['a', 'b', 'c', 'd'], 3);
+ * // => [['a', 'b', 'c'], ['d']]
+ */function chunk(array,size,guard){if(guard?isIterateeCall(array,size,guard):size==null){size=1}else{size=nativeMax(nativeFloor(size)||1,1)}var index=0,length=array?array.length:0,resIndex=-1,result=Array(nativeCeil(length/size));while(index<length){result[++resIndex]=baseSlice(array,index,index+=size)}return result}
+/**
+ * Creates an array with all falsey values removed. The values `false`, `null`,
+ * `0`, `""`, `undefined`, and `NaN` are falsey.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to compact.
+ * @returns {Array} Returns the new array of filtered values.
+ * @example
+ *
+ * _.compact([0, 1, false, 2, '', 3]);
+ * // => [1, 2, 3]
+ */function compact(array){var index=-1,length=array?array.length:0,resIndex=-1,result=[];while(++index<length){var value=array[index];if(value){result[++resIndex]=value}}return result}
+/**
+ * Creates an array of unique `array` values not included in the other
+ * provided arrays using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
+ * for equality comparisons.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to inspect.
+ * @param {...Array} [values] The arrays of values to exclude.
+ * @returns {Array} Returns the new array of filtered values.
+ * @example
+ *
+ * _.difference([1, 2, 3], [4, 2]);
+ * // => [1, 3]
+ */var difference=restParam(function(array,values){return isObjectLike(array)&&isArrayLike(array)?baseDifference(array,baseFlatten(values,false,true)):[]});
+/**
+ * Creates a slice of `array` with `n` elements dropped from the beginning.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to query.
+ * @param {number} [n=1] The number of elements to drop.
+ * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+ * @returns {Array} Returns the slice of `array`.
+ * @example
+ *
+ * _.drop([1, 2, 3]);
+ * // => [2, 3]
+ *
+ * _.drop([1, 2, 3], 2);
+ * // => [3]
+ *
+ * _.drop([1, 2, 3], 5);
+ * // => []
+ *
+ * _.drop([1, 2, 3], 0);
+ * // => [1, 2, 3]
+ */function drop(array,n,guard){var length=array?array.length:0;if(!length){return[]}if(guard?isIterateeCall(array,n,guard):n==null){n=1}return baseSlice(array,n<0?0:n)}
+/**
+ * Creates a slice of `array` with `n` elements dropped from the end.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to query.
+ * @param {number} [n=1] The number of elements to drop.
+ * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+ * @returns {Array} Returns the slice of `array`.
+ * @example
+ *
+ * _.dropRight([1, 2, 3]);
+ * // => [1, 2]
+ *
+ * _.dropRight([1, 2, 3], 2);
+ * // => [1]
+ *
+ * _.dropRight([1, 2, 3], 5);
+ * // => []
+ *
+ * _.dropRight([1, 2, 3], 0);
+ * // => [1, 2, 3]
+ */function dropRight(array,n,guard){var length=array?array.length:0;if(!length){return[]}if(guard?isIterateeCall(array,n,guard):n==null){n=1}n=length-(+n||0);return baseSlice(array,0,n<0?0:n)}
+/**
+ * Creates a slice of `array` excluding elements dropped from the end.
+ * Elements are dropped until `predicate` returns falsey. The predicate is
+ * bound to `thisArg` and invoked with three arguments: (value, index, array).
+ *
+ * If a property name is provided for `predicate` the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If a value is also provided for `thisArg` the created `_.matchesProperty`
+ * style callback returns `true` for elements that have a matching property
+ * value, else `false`.
+ *
+ * If an object is provided for `predicate` the created `_.matches` style
+ * callback returns `true` for elements that match the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to query.
+ * @param {Function|Object|string} [predicate=_.identity] The function invoked
+ * per iteration.
+ * @param {*} [thisArg] The `this` binding of `predicate`.
+ * @returns {Array} Returns the slice of `array`.
+ * @example
+ *
+ * _.dropRightWhile([1, 2, 3], function(n) {
+ * return n > 1;
+ * });
+ * // => [1]
+ *
+ * var users = [
+ * { 'user': 'barney', 'active': true },
+ * { 'user': 'fred', 'active': false },
+ * { 'user': 'pebbles', 'active': false }
+ * ];
+ *
+ * // using the `_.matches` callback shorthand
+ * _.pluck(_.dropRightWhile(users, { 'user': 'pebbles', 'active': false }), 'user');
+ * // => ['barney', 'fred']
+ *
+ * // using the `_.matchesProperty` callback shorthand
+ * _.pluck(_.dropRightWhile(users, 'active', false), 'user');
+ * // => ['barney']
+ *
+ * // using the `_.property` callback shorthand
+ * _.pluck(_.dropRightWhile(users, 'active'), 'user');
+ * // => ['barney', 'fred', 'pebbles']
+ */function dropRightWhile(array,predicate,thisArg){return array&&array.length?baseWhile(array,getCallback(predicate,thisArg,3),true,true):[]}
+/**
+ * Creates a slice of `array` excluding elements dropped from the beginning.
+ * Elements are dropped until `predicate` returns falsey. The predicate is
+ * bound to `thisArg` and invoked with three arguments: (value, index, array).
+ *
+ * If a property name is provided for `predicate` the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If a value is also provided for `thisArg` the created `_.matchesProperty`
+ * style callback returns `true` for elements that have a matching property
+ * value, else `false`.
+ *
+ * If an object is provided for `predicate` the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to query.
+ * @param {Function|Object|string} [predicate=_.identity] The function invoked
+ * per iteration.
+ * @param {*} [thisArg] The `this` binding of `predicate`.
+ * @returns {Array} Returns the slice of `array`.
+ * @example
+ *
+ * _.dropWhile([1, 2, 3], function(n) {
+ * return n < 3;
+ * });
+ * // => [3]
+ *
+ * var users = [
+ * { 'user': 'barney', 'active': false },
+ * { 'user': 'fred', 'active': false },
+ * { 'user': 'pebbles', 'active': true }
+ * ];
+ *
+ * // using the `_.matches` callback shorthand
+ * _.pluck(_.dropWhile(users, { 'user': 'barney', 'active': false }), 'user');
+ * // => ['fred', 'pebbles']
+ *
+ * // using the `_.matchesProperty` callback shorthand
+ * _.pluck(_.dropWhile(users, 'active', false), 'user');
+ * // => ['pebbles']
+ *
+ * // using the `_.property` callback shorthand
+ * _.pluck(_.dropWhile(users, 'active'), 'user');
+ * // => ['barney', 'fred', 'pebbles']
+ */function dropWhile(array,predicate,thisArg){return array&&array.length?baseWhile(array,getCallback(predicate,thisArg,3),true):[]}
+/**
+ * Fills elements of `array` with `value` from `start` up to, but not
+ * including, `end`.
+ *
+ * **Note:** This method mutates `array`.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to fill.
+ * @param {*} value The value to fill `array` with.
+ * @param {number} [start=0] The start position.
+ * @param {number} [end=array.length] The end position.
+ * @returns {Array} Returns `array`.
+ * @example
+ *
+ * var array = [1, 2, 3];
+ *
+ * _.fill(array, 'a');
+ * console.log(array);
+ * // => ['a', 'a', 'a']
+ *
+ * _.fill(Array(3), 2);
+ * // => [2, 2, 2]
+ *
+ * _.fill([4, 6, 8], '*', 1, 2);
+ * // => [4, '*', 8]
+ */function fill(array,value,start,end){var length=array?array.length:0;if(!length){return[]}if(start&&typeof start!="number"&&isIterateeCall(array,value,start)){start=0;end=length}return baseFill(array,value,start,end)}
+/**
+ * This method is like `_.find` except that it returns the index of the first
+ * element `predicate` returns truthy for instead of the element itself.
+ *
+ * If a property name is provided for `predicate` the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If a value is also provided for `thisArg` the created `_.matchesProperty`
+ * style callback returns `true` for elements that have a matching property
+ * value, else `false`.
+ *
+ * If an object is provided for `predicate` the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to search.
+ * @param {Function|Object|string} [predicate=_.identity] The function invoked
+ * per iteration.
+ * @param {*} [thisArg] The `this` binding of `predicate`.
+ * @returns {number} Returns the index of the found element, else `-1`.
+ * @example
+ *
+ * var users = [
+ * { 'user': 'barney', 'active': false },
+ * { 'user': 'fred', 'active': false },
+ * { 'user': 'pebbles', 'active': true }
+ * ];
+ *
+ * _.findIndex(users, function(chr) {
+ * return chr.user == 'barney';
+ * });
+ * // => 0
+ *
+ * // using the `_.matches` callback shorthand
+ * _.findIndex(users, { 'user': 'fred', 'active': false });
+ * // => 1
+ *
+ * // using the `_.matchesProperty` callback shorthand
+ * _.findIndex(users, 'active', false);
+ * // => 0
+ *
+ * // using the `_.property` callback shorthand
+ * _.findIndex(users, 'active');
+ * // => 2
+ */var findIndex=createFindIndex();
+/**
+ * This method is like `_.findIndex` except that it iterates over elements
+ * of `collection` from right to left.
+ *
+ * If a property name is provided for `predicate` the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If a value is also provided for `thisArg` the created `_.matchesProperty`
+ * style callback returns `true` for elements that have a matching property
+ * value, else `false`.
+ *
+ * If an object is provided for `predicate` the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to search.
+ * @param {Function|Object|string} [predicate=_.identity] The function invoked
+ * per iteration.
+ * @param {*} [thisArg] The `this` binding of `predicate`.
+ * @returns {number} Returns the index of the found element, else `-1`.
+ * @example
+ *
+ * var users = [
+ * { 'user': 'barney', 'active': true },
+ * { 'user': 'fred', 'active': false },
+ * { 'user': 'pebbles', 'active': false }
+ * ];
+ *
+ * _.findLastIndex(users, function(chr) {
+ * return chr.user == 'pebbles';
+ * });
+ * // => 2
+ *
+ * // using the `_.matches` callback shorthand
+ * _.findLastIndex(users, { 'user': 'barney', 'active': true });
+ * // => 0
+ *
+ * // using the `_.matchesProperty` callback shorthand
+ * _.findLastIndex(users, 'active', false);
+ * // => 2
+ *
+ * // using the `_.property` callback shorthand
+ * _.findLastIndex(users, 'active');
+ * // => 0
+ */var findLastIndex=createFindIndex(true);
+/**
+ * Gets the first element of `array`.
+ *
+ * @static
+ * @memberOf _
+ * @alias head
+ * @category Array
+ * @param {Array} array The array to query.
+ * @returns {*} Returns the first element of `array`.
+ * @example
+ *
+ * _.first([1, 2, 3]);
+ * // => 1
+ *
+ * _.first([]);
+ * // => undefined
+ */function first(array){return array?array[0]:undefined}
+/**
+ * Flattens a nested array. If `isDeep` is `true` the array is recursively
+ * flattened, otherwise it is only flattened a single level.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to flatten.
+ * @param {boolean} [isDeep] Specify a deep flatten.
+ * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+ * @returns {Array} Returns the new flattened array.
+ * @example
+ *
+ * _.flatten([1, [2, 3, [4]]]);
+ * // => [1, 2, 3, [4]]
+ *
+ * // using `isDeep`
+ * _.flatten([1, [2, 3, [4]]], true);
+ * // => [1, 2, 3, 4]
+ */function flatten(array,isDeep,guard){var length=array?array.length:0;if(guard&&isIterateeCall(array,isDeep,guard)){isDeep=false}return length?baseFlatten(array,isDeep):[]}
+/**
+ * Recursively flattens a nested array.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to recursively flatten.
+ * @returns {Array} Returns the new flattened array.
+ * @example
+ *
+ * _.flattenDeep([1, [2, 3, [4]]]);
+ * // => [1, 2, 3, 4]
+ */function flattenDeep(array){var length=array?array.length:0;return length?baseFlatten(array,true):[]}
+/**
+ * Gets the index at which the first occurrence of `value` is found in `array`
+ * using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
+ * for equality comparisons. If `fromIndex` is negative, it is used as the offset
+ * from the end of `array`. If `array` is sorted providing `true` for `fromIndex`
+ * performs a faster binary search.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to search.
+ * @param {*} value The value to search for.
+ * @param {boolean|number} [fromIndex=0] The index to search from or `true`
+ * to perform a binary search on a sorted array.
+ * @returns {number} Returns the index of the matched value, else `-1`.
+ * @example
+ *
+ * _.indexOf([1, 2, 1, 2], 2);
+ * // => 1
+ *
+ * // using `fromIndex`
+ * _.indexOf([1, 2, 1, 2], 2, 2);
+ * // => 3
+ *
+ * // performing a binary search
+ * _.indexOf([1, 1, 2, 2], 2, true);
+ * // => 2
+ */function indexOf(array,value,fromIndex){var length=array?array.length:0;if(!length){return-1}if(typeof fromIndex=="number"){fromIndex=fromIndex<0?nativeMax(length+fromIndex,0):fromIndex}else if(fromIndex){var index=binaryIndex(array,value);if(index<length&&(value===value?value===array[index]:array[index]!==array[index])){return index}return-1}return baseIndexOf(array,value,fromIndex||0)}
+/**
+ * Gets all but the last element of `array`.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to query.
+ * @returns {Array} Returns the slice of `array`.
+ * @example
+ *
+ * _.initial([1, 2, 3]);
+ * // => [1, 2]
+ */function initial(array){return dropRight(array,1)}
+/**
+ * Creates an array of unique values that are included in all of the provided
+ * arrays using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
+ * for equality comparisons.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {...Array} [arrays] The arrays to inspect.
+ * @returns {Array} Returns the new array of shared values.
+ * @example
+ * _.intersection([1, 2], [4, 2], [2, 1]);
+ * // => [2]
+ */var intersection=restParam(function(arrays){var othLength=arrays.length,othIndex=othLength,caches=Array(length),indexOf=getIndexOf(),isCommon=indexOf==baseIndexOf,result=[];while(othIndex--){var value=arrays[othIndex]=isArrayLike(value=arrays[othIndex])?value:[];caches[othIndex]=isCommon&&value.length>=120?createCache(othIndex&&value):null}var array=arrays[0],index=-1,length=array?array.length:0,seen=caches[0];outer:while(++index<length){value=array[index];if((seen?cacheIndexOf(seen,value):indexOf(result,value,0))<0){var othIndex=othLength;while(--othIndex){var cache=caches[othIndex];if((cache?cacheIndexOf(cache,value):indexOf(arrays[othIndex],value,0))<0){continue outer}}if(seen){seen.push(value)}result.push(value)}}return result});
+/**
+ * Gets the last element of `array`.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to query.
+ * @returns {*} Returns the last element of `array`.
+ * @example
+ *
+ * _.last([1, 2, 3]);
+ * // => 3
+ */function last(array){var length=array?array.length:0;return length?array[length-1]:undefined}
+/**
+ * This method is like `_.indexOf` except that it iterates over elements of
+ * `array` from right to left.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to search.
+ * @param {*} value The value to search for.
+ * @param {boolean|number} [fromIndex=array.length-1] The index to search from
+ * or `true` to perform a binary search on a sorted array.
+ * @returns {number} Returns the index of the matched value, else `-1`.
+ * @example
+ *
+ * _.lastIndexOf([1, 2, 1, 2], 2);
+ * // => 3
+ *
+ * // using `fromIndex`
+ * _.lastIndexOf([1, 2, 1, 2], 2, 2);
+ * // => 1
+ *
+ * // performing a binary search
+ * _.lastIndexOf([1, 1, 2, 2], 2, true);
+ * // => 3
+ */function lastIndexOf(array,value,fromIndex){var length=array?array.length:0;if(!length){return-1}var index=length;if(typeof fromIndex=="number"){index=(fromIndex<0?nativeMax(length+fromIndex,0):nativeMin(fromIndex||0,length-1))+1}else if(fromIndex){index=binaryIndex(array,value,true)-1;var other=array[index];if(value===value?value===other:other!==other){return index}return-1}if(value!==value){return indexOfNaN(array,index,true)}while(index--){if(array[index]===value){return index}}return-1}
+/**
+ * Removes all provided values from `array` using
+ * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
+ * for equality comparisons.
+ *
+ * **Note:** Unlike `_.without`, this method mutates `array`.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to modify.
+ * @param {...*} [values] The values to remove.
+ * @returns {Array} Returns `array`.
+ * @example
+ *
+ * var array = [1, 2, 3, 1, 2, 3];
+ *
+ * _.pull(array, 2, 3);
+ * console.log(array);
+ * // => [1, 1]
+ */function pull(){var args=arguments,array=args[0];if(!(array&&array.length)){return array}var index=0,indexOf=getIndexOf(),length=args.length;while(++index<length){var fromIndex=0,value=args[index];while((fromIndex=indexOf(array,value,fromIndex))>-1){splice.call(array,fromIndex,1)}}return array}
+/**
+ * Removes elements from `array` corresponding to the given indexes and returns
+ * an array of the removed elements. Indexes may be specified as an array of
+ * indexes or as individual arguments.
+ *
+ * **Note:** Unlike `_.at`, this method mutates `array`.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to modify.
+ * @param {...(number|number[])} [indexes] The indexes of elements to remove,
+ * specified as individual indexes or arrays of indexes.
+ * @returns {Array} Returns the new array of removed elements.
+ * @example
+ *
+ * var array = [5, 10, 15, 20];
+ * var evens = _.pullAt(array, 1, 3);
+ *
+ * console.log(array);
+ * // => [5, 15]
+ *
+ * console.log(evens);
+ * // => [10, 20]
+ */var pullAt=restParam(function(array,indexes){indexes=baseFlatten(indexes);var result=baseAt(array,indexes);basePullAt(array,indexes.sort(baseCompareAscending));return result});
+/**
+ * Removes all elements from `array` that `predicate` returns truthy for
+ * and returns an array of the removed elements. The predicate is bound to
+ * `thisArg` and invoked with three arguments: (value, index, array).
+ *
+ * If a property name is provided for `predicate` the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If a value is also provided for `thisArg` the created `_.matchesProperty`
+ * style callback returns `true` for elements that have a matching property
+ * value, else `false`.
+ *
+ * If an object is provided for `predicate` the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * **Note:** Unlike `_.filter`, this method mutates `array`.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to modify.
+ * @param {Function|Object|string} [predicate=_.identity] The function invoked
+ * per iteration.
+ * @param {*} [thisArg] The `this` binding of `predicate`.
+ * @returns {Array} Returns the new array of removed elements.
+ * @example
+ *
+ * var array = [1, 2, 3, 4];
+ * var evens = _.remove(array, function(n) {
+ * return n % 2 == 0;
+ * });
+ *
+ * console.log(array);
+ * // => [1, 3]
+ *
+ * console.log(evens);
+ * // => [2, 4]
+ */function remove(array,predicate,thisArg){var result=[];if(!(array&&array.length)){return result}var index=-1,indexes=[],length=array.length;predicate=getCallback(predicate,thisArg,3);while(++index<length){var value=array[index];if(predicate(value,index,array)){result.push(value);indexes.push(index)}}basePullAt(array,indexes);return result}
+/**
+ * Gets all but the first element of `array`.
+ *
+ * @static
+ * @memberOf _
+ * @alias tail
+ * @category Array
+ * @param {Array} array The array to query.
+ * @returns {Array} Returns the slice of `array`.
+ * @example
+ *
+ * _.rest([1, 2, 3]);
+ * // => [2, 3]
+ */function rest(array){return drop(array,1)}
+/**
+ * Creates a slice of `array` from `start` up to, but not including, `end`.
+ *
+ * **Note:** This method is used instead of `Array#slice` to support node
+ * lists in IE < 9 and to ensure dense arrays are returned.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to slice.
+ * @param {number} [start=0] The start position.
+ * @param {number} [end=array.length] The end position.
+ * @returns {Array} Returns the slice of `array`.
+ */function slice(array,start,end){var length=array?array.length:0;if(!length){return[]}if(end&&typeof end!="number"&&isIterateeCall(array,start,end)){start=0;end=length}return baseSlice(array,start,end)}
+/**
+ * Uses a binary search to determine the lowest index at which `value` should
+ * be inserted into `array` in order to maintain its sort order. If an iteratee
+ * function is provided it is invoked for `value` and each element of `array`
+ * to compute their sort ranking. The iteratee is bound to `thisArg` and
+ * invoked with one argument; (value).
+ *
+ * If a property name is provided for `iteratee` the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If a value is also provided for `thisArg` the created `_.matchesProperty`
+ * style callback returns `true` for elements that have a matching property
+ * value, else `false`.
+ *
+ * If an object is provided for `iteratee` the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The sorted array to inspect.
+ * @param {*} value The value to evaluate.
+ * @param {Function|Object|string} [iteratee=_.identity] The function invoked
+ * per iteration.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {number} Returns the index at which `value` should be inserted
+ * into `array`.
+ * @example
+ *
+ * _.sortedIndex([30, 50], 40);
+ * // => 1
+ *
+ * _.sortedIndex([4, 4, 5, 5], 5);
+ * // => 2
+ *
+ * var dict = { 'data': { 'thirty': 30, 'forty': 40, 'fifty': 50 } };
+ *
+ * // using an iteratee function
+ * _.sortedIndex(['thirty', 'fifty'], 'forty', function(word) {
+ * return this.data[word];
+ * }, dict);
+ * // => 1
+ *
+ * // using the `_.property` callback shorthand
+ * _.sortedIndex([{ 'x': 30 }, { 'x': 50 }], { 'x': 40 }, 'x');
+ * // => 1
+ */var sortedIndex=createSortedIndex();
+/**
+ * This method is like `_.sortedIndex` except that it returns the highest
+ * index at which `value` should be inserted into `array` in order to
+ * maintain its sort order.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The sorted array to inspect.
+ * @param {*} value The value to evaluate.
+ * @param {Function|Object|string} [iteratee=_.identity] The function invoked
+ * per iteration.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {number} Returns the index at which `value` should be inserted
+ * into `array`.
+ * @example
+ *
+ * _.sortedLastIndex([4, 4, 5, 5], 5);
+ * // => 4
+ */var sortedLastIndex=createSortedIndex(true);
+/**
+ * Creates a slice of `array` with `n` elements taken from the beginning.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to query.
+ * @param {number} [n=1] The number of elements to take.
+ * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+ * @returns {Array} Returns the slice of `array`.
+ * @example
+ *
+ * _.take([1, 2, 3]);
+ * // => [1]
+ *
+ * _.take([1, 2, 3], 2);
+ * // => [1, 2]
+ *
+ * _.take([1, 2, 3], 5);
+ * // => [1, 2, 3]
+ *
+ * _.take([1, 2, 3], 0);
+ * // => []
+ */function take(array,n,guard){var length=array?array.length:0;if(!length){return[]}if(guard?isIterateeCall(array,n,guard):n==null){n=1}return baseSlice(array,0,n<0?0:n)}
+/**
+ * Creates a slice of `array` with `n` elements taken from the end.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to query.
+ * @param {number} [n=1] The number of elements to take.
+ * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+ * @returns {Array} Returns the slice of `array`.
+ * @example
+ *
+ * _.takeRight([1, 2, 3]);
+ * // => [3]
+ *
+ * _.takeRight([1, 2, 3], 2);
+ * // => [2, 3]
+ *
+ * _.takeRight([1, 2, 3], 5);
+ * // => [1, 2, 3]
+ *
+ * _.takeRight([1, 2, 3], 0);
+ * // => []
+ */function takeRight(array,n,guard){var length=array?array.length:0;if(!length){return[]}if(guard?isIterateeCall(array,n,guard):n==null){n=1}n=length-(+n||0);return baseSlice(array,n<0?0:n)}
+/**
+ * Creates a slice of `array` with elements taken from the end. Elements are
+ * taken until `predicate` returns falsey. The predicate is bound to `thisArg`
+ * and invoked with three arguments: (value, index, array).
+ *
+ * If a property name is provided for `predicate` the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If a value is also provided for `thisArg` the created `_.matchesProperty`
+ * style callback returns `true` for elements that have a matching property
+ * value, else `false`.
+ *
+ * If an object is provided for `predicate` the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to query.
+ * @param {Function|Object|string} [predicate=_.identity] The function invoked
+ * per iteration.
+ * @param {*} [thisArg] The `this` binding of `predicate`.
+ * @returns {Array} Returns the slice of `array`.
+ * @example
+ *
+ * _.takeRightWhile([1, 2, 3], function(n) {
+ * return n > 1;
+ * });
+ * // => [2, 3]
+ *
+ * var users = [
+ * { 'user': 'barney', 'active': true },
+ * { 'user': 'fred', 'active': false },
+ * { 'user': 'pebbles', 'active': false }
+ * ];
+ *
+ * // using the `_.matches` callback shorthand
+ * _.pluck(_.takeRightWhile(users, { 'user': 'pebbles', 'active': false }), 'user');
+ * // => ['pebbles']
+ *
+ * // using the `_.matchesProperty` callback shorthand
+ * _.pluck(_.takeRightWhile(users, 'active', false), 'user');
+ * // => ['fred', 'pebbles']
+ *
+ * // using the `_.property` callback shorthand
+ * _.pluck(_.takeRightWhile(users, 'active'), 'user');
+ * // => []
+ */function takeRightWhile(array,predicate,thisArg){return array&&array.length?baseWhile(array,getCallback(predicate,thisArg,3),false,true):[]}
+/**
+ * Creates a slice of `array` with elements taken from the beginning. Elements
+ * are taken until `predicate` returns falsey. The predicate is bound to
+ * `thisArg` and invoked with three arguments: (value, index, array).
+ *
+ * If a property name is provided for `predicate` the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If a value is also provided for `thisArg` the created `_.matchesProperty`
+ * style callback returns `true` for elements that have a matching property
+ * value, else `false`.
+ *
+ * If an object is provided for `predicate` the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to query.
+ * @param {Function|Object|string} [predicate=_.identity] The function invoked
+ * per iteration.
+ * @param {*} [thisArg] The `this` binding of `predicate`.
+ * @returns {Array} Returns the slice of `array`.
+ * @example
+ *
+ * _.takeWhile([1, 2, 3], function(n) {
+ * return n < 3;
+ * });
+ * // => [1, 2]
+ *
+ * var users = [
+ * { 'user': 'barney', 'active': false },
+ * { 'user': 'fred', 'active': false},
+ * { 'user': 'pebbles', 'active': true }
+ * ];
+ *
+ * // using the `_.matches` callback shorthand
+ * _.pluck(_.takeWhile(users, { 'user': 'barney', 'active': false }), 'user');
+ * // => ['barney']
+ *
+ * // using the `_.matchesProperty` callback shorthand
+ * _.pluck(_.takeWhile(users, 'active', false), 'user');
+ * // => ['barney', 'fred']
+ *
+ * // using the `_.property` callback shorthand
+ * _.pluck(_.takeWhile(users, 'active'), 'user');
+ * // => []
+ */function takeWhile(array,predicate,thisArg){return array&&array.length?baseWhile(array,getCallback(predicate,thisArg,3)):[]}
+/**
+ * Creates an array of unique values, in order, from all of the provided arrays
+ * using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
+ * for equality comparisons.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {...Array} [arrays] The arrays to inspect.
+ * @returns {Array} Returns the new array of combined values.
+ * @example
+ *
+ * _.union([1, 2], [4, 2], [2, 1]);
+ * // => [1, 2, 4]
+ */var union=restParam(function(arrays){return baseUniq(baseFlatten(arrays,false,true))});
+/**
+ * Creates a duplicate-free version of an array, using
+ * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
+ * for equality comparisons, in which only the first occurence of each element
+ * is kept. Providing `true` for `isSorted` performs a faster search algorithm
+ * for sorted arrays. If an iteratee function is provided it is invoked for
+ * each element in the array to generate the criterion by which uniqueness
+ * is computed. The `iteratee` is bound to `thisArg` and invoked with three
+ * arguments: (value, index, array).
+ *
+ * If a property name is provided for `iteratee` the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If a value is also provided for `thisArg` the created `_.matchesProperty`
+ * style callback returns `true` for elements that have a matching property
+ * value, else `false`.
+ *
+ * If an object is provided for `iteratee` the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @alias unique
+ * @category Array
+ * @param {Array} array The array to inspect.
+ * @param {boolean} [isSorted] Specify the array is sorted.
+ * @param {Function|Object|string} [iteratee] The function invoked per iteration.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {Array} Returns the new duplicate-value-free array.
+ * @example
+ *
+ * _.uniq([2, 1, 2]);
+ * // => [2, 1]
+ *
+ * // using `isSorted`
+ * _.uniq([1, 1, 2], true);
+ * // => [1, 2]
+ *
+ * // using an iteratee function
+ * _.uniq([1, 2.5, 1.5, 2], function(n) {
+ * return this.floor(n);
+ * }, Math);
+ * // => [1, 2.5]
+ *
+ * // using the `_.property` callback shorthand
+ * _.uniq([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');
+ * // => [{ 'x': 1 }, { 'x': 2 }]
+ */function uniq(array,isSorted,iteratee,thisArg){var length=array?array.length:0;if(!length){return[]}if(isSorted!=null&&typeof isSorted!="boolean"){thisArg=iteratee;iteratee=isIterateeCall(array,isSorted,thisArg)?undefined:isSorted;isSorted=false}var callback=getCallback();if(!(iteratee==null&&callback===baseCallback)){iteratee=callback(iteratee,thisArg,3)}return isSorted&&getIndexOf()==baseIndexOf?sortedUniq(array,iteratee):baseUniq(array,iteratee)}
+/**
+ * This method is like `_.zip` except that it accepts an array of grouped
+ * elements and creates an array regrouping the elements to their pre-zip
+ * configuration.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array of grouped elements to process.
+ * @returns {Array} Returns the new array of regrouped elements.
+ * @example
+ *
+ * var zipped = _.zip(['fred', 'barney'], [30, 40], [true, false]);
+ * // => [['fred', 30, true], ['barney', 40, false]]
+ *
+ * _.unzip(zipped);
+ * // => [['fred', 'barney'], [30, 40], [true, false]]
+ */function unzip(array){if(!(array&&array.length)){return[]}var index=-1,length=0;array=arrayFilter(array,function(group){if(isArrayLike(group)){length=nativeMax(group.length,length);return true}});var result=Array(length);while(++index<length){result[index]=arrayMap(array,baseProperty(index))}return result}
+/**
+ * This method is like `_.unzip` except that it accepts an iteratee to specify
+ * how regrouped values should be combined. The `iteratee` is bound to `thisArg`
+ * and invoked with four arguments: (accumulator, value, index, group).
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array of grouped elements to process.
+ * @param {Function} [iteratee] The function to combine regrouped values.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {Array} Returns the new array of regrouped elements.
+ * @example
+ *
+ * var zipped = _.zip([1, 2], [10, 20], [100, 200]);
+ * // => [[1, 10, 100], [2, 20, 200]]
+ *
+ * _.unzipWith(zipped, _.add);
+ * // => [3, 30, 300]
+ */function unzipWith(array,iteratee,thisArg){var length=array?array.length:0;if(!length){return[]}var result=unzip(array);if(iteratee==null){return result}iteratee=bindCallback(iteratee,thisArg,4);return arrayMap(result,function(group){return arrayReduce(group,iteratee,undefined,true)})}
+/**
+ * Creates an array excluding all provided values using
+ * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
+ * for equality comparisons.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to filter.
+ * @param {...*} [values] The values to exclude.
+ * @returns {Array} Returns the new array of filtered values.
+ * @example
+ *
+ * _.without([1, 2, 1, 3], 1, 2);
+ * // => [3]
+ */var without=restParam(function(array,values){return isArrayLike(array)?baseDifference(array,values):[]});
+/**
+ * Creates an array of unique values that is the [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference)
+ * of the provided arrays.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {...Array} [arrays] The arrays to inspect.
+ * @returns {Array} Returns the new array of values.
+ * @example
+ *
+ * _.xor([1, 2], [4, 2]);
+ * // => [1, 4]
+ */function xor(){var index=-1,length=arguments.length;while(++index<length){var array=arguments[index];if(isArrayLike(array)){var result=result?arrayPush(baseDifference(result,array),baseDifference(array,result)):array}}return result?baseUniq(result):[]}
+/**
+ * Creates an array of grouped elements, the first of which contains the first
+ * elements of the given arrays, the second of which contains the second elements
+ * of the given arrays, and so on.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {...Array} [arrays] The arrays to process.
+ * @returns {Array} Returns the new array of grouped elements.
+ * @example
+ *
+ * _.zip(['fred', 'barney'], [30, 40], [true, false]);
+ * // => [['fred', 30, true], ['barney', 40, false]]
+ */var zip=restParam(unzip);
+/**
+ * The inverse of `_.pairs`; this method returns an object composed from arrays
+ * of property names and values. Provide either a single two dimensional array,
+ * e.g. `[[key1, value1], [key2, value2]]` or two arrays, one of property names
+ * and one of corresponding values.
+ *
+ * @static
+ * @memberOf _
+ * @alias object
+ * @category Array
+ * @param {Array} props The property names.
+ * @param {Array} [values=[]] The property values.
+ * @returns {Object} Returns the new object.
+ * @example
+ *
+ * _.zipObject([['fred', 30], ['barney', 40]]);
+ * // => { 'fred': 30, 'barney': 40 }
+ *
+ * _.zipObject(['fred', 'barney'], [30, 40]);
+ * // => { 'fred': 30, 'barney': 40 }
+ */function zipObject(props,values){var index=-1,length=props?props.length:0,result={};if(length&&!values&&!isArray(props[0])){values=[]}while(++index<length){var key=props[index];if(values){result[key]=values[index]}else if(key){result[key[0]]=key[1]}}return result}
+/**
+ * This method is like `_.zip` except that it accepts an iteratee to specify
+ * how grouped values should be combined. The `iteratee` is bound to `thisArg`
+ * and invoked with four arguments: (accumulator, value, index, group).
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {...Array} [arrays] The arrays to process.
+ * @param {Function} [iteratee] The function to combine grouped values.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {Array} Returns the new array of grouped elements.
+ * @example
+ *
+ * _.zipWith([1, 2], [10, 20], [100, 200], _.add);
+ * // => [111, 222]
+ */var zipWith=restParam(function(arrays){var length=arrays.length,iteratee=length>2?arrays[length-2]:undefined,thisArg=length>1?arrays[length-1]:undefined;if(length>2&&typeof iteratee=="function"){length-=2}else{iteratee=length>1&&typeof thisArg=="function"?(--length,thisArg):undefined;thisArg=undefined}arrays.length=length;return unzipWith(arrays,iteratee,thisArg)});
+/*------------------------------------------------------------------------*/
+/**
+ * Creates a `lodash` object that wraps `value` with explicit method
+ * chaining enabled.
+ *
+ * @static
+ * @memberOf _
+ * @category Chain
+ * @param {*} value The value to wrap.
+ * @returns {Object} Returns the new `lodash` wrapper instance.
+ * @example
+ *
+ * var users = [
+ * { 'user': 'barney', 'age': 36 },
+ * { 'user': 'fred', 'age': 40 },
+ * { 'user': 'pebbles', 'age': 1 }
+ * ];
+ *
+ * var youngest = _.chain(users)
+ * .sortBy('age')
+ * .map(function(chr) {
+ * return chr.user + ' is ' + chr.age;
+ * })
+ * .first()
+ * .value();
+ * // => 'pebbles is 1'
+ */function chain(value){var result=lodash(value);result.__chain__=true;return result}
+/**
+ * This method invokes `interceptor` and returns `value`. The interceptor is
+ * bound to `thisArg` and invoked with one argument; (value). The purpose of
+ * this method is to "tap into" a method chain in order to perform operations
+ * on intermediate results within the chain.
+ *
+ * @static
+ * @memberOf _
+ * @category Chain
+ * @param {*} value The value to provide to `interceptor`.
+ * @param {Function} interceptor The function to invoke.
+ * @param {*} [thisArg] The `this` binding of `interceptor`.
+ * @returns {*} Returns `value`.
+ * @example
+ *
+ * _([1, 2, 3])
+ * .tap(function(array) {
+ * array.pop();
+ * })
+ * .reverse()
+ * .value();
+ * // => [2, 1]
+ */function tap(value,interceptor,thisArg){interceptor.call(thisArg,value);return value}
+/**
+ * This method is like `_.tap` except that it returns the result of `interceptor`.
+ *
+ * @static
+ * @memberOf _
+ * @category Chain
+ * @param {*} value The value to provide to `interceptor`.
+ * @param {Function} interceptor The function to invoke.
+ * @param {*} [thisArg] The `this` binding of `interceptor`.
+ * @returns {*} Returns the result of `interceptor`.
+ * @example
+ *
+ * _(' abc ')
+ * .chain()
+ * .trim()
+ * .thru(function(value) {
+ * return [value];
+ * })
+ * .value();
+ * // => ['abc']
+ */function thru(value,interceptor,thisArg){return interceptor.call(thisArg,value)}
+/**
+ * Enables explicit method chaining on the wrapper object.
+ *
+ * @name chain
+ * @memberOf _
+ * @category Chain
+ * @returns {Object} Returns the new `lodash` wrapper instance.
+ * @example
+ *
+ * var users = [
+ * { 'user': 'barney', 'age': 36 },
+ * { 'user': 'fred', 'age': 40 }
+ * ];
+ *
+ * // without explicit chaining
+ * _(users).first();
+ * // => { 'user': 'barney', 'age': 36 }
+ *
+ * // with explicit chaining
+ * _(users).chain()
+ * .first()
+ * .pick('user')
+ * .value();
+ * // => { 'user': 'barney' }
+ */function wrapperChain(){return chain(this)}
+/**
+ * Executes the chained sequence and returns the wrapped result.
+ *
+ * @name commit
+ * @memberOf _
+ * @category Chain
+ * @returns {Object} Returns the new `lodash` wrapper instance.
+ * @example
+ *
+ * var array = [1, 2];
+ * var wrapped = _(array).push(3);
+ *
+ * console.log(array);
+ * // => [1, 2]
+ *
+ * wrapped = wrapped.commit();
+ * console.log(array);
+ * // => [1, 2, 3]
+ *
+ * wrapped.last();
+ * // => 3
+ *
+ * console.log(array);
+ * // => [1, 2, 3]
+ */function wrapperCommit(){return new LodashWrapper(this.value(),this.__chain__)}
+/**
+ * Creates a new array joining a wrapped array with any additional arrays
+ * and/or values.
+ *
+ * @name concat
+ * @memberOf _
+ * @category Chain
+ * @param {...*} [values] The values to concatenate.
+ * @returns {Array} Returns the new concatenated array.
+ * @example
+ *
+ * var array = [1];
+ * var wrapped = _(array).concat(2, [3], [[4]]);
+ *
+ * console.log(wrapped.value());
+ * // => [1, 2, 3, [4]]
+ *
+ * console.log(array);
+ * // => [1]
+ */var wrapperConcat=restParam(function(values){values=baseFlatten(values);return this.thru(function(array){return arrayConcat(isArray(array)?array:[toObject(array)],values)})});
+/**
+ * Creates a clone of the chained sequence planting `value` as the wrapped value.
+ *
+ * @name plant
+ * @memberOf _
+ * @category Chain
+ * @returns {Object} Returns the new `lodash` wrapper instance.
+ * @example
+ *
+ * var array = [1, 2];
+ * var wrapped = _(array).map(function(value) {
+ * return Math.pow(value, 2);
+ * });
+ *
+ * var other = [3, 4];
+ * var otherWrapped = wrapped.plant(other);
+ *
+ * otherWrapped.value();
+ * // => [9, 16]
+ *
+ * wrapped.value();
+ * // => [1, 4]
+ */function wrapperPlant(value){var result,parent=this;while(parent instanceof baseLodash){var clone=wrapperClone(parent);if(result){previous.__wrapped__=clone}else{result=clone}var previous=clone;parent=parent.__wrapped__}previous.__wrapped__=value;return result}
+/**
+ * Reverses the wrapped array so the first element becomes the last, the
+ * second element becomes the second to last, and so on.
+ *
+ * **Note:** This method mutates the wrapped array.
+ *
+ * @name reverse
+ * @memberOf _
+ * @category Chain
+ * @returns {Object} Returns the new reversed `lodash` wrapper instance.
+ * @example
+ *
+ * var array = [1, 2, 3];
+ *
+ * _(array).reverse().value()
+ * // => [3, 2, 1]
+ *
+ * console.log(array);
+ * // => [3, 2, 1]
+ */function wrapperReverse(){var value=this.__wrapped__;var interceptor=function(value){return wrapped&&wrapped.__dir__<0?value:value.reverse()};if(value instanceof LazyWrapper){var wrapped=value;if(this.__actions__.length){wrapped=new LazyWrapper(this)}wrapped=wrapped.reverse();wrapped.__actions__.push({func:thru,args:[interceptor],thisArg:undefined});return new LodashWrapper(wrapped,this.__chain__)}return this.thru(interceptor)}
+/**
+ * Produces the result of coercing the unwrapped value to a string.
+ *
+ * @name toString
+ * @memberOf _
+ * @category Chain
+ * @returns {string} Returns the coerced string value.
+ * @example
+ *
+ * _([1, 2, 3]).toString();
+ * // => '1,2,3'
+ */function wrapperToString(){return this.value()+""}
+/**
+ * Executes the chained sequence to extract the unwrapped value.
+ *
+ * @name value
+ * @memberOf _
+ * @alias run, toJSON, valueOf
+ * @category Chain
+ * @returns {*} Returns the resolved unwrapped value.
+ * @example
+ *
+ * _([1, 2, 3]).value();
+ * // => [1, 2, 3]
+ */function wrapperValue(){return baseWrapperValue(this.__wrapped__,this.__actions__)}
+/*------------------------------------------------------------------------*/
+/**
+ * Creates an array of elements corresponding to the given keys, or indexes,
+ * of `collection`. Keys may be specified as individual arguments or as arrays
+ * of keys.
+ *
+ * @static
+ * @memberOf _
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {...(number|number[]|string|string[])} [props] The property names
+ * or indexes of elements to pick, specified individually or in arrays.
+ * @returns {Array} Returns the new array of picked elements.
+ * @example
+ *
+ * _.at(['a', 'b', 'c'], [0, 2]);
+ * // => ['a', 'c']
+ *
+ * _.at(['barney', 'fred', 'pebbles'], 0, 2);
+ * // => ['barney', 'pebbles']
+ */var at=restParam(function(collection,props){return baseAt(collection,baseFlatten(props))});
+/**
+ * Creates an object composed of keys generated from the results of running
+ * each element of `collection` through `iteratee`. The corresponding value
+ * of each key is the number of times the key was returned by `iteratee`.
+ * The `iteratee` is bound to `thisArg` and invoked with three arguments:
+ * (value, index|key, collection).
+ *
+ * If a property name is provided for `iteratee` the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If a value is also provided for `thisArg` the created `_.matchesProperty`
+ * style callback returns `true` for elements that have a matching property
+ * value, else `false`.
+ *
+ * If an object is provided for `iteratee` the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function|Object|string} [iteratee=_.identity] The function invoked
+ * per iteration.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {Object} Returns the composed aggregate object.
+ * @example
+ *
+ * _.countBy([4.3, 6.1, 6.4], function(n) {
+ * return Math.floor(n);
+ * });
+ * // => { '4': 1, '6': 2 }
+ *
+ * _.countBy([4.3, 6.1, 6.4], function(n) {
+ * return this.floor(n);
+ * }, Math);
+ * // => { '4': 1, '6': 2 }
+ *
+ * _.countBy(['one', 'two', 'three'], 'length');
+ * // => { '3': 2, '5': 1 }
+ */var countBy=createAggregator(function(result,value,key){hasOwnProperty.call(result,key)?++result[key]:result[key]=1});
+/**
+ * Checks if `predicate` returns truthy for **all** elements of `collection`.
+ * The predicate is bound to `thisArg` and invoked with three arguments:
+ * (value, index|key, collection).
+ *
+ * If a property name is provided for `predicate` the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If a value is also provided for `thisArg` the created `_.matchesProperty`
+ * style callback returns `true` for elements that have a matching property
+ * value, else `false`.
+ *
+ * If an object is provided for `predicate` the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @alias all
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function|Object|string} [predicate=_.identity] The function invoked
+ * per iteration.
+ * @param {*} [thisArg] The `this` binding of `predicate`.
+ * @returns {boolean} Returns `true` if all elements pass the predicate check,
+ * else `false`.
+ * @example
+ *
+ * _.every([true, 1, null, 'yes'], Boolean);
+ * // => false
+ *
+ * var users = [
+ * { 'user': 'barney', 'active': false },
+ * { 'user': 'fred', 'active': false }
+ * ];
+ *
+ * // using the `_.matches` callback shorthand
+ * _.every(users, { 'user': 'barney', 'active': false });
+ * // => false
+ *
+ * // using the `_.matchesProperty` callback shorthand
+ * _.every(users, 'active', false);
+ * // => true
+ *
+ * // using the `_.property` callback shorthand
+ * _.every(users, 'active');
+ * // => false
+ */function every(collection,predicate,thisArg){var func=isArray(collection)?arrayEvery:baseEvery;if(thisArg&&isIterateeCall(collection,predicate,thisArg)){predicate=undefined}if(typeof predicate!="function"||thisArg!==undefined){predicate=getCallback(predicate,thisArg,3)}return func(collection,predicate)}
+/**
+ * Iterates over elements of `collection`, returning an array of all elements
+ * `predicate` returns truthy for. The predicate is bound to `thisArg` and
+ * invoked with three arguments: (value, index|key, collection).
+ *
+ * If a property name is provided for `predicate` the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If a value is also provided for `thisArg` the created `_.matchesProperty`
+ * style callback returns `true` for elements that have a matching property
+ * value, else `false`.
+ *
+ * If an object is provided for `predicate` the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @alias select
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function|Object|string} [predicate=_.identity] The function invoked
+ * per iteration.
+ * @param {*} [thisArg] The `this` binding of `predicate`.
+ * @returns {Array} Returns the new filtered array.
+ * @example
+ *
+ * _.filter([4, 5, 6], function(n) {
+ * return n % 2 == 0;
+ * });
+ * // => [4, 6]
+ *
+ * var users = [
+ * { 'user': 'barney', 'age': 36, 'active': true },
+ * { 'user': 'fred', 'age': 40, 'active': false }
+ * ];
+ *
+ * // using the `_.matches` callback shorthand
+ * _.pluck(_.filter(users, { 'age': 36, 'active': true }), 'user');
+ * // => ['barney']
+ *
+ * // using the `_.matchesProperty` callback shorthand
+ * _.pluck(_.filter(users, 'active', false), 'user');
+ * // => ['fred']
+ *
+ * // using the `_.property` callback shorthand
+ * _.pluck(_.filter(users, 'active'), 'user');
+ * // => ['barney']
+ */function filter(collection,predicate,thisArg){var func=isArray(collection)?arrayFilter:baseFilter;predicate=getCallback(predicate,thisArg,3);return func(collection,predicate)}
+/**
+ * Iterates over elements of `collection`, returning the first element
+ * `predicate` returns truthy for. The predicate is bound to `thisArg` and
+ * invoked with three arguments: (value, index|key, collection).
+ *
+ * If a property name is provided for `predicate` the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If a value is also provided for `thisArg` the created `_.matchesProperty`
+ * style callback returns `true` for elements that have a matching property
+ * value, else `false`.
+ *
+ * If an object is provided for `predicate` the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @alias detect
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to search.
+ * @param {Function|Object|string} [predicate=_.identity] The function invoked
+ * per iteration.
+ * @param {*} [thisArg] The `this` binding of `predicate`.
+ * @returns {*} Returns the matched element, else `undefined`.
+ * @example
+ *
+ * var users = [
+ * { 'user': 'barney', 'age': 36, 'active': true },
+ * { 'user': 'fred', 'age': 40, 'active': false },
+ * { 'user': 'pebbles', 'age': 1, 'active': true }
+ * ];
+ *
+ * _.result(_.find(users, function(chr) {
+ * return chr.age < 40;
+ * }), 'user');
+ * // => 'barney'
+ *
+ * // using the `_.matches` callback shorthand
+ * _.result(_.find(users, { 'age': 1, 'active': true }), 'user');
+ * // => 'pebbles'
+ *
+ * // using the `_.matchesProperty` callback shorthand
+ * _.result(_.find(users, 'active', false), 'user');
+ * // => 'fred'
+ *
+ * // using the `_.property` callback shorthand
+ * _.result(_.find(users, 'active'), 'user');
+ * // => 'barney'
+ */var find=createFind(baseEach);
+/**
+ * This method is like `_.find` except that it iterates over elements of
+ * `collection` from right to left.
+ *
+ * @static
+ * @memberOf _
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to search.
+ * @param {Function|Object|string} [predicate=_.identity] The function invoked
+ * per iteration.
+ * @param {*} [thisArg] The `this` binding of `predicate`.
+ * @returns {*} Returns the matched element, else `undefined`.
+ * @example
+ *
+ * _.findLast([1, 2, 3, 4], function(n) {
+ * return n % 2 == 1;
+ * });
+ * // => 3
+ */var findLast=createFind(baseEachRight,true);
+/**
+ * Performs a deep comparison between each element in `collection` and the
+ * source object, returning the first element that has equivalent property
+ * values.
+ *
+ * **Note:** This method supports comparing arrays, booleans, `Date` objects,
+ * numbers, `Object` objects, regexes, and strings. Objects are compared by
+ * their own, not inherited, enumerable properties. For comparing a single
+ * own or inherited property value see `_.matchesProperty`.
+ *
+ * @static
+ * @memberOf _
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to search.
+ * @param {Object} source The object of property values to match.
+ * @returns {*} Returns the matched element, else `undefined`.
+ * @example
+ *
+ * var users = [
+ * { 'user': 'barney', 'age': 36, 'active': true },
+ * { 'user': 'fred', 'age': 40, 'active': false }
+ * ];
+ *
+ * _.result(_.findWhere(users, { 'age': 36, 'active': true }), 'user');
+ * // => 'barney'
+ *
+ * _.result(_.findWhere(users, { 'age': 40, 'active': false }), 'user');
+ * // => 'fred'
+ */function findWhere(collection,source){return find(collection,baseMatches(source))}
+/**
+ * Iterates over elements of `collection` invoking `iteratee` for each element.
+ * The `iteratee` is bound to `thisArg` and invoked with three arguments:
+ * (value, index|key, collection). Iteratee functions may exit iteration early
+ * by explicitly returning `false`.
+ *
+ * **Note:** As with other "Collections" methods, objects with a "length" property
+ * are iterated like arrays. To avoid this behavior `_.forIn` or `_.forOwn`
+ * may be used for object iteration.
+ *
+ * @static
+ * @memberOf _
+ * @alias each
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function} [iteratee=_.identity] The function invoked per iteration.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {Array|Object|string} Returns `collection`.
+ * @example
+ *
+ * _([1, 2]).forEach(function(n) {
+ * console.log(n);
+ * }).value();
+ * // => logs each value from left to right and returns the array
+ *
+ * _.forEach({ 'a': 1, 'b': 2 }, function(n, key) {
+ * console.log(n, key);
+ * });
+ * // => logs each value-key pair and returns the object (iteration order is not guaranteed)
+ */var forEach=createForEach(arrayEach,baseEach);
+/**
+ * This method is like `_.forEach` except that it iterates over elements of
+ * `collection` from right to left.
+ *
+ * @static
+ * @memberOf _
+ * @alias eachRight
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function} [iteratee=_.identity] The function invoked per iteration.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {Array|Object|string} Returns `collection`.
+ * @example
+ *
+ * _([1, 2]).forEachRight(function(n) {
+ * console.log(n);
+ * }).value();
+ * // => logs each value from right to left and returns the array
+ */var forEachRight=createForEach(arrayEachRight,baseEachRight);
+/**
+ * Creates an object composed of keys generated from the results of running
+ * each element of `collection` through `iteratee`. The corresponding value
+ * of each key is an array of the elements responsible for generating the key.
+ * The `iteratee` is bound to `thisArg` and invoked with three arguments:
+ * (value, index|key, collection).
+ *
+ * If a property name is provided for `iteratee` the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If a value is also provided for `thisArg` the created `_.matchesProperty`
+ * style callback returns `true` for elements that have a matching property
+ * value, else `false`.
+ *
+ * If an object is provided for `iteratee` the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function|Object|string} [iteratee=_.identity] The function invoked
+ * per iteration.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {Object} Returns the composed aggregate object.
+ * @example
+ *
+ * _.groupBy([4.2, 6.1, 6.4], function(n) {
+ * return Math.floor(n);
+ * });
+ * // => { '4': [4.2], '6': [6.1, 6.4] }
+ *
+ * _.groupBy([4.2, 6.1, 6.4], function(n) {
+ * return this.floor(n);
+ * }, Math);
+ * // => { '4': [4.2], '6': [6.1, 6.4] }
+ *
+ * // using the `_.property` callback shorthand
+ * _.groupBy(['one', 'two', 'three'], 'length');
+ * // => { '3': ['one', 'two'], '5': ['three'] }
+ */var groupBy=createAggregator(function(result,value,key){if(hasOwnProperty.call(result,key)){result[key].push(value)}else{result[key]=[value]}});
+/**
+ * Checks if `value` is in `collection` using
+ * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
+ * for equality comparisons. If `fromIndex` is negative, it is used as the offset
+ * from the end of `collection`.
+ *
+ * @static
+ * @memberOf _
+ * @alias contains, include
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to search.
+ * @param {*} target The value to search for.
+ * @param {number} [fromIndex=0] The index to search from.
+ * @param- {Object} [guard] Enables use as a callback for functions like `_.reduce`.
+ * @returns {boolean} Returns `true` if a matching element is found, else `false`.
+ * @example
+ *
+ * _.includes([1, 2, 3], 1);
+ * // => true
+ *
+ * _.includes([1, 2, 3], 1, 2);
+ * // => false
+ *
+ * _.includes({ 'user': 'fred', 'age': 40 }, 'fred');
+ * // => true
+ *
+ * _.includes('pebbles', 'eb');
+ * // => true
+ */function includes(collection,target,fromIndex,guard){var length=collection?getLength(collection):0;if(!isLength(length)){collection=values(collection);length=collection.length}if(typeof fromIndex!="number"||guard&&isIterateeCall(target,fromIndex,guard)){fromIndex=0}else{fromIndex=fromIndex<0?nativeMax(length+fromIndex,0):fromIndex||0}return typeof collection=="string"||!isArray(collection)&&isString(collection)?fromIndex<=length&&collection.indexOf(target,fromIndex)>-1:!!length&&getIndexOf(collection,target,fromIndex)>-1}
+/**
+ * Creates an object composed of keys generated from the results of running
+ * each element of `collection` through `iteratee`. The corresponding value
+ * of each key is the last element responsible for generating the key. The
+ * iteratee function is bound to `thisArg` and invoked with three arguments:
+ * (value, index|key, collection).
+ *
+ * If a property name is provided for `iteratee` the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If a value is also provided for `thisArg` the created `_.matchesProperty`
+ * style callback returns `true` for elements that have a matching property
+ * value, else `false`.
+ *
+ * If an object is provided for `iteratee` the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function|Object|string} [iteratee=_.identity] The function invoked
+ * per iteration.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {Object} Returns the composed aggregate object.
+ * @example
+ *
+ * var keyData = [
+ * { 'dir': 'left', 'code': 97 },
+ * { 'dir': 'right', 'code': 100 }
+ * ];
+ *
+ * _.indexBy(keyData, 'dir');
+ * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } }
+ *
+ * _.indexBy(keyData, function(object) {
+ * return String.fromCharCode(object.code);
+ * });
+ * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } }
+ *
+ * _.indexBy(keyData, function(object) {
+ * return this.fromCharCode(object.code);
+ * }, String);
+ * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } }
+ */var indexBy=createAggregator(function(result,value,key){result[key]=value});
+/**
+ * Invokes the method at `path` of each element in `collection`, returning
+ * an array of the results of each invoked method. Any additional arguments
+ * are provided to each invoked method. If `methodName` is a function it is
+ * invoked for, and `this` bound to, each element in `collection`.
+ *
+ * @static
+ * @memberOf _
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Array|Function|string} path The path of the method to invoke or
+ * the function invoked per iteration.
+ * @param {...*} [args] The arguments to invoke the method with.
+ * @returns {Array} Returns the array of results.
+ * @example
+ *
+ * _.invoke([[5, 1, 7], [3, 2, 1]], 'sort');
+ * // => [[1, 5, 7], [1, 2, 3]]
+ *
+ * _.invoke([123, 456], String.prototype.split, '');
+ * // => [['1', '2', '3'], ['4', '5', '6']]
+ */var invoke=restParam(function(collection,path,args){var index=-1,isFunc=typeof path=="function",isProp=isKey(path),result=isArrayLike(collection)?Array(collection.length):[];baseEach(collection,function(value){var func=isFunc?path:isProp&&value!=null?value[path]:undefined;result[++index]=func?func.apply(value,args):invokePath(value,path,args)});return result});
+/**
+ * Creates an array of values by running each element in `collection` through
+ * `iteratee`. The `iteratee` is bound to `thisArg` and invoked with three
+ * arguments: (value, index|key, collection).
+ *
+ * If a property name is provided for `iteratee` the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If a value is also provided for `thisArg` the created `_.matchesProperty`
+ * style callback returns `true` for elements that have a matching property
+ * value, else `false`.
+ *
+ * If an object is provided for `iteratee` the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * Many lodash methods are guarded to work as iteratees for methods like
+ * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.
+ *
+ * The guarded methods are:
+ * `ary`, `callback`, `chunk`, `clone`, `create`, `curry`, `curryRight`,
+ * `drop`, `dropRight`, `every`, `fill`, `flatten`, `invert`, `max`, `min`,
+ * `parseInt`, `slice`, `sortBy`, `take`, `takeRight`, `template`, `trim`,
+ * `trimLeft`, `trimRight`, `trunc`, `random`, `range`, `sample`, `some`,
+ * `sum`, `uniq`, and `words`
+ *
+ * @static
+ * @memberOf _
+ * @alias collect
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function|Object|string} [iteratee=_.identity] The function invoked
+ * per iteration.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {Array} Returns the new mapped array.
+ * @example
+ *
+ * function timesThree(n) {
+ * return n * 3;
+ * }
+ *
+ * _.map([1, 2], timesThree);
+ * // => [3, 6]
+ *
+ * _.map({ 'a': 1, 'b': 2 }, timesThree);
+ * // => [3, 6] (iteration order is not guaranteed)
+ *
+ * var users = [
+ * { 'user': 'barney' },
+ * { 'user': 'fred' }
+ * ];
+ *
+ * // using the `_.property` callback shorthand
+ * _.map(users, 'user');
+ * // => ['barney', 'fred']
+ */function map(collection,iteratee,thisArg){var func=isArray(collection)?arrayMap:baseMap;iteratee=getCallback(iteratee,thisArg,3);return func(collection,iteratee)}
+/**
+ * Creates an array of elements split into two groups, the first of which
+ * contains elements `predicate` returns truthy for, while the second of which
+ * contains elements `predicate` returns falsey for. The predicate is bound
+ * to `thisArg` and invoked with three arguments: (value, index|key, collection).
+ *
+ * If a property name is provided for `predicate` the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If a value is also provided for `thisArg` the created `_.matchesProperty`
+ * style callback returns `true` for elements that have a matching property
+ * value, else `false`.
+ *
+ * If an object is provided for `predicate` the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function|Object|string} [predicate=_.identity] The function invoked
+ * per iteration.
+ * @param {*} [thisArg] The `this` binding of `predicate`.
+ * @returns {Array} Returns the array of grouped elements.
+ * @example
+ *
+ * _.partition([1, 2, 3], function(n) {
+ * return n % 2;
+ * });
+ * // => [[1, 3], [2]]
+ *
+ * _.partition([1.2, 2.3, 3.4], function(n) {
+ * return this.floor(n) % 2;
+ * }, Math);
+ * // => [[1.2, 3.4], [2.3]]
+ *
+ * var users = [
+ * { 'user': 'barney', 'age': 36, 'active': false },
+ * { 'user': 'fred', 'age': 40, 'active': true },
+ * { 'user': 'pebbles', 'age': 1, 'active': false }
+ * ];
+ *
+ * var mapper = function(array) {
+ * return _.pluck(array, 'user');
+ * };
+ *
+ * // using the `_.matches` callback shorthand
+ * _.map(_.partition(users, { 'age': 1, 'active': false }), mapper);
+ * // => [['pebbles'], ['barney', 'fred']]
+ *
+ * // using the `_.matchesProperty` callback shorthand
+ * _.map(_.partition(users, 'active', false), mapper);
+ * // => [['barney', 'pebbles'], ['fred']]
+ *
+ * // using the `_.property` callback shorthand
+ * _.map(_.partition(users, 'active'), mapper);
+ * // => [['fred'], ['barney', 'pebbles']]
+ */var partition=createAggregator(function(result,value,key){result[key?0:1].push(value)},function(){return[[],[]]});
+/**
+ * Gets the property value of `path` from all elements in `collection`.
+ *
+ * @static
+ * @memberOf _
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Array|string} path The path of the property to pluck.
+ * @returns {Array} Returns the property values.
+ * @example
+ *
+ * var users = [
+ * { 'user': 'barney', 'age': 36 },
+ * { 'user': 'fred', 'age': 40 }
+ * ];
+ *
+ * _.pluck(users, 'user');
+ * // => ['barney', 'fred']
+ *
+ * var userIndex = _.indexBy(users, 'user');
+ * _.pluck(userIndex, 'age');
+ * // => [36, 40] (iteration order is not guaranteed)
+ */function pluck(collection,path){return map(collection,property(path))}
+/**
+ * Reduces `collection` to a value which is the accumulated result of running
+ * each element in `collection` through `iteratee`, where each successive
+ * invocation is supplied the return value of the previous. If `accumulator`
+ * is not provided the first element of `collection` is used as the initial
+ * value. The `iteratee` is bound to `thisArg` and invoked with four arguments:
+ * (accumulator, value, index|key, collection).
+ *
+ * Many lodash methods are guarded to work as iteratees for methods like
+ * `_.reduce`, `_.reduceRight`, and `_.transform`.
+ *
+ * The guarded methods are:
+ * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `sortByAll`,
+ * and `sortByOrder`
+ *
+ * @static
+ * @memberOf _
+ * @alias foldl, inject
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function} [iteratee=_.identity] The function invoked per iteration.
+ * @param {*} [accumulator] The initial value.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {*} Returns the accumulated value.
+ * @example
+ *
+ * _.reduce([1, 2], function(total, n) {
+ * return total + n;
+ * });
+ * // => 3
+ *
+ * _.reduce({ 'a': 1, 'b': 2 }, function(result, n, key) {
+ * result[key] = n * 3;
+ * return result;
+ * }, {});
+ * // => { 'a': 3, 'b': 6 } (iteration order is not guaranteed)
+ */var reduce=createReduce(arrayReduce,baseEach);
+/**
+ * This method is like `_.reduce` except that it iterates over elements of
+ * `collection` from right to left.
+ *
+ * @static
+ * @memberOf _
+ * @alias foldr
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function} [iteratee=_.identity] The function invoked per iteration.
+ * @param {*} [accumulator] The initial value.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {*} Returns the accumulated value.
+ * @example
+ *
+ * var array = [[0, 1], [2, 3], [4, 5]];
+ *
+ * _.reduceRight(array, function(flattened, other) {
+ * return flattened.concat(other);
+ * }, []);
+ * // => [4, 5, 2, 3, 0, 1]
+ */var reduceRight=createReduce(arrayReduceRight,baseEachRight);
+/**
+ * The opposite of `_.filter`; this method returns the elements of `collection`
+ * that `predicate` does **not** return truthy for.
+ *
+ * @static
+ * @memberOf _
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function|Object|string} [predicate=_.identity] The function invoked
+ * per iteration.
+ * @param {*} [thisArg] The `this` binding of `predicate`.
+ * @returns {Array} Returns the new filtered array.
+ * @example
+ *
+ * _.reject([1, 2, 3, 4], function(n) {
+ * return n % 2 == 0;
+ * });
+ * // => [1, 3]
+ *
+ * var users = [
+ * { 'user': 'barney', 'age': 36, 'active': false },
+ * { 'user': 'fred', 'age': 40, 'active': true }
+ * ];
+ *
+ * // using the `_.matches` callback shorthand
+ * _.pluck(_.reject(users, { 'age': 40, 'active': true }), 'user');
+ * // => ['barney']
+ *
+ * // using the `_.matchesProperty` callback shorthand
+ * _.pluck(_.reject(users, 'active', false), 'user');
+ * // => ['fred']
+ *
+ * // using the `_.property` callback shorthand
+ * _.pluck(_.reject(users, 'active'), 'user');
+ * // => ['barney']
+ */function reject(collection,predicate,thisArg){var func=isArray(collection)?arrayFilter:baseFilter;predicate=getCallback(predicate,thisArg,3);return func(collection,function(value,index,collection){return!predicate(value,index,collection)})}
+/**
+ * Gets a random element or `n` random elements from a collection.
+ *
+ * @static
+ * @memberOf _
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to sample.
+ * @param {number} [n] The number of elements to sample.
+ * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+ * @returns {*} Returns the random sample(s).
+ * @example
+ *
+ * _.sample([1, 2, 3, 4]);
+ * // => 2
+ *
+ * _.sample([1, 2, 3, 4], 2);
+ * // => [3, 1]
+ */function sample(collection,n,guard){if(guard?isIterateeCall(collection,n,guard):n==null){collection=toIterable(collection);var length=collection.length;return length>0?collection[baseRandom(0,length-1)]:undefined}var index=-1,result=toArray(collection),length=result.length,lastIndex=length-1;n=nativeMin(n<0?0:+n||0,length);while(++index<n){var rand=baseRandom(index,lastIndex),value=result[rand];result[rand]=result[index];result[index]=value}result.length=n;return result}
+/**
+ * Creates an array of shuffled values, using a version of the
+ * [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher-Yates_shuffle).
+ *
+ * @static
+ * @memberOf _
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to shuffle.
+ * @returns {Array} Returns the new shuffled array.
+ * @example
+ *
+ * _.shuffle([1, 2, 3, 4]);
+ * // => [4, 1, 3, 2]
+ */function shuffle(collection){return sample(collection,POSITIVE_INFINITY)}
+/**
+ * Gets the size of `collection` by returning its length for array-like
+ * values or the number of own enumerable properties for objects.
+ *
+ * @static
+ * @memberOf _
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to inspect.
+ * @returns {number} Returns the size of `collection`.
+ * @example
+ *
+ * _.size([1, 2, 3]);
+ * // => 3
+ *
+ * _.size({ 'a': 1, 'b': 2 });
+ * // => 2
+ *
+ * _.size('pebbles');
+ * // => 7
+ */function size(collection){var length=collection?getLength(collection):0;return isLength(length)?length:keys(collection).length}
+/**
+ * Checks if `predicate` returns truthy for **any** element of `collection`.
+ * The function returns as soon as it finds a passing value and does not iterate
+ * over the entire collection. The predicate is bound to `thisArg` and invoked
+ * with three arguments: (value, index|key, collection).
+ *
+ * If a property name is provided for `predicate` the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If a value is also provided for `thisArg` the created `_.matchesProperty`
+ * style callback returns `true` for elements that have a matching property
+ * value, else `false`.
+ *
+ * If an object is provided for `predicate` the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @alias any
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function|Object|string} [predicate=_.identity] The function invoked
+ * per iteration.
+ * @param {*} [thisArg] The `this` binding of `predicate`.
+ * @returns {boolean} Returns `true` if any element passes the predicate check,
+ * else `false`.
+ * @example
+ *
+ * _.some([null, 0, 'yes', false], Boolean);
+ * // => true
+ *
+ * var users = [
+ * { 'user': 'barney', 'active': true },
+ * { 'user': 'fred', 'active': false }
+ * ];
+ *
+ * // using the `_.matches` callback shorthand
+ * _.some(users, { 'user': 'barney', 'active': false });
+ * // => false
+ *
+ * // using the `_.matchesProperty` callback shorthand
+ * _.some(users, 'active', false);
+ * // => true
+ *
+ * // using the `_.property` callback shorthand
+ * _.some(users, 'active');
+ * // => true
+ */function some(collection,predicate,thisArg){var func=isArray(collection)?arraySome:baseSome;if(thisArg&&isIterateeCall(collection,predicate,thisArg)){predicate=undefined}if(typeof predicate!="function"||thisArg!==undefined){predicate=getCallback(predicate,thisArg,3)}return func(collection,predicate)}
+/**
+ * Creates an array of elements, sorted in ascending order by the results of
+ * running each element in a collection through `iteratee`. This method performs
+ * a stable sort, that is, it preserves the original sort order of equal elements.
+ * The `iteratee` is bound to `thisArg` and invoked with three arguments:
+ * (value, index|key, collection).
+ *
+ * If a property name is provided for `iteratee` the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If a value is also provided for `thisArg` the created `_.matchesProperty`
+ * style callback returns `true` for elements that have a matching property
+ * value, else `false`.
+ *
+ * If an object is provided for `iteratee` the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function|Object|string} [iteratee=_.identity] The function invoked
+ * per iteration.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {Array} Returns the new sorted array.
+ * @example
+ *
+ * _.sortBy([1, 2, 3], function(n) {
+ * return Math.sin(n);
+ * });
+ * // => [3, 1, 2]
+ *
+ * _.sortBy([1, 2, 3], function(n) {
+ * return this.sin(n);
+ * }, Math);
+ * // => [3, 1, 2]
+ *
+ * var users = [
+ * { 'user': 'fred' },
+ * { 'user': 'pebbles' },
+ * { 'user': 'barney' }
+ * ];
+ *
+ * // using the `_.property` callback shorthand
+ * _.pluck(_.sortBy(users, 'user'), 'user');
+ * // => ['barney', 'fred', 'pebbles']
+ */function sortBy(collection,iteratee,thisArg){if(collection==null){return[]}if(thisArg&&isIterateeCall(collection,iteratee,thisArg)){iteratee=undefined}var index=-1;iteratee=getCallback(iteratee,thisArg,3);var result=baseMap(collection,function(value,key,collection){return{criteria:iteratee(value,key,collection),index:++index,value:value}});return baseSortBy(result,compareAscending)}
+/**
+ * This method is like `_.sortBy` except that it can sort by multiple iteratees
+ * or property names.
+ *
+ * If a property name is provided for an iteratee the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If an object is provided for an iteratee the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {...(Function|Function[]|Object|Object[]|string|string[])} iteratees
+ * The iteratees to sort by, specified as individual values or arrays of values.
+ * @returns {Array} Returns the new sorted array.
+ * @example
+ *
+ * var users = [
+ * { 'user': 'fred', 'age': 48 },
+ * { 'user': 'barney', 'age': 36 },
+ * { 'user': 'fred', 'age': 42 },
+ * { 'user': 'barney', 'age': 34 }
+ * ];
+ *
+ * _.map(_.sortByAll(users, ['user', 'age']), _.values);
+ * // => [['barney', 34], ['barney', 36], ['fred', 42], ['fred', 48]]
+ *
+ * _.map(_.sortByAll(users, 'user', function(chr) {
+ * return Math.floor(chr.age / 10);
+ * }), _.values);
+ * // => [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 42]]
+ */var sortByAll=restParam(function(collection,iteratees){if(collection==null){return[]}var guard=iteratees[2];if(guard&&isIterateeCall(iteratees[0],iteratees[1],guard)){iteratees.length=1}return baseSortByOrder(collection,baseFlatten(iteratees),[])});
+/**
+ * This method is like `_.sortByAll` except that it allows specifying the
+ * sort orders of the iteratees to sort by. If `orders` is unspecified, all
+ * values are sorted in ascending order. Otherwise, a value is sorted in
+ * ascending order if its corresponding order is "asc", and descending if "desc".
+ *
+ * If a property name is provided for an iteratee the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If an object is provided for an iteratee the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.
+ * @param {boolean[]} [orders] The sort orders of `iteratees`.
+ * @param- {Object} [guard] Enables use as a callback for functions like `_.reduce`.
+ * @returns {Array} Returns the new sorted array.
+ * @example
+ *
+ * var users = [
+ * { 'user': 'fred', 'age': 48 },
+ * { 'user': 'barney', 'age': 34 },
+ * { 'user': 'fred', 'age': 42 },
+ * { 'user': 'barney', 'age': 36 }
+ * ];
+ *
+ * // sort by `user` in ascending order and by `age` in descending order
+ * _.map(_.sortByOrder(users, ['user', 'age'], ['asc', 'desc']), _.values);
+ * // => [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 42]]
+ */function sortByOrder(collection,iteratees,orders,guard){if(collection==null){return[]}if(guard&&isIterateeCall(iteratees,orders,guard)){orders=undefined}if(!isArray(iteratees)){iteratees=iteratees==null?[]:[iteratees]}if(!isArray(orders)){orders=orders==null?[]:[orders]}return baseSortByOrder(collection,iteratees,orders)}
+/**
+ * Performs a deep comparison between each element in `collection` and the
+ * source object, returning an array of all elements that have equivalent
+ * property values.
+ *
+ * **Note:** This method supports comparing arrays, booleans, `Date` objects,
+ * numbers, `Object` objects, regexes, and strings. Objects are compared by
+ * their own, not inherited, enumerable properties. For comparing a single
+ * own or inherited property value see `_.matchesProperty`.
+ *
+ * @static
+ * @memberOf _
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to search.
+ * @param {Object} source The object of property values to match.
+ * @returns {Array} Returns the new filtered array.
+ * @example
+ *
+ * var users = [
+ * { 'user': 'barney', 'age': 36, 'active': false, 'pets': ['hoppy'] },
+ * { 'user': 'fred', 'age': 40, 'active': true, 'pets': ['baby puss', 'dino'] }
+ * ];
+ *
+ * _.pluck(_.where(users, { 'age': 36, 'active': false }), 'user');
+ * // => ['barney']
+ *
+ * _.pluck(_.where(users, { 'pets': ['dino'] }), 'user');
+ * // => ['fred']
+ */function where(collection,source){return filter(collection,baseMatches(source))}
+/*------------------------------------------------------------------------*/
+/**
+ * Gets the number of milliseconds that have elapsed since the Unix epoch
+ * (1 January 1970 00:00:00 UTC).
+ *
+ * @static
+ * @memberOf _
+ * @category Date
+ * @example
+ *
+ * _.defer(function(stamp) {
+ * console.log(_.now() - stamp);
+ * }, _.now());
+ * // => logs the number of milliseconds it took for the deferred function to be invoked
+ */var now=nativeNow||function(){return(new Date).getTime()};
+/*------------------------------------------------------------------------*/
+/**
+ * The opposite of `_.before`; this method creates a function that invokes
+ * `func` once it is called `n` or more times.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {number} n The number of calls before `func` is invoked.
+ * @param {Function} func The function to restrict.
+ * @returns {Function} Returns the new restricted function.
+ * @example
+ *
+ * var saves = ['profile', 'settings'];
+ *
+ * var done = _.after(saves.length, function() {
+ * console.log('done saving!');
+ * });
+ *
+ * _.forEach(saves, function(type) {
+ * asyncSave({ 'type': type, 'complete': done });
+ * });
+ * // => logs 'done saving!' after the two async saves have completed
+ */function after(n,func){if(typeof func!="function"){if(typeof n=="function"){var temp=n;n=func;func=temp}else{throw new TypeError(FUNC_ERROR_TEXT)}}n=nativeIsFinite(n=+n)?n:0;return function(){if(--n<1){return func.apply(this,arguments)}}}
+/**
+ * Creates a function that accepts up to `n` arguments ignoring any
+ * additional arguments.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Function} func The function to cap arguments for.
+ * @param {number} [n=func.length] The arity cap.
+ * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+ * @returns {Function} Returns the new function.
+ * @example
+ *
+ * _.map(['6', '8', '10'], _.ary(parseInt, 1));
+ * // => [6, 8, 10]
+ */function ary(func,n,guard){if(guard&&isIterateeCall(func,n,guard)){n=undefined}n=func&&n==null?func.length:nativeMax(+n||0,0);return createWrapper(func,ARY_FLAG,undefined,undefined,undefined,undefined,n)}
+/**
+ * Creates a function that invokes `func`, with the `this` binding and arguments
+ * of the created function, while it is called less than `n` times. Subsequent
+ * calls to the created function return the result of the last `func` invocation.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {number} n The number of calls at which `func` is no longer invoked.
+ * @param {Function} func The function to restrict.
+ * @returns {Function} Returns the new restricted function.
+ * @example
+ *
+ * jQuery('#add').on('click', _.before(5, addContactToList));
+ * // => allows adding up to 4 contacts to the list
+ */function before(n,func){var result;if(typeof func!="function"){if(typeof n=="function"){var temp=n;n=func;func=temp}else{throw new TypeError(FUNC_ERROR_TEXT)}}return function(){if(--n>0){result=func.apply(this,arguments)}if(n<=1){func=undefined}return result}}
+/**
+ * Creates a function that invokes `func` with the `this` binding of `thisArg`
+ * and prepends any additional `_.bind` arguments to those provided to the
+ * bound function.
+ *
+ * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds,
+ * may be used as a placeholder for partially applied arguments.
+ *
+ * **Note:** Unlike native `Function#bind` this method does not set the "length"
+ * property of bound functions.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Function} func The function to bind.
+ * @param {*} thisArg The `this` binding of `func`.
+ * @param {...*} [partials] The arguments to be partially applied.
+ * @returns {Function} Returns the new bound function.
+ * @example
+ *
+ * var greet = function(greeting, punctuation) {
+ * return greeting + ' ' + this.user + punctuation;
+ * };
+ *
+ * var object = { 'user': 'fred' };
+ *
+ * var bound = _.bind(greet, object, 'hi');
+ * bound('!');
+ * // => 'hi fred!'
+ *
+ * // using placeholders
+ * var bound = _.bind(greet, object, _, '!');
+ * bound('hi');
+ * // => 'hi fred!'
+ */var bind=restParam(function(func,thisArg,partials){var bitmask=BIND_FLAG;if(partials.length){var holders=replaceHolders(partials,bind.placeholder);bitmask|=PARTIAL_FLAG}return createWrapper(func,bitmask,thisArg,partials,holders)});
+/**
+ * Binds methods of an object to the object itself, overwriting the existing
+ * method. Method names may be specified as individual arguments or as arrays
+ * of method names. If no method names are provided all enumerable function
+ * properties, own and inherited, of `object` are bound.
+ *
+ * **Note:** This method does not set the "length" property of bound functions.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Object} object The object to bind and assign the bound methods to.
+ * @param {...(string|string[])} [methodNames] The object method names to bind,
+ * specified as individual method names or arrays of method names.
+ * @returns {Object} Returns `object`.
+ * @example
+ *
+ * var view = {
+ * 'label': 'docs',
+ * 'onClick': function() {
+ * console.log('clicked ' + this.label);
+ * }
+ * };
+ *
+ * _.bindAll(view);
+ * jQuery('#docs').on('click', view.onClick);
+ * // => logs 'clicked docs' when the element is clicked
+ */var bindAll=restParam(function(object,methodNames){methodNames=methodNames.length?baseFlatten(methodNames):functions(object);var index=-1,length=methodNames.length;while(++index<length){var key=methodNames[index];object[key]=createWrapper(object[key],BIND_FLAG,object)}return object});
+/**
+ * Creates a function that invokes the method at `object[key]` and prepends
+ * any additional `_.bindKey` arguments to those provided to the bound function.
+ *
+ * This method differs from `_.bind` by allowing bound functions to reference
+ * methods that may be redefined or don't yet exist.
+ * See [Peter Michaux's article](http://peter.michaux.ca/articles/lazy-function-definition-pattern)
+ * for more details.
+ *
+ * The `_.bindKey.placeholder` value, which defaults to `_` in monolithic
+ * builds, may be used as a placeholder for partially applied arguments.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Object} object The object the method belongs to.
+ * @param {string} key The key of the method.
+ * @param {...*} [partials] The arguments to be partially applied.
+ * @returns {Function} Returns the new bound function.
+ * @example
+ *
+ * var object = {
+ * 'user': 'fred',
+ * 'greet': function(greeting, punctuation) {
+ * return greeting + ' ' + this.user + punctuation;
+ * }
+ * };
+ *
+ * var bound = _.bindKey(object, 'greet', 'hi');
+ * bound('!');
+ * // => 'hi fred!'
+ *
+ * object.greet = function(greeting, punctuation) {
+ * return greeting + 'ya ' + this.user + punctuation;
+ * };
+ *
+ * bound('!');
+ * // => 'hiya fred!'
+ *
+ * // using placeholders
+ * var bound = _.bindKey(object, 'greet', _, '!');
+ * bound('hi');
+ * // => 'hiya fred!'
+ */var bindKey=restParam(function(object,key,partials){var bitmask=BIND_FLAG|BIND_KEY_FLAG;if(partials.length){var holders=replaceHolders(partials,bindKey.placeholder);bitmask|=PARTIAL_FLAG}return createWrapper(key,bitmask,object,partials,holders)});
+/**
+ * Creates a function that accepts one or more arguments of `func` that when
+ * called either invokes `func` returning its result, if all `func` arguments
+ * have been provided, or returns a function that accepts one or more of the
+ * remaining `func` arguments, and so on. The arity of `func` may be specified
+ * if `func.length` is not sufficient.
+ *
+ * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds,
+ * may be used as a placeholder for provided arguments.
+ *
+ * **Note:** This method does not set the "length" property of curried functions.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Function} func The function to curry.
+ * @param {number} [arity=func.length] The arity of `func`.
+ * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+ * @returns {Function} Returns the new curried function.
+ * @example
+ *
+ * var abc = function(a, b, c) {
+ * return [a, b, c];
+ * };
+ *
+ * var curried = _.curry(abc);
+ *
+ * curried(1)(2)(3);
+ * // => [1, 2, 3]
+ *
+ * curried(1, 2)(3);
+ * // => [1, 2, 3]
+ *
+ * curried(1, 2, 3);
+ * // => [1, 2, 3]
+ *
+ * // using placeholders
+ * curried(1)(_, 3)(2);
+ * // => [1, 2, 3]
+ */var curry=createCurry(CURRY_FLAG);
+/**
+ * This method is like `_.curry` except that arguments are applied to `func`
+ * in the manner of `_.partialRight` instead of `_.partial`.
+ *
+ * The `_.curryRight.placeholder` value, which defaults to `_` in monolithic
+ * builds, may be used as a placeholder for provided arguments.
+ *
+ * **Note:** This method does not set the "length" property of curried functions.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Function} func The function to curry.
+ * @param {number} [arity=func.length] The arity of `func`.
+ * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+ * @returns {Function} Returns the new curried function.
+ * @example
+ *
+ * var abc = function(a, b, c) {
+ * return [a, b, c];
+ * };
+ *
+ * var curried = _.curryRight(abc);
+ *
+ * curried(3)(2)(1);
+ * // => [1, 2, 3]
+ *
+ * curried(2, 3)(1);
+ * // => [1, 2, 3]
+ *
+ * curried(1, 2, 3);
+ * // => [1, 2, 3]
+ *
+ * // using placeholders
+ * curried(3)(1, _)(2);
+ * // => [1, 2, 3]
+ */var curryRight=createCurry(CURRY_RIGHT_FLAG);
+/**
+ * Creates a debounced function that delays invoking `func` until after `wait`
+ * milliseconds have elapsed since the last time the debounced function was
+ * invoked. The debounced function comes with a `cancel` method to cancel
+ * delayed invocations. Provide an options object to indicate that `func`
+ * should be invoked on the leading and/or trailing edge of the `wait` timeout.
+ * Subsequent calls to the debounced function return the result of the last
+ * `func` invocation.
+ *
+ * **Note:** If `leading` and `trailing` options are `true`, `func` is invoked
+ * on the trailing edge of the timeout only if the the debounced function is
+ * invoked more than once during the `wait` timeout.
+ *
+ * See [David Corbacho's article](http://drupalmotion.com/article/debounce-and-throttle-visual-explanation)
+ * for details over the differences between `_.debounce` and `_.throttle`.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Function} func The function to debounce.
+ * @param {number} [wait=0] The number of milliseconds to delay.
+ * @param {Object} [options] The options object.
+ * @param {boolean} [options.leading=false] Specify invoking on the leading
+ * edge of the timeout.
+ * @param {number} [options.maxWait] The maximum time `func` is allowed to be
+ * delayed before it is invoked.
+ * @param {boolean} [options.trailing=true] Specify invoking on the trailing
+ * edge of the timeout.
+ * @returns {Function} Returns the new debounced function.
+ * @example
+ *
+ * // avoid costly calculations while the window size is in flux
+ * jQuery(window).on('resize', _.debounce(calculateLayout, 150));
+ *
+ * // invoke `sendMail` when the click event is fired, debouncing subsequent calls
+ * jQuery('#postbox').on('click', _.debounce(sendMail, 300, {
+ * 'leading': true,
+ * 'trailing': false
+ * }));
+ *
+ * // ensure `batchLog` is invoked once after 1 second of debounced calls
+ * var source = new EventSource('/stream');
+ * jQuery(source).on('message', _.debounce(batchLog, 250, {
+ * 'maxWait': 1000
+ * }));
+ *
+ * // cancel a debounced call
+ * var todoChanges = _.debounce(batchLog, 1000);
+ * Object.observe(models.todo, todoChanges);
+ *
+ * Object.observe(models, function(changes) {
+ * if (_.find(changes, { 'user': 'todo', 'type': 'delete'})) {
+ * todoChanges.cancel();
+ * }
+ * }, ['delete']);
+ *
+ * // ...at some point `models.todo` is changed
+ * models.todo.completed = true;
+ *
+ * // ...before 1 second has passed `models.todo` is deleted
+ * // which cancels the debounced `todoChanges` call
+ * delete models.todo;
+ */function debounce(func,wait,options){var args,maxTimeoutId,result,stamp,thisArg,timeoutId,trailingCall,lastCalled=0,maxWait=false,trailing=true;if(typeof func!="function"){throw new TypeError(FUNC_ERROR_TEXT)}wait=wait<0?0:+wait||0;if(options===true){var leading=true;trailing=false}else if(isObject(options)){leading=!!options.leading;maxWait="maxWait"in options&&nativeMax(+options.maxWait||0,wait);trailing="trailing"in options?!!options.trailing:trailing}function cancel(){if(timeoutId){clearTimeout(timeoutId)}if(maxTimeoutId){clearTimeout(maxTimeoutId)}lastCalled=0;maxTimeoutId=timeoutId=trailingCall=undefined}function complete(isCalled,id){if(id){clearTimeout(id)}maxTimeoutId=timeoutId=trailingCall=undefined;if(isCalled){lastCalled=now();result=func.apply(thisArg,args);if(!timeoutId&&!maxTimeoutId){args=thisArg=undefined}}}function delayed(){var remaining=wait-(now()-stamp);if(remaining<=0||remaining>wait){complete(trailingCall,maxTimeoutId)}else{timeoutId=setTimeout(delayed,remaining)}}function maxDelayed(){complete(trailing,timeoutId)}function debounced(){args=arguments;stamp=now();thisArg=this;trailingCall=trailing&&(timeoutId||!leading);if(maxWait===false){var leadingCall=leading&&!timeoutId}else{if(!maxTimeoutId&&!leading){lastCalled=stamp}var remaining=maxWait-(stamp-lastCalled),isCalled=remaining<=0||remaining>maxWait;if(isCalled){if(maxTimeoutId){maxTimeoutId=clearTimeout(maxTimeoutId)}lastCalled=stamp;result=func.apply(thisArg,args)}else if(!maxTimeoutId){maxTimeoutId=setTimeout(maxDelayed,remaining)}}if(isCalled&&timeoutId){timeoutId=clearTimeout(timeoutId)}else if(!timeoutId&&wait!==maxWait){timeoutId=setTimeout(delayed,wait)}if(leadingCall){isCalled=true;result=func.apply(thisArg,args)}if(isCalled&&!timeoutId&&!maxTimeoutId){args=thisArg=undefined}return result}debounced.cancel=cancel;return debounced}
+/**
+ * Defers invoking the `func` until the current call stack has cleared. Any
+ * additional arguments are provided to `func` when it is invoked.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Function} func The function to defer.
+ * @param {...*} [args] The arguments to invoke the function with.
+ * @returns {number} Returns the timer id.
+ * @example
+ *
+ * _.defer(function(text) {
+ * console.log(text);
+ * }, 'deferred');
+ * // logs 'deferred' after one or more milliseconds
+ */var defer=restParam(function(func,args){return baseDelay(func,1,args)});
+/**
+ * Invokes `func` after `wait` milliseconds. Any additional arguments are
+ * provided to `func` when it is invoked.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Function} func The function to delay.
+ * @param {number} wait The number of milliseconds to delay invocation.
+ * @param {...*} [args] The arguments to invoke the function with.
+ * @returns {number} Returns the timer id.
+ * @example
+ *
+ * _.delay(function(text) {
+ * console.log(text);
+ * }, 1000, 'later');
+ * // => logs 'later' after one second
+ */var delay=restParam(function(func,wait,args){return baseDelay(func,wait,args)});
+/**
+ * Creates a function that returns the result of invoking the provided
+ * functions with the `this` binding of the created function, where each
+ * successive invocation is supplied the return value of the previous.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {...Function} [funcs] Functions to invoke.
+ * @returns {Function} Returns the new function.
+ * @example
+ *
+ * function square(n) {
+ * return n * n;
+ * }
+ *
+ * var addSquare = _.flow(_.add, square);
+ * addSquare(1, 2);
+ * // => 9
+ */var flow=createFlow();
+/**
+ * This method is like `_.flow` except that it creates a function that
+ * invokes the provided functions from right to left.
+ *
+ * @static
+ * @memberOf _
+ * @alias backflow, compose
+ * @category Function
+ * @param {...Function} [funcs] Functions to invoke.
+ * @returns {Function} Returns the new function.
+ * @example
+ *
+ * function square(n) {
+ * return n * n;
+ * }
+ *
+ * var addSquare = _.flowRight(square, _.add);
+ * addSquare(1, 2);
+ * // => 9
+ */var flowRight=createFlow(true);
+/**
+ * Creates a function that memoizes the result of `func`. If `resolver` is
+ * provided it determines the cache key for storing the result based on the
+ * arguments provided to the memoized function. By default, the first argument
+ * provided to the memoized function is coerced to a string and used as the
+ * cache key. The `func` is invoked with the `this` binding of the memoized
+ * function.
+ *
+ * **Note:** The cache is exposed as the `cache` property on the memoized
+ * function. Its creation may be customized by replacing the `_.memoize.Cache`
+ * constructor with one whose instances implement the [`Map`](http://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-map-prototype-object)
+ * method interface of `get`, `has`, and `set`.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Function} func The function to have its output memoized.
+ * @param {Function} [resolver] The function to resolve the cache key.
+ * @returns {Function} Returns the new memoizing function.
+ * @example
+ *
+ * var upperCase = _.memoize(function(string) {
+ * return string.toUpperCase();
+ * });
+ *
+ * upperCase('fred');
+ * // => 'FRED'
+ *
+ * // modifying the result cache
+ * upperCase.cache.set('fred', 'BARNEY');
+ * upperCase('fred');
+ * // => 'BARNEY'
+ *
+ * // replacing `_.memoize.Cache`
+ * var object = { 'user': 'fred' };
+ * var other = { 'user': 'barney' };
+ * var identity = _.memoize(_.identity);
+ *
+ * identity(object);
+ * // => { 'user': 'fred' }
+ * identity(other);
+ * // => { 'user': 'fred' }
+ *
+ * _.memoize.Cache = WeakMap;
+ * var identity = _.memoize(_.identity);
+ *
+ * identity(object);
+ * // => { 'user': 'fred' }
+ * identity(other);
+ * // => { 'user': 'barney' }
+ */function memoize(func,resolver){if(typeof func!="function"||resolver&&typeof resolver!="function"){throw new TypeError(FUNC_ERROR_TEXT)}var memoized=function(){var args=arguments,key=resolver?resolver.apply(this,args):args[0],cache=memoized.cache;if(cache.has(key)){return cache.get(key)}var result=func.apply(this,args);memoized.cache=cache.set(key,result);return result};memoized.cache=new memoize.Cache;return memoized}
+/**
+ * Creates a function that runs each argument through a corresponding
+ * transform function.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Function} func The function to wrap.
+ * @param {...(Function|Function[])} [transforms] The functions to transform
+ * arguments, specified as individual functions or arrays of functions.
+ * @returns {Function} Returns the new function.
+ * @example
+ *
+ * function doubled(n) {
+ * return n * 2;
+ * }
+ *
+ * function square(n) {
+ * return n * n;
+ * }
+ *
+ * var modded = _.modArgs(function(x, y) {
+ * return [x, y];
+ * }, square, doubled);
+ *
+ * modded(1, 2);
+ * // => [1, 4]
+ *
+ * modded(5, 10);
+ * // => [25, 20]
+ */var modArgs=restParam(function(func,transforms){transforms=baseFlatten(transforms);if(typeof func!="function"||!arrayEvery(transforms,baseIsFunction)){throw new TypeError(FUNC_ERROR_TEXT)}var length=transforms.length;return restParam(function(args){var index=nativeMin(args.length,length);while(index--){args[index]=transforms[index](args[index])}return func.apply(this,args)})});
+/**
+ * Creates a function that negates the result of the predicate `func`. The
+ * `func` predicate is invoked with the `this` binding and arguments of the
+ * created function.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Function} predicate The predicate to negate.
+ * @returns {Function} Returns the new function.
+ * @example
+ *
+ * function isEven(n) {
+ * return n % 2 == 0;
+ * }
+ *
+ * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven));
+ * // => [1, 3, 5]
+ */function negate(predicate){if(typeof predicate!="function"){throw new TypeError(FUNC_ERROR_TEXT)}return function(){return!predicate.apply(this,arguments)}}
+/**
+ * Creates a function that is restricted to invoking `func` once. Repeat calls
+ * to the function return the value of the first call. The `func` is invoked
+ * with the `this` binding and arguments of the created function.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Function} func The function to restrict.
+ * @returns {Function} Returns the new restricted function.
+ * @example
+ *
+ * var initialize = _.once(createApplication);
+ * initialize();
+ * initialize();
+ * // `initialize` invokes `createApplication` once
+ */function once(func){return before(2,func)}
+/**
+ * Creates a function that invokes `func` with `partial` arguments prepended
+ * to those provided to the new function. This method is like `_.bind` except
+ * it does **not** alter the `this` binding.
+ *
+ * The `_.partial.placeholder` value, which defaults to `_` in monolithic
+ * builds, may be used as a placeholder for partially applied arguments.
+ *
+ * **Note:** This method does not set the "length" property of partially
+ * applied functions.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Function} func The function to partially apply arguments to.
+ * @param {...*} [partials] The arguments to be partially applied.
+ * @returns {Function} Returns the new partially applied function.
+ * @example
+ *
+ * var greet = function(greeting, name) {
+ * return greeting + ' ' + name;
+ * };
+ *
+ * var sayHelloTo = _.partial(greet, 'hello');
+ * sayHelloTo('fred');
+ * // => 'hello fred'
+ *
+ * // using placeholders
+ * var greetFred = _.partial(greet, _, 'fred');
+ * greetFred('hi');
+ * // => 'hi fred'
+ */var partial=createPartial(PARTIAL_FLAG);
+/**
+ * This method is like `_.partial` except that partially applied arguments
+ * are appended to those provided to the new function.
+ *
+ * The `_.partialRight.placeholder` value, which defaults to `_` in monolithic
+ * builds, may be used as a placeholder for partially applied arguments.
+ *
+ * **Note:** This method does not set the "length" property of partially
+ * applied functions.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Function} func The function to partially apply arguments to.
+ * @param {...*} [partials] The arguments to be partially applied.
+ * @returns {Function} Returns the new partially applied function.
+ * @example
+ *
+ * var greet = function(greeting, name) {
+ * return greeting + ' ' + name;
+ * };
+ *
+ * var greetFred = _.partialRight(greet, 'fred');
+ * greetFred('hi');
+ * // => 'hi fred'
+ *
+ * // using placeholders
+ * var sayHelloTo = _.partialRight(greet, 'hello', _);
+ * sayHelloTo('fred');
+ * // => 'hello fred'
+ */var partialRight=createPartial(PARTIAL_RIGHT_FLAG);
+/**
+ * Creates a function that invokes `func` with arguments arranged according
+ * to the specified indexes where the argument value at the first index is
+ * provided as the first argument, the argument value at the second index is
+ * provided as the second argument, and so on.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Function} func The function to rearrange arguments for.
+ * @param {...(number|number[])} indexes The arranged argument indexes,
+ * specified as individual indexes or arrays of indexes.
+ * @returns {Function} Returns the new function.
+ * @example
+ *
+ * var rearged = _.rearg(function(a, b, c) {
+ * return [a, b, c];
+ * }, 2, 0, 1);
+ *
+ * rearged('b', 'c', 'a')
+ * // => ['a', 'b', 'c']
+ *
+ * var map = _.rearg(_.map, [1, 0]);
+ * map(function(n) {
+ * return n * 3;
+ * }, [1, 2, 3]);
+ * // => [3, 6, 9]
+ */var rearg=restParam(function(func,indexes){return createWrapper(func,REARG_FLAG,undefined,undefined,undefined,baseFlatten(indexes))});
+/**
+ * Creates a function that invokes `func` with the `this` binding of the
+ * created function and arguments from `start` and beyond provided as an array.
+ *
+ * **Note:** This method is based on the [rest parameter](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/rest_parameters).
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Function} func The function to apply a rest parameter to.
+ * @param {number} [start=func.length-1] The start position of the rest parameter.
+ * @returns {Function} Returns the new function.
+ * @example
+ *
+ * var say = _.restParam(function(what, names) {
+ * return what + ' ' + _.initial(names).join(', ') +
+ * (_.size(names) > 1 ? ', & ' : '') + _.last(names);
+ * });
+ *
+ * say('hello', 'fred', 'barney', 'pebbles');
+ * // => 'hello fred, barney, & pebbles'
+ */function restParam(func,start){if(typeof func!="function"){throw new TypeError(FUNC_ERROR_TEXT)}start=nativeMax(start===undefined?func.length-1:+start||0,0);return function(){var args=arguments,index=-1,length=nativeMax(args.length-start,0),rest=Array(length);while(++index<length){rest[index]=args[start+index]}switch(start){case 0:return func.call(this,rest);case 1:return func.call(this,args[0],rest);case 2:return func.call(this,args[0],args[1],rest)}var otherArgs=Array(start+1);index=-1;while(++index<start){otherArgs[index]=args[index]}otherArgs[start]=rest;return func.apply(this,otherArgs)}}
+/**
+ * Creates a function that invokes `func` with the `this` binding of the created
+ * function and an array of arguments much like [`Function#apply`](https://es5.github.io/#x15.3.4.3).
+ *
+ * **Note:** This method is based on the [spread operator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_operator).
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Function} func The function to spread arguments over.
+ * @returns {Function} Returns the new function.
+ * @example
+ *
+ * var say = _.spread(function(who, what) {
+ * return who + ' says ' + what;
+ * });
+ *
+ * say(['fred', 'hello']);
+ * // => 'fred says hello'
+ *
+ * // with a Promise
+ * var numbers = Promise.all([
+ * Promise.resolve(40),
+ * Promise.resolve(36)
+ * ]);
+ *
+ * numbers.then(_.spread(function(x, y) {
+ * return x + y;
+ * }));
+ * // => a Promise of 76
+ */function spread(func){if(typeof func!="function"){throw new TypeError(FUNC_ERROR_TEXT)}return function(array){return func.apply(this,array)}}
+/**
+ * Creates a throttled function that only invokes `func` at most once per
+ * every `wait` milliseconds. The throttled function comes with a `cancel`
+ * method to cancel delayed invocations. Provide an options object to indicate
+ * that `func` should be invoked on the leading and/or trailing edge of the
+ * `wait` timeout. Subsequent calls to the throttled function return the
+ * result of the last `func` call.
+ *
+ * **Note:** If `leading` and `trailing` options are `true`, `func` is invoked
+ * on the trailing edge of the timeout only if the the throttled function is
+ * invoked more than once during the `wait` timeout.
+ *
+ * See [David Corbacho's article](http://drupalmotion.com/article/debounce-and-throttle-visual-explanation)
+ * for details over the differences between `_.throttle` and `_.debounce`.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Function} func The function to throttle.
+ * @param {number} [wait=0] The number of milliseconds to throttle invocations to.
+ * @param {Object} [options] The options object.
+ * @param {boolean} [options.leading=true] Specify invoking on the leading
+ * edge of the timeout.
+ * @param {boolean} [options.trailing=true] Specify invoking on the trailing
+ * edge of the timeout.
+ * @returns {Function} Returns the new throttled function.
+ * @example
+ *
+ * // avoid excessively updating the position while scrolling
+ * jQuery(window).on('scroll', _.throttle(updatePosition, 100));
+ *
+ * // invoke `renewToken` when the click event is fired, but not more than once every 5 minutes
+ * jQuery('.interactive').on('click', _.throttle(renewToken, 300000, {
+ * 'trailing': false
+ * }));
+ *
+ * // cancel a trailing throttled call
+ * jQuery(window).on('popstate', throttled.cancel);
+ */function throttle(func,wait,options){var leading=true,trailing=true;if(typeof func!="function"){throw new TypeError(FUNC_ERROR_TEXT)}if(options===false){leading=false}else if(isObject(options)){leading="leading"in options?!!options.leading:leading;trailing="trailing"in options?!!options.trailing:trailing}return debounce(func,wait,{leading:leading,maxWait:+wait,trailing:trailing})}
+/**
+ * Creates a function that provides `value` to the wrapper function as its
+ * first argument. Any additional arguments provided to the function are
+ * appended to those provided to the wrapper function. The wrapper is invoked
+ * with the `this` binding of the created function.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {*} value The value to wrap.
+ * @param {Function} wrapper The wrapper function.
+ * @returns {Function} Returns the new function.
+ * @example
+ *
+ * var p = _.wrap(_.escape, function(func, text) {
+ * return '<p>' + func(text) + '</p>';
+ * });
+ *
+ * p('fred, barney, & pebbles');
+ * // => '<p>fred, barney, &amp; pebbles</p>'
+ */function wrap(value,wrapper){wrapper=wrapper==null?identity:wrapper;return createWrapper(wrapper,PARTIAL_FLAG,undefined,[value],[])}
+/*------------------------------------------------------------------------*/
+/**
+ * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,
+ * otherwise they are assigned by reference. If `customizer` is provided it is
+ * invoked to produce the cloned values. If `customizer` returns `undefined`
+ * cloning is handled by the method instead. The `customizer` is bound to
+ * `thisArg` and invoked with two argument; (value [, index|key, object]).
+ *
+ * **Note:** This method is loosely based on the
+ * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).
+ * The enumerable properties of `arguments` objects and objects created by
+ * constructors other than `Object` are cloned to plain `Object` objects. An
+ * empty object is returned for uncloneable values such as functions, DOM nodes,
+ * Maps, Sets, and WeakMaps.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to clone.
+ * @param {boolean} [isDeep] Specify a deep clone.
+ * @param {Function} [customizer] The function to customize cloning values.
+ * @param {*} [thisArg] The `this` binding of `customizer`.
+ * @returns {*} Returns the cloned value.
+ * @example
+ *
+ * var users = [
+ * { 'user': 'barney' },
+ * { 'user': 'fred' }
+ * ];
+ *
+ * var shallow = _.clone(users);
+ * shallow[0] === users[0];
+ * // => true
+ *
+ * var deep = _.clone(users, true);
+ * deep[0] === users[0];
+ * // => false
+ *
+ * // using a customizer callback
+ * var el = _.clone(document.body, function(value) {
+ * if (_.isElement(value)) {
+ * return value.cloneNode(false);
+ * }
+ * });
+ *
+ * el === document.body
+ * // => false
+ * el.nodeName
+ * // => BODY
+ * el.childNodes.length;
+ * // => 0
+ */function clone(value,isDeep,customizer,thisArg){if(isDeep&&typeof isDeep!="boolean"&&isIterateeCall(value,isDeep,customizer)){isDeep=false}else if(typeof isDeep=="function"){thisArg=customizer;customizer=isDeep;isDeep=false}return typeof customizer=="function"?baseClone(value,isDeep,bindCallback(customizer,thisArg,1)):baseClone(value,isDeep)}
+/**
+ * Creates a deep clone of `value`. If `customizer` is provided it is invoked
+ * to produce the cloned values. If `customizer` returns `undefined` cloning
+ * is handled by the method instead. The `customizer` is bound to `thisArg`
+ * and invoked with two argument; (value [, index|key, object]).
+ *
+ * **Note:** This method is loosely based on the
+ * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).
+ * The enumerable properties of `arguments` objects and objects created by
+ * constructors other than `Object` are cloned to plain `Object` objects. An
+ * empty object is returned for uncloneable values such as functions, DOM nodes,
+ * Maps, Sets, and WeakMaps.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to deep clone.
+ * @param {Function} [customizer] The function to customize cloning values.
+ * @param {*} [thisArg] The `this` binding of `customizer`.
+ * @returns {*} Returns the deep cloned value.
+ * @example
+ *
+ * var users = [
+ * { 'user': 'barney' },
+ * { 'user': 'fred' }
+ * ];
+ *
+ * var deep = _.cloneDeep(users);
+ * deep[0] === users[0];
+ * // => false
+ *
+ * // using a customizer callback
+ * var el = _.cloneDeep(document.body, function(value) {
+ * if (_.isElement(value)) {
+ * return value.cloneNode(true);
+ * }
+ * });
+ *
+ * el === document.body
+ * // => false
+ * el.nodeName
+ * // => BODY
+ * el.childNodes.length;
+ * // => 20
+ */function cloneDeep(value,customizer,thisArg){return typeof customizer=="function"?baseClone(value,true,bindCallback(customizer,thisArg,1)):baseClone(value,true)}
+/**
+ * Checks if `value` is greater than `other`.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to compare.
+ * @param {*} other The other value to compare.
+ * @returns {boolean} Returns `true` if `value` is greater than `other`, else `false`.
+ * @example
+ *
+ * _.gt(3, 1);
+ * // => true
+ *
+ * _.gt(3, 3);
+ * // => false
+ *
+ * _.gt(1, 3);
+ * // => false
+ */function gt(value,other){return value>other}
+/**
+ * Checks if `value` is greater than or equal to `other`.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to compare.
+ * @param {*} other The other value to compare.
+ * @returns {boolean} Returns `true` if `value` is greater than or equal to `other`, else `false`.
+ * @example
+ *
+ * _.gte(3, 1);
+ * // => true
+ *
+ * _.gte(3, 3);
+ * // => true
+ *
+ * _.gte(1, 3);
+ * // => false
+ */function gte(value,other){return value>=other}
+/**
+ * Checks if `value` is classified as an `arguments` object.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
+ * @example
+ *
+ * _.isArguments(function() { return arguments; }());
+ * // => true
+ *
+ * _.isArguments([1, 2, 3]);
+ * // => false
+ */function isArguments(value){return isObjectLike(value)&&isArrayLike(value)&&hasOwnProperty.call(value,"callee")&&!propertyIsEnumerable.call(value,"callee")}
+/**
+ * Checks if `value` is classified as an `Array` object.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
+ * @example
+ *
+ * _.isArray([1, 2, 3]);
+ * // => true
+ *
+ * _.isArray(function() { return arguments; }());
+ * // => false
+ */var isArray=nativeIsArray||function(value){return isObjectLike(value)&&isLength(value.length)&&objToString.call(value)==arrayTag};
+/**
+ * Checks if `value` is classified as a boolean primitive or object.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
+ * @example
+ *
+ * _.isBoolean(false);
+ * // => true
+ *
+ * _.isBoolean(null);
+ * // => false
+ */function isBoolean(value){return value===true||value===false||isObjectLike(value)&&objToString.call(value)==boolTag}
+/**
+ * Checks if `value` is classified as a `Date` object.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
+ * @example
+ *
+ * _.isDate(new Date);
+ * // => true
+ *
+ * _.isDate('Mon April 23 2012');
+ * // => false
+ */function isDate(value){return isObjectLike(value)&&objToString.call(value)==dateTag}
+/**
+ * Checks if `value` is a DOM element.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is a DOM element, else `false`.
+ * @example
+ *
+ * _.isElement(document.body);
+ * // => true
+ *
+ * _.isElement('<body>');
+ * // => false
+ */function isElement(value){return!!value&&value.nodeType===1&&isObjectLike(value)&&!isPlainObject(value)}
+/**
+ * Checks if `value` is empty. A value is considered empty unless it is an
+ * `arguments` object, array, string, or jQuery-like collection with a length
+ * greater than `0` or an object with own enumerable properties.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {Array|Object|string} value The value to inspect.
+ * @returns {boolean} Returns `true` if `value` is empty, else `false`.
+ * @example
+ *
+ * _.isEmpty(null);
+ * // => true
+ *
+ * _.isEmpty(true);
+ * // => true
+ *
+ * _.isEmpty(1);
+ * // => true
+ *
+ * _.isEmpty([1, 2, 3]);
+ * // => false
+ *
+ * _.isEmpty({ 'a': 1 });
+ * // => false
+ */function isEmpty(value){if(value==null){return true}if(isArrayLike(value)&&(isArray(value)||isString(value)||isArguments(value)||isObjectLike(value)&&isFunction(value.splice))){return!value.length}return!keys(value).length}
+/**
+ * Performs a deep comparison between two values to determine if they are
+ * equivalent. If `customizer` is provided it is invoked to compare values.
+ * If `customizer` returns `undefined` comparisons are handled by the method
+ * instead. The `customizer` is bound to `thisArg` and invoked with three
+ * arguments: (value, other [, index|key]).
+ *
+ * **Note:** This method supports comparing arrays, booleans, `Date` objects,
+ * numbers, `Object` objects, regexes, and strings. Objects are compared by
+ * their own, not inherited, enumerable properties. Functions and DOM nodes
+ * are **not** supported. Provide a customizer function to extend support
+ * for comparing other values.
+ *
+ * @static
+ * @memberOf _
+ * @alias eq
+ * @category Lang
+ * @param {*} value The value to compare.
+ * @param {*} other The other value to compare.
+ * @param {Function} [customizer] The function to customize value comparisons.
+ * @param {*} [thisArg] The `this` binding of `customizer`.
+ * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
+ * @example
+ *
+ * var object = { 'user': 'fred' };
+ * var other = { 'user': 'fred' };
+ *
+ * object == other;
+ * // => false
+ *
+ * _.isEqual(object, other);
+ * // => true
+ *
+ * // using a customizer callback
+ * var array = ['hello', 'goodbye'];
+ * var other = ['hi', 'goodbye'];
+ *
+ * _.isEqual(array, other, function(value, other) {
+ * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {
+ * return true;
+ * }
+ * });
+ * // => true
+ */function isEqual(value,other,customizer,thisArg){customizer=typeof customizer=="function"?bindCallback(customizer,thisArg,3):undefined;var result=customizer?customizer(value,other):undefined;return result===undefined?baseIsEqual(value,other,customizer):!!result}
+/**
+ * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`,
+ * `SyntaxError`, `TypeError`, or `URIError` object.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is an error object, else `false`.
+ * @example
+ *
+ * _.isError(new Error);
+ * // => true
+ *
+ * _.isError(Error);
+ * // => false
+ */function isError(value){return isObjectLike(value)&&typeof value.message=="string"&&objToString.call(value)==errorTag}
+/**
+ * Checks if `value` is a finite primitive number.
+ *
+ * **Note:** This method is based on [`Number.isFinite`](http://ecma-international.org/ecma-262/6.0/#sec-number.isfinite).
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is a finite number, else `false`.
+ * @example
+ *
+ * _.isFinite(10);
+ * // => true
+ *
+ * _.isFinite('10');
+ * // => false
+ *
+ * _.isFinite(true);
+ * // => false
+ *
+ * _.isFinite(Object(10));
+ * // => false
+ *
+ * _.isFinite(Infinity);
+ * // => false
+ */function isFinite(value){return typeof value=="number"&&nativeIsFinite(value)}
+/**
+ * Checks if `value` is classified as a `Function` object.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
+ * @example
+ *
+ * _.isFunction(_);
+ * // => true
+ *
+ * _.isFunction(/abc/);
+ * // => false
+ */function isFunction(value){
+// The use of `Object#toString` avoids issues with the `typeof` operator
+// in older versions of Chrome and Safari which return 'function' for regexes
+// and Safari 8 equivalents which return 'object' for typed array constructors.
+return isObject(value)&&objToString.call(value)==funcTag}
+/**
+ * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.
+ * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is an object, else `false`.
+ * @example
+ *
+ * _.isObject({});
+ * // => true
+ *
+ * _.isObject([1, 2, 3]);
+ * // => true
+ *
+ * _.isObject(1);
+ * // => false
+ */function isObject(value){
+// Avoid a V8 JIT bug in Chrome 19-20.
+// See https://code.google.com/p/v8/issues/detail?id=2291 for more details.
+var type=typeof value;return!!value&&(type=="object"||type=="function")}
+/**
+ * Performs a deep comparison between `object` and `source` to determine if
+ * `object` contains equivalent property values. If `customizer` is provided
+ * it is invoked to compare values. If `customizer` returns `undefined`
+ * comparisons are handled by the method instead. The `customizer` is bound
+ * to `thisArg` and invoked with three arguments: (value, other, index|key).
+ *
+ * **Note:** This method supports comparing properties of arrays, booleans,
+ * `Date` objects, numbers, `Object` objects, regexes, and strings. Functions
+ * and DOM nodes are **not** supported. Provide a customizer function to extend
+ * support for comparing other values.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {Object} object The object to inspect.
+ * @param {Object} source The object of property values to match.
+ * @param {Function} [customizer] The function to customize value comparisons.
+ * @param {*} [thisArg] The `this` binding of `customizer`.
+ * @returns {boolean} Returns `true` if `object` is a match, else `false`.
+ * @example
+ *
+ * var object = { 'user': 'fred', 'age': 40 };
+ *
+ * _.isMatch(object, { 'age': 40 });
+ * // => true
+ *
+ * _.isMatch(object, { 'age': 36 });
+ * // => false
+ *
+ * // using a customizer callback
+ * var object = { 'greeting': 'hello' };
+ * var source = { 'greeting': 'hi' };
+ *
+ * _.isMatch(object, source, function(value, other) {
+ * return _.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/) || undefined;
+ * });
+ * // => true
+ */function isMatch(object,source,customizer,thisArg){customizer=typeof customizer=="function"?bindCallback(customizer,thisArg,3):undefined;return baseIsMatch(object,getMatchData(source),customizer)}
+/**
+ * Checks if `value` is `NaN`.
+ *
+ * **Note:** This method is not the same as [`isNaN`](https://es5.github.io/#x15.1.2.4)
+ * which returns `true` for `undefined` and other non-numeric values.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.
+ * @example
+ *
+ * _.isNaN(NaN);
+ * // => true
+ *
+ * _.isNaN(new Number(NaN));
+ * // => true
+ *
+ * isNaN(undefined);
+ * // => true
+ *
+ * _.isNaN(undefined);
+ * // => false
+ */function isNaN(value){
+// An `NaN` primitive is the only value that is not equal to itself.
+// Perform the `toStringTag` check first to avoid errors with some host objects in IE.
+return isNumber(value)&&value!=+value}
+/**
+ * Checks if `value` is a native function.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is a native function, else `false`.
+ * @example
+ *
+ * _.isNative(Array.prototype.push);
+ * // => true
+ *
+ * _.isNative(_);
+ * // => false
+ */function isNative(value){if(value==null){return false}if(isFunction(value)){return reIsNative.test(fnToString.call(value))}return isObjectLike(value)&&reIsHostCtor.test(value)}
+/**
+ * Checks if `value` is `null`.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is `null`, else `false`.
+ * @example
+ *
+ * _.isNull(null);
+ * // => true
+ *
+ * _.isNull(void 0);
+ * // => false
+ */function isNull(value){return value===null}
+/**
+ * Checks if `value` is classified as a `Number` primitive or object.
+ *
+ * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are classified
+ * as numbers, use the `_.isFinite` method.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
+ * @example
+ *
+ * _.isNumber(8.4);
+ * // => true
+ *
+ * _.isNumber(NaN);
+ * // => true
+ *
+ * _.isNumber('8.4');
+ * // => false
+ */function isNumber(value){return typeof value=="number"||isObjectLike(value)&&objToString.call(value)==numberTag}
+/**
+ * Checks if `value` is a plain object, that is, an object created by the
+ * `Object` constructor or one with a `[[Prototype]]` of `null`.
+ *
+ * **Note:** This method assumes objects created by the `Object` constructor
+ * have no inherited enumerable properties.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.
+ * @example
+ *
+ * function Foo() {
+ * this.a = 1;
+ * }
+ *
+ * _.isPlainObject(new Foo);
+ * // => false
+ *
+ * _.isPlainObject([1, 2, 3]);
+ * // => false
+ *
+ * _.isPlainObject({ 'x': 0, 'y': 0 });
+ * // => true
+ *
+ * _.isPlainObject(Object.create(null));
+ * // => true
+ */function isPlainObject(value){var Ctor;
+// Exit early for non `Object` objects.
+if(!(isObjectLike(value)&&objToString.call(value)==objectTag&&!isArguments(value))||!hasOwnProperty.call(value,"constructor")&&(Ctor=value.constructor,typeof Ctor=="function"&&!(Ctor instanceof Ctor))){return false}
+// IE < 9 iterates inherited properties before own properties. If the first
+// iterated property is an object's own property then there are no inherited
+// enumerable properties.
+var result;
+// In most environments an object's own properties are iterated before
+// its inherited properties. If the last iterated property is an object's
+// own property then there are no inherited enumerable properties.
+baseForIn(value,function(subValue,key){result=key});return result===undefined||hasOwnProperty.call(value,result)}
+/**
+ * Checks if `value` is classified as a `RegExp` object.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
+ * @example
+ *
+ * _.isRegExp(/abc/);
+ * // => true
+ *
+ * _.isRegExp('/abc/');
+ * // => false
+ */function isRegExp(value){return isObject(value)&&objToString.call(value)==regexpTag}
+/**
+ * Checks if `value` is classified as a `String` primitive or object.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
+ * @example
+ *
+ * _.isString('abc');
+ * // => true
+ *
+ * _.isString(1);
+ * // => false
+ */function isString(value){return typeof value=="string"||isObjectLike(value)&&objToString.call(value)==stringTag}
+/**
+ * Checks if `value` is classified as a typed array.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
+ * @example
+ *
+ * _.isTypedArray(new Uint8Array);
+ * // => true
+ *
+ * _.isTypedArray([]);
+ * // => false
+ */function isTypedArray(value){return isObjectLike(value)&&isLength(value.length)&&!!typedArrayTags[objToString.call(value)]}
+/**
+ * Checks if `value` is `undefined`.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.
+ * @example
+ *
+ * _.isUndefined(void 0);
+ * // => true
+ *
+ * _.isUndefined(null);
+ * // => false
+ */function isUndefined(value){return value===undefined}
+/**
+ * Checks if `value` is less than `other`.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to compare.
+ * @param {*} other The other value to compare.
+ * @returns {boolean} Returns `true` if `value` is less than `other`, else `false`.
+ * @example
+ *
+ * _.lt(1, 3);
+ * // => true
+ *
+ * _.lt(3, 3);
+ * // => false
+ *
+ * _.lt(3, 1);
+ * // => false
+ */function lt(value,other){return value<other}
+/**
+ * Checks if `value` is less than or equal to `other`.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to compare.
+ * @param {*} other The other value to compare.
+ * @returns {boolean} Returns `true` if `value` is less than or equal to `other`, else `false`.
+ * @example
+ *
+ * _.lte(1, 3);
+ * // => true
+ *
+ * _.lte(3, 3);
+ * // => true
+ *
+ * _.lte(3, 1);
+ * // => false
+ */function lte(value,other){return value<=other}
+/**
+ * Converts `value` to an array.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to convert.
+ * @returns {Array} Returns the converted array.
+ * @example
+ *
+ * (function() {
+ * return _.toArray(arguments).slice(1);
+ * }(1, 2, 3));
+ * // => [2, 3]
+ */function toArray(value){var length=value?getLength(value):0;if(!isLength(length)){return values(value)}if(!length){return[]}return arrayCopy(value)}
+/**
+ * Converts `value` to a plain object flattening inherited enumerable
+ * properties of `value` to own properties of the plain object.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to convert.
+ * @returns {Object} Returns the converted plain object.
+ * @example
+ *
+ * function Foo() {
+ * this.b = 2;
+ * }
+ *
+ * Foo.prototype.c = 3;
+ *
+ * _.assign({ 'a': 1 }, new Foo);
+ * // => { 'a': 1, 'b': 2 }
+ *
+ * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));
+ * // => { 'a': 1, 'b': 2, 'c': 3 }
+ */function toPlainObject(value){return baseCopy(value,keysIn(value))}
+/*------------------------------------------------------------------------*/
+/**
+ * Recursively merges own enumerable properties of the source object(s), that
+ * don't resolve to `undefined` into the destination object. Subsequent sources
+ * overwrite property assignments of previous sources. If `customizer` is
+ * provided it is invoked to produce the merged values of the destination and
+ * source properties. If `customizer` returns `undefined` merging is handled
+ * by the method instead. The `customizer` is bound to `thisArg` and invoked
+ * with five arguments: (objectValue, sourceValue, key, object, source).
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Object} object The destination object.
+ * @param {...Object} [sources] The source objects.
+ * @param {Function} [customizer] The function to customize assigned values.
+ * @param {*} [thisArg] The `this` binding of `customizer`.
+ * @returns {Object} Returns `object`.
+ * @example
+ *
+ * var users = {
+ * 'data': [{ 'user': 'barney' }, { 'user': 'fred' }]
+ * };
+ *
+ * var ages = {
+ * 'data': [{ 'age': 36 }, { 'age': 40 }]
+ * };
+ *
+ * _.merge(users, ages);
+ * // => { 'data': [{ 'user': 'barney', 'age': 36 }, { 'user': 'fred', 'age': 40 }] }
+ *
+ * // using a customizer callback
+ * var object = {
+ * 'fruits': ['apple'],
+ * 'vegetables': ['beet']
+ * };
+ *
+ * var other = {
+ * 'fruits': ['banana'],
+ * 'vegetables': ['carrot']
+ * };
+ *
+ * _.merge(object, other, function(a, b) {
+ * if (_.isArray(a)) {
+ * return a.concat(b);
+ * }
+ * });
+ * // => { 'fruits': ['apple', 'banana'], 'vegetables': ['beet', 'carrot'] }
+ */var merge=createAssigner(baseMerge);
+/**
+ * Assigns own enumerable properties of source object(s) to the destination
+ * object. Subsequent sources overwrite property assignments of previous sources.
+ * If `customizer` is provided it is invoked to produce the assigned values.
+ * The `customizer` is bound to `thisArg` and invoked with five arguments:
+ * (objectValue, sourceValue, key, object, source).
+ *
+ * **Note:** This method mutates `object` and is based on
+ * [`Object.assign`](http://ecma-international.org/ecma-262/6.0/#sec-object.assign).
+ *
+ * @static
+ * @memberOf _
+ * @alias extend
+ * @category Object
+ * @param {Object} object The destination object.
+ * @param {...Object} [sources] The source objects.
+ * @param {Function} [customizer] The function to customize assigned values.
+ * @param {*} [thisArg] The `this` binding of `customizer`.
+ * @returns {Object} Returns `object`.
+ * @example
+ *
+ * _.assign({ 'user': 'barney' }, { 'age': 40 }, { 'user': 'fred' });
+ * // => { 'user': 'fred', 'age': 40 }
+ *
+ * // using a customizer callback
+ * var defaults = _.partialRight(_.assign, function(value, other) {
+ * return _.isUndefined(value) ? other : value;
+ * });
+ *
+ * defaults({ 'user': 'barney' }, { 'age': 36 }, { 'user': 'fred' });
+ * // => { 'user': 'barney', 'age': 36 }
+ */var assign=createAssigner(function(object,source,customizer){return customizer?assignWith(object,source,customizer):baseAssign(object,source)});
+/**
+ * Creates an object that inherits from the given `prototype` object. If a
+ * `properties` object is provided its own enumerable properties are assigned
+ * to the created object.
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Object} prototype The object to inherit from.
+ * @param {Object} [properties] The properties to assign to the object.
+ * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+ * @returns {Object} Returns the new object.
+ * @example
+ *
+ * function Shape() {
+ * this.x = 0;
+ * this.y = 0;
+ * }
+ *
+ * function Circle() {
+ * Shape.call(this);
+ * }
+ *
+ * Circle.prototype = _.create(Shape.prototype, {
+ * 'constructor': Circle
+ * });
+ *
+ * var circle = new Circle;
+ * circle instanceof Circle;
+ * // => true
+ *
+ * circle instanceof Shape;
+ * // => true
+ */function create(prototype,properties,guard){var result=baseCreate(prototype);if(guard&&isIterateeCall(prototype,properties,guard)){properties=undefined}return properties?baseAssign(result,properties):result}
+/**
+ * Assigns own enumerable properties of source object(s) to the destination
+ * object for all destination properties that resolve to `undefined`. Once a
+ * property is set, additional values of the same property are ignored.
+ *
+ * **Note:** This method mutates `object`.
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Object} object The destination object.
+ * @param {...Object} [sources] The source objects.
+ * @returns {Object} Returns `object`.
+ * @example
+ *
+ * _.defaults({ 'user': 'barney' }, { 'age': 36 }, { 'user': 'fred' });
+ * // => { 'user': 'barney', 'age': 36 }
+ */var defaults=createDefaults(assign,assignDefaults);
+/**
+ * This method is like `_.defaults` except that it recursively assigns
+ * default properties.
+ *
+ * **Note:** This method mutates `object`.
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Object} object The destination object.
+ * @param {...Object} [sources] The source objects.
+ * @returns {Object} Returns `object`.
+ * @example
+ *
+ * _.defaultsDeep({ 'user': { 'name': 'barney' } }, { 'user': { 'name': 'fred', 'age': 36 } });
+ * // => { 'user': { 'name': 'barney', 'age': 36 } }
+ *
+ */var defaultsDeep=createDefaults(merge,mergeDefaults);
+/**
+ * This method is like `_.find` except that it returns the key of the first
+ * element `predicate` returns truthy for instead of the element itself.
+ *
+ * If a property name is provided for `predicate` the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If a value is also provided for `thisArg` the created `_.matchesProperty`
+ * style callback returns `true` for elements that have a matching property
+ * value, else `false`.
+ *
+ * If an object is provided for `predicate` the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Object} object The object to search.
+ * @param {Function|Object|string} [predicate=_.identity] The function invoked
+ * per iteration.
+ * @param {*} [thisArg] The `this` binding of `predicate`.
+ * @returns {string|undefined} Returns the key of the matched element, else `undefined`.
+ * @example
+ *
+ * var users = {
+ * 'barney': { 'age': 36, 'active': true },
+ * 'fred': { 'age': 40, 'active': false },
+ * 'pebbles': { 'age': 1, 'active': true }
+ * };
+ *
+ * _.findKey(users, function(chr) {
+ * return chr.age < 40;
+ * });
+ * // => 'barney' (iteration order is not guaranteed)
+ *
+ * // using the `_.matches` callback shorthand
+ * _.findKey(users, { 'age': 1, 'active': true });
+ * // => 'pebbles'
+ *
+ * // using the `_.matchesProperty` callback shorthand
+ * _.findKey(users, 'active', false);
+ * // => 'fred'
+ *
+ * // using the `_.property` callback shorthand
+ * _.findKey(users, 'active');
+ * // => 'barney'
+ */var findKey=createFindKey(baseForOwn);
+/**
+ * This method is like `_.findKey` except that it iterates over elements of
+ * a collection in the opposite order.
+ *
+ * If a property name is provided for `predicate` the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If a value is also provided for `thisArg` the created `_.matchesProperty`
+ * style callback returns `true` for elements that have a matching property
+ * value, else `false`.
+ *
+ * If an object is provided for `predicate` the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Object} object The object to search.
+ * @param {Function|Object|string} [predicate=_.identity] The function invoked
+ * per iteration.
+ * @param {*} [thisArg] The `this` binding of `predicate`.
+ * @returns {string|undefined} Returns the key of the matched element, else `undefined`.
+ * @example
+ *
+ * var users = {
+ * 'barney': { 'age': 36, 'active': true },
+ * 'fred': { 'age': 40, 'active': false },
+ * 'pebbles': { 'age': 1, 'active': true }
+ * };
+ *
+ * _.findLastKey(users, function(chr) {
+ * return chr.age < 40;
+ * });
+ * // => returns `pebbles` assuming `_.findKey` returns `barney`
+ *
+ * // using the `_.matches` callback shorthand
+ * _.findLastKey(users, { 'age': 36, 'active': true });
+ * // => 'barney'
+ *
+ * // using the `_.matchesProperty` callback shorthand
+ * _.findLastKey(users, 'active', false);
+ * // => 'fred'
+ *
+ * // using the `_.property` callback shorthand
+ * _.findLastKey(users, 'active');
+ * // => 'pebbles'
+ */var findLastKey=createFindKey(baseForOwnRight);
+/**
+ * Iterates over own and inherited enumerable properties of an object invoking
+ * `iteratee` for each property. The `iteratee` is bound to `thisArg` and invoked
+ * with three arguments: (value, key, object). Iteratee functions may exit
+ * iteration early by explicitly returning `false`.
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Object} object The object to iterate over.
+ * @param {Function} [iteratee=_.identity] The function invoked per iteration.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {Object} Returns `object`.
+ * @example
+ *
+ * function Foo() {
+ * this.a = 1;
+ * this.b = 2;
+ * }
+ *
+ * Foo.prototype.c = 3;
+ *
+ * _.forIn(new Foo, function(value, key) {
+ * console.log(key);
+ * });
+ * // => logs 'a', 'b', and 'c' (iteration order is not guaranteed)
+ */var forIn=createForIn(baseFor);
+/**
+ * This method is like `_.forIn` except that it iterates over properties of
+ * `object` in the opposite order.
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Object} object The object to iterate over.
+ * @param {Function} [iteratee=_.identity] The function invoked per iteration.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {Object} Returns `object`.
+ * @example
+ *
+ * function Foo() {
+ * this.a = 1;
+ * this.b = 2;
+ * }
+ *
+ * Foo.prototype.c = 3;
+ *
+ * _.forInRight(new Foo, function(value, key) {
+ * console.log(key);
+ * });
+ * // => logs 'c', 'b', and 'a' assuming `_.forIn ` logs 'a', 'b', and 'c'
+ */var forInRight=createForIn(baseForRight);
+/**
+ * Iterates over own enumerable properties of an object invoking `iteratee`
+ * for each property. The `iteratee` is bound to `thisArg` and invoked with
+ * three arguments: (value, key, object). Iteratee functions may exit iteration
+ * early by explicitly returning `false`.
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Object} object The object to iterate over.
+ * @param {Function} [iteratee=_.identity] The function invoked per iteration.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {Object} Returns `object`.
+ * @example
+ *
+ * function Foo() {
+ * this.a = 1;
+ * this.b = 2;
+ * }
+ *
+ * Foo.prototype.c = 3;
+ *
+ * _.forOwn(new Foo, function(value, key) {
+ * console.log(key);
+ * });
+ * // => logs 'a' and 'b' (iteration order is not guaranteed)
+ */var forOwn=createForOwn(baseForOwn);
+/**
+ * This method is like `_.forOwn` except that it iterates over properties of
+ * `object` in the opposite order.
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Object} object The object to iterate over.
+ * @param {Function} [iteratee=_.identity] The function invoked per iteration.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {Object} Returns `object`.
+ * @example
+ *
+ * function Foo() {
+ * this.a = 1;
+ * this.b = 2;
+ * }
+ *
+ * Foo.prototype.c = 3;
+ *
+ * _.forOwnRight(new Foo, function(value, key) {
+ * console.log(key);
+ * });
+ * // => logs 'b' and 'a' assuming `_.forOwn` logs 'a' and 'b'
+ */var forOwnRight=createForOwn(baseForOwnRight);
+/**
+ * Creates an array of function property names from all enumerable properties,
+ * own and inherited, of `object`.
+ *
+ * @static
+ * @memberOf _
+ * @alias methods
+ * @category Object
+ * @param {Object} object The object to inspect.
+ * @returns {Array} Returns the new array of property names.
+ * @example
+ *
+ * _.functions(_);
+ * // => ['after', 'ary', 'assign', ...]
+ */function functions(object){return baseFunctions(object,keysIn(object))}
+/**
+ * Gets the property value at `path` of `object`. If the resolved value is
+ * `undefined` the `defaultValue` is used in its place.
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Object} object The object to query.
+ * @param {Array|string} path The path of the property to get.
+ * @param {*} [defaultValue] The value returned if the resolved value is `undefined`.
+ * @returns {*} Returns the resolved value.
+ * @example
+ *
+ * var object = { 'a': [{ 'b': { 'c': 3 } }] };
+ *
+ * _.get(object, 'a[0].b.c');
+ * // => 3
+ *
+ * _.get(object, ['a', '0', 'b', 'c']);
+ * // => 3
+ *
+ * _.get(object, 'a.b.c', 'default');
+ * // => 'default'
+ */function get(object,path,defaultValue){var result=object==null?undefined:baseGet(object,toPath(path),path+"");return result===undefined?defaultValue:result}
+/**
+ * Checks if `path` is a direct property.
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Object} object The object to query.
+ * @param {Array|string} path The path to check.
+ * @returns {boolean} Returns `true` if `path` is a direct property, else `false`.
+ * @example
+ *
+ * var object = { 'a': { 'b': { 'c': 3 } } };
+ *
+ * _.has(object, 'a');
+ * // => true
+ *
+ * _.has(object, 'a.b.c');
+ * // => true
+ *
+ * _.has(object, ['a', 'b', 'c']);
+ * // => true
+ */function has(object,path){if(object==null){return false}var result=hasOwnProperty.call(object,path);if(!result&&!isKey(path)){path=toPath(path);object=path.length==1?object:baseGet(object,baseSlice(path,0,-1));if(object==null){return false}path=last(path);result=hasOwnProperty.call(object,path)}return result||isLength(object.length)&&isIndex(path,object.length)&&(isArray(object)||isArguments(object))}
+/**
+ * Creates an object composed of the inverted keys and values of `object`.
+ * If `object` contains duplicate values, subsequent values overwrite property
+ * assignments of previous values unless `multiValue` is `true`.
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Object} object The object to invert.
+ * @param {boolean} [multiValue] Allow multiple values per key.
+ * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+ * @returns {Object} Returns the new inverted object.
+ * @example
+ *
+ * var object = { 'a': 1, 'b': 2, 'c': 1 };
+ *
+ * _.invert(object);
+ * // => { '1': 'c', '2': 'b' }
+ *
+ * // with `multiValue`
+ * _.invert(object, true);
+ * // => { '1': ['a', 'c'], '2': ['b'] }
+ */function invert(object,multiValue,guard){if(guard&&isIterateeCall(object,multiValue,guard)){multiValue=undefined}var index=-1,props=keys(object),length=props.length,result={};while(++index<length){var key=props[index],value=object[key];if(multiValue){if(hasOwnProperty.call(result,value)){result[value].push(key)}else{result[value]=[key]}}else{result[value]=key}}return result}
+/**
+ * Creates an array of the own enumerable property names of `object`.
+ *
+ * **Note:** Non-object values are coerced to objects. See the
+ * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)
+ * for more details.
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Object} object The object to query.
+ * @returns {Array} Returns the array of property names.
+ * @example
+ *
+ * function Foo() {
+ * this.a = 1;
+ * this.b = 2;
+ * }
+ *
+ * Foo.prototype.c = 3;
+ *
+ * _.keys(new Foo);
+ * // => ['a', 'b'] (iteration order is not guaranteed)
+ *
+ * _.keys('hi');
+ * // => ['0', '1']
+ */var keys=!nativeKeys?shimKeys:function(object){var Ctor=object==null?undefined:object.constructor;if(typeof Ctor=="function"&&Ctor.prototype===object||typeof object!="function"&&isArrayLike(object)){return shimKeys(object)}return isObject(object)?nativeKeys(object):[]};
+/**
+ * Creates an array of the own and inherited enumerable property names of `object`.
+ *
+ * **Note:** Non-object values are coerced to objects.
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Object} object The object to query.
+ * @returns {Array} Returns the array of property names.
+ * @example
+ *
+ * function Foo() {
+ * this.a = 1;
+ * this.b = 2;
+ * }
+ *
+ * Foo.prototype.c = 3;
+ *
+ * _.keysIn(new Foo);
+ * // => ['a', 'b', 'c'] (iteration order is not guaranteed)
+ */function keysIn(object){if(object==null){return[]}if(!isObject(object)){object=Object(object)}var length=object.length;length=length&&isLength(length)&&(isArray(object)||isArguments(object))&&length||0;var Ctor=object.constructor,index=-1,isProto=typeof Ctor=="function"&&Ctor.prototype===object,result=Array(length),skipIndexes=length>0;while(++index<length){result[index]=index+""}for(var key in object){if(!(skipIndexes&&isIndex(key,length))&&!(key=="constructor"&&(isProto||!hasOwnProperty.call(object,key)))){result.push(key)}}return result}
+/**
+ * The opposite of `_.mapValues`; this method creates an object with the
+ * same values as `object` and keys generated by running each own enumerable
+ * property of `object` through `iteratee`.
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Object} object The object to iterate over.
+ * @param {Function|Object|string} [iteratee=_.identity] The function invoked
+ * per iteration.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {Object} Returns the new mapped object.
+ * @example
+ *
+ * _.mapKeys({ 'a': 1, 'b': 2 }, function(value, key) {
+ * return key + value;
+ * });
+ * // => { 'a1': 1, 'b2': 2 }
+ */var mapKeys=createObjectMapper(true);
+/**
+ * Creates an object with the same keys as `object` and values generated by
+ * running each own enumerable property of `object` through `iteratee`. The
+ * iteratee function is bound to `thisArg` and invoked with three arguments:
+ * (value, key, object).
+ *
+ * If a property name is provided for `iteratee` the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If a value is also provided for `thisArg` the created `_.matchesProperty`
+ * style callback returns `true` for elements that have a matching property
+ * value, else `false`.
+ *
+ * If an object is provided for `iteratee` the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Object} object The object to iterate over.
+ * @param {Function|Object|string} [iteratee=_.identity] The function invoked
+ * per iteration.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {Object} Returns the new mapped object.
+ * @example
+ *
+ * _.mapValues({ 'a': 1, 'b': 2 }, function(n) {
+ * return n * 3;
+ * });
+ * // => { 'a': 3, 'b': 6 }
+ *
+ * var users = {
+ * 'fred': { 'user': 'fred', 'age': 40 },
+ * 'pebbles': { 'user': 'pebbles', 'age': 1 }
+ * };
+ *
+ * // using the `_.property` callback shorthand
+ * _.mapValues(users, 'age');
+ * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)
+ */var mapValues=createObjectMapper();
+/**
+ * The opposite of `_.pick`; this method creates an object composed of the
+ * own and inherited enumerable properties of `object` that are not omitted.
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Object} object The source object.
+ * @param {Function|...(string|string[])} [predicate] The function invoked per
+ * iteration or property names to omit, specified as individual property
+ * names or arrays of property names.
+ * @param {*} [thisArg] The `this` binding of `predicate`.
+ * @returns {Object} Returns the new object.
+ * @example
+ *
+ * var object = { 'user': 'fred', 'age': 40 };
+ *
+ * _.omit(object, 'age');
+ * // => { 'user': 'fred' }
+ *
+ * _.omit(object, _.isNumber);
+ * // => { 'user': 'fred' }
+ */var omit=restParam(function(object,props){if(object==null){return{}}if(typeof props[0]!="function"){var props=arrayMap(baseFlatten(props),String);return pickByArray(object,baseDifference(keysIn(object),props))}var predicate=bindCallback(props[0],props[1],3);return pickByCallback(object,function(value,key,object){return!predicate(value,key,object)})});
+/**
+ * Creates a two dimensional array of the key-value pairs for `object`,
+ * e.g. `[[key1, value1], [key2, value2]]`.
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Object} object The object to query.
+ * @returns {Array} Returns the new array of key-value pairs.
+ * @example
+ *
+ * _.pairs({ 'barney': 36, 'fred': 40 });
+ * // => [['barney', 36], ['fred', 40]] (iteration order is not guaranteed)
+ */function pairs(object){object=toObject(object);var index=-1,props=keys(object),length=props.length,result=Array(length);while(++index<length){var key=props[index];result[index]=[key,object[key]]}return result}
+/**
+ * Creates an object composed of the picked `object` properties. Property
+ * names may be specified as individual arguments or as arrays of property
+ * names. If `predicate` is provided it is invoked for each property of `object`
+ * picking the properties `predicate` returns truthy for. The predicate is
+ * bound to `thisArg` and invoked with three arguments: (value, key, object).
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Object} object The source object.
+ * @param {Function|...(string|string[])} [predicate] The function invoked per
+ * iteration or property names to pick, specified as individual property
+ * names or arrays of property names.
+ * @param {*} [thisArg] The `this` binding of `predicate`.
+ * @returns {Object} Returns the new object.
+ * @example
+ *
+ * var object = { 'user': 'fred', 'age': 40 };
+ *
+ * _.pick(object, 'user');
+ * // => { 'user': 'fred' }
+ *
+ * _.pick(object, _.isString);
+ * // => { 'user': 'fred' }
+ */var pick=restParam(function(object,props){if(object==null){return{}}return typeof props[0]=="function"?pickByCallback(object,bindCallback(props[0],props[1],3)):pickByArray(object,baseFlatten(props))});
+/**
+ * This method is like `_.get` except that if the resolved value is a function
+ * it is invoked with the `this` binding of its parent object and its result
+ * is returned.
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Object} object The object to query.
+ * @param {Array|string} path The path of the property to resolve.
+ * @param {*} [defaultValue] The value returned if the resolved value is `undefined`.
+ * @returns {*} Returns the resolved value.
+ * @example
+ *
+ * var object = { 'a': [{ 'b': { 'c1': 3, 'c2': _.constant(4) } }] };
+ *
+ * _.result(object, 'a[0].b.c1');
+ * // => 3
+ *
+ * _.result(object, 'a[0].b.c2');
+ * // => 4
+ *
+ * _.result(object, 'a.b.c', 'default');
+ * // => 'default'
+ *
+ * _.result(object, 'a.b.c', _.constant('default'));
+ * // => 'default'
+ */function result(object,path,defaultValue){var result=object==null?undefined:object[path];if(result===undefined){if(object!=null&&!isKey(path,object)){path=toPath(path);object=path.length==1?object:baseGet(object,baseSlice(path,0,-1));result=object==null?undefined:object[last(path)]}result=result===undefined?defaultValue:result}return isFunction(result)?result.call(object):result}
+/**
+ * Sets the property value of `path` on `object`. If a portion of `path`
+ * does not exist it is created.
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Object} object The object to augment.
+ * @param {Array|string} path The path of the property to set.
+ * @param {*} value The value to set.
+ * @returns {Object} Returns `object`.
+ * @example
+ *
+ * var object = { 'a': [{ 'b': { 'c': 3 } }] };
+ *
+ * _.set(object, 'a[0].b.c', 4);
+ * console.log(object.a[0].b.c);
+ * // => 4
+ *
+ * _.set(object, 'x[0].y.z', 5);
+ * console.log(object.x[0].y.z);
+ * // => 5
+ */function set(object,path,value){if(object==null){return object}var pathKey=path+"";path=object[pathKey]!=null||isKey(path,object)?[pathKey]:toPath(path);var index=-1,length=path.length,lastIndex=length-1,nested=object;while(nested!=null&&++index<length){var key=path[index];if(isObject(nested)){if(index==lastIndex){nested[key]=value}else if(nested[key]==null){nested[key]=isIndex(path[index+1])?[]:{}}}nested=nested[key]}return object}
+/**
+ * An alternative to `_.reduce`; this method transforms `object` to a new
+ * `accumulator` object which is the result of running each of its own enumerable
+ * properties through `iteratee`, with each invocation potentially mutating
+ * the `accumulator` object. The `iteratee` is bound to `thisArg` and invoked
+ * with four arguments: (accumulator, value, key, object). Iteratee functions
+ * may exit iteration early by explicitly returning `false`.
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Array|Object} object The object to iterate over.
+ * @param {Function} [iteratee=_.identity] The function invoked per iteration.
+ * @param {*} [accumulator] The custom accumulator value.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {*} Returns the accumulated value.
+ * @example
+ *
+ * _.transform([2, 3, 4], function(result, n) {
+ * result.push(n *= n);
+ * return n % 2 == 0;
+ * });
+ * // => [4, 9]
+ *
+ * _.transform({ 'a': 1, 'b': 2 }, function(result, n, key) {
+ * result[key] = n * 3;
+ * });
+ * // => { 'a': 3, 'b': 6 }
+ */function transform(object,iteratee,accumulator,thisArg){var isArr=isArray(object)||isTypedArray(object);iteratee=getCallback(iteratee,thisArg,4);if(accumulator==null){if(isArr||isObject(object)){var Ctor=object.constructor;if(isArr){accumulator=isArray(object)?new Ctor:[]}else{accumulator=baseCreate(isFunction(Ctor)?Ctor.prototype:undefined)}}else{accumulator={}}}(isArr?arrayEach:baseForOwn)(object,function(value,index,object){return iteratee(accumulator,value,index,object)});return accumulator}
+/**
+ * Creates an array of the own enumerable property values of `object`.
+ *
+ * **Note:** Non-object values are coerced to objects.
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Object} object The object to query.
+ * @returns {Array} Returns the array of property values.
+ * @example
+ *
+ * function Foo() {
+ * this.a = 1;
+ * this.b = 2;
+ * }
+ *
+ * Foo.prototype.c = 3;
+ *
+ * _.values(new Foo);
+ * // => [1, 2] (iteration order is not guaranteed)
+ *
+ * _.values('hi');
+ * // => ['h', 'i']
+ */function values(object){return baseValues(object,keys(object))}
+/**
+ * Creates an array of the own and inherited enumerable property values
+ * of `object`.
+ *
+ * **Note:** Non-object values are coerced to objects.
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Object} object The object to query.
+ * @returns {Array} Returns the array of property values.
+ * @example
+ *
+ * function Foo() {
+ * this.a = 1;
+ * this.b = 2;
+ * }
+ *
+ * Foo.prototype.c = 3;
+ *
+ * _.valuesIn(new Foo);
+ * // => [1, 2, 3] (iteration order is not guaranteed)
+ */function valuesIn(object){return baseValues(object,keysIn(object))}
+/*------------------------------------------------------------------------*/
+/**
+ * Checks if `n` is between `start` and up to but not including, `end`. If
+ * `end` is not specified it is set to `start` with `start` then set to `0`.
+ *
+ * @static
+ * @memberOf _
+ * @category Number
+ * @param {number} n The number to check.
+ * @param {number} [start=0] The start of the range.
+ * @param {number} end The end of the range.
+ * @returns {boolean} Returns `true` if `n` is in the range, else `false`.
+ * @example
+ *
+ * _.inRange(3, 2, 4);
+ * // => true
+ *
+ * _.inRange(4, 8);
+ * // => true
+ *
+ * _.inRange(4, 2);
+ * // => false
+ *
+ * _.inRange(2, 2);
+ * // => false
+ *
+ * _.inRange(1.2, 2);
+ * // => true
+ *
+ * _.inRange(5.2, 4);
+ * // => false
+ */function inRange(value,start,end){start=+start||0;if(end===undefined){end=start;start=0}else{end=+end||0}return value>=nativeMin(start,end)&&value<nativeMax(start,end)}
+/**
+ * Produces a random number between `min` and `max` (inclusive). If only one
+ * argument is provided a number between `0` and the given number is returned.
+ * If `floating` is `true`, or either `min` or `max` are floats, a floating-point
+ * number is returned instead of an integer.
+ *
+ * @static
+ * @memberOf _
+ * @category Number
+ * @param {number} [min=0] The minimum possible value.
+ * @param {number} [max=1] The maximum possible value.
+ * @param {boolean} [floating] Specify returning a floating-point number.
+ * @returns {number} Returns the random number.
+ * @example
+ *
+ * _.random(0, 5);
+ * // => an integer between 0 and 5
+ *
+ * _.random(5);
+ * // => also an integer between 0 and 5
+ *
+ * _.random(5, true);
+ * // => a floating-point number between 0 and 5
+ *
+ * _.random(1.2, 5.2);
+ * // => a floating-point number between 1.2 and 5.2
+ */function random(min,max,floating){if(floating&&isIterateeCall(min,max,floating)){max=floating=undefined}var noMin=min==null,noMax=max==null;if(floating==null){if(noMax&&typeof min=="boolean"){floating=min;min=1}else if(typeof max=="boolean"){floating=max;noMax=true}}if(noMin&&noMax){max=1;noMax=false}min=+min||0;if(noMax){max=min;min=0}else{max=+max||0}if(floating||min%1||max%1){var rand=nativeRandom();return nativeMin(min+rand*(max-min+parseFloat("1e-"+((rand+"").length-1))),max)}return baseRandom(min,max)}
+/*------------------------------------------------------------------------*/
+/**
+ * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase).
+ *
+ * @static
+ * @memberOf _
+ * @category String
+ * @param {string} [string=''] The string to convert.
+ * @returns {string} Returns the camel cased string.
+ * @example
+ *
+ * _.camelCase('Foo Bar');
+ * // => 'fooBar'
+ *
+ * _.camelCase('--foo-bar');
+ * // => 'fooBar'
+ *
+ * _.camelCase('__foo_bar__');
+ * // => 'fooBar'
+ */var camelCase=createCompounder(function(result,word,index){word=word.toLowerCase();return result+(index?word.charAt(0).toUpperCase()+word.slice(1):word)});
+/**
+ * Capitalizes the first character of `string`.
+ *
+ * @static
+ * @memberOf _
+ * @category String
+ * @param {string} [string=''] The string to capitalize.
+ * @returns {string} Returns the capitalized string.
+ * @example
+ *
+ * _.capitalize('fred');
+ * // => 'Fred'
+ */function capitalize(string){string=baseToString(string);return string&&string.charAt(0).toUpperCase()+string.slice(1)}
+/**
+ * Deburrs `string` by converting [latin-1 supplementary letters](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)
+ * to basic latin letters and removing [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).
+ *
+ * @static
+ * @memberOf _
+ * @category String
+ * @param {string} [string=''] The string to deburr.
+ * @returns {string} Returns the deburred string.
+ * @example
+ *
+ * _.deburr('déjà vu');
+ * // => 'deja vu'
+ */function deburr(string){string=baseToString(string);return string&&string.replace(reLatin1,deburrLetter).replace(reComboMark,"")}
+/**
+ * Checks if `string` ends with the given target string.
+ *
+ * @static
+ * @memberOf _
+ * @category String
+ * @param {string} [string=''] The string to search.
+ * @param {string} [target] The string to search for.
+ * @param {number} [position=string.length] The position to search from.
+ * @returns {boolean} Returns `true` if `string` ends with `target`, else `false`.
+ * @example
+ *
+ * _.endsWith('abc', 'c');
+ * // => true
+ *
+ * _.endsWith('abc', 'b');
+ * // => false
+ *
+ * _.endsWith('abc', 'b', 2);
+ * // => true
+ */function endsWith(string,target,position){string=baseToString(string);target=target+"";var length=string.length;position=position===undefined?length:nativeMin(position<0?0:+position||0,length);position-=target.length;return position>=0&&string.indexOf(target,position)==position}
+/**
+ * Converts the characters "&", "<", ">", '"', "'", and "\`", in `string` to
+ * their corresponding HTML entities.
+ *
+ * **Note:** No other characters are escaped. To escape additional characters
+ * use a third-party library like [_he_](https://mths.be/he).
+ *
+ * Though the ">" character is escaped for symmetry, characters like
+ * ">" and "/" don't need escaping in HTML and have no special meaning
+ * unless they're part of a tag or unquoted attribute value.
+ * See [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands)
+ * (under "semi-related fun fact") for more details.
+ *
+ * Backticks are escaped because in Internet Explorer < 9, they can break out
+ * of attribute values or HTML comments. See [#59](https://html5sec.org/#59),
+ * [#102](https://html5sec.org/#102), [#108](https://html5sec.org/#108), and
+ * [#133](https://html5sec.org/#133) of the [HTML5 Security Cheatsheet](https://html5sec.org/)
+ * for more details.
+ *
+ * When working with HTML you should always [quote attribute values](http://wonko.com/post/html-escaping)
+ * to reduce XSS vectors.
+ *
+ * @static
+ * @memberOf _
+ * @category String
+ * @param {string} [string=''] The string to escape.
+ * @returns {string} Returns the escaped string.
+ * @example
+ *
+ * _.escape('fred, barney, & pebbles');
+ * // => 'fred, barney, &amp; pebbles'
+ */function escape(string){
+// Reset `lastIndex` because in IE < 9 `String#replace` does not.
+string=baseToString(string);return string&&reHasUnescapedHtml.test(string)?string.replace(reUnescapedHtml,escapeHtmlChar):string}
+/**
+ * Escapes the `RegExp` special characters "\", "/", "^", "$", ".", "|", "?",
+ * "*", "+", "(", ")", "[", "]", "{" and "}" in `string`.
+ *
+ * @static
+ * @memberOf _
+ * @category String
+ * @param {string} [string=''] The string to escape.
+ * @returns {string} Returns the escaped string.
+ * @example
+ *
+ * _.escapeRegExp('[lodash](https://lodash.com/)');
+ * // => '\[lodash\]\(https:\/\/lodash\.com\/\)'
+ */function escapeRegExp(string){string=baseToString(string);return string&&reHasRegExpChars.test(string)?string.replace(reRegExpChars,escapeRegExpChar):string||"(?:)"}
+/**
+ * Converts `string` to [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles).
+ *
+ * @static
+ * @memberOf _
+ * @category String
+ * @param {string} [string=''] The string to convert.
+ * @returns {string} Returns the kebab cased string.
+ * @example
+ *
+ * _.kebabCase('Foo Bar');
+ * // => 'foo-bar'
+ *
+ * _.kebabCase('fooBar');
+ * // => 'foo-bar'
+ *
+ * _.kebabCase('__foo_bar__');
+ * // => 'foo-bar'
+ */var kebabCase=createCompounder(function(result,word,index){return result+(index?"-":"")+word.toLowerCase()});
+/**
+ * Pads `string` on the left and right sides if it's shorter than `length`.
+ * Padding characters are truncated if they can't be evenly divided by `length`.
+ *
+ * @static
+ * @memberOf _
+ * @category String
+ * @param {string} [string=''] The string to pad.
+ * @param {number} [length=0] The padding length.
+ * @param {string} [chars=' '] The string used as padding.
+ * @returns {string} Returns the padded string.
+ * @example
+ *
+ * _.pad('abc', 8);
+ * // => ' abc '
+ *
+ * _.pad('abc', 8, '_-');
+ * // => '_-abc_-_'
+ *
+ * _.pad('abc', 3);
+ * // => 'abc'
+ */function pad(string,length,chars){string=baseToString(string);length=+length;var strLength=string.length;if(strLength>=length||!nativeIsFinite(length)){return string}var mid=(length-strLength)/2,leftLength=nativeFloor(mid),rightLength=nativeCeil(mid);chars=createPadding("",rightLength,chars);return chars.slice(0,leftLength)+string+chars}
+/**
+ * Pads `string` on the left side if it's shorter than `length`. Padding
+ * characters are truncated if they exceed `length`.
+ *
+ * @static
+ * @memberOf _
+ * @category String
+ * @param {string} [string=''] The string to pad.
+ * @param {number} [length=0] The padding length.
+ * @param {string} [chars=' '] The string used as padding.
+ * @returns {string} Returns the padded string.
+ * @example
+ *
+ * _.padLeft('abc', 6);
+ * // => ' abc'
+ *
+ * _.padLeft('abc', 6, '_-');
+ * // => '_-_abc'
+ *
+ * _.padLeft('abc', 3);
+ * // => 'abc'
+ */var padLeft=createPadDir();
+/**
+ * Pads `string` on the right side if it's shorter than `length`. Padding
+ * characters are truncated if they exceed `length`.
+ *
+ * @static
+ * @memberOf _
+ * @category String
+ * @param {string} [string=''] The string to pad.
+ * @param {number} [length=0] The padding length.
+ * @param {string} [chars=' '] The string used as padding.
+ * @returns {string} Returns the padded string.
+ * @example
+ *
+ * _.padRight('abc', 6);
+ * // => 'abc '
+ *
+ * _.padRight('abc', 6, '_-');
+ * // => 'abc_-_'
+ *
+ * _.padRight('abc', 3);
+ * // => 'abc'
+ */var padRight=createPadDir(true);
+/**
+ * Converts `string` to an integer of the specified radix. If `radix` is
+ * `undefined` or `0`, a `radix` of `10` is used unless `value` is a hexadecimal,
+ * in which case a `radix` of `16` is used.
+ *
+ * **Note:** This method aligns with the [ES5 implementation](https://es5.github.io/#E)
+ * of `parseInt`.
+ *
+ * @static
+ * @memberOf _
+ * @category String
+ * @param {string} string The string to convert.
+ * @param {number} [radix] The radix to interpret `value` by.
+ * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+ * @returns {number} Returns the converted integer.
+ * @example
+ *
+ * _.parseInt('08');
+ * // => 8
+ *
+ * _.map(['6', '08', '10'], _.parseInt);
+ * // => [6, 8, 10]
+ */function parseInt(string,radix,guard){
+// Firefox < 21 and Opera < 15 follow ES3 for `parseInt`.
+// Chrome fails to trim leading <BOM> whitespace characters.
+// See https://code.google.com/p/v8/issues/detail?id=3109 for more details.
+if(guard?isIterateeCall(string,radix,guard):radix==null){radix=0}else if(radix){radix=+radix}string=trim(string);return nativeParseInt(string,radix||(reHasHexPrefix.test(string)?16:10))}
+/**
+ * Repeats the given string `n` times.
+ *
+ * @static
+ * @memberOf _
+ * @category String
+ * @param {string} [string=''] The string to repeat.
+ * @param {number} [n=0] The number of times to repeat the string.
+ * @returns {string} Returns the repeated string.
+ * @example
+ *
+ * _.repeat('*', 3);
+ * // => '***'
+ *
+ * _.repeat('abc', 2);
+ * // => 'abcabc'
+ *
+ * _.repeat('abc', 0);
+ * // => ''
+ */function repeat(string,n){var result="";string=baseToString(string);n=+n;if(n<1||!string||!nativeIsFinite(n)){return result}
+// Leverage the exponentiation by squaring algorithm for a faster repeat.
+// See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details.
+do{if(n%2){result+=string}n=nativeFloor(n/2);string+=string}while(n);return result}
+/**
+ * Converts `string` to [snake case](https://en.wikipedia.org/wiki/Snake_case).
+ *
+ * @static
+ * @memberOf _
+ * @category String
+ * @param {string} [string=''] The string to convert.
+ * @returns {string} Returns the snake cased string.
+ * @example
+ *
+ * _.snakeCase('Foo Bar');
+ * // => 'foo_bar'
+ *
+ * _.snakeCase('fooBar');
+ * // => 'foo_bar'
+ *
+ * _.snakeCase('--foo-bar');
+ * // => 'foo_bar'
+ */var snakeCase=createCompounder(function(result,word,index){return result+(index?"_":"")+word.toLowerCase()});
+/**
+ * Converts `string` to [start case](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage).
+ *
+ * @static
+ * @memberOf _
+ * @category String
+ * @param {string} [string=''] The string to convert.
+ * @returns {string} Returns the start cased string.
+ * @example
+ *
+ * _.startCase('--foo-bar');
+ * // => 'Foo Bar'
+ *
+ * _.startCase('fooBar');
+ * // => 'Foo Bar'
+ *
+ * _.startCase('__foo_bar__');
+ * // => 'Foo Bar'
+ */var startCase=createCompounder(function(result,word,index){return result+(index?" ":"")+(word.charAt(0).toUpperCase()+word.slice(1))});
+/**
+ * Checks if `string` starts with the given target string.
+ *
+ * @static
+ * @memberOf _
+ * @category String
+ * @param {string} [string=''] The string to search.
+ * @param {string} [target] The string to search for.
+ * @param {number} [position=0] The position to search from.
+ * @returns {boolean} Returns `true` if `string` starts with `target`, else `false`.
+ * @example
+ *
+ * _.startsWith('abc', 'a');
+ * // => true
+ *
+ * _.startsWith('abc', 'b');
+ * // => false
+ *
+ * _.startsWith('abc', 'b', 1);
+ * // => true
+ */function startsWith(string,target,position){string=baseToString(string);position=position==null?0:nativeMin(position<0?0:+position||0,string.length);return string.lastIndexOf(target,position)==position}
+/**
+ * Creates a compiled template function that can interpolate data properties
+ * in "interpolate" delimiters, HTML-escape interpolated data properties in
+ * "escape" delimiters, and execute JavaScript in "evaluate" delimiters. Data
+ * properties may be accessed as free variables in the template. If a setting
+ * object is provided it takes precedence over `_.templateSettings` values.
+ *
+ * **Note:** In the development build `_.template` utilizes
+ * [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl)
+ * for easier debugging.
+ *
+ * For more information on precompiling templates see
+ * [lodash's custom builds documentation](https://lodash.com/custom-builds).
+ *
+ * For more information on Chrome extension sandboxes see
+ * [Chrome's extensions documentation](https://developer.chrome.com/extensions/sandboxingEval).
+ *
+ * @static
+ * @memberOf _
+ * @category String
+ * @param {string} [string=''] The template string.
+ * @param {Object} [options] The options object.
+ * @param {RegExp} [options.escape] The HTML "escape" delimiter.
+ * @param {RegExp} [options.evaluate] The "evaluate" delimiter.
+ * @param {Object} [options.imports] An object to import into the template as free variables.
+ * @param {RegExp} [options.interpolate] The "interpolate" delimiter.
+ * @param {string} [options.sourceURL] The sourceURL of the template's compiled source.
+ * @param {string} [options.variable] The data object variable name.
+ * @param- {Object} [otherOptions] Enables the legacy `options` param signature.
+ * @returns {Function} Returns the compiled template function.
+ * @example
+ *
+ * // using the "interpolate" delimiter to create a compiled template
+ * var compiled = _.template('hello <%= user %>!');
+ * compiled({ 'user': 'fred' });
+ * // => 'hello fred!'
+ *
+ * // using the HTML "escape" delimiter to escape data property values
+ * var compiled = _.template('<b><%- value %></b>');
+ * compiled({ 'value': '<script>' });
+ * // => '<b>&lt;script&gt;</b>'
+ *
+ * // using the "evaluate" delimiter to execute JavaScript and generate HTML
+ * var compiled = _.template('<% _.forEach(users, function(user) { %><li><%- user %></li><% }); %>');
+ * compiled({ 'users': ['fred', 'barney'] });
+ * // => '<li>fred</li><li>barney</li>'
+ *
+ * // using the internal `print` function in "evaluate" delimiters
+ * var compiled = _.template('<% print("hello " + user); %>!');
+ * compiled({ 'user': 'barney' });
+ * // => 'hello barney!'
+ *
+ * // using the ES delimiter as an alternative to the default "interpolate" delimiter
+ * var compiled = _.template('hello ${ user }!');
+ * compiled({ 'user': 'pebbles' });
+ * // => 'hello pebbles!'
+ *
+ * // using custom template delimiters
+ * _.templateSettings.interpolate = /{{([\s\S]+?)}}/g;
+ * var compiled = _.template('hello {{ user }}!');
+ * compiled({ 'user': 'mustache' });
+ * // => 'hello mustache!'
+ *
+ * // using backslashes to treat delimiters as plain text
+ * var compiled = _.template('<%= "\\<%- value %\\>" %>');
+ * compiled({ 'value': 'ignored' });
+ * // => '<%- value %>'
+ *
+ * // using the `imports` option to import `jQuery` as `jq`
+ * var text = '<% jq.each(users, function(user) { %><li><%- user %></li><% }); %>';
+ * var compiled = _.template(text, { 'imports': { 'jq': jQuery } });
+ * compiled({ 'users': ['fred', 'barney'] });
+ * // => '<li>fred</li><li>barney</li>'
+ *
+ * // using the `sourceURL` option to specify a custom sourceURL for the template
+ * var compiled = _.template('hello <%= user %>!', { 'sourceURL': '/basic/greeting.jst' });
+ * compiled(data);
+ * // => find the source of "greeting.jst" under the Sources tab or Resources panel of the web inspector
+ *
+ * // using the `variable` option to ensure a with-statement isn't used in the compiled template
+ * var compiled = _.template('hi <%= data.user %>!', { 'variable': 'data' });
+ * compiled.source;
+ * // => function(data) {
+ * // var __t, __p = '';
+ * // __p += 'hi ' + ((__t = ( data.user )) == null ? '' : __t) + '!';
+ * // return __p;
+ * // }
+ *
+ * // using the `source` property to inline compiled templates for meaningful
+ * // line numbers in error messages and a stack trace
+ * fs.writeFileSync(path.join(cwd, 'jst.js'), '\
+ * var JST = {\
+ * "main": ' + _.template(mainText).source + '\
+ * };\
+ * ');
+ */function template(string,options,otherOptions){
+// Based on John Resig's `tmpl` implementation (http://ejohn.org/blog/javascript-micro-templating/)
+// and Laura Doktorova's doT.js (https://github.com/olado/doT).
+var settings=lodash.templateSettings;if(otherOptions&&isIterateeCall(string,options,otherOptions)){options=otherOptions=undefined}string=baseToString(string);options=assignWith(baseAssign({},otherOptions||options),settings,assignOwnDefaults);var imports=assignWith(baseAssign({},options.imports),settings.imports,assignOwnDefaults),importsKeys=keys(imports),importsValues=baseValues(imports,importsKeys);var isEscaping,isEvaluating,index=0,interpolate=options.interpolate||reNoMatch,source="__p += '";
+// Compile the regexp to match each delimiter.
+var reDelimiters=RegExp((options.escape||reNoMatch).source+"|"+interpolate.source+"|"+(interpolate===reInterpolate?reEsTemplate:reNoMatch).source+"|"+(options.evaluate||reNoMatch).source+"|$","g");
+// Use a sourceURL for easier debugging.
+var sourceURL="//# sourceURL="+("sourceURL"in options?options.sourceURL:"lodash.templateSources["+ ++templateCounter+"]")+"\n";string.replace(reDelimiters,function(match,escapeValue,interpolateValue,esTemplateValue,evaluateValue,offset){interpolateValue||(interpolateValue=esTemplateValue);
+// Escape characters that can't be included in string literals.
+source+=string.slice(index,offset).replace(reUnescapedString,escapeStringChar);
+// Replace delimiters with snippets.
+if(escapeValue){isEscaping=true;source+="' +\n__e("+escapeValue+") +\n'"}if(evaluateValue){isEvaluating=true;source+="';\n"+evaluateValue+";\n__p += '"}if(interpolateValue){source+="' +\n((__t = ("+interpolateValue+")) == null ? '' : __t) +\n'"}index=offset+match.length;
+// The JS engine embedded in Adobe products requires returning the `match`
+// string in order to produce the correct `offset` value.
+return match});source+="';\n";
+// If `variable` is not specified wrap a with-statement around the generated
+// code to add the data object to the top of the scope chain.
+var variable=options.variable;if(!variable){source="with (obj) {\n"+source+"\n}\n"}
+// Cleanup code by stripping empty strings.
+source=(isEvaluating?source.replace(reEmptyStringLeading,""):source).replace(reEmptyStringMiddle,"$1").replace(reEmptyStringTrailing,"$1;");
+// Frame code as the function body.
+source="function("+(variable||"obj")+") {\n"+(variable?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(isEscaping?", __e = _.escape":"")+(isEvaluating?", __j = Array.prototype.join;\n"+"function print() { __p += __j.call(arguments, '') }\n":";\n")+source+"return __p\n}";var result=attempt(function(){return Function(importsKeys,sourceURL+"return "+source).apply(undefined,importsValues)});
+// Provide the compiled function's source by its `toString` method or
+// the `source` property as a convenience for inlining compiled templates.
+result.source=source;if(isError(result)){throw result}return result}
+/**
+ * Removes leading and trailing whitespace or specified characters from `string`.
+ *
+ * @static
+ * @memberOf _
+ * @category String
+ * @param {string} [string=''] The string to trim.
+ * @param {string} [chars=whitespace] The characters to trim.
+ * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+ * @returns {string} Returns the trimmed string.
+ * @example
+ *
+ * _.trim(' abc ');
+ * // => 'abc'
+ *
+ * _.trim('-_-abc-_-', '_-');
+ * // => 'abc'
+ *
+ * _.map([' foo ', ' bar '], _.trim);
+ * // => ['foo', 'bar']
+ */function trim(string,chars,guard){var value=string;string=baseToString(string);if(!string){return string}if(guard?isIterateeCall(value,chars,guard):chars==null){return string.slice(trimmedLeftIndex(string),trimmedRightIndex(string)+1)}chars=chars+"";return string.slice(charsLeftIndex(string,chars),charsRightIndex(string,chars)+1)}
+/**
+ * Removes leading whitespace or specified characters from `string`.
+ *
+ * @static
+ * @memberOf _
+ * @category String
+ * @param {string} [string=''] The string to trim.
+ * @param {string} [chars=whitespace] The characters to trim.
+ * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+ * @returns {string} Returns the trimmed string.
+ * @example
+ *
+ * _.trimLeft(' abc ');
+ * // => 'abc '
+ *
+ * _.trimLeft('-_-abc-_-', '_-');
+ * // => 'abc-_-'
+ */function trimLeft(string,chars,guard){var value=string;string=baseToString(string);if(!string){return string}if(guard?isIterateeCall(value,chars,guard):chars==null){return string.slice(trimmedLeftIndex(string))}return string.slice(charsLeftIndex(string,chars+""))}
+/**
+ * Removes trailing whitespace or specified characters from `string`.
+ *
+ * @static
+ * @memberOf _
+ * @category String
+ * @param {string} [string=''] The string to trim.
+ * @param {string} [chars=whitespace] The characters to trim.
+ * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+ * @returns {string} Returns the trimmed string.
+ * @example
+ *
+ * _.trimRight(' abc ');
+ * // => ' abc'
+ *
+ * _.trimRight('-_-abc-_-', '_-');
+ * // => '-_-abc'
+ */function trimRight(string,chars,guard){var value=string;string=baseToString(string);if(!string){return string}if(guard?isIterateeCall(value,chars,guard):chars==null){return string.slice(0,trimmedRightIndex(string)+1)}return string.slice(0,charsRightIndex(string,chars+"")+1)}
+/**
+ * Truncates `string` if it's longer than the given maximum string length.
+ * The last characters of the truncated string are replaced with the omission
+ * string which defaults to "...".
+ *
+ * @static
+ * @memberOf _
+ * @category String
+ * @param {string} [string=''] The string to truncate.
+ * @param {Object|number} [options] The options object or maximum string length.
+ * @param {number} [options.length=30] The maximum string length.
+ * @param {string} [options.omission='...'] The string to indicate text is omitted.
+ * @param {RegExp|string} [options.separator] The separator pattern to truncate to.
+ * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+ * @returns {string} Returns the truncated string.
+ * @example
+ *
+ * _.trunc('hi-diddly-ho there, neighborino');
+ * // => 'hi-diddly-ho there, neighbo...'
+ *
+ * _.trunc('hi-diddly-ho there, neighborino', 24);
+ * // => 'hi-diddly-ho there, n...'
+ *
+ * _.trunc('hi-diddly-ho there, neighborino', {
+ * 'length': 24,
+ * 'separator': ' '
+ * });
+ * // => 'hi-diddly-ho there,...'
+ *
+ * _.trunc('hi-diddly-ho there, neighborino', {
+ * 'length': 24,
+ * 'separator': /,? +/
+ * });
+ * // => 'hi-diddly-ho there...'
+ *
+ * _.trunc('hi-diddly-ho there, neighborino', {
+ * 'omission': ' [...]'
+ * });
+ * // => 'hi-diddly-ho there, neig [...]'
+ */function trunc(string,options,guard){if(guard&&isIterateeCall(string,options,guard)){options=undefined}var length=DEFAULT_TRUNC_LENGTH,omission=DEFAULT_TRUNC_OMISSION;if(options!=null){if(isObject(options)){var separator="separator"in options?options.separator:separator;length="length"in options?+options.length||0:length;omission="omission"in options?baseToString(options.omission):omission}else{length=+options||0}}string=baseToString(string);if(length>=string.length){return string}var end=length-omission.length;if(end<1){return omission}var result=string.slice(0,end);if(separator==null){return result+omission}if(isRegExp(separator)){if(string.slice(end).search(separator)){var match,newEnd,substring=string.slice(0,end);if(!separator.global){separator=RegExp(separator.source,(reFlags.exec(separator)||"")+"g")}separator.lastIndex=0;while(match=separator.exec(substring)){newEnd=match.index}result=result.slice(0,newEnd==null?end:newEnd)}}else if(string.indexOf(separator,end)!=end){var index=result.lastIndexOf(separator);if(index>-1){result=result.slice(0,index)}}return result+omission}
+/**
+ * The inverse of `_.escape`; this method converts the HTML entities
+ * `&amp;`, `&lt;`, `&gt;`, `&quot;`, `&#39;`, and `&#96;` in `string` to their
+ * corresponding characters.
+ *
+ * **Note:** No other HTML entities are unescaped. To unescape additional HTML
+ * entities use a third-party library like [_he_](https://mths.be/he).
+ *
+ * @static
+ * @memberOf _
+ * @category String
+ * @param {string} [string=''] The string to unescape.
+ * @returns {string} Returns the unescaped string.
+ * @example
+ *
+ * _.unescape('fred, barney, &amp; pebbles');
+ * // => 'fred, barney, & pebbles'
+ */function unescape(string){string=baseToString(string);return string&&reHasEscapedHtml.test(string)?string.replace(reEscapedHtml,unescapeHtmlChar):string}
+/**
+ * Splits `string` into an array of its words.
+ *
+ * @static
+ * @memberOf _
+ * @category String
+ * @param {string} [string=''] The string to inspect.
+ * @param {RegExp|string} [pattern] The pattern to match words.
+ * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+ * @returns {Array} Returns the words of `string`.
+ * @example
+ *
+ * _.words('fred, barney, & pebbles');
+ * // => ['fred', 'barney', 'pebbles']
+ *
+ * _.words('fred, barney, & pebbles', /[^, ]+/g);
+ * // => ['fred', 'barney', '&', 'pebbles']
+ */function words(string,pattern,guard){if(guard&&isIterateeCall(string,pattern,guard)){pattern=undefined}string=baseToString(string);return string.match(pattern||reWords)||[]}
+/*------------------------------------------------------------------------*/
+/**
+ * Attempts to invoke `func`, returning either the result or the caught error
+ * object. Any additional arguments are provided to `func` when it is invoked.
+ *
+ * @static
+ * @memberOf _
+ * @category Utility
+ * @param {Function} func The function to attempt.
+ * @returns {*} Returns the `func` result or error object.
+ * @example
+ *
+ * // avoid throwing errors for invalid selectors
+ * var elements = _.attempt(function(selector) {
+ * return document.querySelectorAll(selector);
+ * }, '>_>');
+ *
+ * if (_.isError(elements)) {
+ * elements = [];
+ * }
+ */var attempt=restParam(function(func,args){try{return func.apply(undefined,args)}catch(e){return isError(e)?e:new Error(e)}});
+/**
+ * Creates a function that invokes `func` with the `this` binding of `thisArg`
+ * and arguments of the created function. If `func` is a property name the
+ * created callback returns the property value for a given element. If `func`
+ * is an object the created callback returns `true` for elements that contain
+ * the equivalent object properties, otherwise it returns `false`.
+ *
+ * @static
+ * @memberOf _
+ * @alias iteratee
+ * @category Utility
+ * @param {*} [func=_.identity] The value to convert to a callback.
+ * @param {*} [thisArg] The `this` binding of `func`.
+ * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+ * @returns {Function} Returns the callback.
+ * @example
+ *
+ * var users = [
+ * { 'user': 'barney', 'age': 36 },
+ * { 'user': 'fred', 'age': 40 }
+ * ];
+ *
+ * // wrap to create custom callback shorthands
+ * _.callback = _.wrap(_.callback, function(callback, func, thisArg) {
+ * var match = /^(.+?)__([gl]t)(.+)$/.exec(func);
+ * if (!match) {
+ * return callback(func, thisArg);
+ * }
+ * return function(object) {
+ * return match[2] == 'gt'
+ * ? object[match[1]] > match[3]
+ * : object[match[1]] < match[3];
+ * };
+ * });
+ *
+ * _.filter(users, 'age__gt36');
+ * // => [{ 'user': 'fred', 'age': 40 }]
+ */function callback(func,thisArg,guard){if(guard&&isIterateeCall(func,thisArg,guard)){thisArg=undefined}return isObjectLike(func)?matches(func):baseCallback(func,thisArg)}
+/**
+ * Creates a function that returns `value`.
+ *
+ * @static
+ * @memberOf _
+ * @category Utility
+ * @param {*} value The value to return from the new function.
+ * @returns {Function} Returns the new function.
+ * @example
+ *
+ * var object = { 'user': 'fred' };
+ * var getter = _.constant(object);
+ *
+ * getter() === object;
+ * // => true
+ */function constant(value){return function(){return value}}
+/**
+ * This method returns the first argument provided to it.
+ *
+ * @static
+ * @memberOf _
+ * @category Utility
+ * @param {*} value Any value.
+ * @returns {*} Returns `value`.
+ * @example
+ *
+ * var object = { 'user': 'fred' };
+ *
+ * _.identity(object) === object;
+ * // => true
+ */function identity(value){return value}
+/**
+ * Creates a function that performs a deep comparison between a given object
+ * and `source`, returning `true` if the given object has equivalent property
+ * values, else `false`.
+ *
+ * **Note:** This method supports comparing arrays, booleans, `Date` objects,
+ * numbers, `Object` objects, regexes, and strings. Objects are compared by
+ * their own, not inherited, enumerable properties. For comparing a single
+ * own or inherited property value see `_.matchesProperty`.
+ *
+ * @static
+ * @memberOf _
+ * @category Utility
+ * @param {Object} source The object of property values to match.
+ * @returns {Function} Returns the new function.
+ * @example
+ *
+ * var users = [
+ * { 'user': 'barney', 'age': 36, 'active': true },
+ * { 'user': 'fred', 'age': 40, 'active': false }
+ * ];
+ *
+ * _.filter(users, _.matches({ 'age': 40, 'active': false }));
+ * // => [{ 'user': 'fred', 'age': 40, 'active': false }]
+ */function matches(source){return baseMatches(baseClone(source,true))}
+/**
+ * Creates a function that compares the property value of `path` on a given
+ * object to `value`.
+ *
+ * **Note:** This method supports comparing arrays, booleans, `Date` objects,
+ * numbers, `Object` objects, regexes, and strings. Objects are compared by
+ * their own, not inherited, enumerable properties.
+ *
+ * @static
+ * @memberOf _
+ * @category Utility
+ * @param {Array|string} path The path of the property to get.
+ * @param {*} srcValue The value to match.
+ * @returns {Function} Returns the new function.
+ * @example
+ *
+ * var users = [
+ * { 'user': 'barney' },
+ * { 'user': 'fred' }
+ * ];
+ *
+ * _.find(users, _.matchesProperty('user', 'fred'));
+ * // => { 'user': 'fred' }
+ */function matchesProperty(path,srcValue){return baseMatchesProperty(path,baseClone(srcValue,true))}
+/**
+ * Creates a function that invokes the method at `path` on a given object.
+ * Any additional arguments are provided to the invoked method.
+ *
+ * @static
+ * @memberOf _
+ * @category Utility
+ * @param {Array|string} path The path of the method to invoke.
+ * @param {...*} [args] The arguments to invoke the method with.
+ * @returns {Function} Returns the new function.
+ * @example
+ *
+ * var objects = [
+ * { 'a': { 'b': { 'c': _.constant(2) } } },
+ * { 'a': { 'b': { 'c': _.constant(1) } } }
+ * ];
+ *
+ * _.map(objects, _.method('a.b.c'));
+ * // => [2, 1]
+ *
+ * _.invoke(_.sortBy(objects, _.method(['a', 'b', 'c'])), 'a.b.c');
+ * // => [1, 2]
+ */var method=restParam(function(path,args){return function(object){return invokePath(object,path,args)}});
+/**
+ * The opposite of `_.method`; this method creates a function that invokes
+ * the method at a given path on `object`. Any additional arguments are
+ * provided to the invoked method.
+ *
+ * @static
+ * @memberOf _
+ * @category Utility
+ * @param {Object} object The object to query.
+ * @param {...*} [args] The arguments to invoke the method with.
+ * @returns {Function} Returns the new function.
+ * @example
+ *
+ * var array = _.times(3, _.constant),
+ * object = { 'a': array, 'b': array, 'c': array };
+ *
+ * _.map(['a[2]', 'c[0]'], _.methodOf(object));
+ * // => [2, 0]
+ *
+ * _.map([['a', '2'], ['c', '0']], _.methodOf(object));
+ * // => [2, 0]
+ */var methodOf=restParam(function(object,args){return function(path){return invokePath(object,path,args)}});
+/**
+ * Adds all own enumerable function properties of a source object to the
+ * destination object. If `object` is a function then methods are added to
+ * its prototype as well.
+ *
+ * **Note:** Use `_.runInContext` to create a pristine `lodash` function to
+ * avoid conflicts caused by modifying the original.
+ *
+ * @static
+ * @memberOf _
+ * @category Utility
+ * @param {Function|Object} [object=lodash] The destination object.
+ * @param {Object} source The object of functions to add.
+ * @param {Object} [options] The options object.
+ * @param {boolean} [options.chain=true] Specify whether the functions added
+ * are chainable.
+ * @returns {Function|Object} Returns `object`.
+ * @example
+ *
+ * function vowels(string) {
+ * return _.filter(string, function(v) {
+ * return /[aeiou]/i.test(v);
+ * });
+ * }
+ *
+ * _.mixin({ 'vowels': vowels });
+ * _.vowels('fred');
+ * // => ['e']
+ *
+ * _('fred').vowels().value();
+ * // => ['e']
+ *
+ * _.mixin({ 'vowels': vowels }, { 'chain': false });
+ * _('fred').vowels();
+ * // => ['e']
+ */function mixin(object,source,options){if(options==null){var isObj=isObject(source),props=isObj?keys(source):undefined,methodNames=props&&props.length?baseFunctions(source,props):undefined;if(!(methodNames?methodNames.length:isObj)){methodNames=false;options=source;source=object;object=this}}if(!methodNames){methodNames=baseFunctions(source,keys(source))}var chain=true,index=-1,isFunc=isFunction(object),length=methodNames.length;if(options===false){chain=false}else if(isObject(options)&&"chain"in options){chain=options.chain}while(++index<length){var methodName=methodNames[index],func=source[methodName];object[methodName]=func;if(isFunc){object.prototype[methodName]=function(func){return function(){var chainAll=this.__chain__;if(chain||chainAll){var result=object(this.__wrapped__),actions=result.__actions__=arrayCopy(this.__actions__);actions.push({func:func,args:arguments,thisArg:object});result.__chain__=chainAll;return result}return func.apply(object,arrayPush([this.value()],arguments))}}(func)}}return object}
+/**
+ * Reverts the `_` variable to its previous value and returns a reference to
+ * the `lodash` function.
+ *
+ * @static
+ * @memberOf _
+ * @category Utility
+ * @returns {Function} Returns the `lodash` function.
+ * @example
+ *
+ * var lodash = _.noConflict();
+ */function noConflict(){root._=oldDash;return this}
+/**
+ * A no-operation function that returns `undefined` regardless of the
+ * arguments it receives.
+ *
+ * @static
+ * @memberOf _
+ * @category Utility
+ * @example
+ *
+ * var object = { 'user': 'fred' };
+ *
+ * _.noop(object) === undefined;
+ * // => true
+ */function noop(){
+// No operation performed.
+}
+/**
+ * Creates a function that returns the property value at `path` on a
+ * given object.
+ *
+ * @static
+ * @memberOf _
+ * @category Utility
+ * @param {Array|string} path The path of the property to get.
+ * @returns {Function} Returns the new function.
+ * @example
+ *
+ * var objects = [
+ * { 'a': { 'b': { 'c': 2 } } },
+ * { 'a': { 'b': { 'c': 1 } } }
+ * ];
+ *
+ * _.map(objects, _.property('a.b.c'));
+ * // => [2, 1]
+ *
+ * _.pluck(_.sortBy(objects, _.property(['a', 'b', 'c'])), 'a.b.c');
+ * // => [1, 2]
+ */function property(path){return isKey(path)?baseProperty(path):basePropertyDeep(path)}
+/**
+ * The opposite of `_.property`; this method creates a function that returns
+ * the property value at a given path on `object`.
+ *
+ * @static
+ * @memberOf _
+ * @category Utility
+ * @param {Object} object The object to query.
+ * @returns {Function} Returns the new function.
+ * @example
+ *
+ * var array = [0, 1, 2],
+ * object = { 'a': array, 'b': array, 'c': array };
+ *
+ * _.map(['a[2]', 'c[0]'], _.propertyOf(object));
+ * // => [2, 0]
+ *
+ * _.map([['a', '2'], ['c', '0']], _.propertyOf(object));
+ * // => [2, 0]
+ */function propertyOf(object){return function(path){return baseGet(object,toPath(path),path+"")}}
+/**
+ * Creates an array of numbers (positive and/or negative) progressing from
+ * `start` up to, but not including, `end`. If `end` is not specified it is
+ * set to `start` with `start` then set to `0`. If `end` is less than `start`
+ * a zero-length range is created unless a negative `step` is specified.
+ *
+ * @static
+ * @memberOf _
+ * @category Utility
+ * @param {number} [start=0] The start of the range.
+ * @param {number} end The end of the range.
+ * @param {number} [step=1] The value to increment or decrement by.
+ * @returns {Array} Returns the new array of numbers.
+ * @example
+ *
+ * _.range(4);
+ * // => [0, 1, 2, 3]
+ *
+ * _.range(1, 5);
+ * // => [1, 2, 3, 4]
+ *
+ * _.range(0, 20, 5);
+ * // => [0, 5, 10, 15]
+ *
+ * _.range(0, -4, -1);
+ * // => [0, -1, -2, -3]
+ *
+ * _.range(1, 4, 0);
+ * // => [1, 1, 1]
+ *
+ * _.range(0);
+ * // => []
+ */function range(start,end,step){if(step&&isIterateeCall(start,end,step)){end=step=undefined}start=+start||0;step=step==null?1:+step||0;if(end==null){end=start;start=0}else{end=+end||0}
+// Use `Array(length)` so engines like Chakra and V8 avoid slower modes.
+// See https://youtu.be/XAqIpGU8ZZk#t=17m25s for more details.
+var index=-1,length=nativeMax(nativeCeil((end-start)/(step||1)),0),result=Array(length);while(++index<length){result[index]=start;start+=step}return result}
+/**
+ * Invokes the iteratee function `n` times, returning an array of the results
+ * of each invocation. The `iteratee` is bound to `thisArg` and invoked with
+ * one argument; (index).
+ *
+ * @static
+ * @memberOf _
+ * @category Utility
+ * @param {number} n The number of times to invoke `iteratee`.
+ * @param {Function} [iteratee=_.identity] The function invoked per iteration.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {Array} Returns the array of results.
+ * @example
+ *
+ * var diceRolls = _.times(3, _.partial(_.random, 1, 6, false));
+ * // => [3, 6, 4]
+ *
+ * _.times(3, function(n) {
+ * mage.castSpell(n);
+ * });
+ * // => invokes `mage.castSpell(n)` three times with `n` of `0`, `1`, and `2`
+ *
+ * _.times(3, function(n) {
+ * this.cast(n);
+ * }, mage);
+ * // => also invokes `mage.castSpell(n)` three times
+ */function times(n,iteratee,thisArg){n=nativeFloor(n);
+// Exit early to avoid a JSC JIT bug in Safari 8
+// where `Array(0)` is treated as `Array(1)`.
+if(n<1||!nativeIsFinite(n)){return[]}var index=-1,result=Array(nativeMin(n,MAX_ARRAY_LENGTH));iteratee=bindCallback(iteratee,thisArg,1);while(++index<n){if(index<MAX_ARRAY_LENGTH){result[index]=iteratee(index)}else{iteratee(index)}}return result}
+/**
+ * Generates a unique ID. If `prefix` is provided the ID is appended to it.
+ *
+ * @static
+ * @memberOf _
+ * @category Utility
+ * @param {string} [prefix] The value to prefix the ID with.
+ * @returns {string} Returns the unique ID.
+ * @example
+ *
+ * _.uniqueId('contact_');
+ * // => 'contact_104'
+ *
+ * _.uniqueId();
+ * // => '105'
+ */function uniqueId(prefix){var id=++idCounter;return baseToString(prefix)+id}
+/*------------------------------------------------------------------------*/
+/**
+ * Adds two numbers.
+ *
+ * @static
+ * @memberOf _
+ * @category Math
+ * @param {number} augend The first number to add.
+ * @param {number} addend The second number to add.
+ * @returns {number} Returns the sum.
+ * @example
+ *
+ * _.add(6, 4);
+ * // => 10
+ */function add(augend,addend){return(+augend||0)+(+addend||0)}
+/**
+ * Calculates `n` rounded up to `precision`.
+ *
+ * @static
+ * @memberOf _
+ * @category Math
+ * @param {number} n The number to round up.
+ * @param {number} [precision=0] The precision to round up to.
+ * @returns {number} Returns the rounded up number.
+ * @example
+ *
+ * _.ceil(4.006);
+ * // => 5
+ *
+ * _.ceil(6.004, 2);
+ * // => 6.01
+ *
+ * _.ceil(6040, -2);
+ * // => 6100
+ */var ceil=createRound("ceil");
+/**
+ * Calculates `n` rounded down to `precision`.
+ *
+ * @static
+ * @memberOf _
+ * @category Math
+ * @param {number} n The number to round down.
+ * @param {number} [precision=0] The precision to round down to.
+ * @returns {number} Returns the rounded down number.
+ * @example
+ *
+ * _.floor(4.006);
+ * // => 4
+ *
+ * _.floor(0.046, 2);
+ * // => 0.04
+ *
+ * _.floor(4060, -2);
+ * // => 4000
+ */var floor=createRound("floor");
+/**
+ * Gets the maximum value of `collection`. If `collection` is empty or falsey
+ * `-Infinity` is returned. If an iteratee function is provided it is invoked
+ * for each value in `collection` to generate the criterion by which the value
+ * is ranked. The `iteratee` is bound to `thisArg` and invoked with three
+ * arguments: (value, index, collection).
+ *
+ * If a property name is provided for `iteratee` the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If a value is also provided for `thisArg` the created `_.matchesProperty`
+ * style callback returns `true` for elements that have a matching property
+ * value, else `false`.
+ *
+ * If an object is provided for `iteratee` the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @category Math
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function|Object|string} [iteratee] The function invoked per iteration.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {*} Returns the maximum value.
+ * @example
+ *
+ * _.max([4, 2, 8, 6]);
+ * // => 8
+ *
+ * _.max([]);
+ * // => -Infinity
+ *
+ * var users = [
+ * { 'user': 'barney', 'age': 36 },
+ * { 'user': 'fred', 'age': 40 }
+ * ];
+ *
+ * _.max(users, function(chr) {
+ * return chr.age;
+ * });
+ * // => { 'user': 'fred', 'age': 40 }
+ *
+ * // using the `_.property` callback shorthand
+ * _.max(users, 'age');
+ * // => { 'user': 'fred', 'age': 40 }
+ */var max=createExtremum(gt,NEGATIVE_INFINITY);
+/**
+ * Gets the minimum value of `collection`. If `collection` is empty or falsey
+ * `Infinity` is returned. If an iteratee function is provided it is invoked
+ * for each value in `collection` to generate the criterion by which the value
+ * is ranked. The `iteratee` is bound to `thisArg` and invoked with three
+ * arguments: (value, index, collection).
+ *
+ * If a property name is provided for `iteratee` the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If a value is also provided for `thisArg` the created `_.matchesProperty`
+ * style callback returns `true` for elements that have a matching property
+ * value, else `false`.
+ *
+ * If an object is provided for `iteratee` the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @category Math
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function|Object|string} [iteratee] The function invoked per iteration.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {*} Returns the minimum value.
+ * @example
+ *
+ * _.min([4, 2, 8, 6]);
+ * // => 2
+ *
+ * _.min([]);
+ * // => Infinity
+ *
+ * var users = [
+ * { 'user': 'barney', 'age': 36 },
+ * { 'user': 'fred', 'age': 40 }
+ * ];
+ *
+ * _.min(users, function(chr) {
+ * return chr.age;
+ * });
+ * // => { 'user': 'barney', 'age': 36 }
+ *
+ * // using the `_.property` callback shorthand
+ * _.min(users, 'age');
+ * // => { 'user': 'barney', 'age': 36 }
+ */var min=createExtremum(lt,POSITIVE_INFINITY);
+/**
+ * Calculates `n` rounded to `precision`.
+ *
+ * @static
+ * @memberOf _
+ * @category Math
+ * @param {number} n The number to round.
+ * @param {number} [precision=0] The precision to round to.
+ * @returns {number} Returns the rounded number.
+ * @example
+ *
+ * _.round(4.006);
+ * // => 4
+ *
+ * _.round(4.006, 2);
+ * // => 4.01
+ *
+ * _.round(4060, -2);
+ * // => 4100
+ */var round=createRound("round");
+/**
+ * Gets the sum of the values in `collection`.
+ *
+ * @static
+ * @memberOf _
+ * @category Math
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function|Object|string} [iteratee] The function invoked per iteration.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {number} Returns the sum.
+ * @example
+ *
+ * _.sum([4, 6]);
+ * // => 10
+ *
+ * _.sum({ 'a': 4, 'b': 6 });
+ * // => 10
+ *
+ * var objects = [
+ * { 'n': 4 },
+ * { 'n': 6 }
+ * ];
+ *
+ * _.sum(objects, function(object) {
+ * return object.n;
+ * });
+ * // => 10
+ *
+ * // using the `_.property` callback shorthand
+ * _.sum(objects, 'n');
+ * // => 10
+ */function sum(collection,iteratee,thisArg){if(thisArg&&isIterateeCall(collection,iteratee,thisArg)){iteratee=undefined}iteratee=getCallback(iteratee,thisArg,3);return iteratee.length==1?arraySum(isArray(collection)?collection:toIterable(collection),iteratee):baseSum(collection,iteratee)}
+/*------------------------------------------------------------------------*/
+// Ensure wrappers are instances of `baseLodash`.
+lodash.prototype=baseLodash.prototype;LodashWrapper.prototype=baseCreate(baseLodash.prototype);LodashWrapper.prototype.constructor=LodashWrapper;LazyWrapper.prototype=baseCreate(baseLodash.prototype);LazyWrapper.prototype.constructor=LazyWrapper;
+// Add functions to the `Map` cache.
+MapCache.prototype["delete"]=mapDelete;MapCache.prototype.get=mapGet;MapCache.prototype.has=mapHas;MapCache.prototype.set=mapSet;
+// Add functions to the `Set` cache.
+SetCache.prototype.push=cachePush;
+// Assign cache to `_.memoize`.
+memoize.Cache=MapCache;
+// Add functions that return wrapped values when chaining.
+lodash.after=after;lodash.ary=ary;lodash.assign=assign;lodash.at=at;lodash.before=before;lodash.bind=bind;lodash.bindAll=bindAll;lodash.bindKey=bindKey;lodash.callback=callback;lodash.chain=chain;lodash.chunk=chunk;lodash.compact=compact;lodash.constant=constant;lodash.countBy=countBy;lodash.create=create;lodash.curry=curry;lodash.curryRight=curryRight;lodash.debounce=debounce;lodash.defaults=defaults;lodash.defaultsDeep=defaultsDeep;lodash.defer=defer;lodash.delay=delay;lodash.difference=difference;lodash.drop=drop;lodash.dropRight=dropRight;lodash.dropRightWhile=dropRightWhile;lodash.dropWhile=dropWhile;lodash.fill=fill;lodash.filter=filter;lodash.flatten=flatten;lodash.flattenDeep=flattenDeep;lodash.flow=flow;lodash.flowRight=flowRight;lodash.forEach=forEach;lodash.forEachRight=forEachRight;lodash.forIn=forIn;lodash.forInRight=forInRight;lodash.forOwn=forOwn;lodash.forOwnRight=forOwnRight;lodash.functions=functions;lodash.groupBy=groupBy;lodash.indexBy=indexBy;lodash.initial=initial;lodash.intersection=intersection;lodash.invert=invert;lodash.invoke=invoke;lodash.keys=keys;lodash.keysIn=keysIn;lodash.map=map;lodash.mapKeys=mapKeys;lodash.mapValues=mapValues;lodash.matches=matches;lodash.matchesProperty=matchesProperty;lodash.memoize=memoize;lodash.merge=merge;lodash.method=method;lodash.methodOf=methodOf;lodash.mixin=mixin;lodash.modArgs=modArgs;lodash.negate=negate;lodash.omit=omit;lodash.once=once;lodash.pairs=pairs;lodash.partial=partial;lodash.partialRight=partialRight;lodash.partition=partition;lodash.pick=pick;lodash.pluck=pluck;lodash.property=property;lodash.propertyOf=propertyOf;lodash.pull=pull;lodash.pullAt=pullAt;lodash.range=range;lodash.rearg=rearg;lodash.reject=reject;lodash.remove=remove;lodash.rest=rest;lodash.restParam=restParam;lodash.set=set;lodash.shuffle=shuffle;lodash.slice=slice;lodash.sortBy=sortBy;lodash.sortByAll=sortByAll;lodash.sortByOrder=sortByOrder;lodash.spread=spread;lodash.take=take;lodash.takeRight=takeRight;lodash.takeRightWhile=takeRightWhile;lodash.takeWhile=takeWhile;lodash.tap=tap;lodash.throttle=throttle;lodash.thru=thru;lodash.times=times;lodash.toArray=toArray;lodash.toPlainObject=toPlainObject;lodash.transform=transform;lodash.union=union;lodash.uniq=uniq;lodash.unzip=unzip;lodash.unzipWith=unzipWith;lodash.values=values;lodash.valuesIn=valuesIn;lodash.where=where;lodash.without=without;lodash.wrap=wrap;lodash.xor=xor;lodash.zip=zip;lodash.zipObject=zipObject;lodash.zipWith=zipWith;
+// Add aliases.
+lodash.backflow=flowRight;lodash.collect=map;lodash.compose=flowRight;lodash.each=forEach;lodash.eachRight=forEachRight;lodash.extend=assign;lodash.iteratee=callback;lodash.methods=functions;lodash.object=zipObject;lodash.select=filter;lodash.tail=rest;lodash.unique=uniq;
+// Add functions to `lodash.prototype`.
+mixin(lodash,lodash);
+/*------------------------------------------------------------------------*/
+// Add functions that return unwrapped values when chaining.
+lodash.add=add;lodash.attempt=attempt;lodash.camelCase=camelCase;lodash.capitalize=capitalize;lodash.ceil=ceil;lodash.clone=clone;lodash.cloneDeep=cloneDeep;lodash.deburr=deburr;lodash.endsWith=endsWith;lodash.escape=escape;lodash.escapeRegExp=escapeRegExp;lodash.every=every;lodash.find=find;lodash.findIndex=findIndex;lodash.findKey=findKey;lodash.findLast=findLast;lodash.findLastIndex=findLastIndex;lodash.findLastKey=findLastKey;lodash.findWhere=findWhere;lodash.first=first;lodash.floor=floor;lodash.get=get;lodash.gt=gt;lodash.gte=gte;lodash.has=has;lodash.identity=identity;lodash.includes=includes;lodash.indexOf=indexOf;lodash.inRange=inRange;lodash.isArguments=isArguments;lodash.isArray=isArray;lodash.isBoolean=isBoolean;lodash.isDate=isDate;lodash.isElement=isElement;lodash.isEmpty=isEmpty;lodash.isEqual=isEqual;lodash.isError=isError;lodash.isFinite=isFinite;lodash.isFunction=isFunction;lodash.isMatch=isMatch;lodash.isNaN=isNaN;lodash.isNative=isNative;lodash.isNull=isNull;lodash.isNumber=isNumber;lodash.isObject=isObject;lodash.isPlainObject=isPlainObject;lodash.isRegExp=isRegExp;lodash.isString=isString;lodash.isTypedArray=isTypedArray;lodash.isUndefined=isUndefined;lodash.kebabCase=kebabCase;lodash.last=last;lodash.lastIndexOf=lastIndexOf;lodash.lt=lt;lodash.lte=lte;lodash.max=max;lodash.min=min;lodash.noConflict=noConflict;lodash.noop=noop;lodash.now=now;lodash.pad=pad;lodash.padLeft=padLeft;lodash.padRight=padRight;lodash.parseInt=parseInt;lodash.random=random;lodash.reduce=reduce;lodash.reduceRight=reduceRight;lodash.repeat=repeat;lodash.result=result;lodash.round=round;lodash.runInContext=runInContext;lodash.size=size;lodash.snakeCase=snakeCase;lodash.some=some;lodash.sortedIndex=sortedIndex;lodash.sortedLastIndex=sortedLastIndex;lodash.startCase=startCase;lodash.startsWith=startsWith;lodash.sum=sum;lodash.template=template;lodash.trim=trim;lodash.trimLeft=trimLeft;lodash.trimRight=trimRight;lodash.trunc=trunc;lodash.unescape=unescape;lodash.uniqueId=uniqueId;lodash.words=words;
+// Add aliases.
+lodash.all=every;lodash.any=some;lodash.contains=includes;lodash.eq=isEqual;lodash.detect=find;lodash.foldl=reduce;lodash.foldr=reduceRight;lodash.head=first;lodash.include=includes;lodash.inject=reduce;mixin(lodash,function(){var source={};baseForOwn(lodash,function(func,methodName){if(!lodash.prototype[methodName]){source[methodName]=func}});return source}(),false);
+/*------------------------------------------------------------------------*/
+// Add functions capable of returning wrapped and unwrapped values when chaining.
+lodash.sample=sample;lodash.prototype.sample=function(n){if(!this.__chain__&&n==null){return sample(this.value())}return this.thru(function(value){return sample(value,n)})};
+/*------------------------------------------------------------------------*/
+/**
+ * The semantic version number.
+ *
+ * @static
+ * @memberOf _
+ * @type string
+ */lodash.VERSION=VERSION;
+// Assign default placeholders.
+arrayEach(["bind","bindKey","curry","curryRight","partial","partialRight"],function(methodName){lodash[methodName].placeholder=lodash});
+// Add `LazyWrapper` methods for `_.drop` and `_.take` variants.
+arrayEach(["drop","take"],function(methodName,index){LazyWrapper.prototype[methodName]=function(n){var filtered=this.__filtered__;if(filtered&&!index){return new LazyWrapper(this)}n=n==null?1:nativeMax(nativeFloor(n)||0,0);var result=this.clone();if(filtered){result.__takeCount__=nativeMin(result.__takeCount__,n)}else{result.__views__.push({size:n,type:methodName+(result.__dir__<0?"Right":"")})}return result};LazyWrapper.prototype[methodName+"Right"]=function(n){return this.reverse()[methodName](n).reverse()}});
+// Add `LazyWrapper` methods that accept an `iteratee` value.
+arrayEach(["filter","map","takeWhile"],function(methodName,index){var type=index+1,isFilter=type!=LAZY_MAP_FLAG;LazyWrapper.prototype[methodName]=function(iteratee,thisArg){var result=this.clone();result.__iteratees__.push({iteratee:getCallback(iteratee,thisArg,1),type:type});result.__filtered__=result.__filtered__||isFilter;return result}});
+// Add `LazyWrapper` methods for `_.first` and `_.last`.
+arrayEach(["first","last"],function(methodName,index){var takeName="take"+(index?"Right":"");LazyWrapper.prototype[methodName]=function(){return this[takeName](1).value()[0]}});
+// Add `LazyWrapper` methods for `_.initial` and `_.rest`.
+arrayEach(["initial","rest"],function(methodName,index){var dropName="drop"+(index?"":"Right");LazyWrapper.prototype[methodName]=function(){return this.__filtered__?new LazyWrapper(this):this[dropName](1)}});
+// Add `LazyWrapper` methods for `_.pluck` and `_.where`.
+arrayEach(["pluck","where"],function(methodName,index){var operationName=index?"filter":"map",createCallback=index?baseMatches:property;LazyWrapper.prototype[methodName]=function(value){return this[operationName](createCallback(value))}});LazyWrapper.prototype.compact=function(){return this.filter(identity)};LazyWrapper.prototype.reject=function(predicate,thisArg){predicate=getCallback(predicate,thisArg,1);return this.filter(function(value){return!predicate(value)})};LazyWrapper.prototype.slice=function(start,end){start=start==null?0:+start||0;var result=this;if(result.__filtered__&&(start>0||end<0)){return new LazyWrapper(result)}if(start<0){result=result.takeRight(-start)}else if(start){result=result.drop(start)}if(end!==undefined){end=+end||0;result=end<0?result.dropRight(-end):result.take(end-start)}return result};LazyWrapper.prototype.takeRightWhile=function(predicate,thisArg){return this.reverse().takeWhile(predicate,thisArg).reverse()};LazyWrapper.prototype.toArray=function(){return this.take(POSITIVE_INFINITY)};
+// Add `LazyWrapper` methods to `lodash.prototype`.
+baseForOwn(LazyWrapper.prototype,function(func,methodName){var checkIteratee=/^(?:filter|map|reject)|While$/.test(methodName),retUnwrapped=/^(?:first|last)$/.test(methodName),lodashFunc=lodash[retUnwrapped?"take"+(methodName=="last"?"Right":""):methodName];if(!lodashFunc){return}lodash.prototype[methodName]=function(){var args=retUnwrapped?[1]:arguments,chainAll=this.__chain__,value=this.__wrapped__,isHybrid=!!this.__actions__.length,isLazy=value instanceof LazyWrapper,iteratee=args[0],useLazy=isLazy||isArray(value);if(useLazy&&checkIteratee&&typeof iteratee=="function"&&iteratee.length!=1){
+// Avoid lazy use if the iteratee has a "length" value other than `1`.
+isLazy=useLazy=false}var interceptor=function(value){return retUnwrapped&&chainAll?lodashFunc(value,1)[0]:lodashFunc.apply(undefined,arrayPush([value],args))};var action={func:thru,args:[interceptor],thisArg:undefined},onlyLazy=isLazy&&!isHybrid;if(retUnwrapped&&!chainAll){if(onlyLazy){value=value.clone();value.__actions__.push(action);return func.call(value)}return lodashFunc.call(undefined,this.value())[0]}if(!retUnwrapped&&useLazy){value=onlyLazy?value:new LazyWrapper(this);var result=func.apply(value,args);result.__actions__.push(action);return new LodashWrapper(result,chainAll)}return this.thru(interceptor)}});
+// Add `Array` and `String` methods to `lodash.prototype`.
+arrayEach(["join","pop","push","replace","shift","sort","splice","split","unshift"],function(methodName){var func=(/^(?:replace|split)$/.test(methodName)?stringProto:arrayProto)[methodName],chainName=/^(?:push|sort|unshift)$/.test(methodName)?"tap":"thru",retUnwrapped=/^(?:join|pop|replace|shift)$/.test(methodName);lodash.prototype[methodName]=function(){var args=arguments;if(retUnwrapped&&!this.__chain__){return func.apply(this.value(),args)}return this[chainName](function(value){return func.apply(value,args)})}});
+// Map minified function names to their real names.
+baseForOwn(LazyWrapper.prototype,function(func,methodName){var lodashFunc=lodash[methodName];if(lodashFunc){var key=lodashFunc.name,names=realNames[key]||(realNames[key]=[]);names.push({name:methodName,func:lodashFunc})}});realNames[createHybridWrapper(undefined,BIND_KEY_FLAG).name]=[{name:"wrapper",func:undefined}];
+// Add functions to the lazy wrapper.
+LazyWrapper.prototype.clone=lazyClone;LazyWrapper.prototype.reverse=lazyReverse;LazyWrapper.prototype.value=lazyValue;
+// Add chaining functions to the `lodash` wrapper.
+lodash.prototype.chain=wrapperChain;lodash.prototype.commit=wrapperCommit;lodash.prototype.concat=wrapperConcat;lodash.prototype.plant=wrapperPlant;lodash.prototype.reverse=wrapperReverse;lodash.prototype.toString=wrapperToString;lodash.prototype.run=lodash.prototype.toJSON=lodash.prototype.valueOf=lodash.prototype.value=wrapperValue;
+// Add function aliases to the `lodash` wrapper.
+lodash.prototype.collect=lodash.prototype.map;lodash.prototype.head=lodash.prototype.first;lodash.prototype.select=lodash.prototype.filter;lodash.prototype.tail=lodash.prototype.rest;return lodash}
+/*--------------------------------------------------------------------------*/
+// Export lodash.
+var _=runInContext();
+// Some AMD build optimizers like r.js check for condition patterns like the following:
+if(typeof define=="function"&&typeof define.amd=="object"&&define.amd){
+// Expose lodash to the global object when an AMD loader is present to avoid
+// errors in cases where lodash is loaded by a script tag and not intended
+// as an AMD module. See http://requirejs.org/docs/errors.html#mismatch for
+// more details.
+root._=_;
+// Define as an anonymous module so, through path mapping, it can be
+// referenced as the "underscore" module.
+define(function(){return _})}
+// Check for `exports` after `define` in case a build optimizer adds an `exports` object.
+else if(freeExports&&freeModule){
+// Export for Node.js or RingoJS.
+if(moduleExports){(freeModule.exports=_)._=_}
+// Export for Rhino with CommonJS support.
+else{freeExports._=_}}else{
+// Export for a browser or Rhino.
+root._=_}}).call(this)}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{}]},{},[1])(1)}); \ No newline at end of file
diff --git a/www/wiki/extensions/Mermaid/res/ext.mermaid.css b/www/wiki/extensions/Mermaid/res/ext.mermaid.css
new file mode 100644
index 00000000..d3c4435d
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/res/ext.mermaid.css
@@ -0,0 +1,12 @@
+/*!
+ * @file
+ * @ingroup SMW
+ *
+ * @licence GNU GPL v2+
+ * @author mwjames
+ */
+.mermaid-dots {
+ background: url('data:image/gif;base64,R0lGODlhIgAUAMQRAOjp6dTW19ze3+Xm54iKjevs7IKEh/f396Olp5ianPz8/Judn9fY2YGDhp+ho4CChdHT1P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtYTVAgRGF0YVhNUDw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoxRThFNDZFQ0RFQjJFMjExQUZCNUREQjU1MEFCRTI5OCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDozNkVFNURCOUIyREYxMUUyQTBEQUNFNUIzREVGNjg0MyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDozNkVFNURCOEIyREYxMUUyQTBEQUNFNUIzREVGNjg0MyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyMDhFNDZFQ0RFQjJFMjExQUZCNUREQjU1MEFCRTI5OCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoxRThFNDZFQ0RFQjJFMjExQUZCNUREQjU1MEFCRTI5OCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAkyABEALAAAAAAiABQAAAVeYCSOZGmeaKqubOu+cCzPdM0iBIGYgCAUPB8Q5XgYHw4SAMKEAJRNJ8pwfBhIgagAq0U1qg1ukyFmkk+L6oI0iD5H7ebbdEgYEweSYhAIDEp7fX82hIWGh4iJiosoIQAh+QQJMgARACwAAAAAIgAUAAAFZGAkjmRpnmiqrmzrvnAsz3TNFoIAmAhBICZArpACQI6Q3cjxaD4cJCNSaRIgIQGSwfkwkAJXAYpxzY4a3Mb3ykBJjwPSgrsgDa5U0yAQGChIBwlNCQckCnt9NoqLjI2Oj5CRKSEAIfkEBTIAEQAsAAAAACIAFAAABWNgJI5kaZ5oqq5s675wLM90zRaCAJi4biIEAiIFgBghu1HxmBQ5HtCHAyU4QgKk6hE7MkQfBhTDyhWNt6TGt4FaGgckNwQ+WnwXqUEgMFCU9Hx+IwcJUAkHNomKi4yNjo+QKCEAOw==') no-repeat left center;
+ padding: 5px 0 5px 35px;
+ vertical-align: middle;
+}
diff --git a/www/wiki/extensions/Mermaid/res/ext.mermaid.js b/www/wiki/extensions/Mermaid/res/ext.mermaid.js
new file mode 100644
index 00000000..b2e2b906
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/res/ext.mermaid.js
@@ -0,0 +1,38 @@
+/*!
+ * @file
+ * @ingroup SMW
+ *
+ * @licence GNU GPL v2+
+ * @author mwjames
+ */
+
+/*global jQuery, mediaWiki, smw */
+/*jslint white: true */
+
+( function( $, mw ) {
+
+ 'use strict';
+
+ var config = mw.config.get( 'mermaid' );
+
+ mw.loader.using( [ 'mediawiki.api', 'ext.mermaid', 'ext.mermaid.theme.' + config.theme ] ).then( function () {
+
+ $( document ).ready( function() {
+
+ $( '.ext-mermaid' ).each( function() {
+
+ var that = $( this );
+
+ var id = 'ext-mermaid-' + ( new Date().getTime() );
+ var data = that.data( 'mermaid' );
+
+ that.find( '.mermaid-dots' ).hide();
+ that.append( '<div id=' + id + '> ' + data.content + ' </div>' );
+
+ mermaid.initialize( data.config );
+ mermaid.init( undefined, $( "#" + id ) );
+ } );
+ } );
+} );
+
+}( jQuery, mediaWiki ) );
diff --git a/www/wiki/extensions/Mermaid/res/mermaid/7.0.5/mermaid.dark.min.css b/www/wiki/extensions/Mermaid/res/mermaid/7.0.5/mermaid.dark.min.css
new file mode 100644
index 00000000..e8912f71
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/res/mermaid/7.0.5/mermaid.dark.min.css
@@ -0,0 +1 @@
+.mermaid .label{color:#323d47}.node circle,.node ellipse,.node polygon,.node rect{fill:#bdd5ea;stroke:#81b1db;stroke-width:1px}.arrowheadPath{fill:#d3d3d3}.edgePath .path{stroke:#d3d3d3}.edgeLabel{background-color:#e8e8e8}.cluster rect{fill:#6d6d65!important;rx:4!important;stroke:hsla(0,0%,100%,.25)!important;stroke-width:1px!important}.cluster text{fill:#f9fffe}.actor{stroke:#81b1db;fill:#bdd5ea}text.actor{fill:#000;stroke:none}.actor-line{stroke:#d3d3d3}.messageLine0{marker-end:"url(#arrowhead)"}.messageLine0,.messageLine1{stroke-width:1.5;stroke-dasharray:"2 2";stroke:#d3d3d3}#arrowhead,#crosshead path{fill:#d3d3d3!important}#crosshead path{stroke:#d3d3d3!important}.messageText{fill:#d3d3d3;stroke:none}.labelBox{stroke:#81b1db;fill:#bdd5ea}.labelText{fill:#323d47;stroke:none}.loopText{fill:#d3d3d3;stroke:none}.loopLine{stroke-width:2;stroke-dasharray:"2 2";marker-end:"url(#arrowhead)";stroke:#81b1db}.note{stroke:hsla(0,0%,100%,.25);fill:#fff5ad}.noteText{fill:#000;stroke:none;font-family:trebuchet ms,verdana,arial;font-size:14px}.section{stroke:none;opacity:.2}.section0{fill:hsla(0,0%,100%,.3)}.section2{fill:#eae8b9}.section1,.section3{fill:#fff;opacity:.2}.sectionTitle0,.sectionTitle1,.sectionTitle2,.sectionTitle3{fill:#f9fffe}.sectionTitle{text-anchor:start;font-size:11px;text-height:14px}.grid .tick{stroke:hsla(0,0%,100%,.3);opacity:.3;shape-rendering:crispEdges}.grid .tick text{fill:#d3d3d3;opacity:.5}.grid path{stroke-width:0}.today{fill:none;stroke:#db5757;stroke-width:2px}.task{stroke-width:1}.taskText{text-anchor:middle;font-size:11px}.taskTextOutsideRight{fill:#323d47;text-anchor:start;font-size:11px}.taskTextOutsideLeft{fill:#323d47;text-anchor:end;font-size:11px}.taskText0,.taskText1,.taskText2,.taskText3{fill:#323d47}.task0,.task1,.task2,.task3{fill:#bdd5ea;stroke:hsla(0,0%,100%,.5)}.taskTextOutside0,.taskTextOutside1,.taskTextOutside2,.taskTextOutside3{fill:#d3d3d3}.active0,.active1,.active2,.active3{fill:#81b1db;stroke:hsla(0,0%,100%,.5)}.activeText0,.activeText1,.activeText2,.activeText3{fill:#323d47!important}.done0,.done1,.done2,.done3{fill:#d3d3d3}.doneText0,.doneText1,.doneText2,.doneText3{fill:#323d47!important}.crit0,.crit1,.crit2,.crit3{stroke:#e83737;fill:#e83737;stroke-width:2}.activeCrit0,.activeCrit1,.activeCrit2,.activeCrit3{stroke:#e83737;fill:#81b1db;stroke-width:2}.doneCrit0,.doneCrit1,.doneCrit2,.doneCrit3{stroke:#e83737;fill:#d3d3d3;stroke-width:1;cursor:pointer;shape-rendering:crispEdges}.doneCritText0,.doneCritText1,.doneCritText2,.doneCritText3{fill:#d3d3d3!important}.activeCritText0,.activeCritText1,.activeCritText2,.activeCritText3{fill:#323d47!important}.titleText{text-anchor:middle;font-size:18px;fill:#d3d3d3}g.classGroup text{fill:purple;stroke:none;font-family:trebuchet ms,verdana,arial;font-size:10px}g.classGroup rect{fill:#bdd5ea;stroke:purple}g.classGroup line{stroke:purple;stroke-width:1}svg .classLabel .box{stroke:none;stroke-width:0;fill:#bdd5ea;opacity:.5}svg .classLabel .label{fill:purple;font-size:10px}.relation{stroke:purple;stroke-width:1;fill:none}#compositionEnd,#compositionStart,.composition{fill:purple;stroke:purple;stroke-width:1}#aggregationEnd,#aggregationStart,.aggregation{fill:#bdd5ea;stroke:purple;stroke-width:1}#dependencyEnd,#dependencyStart,#extensionEnd,#extensionStart{fill:purple;stroke:purple;stroke-width:1}.branch-label,.commit-id,.commit-msg{fill:#d3d3d3;color:#d3d3d3}.node text{font-size:14px}.node text,div.mermaidTooltip{font-family:trebuchet ms,verdana,arial}div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-size:12px;background:#6d6d65;border:1px solid hsla(0,0%,100%,.25);border-radius:2px;pointer-events:none;z-index:100} \ No newline at end of file
diff --git a/www/wiki/extensions/Mermaid/res/mermaid/7.0.5/mermaid.forest.min.css b/www/wiki/extensions/Mermaid/res/mermaid/7.0.5/mermaid.forest.min.css
new file mode 100644
index 00000000..f8a2fca3
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/res/mermaid/7.0.5/mermaid.forest.min.css
@@ -0,0 +1 @@
+.mermaid .label{font-family:trebuchet ms,verdana,arial;color:#333}.node circle,.node ellipse,.node polygon,.node rect{fill:#cde498;stroke:#13540c;stroke-width:1px}.arrowheadPath{fill:green}.edgePath .path{stroke:green;stroke-width:1.5px}.edgeLabel{background-color:#e8e8e8}.cluster rect{fill:#cdffb2!important;rx:4!important;stroke:#6eaa49!important;stroke-width:1px!important}.cluster text{fill:#333}.actor{stroke:#13540c;fill:#cde498}text.actor{fill:#000;stroke:none}.actor-line{stroke:grey}.messageLine0{marker-end:"url(#arrowhead)"}.messageLine0,.messageLine1{stroke-width:1.5;stroke-dasharray:"2 2";stroke:#333}#arrowhead{fill:#333}#crosshead path{fill:#333!important;stroke:#333!important}.messageText{fill:#333;stroke:none}.labelBox{stroke:#326932;fill:#cde498}.labelText,.loopText{fill:#000;stroke:none}.loopLine{stroke-width:2;stroke-dasharray:"2 2";marker-end:"url(#arrowhead)";stroke:#326932}.note{stroke:#6eaa49;fill:#fff5ad}.noteText{fill:#000;stroke:none;font-family:trebuchet ms,verdana,arial;font-size:14px}.section{stroke:none;opacity:.2}.section0,.section2{fill:#6eaa49}.section1,.section3{fill:#fff;opacity:.2}.sectionTitle0,.sectionTitle1,.sectionTitle2,.sectionTitle3{fill:#333}.sectionTitle{text-anchor:start;font-size:11px;text-height:14px}.grid .tick{stroke:#d3d3d3;opacity:.3;shape-rendering:crispEdges}.grid path{stroke-width:0}.today{fill:none;stroke:red;stroke-width:2px}.task{stroke-width:2}.taskText{text-anchor:middle;font-size:11px}.taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px}.taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}.taskText0,.taskText1,.taskText2,.taskText3{fill:#fff}.task0,.task1,.task2,.task3{fill:#487e3a;stroke:#13540c}.taskTextOutside0,.taskTextOutside1,.taskTextOutside2,.taskTextOutside3{fill:#000}.active0,.active1,.active2,.active3{fill:#cde498;stroke:#13540c}.activeText0,.activeText1,.activeText2,.activeText3{fill:#000!important}.done0,.done1,.done2,.done3{stroke:grey;fill:#d3d3d3;stroke-width:2}.doneText0,.doneText1,.doneText2,.doneText3{fill:#000!important}.crit0,.crit1,.crit2,.crit3{stroke:#f88;fill:red;stroke-width:2}.activeCrit0,.activeCrit1,.activeCrit2,.activeCrit3{stroke:#f88;fill:#cde498;stroke-width:2}.doneCrit0,.doneCrit1,.doneCrit2,.doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}.activeCritText0,.activeCritText1,.activeCritText2,.activeCritText3,.doneCritText0,.doneCritText1,.doneCritText2,.doneCritText3{fill:#000!important}.titleText{text-anchor:middle;font-size:18px;fill:#000}g.classGroup text{fill:#13540c;stroke:none;font-family:trebuchet ms,verdana,arial;font-size:10px}g.classGroup rect{fill:#cde498;stroke:#13540c}g.classGroup line{stroke:#13540c;stroke-width:1}svg .classLabel .box{stroke:none;stroke-width:0;fill:#cde498;opacity:.5}svg .classLabel .label{fill:#13540c;font-size:10px}.relation{stroke:#13540c;stroke-width:1;fill:none}#compositionEnd,#compositionStart,.composition{fill:#13540c;stroke:#13540c;stroke-width:1}#aggregationEnd,#aggregationStart,.aggregation{fill:#cde498;stroke:#13540c;stroke-width:1}#dependencyEnd,#dependencyStart,#extensionEnd,#extensionStart{fill:#13540c;stroke:#13540c;stroke-width:1}.node text{font-size:14px}.node text,div.mermaidTooltip{font-family:trebuchet ms,verdana,arial}div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-size:12px;background:#cdffb2;border:1px solid #6eaa49;border-radius:2px;pointer-events:none;z-index:100} \ No newline at end of file
diff --git a/www/wiki/extensions/Mermaid/res/mermaid/7.0.5/mermaid.min.css b/www/wiki/extensions/Mermaid/res/mermaid/7.0.5/mermaid.min.css
new file mode 100644
index 00000000..a485f4ce
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/res/mermaid/7.0.5/mermaid.min.css
@@ -0,0 +1 @@
+.mermaid .label{color:#333}.node circle,.node ellipse,.node polygon,.node rect{fill:#ececff;stroke:#ccf;stroke-width:1px}.arrowheadPath{fill:#333}.edgePath .path{stroke:#333}.edgeLabel{background-color:#e8e8e8}.cluster rect{fill:#ffffde!important;rx:4!important;stroke:#aa3!important;stroke-width:1px!important}.cluster text{fill:#333}.actor{stroke:#ccf;fill:#ececff}text.actor{fill:#000;stroke:none}.actor-line{stroke:grey}.messageLine0{marker-end:"url(#arrowhead)"}.messageLine0,.messageLine1{stroke-width:1.5;stroke-dasharray:"2 2";stroke:#333}#arrowhead{fill:#333}#crosshead path{fill:#333!important;stroke:#333!important}.messageText{fill:#333;stroke:none}.labelBox{stroke:#ccf;fill:#ececff}.labelText,.loopText{fill:#000;stroke:none}.loopLine{stroke-width:2;stroke-dasharray:"2 2";marker-end:"url(#arrowhead)";stroke:#ccf}.note{stroke:#aa3;fill:#fff5ad}.noteText{fill:#000;stroke:none;font-family:trebuchet ms,verdana,arial;font-size:14px}.section{stroke:none;opacity:.2}.section0{fill:rgba(102,102,255,.49)}.section2{fill:#fff400}.section1,.section3{fill:#fff;opacity:.2}.sectionTitle0,.sectionTitle1,.sectionTitle2,.sectionTitle3{fill:#333}.sectionTitle{text-anchor:start;font-size:11px;text-height:14px}.grid .tick{stroke:#d3d3d3;opacity:.3;shape-rendering:crispEdges}.grid path{stroke-width:0}.today{fill:none;stroke:red;stroke-width:2px}.task{stroke-width:2}.taskText{text-anchor:middle;font-size:11px}.taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px}.taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}.taskText0,.taskText1,.taskText2,.taskText3{fill:#fff}.task0,.task1,.task2,.task3{fill:#8a90dd;stroke:#534fbc}.taskTextOutside0,.taskTextOutside1,.taskTextOutside2,.taskTextOutside3{fill:#000}.active0,.active1,.active2,.active3{fill:#bfc7ff;stroke:#534fbc}.activeText0,.activeText1,.activeText2,.activeText3{fill:#000!important}.done0,.done1,.done2,.done3{stroke:grey;fill:#d3d3d3;stroke-width:2}.doneText0,.doneText1,.doneText2,.doneText3{fill:#000!important}.crit0,.crit1,.crit2,.crit3{stroke:#f88;fill:red;stroke-width:2}.activeCrit0,.activeCrit1,.activeCrit2,.activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}.doneCrit0,.doneCrit1,.doneCrit2,.doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}.activeCritText0,.activeCritText1,.activeCritText2,.activeCritText3,.doneCritText0,.doneCritText1,.doneCritText2,.doneCritText3{fill:#000!important}.titleText{text-anchor:middle;font-size:18px;fill:#000}g.classGroup text{fill:#9370db;stroke:none;font-family:trebuchet ms,verdana,arial;font-size:10px}g.classGroup rect{fill:#ececff;stroke:#9370db}g.classGroup line{stroke:#9370db;stroke-width:1}svg .classLabel .box{stroke:none;stroke-width:0;fill:#ececff;opacity:.5}svg .classLabel .label{fill:#9370db;font-size:10px}.relation{stroke:#9370db;stroke-width:1;fill:none}#compositionEnd,#compositionStart,.composition{fill:#9370db;stroke:#9370db;stroke-width:1}#aggregationEnd,#aggregationStart,.aggregation{fill:#ececff;stroke:#9370db;stroke-width:1}#dependencyEnd,#dependencyStart,#extensionEnd,#extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}.node text{font-size:14px}.node text,div.mermaidTooltip{font-family:trebuchet ms,verdana,arial}div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100} \ No newline at end of file
diff --git a/www/wiki/extensions/Mermaid/res/mermaid/7.0.5/mermaid.min.js b/www/wiki/extensions/Mermaid/res/mermaid/7.0.5/mermaid.min.js
new file mode 100644
index 00000000..637a9d4c
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/res/mermaid/7.0.5/mermaid.min.js
@@ -0,0 +1,28 @@
+!function(t){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}var n={};e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get: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,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=170)}([function(t,e,n){(function(t){!function(e,n){t.exports=n()}(0,function(){"use strict";function e(){return Mr.apply(null,arguments)}function r(t){return t instanceof Array||"[object Array]"===Object.prototype.toString.call(t)}function i(t){return null!=t&&"[object Object]"===Object.prototype.toString.call(t)}function a(t){var e;for(e in t)return!1;return!0}function o(t){return void 0===t}function u(t){return"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t)}function s(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function c(t,e){var n,r=[];for(n=0;n<t.length;++n)r.push(e(t[n],n));return r}function l(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function d(t,e){for(var n in e)l(e,n)&&(t[n]=e[n]);return l(e,"toString")&&(t.toString=e.toString),l(e,"valueOf")&&(t.valueOf=e.valueOf),t}function h(t,e,n,r){return ve(t,e,n,r,!0).utc()}function f(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null,rfc2822:!1,weekdayMismatch:!1}}function _(t){return null==t._pf&&(t._pf=f()),t._pf}function p(t){if(null==t._isValid){var e=_(t),n=Lr.call(e.parsedDateParts,function(t){return null!=t}),r=!isNaN(t._d.getTime())&&e.overflow<0&&!e.empty&&!e.invalidMonth&&!e.invalidWeekday&&!e.nullInput&&!e.invalidFormat&&!e.userInvalidated&&(!e.meridiem||e.meridiem&&n);if(t._strict&&(r=r&&0===e.charsLeftOver&&0===e.unusedTokens.length&&void 0===e.bigHour),null!=Object.isFrozen&&Object.isFrozen(t))return r;t._isValid=r}return t._isValid}function m(t){var e=h(NaN);return null!=t?d(_(e),t):_(e).userInvalidated=!0,e}function y(t,e){var n,r,i;if(o(e._isAMomentObject)||(t._isAMomentObject=e._isAMomentObject),o(e._i)||(t._i=e._i),o(e._f)||(t._f=e._f),o(e._l)||(t._l=e._l),o(e._strict)||(t._strict=e._strict),o(e._tzm)||(t._tzm=e._tzm),o(e._isUTC)||(t._isUTC=e._isUTC),o(e._offset)||(t._offset=e._offset),o(e._pf)||(t._pf=_(e)),o(e._locale)||(t._locale=e._locale),kr.length>0)for(n=0;n<kr.length;n++)r=kr[n],i=e[r],o(i)||(t[r]=i);return t}function g(t){y(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===wr&&(wr=!0,e.updateOffset(this),wr=!1)}function v(t){return t instanceof g||null!=t&&null!=t._isAMomentObject}function M(t){return t<0?Math.ceil(t)||0:Math.floor(t)}function b(t){var e=+t,n=0;return 0!==e&&isFinite(e)&&(n=M(e)),n}function L(t,e,n){var r,i=Math.min(t.length,e.length),a=Math.abs(t.length-e.length),o=0;for(r=0;r<i;r++)(n&&t[r]!==e[r]||!n&&b(t[r])!==b(e[r]))&&o++;return o+a}function k(t){!1===e.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function w(t,n){var r=!0;return d(function(){if(null!=e.deprecationHandler&&e.deprecationHandler(null,t),r){for(var i,a=[],o=0;o<arguments.length;o++){if(i="","object"==typeof arguments[o]){i+="\n["+o+"] ";for(var u in arguments[0])i+=u+": "+arguments[0][u]+", ";i=i.slice(0,-2)}else i=arguments[o];a.push(i)}k(t+"\nArguments: "+Array.prototype.slice.call(a).join("")+"\n"+(new Error).stack),r=!1}return n.apply(this,arguments)},n)}function D(t,n){null!=e.deprecationHandler&&e.deprecationHandler(t,n),Dr[t]||(k(n),Dr[t]=!0)}function x(t){return t instanceof Function||"[object Function]"===Object.prototype.toString.call(t)}function Y(t){var e,n;for(n in t)e=t[n],x(e)?this[n]=e:this["_"+n]=e;this._config=t,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)}function T(t,e){var n,r=d({},t);for(n in e)l(e,n)&&(i(t[n])&&i(e[n])?(r[n]={},d(r[n],t[n]),d(r[n],e[n])):null!=e[n]?r[n]=e[n]:delete r[n]);for(n in t)l(t,n)&&!l(e,n)&&i(t[n])&&(r[n]=d({},r[n]));return r}function A(t){null!=t&&this.set(t)}function E(t,e,n){var r=this._calendar[t]||this._calendar.sameElse;return x(r)?r.call(e,n):r}function S(t){var e=this._longDateFormat[t],n=this._longDateFormat[t.toUpperCase()];return e||!n?e:(this._longDateFormat[t]=n.replace(/MMMM|MM|DD|dddd/g,function(t){return t.slice(1)}),this._longDateFormat[t])}function F(){return this._invalidDate}function C(t){return this._ordinal.replace("%d",t)}function j(t,e,n,r){var i=this._relativeTime[n];return x(i)?i(t,e,n,r):i.replace(/%d/i,t)}function H(t,e){var n=this._relativeTime[t>0?"future":"past"];return x(n)?n(e):n.replace(/%s/i,e)}function O(t,e){var n=t.toLowerCase();Cr[n]=Cr[n+"s"]=Cr[e]=t}function P(t){return"string"==typeof t?Cr[t]||Cr[t.toLowerCase()]:void 0}function N(t){var e,n,r={};for(n in t)l(t,n)&&(e=P(n))&&(r[e]=t[n]);return r}function B(t,e){jr[t]=e}function I(t){var e=[];for(var n in t)e.push({unit:n,priority:jr[n]});return e.sort(function(t,e){return t.priority-e.priority}),e}function R(t,n){return function(r){return null!=r?(z(this,t,r),e.updateOffset(this,n),this):W(this,t)}}function W(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function z(t,e,n){t.isValid()&&t._d["set"+(t._isUTC?"UTC":"")+e](n)}function q(t){return t=P(t),x(this[t])?this[t]():this}function U(t,e){if("object"==typeof t){t=N(t);for(var n=I(t),r=0;r<n.length;r++)this[n[r].unit](t[n[r].unit])}else if(t=P(t),x(this[t]))return this[t](e);return this}function $(t,e,n){var r=""+Math.abs(t),i=e-r.length;return(t>=0?n?"+":"":"-")+Math.pow(10,Math.max(0,i)).toString().substr(1)+r}function V(t,e,n,r){var i=r;"string"==typeof r&&(i=function(){return this[r]()}),t&&(Nr[t]=i),e&&(Nr[e[0]]=function(){return $(i.apply(this,arguments),e[1],e[2])}),n&&(Nr[n]=function(){return this.localeData().ordinal(i.apply(this,arguments),t)})}function G(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function J(t){var e,n,r=t.match(Hr);for(e=0,n=r.length;e<n;e++)Nr[r[e]]?r[e]=Nr[r[e]]:r[e]=G(r[e]);return function(e){var i,a="";for(i=0;i<n;i++)a+=x(r[i])?r[i].call(e,t):r[i];return a}}function Z(t,e){return t.isValid()?(e=K(e,t.localeData()),Pr[e]=Pr[e]||J(e),Pr[e](t)):t.localeData().invalidDate()}function K(t,e){function n(t){return e.longDateFormat(t)||t}var r=5;for(Or.lastIndex=0;r>=0&&Or.test(t);)t=t.replace(Or,n),Or.lastIndex=0,r-=1;return t}function X(t,e,n){ni[t]=x(e)?e:function(t,r){return t&&n?n:e}}function Q(t,e){return l(ni,t)?ni[t](e._strict,e._locale):new RegExp(tt(t))}function tt(t){return et(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,n,r,i){return e||n||r||i}))}function et(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function nt(t,e){var n,r=e;for("string"==typeof t&&(t=[t]),u(e)&&(r=function(t,n){n[e]=b(t)}),n=0;n<t.length;n++)ri[t[n]]=r}function rt(t,e){nt(t,function(t,n,r,i){r._w=r._w||{},e(t,r._w,r,i)})}function it(t,e,n){null!=e&&l(ri,t)&&ri[t](e,n._a,n,t)}function at(t,e){return new Date(Date.UTC(t,e+1,0)).getUTCDate()}function ot(t,e){return t?r(this._months)?this._months[t.month()]:this._months[(this._months.isFormat||_i).test(e)?"format":"standalone"][t.month()]:r(this._months)?this._months:this._months.standalone}function ut(t,e){return t?r(this._monthsShort)?this._monthsShort[t.month()]:this._monthsShort[_i.test(e)?"format":"standalone"][t.month()]:r(this._monthsShort)?this._monthsShort:this._monthsShort.standalone}function st(t,e,n){var r,i,a,o=t.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],r=0;r<12;++r)a=h([2e3,r]),this._shortMonthsParse[r]=this.monthsShort(a,"").toLocaleLowerCase(),this._longMonthsParse[r]=this.months(a,"").toLocaleLowerCase();return n?"MMM"===e?(i=fi.call(this._shortMonthsParse,o),-1!==i?i:null):(i=fi.call(this._longMonthsParse,o),-1!==i?i:null):"MMM"===e?-1!==(i=fi.call(this._shortMonthsParse,o))?i:(i=fi.call(this._longMonthsParse,o),-1!==i?i:null):-1!==(i=fi.call(this._longMonthsParse,o))?i:(i=fi.call(this._shortMonthsParse,o),-1!==i?i:null)}function ct(t,e,n){var r,i,a;if(this._monthsParseExact)return st.call(this,t,e,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),r=0;r<12;r++){if(i=h([2e3,r]),n&&!this._longMonthsParse[r]&&(this._longMonthsParse[r]=new RegExp("^"+this.months(i,"").replace(".","")+"$","i"),this._shortMonthsParse[r]=new RegExp("^"+this.monthsShort(i,"").replace(".","")+"$","i")),n||this._monthsParse[r]||(a="^"+this.months(i,"")+"|^"+this.monthsShort(i,""),this._monthsParse[r]=new RegExp(a.replace(".",""),"i")),n&&"MMMM"===e&&this._longMonthsParse[r].test(t))return r;if(n&&"MMM"===e&&this._shortMonthsParse[r].test(t))return r;if(!n&&this._monthsParse[r].test(t))return r}}function lt(t,e){var n;if(!t.isValid())return t;if("string"==typeof e)if(/^\d+$/.test(e))e=b(e);else if(e=t.localeData().monthsParse(e),!u(e))return t;return n=Math.min(t.date(),at(t.year(),e)),t._d["set"+(t._isUTC?"UTC":"")+"Month"](e,n),t}function dt(t){return null!=t?(lt(this,t),e.updateOffset(this,!0),this):W(this,"Month")}function ht(){return at(this.year(),this.month())}function ft(t){return this._monthsParseExact?(l(this,"_monthsRegex")||pt.call(this),t?this._monthsShortStrictRegex:this._monthsShortRegex):(l(this,"_monthsShortRegex")||(this._monthsShortRegex=yi),this._monthsShortStrictRegex&&t?this._monthsShortStrictRegex:this._monthsShortRegex)}function _t(t){return this._monthsParseExact?(l(this,"_monthsRegex")||pt.call(this),t?this._monthsStrictRegex:this._monthsRegex):(l(this,"_monthsRegex")||(this._monthsRegex=gi),this._monthsStrictRegex&&t?this._monthsStrictRegex:this._monthsRegex)}function pt(){function t(t,e){return e.length-t.length}var e,n,r=[],i=[],a=[];for(e=0;e<12;e++)n=h([2e3,e]),r.push(this.monthsShort(n,"")),i.push(this.months(n,"")),a.push(this.months(n,"")),a.push(this.monthsShort(n,""));for(r.sort(t),i.sort(t),a.sort(t),e=0;e<12;e++)r[e]=et(r[e]),i[e]=et(i[e]);for(e=0;e<24;e++)a[e]=et(a[e]);this._monthsRegex=new RegExp("^("+a.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+i.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+r.join("|")+")","i")}function mt(t){return yt(t)?366:365}function yt(t){return t%4==0&&t%100!=0||t%400==0}function gt(){return yt(this.year())}function vt(t,e,n,r,i,a,o){var u=new Date(t,e,n,r,i,a,o);return t<100&&t>=0&&isFinite(u.getFullYear())&&u.setFullYear(t),u}function Mt(t){var e=new Date(Date.UTC.apply(null,arguments));return t<100&&t>=0&&isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t),e}function bt(t,e,n){var r=7+e-n;return-(7+Mt(t,0,r).getUTCDay()-e)%7+r-1}function Lt(t,e,n,r,i){var a,o,u=(7+n-r)%7,s=bt(t,r,i),c=1+7*(e-1)+u+s;return c<=0?(a=t-1,o=mt(a)+c):c>mt(t)?(a=t+1,o=c-mt(t)):(a=t,o=c),{year:a,dayOfYear:o}}function kt(t,e,n){var r,i,a=bt(t.year(),e,n),o=Math.floor((t.dayOfYear()-a-1)/7)+1;return o<1?(i=t.year()-1,r=o+wt(i,e,n)):o>wt(t.year(),e,n)?(r=o-wt(t.year(),e,n),i=t.year()+1):(i=t.year(),r=o),{week:r,year:i}}function wt(t,e,n){var r=bt(t,e,n),i=bt(t+1,e,n);return(mt(t)-r+i)/7}function Dt(t){return kt(t,this._week.dow,this._week.doy).week}function xt(){return this._week.dow}function Yt(){return this._week.doy}function Tt(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function At(t){var e=kt(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function Et(t,e){return"string"!=typeof t?t:isNaN(t)?(t=e.weekdaysParse(t),"number"==typeof t?t:null):parseInt(t,10)}function St(t,e){return"string"==typeof t?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}function Ft(t,e){return t?r(this._weekdays)?this._weekdays[t.day()]:this._weekdays[this._weekdays.isFormat.test(e)?"format":"standalone"][t.day()]:r(this._weekdays)?this._weekdays:this._weekdays.standalone}function Ct(t){return t?this._weekdaysShort[t.day()]:this._weekdaysShort}function jt(t){return t?this._weekdaysMin[t.day()]:this._weekdaysMin}function Ht(t,e,n){var r,i,a,o=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],r=0;r<7;++r)a=h([2e3,1]).day(r),this._minWeekdaysParse[r]=this.weekdaysMin(a,"").toLocaleLowerCase(),this._shortWeekdaysParse[r]=this.weekdaysShort(a,"").toLocaleLowerCase(),this._weekdaysParse[r]=this.weekdays(a,"").toLocaleLowerCase();return n?"dddd"===e?(i=fi.call(this._weekdaysParse,o),-1!==i?i:null):"ddd"===e?(i=fi.call(this._shortWeekdaysParse,o),-1!==i?i:null):(i=fi.call(this._minWeekdaysParse,o),-1!==i?i:null):"dddd"===e?-1!==(i=fi.call(this._weekdaysParse,o))?i:-1!==(i=fi.call(this._shortWeekdaysParse,o))?i:(i=fi.call(this._minWeekdaysParse,o),-1!==i?i:null):"ddd"===e?-1!==(i=fi.call(this._shortWeekdaysParse,o))?i:-1!==(i=fi.call(this._weekdaysParse,o))?i:(i=fi.call(this._minWeekdaysParse,o),-1!==i?i:null):-1!==(i=fi.call(this._minWeekdaysParse,o))?i:-1!==(i=fi.call(this._weekdaysParse,o))?i:(i=fi.call(this._shortWeekdaysParse,o),-1!==i?i:null)}function Ot(t,e,n){var r,i,a;if(this._weekdaysParseExact)return Ht.call(this,t,e,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),r=0;r<7;r++){if(i=h([2e3,1]).day(r),n&&!this._fullWeekdaysParse[r]&&(this._fullWeekdaysParse[r]=new RegExp("^"+this.weekdays(i,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[r]=new RegExp("^"+this.weekdaysShort(i,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[r]=new RegExp("^"+this.weekdaysMin(i,"").replace(".",".?")+"$","i")),this._weekdaysParse[r]||(a="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[r]=new RegExp(a.replace(".",""),"i")),n&&"dddd"===e&&this._fullWeekdaysParse[r].test(t))return r;if(n&&"ddd"===e&&this._shortWeekdaysParse[r].test(t))return r;if(n&&"dd"===e&&this._minWeekdaysParse[r].test(t))return r;if(!n&&this._weekdaysParse[r].test(t))return r}}function Pt(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=Et(t,this.localeData()),this.add(t-e,"d")):e}function Nt(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function Bt(t){if(!this.isValid())return null!=t?this:NaN;if(null!=t){var e=St(t,this.localeData());return this.day(this.day()%7?e:e-7)}return this.day()||7}function It(t){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||zt.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(l(this,"_weekdaysRegex")||(this._weekdaysRegex=wi),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)}function Rt(t){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||zt.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(l(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Di),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Wt(t){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||zt.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(l(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=xi),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function zt(){function t(t,e){return e.length-t.length}var e,n,r,i,a,o=[],u=[],s=[],c=[];for(e=0;e<7;e++)n=h([2e3,1]).day(e),r=this.weekdaysMin(n,""),i=this.weekdaysShort(n,""),a=this.weekdays(n,""),o.push(r),u.push(i),s.push(a),c.push(r),c.push(i),c.push(a);for(o.sort(t),u.sort(t),s.sort(t),c.sort(t),e=0;e<7;e++)u[e]=et(u[e]),s[e]=et(s[e]),c[e]=et(c[e]);this._weekdaysRegex=new RegExp("^("+c.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+s.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+o.join("|")+")","i")}function qt(){return this.hours()%12||12}function Ut(){return this.hours()||24}function $t(t,e){V(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function Vt(t,e){return e._meridiemParse}function Gt(t){return"p"===(t+"").toLowerCase().charAt(0)}function Jt(t,e,n){return t>11?n?"pm":"PM":n?"am":"AM"}function Zt(t){return t?t.toLowerCase().replace("_","-"):t}function Kt(t){for(var e,n,r,i,a=0;a<t.length;){for(i=Zt(t[a]).split("-"),e=i.length,n=Zt(t[a+1]),n=n?n.split("-"):null;e>0;){if(r=Xt(i.slice(0,e).join("-")))return r;if(n&&n.length>=e&&L(i,n,!0)>=e-1)break;e--}a++}return null}function Xt(e){var r=null;if(!Si[e]&&void 0!==t&&t&&t.exports)try{r=Yi._abbr,n(247)("./"+e),Qt(r)}catch(t){}return Si[e]}function Qt(t,e){var n;return t&&(n=o(e)?ne(t):te(t,e))&&(Yi=n),Yi._abbr}function te(t,e){if(null!==e){var n=Ei;if(e.abbr=t,null!=Si[t])D("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),n=Si[t]._config;else if(null!=e.parentLocale){if(null==Si[e.parentLocale])return Fi[e.parentLocale]||(Fi[e.parentLocale]=[]),Fi[e.parentLocale].push({name:t,config:e}),null;n=Si[e.parentLocale]._config}return Si[t]=new A(T(n,e)),Fi[t]&&Fi[t].forEach(function(t){te(t.name,t.config)}),Qt(t),Si[t]}return delete Si[t],null}function ee(t,e){if(null!=e){var n,r=Ei;null!=Si[t]&&(r=Si[t]._config),e=T(r,e),n=new A(e),n.parentLocale=Si[t],Si[t]=n,Qt(t)}else null!=Si[t]&&(null!=Si[t].parentLocale?Si[t]=Si[t].parentLocale:null!=Si[t]&&delete Si[t]);return Si[t]}function ne(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Yi;if(!r(t)){if(e=Xt(t))return e;t=[t]}return Kt(t)}function re(){return Tr(Si)}function ie(t){var e,n=t._a;return n&&-2===_(t).overflow&&(e=n[ai]<0||n[ai]>11?ai:n[oi]<1||n[oi]>at(n[ii],n[ai])?oi:n[ui]<0||n[ui]>24||24===n[ui]&&(0!==n[si]||0!==n[ci]||0!==n[li])?ui:n[si]<0||n[si]>59?si:n[ci]<0||n[ci]>59?ci:n[li]<0||n[li]>999?li:-1,_(t)._overflowDayOfYear&&(e<ii||e>oi)&&(e=oi),_(t)._overflowWeeks&&-1===e&&(e=di),_(t)._overflowWeekday&&-1===e&&(e=hi),_(t).overflow=e),t}function ae(t){var e,n,r,i,a,o,u=t._i,s=Ci.exec(u)||ji.exec(u);if(s){for(_(t).iso=!0,e=0,n=Oi.length;e<n;e++)if(Oi[e][1].exec(s[1])){i=Oi[e][0],r=!1!==Oi[e][2];break}if(null==i)return void(t._isValid=!1);if(s[3]){for(e=0,n=Pi.length;e<n;e++)if(Pi[e][1].exec(s[3])){a=(s[2]||" ")+Pi[e][0];break}if(null==a)return void(t._isValid=!1)}if(!r&&null!=a)return void(t._isValid=!1);if(s[4]){if(!Hi.exec(s[4]))return void(t._isValid=!1);o="Z"}t._f=i+(a||"")+(o||""),he(t)}else t._isValid=!1}function oe(t){var e,n,r,i,a,o,u,s,c={" GMT":" +0000"," EDT":" -0400"," EST":" -0500"," CDT":" -0500"," CST":" -0600"," MDT":" -0600"," MST":" -0700"," PDT":" -0700"," PST":" -0800"},l="YXWVUTSRQPONZABCDEFGHIKLM";if(e=t._i.replace(/\([^\)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s|\s$/g,""),n=Bi.exec(e)){if(r=n[1]?"ddd"+(5===n[1].length?", ":" "):"",i="D MMM "+(n[2].length>10?"YYYY ":"YY "),a="HH:mm"+(n[4]?":ss":""),n[1]){var d=new Date(n[2]),h=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"][d.getDay()];if(n[1].substr(0,3)!==h)return _(t).weekdayMismatch=!0,void(t._isValid=!1)}switch(n[5].length){case 2:0===s?u=" +0000":(s=l.indexOf(n[5][1].toUpperCase())-12,u=(s<0?" -":" +")+(""+s).replace(/^-?/,"0").match(/..$/)[0]+"00");break;case 4:u=c[n[5]];break;default:u=c[" GMT"]}n[5]=u,t._i=n.splice(1).join(""),o=" ZZ",t._f=r+i+a+o,he(t),_(t).rfc2822=!0}else t._isValid=!1}function ue(t){var n=Ni.exec(t._i);if(null!==n)return void(t._d=new Date(+n[1]));ae(t),!1===t._isValid&&(delete t._isValid,oe(t),!1===t._isValid&&(delete t._isValid,e.createFromInputFallback(t)))}function se(t,e,n){return null!=t?t:null!=e?e:n}function ce(t){var n=new Date(e.now());return t._useUTC?[n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate()]:[n.getFullYear(),n.getMonth(),n.getDate()]}function le(t){var e,n,r,i,a=[];if(!t._d){for(r=ce(t),t._w&&null==t._a[oi]&&null==t._a[ai]&&de(t),null!=t._dayOfYear&&(i=se(t._a[ii],r[ii]),(t._dayOfYear>mt(i)||0===t._dayOfYear)&&(_(t)._overflowDayOfYear=!0),n=Mt(i,0,t._dayOfYear),t._a[ai]=n.getUTCMonth(),t._a[oi]=n.getUTCDate()),e=0;e<3&&null==t._a[e];++e)t._a[e]=a[e]=r[e];for(;e<7;e++)t._a[e]=a[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[ui]&&0===t._a[si]&&0===t._a[ci]&&0===t._a[li]&&(t._nextDay=!0,t._a[ui]=0),t._d=(t._useUTC?Mt:vt).apply(null,a),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[ui]=24)}}function de(t){var e,n,r,i,a,o,u,s;if(e=t._w,null!=e.GG||null!=e.W||null!=e.E)a=1,o=4,n=se(e.GG,t._a[ii],kt(Me(),1,4).year),r=se(e.W,1),((i=se(e.E,1))<1||i>7)&&(s=!0);else{a=t._locale._week.dow,o=t._locale._week.doy;var c=kt(Me(),a,o);n=se(e.gg,t._a[ii],c.year),r=se(e.w,c.week),null!=e.d?((i=e.d)<0||i>6)&&(s=!0):null!=e.e?(i=e.e+a,(e.e<0||e.e>6)&&(s=!0)):i=a}r<1||r>wt(n,a,o)?_(t)._overflowWeeks=!0:null!=s?_(t)._overflowWeekday=!0:(u=Lt(n,r,i,a,o),t._a[ii]=u.year,t._dayOfYear=u.dayOfYear)}function he(t){if(t._f===e.ISO_8601)return void ae(t);if(t._f===e.RFC_2822)return void oe(t);t._a=[],_(t).empty=!0;var n,r,i,a,o,u=""+t._i,s=u.length,c=0;for(i=K(t._f,t._locale).match(Hr)||[],n=0;n<i.length;n++)a=i[n],r=(u.match(Q(a,t))||[])[0],r&&(o=u.substr(0,u.indexOf(r)),o.length>0&&_(t).unusedInput.push(o),u=u.slice(u.indexOf(r)+r.length),c+=r.length),Nr[a]?(r?_(t).empty=!1:_(t).unusedTokens.push(a),it(a,r,t)):t._strict&&!r&&_(t).unusedTokens.push(a);_(t).charsLeftOver=s-c,u.length>0&&_(t).unusedInput.push(u),t._a[ui]<=12&&!0===_(t).bigHour&&t._a[ui]>0&&(_(t).bigHour=void 0),_(t).parsedDateParts=t._a.slice(0),_(t).meridiem=t._meridiem,t._a[ui]=fe(t._locale,t._a[ui],t._meridiem),le(t),ie(t)}function fe(t,e,n){var r;return null==n?e:null!=t.meridiemHour?t.meridiemHour(e,n):null!=t.isPM?(r=t.isPM(n),r&&e<12&&(e+=12),r||12!==e||(e=0),e):e}function _e(t){var e,n,r,i,a;if(0===t._f.length)return _(t).invalidFormat=!0,void(t._d=new Date(NaN));for(i=0;i<t._f.length;i++)a=0,e=y({},t),null!=t._useUTC&&(e._useUTC=t._useUTC),e._f=t._f[i],he(e),p(e)&&(a+=_(e).charsLeftOver,a+=10*_(e).unusedTokens.length,_(e).score=a,(null==r||a<r)&&(r=a,n=e));d(t,n||e)}function pe(t){if(!t._d){var e=N(t._i);t._a=c([e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],function(t){return t&&parseInt(t,10)}),le(t)}}function me(t){var e=new g(ie(ye(t)));return e._nextDay&&(e.add(1,"d"),e._nextDay=void 0),e}function ye(t){var e=t._i,n=t._f;return t._locale=t._locale||ne(t._l),null===e||void 0===n&&""===e?m({nullInput:!0}):("string"==typeof e&&(t._i=e=t._locale.preparse(e)),v(e)?new g(ie(e)):(s(e)?t._d=e:r(n)?_e(t):n?he(t):ge(t),p(t)||(t._d=null),t))}function ge(t){var n=t._i;o(n)?t._d=new Date(e.now()):s(n)?t._d=new Date(n.valueOf()):"string"==typeof n?ue(t):r(n)?(t._a=c(n.slice(0),function(t){return parseInt(t,10)}),le(t)):i(n)?pe(t):u(n)?t._d=new Date(n):e.createFromInputFallback(t)}function ve(t,e,n,o,u){var s={};return!0!==n&&!1!==n||(o=n,n=void 0),(i(t)&&a(t)||r(t)&&0===t.length)&&(t=void 0),s._isAMomentObject=!0,s._useUTC=s._isUTC=u,s._l=n,s._i=t,s._f=e,s._strict=o,me(s)}function Me(t,e,n,r){return ve(t,e,n,r,!1)}function be(t,e){var n,i;if(1===e.length&&r(e[0])&&(e=e[0]),!e.length)return Me();for(n=e[0],i=1;i<e.length;++i)e[i].isValid()&&!e[i][t](n)||(n=e[i]);return n}function Le(){return be("isBefore",[].slice.call(arguments,0))}function ke(){return be("isAfter",[].slice.call(arguments,0))}function we(t){for(var e in t)if(-1===zi.indexOf(e)||null!=t[e]&&isNaN(t[e]))return!1;for(var n=!1,r=0;r<zi.length;++r)if(t[zi[r]]){if(n)return!1;parseFloat(t[zi[r]])!==b(t[zi[r]])&&(n=!0)}return!0}function De(){return this._isValid}function xe(){return Ue(NaN)}function Ye(t){var e=N(t),n=e.year||0,r=e.quarter||0,i=e.month||0,a=e.week||0,o=e.day||0,u=e.hour||0,s=e.minute||0,c=e.second||0,l=e.millisecond||0;this._isValid=we(e),this._milliseconds=+l+1e3*c+6e4*s+1e3*u*60*60,this._days=+o+7*a,this._months=+i+3*r+12*n,this._data={},this._locale=ne(),this._bubble()}function Te(t){return t instanceof Ye}function Ae(t){return t<0?-1*Math.round(-1*t):Math.round(t)}function Ee(t,e){V(t,0,0,function(){var t=this.utcOffset(),n="+";return t<0&&(t=-t,n="-"),n+$(~~(t/60),2)+e+$(~~t%60,2)})}function Se(t,e){var n=(e||"").match(t);if(null===n)return null;var r=n[n.length-1]||[],i=(r+"").match(qi)||["-",0,0],a=60*i[1]+b(i[2]);return 0===a?0:"+"===i[0]?a:-a}function Fe(t,n){var r,i;return n._isUTC?(r=n.clone(),i=(v(t)||s(t)?t.valueOf():Me(t).valueOf())-r.valueOf(),r._d.setTime(r._d.valueOf()+i),e.updateOffset(r,!1),r):Me(t).local()}function Ce(t){return 15*-Math.round(t._d.getTimezoneOffset()/15)}function je(t,n,r){var i,a=this._offset||0;if(!this.isValid())return null!=t?this:NaN;if(null!=t){if("string"==typeof t){if(null===(t=Se(Qr,t)))return this}else Math.abs(t)<16&&!r&&(t*=60);return!this._isUTC&&n&&(i=Ce(this)),this._offset=t,this._isUTC=!0,null!=i&&this.add(i,"m"),a!==t&&(!n||this._changeInProgress?Ze(this,Ue(t-a,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,e.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?a:Ce(this)}function He(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()}function Oe(t){return this.utcOffset(0,t)}function Pe(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(Ce(this),"m")),this}function Ne(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var t=Se(Xr,this._i);null!=t?this.utcOffset(t):this.utcOffset(0,!0)}return this}function Be(t){return!!this.isValid()&&(t=t?Me(t).utcOffset():0,(this.utcOffset()-t)%60==0)}function Ie(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Re(){if(!o(this._isDSTShifted))return this._isDSTShifted;var t={};if(y(t,this),t=ye(t),t._a){var e=t._isUTC?h(t._a):Me(t._a);this._isDSTShifted=this.isValid()&&L(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function We(){return!!this.isValid()&&!this._isUTC}function ze(){return!!this.isValid()&&this._isUTC}function qe(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function Ue(t,e){var n,r,i,a=t,o=null;return Te(t)?a={ms:t._milliseconds,d:t._days,M:t._months}:u(t)?(a={},e?a[e]=t:a.milliseconds=t):(o=Ui.exec(t))?(n="-"===o[1]?-1:1,a={y:0,d:b(o[oi])*n,h:b(o[ui])*n,m:b(o[si])*n,s:b(o[ci])*n,ms:b(Ae(1e3*o[li]))*n}):(o=$i.exec(t))?(n="-"===o[1]?-1:1,a={y:$e(o[2],n),M:$e(o[3],n),w:$e(o[4],n),d:$e(o[5],n),h:$e(o[6],n),m:$e(o[7],n),s:$e(o[8],n)}):null==a?a={}:"object"==typeof a&&("from"in a||"to"in a)&&(i=Ge(Me(a.from),Me(a.to)),a={},a.ms=i.milliseconds,a.M=i.months),r=new Ye(a),Te(t)&&l(t,"_locale")&&(r._locale=t._locale),r}function $e(t,e){var n=t&&parseFloat(t.replace(",","."));return(isNaN(n)?0:n)*e}function Ve(t,e){var n={milliseconds:0,months:0};return n.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(n.months,"M").isAfter(e)&&--n.months,n.milliseconds=+e-+t.clone().add(n.months,"M"),n}function Ge(t,e){var n;return t.isValid()&&e.isValid()?(e=Fe(e,t),t.isBefore(e)?n=Ve(t,e):(n=Ve(e,t),n.milliseconds=-n.milliseconds,n.months=-n.months),n):{milliseconds:0,months:0}}function Je(t,e){return function(n,r){var i,a;return null===r||isNaN(+r)||(D(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),a=n,n=r,r=a),n="string"==typeof n?+n:n,i=Ue(n,r),Ze(this,i,t),this}}function Ze(t,n,r,i){var a=n._milliseconds,o=Ae(n._days),u=Ae(n._months);t.isValid()&&(i=null==i||i,a&&t._d.setTime(t._d.valueOf()+a*r),o&&z(t,"Date",W(t,"Date")+o*r),u&&lt(t,W(t,"Month")+u*r),i&&e.updateOffset(t,o||u))}function Ke(t,e){var n=t.diff(e,"days",!0);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"}function Xe(t,n){var r=t||Me(),i=Fe(r,this).startOf("day"),a=e.calendarFormat(this,i)||"sameElse",o=n&&(x(n[a])?n[a].call(this,r):n[a]);return this.format(o||this.localeData().calendar(a,this,Me(r)))}function Qe(){return new g(this)}function tn(t,e){var n=v(t)?t:Me(t);return!(!this.isValid()||!n.isValid())&&(e=P(o(e)?"millisecond":e),"millisecond"===e?this.valueOf()>n.valueOf():n.valueOf()<this.clone().startOf(e).valueOf())}function en(t,e){var n=v(t)?t:Me(t);return!(!this.isValid()||!n.isValid())&&(e=P(o(e)?"millisecond":e),"millisecond"===e?this.valueOf()<n.valueOf():this.clone().endOf(e).valueOf()<n.valueOf())}function nn(t,e,n,r){return r=r||"()",("("===r[0]?this.isAfter(t,n):!this.isBefore(t,n))&&(")"===r[1]?this.isBefore(e,n):!this.isAfter(e,n))}function rn(t,e){var n,r=v(t)?t:Me(t);return!(!this.isValid()||!r.isValid())&&(e=P(e||"millisecond"),"millisecond"===e?this.valueOf()===r.valueOf():(n=r.valueOf(),this.clone().startOf(e).valueOf()<=n&&n<=this.clone().endOf(e).valueOf()))}function an(t,e){return this.isSame(t,e)||this.isAfter(t,e)}function on(t,e){return this.isSame(t,e)||this.isBefore(t,e)}function un(t,e,n){var r,i,a,o;return this.isValid()?(r=Fe(t,this),r.isValid()?(i=6e4*(r.utcOffset()-this.utcOffset()),e=P(e),"year"===e||"month"===e||"quarter"===e?(o=sn(this,r),"quarter"===e?o/=3:"year"===e&&(o/=12)):(a=this-r,o="second"===e?a/1e3:"minute"===e?a/6e4:"hour"===e?a/36e5:"day"===e?(a-i)/864e5:"week"===e?(a-i)/6048e5:a),n?o:M(o)):NaN):NaN}function sn(t,e){var n,r,i=12*(e.year()-t.year())+(e.month()-t.month()),a=t.clone().add(i,"months");return e-a<0?(n=t.clone().add(i-1,"months"),r=(e-a)/(a-n)):(n=t.clone().add(i+1,"months"),r=(e-a)/(n-a)),-(i+r)||0}function cn(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function ln(){if(!this.isValid())return null;var t=this.clone().utc();return t.year()<0||t.year()>9999?Z(t,"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]"):x(Date.prototype.toISOString)?this.toDate().toISOString():Z(t,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]")}function dn(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var t="moment",e="";this.isLocal()||(t=0===this.utcOffset()?"moment.utc":"moment.parseZone",e="Z");var n="["+t+'("]',r=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",i=e+'[")]';return this.format(n+r+"-MM-DD[T]HH:mm:ss.SSS"+i)}function hn(t){t||(t=this.isUtc()?e.defaultFormatUtc:e.defaultFormat);var n=Z(this,t);return this.localeData().postformat(n)}function fn(t,e){return this.isValid()&&(v(t)&&t.isValid()||Me(t).isValid())?Ue({to:this,from:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()}function _n(t){return this.from(Me(),t)}function pn(t,e){return this.isValid()&&(v(t)&&t.isValid()||Me(t).isValid())?Ue({from:this,to:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()}function mn(t){return this.to(Me(),t)}function yn(t){var e;return void 0===t?this._locale._abbr:(e=ne(t),null!=e&&(this._locale=e),this)}function gn(){return this._locale}function vn(t){switch(t=P(t)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":case"date":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===t&&this.weekday(0),"isoWeek"===t&&this.isoWeekday(1),"quarter"===t&&this.month(3*Math.floor(this.month()/3)),this}function Mn(t){return void 0===(t=P(t))||"millisecond"===t?this:("date"===t&&(t="day"),this.startOf(t).add(1,"isoWeek"===t?"week":t).subtract(1,"ms"))}function bn(){return this._d.valueOf()-6e4*(this._offset||0)}function Ln(){return Math.floor(this.valueOf()/1e3)}function kn(){return new Date(this.valueOf())}function wn(){var t=this;return[t.year(),t.month(),t.date(),t.hour(),t.minute(),t.second(),t.millisecond()]}function Dn(){var t=this;return{years:t.year(),months:t.month(),date:t.date(),hours:t.hours(),minutes:t.minutes(),seconds:t.seconds(),milliseconds:t.milliseconds()}}function xn(){return this.isValid()?this.toISOString():null}function Yn(){return p(this)}function Tn(){return d({},_(this))}function An(){return _(this).overflow}function En(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}function Sn(t,e){V(0,[t,t.length],0,e)}function Fn(t){return On.call(this,t,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)}function Cn(t){return On.call(this,t,this.isoWeek(),this.isoWeekday(),1,4)}function jn(){return wt(this.year(),1,4)}function Hn(){var t=this.localeData()._week;return wt(this.year(),t.dow,t.doy)}function On(t,e,n,r,i){var a;return null==t?kt(this,r,i).year:(a=wt(t,r,i),e>a&&(e=a),Pn.call(this,t,e,n,r,i))}function Pn(t,e,n,r,i){var a=Lt(t,e,n,r,i),o=Mt(a.year,0,a.dayOfYear);return this.year(o.getUTCFullYear()),this.month(o.getUTCMonth()),this.date(o.getUTCDate()),this}function Nn(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)}function Bn(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")}function In(t,e){e[li]=b(1e3*("0."+t))}function Rn(){return this._isUTC?"UTC":""}function Wn(){return this._isUTC?"Coordinated Universal Time":""}function zn(t){return Me(1e3*t)}function qn(){return Me.apply(null,arguments).parseZone()}function Un(t){return t}function $n(t,e,n,r){var i=ne(),a=h().set(r,e);return i[n](a,t)}function Vn(t,e,n){if(u(t)&&(e=t,t=void 0),t=t||"",null!=e)return $n(t,e,n,"month");var r,i=[];for(r=0;r<12;r++)i[r]=$n(t,r,n,"month");return i}function Gn(t,e,n,r){"boolean"==typeof t?(u(e)&&(n=e,e=void 0),e=e||""):(e=t,n=e,t=!1,u(e)&&(n=e,e=void 0),e=e||"");var i=ne(),a=t?i._week.dow:0;if(null!=n)return $n(e,(n+a)%7,r,"day");var o,s=[];for(o=0;o<7;o++)s[o]=$n(e,(o+a)%7,r,"day");return s}function Jn(t,e){return Vn(t,e,"months")}function Zn(t,e){return Vn(t,e,"monthsShort")}function Kn(t,e,n){return Gn(t,e,n,"weekdays")}function Xn(t,e,n){return Gn(t,e,n,"weekdaysShort")}function Qn(t,e,n){return Gn(t,e,n,"weekdaysMin")}function tr(){var t=this._data;return this._milliseconds=ra(this._milliseconds),this._days=ra(this._days),this._months=ra(this._months),t.milliseconds=ra(t.milliseconds),t.seconds=ra(t.seconds),t.minutes=ra(t.minutes),t.hours=ra(t.hours),t.months=ra(t.months),t.years=ra(t.years),this}function er(t,e,n,r){var i=Ue(e,n);return t._milliseconds+=r*i._milliseconds,t._days+=r*i._days,t._months+=r*i._months,t._bubble()}function nr(t,e){return er(this,t,e,1)}function rr(t,e){return er(this,t,e,-1)}function ir(t){return t<0?Math.floor(t):Math.ceil(t)}function ar(){var t,e,n,r,i,a=this._milliseconds,o=this._days,u=this._months,s=this._data;return a>=0&&o>=0&&u>=0||a<=0&&o<=0&&u<=0||(a+=864e5*ir(ur(u)+o),o=0,u=0),s.milliseconds=a%1e3,t=M(a/1e3),s.seconds=t%60,e=M(t/60),s.minutes=e%60,n=M(e/60),s.hours=n%24,o+=M(n/24),i=M(or(o)),u+=i,o-=ir(ur(i)),r=M(u/12),u%=12,s.days=o,s.months=u,s.years=r,this}function or(t){return 4800*t/146097}function ur(t){return 146097*t/4800}function sr(t){if(!this.isValid())return NaN;var e,n,r=this._milliseconds;if("month"===(t=P(t))||"year"===t)return e=this._days+r/864e5,n=this._months+or(e),"month"===t?n:n/12;switch(e=this._days+Math.round(ur(this._months)),t){case"week":return e/7+r/6048e5;case"day":return e+r/864e5;case"hour":return 24*e+r/36e5;case"minute":return 1440*e+r/6e4;case"second":return 86400*e+r/1e3;case"millisecond":return Math.floor(864e5*e)+r;default:throw new Error("Unknown unit "+t)}}function cr(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*b(this._months/12):NaN}function lr(t){return function(){return this.as(t)}}function dr(t){return t=P(t),this.isValid()?this[t+"s"]():NaN}function hr(t){return function(){return this.isValid()?this._data[t]:NaN}}function fr(){return M(this.days()/7)}function _r(t,e,n,r,i){return i.relativeTime(e||1,!!n,t,r)}function pr(t,e,n){var r=Ue(t).abs(),i=va(r.as("s")),a=va(r.as("m")),o=va(r.as("h")),u=va(r.as("d")),s=va(r.as("M")),c=va(r.as("y")),l=i<=Ma.ss&&["s",i]||i<Ma.s&&["ss",i]||a<=1&&["m"]||a<Ma.m&&["mm",a]||o<=1&&["h"]||o<Ma.h&&["hh",o]||u<=1&&["d"]||u<Ma.d&&["dd",u]||s<=1&&["M"]||s<Ma.M&&["MM",s]||c<=1&&["y"]||["yy",c];return l[2]=e,l[3]=+t>0,l[4]=n,_r.apply(null,l)}function mr(t){return void 0===t?va:"function"==typeof t&&(va=t,!0)}function yr(t,e){return void 0!==Ma[t]&&(void 0===e?Ma[t]:(Ma[t]=e,"s"===t&&(Ma.ss=e-1),!0))}function gr(t){if(!this.isValid())return this.localeData().invalidDate();var e=this.localeData(),n=pr(this,!t,e);return t&&(n=e.pastFuture(+this,n)),e.postformat(n)}function vr(){if(!this.isValid())return this.localeData().invalidDate();var t,e,n,r=ba(this._milliseconds)/1e3,i=ba(this._days),a=ba(this._months);t=M(r/60),e=M(t/60),r%=60,t%=60,n=M(a/12),a%=12;var o=n,u=a,s=i,c=e,l=t,d=r,h=this.asSeconds();return h?(h<0?"-":"")+"P"+(o?o+"Y":"")+(u?u+"M":"")+(s?s+"D":"")+(c||l||d?"T":"")+(c?c+"H":"")+(l?l+"M":"")+(d?d+"S":""):"P0D"}var Mr,br;br=Array.prototype.some?Array.prototype.some:function(t){for(var e=Object(this),n=e.length>>>0,r=0;r<n;r++)if(r in e&&t.call(this,e[r],r,e))return!0;return!1};var Lr=br,kr=e.momentProperties=[],wr=!1,Dr={};e.suppressDeprecationWarnings=!1,e.deprecationHandler=null;var xr;xr=Object.keys?Object.keys:function(t){var e,n=[];for(e in t)l(t,e)&&n.push(e);return n};var Yr,Tr=xr,Ar={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},Er={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},Sr=/\d{1,2}/,Fr={future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},Cr={},jr={},Hr=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,Or=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Pr={},Nr={},Br=/\d/,Ir=/\d\d/,Rr=/\d{3}/,Wr=/\d{4}/,zr=/[+-]?\d{6}/,qr=/\d\d?/,Ur=/\d\d\d\d?/,$r=/\d\d\d\d\d\d?/,Vr=/\d{1,3}/,Gr=/\d{1,4}/,Jr=/[+-]?\d{1,6}/,Zr=/\d+/,Kr=/[+-]?\d+/,Xr=/Z|[+-]\d\d:?\d\d/gi,Qr=/Z|[+-]\d\d(?::?\d\d)?/gi,ti=/[+-]?\d+(\.\d{1,3})?/,ei=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,ni={},ri={},ii=0,ai=1,oi=2,ui=3,si=4,ci=5,li=6,di=7,hi=8;Yr=Array.prototype.indexOf?Array.prototype.indexOf:function(t){var e;for(e=0;e<this.length;++e)if(this[e]===t)return e;return-1};var fi=Yr;V("M",["MM",2],"Mo",function(){return this.month()+1}),V("MMM",0,0,function(t){return this.localeData().monthsShort(this,t)}),V("MMMM",0,0,function(t){return this.localeData().months(this,t)}),O("month","M"),B("month",8),X("M",qr),X("MM",qr,Ir),X("MMM",function(t,e){return e.monthsShortRegex(t)}),X("MMMM",function(t,e){return e.monthsRegex(t)}),nt(["M","MM"],function(t,e){e[ai]=b(t)-1}),nt(["MMM","MMMM"],function(t,e,n,r){var i=n._locale.monthsParse(t,r,n._strict);null!=i?e[ai]=i:_(n).invalidMonth=t});var _i=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,pi="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),mi="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),yi=ei,gi=ei;V("Y",0,0,function(){var t=this.year();return t<=9999?""+t:"+"+t}),V(0,["YY",2],0,function(){return this.year()%100}),V(0,["YYYY",4],0,"year"),V(0,["YYYYY",5],0,"year"),V(0,["YYYYYY",6,!0],0,"year"),O("year","y"),B("year",1),X("Y",Kr),X("YY",qr,Ir),X("YYYY",Gr,Wr),X("YYYYY",Jr,zr),X("YYYYYY",Jr,zr),nt(["YYYYY","YYYYYY"],ii),nt("YYYY",function(t,n){n[ii]=2===t.length?e.parseTwoDigitYear(t):b(t)}),nt("YY",function(t,n){n[ii]=e.parseTwoDigitYear(t)}),nt("Y",function(t,e){e[ii]=parseInt(t,10)}),e.parseTwoDigitYear=function(t){return b(t)+(b(t)>68?1900:2e3)};var vi=R("FullYear",!0);V("w",["ww",2],"wo","week"),V("W",["WW",2],"Wo","isoWeek"),O("week","w"),O("isoWeek","W"),B("week",5),B("isoWeek",5),X("w",qr),X("ww",qr,Ir),X("W",qr),X("WW",qr,Ir),rt(["w","ww","W","WW"],function(t,e,n,r){e[r.substr(0,1)]=b(t)});var Mi={dow:0,doy:6};V("d",0,"do","day"),V("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),V("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),V("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),V("e",0,0,"weekday"),V("E",0,0,"isoWeekday"),O("day","d"),O("weekday","e"),O("isoWeekday","E"),B("day",11),B("weekday",11),B("isoWeekday",11),X("d",qr),X("e",qr),X("E",qr),X("dd",function(t,e){return e.weekdaysMinRegex(t)}),X("ddd",function(t,e){return e.weekdaysShortRegex(t)}),X("dddd",function(t,e){return e.weekdaysRegex(t)}),rt(["dd","ddd","dddd"],function(t,e,n,r){var i=n._locale.weekdaysParse(t,r,n._strict);null!=i?e.d=i:_(n).invalidWeekday=t}),rt(["d","e","E"],function(t,e,n,r){e[r]=b(t)});var bi="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Li="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),ki="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),wi=ei,Di=ei,xi=ei;V("H",["HH",2],0,"hour"),V("h",["hh",2],0,qt),V("k",["kk",2],0,Ut),V("hmm",0,0,function(){return""+qt.apply(this)+$(this.minutes(),2)}),V("hmmss",0,0,function(){return""+qt.apply(this)+$(this.minutes(),2)+$(this.seconds(),2)}),V("Hmm",0,0,function(){return""+this.hours()+$(this.minutes(),2)}),V("Hmmss",0,0,function(){return""+this.hours()+$(this.minutes(),2)+$(this.seconds(),2)}),$t("a",!0),$t("A",!1),O("hour","h"),B("hour",13),X("a",Vt),X("A",Vt),X("H",qr),X("h",qr),X("k",qr),X("HH",qr,Ir),X("hh",qr,Ir),X("kk",qr,Ir),X("hmm",Ur),X("hmmss",$r),X("Hmm",Ur),X("Hmmss",$r),nt(["H","HH"],ui),nt(["k","kk"],function(t,e,n){var r=b(t);e[ui]=24===r?0:r}),nt(["a","A"],function(t,e,n){n._isPm=n._locale.isPM(t),n._meridiem=t}),nt(["h","hh"],function(t,e,n){e[ui]=b(t),_(n).bigHour=!0}),nt("hmm",function(t,e,n){var r=t.length-2;e[ui]=b(t.substr(0,r)),e[si]=b(t.substr(r)),_(n).bigHour=!0}),nt("hmmss",function(t,e,n){var r=t.length-4,i=t.length-2;e[ui]=b(t.substr(0,r)),e[si]=b(t.substr(r,2)),e[ci]=b(t.substr(i)),_(n).bigHour=!0}),nt("Hmm",function(t,e,n){var r=t.length-2;e[ui]=b(t.substr(0,r)),e[si]=b(t.substr(r))}),nt("Hmmss",function(t,e,n){var r=t.length-4,i=t.length-2;e[ui]=b(t.substr(0,r)),e[si]=b(t.substr(r,2)),e[ci]=b(t.substr(i))});var Yi,Ti=/[ap]\.?m?\.?/i,Ai=R("Hours",!0),Ei={calendar:Ar,longDateFormat:Er,invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:Sr,relativeTime:Fr,months:pi,monthsShort:mi,week:Mi,weekdays:bi,weekdaysMin:ki,weekdaysShort:Li,meridiemParse:Ti},Si={},Fi={},Ci=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,ji=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Hi=/Z|[+-]\d\d(?::?\d\d)?/,Oi=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],Pi=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Ni=/^\/?Date\((\-?\d+)/i,Bi=/^((?:Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d?\d\s(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(?:\d\d)?\d\d\s)(\d\d:\d\d)(\:\d\d)?(\s(?:UT|GMT|[ECMP][SD]T|[A-IK-Za-ik-z]|[+-]\d{4}))$/;e.createFromInputFallback=w("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))}),e.ISO_8601=function(){},e.RFC_2822=function(){};var Ii=w("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var t=Me.apply(null,arguments);return this.isValid()&&t.isValid()?t<this?this:t:m()}),Ri=w("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var t=Me.apply(null,arguments);return this.isValid()&&t.isValid()?t>this?this:t:m()}),Wi=function(){return Date.now?Date.now():+new Date},zi=["year","quarter","month","week","day","hour","minute","second","millisecond"];Ee("Z",":"),Ee("ZZ",""),X("Z",Qr),X("ZZ",Qr),nt(["Z","ZZ"],function(t,e,n){n._useUTC=!0,n._tzm=Se(Qr,t)});var qi=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var Ui=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,$i=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;Ue.fn=Ye.prototype,Ue.invalid=xe;var Vi=Je(1,"add"),Gi=Je(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",e.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Ji=w("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(t){return void 0===t?this.localeData():this.locale(t)});V(0,["gg",2],0,function(){return this.weekYear()%100}),V(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Sn("gggg","weekYear"),Sn("ggggg","weekYear"),Sn("GGGG","isoWeekYear"),Sn("GGGGG","isoWeekYear"),O("weekYear","gg"),O("isoWeekYear","GG"),B("weekYear",1),B("isoWeekYear",1),X("G",Kr),X("g",Kr),X("GG",qr,Ir),X("gg",qr,Ir),X("GGGG",Gr,Wr),X("gggg",Gr,Wr),X("GGGGG",Jr,zr),X("ggggg",Jr,zr),rt(["gggg","ggggg","GGGG","GGGGG"],function(t,e,n,r){e[r.substr(0,2)]=b(t)}),rt(["gg","GG"],function(t,n,r,i){n[i]=e.parseTwoDigitYear(t)}),V("Q",0,"Qo","quarter"),O("quarter","Q"),B("quarter",7),X("Q",Br),nt("Q",function(t,e){e[ai]=3*(b(t)-1)}),V("D",["DD",2],"Do","date"),O("date","D"),B("date",9),X("D",qr),X("DD",qr,Ir),X("Do",function(t,e){return t?e._dayOfMonthOrdinalParse||e._ordinalParse:e._dayOfMonthOrdinalParseLenient}),nt(["D","DD"],oi),nt("Do",function(t,e){e[oi]=b(t.match(qr)[0],10)});var Zi=R("Date",!0);V("DDD",["DDDD",3],"DDDo","dayOfYear"),O("dayOfYear","DDD"),B("dayOfYear",4),X("DDD",Vr),X("DDDD",Rr),nt(["DDD","DDDD"],function(t,e,n){n._dayOfYear=b(t)}),V("m",["mm",2],0,"minute"),O("minute","m"),B("minute",14),X("m",qr),X("mm",qr,Ir),nt(["m","mm"],si);var Ki=R("Minutes",!1);V("s",["ss",2],0,"second"),O("second","s"),B("second",15),X("s",qr),X("ss",qr,Ir),nt(["s","ss"],ci);var Xi=R("Seconds",!1);V("S",0,0,function(){return~~(this.millisecond()/100)}),V(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),V(0,["SSS",3],0,"millisecond"),V(0,["SSSS",4],0,function(){return 10*this.millisecond()}),V(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),V(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),V(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),V(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),V(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),O("millisecond","ms"),B("millisecond",16),X("S",Vr,Br),X("SS",Vr,Ir),X("SSS",Vr,Rr);var Qi;for(Qi="SSSS";Qi.length<=9;Qi+="S")X(Qi,Zr);for(Qi="S";Qi.length<=9;Qi+="S")nt(Qi,In);var ta=R("Milliseconds",!1);V("z",0,0,"zoneAbbr"),V("zz",0,0,"zoneName");var ea=g.prototype;ea.add=Vi,ea.calendar=Xe,ea.clone=Qe,ea.diff=un,ea.endOf=Mn,ea.format=hn,ea.from=fn,ea.fromNow=_n,ea.to=pn,ea.toNow=mn,ea.get=q,ea.invalidAt=An,ea.isAfter=tn,ea.isBefore=en,ea.isBetween=nn,ea.isSame=rn,ea.isSameOrAfter=an,ea.isSameOrBefore=on,ea.isValid=Yn,ea.lang=Ji,ea.locale=yn,ea.localeData=gn,ea.max=Ri,ea.min=Ii,ea.parsingFlags=Tn,ea.set=U,ea.startOf=vn,ea.subtract=Gi,ea.toArray=wn,ea.toObject=Dn,ea.toDate=kn,ea.toISOString=ln,ea.inspect=dn,ea.toJSON=xn,ea.toString=cn,ea.unix=Ln,ea.valueOf=bn,ea.creationData=En,ea.year=vi,ea.isLeapYear=gt,ea.weekYear=Fn,ea.isoWeekYear=Cn,ea.quarter=ea.quarters=Nn,ea.month=dt,ea.daysInMonth=ht,ea.week=ea.weeks=Tt,ea.isoWeek=ea.isoWeeks=At,ea.weeksInYear=Hn,ea.isoWeeksInYear=jn,ea.date=Zi,ea.day=ea.days=Pt,ea.weekday=Nt,ea.isoWeekday=Bt,ea.dayOfYear=Bn,ea.hour=ea.hours=Ai,ea.minute=ea.minutes=Ki,ea.second=ea.seconds=Xi,ea.millisecond=ea.milliseconds=ta,ea.utcOffset=je,ea.utc=Oe,ea.local=Pe,ea.parseZone=Ne,ea.hasAlignedHourOffset=Be,ea.isDST=Ie,ea.isLocal=We,ea.isUtcOffset=ze,ea.isUtc=qe,ea.isUTC=qe,ea.zoneAbbr=Rn,ea.zoneName=Wn,ea.dates=w("dates accessor is deprecated. Use date instead.",Zi),ea.months=w("months accessor is deprecated. Use month instead",dt),ea.years=w("years accessor is deprecated. Use year instead",vi),ea.zone=w("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",He),ea.isDSTShifted=w("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Re);var na=A.prototype;na.calendar=E,na.longDateFormat=S,na.invalidDate=F,na.ordinal=C,na.preparse=Un,na.postformat=Un,na.relativeTime=j,na.pastFuture=H,na.set=Y,na.months=ot,na.monthsShort=ut,na.monthsParse=ct,na.monthsRegex=_t,na.monthsShortRegex=ft,na.week=Dt,na.firstDayOfYear=Yt,na.firstDayOfWeek=xt,na.weekdays=Ft,na.weekdaysMin=jt,na.weekdaysShort=Ct,na.weekdaysParse=Ot,na.weekdaysRegex=It,na.weekdaysShortRegex=Rt,na.weekdaysMinRegex=Wt,na.isPM=Gt,na.meridiem=Jt,Qt("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10;return t+(1===b(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")}}),e.lang=w("moment.lang is deprecated. Use moment.locale instead.",Qt),e.langData=w("moment.langData is deprecated. Use moment.localeData instead.",ne);var ra=Math.abs,ia=lr("ms"),aa=lr("s"),oa=lr("m"),ua=lr("h"),sa=lr("d"),ca=lr("w"),la=lr("M"),da=lr("y"),ha=hr("milliseconds"),fa=hr("seconds"),_a=hr("minutes"),pa=hr("hours"),ma=hr("days"),ya=hr("months"),ga=hr("years"),va=Math.round,Ma={ss:44,s:45,m:45,h:22,d:26,M:11},ba=Math.abs,La=Ye.prototype;return La.isValid=De,La.abs=tr,La.add=nr,La.subtract=rr,La.as=sr,La.asMilliseconds=ia,La.asSeconds=aa,La.asMinutes=oa,La.asHours=ua,La.asDays=sa,La.asWeeks=ca,La.asMonths=la,La.asYears=da,La.valueOf=cr,La._bubble=ar,La.get=dr,La.milliseconds=ha,La.seconds=fa,La.minutes=_a,La.hours=pa,La.days=ma,La.weeks=fr,La.months=ya,La.years=ga,La.humanize=gr,La.toISOString=vr,La.toString=vr,La.toJSON=vr,La.locale=yn,La.localeData=gn,La.toIsoString=w("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",vr),La.lang=Ji,V("X",0,0,"unix"),V("x",0,0,"valueOf"),X("x",Kr),X("X",ti),nt("X",function(t,e,n){n._d=new Date(1e3*parseFloat(t,10))}),nt("x",function(t,e,n){n._d=new Date(b(t))}),e.version="2.18.1",function(t){Mr=t}(Me),e.fn=ea,e.min=Le,e.max=ke,e.now=Wi,e.utc=h,e.unix=zn,e.months=Jn,e.isDate=s,e.locale=Qt,e.invalid=m,e.duration=Ue,e.isMoment=v,e.weekdays=Kn,e.parseZone=qn,e.localeData=ne,e.isDuration=Te,e.monthsShort=Zn,e.weekdaysMin=Qn,e.defineLocale=te,e.updateLocale=ee,e.locales=re,e.weekdaysShort=Xn,e.normalizeUnits=P,e.relativeTimeRounding=mr,e.relativeTimeThreshold=yr,e.calendarFormat=Ke,e.prototype=ea,e})}).call(e,n(4)(t))},function(t,e,n){var r;try{r=n(203)}catch(t){}r||(r=window._),t.exports=r},function(t,e){function n(t){var e=t.getUTCHours(),n=t.getUTCMinutes(),r=t.getSeconds(),i=t.getMilliseconds();return e<10&&(e="0"+e),n<10&&(n="0"+n),r<10&&(r="0"+r),i<100&&(i="0"+i),i<10&&(i="00"+i),e+":"+n+":"+r+" ("+i+")"}function r(t){return"%c "+n(new Date)+" :%c"+t+": "}var i=function(){},a=function(){},o=function(){},u=function(){},s=function(){};e.setLogLevel=function(t){t<6&&(e.Log.fatal=console.log.bind(console,r("FATAL"),"color:grey;","color: red;")),t<5&&(e.Log.error=console.log.bind(console,r("ERROR"),"color:grey;","color: red;")),t<4&&(e.Log.warn=console.log.bind(console,r("WARN"),"color:grey;","color: orange;")),t<3&&(e.Log.info=console.log.bind(console,r("INFO"),"color:grey;","color: info;")),t<2&&(e.Log.debug=console.log.bind(console,r("DEBUG"),"color:grey;","color: green;"))},e.Log={debug:i,info:a,warn:o,error:u,fatal:s}},function(t,e,n){"use strict";function r(t,e,n,r){var i;do{i=y.uniqueId(r)}while(t.hasNode(i));return n.dummy=e,t.setNode(i,n),i}function i(t){var e=(new g).setGraph(t.graph());return y.each(t.nodes(),function(n){e.setNode(n,t.node(n))}),y.each(t.edges(),function(n){var r=e.edge(n.v,n.w)||{weight:0,minlen:1},i=t.edge(n);e.setEdge(n.v,n.w,{weight:r.weight+i.weight,minlen:Math.max(r.minlen,i.minlen)})}),e}function a(t){var e=new g({multigraph:t.isMultigraph()}).setGraph(t.graph());return y.each(t.nodes(),function(n){t.children(n).length||e.setNode(n,t.node(n))}),y.each(t.edges(),function(n){e.setEdge(n,t.edge(n))}),e}function o(t){var e=y.map(t.nodes(),function(e){var n={};return y.each(t.outEdges(e),function(e){n[e.w]=(n[e.w]||0)+t.edge(e).weight}),n});return y.zipObject(t.nodes(),e)}function u(t){var e=y.map(t.nodes(),function(e){var n={};return y.each(t.inEdges(e),function(e){n[e.v]=(n[e.v]||0)+t.edge(e).weight}),n});return y.zipObject(t.nodes(),e)}function s(t,e){var n=t.x,r=t.y,i=e.x-n,a=e.y-r,o=t.width/2,u=t.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var s,c;return Math.abs(a)*o>Math.abs(i)*u?(a<0&&(u=-u),s=u*i/a,c=u):(i<0&&(o=-o),s=o,c=o*a/i),{x:n+s,y:r+c}}function c(t){var e=y.map(y.range(f(t)+1),function(){return[]});return y.each(t.nodes(),function(n){var r=t.node(n),i=r.rank;y.isUndefined(i)||(e[i][r.order]=n)}),e}function l(t){var e=y.min(y.map(t.nodes(),function(e){return t.node(e).rank}));y.each(t.nodes(),function(n){var r=t.node(n);y.has(r,"rank")&&(r.rank-=e)})}function d(t){var e=y.min(y.map(t.nodes(),function(e){return t.node(e).rank})),n=[];y.each(t.nodes(),function(r){var i=t.node(r).rank-e;n[i]||(n[i]=[]),n[i].push(r)});var r=0,i=t.graph().nodeRankFactor;y.each(n,function(e,n){y.isUndefined(e)&&n%i!=0?--r:r&&y.each(e,function(e){t.node(e).rank+=r})})}function h(t,e,n,i){var a={width:0,height:0};return arguments.length>=4&&(a.rank=n,a.order=i),r(t,"border",a,e)}function f(t){return y.max(y.map(t.nodes(),function(e){var n=t.node(e).rank;if(!y.isUndefined(n))return n}))}function _(t,e){var n={lhs:[],rhs:[]};return y.each(t,function(t){e(t)?n.lhs.push(t):n.rhs.push(t)}),n}function p(t,e){var n=y.now();try{return e()}finally{console.log(t+" time: "+(y.now()-n)+"ms")}}function m(t,e){return e()}var y=n(1),g=n(8).Graph;t.exports={addDummyNode:r,simplify:i,asNonCompoundGraph:a,successorWeights:o,predecessorWeights:u,intersectRect:s,buildLayerMatrix:c,normalizeRanks:l,removeEmptyRanks:d,addBorderNode:h,maxRank:f,partition:_,time:p,notime:m}},function(t,e){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,e,n){var r;try{r=n(16)}catch(t){}r||(r=window._),t.exports=r},function(t,e,n){var r;try{r=n(190)}catch(t){}r||(r=window._),t.exports=r},function(t,e,n){function r(t,e){return!!t.children(e).length}function i(t){return a(t.v)+":"+a(t.w)+":"+a(t.name)}function a(t){return t?String(t).replace(l,"\\:"):""}function o(t,e){e&&t.attr("style",e)}function u(t,e,n){e&&t.attr("class",e).attr("class",n+" "+t.attr("class"))}function s(t,e){var n=e.graph();if(c.isPlainObject(n)){var r=n.transition;if(c.isFunction(r))return r(t)}return t}var c=n(14);t.exports={isSubgraph:r,edgeToId:i,applyStyle:o,applyClass:u,applyTransition:s};var l=/:/g},function(t,e,n){var r;try{r=n(188)}catch(t){}r||(r=window.graphlib),t.exports=r},function(t,e){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(t){"object"==typeof window&&(n=window)}t.exports=n},function(t,e,n){var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=n(24);t.exports=i,function(){var t=!1;if(t="tspans",i.selection.prototype.textwrap)return!1;void 0===t&&(t=!1),i.selection.prototype.textwrap=i.selection.enter.prototype.textwrap=function(e,n){n=parseInt(n)||0;var a,o=this,u=function(t){var e=t[0][0];if("rect"!==e.tagName.toString())return!1;var n={};return n.x=i.select(e).attr("x")||0,n.y=i.select(e).attr("y")||0,n.width=i.select(e).attr("width")||0,n.height=i.select(e).attr("height")||0,n.attr=t.attr,n},s=function(t){if(t.attr||(t.attr=function(t){if(this[t])return this[t]}),"object"===(void 0===t?"undefined":r(t))&&void 0!==t.x&&void 0!==t.y&&void 0!==t.width&&void 0!==t.height)return t;if("function"==typeof Array.isArray&&Array.isArray(t)||"[object Array]"===Object.prototype.toString.call(t)){return u(t)}return!1}(e);if(n&&(s=function(t,e){var n=t;return 0!==e&&(n.x=parseInt(n.x)+e,n.y=parseInt(n.y)+e,n.width-=2*e,n.height-=2*e),n}(s,n)),0!==o.length&&i&&e&&s){e=s;var c,l=function(t){var n=i.select(t[0].parentNode),r=n.select("text"),o=r.style("line-height"),u=r.text();r.remove();var s=n.append("foreignObject");s.attr("requiredFeatures","http://www.w3.org/TR/SVG11/feature#Extensibility").attr("x",e.x).attr("y",e.y).attr("width",e.width).attr("height",e.height);var c=s.append("xhtml:div").attr("class","wrapped");c.style("height",e.height).style("width",e.width).html(u),o&&c.style("line-height",o),a=n.select("foreignObject")},d=function(t){var r,o=t[0],u=o.parentNode,s=i.select(o),c=o.getBBox().height,l=o.getBBox().width,d=c,h=s.style("line-height");if(r=h&&parseInt(h)?parseInt(h.replace("px","")):d,l>e.width){var f=s.text();if(s.text(""),f){var _,p;if(-1!==f.indexOf(" "))_=" ",p=f.split(" ");else{_="";var m=f.length,y=Math.ceil(l/e.width),g=Math.floor(m/y);g*y>=m||y++,p=[];for(var v,M,b=0;b<y;b++)M=b*g,v=f.substr(M,g),p.push(v)}var L=[],k=0,w={};for(b=0;b<p.length;b++){var D,x=p[b],Y=s.text(),T=o.getComputedTextLength();D=Y?Y+_+x:x,s.text(D);var A=o.getComputedTextLength();if(A>e.width&&Y&&""!==Y&&(k+=T,w={string:Y,width:T,offset:k},L.push(w),s.text(""),s.text(x),b===p.length-1&&(D=x,s.text(D),A=o.getComputedTextLength())),b===p.length-1){s.text("");var E=D;E&&""!==E&&(A-k>0&&(A-=k),w={string:E,width:A,offset:k},L.push(w))}}var S;for(s.text(""),b=0;b<L.length;b++)v=L[b].string,b*r<e.height-1.5*r&&(S=s.append("tspan").text(v),S.attr("dy",function(t){if(b>0)return r}),S.attr("x",function(){var t=e.x;return n&&(t+=n),t}))}}s.attr("y",function(){var t=e.y;return r&&(t+=r),n&&(t+=n),t}),s.attr("x",function(){var t=e.x;return n&&(t+=n),t}),a=i.select(u).selectAll("text")};t&&("foreignobjects"===t?c=l:"tspans"===t&&(c=d)),t||(c="undefined"!=typeof SVGForeignObjectElement?l:d);for(var h=0;h<o.length;h++){c(o[h])}return a}return o||!1}}()},function(t,e){function n(){throw new Error("setTimeout has not been defined")}function r(){throw new Error("clearTimeout has not been defined")}function i(t){if(l===setTimeout)return setTimeout(t,0);if((l===n||!l)&&setTimeout)return l=setTimeout,setTimeout(t,0);try{return l(t,0)}catch(e){try{return l.call(null,t,0)}catch(e){return l.call(this,t,0)}}}function a(t){if(d===clearTimeout)return clearTimeout(t);if((d===r||!d)&&clearTimeout)return d=clearTimeout,clearTimeout(t);try{return d(t)}catch(e){try{return d.call(null,t)}catch(e){return d.call(this,t)}}}function o(){p&&f&&(p=!1,f.length?_=f.concat(_):m=-1,_.length&&u())}function u(){if(!p){var t=i(o);p=!0;for(var e=_.length;e;){for(f=_,_=[];++m<e;)f&&f[m].run();m=-1,e=_.length}f=null,p=!1,a(t)}}function s(t,e){this.fun=t,this.array=e}function c(){}var l,d,h=t.exports={};!function(){try{l="function"==typeof setTimeout?setTimeout:n}catch(t){l=n}try{d="function"==typeof clearTimeout?clearTimeout:r}catch(t){d=r}}();var f,_=[],p=!1,m=-1;h.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)e[n-1]=arguments[n];_.push(new s(t,e)),1!==_.length||p||i(u)},s.prototype.run=function(){this.fun.apply(null,this.array)},h.title="browser",h.browser=!0,h.env={},h.argv=[],h.version="",h.versions={},h.on=c,h.addListener=c,h.once=c,h.off=c,h.removeListener=c,h.removeAllListeners=c,h.emit=c,h.prependListener=c,h.prependOnceListener=c,h.listeners=function(t){return[]},h.binding=function(t){throw new Error("process.binding is not supported")},h.cwd=function(){return"/"},h.chdir=function(t){throw new Error("process.chdir is not supported")},h.umask=function(){return 0}},function(t,e){t.exports=fs},function(t,e,n){(function(t){function n(t,e){for(var n=0,r=t.length-1;r>=0;r--){var i=t[r];"."===i?t.splice(r,1):".."===i?(t.splice(r,1),n++):n&&(t.splice(r,1),n--)}if(e)for(;n--;n)t.unshift("..");return t}function r(t,e){if(t.filter)return t.filter(e);for(var n=[],r=0;r<t.length;r++)e(t[r],r,t)&&n.push(t[r]);return n}var i=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,a=function(t){return i.exec(t).slice(1)};e.resolve=function(){for(var e="",i=!1,a=arguments.length-1;a>=-1&&!i;a--){var o=a>=0?arguments[a]:t.cwd();if("string"!=typeof o)throw new TypeError("Arguments to path.resolve must be strings");o&&(e=o+"/"+e,i="/"===o.charAt(0))}return e=n(r(e.split("/"),function(t){return!!t}),!i).join("/"),(i?"/":"")+e||"."},e.normalize=function(t){var i=e.isAbsolute(t),a="/"===o(t,-1);return t=n(r(t.split("/"),function(t){return!!t}),!i).join("/"),t||i||(t="."),t&&a&&(t+="/"),(i?"/":"")+t},e.isAbsolute=function(t){return"/"===t.charAt(0)},e.join=function(){var t=Array.prototype.slice.call(arguments,0);return e.normalize(r(t,function(t,e){if("string"!=typeof t)throw new TypeError("Arguments to path.join must be strings");return t}).join("/"))},e.relative=function(t,n){function r(t){for(var e=0;e<t.length&&""===t[e];e++);for(var n=t.length-1;n>=0&&""===t[n];n--);return e>n?[]:t.slice(e,n-e+1)}t=e.resolve(t).substr(1),n=e.resolve(n).substr(1);for(var i=r(t.split("/")),a=r(n.split("/")),o=Math.min(i.length,a.length),u=o,s=0;s<o;s++)if(i[s]!==a[s]){u=s;break}for(var c=[],s=u;s<i.length;s++)c.push("..");return c=c.concat(a.slice(u)),c.join("/")},e.sep="/",e.delimiter=":",e.dirname=function(t){var e=a(t),n=e[0],r=e[1];return n||r?(r&&(r=r.substr(0,r.length-1)),n+r):"."},e.basename=function(t,e){var n=a(t)[2];return e&&n.substr(-1*e.length)===e&&(n=n.substr(0,n.length-e.length)),n},e.extname=function(t){return a(t)[3]};var o="b"==="ab".substr(-1)?function(t,e,n){return t.substr(e,n)}:function(t,e,n){return e<0&&(e=t.length+e),t.substr(e,n)}}).call(e,n(11))},function(t,e,n){const r=n(16);t.exports=r},function(t,e,n){const r=n(24);t.exports=r},function(t,e,n){(function(t,n){(function(){function r(t,e){return t.set(e[0],e[1]),t}function i(t,e){return t.add(e),t}function a(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function o(t,e,n,r){for(var i=-1,a=null==t?0:t.length;++i<a;){var o=t[i];e(r,o,n(o),t)}return r}function u(t,e){for(var n=-1,r=null==t?0:t.length;++n<r&&!1!==e(t[n],n,t););return t}function s(t,e){for(var n=null==t?0:t.length;n--&&!1!==e(t[n],n,t););return t}function c(t,e){for(var n=-1,r=null==t?0:t.length;++n<r;)if(!e(t[n],n,t))return!1;return!0}function l(t,e){for(var n=-1,r=null==t?0:t.length,i=0,a=[];++n<r;){var o=t[n];e(o,n,t)&&(a[i++]=o)}return a}function d(t,e){return!!(null==t?0:t.length)&&L(t,e,0)>-1}function h(t,e,n){for(var r=-1,i=null==t?0:t.length;++r<i;)if(n(e,t[r]))return!0;return!1}function f(t,e){for(var n=-1,r=null==t?0:t.length,i=Array(r);++n<r;)i[n]=e(t[n],n,t);return i}function _(t,e){for(var n=-1,r=e.length,i=t.length;++n<r;)t[i+n]=e[n];return t}function p(t,e,n,r){var i=-1,a=null==t?0:t.length;for(r&&a&&(n=t[++i]);++i<a;)n=e(n,t[i],i,t);return n}function m(t,e,n,r){var i=null==t?0:t.length;for(r&&i&&(n=t[--i]);i--;)n=e(n,t[i],i,t);return n}function y(t,e){for(var n=-1,r=null==t?0:t.length;++n<r;)if(e(t[n],n,t))return!0;return!1}function g(t){return t.split("")}function v(t){return t.match(Ne)||[]}function M(t,e,n){var r;return n(t,function(t,n,i){if(e(t,n,i))return r=n,!1}),r}function b(t,e,n,r){for(var i=t.length,a=n+(r?1:-1);r?a--:++a<i;)if(e(t[a],a,t))return a;return-1}function L(t,e,n){return e===e?J(t,e,n):b(t,w,n)}function k(t,e,n,r){for(var i=n-1,a=t.length;++i<a;)if(r(t[i],e))return i;return-1}function w(t){return t!==t}function D(t,e){var n=null==t?0:t.length;return n?E(t,e)/n:Ct}function x(t){return function(e){return null==e?nt:e[t]}}function Y(t){return function(e){return null==t?nt:t[e]}}function T(t,e,n,r,i){return i(t,function(t,i,a){n=r?(r=!1,t):e(n,t,i,a)}),n}function A(t,e){var n=t.length;for(t.sort(e);n--;)t[n]=t[n].value;return t}function E(t,e){for(var n,r=-1,i=t.length;++r<i;){var a=e(t[r]);a!==nt&&(n=n===nt?a:n+a)}return n}function S(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}function F(t,e){return f(e,function(e){return[e,t[e]]})}function C(t){return function(e){return t(e)}}function j(t,e){return f(e,function(e){return t[e]})}function H(t,e){return t.has(e)}function O(t,e){for(var n=-1,r=t.length;++n<r&&L(e,t[n],0)>-1;);return n}function P(t,e){for(var n=t.length;n--&&L(e,t[n],0)>-1;);return n}function N(t,e){for(var n=t.length,r=0;n--;)t[n]===e&&++r;return r}function B(t){return"\\"+xn[t]}function I(t,e){return null==t?nt:t[e]}function R(t){return yn.test(t)}function W(t){return gn.test(t)}function z(t){for(var e,n=[];!(e=t.next()).done;)n.push(e.value);return n}function q(t){var e=-1,n=Array(t.size);return t.forEach(function(t,r){n[++e]=[r,t]}),n}function U(t,e){return function(n){return t(e(n))}}function $(t,e){for(var n=-1,r=t.length,i=0,a=[];++n<r;){var o=t[n];o!==e&&o!==st||(t[n]=st,a[i++]=n)}return a}function V(t){var e=-1,n=Array(t.size);return t.forEach(function(t){n[++e]=t}),n}function G(t){var e=-1,n=Array(t.size);return t.forEach(function(t){n[++e]=[t,t]}),n}function J(t,e,n){for(var r=n-1,i=t.length;++r<i;)if(t[r]===e)return r;return-1}function Z(t,e,n){for(var r=n+1;r--;)if(t[r]===e)return r;return r}function K(t){return R(t)?Q(t):zn(t)}function X(t){return R(t)?tt(t):g(t)}function Q(t){for(var e=pn.lastIndex=0;pn.test(t);)++e;return e}function tt(t){return t.match(pn)||[]}function et(t){return t.match(mn)||[]}var nt,rt=200,it="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",at="Expected a function",ot="__lodash_hash_undefined__",ut=500,st="__lodash_placeholder__",ct=1,lt=2,dt=4,ht=1,ft=2,_t=1,pt=2,mt=4,yt=8,gt=16,vt=32,Mt=64,bt=128,Lt=256,kt=512,wt=30,Dt="...",xt=800,Yt=16,Tt=1,At=2,Et=1/0,St=9007199254740991,Ft=1.7976931348623157e308,Ct=NaN,jt=4294967295,Ht=jt-1,Ot=jt>>>1,Pt=[["ary",bt],["bind",_t],["bindKey",pt],["curry",yt],["curryRight",gt],["flip",kt],["partial",vt],["partialRight",Mt],["rearg",Lt]],Nt="[object Arguments]",Bt="[object Array]",It="[object AsyncFunction]",Rt="[object Boolean]",Wt="[object Date]",zt="[object DOMException]",qt="[object Error]",Ut="[object Function]",$t="[object GeneratorFunction]",Vt="[object Map]",Gt="[object Number]",Jt="[object Null]",Zt="[object Object]",Kt="[object Proxy]",Xt="[object RegExp]",Qt="[object Set]",te="[object String]",ee="[object Symbol]",ne="[object Undefined]",re="[object WeakMap]",ie="[object WeakSet]",ae="[object ArrayBuffer]",oe="[object DataView]",ue="[object Float32Array]",se="[object Float64Array]",ce="[object Int8Array]",le="[object Int16Array]",de="[object Int32Array]",he="[object Uint8Array]",fe="[object Uint8ClampedArray]",_e="[object Uint16Array]",pe="[object Uint32Array]",me=/\b__p \+= '';/g,ye=/\b(__p \+=) '' \+/g,ge=/(__e\(.*?\)|\b__t\)) \+\n'';/g,ve=/&(?:amp|lt|gt|quot|#39);/g,Me=/[&<>"']/g,be=RegExp(ve.source),Le=RegExp(Me.source),ke=/<%-([\s\S]+?)%>/g,we=/<%([\s\S]+?)%>/g,De=/<%=([\s\S]+?)%>/g,xe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ye=/^\w*$/,Te=/^\./,Ae=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Ee=/[\\^$.*+?()[\]{}|]/g,Se=RegExp(Ee.source),Fe=/^\s+|\s+$/g,Ce=/^\s+/,je=/\s+$/,He=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Oe=/\{\n\/\* \[wrapped with (.+)\] \*/,Pe=/,? & /,Ne=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Be=/\\(\\)?/g,Ie=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Re=/\w*$/,We=/^[-+]0x[0-9a-f]+$/i,ze=/^0b[01]+$/i,qe=/^\[object .+?Constructor\]$/,Ue=/^0o[0-7]+$/i,$e=/^(?:0|[1-9]\d*)$/,Ve=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Ge=/($^)/,Je=/['\n\r\u2028\u2029\\]/g,Ze="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Ke="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Xe="["+Ke+"]",Qe="["+Ze+"]",tn="[a-z\\xdf-\\xf6\\xf8-\\xff]",en="[^\\ud800-\\udfff"+Ke+"\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",nn="\\ud83c[\\udffb-\\udfff]",rn="(?:\\ud83c[\\udde6-\\uddff]){2}",an="[\\ud800-\\udbff][\\udc00-\\udfff]",on="[A-Z\\xc0-\\xd6\\xd8-\\xde]",un="(?:"+tn+"|"+en+")",sn="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?",cn="(?:\\u200d(?:"+["[^\\ud800-\\udfff]",rn,an].join("|")+")[\\ufe0e\\ufe0f]?"+sn+")*",ln="[\\ufe0e\\ufe0f]?"+sn+cn,dn="(?:"+["[\\u2700-\\u27bf]",rn,an].join("|")+")"+ln,hn="(?:"+["[^\\ud800-\\udfff]"+Qe+"?",Qe,rn,an,"[\\ud800-\\udfff]"].join("|")+")",fn=RegExp("['’]","g"),_n=RegExp(Qe,"g"),pn=RegExp(nn+"(?="+nn+")|"+hn+ln,"g"),mn=RegExp([on+"?"+tn+"+(?:['’](?:d|ll|m|re|s|t|ve))?(?="+[Xe,on,"$"].join("|")+")","(?:[A-Z\\xc0-\\xd6\\xd8-\\xde]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+(?:['’](?:D|LL|M|RE|S|T|VE))?(?="+[Xe,on+un,"$"].join("|")+")",on+"?"+un+"+(?:['’](?:d|ll|m|re|s|t|ve))?",on+"+(?:['’](?:D|LL|M|RE|S|T|VE))?","\\d*(?:(?:1ST|2ND|3RD|(?![123])\\dTH)\\b)","\\d*(?:(?:1st|2nd|3rd|(?![123])\\dth)\\b)","\\d+",dn].join("|"),"g"),yn=RegExp("[\\u200d\\ud800-\\udfff"+Ze+"\\ufe0e\\ufe0f]"),gn=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,vn=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Mn=-1,bn={};bn[ue]=bn[se]=bn[ce]=bn[le]=bn[de]=bn[he]=bn[fe]=bn[_e]=bn[pe]=!0,bn[Nt]=bn[Bt]=bn[ae]=bn[Rt]=bn[oe]=bn[Wt]=bn[qt]=bn[Ut]=bn[Vt]=bn[Gt]=bn[Zt]=bn[Xt]=bn[Qt]=bn[te]=bn[re]=!1;var Ln={};Ln[Nt]=Ln[Bt]=Ln[ae]=Ln[oe]=Ln[Rt]=Ln[Wt]=Ln[ue]=Ln[se]=Ln[ce]=Ln[le]=Ln[de]=Ln[Vt]=Ln[Gt]=Ln[Zt]=Ln[Xt]=Ln[Qt]=Ln[te]=Ln[ee]=Ln[he]=Ln[fe]=Ln[_e]=Ln[pe]=!0,Ln[qt]=Ln[Ut]=Ln[re]=!1;var kn={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"},wn={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},Dn={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"},xn={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Yn=parseFloat,Tn=parseInt,An="object"==typeof t&&t&&t.Object===Object&&t,En="object"==typeof self&&self&&self.Object===Object&&self,Sn=An||En||Function("return this")(),Fn="object"==typeof e&&e&&!e.nodeType&&e,Cn=Fn&&"object"==typeof n&&n&&!n.nodeType&&n,jn=Cn&&Cn.exports===Fn,Hn=jn&&An.process,On=function(){try{return Hn&&Hn.binding&&Hn.binding("util")}catch(t){}}(),Pn=On&&On.isArrayBuffer,Nn=On&&On.isDate,Bn=On&&On.isMap,In=On&&On.isRegExp,Rn=On&&On.isSet,Wn=On&&On.isTypedArray,zn=x("length"),qn=Y(kn),Un=Y(wn),$n=Y(Dn),Vn=function t(e){function n(t){if(as(t)&&!mh(t)&&!(t instanceof J)){if(t instanceof Y)return t;if(ml.call(t,"__wrapped__"))return eo(t)}return new Y(t)}function g(){}function Y(t,e){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!e,this.__index__=0,this.__values__=nt}function J(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=jt,this.__views__=[]}function Q(){var t=new J(this.__wrapped__);return t.__actions__=Pi(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=Pi(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=Pi(this.__views__),t}function tt(){if(this.__filtered__){var t=new J(this);t.__dir__=-1,t.__filtered__=!0}else t=this.clone(),t.__dir__*=-1;return t}function Ne(){var t=this.__wrapped__.value(),e=this.__dir__,n=mh(t),r=e<0,i=n?t.length:0,a=xa(0,i,this.__views__),o=a.start,u=a.end,s=u-o,c=r?u:o-1,l=this.__iteratees__,d=l.length,h=0,f=$l(s,this.__takeCount__);if(!n||!r&&i==s&&f==s)return gi(t,this.__actions__);var _=[];t:for(;s--&&h<f;){c+=e;for(var p=-1,m=t[c];++p<d;){var y=l[p],g=y.iteratee,v=y.type,M=g(m);if(v==At)m=M;else if(!M){if(v==Tt)continue t;break t}}_[h++]=m}return _}function Ze(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function Ke(){this.__data__=nd?nd(null):{},this.size=0}function Xe(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}function Qe(t){var e=this.__data__;if(nd){var n=e[t];return n===ot?nt:n}return ml.call(e,t)?e[t]:nt}function tn(t){var e=this.__data__;return nd?e[t]!==nt:ml.call(e,t)}function en(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=nd&&e===nt?ot:e,this}function nn(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function rn(){this.__data__=[],this.size=0}function an(t){var e=this.__data__,n=Zn(e,t);return!(n<0)&&(n==e.length-1?e.pop():El.call(e,n,1),--this.size,!0)}function on(t){var e=this.__data__,n=Zn(e,t);return n<0?nt:e[n][1]}function un(t){return Zn(this.__data__,t)>-1}function sn(t,e){var n=this.__data__,r=Zn(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this}function cn(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function ln(){this.size=0,this.__data__={hash:new Ze,map:new(Xl||nn),string:new Ze}}function dn(t){var e=La(this,t).delete(t);return this.size-=e?1:0,e}function hn(t){return La(this,t).get(t)}function pn(t){return La(this,t).has(t)}function mn(t,e){var n=La(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this}function yn(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new cn;++e<n;)this.add(t[e])}function gn(t){return this.__data__.set(t,ot),this}function kn(t){return this.__data__.has(t)}function wn(t){var e=this.__data__=new nn(t);this.size=e.size}function Dn(){this.__data__=new nn,this.size=0}function xn(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}function An(t){return this.__data__.get(t)}function En(t){return this.__data__.has(t)}function Fn(t,e){var n=this.__data__;if(n instanceof nn){var r=n.__data__;if(!Xl||r.length<rt-1)return r.push([t,e]),this.size=++n.size,this;n=this.__data__=new cn(r)}return n.set(t,e),this.size=n.size,this}function Cn(t,e){var n=mh(t),r=!n&&ph(t),i=!n&&!r&&gh(t),a=!n&&!r&&!i&&kh(t),o=n||r||i||a,u=o?S(t.length,cl):[],s=u.length;for(var c in t)!e&&!ml.call(t,c)||o&&("length"==c||i&&("offset"==c||"parent"==c)||a&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||ja(c,s))||u.push(c);return u}function Hn(t){var e=t.length;return e?t[Qr(0,e-1)]:nt}function On(t,e){return Ka(Pi(t),nr(e,0,t.length))}function zn(t){return Ka(Pi(t))}function Gn(t,e,n){(n===nt||Uu(t[e],n))&&(n!==nt||e in t)||tr(t,e,n)}function Jn(t,e,n){var r=t[e];ml.call(t,e)&&Uu(r,n)&&(n!==nt||e in t)||tr(t,e,n)}function Zn(t,e){for(var n=t.length;n--;)if(Uu(t[n][0],e))return n;return-1}function Kn(t,e,n,r){return _d(t,function(t,i,a){e(r,t,n(t),a)}),r}function Xn(t,e){return t&&Ni(e,Is(e),t)}function Qn(t,e){return t&&Ni(e,Rs(e),t)}function tr(t,e,n){"__proto__"==e&&jl?jl(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}function er(t,e){for(var n=-1,r=e.length,i=nl(r),a=null==t;++n<r;)i[n]=a?nt:Ps(t,e[n]);return i}function nr(t,e,n){return t===t&&(n!==nt&&(t=t<=n?t:n),e!==nt&&(t=t>=e?t:e)),t}function rr(t,e,n,r,i,a){var o,s=e&ct,c=e&lt,l=e&dt;if(n&&(o=i?n(t,r,i,a):n(t)),o!==nt)return o;if(!is(t))return t;var d=mh(t);if(d){if(o=Aa(t),!s)return Pi(t,o)}else{var h=xd(t),f=h==Ut||h==$t;if(gh(t))return Di(t,s);if(h==Zt||h==Nt||f&&!i){if(o=c||f?{}:Ea(t),!s)return c?Ii(t,Qn(o,t)):Bi(t,Xn(o,t))}else{if(!Ln[h])return i?t:{};o=Sa(t,h,rr,s)}}a||(a=new wn);var _=a.get(t);if(_)return _;a.set(t,o);var p=l?c?ga:ya:c?Rs:Is,m=d?nt:p(t);return u(m||t,function(r,i){m&&(i=r,r=t[i]),Jn(o,i,rr(r,e,n,i,t,a))}),o}function ir(t){var e=Is(t);return function(n){return ar(n,t,e)}}function ar(t,e,n){var r=n.length;if(null==t)return!r;for(t=ul(t);r--;){var i=n[r],a=e[i],o=t[i];if(o===nt&&!(i in t)||!a(o))return!1}return!0}function or(t,e,n){if("function"!=typeof t)throw new ll(at);return Ad(function(){t.apply(nt,n)},e)}function ur(t,e,n,r){var i=-1,a=d,o=!0,u=t.length,s=[],c=e.length;if(!u)return s;n&&(e=f(e,C(n))),r?(a=h,o=!1):e.length>=rt&&(a=H,o=!1,e=new yn(e));t:for(;++i<u;){var l=t[i],_=null==n?l:n(l);if(l=r||0!==l?l:0,o&&_===_){for(var p=c;p--;)if(e[p]===_)continue t;s.push(l)}else a(e,_,r)||s.push(l)}return s}function sr(t,e){var n=!0;return _d(t,function(t,r,i){return n=!!e(t,r,i)}),n}function cr(t,e,n){for(var r=-1,i=t.length;++r<i;){var a=t[r],o=e(a);if(null!=o&&(u===nt?o===o&&!ms(o):n(o,u)))var u=o,s=a}return s}function lr(t,e,n,r){var i=t.length;for(n=Ls(n),n<0&&(n=-n>i?0:i+n),r=r===nt||r>i?i:Ls(r),r<0&&(r+=i),r=n>r?0:ks(r);n<r;)t[n++]=e;return t}function dr(t,e){var n=[];return _d(t,function(t,r,i){e(t,r,i)&&n.push(t)}),n}function hr(t,e,n,r,i){var a=-1,o=t.length;for(n||(n=Ca),i||(i=[]);++a<o;){var u=t[a];e>0&&n(u)?e>1?hr(u,e-1,n,r,i):_(i,u):r||(i[i.length]=u)}return i}function fr(t,e){return t&&md(t,e,Is)}function _r(t,e){return t&&yd(t,e,Is)}function pr(t,e){return l(e,function(e){return es(t[e])})}function mr(t,e){e=ki(e,t);for(var n=0,r=e.length;null!=t&&n<r;)t=t[Xa(e[n++])];return n&&n==r?t:nt}function yr(t,e,n){var r=e(t);return mh(t)?r:_(r,n(t))}function gr(t){return null==t?t===nt?ne:Jt:Cl&&Cl in ul(t)?Da(t):Ua(t)}function vr(t,e){return t>e}function Mr(t,e){return null!=t&&ml.call(t,e)}function br(t,e){return null!=t&&e in ul(t)}function Lr(t,e,n){return t>=$l(e,n)&&t<Ul(e,n)}function kr(t,e,n){for(var r=n?h:d,i=t[0].length,a=t.length,o=a,u=nl(a),s=1/0,c=[];o--;){var l=t[o];o&&e&&(l=f(l,C(e))),s=$l(l.length,s),u[o]=!n&&(e||i>=120&&l.length>=120)?new yn(o&&l):nt}l=t[0];var _=-1,p=u[0];t:for(;++_<i&&c.length<s;){var m=l[_],y=e?e(m):m;if(m=n||0!==m?m:0,!(p?H(p,y):r(c,y,n))){for(o=a;--o;){var g=u[o];if(!(g?H(g,y):r(t[o],y,n)))continue t}p&&p.push(y),c.push(m)}}return c}function wr(t,e,n,r){return fr(t,function(t,i,a){e(r,n(t),i,a)}),r}function Dr(t,e,n){e=ki(e,t),t=Va(t,e);var r=null==t?t:t[Xa(bo(e))];return null==r?nt:a(r,t,n)}function xr(t){return as(t)&&gr(t)==Nt}function Yr(t){return as(t)&&gr(t)==ae}function Tr(t){return as(t)&&gr(t)==Wt}function Ar(t,e,n,r,i){return t===e||(null==t||null==e||!as(t)&&!as(e)?t!==t&&e!==e:Er(t,e,n,r,Ar,i))}function Er(t,e,n,r,i,a){var o=mh(t),u=mh(e),s=o?Bt:xd(t),c=u?Bt:xd(e);s=s==Nt?Zt:s,c=c==Nt?Zt:c;var l=s==Zt,d=c==Zt,h=s==c;if(h&&gh(t)){if(!gh(e))return!1;o=!0,l=!1}if(h&&!l)return a||(a=new wn),o||kh(t)?fa(t,e,n,r,i,a):_a(t,e,s,n,r,i,a);if(!(n&ht)){var f=l&&ml.call(t,"__wrapped__"),_=d&&ml.call(e,"__wrapped__");if(f||_){var p=f?t.value():t,m=_?e.value():e;return a||(a=new wn),i(p,m,n,r,a)}}return!!h&&(a||(a=new wn),pa(t,e,n,r,i,a))}function Sr(t){return as(t)&&xd(t)==Vt}function Fr(t,e,n,r){var i=n.length,a=i,o=!r;if(null==t)return!a;for(t=ul(t);i--;){var u=n[i];if(o&&u[2]?u[1]!==t[u[0]]:!(u[0]in t))return!1}for(;++i<a;){u=n[i];var s=u[0],c=t[s],l=u[1];if(o&&u[2]){if(c===nt&&!(s in t))return!1}else{var d=new wn;if(r)var h=r(c,l,s,t,e,d);if(!(h===nt?Ar(l,c,ht|ft,r,d):h))return!1}}return!0}function Cr(t){return!(!is(t)||Ba(t))&&(es(t)?Ll:qe).test(Qa(t))}function jr(t){return as(t)&&gr(t)==Xt}function Hr(t){return as(t)&&xd(t)==Qt}function Or(t){return as(t)&&rs(t.length)&&!!bn[gr(t)]}function Pr(t){return"function"==typeof t?t:null==t?Ec:"object"==typeof t?mh(t)?zr(t[0],t[1]):Wr(t):Nc(t)}function Nr(t){if(!Ia(t))return ql(t);var e=[];for(var n in ul(t))ml.call(t,n)&&"constructor"!=n&&e.push(n);return e}function Br(t){if(!is(t))return qa(t);var e=Ia(t),n=[];for(var r in t)("constructor"!=r||!e&&ml.call(t,r))&&n.push(r);return n}function Ir(t,e){return t<e}function Rr(t,e){var n=-1,r=$u(t)?nl(t.length):[];return _d(t,function(t,i,a){r[++n]=e(t,i,a)}),r}function Wr(t){var e=ka(t);return 1==e.length&&e[0][2]?Wa(e[0][0],e[0][1]):function(n){return n===t||Fr(n,t,e)}}function zr(t,e){return Oa(t)&&Ra(e)?Wa(Xa(t),e):function(n){var r=Ps(n,t);return r===nt&&r===e?Bs(n,t):Ar(e,r,ht|ft)}}function qr(t,e,n,r,i){t!==e&&md(e,function(a,o){if(is(a))i||(i=new wn),Ur(t,e,o,n,qr,r,i);else{var u=r?r(t[o],a,o+"",t,e,i):nt;u===nt&&(u=a),Gn(t,o,u)}},Rs)}function Ur(t,e,n,r,i,a,o){var u=t[n],s=e[n],c=o.get(s);if(c)return void Gn(t,n,c);var l=a?a(u,s,n+"",t,e,o):nt,d=l===nt;if(d){var h=mh(s),f=!h&&gh(s),_=!h&&!f&&kh(s);l=s,h||f||_?mh(u)?l=u:Vu(u)?l=Pi(u):f?(d=!1,l=Di(s,!0)):_?(d=!1,l=Fi(s,!0)):l=[]:fs(s)||ph(s)?(l=u,ph(u)?l=Ds(u):(!is(u)||r&&es(u))&&(l=Ea(s))):d=!1}d&&(o.set(s,l),i(l,s,r,a,o),o.delete(s)),Gn(t,n,l)}function $r(t,e){var n=t.length;if(n)return e+=e<0?n:0,ja(e,n)?t[e]:nt}function Vr(t,e,n){var r=-1;return e=f(e.length?e:[Ec],C(ba())),A(Rr(t,function(t,n,i){return{criteria:f(e,function(e){return e(t)}),index:++r,value:t}}),function(t,e){return ji(t,e,n)})}function Gr(t,e){return Jr(t,e,function(e,n){return Bs(t,n)})}function Jr(t,e,n){for(var r=-1,i=e.length,a={};++r<i;){var o=e[r],u=mr(t,o);n(u,o)&&ai(a,ki(o,t),u)}return a}function Zr(t){return function(e){return mr(e,t)}}function Kr(t,e,n,r){var i=r?k:L,a=-1,o=e.length,u=t;for(t===e&&(e=Pi(e)),n&&(u=f(t,C(n)));++a<o;)for(var s=0,c=e[a],l=n?n(c):c;(s=i(u,l,s,r))>-1;)u!==t&&El.call(u,s,1),El.call(t,s,1);return t}function Xr(t,e){for(var n=t?e.length:0,r=n-1;n--;){var i=e[n];if(n==r||i!==a){var a=i;ja(i)?El.call(t,i,1):pi(t,i)}}return t}function Qr(t,e){return t+Bl(Jl()*(e-t+1))}function ti(t,e,n,r){for(var i=-1,a=Ul(Nl((e-t)/(n||1)),0),o=nl(a);a--;)o[r?a:++i]=t,t+=n;return o}function ei(t,e){var n="";if(!t||e<1||e>St)return n;do{e%2&&(n+=t),(e=Bl(e/2))&&(t+=t)}while(e);return n}function ni(t,e){return Ed($a(t,e,Ec),t+"")}function ri(t){return Hn(Qs(t))}function ii(t,e){var n=Qs(t);return Ka(n,nr(e,0,n.length))}function ai(t,e,n,r){if(!is(t))return t;e=ki(e,t);for(var i=-1,a=e.length,o=a-1,u=t;null!=u&&++i<a;){var s=Xa(e[i]),c=n;if(i!=o){var l=u[s];c=r?r(l,s,u):nt,c===nt&&(c=is(l)?l:ja(e[i+1])?[]:{})}Jn(u,s,c),u=u[s]}return t}function oi(t){return Ka(Qs(t))}function ui(t,e,n){var r=-1,i=t.length;e<0&&(e=-e>i?0:i+e),n=n>i?i:n,n<0&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var a=nl(i);++r<i;)a[r]=t[r+e];return a}function si(t,e){var n;return _d(t,function(t,r,i){return!(n=e(t,r,i))}),!!n}function ci(t,e,n){var r=0,i=null==t?r:t.length;if("number"==typeof e&&e===e&&i<=Ot){for(;r<i;){var a=r+i>>>1,o=t[a];null!==o&&!ms(o)&&(n?o<=e:o<e)?r=a+1:i=a}return i}return li(t,e,Ec,n)}function li(t,e,n,r){e=n(e);for(var i=0,a=null==t?0:t.length,o=e!==e,u=null===e,s=ms(e),c=e===nt;i<a;){var l=Bl((i+a)/2),d=n(t[l]),h=d!==nt,f=null===d,_=d===d,p=ms(d);if(o)var m=r||_;else m=c?_&&(r||h):u?_&&h&&(r||!f):s?_&&h&&!f&&(r||!p):!f&&!p&&(r?d<=e:d<e);m?i=l+1:a=l}return $l(a,Ht)}function di(t,e){for(var n=-1,r=t.length,i=0,a=[];++n<r;){var o=t[n],u=e?e(o):o;if(!n||!Uu(u,s)){var s=u;a[i++]=0===o?0:o}}return a}function hi(t){return"number"==typeof t?t:ms(t)?Ct:+t}function fi(t){if("string"==typeof t)return t;if(mh(t))return f(t,fi)+"";if(ms(t))return hd?hd.call(t):"";var e=t+"";return"0"==e&&1/t==-Et?"-0":e}function _i(t,e,n){var r=-1,i=d,a=t.length,o=!0,u=[],s=u;if(n)o=!1,i=h;else if(a>=rt){var c=e?null:Ld(t);if(c)return V(c);o=!1,i=H,s=new yn}else s=e?[]:u;t:for(;++r<a;){var l=t[r],f=e?e(l):l;if(l=n||0!==l?l:0,o&&f===f){for(var _=s.length;_--;)if(s[_]===f)continue t;e&&s.push(f),u.push(l)}else i(s,f,n)||(s!==u&&s.push(f),u.push(l))}return u}function pi(t,e){return e=ki(e,t),null==(t=Va(t,e))||delete t[Xa(bo(e))]}function mi(t,e,n,r){return ai(t,e,n(mr(t,e)),r)}function yi(t,e,n,r){for(var i=t.length,a=r?i:-1;(r?a--:++a<i)&&e(t[a],a,t););return n?ui(t,r?0:a,r?a+1:i):ui(t,r?a+1:0,r?i:a)}function gi(t,e){var n=t;return n instanceof J&&(n=n.value()),p(e,function(t,e){return e.func.apply(e.thisArg,_([t],e.args))},n)}function vi(t,e,n){var r=t.length;if(r<2)return r?_i(t[0]):[];for(var i=-1,a=nl(r);++i<r;)for(var o=t[i],u=-1;++u<r;)u!=i&&(a[i]=ur(a[i]||o,t[u],e,n));return _i(hr(a,1),e,n)}function Mi(t,e,n){for(var r=-1,i=t.length,a=e.length,o={};++r<i;){var u=r<a?e[r]:nt;n(o,t[r],u)}return o}function bi(t){return Vu(t)?t:[]}function Li(t){return"function"==typeof t?t:Ec}function ki(t,e){return mh(t)?t:Oa(t,e)?[t]:Sd(Ys(t))}function wi(t,e,n){var r=t.length;return n=n===nt?r:n,!e&&n>=r?t:ui(t,e,n)}function Di(t,e){if(e)return t.slice();var n=t.length,r=xl?xl(n):new t.constructor(n);return t.copy(r),r}function xi(t){var e=new t.constructor(t.byteLength);return new Dl(e).set(new Dl(t)),e}function Yi(t,e){var n=e?xi(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}function Ti(t,e,n){return p(e?n(q(t),ct):q(t),r,new t.constructor)}function Ai(t){var e=new t.constructor(t.source,Re.exec(t));return e.lastIndex=t.lastIndex,e}function Ei(t,e,n){return p(e?n(V(t),ct):V(t),i,new t.constructor)}function Si(t){return dd?ul(dd.call(t)):{}}function Fi(t,e){var n=e?xi(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}function Ci(t,e){if(t!==e){var n=t!==nt,r=null===t,i=t===t,a=ms(t),o=e!==nt,u=null===e,s=e===e,c=ms(e);if(!u&&!c&&!a&&t>e||a&&o&&s&&!u&&!c||r&&o&&s||!n&&s||!i)return 1;if(!r&&!a&&!c&&t<e||c&&n&&i&&!r&&!a||u&&n&&i||!o&&i||!s)return-1}return 0}function ji(t,e,n){for(var r=-1,i=t.criteria,a=e.criteria,o=i.length,u=n.length;++r<o;){var s=Ci(i[r],a[r]);if(s){if(r>=u)return s;return s*("desc"==n[r]?-1:1)}}return t.index-e.index}function Hi(t,e,n,r){for(var i=-1,a=t.length,o=n.length,u=-1,s=e.length,c=Ul(a-o,0),l=nl(s+c),d=!r;++u<s;)l[u]=e[u];for(;++i<o;)(d||i<a)&&(l[n[i]]=t[i]);for(;c--;)l[u++]=t[i++];return l}function Oi(t,e,n,r){for(var i=-1,a=t.length,o=-1,u=n.length,s=-1,c=e.length,l=Ul(a-u,0),d=nl(l+c),h=!r;++i<l;)d[i]=t[i];for(var f=i;++s<c;)d[f+s]=e[s];for(;++o<u;)(h||i<a)&&(d[f+n[o]]=t[i++]);return d}function Pi(t,e){var n=-1,r=t.length;for(e||(e=nl(r));++n<r;)e[n]=t[n];return e}function Ni(t,e,n,r){var i=!n;n||(n={});for(var a=-1,o=e.length;++a<o;){var u=e[a],s=r?r(n[u],t[u],u,n,t):nt;s===nt&&(s=t[u]),i?tr(n,u,s):Jn(n,u,s)}return n}function Bi(t,e){return Ni(t,wd(t),e)}function Ii(t,e){return Ni(t,Dd(t),e)}function Ri(t,e){return function(n,r){var i=mh(n)?o:Kn,a=e?e():{};return i(n,t,ba(r,2),a)}}function Wi(t){return ni(function(e,n){var r=-1,i=n.length,a=i>1?n[i-1]:nt,o=i>2?n[2]:nt;for(a=t.length>3&&"function"==typeof a?(i--,a):nt,o&&Ha(n[0],n[1],o)&&(a=i<3?nt:a,i=1),e=ul(e);++r<i;){var u=n[r];u&&t(e,u,r,a)}return e})}function zi(t,e){return function(n,r){if(null==n)return n;if(!$u(n))return t(n,r);for(var i=n.length,a=e?i:-1,o=ul(n);(e?a--:++a<i)&&!1!==r(o[a],a,o););return n}}function qi(t){return function(e,n,r){for(var i=-1,a=ul(e),o=r(e),u=o.length;u--;){var s=o[t?u:++i];if(!1===n(a[s],s,a))break}return e}}function Ui(t,e,n){function r(){return(this&&this!==Sn&&this instanceof r?a:t).apply(i?n:this,arguments)}var i=e&_t,a=Gi(t);return r}function $i(t){return function(e){e=Ys(e);var n=R(e)?X(e):nt,r=n?n[0]:e.charAt(0),i=n?wi(n,1).join(""):e.slice(1);return r[t]()+i}}function Vi(t){return function(e){return p(Dc(ac(e).replace(fn,"")),t,"")}}function Gi(t){return function(){var e=arguments;switch(e.length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3]);case 5:return new t(e[0],e[1],e[2],e[3],e[4]);case 6:return new t(e[0],e[1],e[2],e[3],e[4],e[5]);case 7:return new t(e[0],e[1],e[2],e[3],e[4],e[5],e[6])}var n=fd(t.prototype),r=t.apply(n,e);return is(r)?r:n}}function Ji(t,e,n){function r(){for(var o=arguments.length,u=nl(o),s=o,c=Ma(r);s--;)u[s]=arguments[s];var l=o<3&&u[0]!==c&&u[o-1]!==c?[]:$(u,c);return(o-=l.length)<n?oa(t,e,Xi,r.placeholder,nt,u,l,nt,nt,n-o):a(this&&this!==Sn&&this instanceof r?i:t,this,u)}var i=Gi(t);return r}function Zi(t){return function(e,n,r){var i=ul(e);if(!$u(e)){var a=ba(n,3);e=Is(e),n=function(t){return a(i[t],t,i)}}var o=t(e,n,r);return o>-1?i[a?e[o]:o]:nt}}function Ki(t){return ma(function(e){var n=e.length,r=n,i=Y.prototype.thru;for(t&&e.reverse();r--;){var a=e[r];if("function"!=typeof a)throw new ll(at);if(i&&!o&&"wrapper"==va(a))var o=new Y([],!0)}for(r=o?r:n;++r<n;){a=e[r];var u=va(a),s="wrapper"==u?kd(a):nt;o=s&&Na(s[0])&&s[1]==(bt|yt|vt|Lt)&&!s[4].length&&1==s[9]?o[va(s[0])].apply(o,s[3]):1==a.length&&Na(a)?o[u]():o.thru(a)}return function(){var t=arguments,r=t[0];if(o&&1==t.length&&mh(r))return o.plant(r).value();for(var i=0,a=n?e[i].apply(this,t):r;++i<n;)a=e[i].call(this,a);return a}})}function Xi(t,e,n,r,i,a,o,u,s,c){function l(){for(var y=arguments.length,g=nl(y),v=y;v--;)g[v]=arguments[v];if(_)var M=Ma(l),b=N(g,M);if(r&&(g=Hi(g,r,i,_)),a&&(g=Oi(g,a,o,_)),y-=b,_&&y<c){var L=$(g,M);return oa(t,e,Xi,l.placeholder,n,g,L,u,s,c-y)}var k=h?n:this,w=f?k[t]:t;return y=g.length,u?g=Ga(g,u):p&&y>1&&g.reverse(),d&&s<y&&(g.length=s),this&&this!==Sn&&this instanceof l&&(w=m||Gi(w)),w.apply(k,g)}var d=e&bt,h=e&_t,f=e&pt,_=e&(yt|gt),p=e&kt,m=f?nt:Gi(t);return l}function Qi(t,e){return function(n,r){return wr(n,t,e(r),{})}}function ta(t,e){return function(n,r){var i;if(n===nt&&r===nt)return e;if(n!==nt&&(i=n),r!==nt){if(i===nt)return r;"string"==typeof n||"string"==typeof r?(n=fi(n),r=fi(r)):(n=hi(n),r=hi(r)),i=t(n,r)}return i}}function ea(t){return ma(function(e){return e=f(e,C(ba())),ni(function(n){var r=this;return t(e,function(t){return a(t,r,n)})})})}function na(t,e){e=e===nt?" ":fi(e);var n=e.length;if(n<2)return n?ei(e,t):e;var r=ei(e,Nl(t/K(e)));return R(e)?wi(X(r),0,t).join(""):r.slice(0,t)}function ra(t,e,n,r){function i(){for(var e=-1,s=arguments.length,c=-1,l=r.length,d=nl(l+s),h=this&&this!==Sn&&this instanceof i?u:t;++c<l;)d[c]=r[c];for(;s--;)d[c++]=arguments[++e];return a(h,o?n:this,d)}var o=e&_t,u=Gi(t);return i}function ia(t){return function(e,n,r){return r&&"number"!=typeof r&&Ha(e,n,r)&&(n=r=nt),e=bs(e),n===nt?(n=e,e=0):n=bs(n),r=r===nt?e<n?1:-1:bs(r),ti(e,n,r,t)}}function aa(t){return function(e,n){return"string"==typeof e&&"string"==typeof n||(e=ws(e),n=ws(n)),t(e,n)}}function oa(t,e,n,r,i,a,o,u,s,c){var l=e&yt,d=l?o:nt,h=l?nt:o,f=l?a:nt,_=l?nt:a;e|=l?vt:Mt,(e&=~(l?Mt:vt))&mt||(e&=~(_t|pt));var p=[t,e,i,f,d,_,h,u,s,c],m=n.apply(nt,p);return Na(t)&&Td(m,p),m.placeholder=r,Ja(m,t,e)}function ua(t){var e=ol[t];return function(t,n){if(t=ws(t),n=null==n?0:$l(Ls(n),292)){var r=(Ys(t)+"e").split("e");return r=(Ys(e(r[0]+"e"+(+r[1]+n)))+"e").split("e"),+(r[0]+"e"+(+r[1]-n))}return e(t)}}function sa(t){return function(e){var n=xd(e);return n==Vt?q(e):n==Qt?G(e):F(e,t(e))}}function ca(t,e,n,r,i,a,o,u){var s=e&pt;if(!s&&"function"!=typeof t)throw new ll(at);var c=r?r.length:0;if(c||(e&=~(vt|Mt),r=i=nt),o=o===nt?o:Ul(Ls(o),0),u=u===nt?u:Ls(u),c-=i?i.length:0,e&Mt){var l=r,d=i;r=i=nt}var h=s?nt:kd(t),f=[t,e,n,r,i,l,d,a,o,u];if(h&&za(f,h),t=f[0],e=f[1],n=f[2],r=f[3],i=f[4],u=f[9]=f[9]===nt?s?0:t.length:Ul(f[9]-c,0),!u&&e&(yt|gt)&&(e&=~(yt|gt)),e&&e!=_t)_=e==yt||e==gt?Ji(t,e,u):e!=vt&&e!=(_t|vt)||i.length?Xi.apply(nt,f):ra(t,e,n,r);else var _=Ui(t,e,n);return Ja((h?gd:Td)(_,f),t,e)}function la(t,e,n,r){return t===nt||Uu(t,fl[n])&&!ml.call(r,n)?e:t}function da(t,e,n,r,i,a){return is(t)&&is(e)&&(a.set(e,t),qr(t,e,nt,da,a),a.delete(e)),t}function ha(t){return fs(t)?nt:t}function fa(t,e,n,r,i,a){var o=n&ht,u=t.length,s=e.length;if(u!=s&&!(o&&s>u))return!1;var c=a.get(t);if(c&&a.get(e))return c==e;var l=-1,d=!0,h=n&ft?new yn:nt;for(a.set(t,e),a.set(e,t);++l<u;){var f=t[l],_=e[l];if(r)var p=o?r(_,f,l,e,t,a):r(f,_,l,t,e,a);if(p!==nt){if(p)continue;d=!1;break}if(h){if(!y(e,function(t,e){if(!H(h,e)&&(f===t||i(f,t,n,r,a)))return h.push(e)})){d=!1;break}}else if(f!==_&&!i(f,_,n,r,a)){d=!1;break}}return a.delete(t),a.delete(e),d}function _a(t,e,n,r,i,a,o){switch(n){case oe:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case ae:return!(t.byteLength!=e.byteLength||!a(new Dl(t),new Dl(e)));case Rt:case Wt:case Gt:return Uu(+t,+e);case qt:return t.name==e.name&&t.message==e.message;case Xt:case te:return t==e+"";case Vt:var u=q;case Qt:var s=r&ht;if(u||(u=V),t.size!=e.size&&!s)return!1;var c=o.get(t);if(c)return c==e;r|=ft,o.set(t,e);var l=fa(u(t),u(e),r,i,a,o);return o.delete(t),l;case ee:if(dd)return dd.call(t)==dd.call(e)}return!1}function pa(t,e,n,r,i,a){var o=n&ht,u=ya(t),s=u.length;if(s!=ya(e).length&&!o)return!1;for(var c=s;c--;){var l=u[c];if(!(o?l in e:ml.call(e,l)))return!1}var d=a.get(t);if(d&&a.get(e))return d==e;var h=!0;a.set(t,e),a.set(e,t);for(var f=o;++c<s;){l=u[c];var _=t[l],p=e[l];if(r)var m=o?r(p,_,l,e,t,a):r(_,p,l,t,e,a);if(!(m===nt?_===p||i(_,p,n,r,a):m)){h=!1;break}f||(f="constructor"==l)}if(h&&!f){var y=t.constructor,g=e.constructor;y!=g&&"constructor"in t&&"constructor"in e&&!("function"==typeof y&&y instanceof y&&"function"==typeof g&&g instanceof g)&&(h=!1)}return a.delete(t),a.delete(e),h}function ma(t){return Ed($a(t,nt,fo),t+"")}function ya(t){return yr(t,Is,wd)}function ga(t){return yr(t,Rs,Dd)}function va(t){for(var e=t.name+"",n=id[e],r=ml.call(id,e)?n.length:0;r--;){var i=n[r],a=i.func;if(null==a||a==t)return i.name}return e}function Ma(t){return(ml.call(n,"placeholder")?n:t).placeholder}function ba(){var t=n.iteratee||Sc;return t=t===Sc?Pr:t,arguments.length?t(arguments[0],arguments[1]):t}function La(t,e){var n=t.__data__;return Pa(e)?n["string"==typeof e?"string":"hash"]:n.map}function ka(t){for(var e=Is(t),n=e.length;n--;){var r=e[n],i=t[r];e[n]=[r,i,Ra(i)]}return e}function wa(t,e){var n=I(t,e);return Cr(n)?n:nt}function Da(t){var e=ml.call(t,Cl),n=t[Cl];try{t[Cl]=nt;var r=!0}catch(t){}var i=vl.call(t);return r&&(e?t[Cl]=n:delete t[Cl]),i}function xa(t,e,n){for(var r=-1,i=n.length;++r<i;){var a=n[r],o=a.size;switch(a.type){case"drop":t+=o;break;case"dropRight":e-=o;break;case"take":e=$l(e,t+o);break;case"takeRight":t=Ul(t,e-o)}}return{start:t,end:e}}function Ya(t){var e=t.match(Oe);return e?e[1].split(Pe):[]}function Ta(t,e,n){e=ki(e,t);for(var r=-1,i=e.length,a=!1;++r<i;){var o=Xa(e[r]);if(!(a=null!=t&&n(t,o)))break;t=t[o]}return a||++r!=i?a:!!(i=null==t?0:t.length)&&rs(i)&&ja(o,i)&&(mh(t)||ph(t))}function Aa(t){var e=t.length,n=t.constructor(e);return e&&"string"==typeof t[0]&&ml.call(t,"index")&&(n.index=t.index,n.input=t.input),n}function Ea(t){return"function"!=typeof t.constructor||Ia(t)?{}:fd(Yl(t))}function Sa(t,e,n,r){var i=t.constructor;switch(e){case ae:return xi(t);case Rt:case Wt:return new i(+t);case oe:return Yi(t,r);case ue:case se:case ce:case le:case de:case he:case fe:case _e:case pe:return Fi(t,r);case Vt:return Ti(t,r,n);case Gt:case te:return new i(t);case Xt:return Ai(t);case Qt:return Ei(t,r,n);case ee:return Si(t)}}function Fa(t,e){var n=e.length;if(!n)return t;var r=n-1;return e[r]=(n>1?"& ":"")+e[r],e=e.join(n>2?", ":" "),t.replace(He,"{\n/* [wrapped with "+e+"] */\n")}function Ca(t){return mh(t)||ph(t)||!!(Sl&&t&&t[Sl])}function ja(t,e){return!!(e=null==e?St:e)&&("number"==typeof t||$e.test(t))&&t>-1&&t%1==0&&t<e}function Ha(t,e,n){if(!is(n))return!1;var r=typeof e;return!!("number"==r?$u(n)&&ja(e,n.length):"string"==r&&e in n)&&Uu(n[e],t)}function Oa(t,e){if(mh(t))return!1;var n=typeof t;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=t&&!ms(t))||(Ye.test(t)||!xe.test(t)||null!=e&&t in ul(e))}function Pa(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t}function Na(t){var e=va(t),r=n[e];if("function"!=typeof r||!(e in J.prototype))return!1;if(t===r)return!0;var i=kd(r);return!!i&&t===i[0]}function Ba(t){return!!gl&&gl in t}function Ia(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||fl)}function Ra(t){return t===t&&!is(t)}function Wa(t,e){return function(n){return null!=n&&(n[t]===e&&(e!==nt||t in ul(n)))}}function za(t,e){var n=t[1],r=e[1],i=n|r,a=i<(_t|pt|bt),o=r==bt&&n==yt||r==bt&&n==Lt&&t[7].length<=e[8]||r==(bt|Lt)&&e[7].length<=e[8]&&n==yt;if(!a&&!o)return t;r&_t&&(t[2]=e[2],i|=n&_t?0:mt);var u=e[3];if(u){var s=t[3];t[3]=s?Hi(s,u,e[4]):u,t[4]=s?$(t[3],st):e[4]}return u=e[5],u&&(s=t[5],t[5]=s?Oi(s,u,e[6]):u,t[6]=s?$(t[5],st):e[6]),u=e[7],u&&(t[7]=u),r&bt&&(t[8]=null==t[8]?e[8]:$l(t[8],e[8])),null==t[9]&&(t[9]=e[9]),t[0]=e[0],t[1]=i,t}function qa(t){var e=[];if(null!=t)for(var n in ul(t))e.push(n);return e}function Ua(t){return vl.call(t)}function $a(t,e,n){return e=Ul(e===nt?t.length-1:e,0),function(){for(var r=arguments,i=-1,o=Ul(r.length-e,0),u=nl(o);++i<o;)u[i]=r[e+i];i=-1;for(var s=nl(e+1);++i<e;)s[i]=r[i];return s[e]=n(u),a(t,this,s)}}function Va(t,e){return e.length<2?t:mr(t,ui(e,0,-1))}function Ga(t,e){for(var n=t.length,r=$l(e.length,n),i=Pi(t);r--;){var a=e[r];t[r]=ja(a,n)?i[a]:nt}return t}function Ja(t,e,n){var r=e+"";return Ed(t,Fa(r,to(Ya(r),n)))}function Za(t){var e=0,n=0;return function(){var r=Vl(),i=Yt-(r-n);if(n=r,i>0){if(++e>=xt)return arguments[0]}else e=0;return t.apply(nt,arguments)}}function Ka(t,e){var n=-1,r=t.length,i=r-1;for(e=e===nt?r:e;++n<e;){var a=Qr(n,i),o=t[a];t[a]=t[n],t[n]=o}return t.length=e,t}function Xa(t){if("string"==typeof t||ms(t))return t;var e=t+"";return"0"==e&&1/t==-Et?"-0":e}function Qa(t){if(null!=t){try{return pl.call(t)}catch(t){}try{return t+""}catch(t){}}return""}function to(t,e){return u(Pt,function(n){var r="_."+n[0];e&n[1]&&!d(t,r)&&t.push(r)}),t.sort()}function eo(t){if(t instanceof J)return t.clone();var e=new Y(t.__wrapped__,t.__chain__);return e.__actions__=Pi(t.__actions__),e.__index__=t.__index__,e.__values__=t.__values__,e}function no(t,e,n){e=(n?Ha(t,e,n):e===nt)?1:Ul(Ls(e),0);var r=null==t?0:t.length;if(!r||e<1)return[];for(var i=0,a=0,o=nl(Nl(r/e));i<r;)o[a++]=ui(t,i,i+=e);return o}function ro(t){for(var e=-1,n=null==t?0:t.length,r=0,i=[];++e<n;){var a=t[e];a&&(i[r++]=a)}return i}function io(){var t=arguments.length;if(!t)return[];for(var e=nl(t-1),n=arguments[0],r=t;r--;)e[r-1]=arguments[r];return _(mh(n)?Pi(n):[n],hr(e,1))}function ao(t,e,n){var r=null==t?0:t.length;return r?(e=n||e===nt?1:Ls(e),ui(t,e<0?0:e,r)):[]}function oo(t,e,n){var r=null==t?0:t.length;return r?(e=n||e===nt?1:Ls(e),e=r-e,ui(t,0,e<0?0:e)):[]}function uo(t,e){return t&&t.length?yi(t,ba(e,3),!0,!0):[]}function so(t,e){return t&&t.length?yi(t,ba(e,3),!0):[]}function co(t,e,n,r){var i=null==t?0:t.length;return i?(n&&"number"!=typeof n&&Ha(t,e,n)&&(n=0,r=i),lr(t,e,n,r)):[]}function lo(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var i=null==n?0:Ls(n);return i<0&&(i=Ul(r+i,0)),b(t,ba(e,3),i)}function ho(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var i=r-1;return n!==nt&&(i=Ls(n),i=n<0?Ul(r+i,0):$l(i,r-1)),b(t,ba(e,3),i,!0)}function fo(t){return(null==t?0:t.length)?hr(t,1):[]}function _o(t){return(null==t?0:t.length)?hr(t,Et):[]}function po(t,e){return(null==t?0:t.length)?(e=e===nt?1:Ls(e),hr(t,e)):[]}function mo(t){for(var e=-1,n=null==t?0:t.length,r={};++e<n;){var i=t[e];r[i[0]]=i[1]}return r}function yo(t){return t&&t.length?t[0]:nt}function go(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var i=null==n?0:Ls(n);return i<0&&(i=Ul(r+i,0)),L(t,e,i)}function vo(t){return(null==t?0:t.length)?ui(t,0,-1):[]}function Mo(t,e){return null==t?"":zl.call(t,e)}function bo(t){var e=null==t?0:t.length;return e?t[e-1]:nt}function Lo(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var i=r;return n!==nt&&(i=Ls(n),i=i<0?Ul(r+i,0):$l(i,r-1)),e===e?Z(t,e,i):b(t,w,i,!0)}function ko(t,e){return t&&t.length?$r(t,Ls(e)):nt}function wo(t,e){return t&&t.length&&e&&e.length?Kr(t,e):t}function Do(t,e,n){return t&&t.length&&e&&e.length?Kr(t,e,ba(n,2)):t}function xo(t,e,n){return t&&t.length&&e&&e.length?Kr(t,e,nt,n):t}function Yo(t,e){var n=[];if(!t||!t.length)return n;var r=-1,i=[],a=t.length;for(e=ba(e,3);++r<a;){var o=t[r];e(o,r,t)&&(n.push(o),i.push(r))}return Xr(t,i),n}function To(t){return null==t?t:Zl.call(t)}function Ao(t,e,n){var r=null==t?0:t.length;return r?(n&&"number"!=typeof n&&Ha(t,e,n)?(e=0,n=r):(e=null==e?0:Ls(e),n=n===nt?r:Ls(n)),ui(t,e,n)):[]}function Eo(t,e){return ci(t,e)}function So(t,e,n){return li(t,e,ba(n,2))}function Fo(t,e){var n=null==t?0:t.length;if(n){var r=ci(t,e);if(r<n&&Uu(t[r],e))return r}return-1}function Co(t,e){return ci(t,e,!0)}function jo(t,e,n){return li(t,e,ba(n,2),!0)}function Ho(t,e){if(null==t?0:t.length){var n=ci(t,e,!0)-1;if(Uu(t[n],e))return n}return-1}function Oo(t){return t&&t.length?di(t):[]}function Po(t,e){return t&&t.length?di(t,ba(e,2)):[]}function No(t){var e=null==t?0:t.length;return e?ui(t,1,e):[]}function Bo(t,e,n){return t&&t.length?(e=n||e===nt?1:Ls(e),ui(t,0,e<0?0:e)):[]}function Io(t,e,n){var r=null==t?0:t.length;return r?(e=n||e===nt?1:Ls(e),e=r-e,ui(t,e<0?0:e,r)):[]}function Ro(t,e){return t&&t.length?yi(t,ba(e,3),!1,!0):[]}function Wo(t,e){return t&&t.length?yi(t,ba(e,3)):[]}function zo(t){return t&&t.length?_i(t):[]}function qo(t,e){return t&&t.length?_i(t,ba(e,2)):[]}function Uo(t,e){return e="function"==typeof e?e:nt,t&&t.length?_i(t,nt,e):[]}function $o(t){if(!t||!t.length)return[];var e=0;return t=l(t,function(t){if(Vu(t))return e=Ul(t.length,e),!0}),S(e,function(e){return f(t,x(e))})}function Vo(t,e){if(!t||!t.length)return[];var n=$o(t);return null==e?n:f(n,function(t){return a(e,nt,t)})}function Go(t,e){return Mi(t||[],e||[],Jn)}function Jo(t,e){return Mi(t||[],e||[],ai)}function Zo(t){var e=n(t);return e.__chain__=!0,e}function Ko(t,e){return e(t),t}function Xo(t,e){return e(t)}function Qo(){return Zo(this)}function tu(){return new Y(this.value(),this.__chain__)}function eu(){this.__values__===nt&&(this.__values__=Ms(this.value()));var t=this.__index__>=this.__values__.length;return{done:t,value:t?nt:this.__values__[this.__index__++]}}function nu(){return this}function ru(t){for(var e,n=this;n instanceof g;){var r=eo(n);r.__index__=0,r.__values__=nt,e?i.__wrapped__=r:e=r;var i=r;n=n.__wrapped__}return i.__wrapped__=t,e}function iu(){var t=this.__wrapped__;if(t instanceof J){var e=t;return this.__actions__.length&&(e=new J(this)),e=e.reverse(),e.__actions__.push({func:Xo,args:[To],thisArg:nt}),new Y(e,this.__chain__)}return this.thru(To)}function au(){return gi(this.__wrapped__,this.__actions__)}function ou(t,e,n){var r=mh(t)?c:sr;return n&&Ha(t,e,n)&&(e=nt),r(t,ba(e,3))}function uu(t,e){return(mh(t)?l:dr)(t,ba(e,3))}function su(t,e){return hr(_u(t,e),1)}function cu(t,e){return hr(_u(t,e),Et)}function lu(t,e,n){return n=n===nt?1:Ls(n),hr(_u(t,e),n)}function du(t,e){return(mh(t)?u:_d)(t,ba(e,3))}function hu(t,e){return(mh(t)?s:pd)(t,ba(e,3))}function fu(t,e,n,r){t=$u(t)?t:Qs(t),n=n&&!r?Ls(n):0;var i=t.length;return n<0&&(n=Ul(i+n,0)),ps(t)?n<=i&&t.indexOf(e,n)>-1:!!i&&L(t,e,n)>-1}function _u(t,e){return(mh(t)?f:Rr)(t,ba(e,3))}function pu(t,e,n,r){return null==t?[]:(mh(e)||(e=null==e?[]:[e]),n=r?nt:n,mh(n)||(n=null==n?[]:[n]),Vr(t,e,n))}function mu(t,e,n){var r=mh(t)?p:T,i=arguments.length<3;return r(t,ba(e,4),n,i,_d)}function yu(t,e,n){var r=mh(t)?m:T,i=arguments.length<3;return r(t,ba(e,4),n,i,pd)}function gu(t,e){return(mh(t)?l:dr)(t,Fu(ba(e,3)))}function vu(t){return(mh(t)?Hn:ri)(t)}function Mu(t,e,n){return e=(n?Ha(t,e,n):e===nt)?1:Ls(e),(mh(t)?On:ii)(t,e)}function bu(t){return(mh(t)?zn:oi)(t)}function Lu(t){if(null==t)return 0;if($u(t))return ps(t)?K(t):t.length;var e=xd(t);return e==Vt||e==Qt?t.size:Nr(t).length}function ku(t,e,n){var r=mh(t)?y:si;return n&&Ha(t,e,n)&&(e=nt),r(t,ba(e,3))}function wu(t,e){if("function"!=typeof e)throw new ll(at);return t=Ls(t),function(){if(--t<1)return e.apply(this,arguments)}}function Du(t,e,n){return e=n?nt:e,e=t&&null==e?t.length:e,ca(t,bt,nt,nt,nt,nt,e)}function xu(t,e){var n;if("function"!=typeof e)throw new ll(at);return t=Ls(t),function(){return--t>0&&(n=e.apply(this,arguments)),t<=1&&(e=nt),n}}function Yu(t,e,n){e=n?nt:e;var r=ca(t,yt,nt,nt,nt,nt,nt,e);return r.placeholder=Yu.placeholder,r}function Tu(t,e,n){e=n?nt:e;var r=ca(t,gt,nt,nt,nt,nt,nt,e);return r.placeholder=Tu.placeholder,r}function Au(t,e,n){function r(e){var n=h,r=f;return h=f=nt,g=e,p=t.apply(r,n)}function i(t){return g=t,m=Ad(u,e),v?r(t):p}function a(t){var n=t-y,r=t-g,i=e-n;return M?$l(i,_-r):i}function o(t){var n=t-y,r=t-g;return y===nt||n>=e||n<0||M&&r>=_}function u(){var t=ih();if(o(t))return s(t);m=Ad(u,a(t))}function s(t){return m=nt,b&&h?r(t):(h=f=nt,p)}function c(){m!==nt&&bd(m),g=0,h=y=f=m=nt}function l(){return m===nt?p:s(ih())}function d(){var t=ih(),n=o(t);if(h=arguments,f=this,y=t,n){if(m===nt)return i(y);if(M)return m=Ad(u,e),r(y)}return m===nt&&(m=Ad(u,e)),p}var h,f,_,p,m,y,g=0,v=!1,M=!1,b=!0;if("function"!=typeof t)throw new ll(at);return e=ws(e)||0,is(n)&&(v=!!n.leading,M="maxWait"in n,_=M?Ul(ws(n.maxWait)||0,e):_,b="trailing"in n?!!n.trailing:b),d.cancel=c,d.flush=l,d}function Eu(t){return ca(t,kt)}function Su(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new ll(at);var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],a=n.cache;if(a.has(i))return a.get(i);var o=t.apply(this,r);return n.cache=a.set(i,o)||a,o};return n.cache=new(Su.Cache||cn),n}function Fu(t){if("function"!=typeof t)throw new ll(at);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}function Cu(t){return xu(2,t)}function ju(t,e){if("function"!=typeof t)throw new ll(at);return e=e===nt?e:Ls(e),ni(t,e)}function Hu(t,e){if("function"!=typeof t)throw new ll(at);return e=null==e?0:Ul(Ls(e),0),ni(function(n){var r=n[e],i=wi(n,0,e);return r&&_(i,r),a(t,this,i)})}function Ou(t,e,n){var r=!0,i=!0;if("function"!=typeof t)throw new ll(at);return is(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),Au(t,e,{leading:r,maxWait:e,trailing:i})}function Pu(t){return Du(t,1)}function Nu(t,e){return lh(Li(e),t)}function Bu(){if(!arguments.length)return[];var t=arguments[0];return mh(t)?t:[t]}function Iu(t){return rr(t,dt)}function Ru(t,e){return e="function"==typeof e?e:nt,rr(t,dt,e)}function Wu(t){return rr(t,ct|dt)}function zu(t,e){return e="function"==typeof e?e:nt,rr(t,ct|dt,e)}function qu(t,e){return null==e||ar(t,e,Is(e))}function Uu(t,e){return t===e||t!==t&&e!==e}function $u(t){return null!=t&&rs(t.length)&&!es(t)}function Vu(t){return as(t)&&$u(t)}function Gu(t){return!0===t||!1===t||as(t)&&gr(t)==Rt}function Ju(t){return as(t)&&1===t.nodeType&&!fs(t)}function Zu(t){if(null==t)return!0;if($u(t)&&(mh(t)||"string"==typeof t||"function"==typeof t.splice||gh(t)||kh(t)||ph(t)))return!t.length;var e=xd(t);if(e==Vt||e==Qt)return!t.size;if(Ia(t))return!Nr(t).length;for(var n in t)if(ml.call(t,n))return!1;return!0}function Ku(t,e){return Ar(t,e)}function Xu(t,e,n){n="function"==typeof n?n:nt;var r=n?n(t,e):nt;return r===nt?Ar(t,e,nt,n):!!r}function Qu(t){if(!as(t))return!1;var e=gr(t);return e==qt||e==zt||"string"==typeof t.message&&"string"==typeof t.name&&!fs(t)}function ts(t){return"number"==typeof t&&Wl(t)}function es(t){if(!is(t))return!1;var e=gr(t);return e==Ut||e==$t||e==It||e==Kt}function ns(t){return"number"==typeof t&&t==Ls(t)}function rs(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=St}function is(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function as(t){return null!=t&&"object"==typeof t}function os(t,e){return t===e||Fr(t,e,ka(e))}function us(t,e,n){return n="function"==typeof n?n:nt,Fr(t,e,ka(e),n)}function ss(t){return hs(t)&&t!=+t}function cs(t){if(Yd(t))throw new il(it);return Cr(t)}function ls(t){return null===t}function ds(t){return null==t}function hs(t){return"number"==typeof t||as(t)&&gr(t)==Gt}function fs(t){if(!as(t)||gr(t)!=Zt)return!1;var e=Yl(t);if(null===e)return!0;var n=ml.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&pl.call(n)==Ml}function _s(t){return ns(t)&&t>=-St&&t<=St}function ps(t){return"string"==typeof t||!mh(t)&&as(t)&&gr(t)==te}function ms(t){return"symbol"==typeof t||as(t)&&gr(t)==ee}function ys(t){return t===nt}function gs(t){return as(t)&&xd(t)==re}function vs(t){return as(t)&&gr(t)==ie}function Ms(t){if(!t)return[];if($u(t))return ps(t)?X(t):Pi(t);if(Fl&&t[Fl])return z(t[Fl]());var e=xd(t);return(e==Vt?q:e==Qt?V:Qs)(t)}function bs(t){if(!t)return 0===t?t:0;if((t=ws(t))===Et||t===-Et){return(t<0?-1:1)*Ft}return t===t?t:0}function Ls(t){var e=bs(t),n=e%1;return e===e?n?e-n:e:0}function ks(t){return t?nr(Ls(t),0,jt):0}function ws(t){if("number"==typeof t)return t;if(ms(t))return Ct;if(is(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=is(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(Fe,"");var n=ze.test(t);return n||Ue.test(t)?Tn(t.slice(2),n?2:8):We.test(t)?Ct:+t}function Ds(t){return Ni(t,Rs(t))}function xs(t){return t?nr(Ls(t),-St,St):0===t?t:0}function Ys(t){return null==t?"":fi(t)}function Ts(t,e){var n=fd(t);return null==e?n:Xn(n,e)}function As(t,e){return M(t,ba(e,3),fr)}function Es(t,e){return M(t,ba(e,3),_r)}function Ss(t,e){return null==t?t:md(t,ba(e,3),Rs)}function Fs(t,e){return null==t?t:yd(t,ba(e,3),Rs)}function Cs(t,e){return t&&fr(t,ba(e,3))}function js(t,e){return t&&_r(t,ba(e,3))}function Hs(t){return null==t?[]:pr(t,Is(t))}function Os(t){return null==t?[]:pr(t,Rs(t))}function Ps(t,e,n){var r=null==t?nt:mr(t,e);return r===nt?n:r}function Ns(t,e){return null!=t&&Ta(t,e,Mr)}function Bs(t,e){return null!=t&&Ta(t,e,br)}function Is(t){return $u(t)?Cn(t):Nr(t)}function Rs(t){return $u(t)?Cn(t,!0):Br(t)}function Ws(t,e){var n={};return e=ba(e,3),fr(t,function(t,r,i){tr(n,e(t,r,i),t)}),n}function zs(t,e){var n={};return e=ba(e,3),fr(t,function(t,r,i){tr(n,r,e(t,r,i))}),n}function qs(t,e){return Us(t,Fu(ba(e)))}function Us(t,e){if(null==t)return{};var n=f(ga(t),function(t){return[t]});return e=ba(e),Jr(t,n,function(t,n){return e(t,n[0])})}function $s(t,e,n){e=ki(e,t);var r=-1,i=e.length;for(i||(i=1,t=nt);++r<i;){var a=null==t?nt:t[Xa(e[r])];a===nt&&(r=i,a=n),t=es(a)?a.call(t):a}return t}function Vs(t,e,n){return null==t?t:ai(t,e,n)}function Gs(t,e,n,r){return r="function"==typeof r?r:nt,null==t?t:ai(t,e,n,r)}function Js(t,e,n){var r=mh(t),i=r||gh(t)||kh(t);if(e=ba(e,4),null==n){var a=t&&t.constructor;n=i?r?new a:[]:is(t)&&es(a)?fd(Yl(t)):{}}return(i?u:fr)(t,function(t,r,i){return e(n,t,r,i)}),n}function Zs(t,e){return null==t||pi(t,e)}function Ks(t,e,n){return null==t?t:mi(t,e,Li(n))}function Xs(t,e,n,r){return r="function"==typeof r?r:nt,null==t?t:mi(t,e,Li(n),r)}function Qs(t){return null==t?[]:j(t,Is(t))}function tc(t){return null==t?[]:j(t,Rs(t))}function ec(t,e,n){return n===nt&&(n=e,e=nt),n!==nt&&(n=ws(n),n=n===n?n:0),e!==nt&&(e=ws(e),e=e===e?e:0),nr(ws(t),e,n)}function nc(t,e,n){return e=bs(e),n===nt?(n=e,e=0):n=bs(n),t=ws(t),Lr(t,e,n)}function rc(t,e,n){if(n&&"boolean"!=typeof n&&Ha(t,e,n)&&(e=n=nt),n===nt&&("boolean"==typeof e?(n=e,e=nt):"boolean"==typeof t&&(n=t,t=nt)),t===nt&&e===nt?(t=0,e=1):(t=bs(t),e===nt?(e=t,t=0):e=bs(e)),t>e){var r=t;t=e,e=r}if(n||t%1||e%1){var i=Jl();return $l(t+i*(e-t+Yn("1e-"+((i+"").length-1))),e)}return Qr(t,e)}function ic(t){return Jh(Ys(t).toLowerCase())}function ac(t){return(t=Ys(t))&&t.replace(Ve,qn).replace(_n,"")}function oc(t,e,n){t=Ys(t),e=fi(e);var r=t.length;n=n===nt?r:nr(Ls(n),0,r);var i=n;return(n-=e.length)>=0&&t.slice(n,i)==e}function uc(t){return t=Ys(t),t&&Le.test(t)?t.replace(Me,Un):t}function sc(t){return t=Ys(t),t&&Se.test(t)?t.replace(Ee,"\\$&"):t}function cc(t,e,n){t=Ys(t),e=Ls(e);var r=e?K(t):0;if(!e||r>=e)return t;var i=(e-r)/2;return na(Bl(i),n)+t+na(Nl(i),n)}function lc(t,e,n){t=Ys(t),e=Ls(e);var r=e?K(t):0;return e&&r<e?t+na(e-r,n):t}function dc(t,e,n){t=Ys(t),e=Ls(e);var r=e?K(t):0;return e&&r<e?na(e-r,n)+t:t}function hc(t,e,n){return n||null==e?e=0:e&&(e=+e),Gl(Ys(t).replace(Ce,""),e||0)}function fc(t,e,n){return e=(n?Ha(t,e,n):e===nt)?1:Ls(e),ei(Ys(t),e)}function _c(){var t=arguments,e=Ys(t[0]);return t.length<3?e:e.replace(t[1],t[2])}function pc(t,e,n){return n&&"number"!=typeof n&&Ha(t,e,n)&&(e=n=nt),(n=n===nt?jt:n>>>0)?(t=Ys(t),t&&("string"==typeof e||null!=e&&!bh(e))&&!(e=fi(e))&&R(t)?wi(X(t),0,n):t.split(e,n)):[]}function mc(t,e,n){return t=Ys(t),n=null==n?0:nr(Ls(n),0,t.length),e=fi(e),t.slice(n,n+e.length)==e}function yc(t,e,r){var i=n.templateSettings;r&&Ha(t,e,r)&&(e=nt),t=Ys(t),e=Th({},e,i,la);var a,o,u=Th({},e.imports,i.imports,la),s=Is(u),c=j(u,s),l=0,d=e.interpolate||Ge,h="__p += '",f=sl((e.escape||Ge).source+"|"+d.source+"|"+(d===De?Ie:Ge).source+"|"+(e.evaluate||Ge).source+"|$","g"),_="//# sourceURL="+("sourceURL"in e?e.sourceURL:"lodash.templateSources["+ ++Mn+"]")+"\n";t.replace(f,function(e,n,r,i,u,s){return r||(r=i),h+=t.slice(l,s).replace(Je,B),n&&(a=!0,h+="' +\n__e("+n+") +\n'"),u&&(o=!0,h+="';\n"+u+";\n__p += '"),r&&(h+="' +\n((__t = ("+r+")) == null ? '' : __t) +\n'"),l=s+e.length,e}),h+="';\n";var p=e.variable;p||(h="with (obj) {\n"+h+"\n}\n"),h=(o?h.replace(me,""):h).replace(ye,"$1").replace(ge,"$1;"),h="function("+(p||"obj")+") {\n"+(p?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(a?", __e = _.escape":"")+(o?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+h+"return __p\n}";var m=Zh(function(){return al(s,_+"return "+h).apply(nt,c)});if(m.source=h,Qu(m))throw m;return m}function gc(t){return Ys(t).toLowerCase()}function vc(t){return Ys(t).toUpperCase()}function Mc(t,e,n){if((t=Ys(t))&&(n||e===nt))return t.replace(Fe,"");if(!t||!(e=fi(e)))return t;var r=X(t),i=X(e);return wi(r,O(r,i),P(r,i)+1).join("")}function bc(t,e,n){if((t=Ys(t))&&(n||e===nt))return t.replace(je,"");if(!t||!(e=fi(e)))return t;var r=X(t);return wi(r,0,P(r,X(e))+1).join("")}function Lc(t,e,n){if((t=Ys(t))&&(n||e===nt))return t.replace(Ce,"");if(!t||!(e=fi(e)))return t;var r=X(t);return wi(r,O(r,X(e))).join("")}function kc(t,e){var n=wt,r=Dt;if(is(e)){var i="separator"in e?e.separator:i;n="length"in e?Ls(e.length):n,r="omission"in e?fi(e.omission):r}t=Ys(t);var a=t.length;if(R(t)){var o=X(t);a=o.length}if(n>=a)return t;var u=n-K(r);if(u<1)return r;var s=o?wi(o,0,u).join(""):t.slice(0,u);if(i===nt)return s+r;if(o&&(u+=s.length-u),bh(i)){if(t.slice(u).search(i)){var c,l=s;for(i.global||(i=sl(i.source,Ys(Re.exec(i))+"g")),i.lastIndex=0;c=i.exec(l);)var d=c.index;s=s.slice(0,d===nt?u:d)}}else if(t.indexOf(fi(i),u)!=u){var h=s.lastIndexOf(i);h>-1&&(s=s.slice(0,h))}return s+r}function wc(t){return t=Ys(t),t&&be.test(t)?t.replace(ve,$n):t}function Dc(t,e,n){return t=Ys(t),e=n?nt:e,e===nt?W(t)?et(t):v(t):t.match(e)||[]}function xc(t){var e=null==t?0:t.length,n=ba();return t=e?f(t,function(t){if("function"!=typeof t[1])throw new ll(at);return[n(t[0]),t[1]]}):[],ni(function(n){for(var r=-1;++r<e;){var i=t[r];if(a(i[0],this,n))return a(i[1],this,n)}})}function Yc(t){return ir(rr(t,ct))}function Tc(t){return function(){return t}}function Ac(t,e){return null==t||t!==t?e:t}function Ec(t){return t}function Sc(t){return Pr("function"==typeof t?t:rr(t,ct))}function Fc(t){return Wr(rr(t,ct))}function Cc(t,e){return zr(t,rr(e,ct))}function jc(t,e,n){var r=Is(e),i=pr(e,r);null!=n||is(e)&&(i.length||!r.length)||(n=e,e=t,t=this,i=pr(e,Is(e)));var a=!(is(n)&&"chain"in n&&!n.chain),o=es(t);return u(i,function(n){var r=e[n];t[n]=r,o&&(t.prototype[n]=function(){var e=this.__chain__;if(a||e){var n=t(this.__wrapped__);return(n.__actions__=Pi(this.__actions__)).push({func:r,args:arguments,thisArg:t}),n.__chain__=e,n}return r.apply(t,_([this.value()],arguments))})}),t}function Hc(){return Sn._===this&&(Sn._=bl),this}function Oc(){}function Pc(t){return t=Ls(t),ni(function(e){return $r(e,t)})}function Nc(t){return Oa(t)?x(Xa(t)):Zr(t)}function Bc(t){return function(e){return null==t?nt:mr(t,e)}}function Ic(){return[]}function Rc(){return!1}function Wc(){return{}}function zc(){return""}function qc(){return!0}function Uc(t,e){if((t=Ls(t))<1||t>St)return[];var n=jt,r=$l(t,jt);e=ba(e),t-=jt;for(var i=S(r,e);++n<t;)e(n);return i}function $c(t){return mh(t)?f(t,Xa):ms(t)?[t]:Pi(Sd(Ys(t)))}function Vc(t){var e=++yl;return Ys(t)+e}function Gc(t){return t&&t.length?cr(t,Ec,vr):nt}function Jc(t,e){return t&&t.length?cr(t,ba(e,2),vr):nt}function Zc(t){return D(t,Ec)}function Kc(t,e){return D(t,ba(e,2))}function Xc(t){return t&&t.length?cr(t,Ec,Ir):nt}function Qc(t,e){return t&&t.length?cr(t,ba(e,2),Ir):nt}function tl(t){return t&&t.length?E(t,Ec):0}function el(t,e){return t&&t.length?E(t,ba(e,2)):0}e=null==e?Sn:Vn.defaults(Sn.Object(),e,Vn.pick(Sn,vn));var nl=e.Array,rl=e.Date,il=e.Error,al=e.Function,ol=e.Math,ul=e.Object,sl=e.RegExp,cl=e.String,ll=e.TypeError,dl=nl.prototype,hl=al.prototype,fl=ul.prototype,_l=e["__core-js_shared__"],pl=hl.toString,ml=fl.hasOwnProperty,yl=0,gl=function(){var t=/[^.]+$/.exec(_l&&_l.keys&&_l.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}(),vl=fl.toString,Ml=pl.call(ul),bl=Sn._,Ll=sl("^"+pl.call(ml).replace(Ee,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),kl=jn?e.Buffer:nt,wl=e.Symbol,Dl=e.Uint8Array,xl=kl?kl.allocUnsafe:nt,Yl=U(ul.getPrototypeOf,ul),Tl=ul.create,Al=fl.propertyIsEnumerable,El=dl.splice,Sl=wl?wl.isConcatSpreadable:nt,Fl=wl?wl.iterator:nt,Cl=wl?wl.toStringTag:nt,jl=function(){try{var t=wa(ul,"defineProperty");return t({},"",{}),t}catch(t){}}(),Hl=e.clearTimeout!==Sn.clearTimeout&&e.clearTimeout,Ol=rl&&rl.now!==Sn.Date.now&&rl.now,Pl=e.setTimeout!==Sn.setTimeout&&e.setTimeout,Nl=ol.ceil,Bl=ol.floor,Il=ul.getOwnPropertySymbols,Rl=kl?kl.isBuffer:nt,Wl=e.isFinite,zl=dl.join,ql=U(ul.keys,ul),Ul=ol.max,$l=ol.min,Vl=rl.now,Gl=e.parseInt,Jl=ol.random,Zl=dl.reverse,Kl=wa(e,"DataView"),Xl=wa(e,"Map"),Ql=wa(e,"Promise"),td=wa(e,"Set"),ed=wa(e,"WeakMap"),nd=wa(ul,"create"),rd=ed&&new ed,id={},ad=Qa(Kl),od=Qa(Xl),ud=Qa(Ql),sd=Qa(td),cd=Qa(ed),ld=wl?wl.prototype:nt,dd=ld?ld.valueOf:nt,hd=ld?ld.toString:nt,fd=function(){function t(){}return function(e){if(!is(e))return{};if(Tl)return Tl(e);t.prototype=e;var n=new t;return t.prototype=nt,n}}();n.templateSettings={escape:ke,evaluate:we,interpolate:De,variable:"",imports:{_:n}},n.prototype=g.prototype,n.prototype.constructor=n,Y.prototype=fd(g.prototype),Y.prototype.constructor=Y,J.prototype=fd(g.prototype),J.prototype.constructor=J,Ze.prototype.clear=Ke,Ze.prototype.delete=Xe,Ze.prototype.get=Qe,Ze.prototype.has=tn,Ze.prototype.set=en,nn.prototype.clear=rn,nn.prototype.delete=an,nn.prototype.get=on,nn.prototype.has=un,nn.prototype.set=sn,cn.prototype.clear=ln,cn.prototype.delete=dn,cn.prototype.get=hn,cn.prototype.has=pn,cn.prototype.set=mn,yn.prototype.add=yn.prototype.push=gn,yn.prototype.has=kn,wn.prototype.clear=Dn,wn.prototype.delete=xn,wn.prototype.get=An,wn.prototype.has=En,wn.prototype.set=Fn;var _d=zi(fr),pd=zi(_r,!0),md=qi(),yd=qi(!0),gd=rd?function(t,e){return rd.set(t,e),t}:Ec,vd=jl?function(t,e){return jl(t,"toString",{configurable:!0,enumerable:!1,value:Tc(e),writable:!0})}:Ec,Md=ni,bd=Hl||function(t){return Sn.clearTimeout(t)},Ld=td&&1/V(new td([,-0]))[1]==Et?function(t){return new td(t)}:Oc,kd=rd?function(t){return rd.get(t)}:Oc,wd=Il?function(t){return null==t?[]:(t=ul(t),l(Il(t),function(e){return Al.call(t,e)}))}:Ic,Dd=Il?function(t){for(var e=[];t;)_(e,wd(t)),t=Yl(t);return e}:Ic,xd=gr;(Kl&&xd(new Kl(new ArrayBuffer(1)))!=oe||Xl&&xd(new Xl)!=Vt||Ql&&"[object Promise]"!=xd(Ql.resolve())||td&&xd(new td)!=Qt||ed&&xd(new ed)!=re)&&(xd=function(t){var e=gr(t),n=e==Zt?t.constructor:nt,r=n?Qa(n):"";if(r)switch(r){case ad:return oe;case od:return Vt;case ud:return"[object Promise]";case sd:return Qt;case cd:return re}return e});var Yd=_l?es:Rc,Td=Za(gd),Ad=Pl||function(t,e){return Sn.setTimeout(t,e)},Ed=Za(vd),Sd=function(t){var e=Su(t,function(t){return n.size===ut&&n.clear(),t}),n=e.cache;return e}(function(t){var e=[];return Te.test(t)&&e.push(""),t.replace(Ae,function(t,n,r,i){e.push(r?i.replace(Be,"$1"):n||t)}),e}),Fd=ni(function(t,e){return Vu(t)?ur(t,hr(e,1,Vu,!0)):[]}),Cd=ni(function(t,e){var n=bo(e);return Vu(n)&&(n=nt),Vu(t)?ur(t,hr(e,1,Vu,!0),ba(n,2)):[]}),jd=ni(function(t,e){var n=bo(e);return Vu(n)&&(n=nt),Vu(t)?ur(t,hr(e,1,Vu,!0),nt,n):[]}),Hd=ni(function(t){var e=f(t,bi);return e.length&&e[0]===t[0]?kr(e):[]}),Od=ni(function(t){var e=bo(t),n=f(t,bi);return e===bo(n)?e=nt:n.pop(),n.length&&n[0]===t[0]?kr(n,ba(e,2)):[]}),Pd=ni(function(t){var e=bo(t),n=f(t,bi);return e="function"==typeof e?e:nt,e&&n.pop(),n.length&&n[0]===t[0]?kr(n,nt,e):[]}),Nd=ni(wo),Bd=ma(function(t,e){var n=null==t?0:t.length,r=er(t,e);return Xr(t,f(e,function(t){return ja(t,n)?+t:t}).sort(Ci)),r}),Id=ni(function(t){return _i(hr(t,1,Vu,!0))}),Rd=ni(function(t){var e=bo(t);return Vu(e)&&(e=nt),_i(hr(t,1,Vu,!0),ba(e,2))}),Wd=ni(function(t){var e=bo(t);return e="function"==typeof e?e:nt,_i(hr(t,1,Vu,!0),nt,e)}),zd=ni(function(t,e){return Vu(t)?ur(t,e):[]}),qd=ni(function(t){return vi(l(t,Vu))}),Ud=ni(function(t){var e=bo(t);return Vu(e)&&(e=nt),vi(l(t,Vu),ba(e,2))}),$d=ni(function(t){var e=bo(t);return e="function"==typeof e?e:nt,vi(l(t,Vu),nt,e)}),Vd=ni($o),Gd=ni(function(t){var e=t.length,n=e>1?t[e-1]:nt;return n="function"==typeof n?(t.pop(),n):nt,Vo(t,n)}),Jd=ma(function(t){var e=t.length,n=e?t[0]:0,r=this.__wrapped__,i=function(e){return er(e,t)};return!(e>1||this.__actions__.length)&&r instanceof J&&ja(n)?(r=r.slice(n,+n+(e?1:0)),r.__actions__.push({func:Xo,args:[i],thisArg:nt}),new Y(r,this.__chain__).thru(function(t){return e&&!t.length&&t.push(nt),t})):this.thru(i)}),Zd=Ri(function(t,e,n){ml.call(t,n)?++t[n]:tr(t,n,1)}),Kd=Zi(lo),Xd=Zi(ho),Qd=Ri(function(t,e,n){ml.call(t,n)?t[n].push(e):tr(t,n,[e])}),th=ni(function(t,e,n){var r=-1,i="function"==typeof e,o=$u(t)?nl(t.length):[];return _d(t,function(t){o[++r]=i?a(e,t,n):Dr(t,e,n)}),o}),eh=Ri(function(t,e,n){tr(t,n,e)}),nh=Ri(function(t,e,n){t[n?0:1].push(e)},function(){return[[],[]]}),rh=ni(function(t,e){if(null==t)return[];var n=e.length;return n>1&&Ha(t,e[0],e[1])?e=[]:n>2&&Ha(e[0],e[1],e[2])&&(e=[e[0]]),Vr(t,hr(e,1),[])}),ih=Ol||function(){return Sn.Date.now()},ah=ni(function(t,e,n){var r=_t;if(n.length){var i=$(n,Ma(ah));r|=vt}return ca(t,r,e,n,i)}),oh=ni(function(t,e,n){var r=_t|pt;if(n.length){var i=$(n,Ma(oh));r|=vt}return ca(e,r,t,n,i)}),uh=ni(function(t,e){return or(t,1,e)}),sh=ni(function(t,e,n){return or(t,ws(e)||0,n)});Su.Cache=cn;var ch=Md(function(t,e){e=1==e.length&&mh(e[0])?f(e[0],C(ba())):f(hr(e,1),C(ba()));var n=e.length;return ni(function(r){for(var i=-1,o=$l(r.length,n);++i<o;)r[i]=e[i].call(this,r[i]);return a(t,this,r)})}),lh=ni(function(t,e){var n=$(e,Ma(lh));return ca(t,vt,nt,e,n)}),dh=ni(function(t,e){var n=$(e,Ma(dh));return ca(t,Mt,nt,e,n)}),hh=ma(function(t,e){return ca(t,Lt,nt,nt,nt,e)}),fh=aa(vr),_h=aa(function(t,e){return t>=e}),ph=xr(function(){return arguments}())?xr:function(t){return as(t)&&ml.call(t,"callee")&&!Al.call(t,"callee")},mh=nl.isArray,yh=Pn?C(Pn):Yr,gh=Rl||Rc,vh=Nn?C(Nn):Tr,Mh=Bn?C(Bn):Sr,bh=In?C(In):jr,Lh=Rn?C(Rn):Hr,kh=Wn?C(Wn):Or,wh=aa(Ir),Dh=aa(function(t,e){return t<=e}),xh=Wi(function(t,e){if(Ia(e)||$u(e))return void Ni(e,Is(e),t);for(var n in e)ml.call(e,n)&&Jn(t,n,e[n])}),Yh=Wi(function(t,e){Ni(e,Rs(e),t)}),Th=Wi(function(t,e,n,r){Ni(e,Rs(e),t,r)}),Ah=Wi(function(t,e,n,r){Ni(e,Is(e),t,r)}),Eh=ma(er),Sh=ni(function(t){return t.push(nt,la),a(Th,nt,t)}),Fh=ni(function(t){return t.push(nt,da),a(Ph,nt,t)}),Ch=Qi(function(t,e,n){t[e]=n},Tc(Ec)),jh=Qi(function(t,e,n){ml.call(t,e)?t[e].push(n):t[e]=[n]},ba),Hh=ni(Dr),Oh=Wi(function(t,e,n){qr(t,e,n)}),Ph=Wi(function(t,e,n,r){qr(t,e,n,r)}),Nh=ma(function(t,e){var n={};if(null==t)return n;var r=!1;e=f(e,function(e){return e=ki(e,t),r||(r=e.length>1),e}),Ni(t,ga(t),n),r&&(n=rr(n,ct|lt|dt,ha));for(var i=e.length;i--;)pi(n,e[i]);return n}),Bh=ma(function(t,e){return null==t?{}:Gr(t,e)}),Ih=sa(Is),Rh=sa(Rs),Wh=Vi(function(t,e,n){return e=e.toLowerCase(),t+(n?ic(e):e)}),zh=Vi(function(t,e,n){return t+(n?"-":"")+e.toLowerCase()}),qh=Vi(function(t,e,n){return t+(n?" ":"")+e.toLowerCase()}),Uh=$i("toLowerCase"),$h=Vi(function(t,e,n){return t+(n?"_":"")+e.toLowerCase()}),Vh=Vi(function(t,e,n){return t+(n?" ":"")+Jh(e)}),Gh=Vi(function(t,e,n){return t+(n?" ":"")+e.toUpperCase()}),Jh=$i("toUpperCase"),Zh=ni(function(t,e){try{return a(t,nt,e)}catch(t){return Qu(t)?t:new il(t)}}),Kh=ma(function(t,e){return u(e,function(e){e=Xa(e),tr(t,e,ah(t[e],t))}),t}),Xh=Ki(),Qh=Ki(!0),tf=ni(function(t,e){return function(n){return Dr(n,t,e)}}),ef=ni(function(t,e){return function(n){return Dr(t,n,e)}}),nf=ea(f),rf=ea(c),af=ea(y),of=ia(),uf=ia(!0),sf=ta(function(t,e){return t+e},0),cf=ua("ceil"),lf=ta(function(t,e){return t/e},1),df=ua("floor"),hf=ta(function(t,e){return t*e},1),ff=ua("round"),_f=ta(function(t,e){return t-e},0);return n.after=wu,n.ary=Du,n.assign=xh,n.assignIn=Yh,n.assignInWith=Th,n.assignWith=Ah,n.at=Eh,n.before=xu,n.bind=ah,n.bindAll=Kh,n.bindKey=oh,n.castArray=Bu,n.chain=Zo,n.chunk=no,n.compact=ro,n.concat=io,n.cond=xc,n.conforms=Yc,n.constant=Tc,n.countBy=Zd,n.create=Ts,n.curry=Yu,n.curryRight=Tu,n.debounce=Au,n.defaults=Sh,n.defaultsDeep=Fh,n.defer=uh,n.delay=sh,n.difference=Fd,n.differenceBy=Cd,n.differenceWith=jd,n.drop=ao,n.dropRight=oo,n.dropRightWhile=uo,n.dropWhile=so,n.fill=co,n.filter=uu,n.flatMap=su,n.flatMapDeep=cu,n.flatMapDepth=lu,n.flatten=fo,n.flattenDeep=_o,n.flattenDepth=po,n.flip=Eu,n.flow=Xh,n.flowRight=Qh,n.fromPairs=mo,n.functions=Hs,n.functionsIn=Os,n.groupBy=Qd,n.initial=vo,n.intersection=Hd,n.intersectionBy=Od,n.intersectionWith=Pd,n.invert=Ch,n.invertBy=jh,n.invokeMap=th,n.iteratee=Sc,n.keyBy=eh,n.keys=Is,n.keysIn=Rs,n.map=_u,n.mapKeys=Ws,n.mapValues=zs,n.matches=Fc,n.matchesProperty=Cc,n.memoize=Su,n.merge=Oh,n.mergeWith=Ph,n.method=tf,n.methodOf=ef,n.mixin=jc,n.negate=Fu,n.nthArg=Pc,n.omit=Nh,n.omitBy=qs,n.once=Cu,n.orderBy=pu,n.over=nf,n.overArgs=ch,n.overEvery=rf,n.overSome=af,n.partial=lh,n.partialRight=dh,n.partition=nh,n.pick=Bh,n.pickBy=Us,n.property=Nc,n.propertyOf=Bc,n.pull=Nd,n.pullAll=wo,n.pullAllBy=Do,n.pullAllWith=xo,n.pullAt=Bd,n.range=of,n.rangeRight=uf,n.rearg=hh,n.reject=gu,n.remove=Yo,n.rest=ju,n.reverse=To,n.sampleSize=Mu,n.set=Vs,n.setWith=Gs,n.shuffle=bu,n.slice=Ao,n.sortBy=rh,n.sortedUniq=Oo,n.sortedUniqBy=Po,n.split=pc,n.spread=Hu,n.tail=No,n.take=Bo,n.takeRight=Io,n.takeRightWhile=Ro,n.takeWhile=Wo,n.tap=Ko,n.throttle=Ou,n.thru=Xo,n.toArray=Ms,n.toPairs=Ih,n.toPairsIn=Rh,n.toPath=$c,n.toPlainObject=Ds,n.transform=Js,n.unary=Pu,n.union=Id,n.unionBy=Rd,n.unionWith=Wd,n.uniq=zo,n.uniqBy=qo,n.uniqWith=Uo,n.unset=Zs,n.unzip=$o,n.unzipWith=Vo,n.update=Ks,n.updateWith=Xs,n.values=Qs,n.valuesIn=tc,n.without=zd,n.words=Dc,n.wrap=Nu,n.xor=qd,n.xorBy=Ud,n.xorWith=$d,n.zip=Vd,n.zipObject=Go,n.zipObjectDeep=Jo,n.zipWith=Gd,n.entries=Ih,n.entriesIn=Rh,n.extend=Yh,n.extendWith=Th,jc(n,n),n.add=sf,n.attempt=Zh,n.camelCase=Wh,n.capitalize=ic,n.ceil=cf,n.clamp=ec,n.clone=Iu,n.cloneDeep=Wu,n.cloneDeepWith=zu,n.cloneWith=Ru,n.conformsTo=qu,n.deburr=ac,n.defaultTo=Ac,n.divide=lf,n.endsWith=oc,n.eq=Uu,n.escape=uc,n.escapeRegExp=sc,n.every=ou,n.find=Kd,n.findIndex=lo,n.findKey=As,n.findLast=Xd,n.findLastIndex=ho,n.findLastKey=Es,n.floor=df,n.forEach=du,n.forEachRight=hu,n.forIn=Ss,n.forInRight=Fs,n.forOwn=Cs,n.forOwnRight=js,n.get=Ps,n.gt=fh,n.gte=_h,n.has=Ns,n.hasIn=Bs,n.head=yo,n.identity=Ec,n.includes=fu,n.indexOf=go,n.inRange=nc,n.invoke=Hh,n.isArguments=ph,n.isArray=mh,n.isArrayBuffer=yh,n.isArrayLike=$u,n.isArrayLikeObject=Vu,n.isBoolean=Gu,n.isBuffer=gh,n.isDate=vh,n.isElement=Ju,n.isEmpty=Zu,n.isEqual=Ku,n.isEqualWith=Xu,n.isError=Qu,n.isFinite=ts,n.isFunction=es,n.isInteger=ns,n.isLength=rs,n.isMap=Mh,n.isMatch=os,n.isMatchWith=us,n.isNaN=ss,n.isNative=cs,n.isNil=ds,n.isNull=ls,n.isNumber=hs,n.isObject=is,n.isObjectLike=as,n.isPlainObject=fs,n.isRegExp=bh,n.isSafeInteger=_s,n.isSet=Lh,n.isString=ps,n.isSymbol=ms,n.isTypedArray=kh,n.isUndefined=ys,n.isWeakMap=gs,n.isWeakSet=vs,n.join=Mo,n.kebabCase=zh,n.last=bo,n.lastIndexOf=Lo,n.lowerCase=qh,n.lowerFirst=Uh,n.lt=wh,n.lte=Dh,n.max=Gc,n.maxBy=Jc,n.mean=Zc,n.meanBy=Kc,n.min=Xc,n.minBy=Qc,n.stubArray=Ic,n.stubFalse=Rc,n.stubObject=Wc,n.stubString=zc,n.stubTrue=qc,n.multiply=hf,n.nth=ko,n.noConflict=Hc,n.noop=Oc,n.now=ih,n.pad=cc,n.padEnd=lc,n.padStart=dc,n.parseInt=hc,n.random=rc,n.reduce=mu,n.reduceRight=yu,n.repeat=fc,n.replace=_c,n.result=$s,n.round=ff,n.runInContext=t,n.sample=vu,n.size=Lu,n.snakeCase=$h,n.some=ku,n.sortedIndex=Eo,n.sortedIndexBy=So,n.sortedIndexOf=Fo,n.sortedLastIndex=Co,n.sortedLastIndexBy=jo,n.sortedLastIndexOf=Ho,n.startCase=Vh,n.startsWith=mc,n.subtract=_f,n.sum=tl,n.sumBy=el,n.template=yc,n.times=Uc,n.toFinite=bs,n.toInteger=Ls,n.toLength=ks,n.toLower=gc,n.toNumber=ws,n.toSafeInteger=xs,n.toString=Ys,n.toUpper=vc,n.trim=Mc,n.trimEnd=bc,n.trimStart=Lc,n.truncate=kc,n.unescape=wc,n.uniqueId=Vc,n.upperCase=Gh,n.upperFirst=Jh,n.each=du,n.eachRight=hu,n.first=yo,jc(n,function(){var t={};return fr(n,function(e,r){ml.call(n.prototype,r)||(t[r]=e)}),t}(),{chain:!1}),n.VERSION="4.17.4",u(["bind","bindKey","curry","curryRight","partial","partialRight"],function(t){n[t].placeholder=n}),u(["drop","take"],function(t,e){J.prototype[t]=function(n){n=n===nt?1:Ul(Ls(n),0);var r=this.__filtered__&&!e?new J(this):this.clone();return r.__filtered__?r.__takeCount__=$l(n,r.__takeCount__):r.__views__.push({size:$l(n,jt),type:t+(r.__dir__<0?"Right":"")}),r},J.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}}),u(["filter","map","takeWhile"],function(t,e){var n=e+1,r=n==Tt||3==n;J.prototype[t]=function(t){var e=this.clone();return e.__iteratees__.push({iteratee:ba(t,3),type:n}),e.__filtered__=e.__filtered__||r,e}}),u(["head","last"],function(t,e){var n="take"+(e?"Right":"");J.prototype[t]=function(){return this[n](1).value()[0]}}),u(["initial","tail"],function(t,e){var n="drop"+(e?"":"Right");J.prototype[t]=function(){return this.__filtered__?new J(this):this[n](1)}}),J.prototype.compact=function(){return this.filter(Ec)},J.prototype.find=function(t){return this.filter(t).head()},J.prototype.findLast=function(t){return this.reverse().find(t)},J.prototype.invokeMap=ni(function(t,e){return"function"==typeof t?new J(this):this.map(function(n){return Dr(n,t,e)})}),J.prototype.reject=function(t){return this.filter(Fu(ba(t)))},J.prototype.slice=function(t,e){t=Ls(t);var n=this;return n.__filtered__&&(t>0||e<0)?new J(n):(t<0?n=n.takeRight(-t):t&&(n=n.drop(t)),e!==nt&&(e=Ls(e),n=e<0?n.dropRight(-e):n.take(e-t)),n)},J.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},J.prototype.toArray=function(){return this.take(jt)},fr(J.prototype,function(t,e){var r=/^(?:filter|find|map|reject)|While$/.test(e),i=/^(?:head|last)$/.test(e),a=n[i?"take"+("last"==e?"Right":""):e],o=i||/^find/.test(e);a&&(n.prototype[e]=function(){var e=this.__wrapped__,u=i?[1]:arguments,s=e instanceof J,c=u[0],l=s||mh(e),d=function(t){var e=a.apply(n,_([t],u));return i&&h?e[0]:e};l&&r&&"function"==typeof c&&1!=c.length&&(s=l=!1);var h=this.__chain__,f=!!this.__actions__.length,p=o&&!h,m=s&&!f;if(!o&&l){e=m?e:new J(this);var y=t.apply(e,u);return y.__actions__.push({func:Xo,args:[d],thisArg:nt}),new Y(y,h)}return p&&m?t.apply(this,u):(y=this.thru(d),p?i?y.value()[0]:y.value():y)})}),u(["pop","push","shift","sort","splice","unshift"],function(t){var e=dl[t],r=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",i=/^(?:pop|shift)$/.test(t);n.prototype[t]=function(){var t=arguments;if(i&&!this.__chain__){var n=this.value();return e.apply(mh(n)?n:[],t)}return this[r](function(n){return e.apply(mh(n)?n:[],t)})}}),fr(J.prototype,function(t,e){var r=n[e];if(r){var i=r.name+"";(id[i]||(id[i]=[])).push({name:e,func:r})}}),id[Xi(nt,pt).name]=[{name:"wrapper",func:nt}],J.prototype.clone=Q,J.prototype.reverse=tt,J.prototype.value=Ne,n.prototype.at=Jd,n.prototype.chain=Qo,n.prototype.commit=tu,n.prototype.next=eu,n.prototype.plant=ru,n.prototype.reverse=iu,n.prototype.toJSON=n.prototype.valueOf=n.prototype.value=au,n.prototype.first=n.prototype.head,Fl&&(n.prototype[Fl]=nu),n}();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Sn._=Vn,define(function(){return Vn})):Cn?((Cn.exports=Vn)._=Vn,Fn._=Vn):Sn._=Vn}).call(this)}).call(e,n(9),n(4)(t))},function(t,e,n){"use strict";function r(t){function e(r){var i=t.node(r);if(a.has(n,r))return i.rank;n[r]=!0;var o=a.min(a.map(t.outEdges(r),function(n){return e(n.w)-t.edge(n).minlen}));return o===Number.POSITIVE_INFINITY&&(o=0),i.rank=o}var n={};a.each(t.sources(),e)}function i(t,e){return t.node(e.w).rank-t.node(e.v).rank-t.edge(e).minlen}var a=n(1);t.exports={longestPath:r,slack:i}},function(t,e,n){"use strict";function r(t){this._isDirected=!c.has(t,"directed")||t.directed,this._isMultigraph=!!c.has(t,"multigraph")&&t.multigraph,this._isCompound=!!c.has(t,"compound")&&t.compound,this._label=void 0,this._defaultNodeLabelFn=c.constant(void 0),this._defaultEdgeLabelFn=c.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[d]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function i(t,e){t[e]?t[e]++:t[e]=1}function a(t,e){--t[e]||delete t[e]}function o(t,e,n,r){var i=""+e,a=""+n;if(!t&&i>a){var o=i;i=a,a=o}return i+h+a+h+(c.isUndefined(r)?l:r)}function u(t,e,n,r){var i=""+e,a=""+n;if(!t&&i>a){var o=i;i=a,a=o}var u={v:i,w:a};return r&&(u.name=r),u}function s(t,e){return o(t,e.v,e.w,e.name)}var c=n(5);t.exports=r;var l="\0",d="\0",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(t){return this._label=t,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(t){return c.isFunction(t)||(t=c.constant(t)),this._defaultNodeLabelFn=t,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return c.keys(this._nodes)},r.prototype.sources=function(){return c.filter(this.nodes(),c.bind(function(t){return c.isEmpty(this._in[t])},this))},r.prototype.sinks=function(){return c.filter(this.nodes(),c.bind(function(t){return c.isEmpty(this._out[t])},this))},r.prototype.setNodes=function(t,e){var n=arguments;return c.each(t,c.bind(function(t){n.length>1?this.setNode(t,e):this.setNode(t)},this)),this},r.prototype.setNode=function(t,e){return c.has(this._nodes,t)?(arguments.length>1&&(this._nodes[t]=e),this):(this._nodes[t]=arguments.length>1?e:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]=d,this._children[t]={},this._children[d][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)},r.prototype.node=function(t){return this._nodes[t]},r.prototype.hasNode=function(t){return c.has(this._nodes,t)},r.prototype.removeNode=function(t){var e=this;if(c.has(this._nodes,t)){var n=function(t){e.removeEdge(e._edgeObjs[t])};delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],c.each(this.children(t),c.bind(function(t){this.setParent(t)},this)),delete this._children[t]),c.each(c.keys(this._in[t]),n),delete this._in[t],delete this._preds[t],c.each(c.keys(this._out[t]),n),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this},r.prototype.setParent=function(t,e){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(c.isUndefined(e))e=d;else{e+="";for(var n=e;!c.isUndefined(n);n=this.parent(n))if(n===t)throw new Error("Setting "+e+" as parent of "+t+" would create create a cycle");this.setNode(e)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=e,this._children[e][t]=!0,this},r.prototype._removeFromParentsChildList=function(t){delete this._children[this._parent[t]][t]},r.prototype.parent=function(t){if(this._isCompound){var e=this._parent[t];if(e!==d)return e}},r.prototype.children=function(t){if(c.isUndefined(t)&&(t=d),this._isCompound){var e=this._children[t];if(e)return c.keys(e)}else{if(t===d)return this.nodes();if(this.hasNode(t))return[]}},r.prototype.predecessors=function(t){var e=this._preds[t];if(e)return c.keys(e)},r.prototype.successors=function(t){var e=this._sucs[t];if(e)return c.keys(e)},r.prototype.neighbors=function(t){var e=this.predecessors(t);if(e)return c.union(e,this.successors(t))},r.prototype.filterNodes=function(t){function e(t){var a=r.parent(t);return void 0===a||n.hasNode(a)?(i[t]=a,a):a in i?i[a]:e(a)}var n=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});n.setGraph(this.graph()),c.each(this._nodes,c.bind(function(e,r){t(r)&&n.setNode(r,e)},this)),c.each(this._edgeObjs,c.bind(function(t){n.hasNode(t.v)&&n.hasNode(t.w)&&n.setEdge(t,this.edge(t))},this));var r=this,i={};return this._isCompound&&c.each(n.nodes(),function(t){n.setParent(t,e(t))}),n},r.prototype.setDefaultEdgeLabel=function(t){return c.isFunction(t)||(t=c.constant(t)),this._defaultEdgeLabelFn=t,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return c.values(this._edgeObjs)},r.prototype.setPath=function(t,e){var n=this,r=arguments;return c.reduce(t,function(t,i){return r.length>1?n.setEdge(t,i,e):n.setEdge(t,i),i}),this},r.prototype.setEdge=function(){var t,e,n,r,a=!1,s=arguments[0];"object"==typeof s&&null!==s&&"v"in s?(t=s.v,e=s.w,n=s.name,2===arguments.length&&(r=arguments[1],a=!0)):(t=s,e=arguments[1],n=arguments[3],arguments.length>2&&(r=arguments[2],a=!0)),t=""+t,e=""+e,c.isUndefined(n)||(n=""+n);var l=o(this._isDirected,t,e,n);if(c.has(this._edgeLabels,l))return a&&(this._edgeLabels[l]=r),this;if(!c.isUndefined(n)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(t),this.setNode(e),this._edgeLabels[l]=a?r:this._defaultEdgeLabelFn(t,e,n);var d=u(this._isDirected,t,e,n);return t=d.v,e=d.w,Object.freeze(d),this._edgeObjs[l]=d,i(this._preds[e],t),i(this._sucs[t],e),this._in[e][l]=d,this._out[t][l]=d,this._edgeCount++,this},r.prototype.edge=function(t,e,n){var r=1===arguments.length?s(this._isDirected,arguments[0]):o(this._isDirected,t,e,n);return this._edgeLabels[r]},r.prototype.hasEdge=function(t,e,n){var r=1===arguments.length?s(this._isDirected,arguments[0]):o(this._isDirected,t,e,n);return c.has(this._edgeLabels,r)},r.prototype.removeEdge=function(t,e,n){var r=1===arguments.length?s(this._isDirected,arguments[0]):o(this._isDirected,t,e,n),i=this._edgeObjs[r];return i&&(t=i.v,e=i.w,delete this._edgeLabels[r],delete this._edgeObjs[r],a(this._preds[e],t),a(this._sucs[t],e),delete this._in[e][r],delete this._out[t][r],this._edgeCount--),this},r.prototype.inEdges=function(t,e){var n=this._in[t];if(n){var r=c.values(n);return e?c.filter(r,function(t){return t.v===e}):r}},r.prototype.outEdges=function(t,e){var n=this._out[t];if(n){var r=c.values(n);return e?c.filter(r,function(t){return t.w===e}):r}},r.prototype.nodeEdges=function(t,e){var n=this.inEdges(t,e);if(n)return n.concat(this.outEdges(t,e))}},function(t,e,n){"use strict";function r(t){this._isDirected=!c.has(t,"directed")||t.directed,this._isMultigraph=!!c.has(t,"multigraph")&&t.multigraph,this._isCompound=!!c.has(t,"compound")&&t.compound,this._label=void 0,this._defaultNodeLabelFn=c.constant(void 0),this._defaultEdgeLabelFn=c.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[d]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function i(t,e){t[e]?t[e]++:t[e]=1}function a(t,e){--t[e]||delete t[e]}function o(t,e,n,r){var i=""+e,a=""+n;if(!t&&i>a){var o=i;i=a,a=o}return i+h+a+h+(c.isUndefined(r)?l:r)}function u(t,e,n,r){var i=""+e,a=""+n;if(!t&&i>a){var o=i;i=a,a=o}var u={v:i,w:a};return r&&(u.name=r),u}function s(t,e){return o(t,e.v,e.w,e.name)}var c=n(6);t.exports=r;var l="\0",d="\0",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(t){return this._label=t,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(t){return c.isFunction(t)||(t=c.constant(t)),this._defaultNodeLabelFn=t,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return c.keys(this._nodes)},r.prototype.sources=function(){return c.filter(this.nodes(),function(t){return c.isEmpty(this._in[t])},this)},r.prototype.sinks=function(){return c.filter(this.nodes(),function(t){return c.isEmpty(this._out[t])},this)},r.prototype.setNodes=function(t,e){var n=arguments;return c.each(t,function(t){n.length>1?this.setNode(t,e):this.setNode(t)},this),this},r.prototype.setNode=function(t,e){return c.has(this._nodes,t)?(arguments.length>1&&(this._nodes[t]=e),this):(this._nodes[t]=arguments.length>1?e:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]=d,this._children[t]={},this._children[d][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)},r.prototype.node=function(t){return this._nodes[t]},r.prototype.hasNode=function(t){return c.has(this._nodes,t)},r.prototype.removeNode=function(t){var e=this;if(c.has(this._nodes,t)){var n=function(t){e.removeEdge(e._edgeObjs[t])};delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],c.each(this.children(t),function(t){this.setParent(t)},this),delete this._children[t]),c.each(c.keys(this._in[t]),n),delete this._in[t],delete this._preds[t],c.each(c.keys(this._out[t]),n),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this},r.prototype.setParent=function(t,e){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(c.isUndefined(e))e=d;else{e+="";for(var n=e;!c.isUndefined(n);n=this.parent(n))if(n===t)throw new Error("Setting "+e+" as parent of "+t+" would create create a cycle");this.setNode(e)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=e,this._children[e][t]=!0,this},r.prototype._removeFromParentsChildList=function(t){delete this._children[this._parent[t]][t]},r.prototype.parent=function(t){if(this._isCompound){var e=this._parent[t];if(e!==d)return e}},r.prototype.children=function(t){if(c.isUndefined(t)&&(t=d),this._isCompound){var e=this._children[t];if(e)return c.keys(e)}else{if(t===d)return this.nodes();if(this.hasNode(t))return[]}},r.prototype.predecessors=function(t){var e=this._preds[t];if(e)return c.keys(e)},r.prototype.successors=function(t){var e=this._sucs[t];if(e)return c.keys(e)},r.prototype.neighbors=function(t){var e=this.predecessors(t);if(e)return c.union(e,this.successors(t))},r.prototype.filterNodes=function(t){function e(t){var a=r.parent(t);return void 0===a||n.hasNode(a)?(i[t]=a,a):a in i?i[a]:e(a)}var n=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});n.setGraph(this.graph()),c.each(this._nodes,function(e,r){t(r)&&n.setNode(r,e)},this),c.each(this._edgeObjs,function(t){n.hasNode(t.v)&&n.hasNode(t.w)&&n.setEdge(t,this.edge(t))},this);var r=this,i={};return this._isCompound&&c.each(n.nodes(),function(t){n.setParent(t,e(t))}),n},r.prototype.setDefaultEdgeLabel=function(t){return c.isFunction(t)||(t=c.constant(t)),this._defaultEdgeLabelFn=t,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return c.values(this._edgeObjs)},r.prototype.setPath=function(t,e){var n=this,r=arguments;return c.reduce(t,function(t,i){return r.length>1?n.setEdge(t,i,e):n.setEdge(t,i),i}),this},r.prototype.setEdge=function(){var t,e,n,r,a=!1,s=arguments[0];"object"==typeof s&&null!==s&&"v"in s?(t=s.v,e=s.w,n=s.name,2===arguments.length&&(r=arguments[1],a=!0)):(t=s,e=arguments[1],n=arguments[3],arguments.length>2&&(r=arguments[2],a=!0)),t=""+t,e=""+e,c.isUndefined(n)||(n=""+n);var l=o(this._isDirected,t,e,n);if(c.has(this._edgeLabels,l))return a&&(this._edgeLabels[l]=r),this;if(!c.isUndefined(n)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(t),this.setNode(e),this._edgeLabels[l]=a?r:this._defaultEdgeLabelFn(t,e,n);var d=u(this._isDirected,t,e,n);return t=d.v,e=d.w,Object.freeze(d),this._edgeObjs[l]=d,i(this._preds[e],t),i(this._sucs[t],e),this._in[e][l]=d,this._out[t][l]=d,this._edgeCount++,this},r.prototype.edge=function(t,e,n){var r=1===arguments.length?s(this._isDirected,arguments[0]):o(this._isDirected,t,e,n);return this._edgeLabels[r]},r.prototype.hasEdge=function(t,e,n){var r=1===arguments.length?s(this._isDirected,arguments[0]):o(this._isDirected,t,e,n);return c.has(this._edgeLabels,r)},r.prototype.removeEdge=function(t,e,n){var r=1===arguments.length?s(this._isDirected,arguments[0]):o(this._isDirected,t,e,n),i=this._edgeObjs[r];return i&&(t=i.v,e=i.w,delete this._edgeLabels[r],delete this._edgeObjs[r],a(this._preds[e],t),a(this._sucs[t],e),delete this._in[e][r],delete this._out[t][r],this._edgeCount--),this},r.prototype.inEdges=function(t,e){var n=this._in[t];if(n){var r=c.values(n);return e?c.filter(r,function(t){return t.v===e}):r}},r.prototype.outEdges=function(t,e){var n=this._out[t];if(n){var r=c.values(n);return e?c.filter(r,function(t){return t.w===e}):r}},r.prototype.nodeEdges=function(t,e){var n=this.inEdges(t,e);if(n)return n.concat(this.outEdges(t,e))}},function(t,e){function n(t,e,n,r){var i=t.x,a=t.y,o=i-r.x,u=a-r.y,s=Math.sqrt(e*e*u*u+n*n*o*o),c=Math.abs(e*n*o/s);r.x<i&&(c=-c);var l=Math.abs(e*n*u/s);return r.y<a&&(l=-l),{x:i+c,y:a+l}}t.exports=n},function(t,e,n){function r(t,e,n){var r=e.label,u=t.append("g");"svg"===e.labelType?o(u,e):"string"!=typeof r||"html"===e.labelType?a(u,e):i(u,e);var s,c=u.node().getBBox();switch(n){case"top":s=-e.height/2;break;case"bottom":s=e.height/2-c.height;break;default:s=-c.height/2}return u.attr("transform","translate("+-c.width/2+","+s+")"),u}var i=n(231),a=n(232),o=n(233);t.exports=r},function(t,e,n){(function(t){var r,i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},a=n(2),o=a.Log,u=n(23),s=n(10),c={},l=[],d=[],h=[],f={},_=0,p=[];e.addVertex=function(t,e,n,r){var i;void 0!==t&&0!==t.trim().length&&(void 0===c[t]&&(c[t]={id:t,styles:[],classes:[]}),void 0!==e&&(i=e.trim(),'"'===i[0]&&'"'===i[i.length-1]&&(i=i.substring(1,i.length-1)),c[t].text=i),void 0!==n&&(c[t].type=n),void 0!==n&&(c[t].type=n),void 0!==r&&null!==r&&r.forEach(function(e){c[t].styles.push(e)}))},e.addLink=function(t,e,n,r){o.info("Got edge...",t,e);var i={start:t,end:e,type:void 0,text:""};r=n.text,void 0!==r&&(i.text=r.trim(),'"'===i.text[0]&&'"'===i.text[i.text.length-1]&&(i.text=i.text.substring(1,i.text.length-1))),void 0!==n&&(i.type=n.type,i.stroke=n.stroke),l.push(i)},e.updateLinkInterpolate=function(t,e){"default"===t?l.defaultInterpolate=e:l[t].interpolate=e},e.updateLink=function(t,e){"default"===t?l.defaultStyle=e:(-1===u.isSubstringInArray("fill",e)&&e.push("fill:none"),l[t].style=e)},e.addClass=function(t,e){void 0===d[t]&&(d[t]={id:t,styles:[]}),void 0!==e&&null!==e&&e.forEach(function(e){d[t].styles.push(e)})},e.setDirection=function(t){r=t},e.setClass=function(t,e){t.indexOf(",")>0?t.split(",").forEach(function(t){void 0!==c[t]&&c[t].classes.push(e)}):void 0!==c[t]&&c[t].classes.push(e)};var m=function(t,e){void 0!==e&&(f[t]=e)},y=function(t,e){void 0!==e&&void 0!==c[t]&&p.push(function(n){var r=s.select(n).select("#"+t);null!==r&&r.on("click",function(){window[e](t)})})},g=function(t,e){void 0!==e&&void 0!==c[t]&&p.push(function(n){var r=s.select(n).select("#"+t);null!==r&&r.on("click",function(){window.open(e,"newTab")})})};e.getTooltip=function(t){return f[t]},e.setClickEvent=function(t,e,n,r){t.indexOf(",")>0?t.split(",").forEach(function(t){m(t,r),y(t,e),g(t,n)}):(m(t,r),y(t,e),g(t,n))},e.bindFunctions=function(t){p.forEach(function(e){e(t)})},e.getDirection=function(){return r},e.getVertices=function(){return c},e.getEdges=function(){return l},e.getClasses=function(){return d};var v=function(t){var e=s.select(".mermaidTooltip");null===e[0][0]&&(e=s.select("body").append("div").attr("class","mermaidTooltip").style("opacity",0)),s.select(t).select("svg").selectAll("g.node").on("mouseover",function(){var t=s.select(this);if(null!==t.attr("title")){var n=this.getBoundingClientRect();e.transition().duration(200).style("opacity",".9"),e.html(t.attr("title")).style("left",n.left+(n.right-n.left)/2+"px").style("top",n.top-14+document.body.scrollTop+"px"),t.classed("hover",!0)}}).on("mouseout",function(){e.transition().duration(500).style("opacity",0),s.select(this).classed("hover",!1)})};p.push(v),e.clear=function(){c={},d={},l=[],p=[],p.push(v),h=[],_=0,f=[]},e.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},e.addSubGraph=function(t,e){var n=[];n=function(t){var e={boolean:{},number:{},string:{}},n=[];return t.filter(function(t){var r=void 0===t?"undefined":i(t);return" "!==t&&(r in e?!e[r].hasOwnProperty(t)&&(e[r][t]=!0):!(n.indexOf(t)>=0)&&n.push(t))})}(n.concat.apply(n,t));var r={id:"subGraph"+_,nodes:n,title:e};return h.push(r),_+=1,r.id};var M=function(t){var e;for(e=0;e<h.length;e++)if(h[e].id===t)return e;return-1},b=-1,L=[],k=function t(e,n){var r=h[n].nodes;if(!((b+=1)>2e3)){if(L[b]=n,h[n].id===e)return{result:!0,count:0};for(var i=0,a=1;i<r.length;){var o=M(r[i]);if(o>=0){var u=t(e,o);if(u.result)return{result:!0,count:a+u.count};a+=u.count}i+=1}return{result:!1,count:a}}};e.getDepthFirstPos=function(t){return L[t]},e.indexNodes=function(){b=-1,h.length>0&&k("none",h.length-1)},e.getSubGraphs=function(){return h},e.parseError=function(e,n){t.mermaidAPI.parseError(e,n)}}).call(e,n(9))},function(t,e,n){var r=n(2),i=r.Log,a=function(t){return t=t.replace(/^\s*%%.*\n/g,"\n"),t.match(/^\s*sequenceDiagram/)?"sequenceDiagram":t.match(/^\s*digraph/)?"dotGraph":t.match(/^\s*info/)?"info":t.match(/^\s*gantt/)?"gantt":t.match(/^\s*classDiagram/)?(i.debug("Detected classDiagram syntax"),"classDiagram"):t.match(/^\s*gitGraph/)?(i.debug("Detected gitGraph syntax"),"gitGraph"):"graph"};e.detectType=a;var o=function(t,e){for(var n,r="",a=document.styleSheets,o=0;o<a.length;o++)if("mermaid-svg-internal-css"!==a[o].title)try{var u=a[o].cssRules;if(null!==u)for(var s=0;s<u.length;s++)if(n=u[s],void 0!==n.style){var c;c=t.querySelectorAll(n.selectorText),c.length>0&&(r+=n.selectorText+" { "+n.style.cssText+"}\n")}}catch(t){void 0!==n&&i.warn('Invalid CSS selector "'+n.selectorText+'"',t)}var l="",d="";for(var h in e)e.hasOwnProperty(h)&&void 0!==h&&("default"===h?(e.default.styles instanceof Array&&(l+="#"+t.id.trim()+" .node>rect { "+e[h].styles.join("; ")+"; }\n"),e.default.nodeLabelStyles instanceof Array&&(l+="#"+t.id.trim()+" .node text { "+e[h].nodeLabelStyles.join("; ")+"; }\n"),e.default.edgeLabelStyles instanceof Array&&(l+="#"+t.id.trim()+" .edgeLabel text { "+e[h].edgeLabelStyles.join("; ")+"; }\n"),e.default.clusterStyles instanceof Array&&(l+="#"+t.id.trim()+" .cluster rect { "+e[h].clusterStyles.join("; ")+"; }\n")):e[h].styles instanceof Array&&(d+="#"+t.id.trim()+" ."+h+">rect, ."+h+">polygon, ."+h+">circle, ."+h+">ellipse { "+e[h].styles.join("; ")+"; }\n"));if(""!==r||""!==l||""!==d){var f=document.createElement("style");f.setAttribute("type","text/css"),f.setAttribute("title","mermaid-svg-internal-css"),f.innerHTML="/* <![CDATA[ */\n",""!==l&&(f.innerHTML+=l),""!==r&&(f.innerHTML+=r),""!==d&&(f.innerHTML+=d),f.innerHTML+="/* ]]> */\n",t.insertBefore(f,t.firstChild)}};e.cloneCssStyles=o;var u=function(t,e){for(var n=0;n<e.length;n++)if(e[n].match(t))return n;return-1};e.isSubstringInArray=u},function(t,e,n){var r,i;!function(){function a(t){return t&&(t.ownerDocument||t.document||t).documentElement}function o(t){return t&&(t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView)}function u(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function s(t){return null===t?NaN:+t}function c(t){return!isNaN(t)}function l(t){return{left:function(e,n,r,i){for(arguments.length<3&&(r=0),arguments.length<4&&(i=e.length);r<i;){var a=r+i>>>1;t(e[a],n)<0?r=a+1:i=a}return r},right:function(e,n,r,i){for(arguments.length<3&&(r=0),arguments.length<4&&(i=e.length);r<i;){var a=r+i>>>1;t(e[a],n)>0?i=a:r=a+1}return r}}}function d(t){return t.length}function h(t){for(var e=1;t*e%1;)e*=10;return e}function f(t,e){for(var n in e)Object.defineProperty(t.prototype,n,{value:e[n],enumerable:!1})}function _(){this._=Object.create(null)}function p(t){return(t+="")===wo||t[0]===Do?Do+t:t}function m(t){return(t+="")[0]===Do?t.slice(1):t}function y(t){return p(t)in this._}function g(t){return(t=p(t))in this._&&delete this._[t]}function v(){var t=[];for(var e in this._)t.push(m(e));return t}function M(){var t=0;for(var e in this._)++t;return t}function b(){for(var t in this._)return!1;return!0}function L(){this._=Object.create(null)}function k(t){return t}function w(t,e,n){return function(){var r=n.apply(e,arguments);return r===e?t:r}}function D(t,e){if(e in t)return e;e=e.charAt(0).toUpperCase()+e.slice(1);for(var n=0,r=xo.length;n<r;++n){var i=xo[n]+e;if(i in t)return i}}function x(){}function Y(){}function T(t){function e(){for(var e,r=n,i=-1,a=r.length;++i<a;)(e=r[i].on)&&e.apply(this,arguments);return t}var n=[],r=new _;return e.on=function(e,i){var a,o=r.get(e);return arguments.length<2?o&&o.on:(o&&(o.on=null,n=n.slice(0,a=n.indexOf(o)).concat(n.slice(a+1)),r.remove(e)),i&&n.push(r.set(e,{on:i})),t)},e}function A(){fo.event.preventDefault()}function E(){for(var t,e=fo.event;t=e.sourceEvent;)e=t;return e}function S(t){for(var e=new Y,n=0,r=arguments.length;++n<r;)e[arguments[n]]=T(e);return e.of=function(n,r){return function(i){try{var a=i.sourceEvent=fo.event;i.target=t,fo.event=i,e[i.type].apply(n,r)}finally{fo.event=a}}},e}function F(t){return To(t,Fo),t}function C(t){return"function"==typeof t?t:function(){return Ao(t,this)}}function j(t){return"function"==typeof t?t:function(){return Eo(t,this)}}function H(t,e){function n(){this.removeAttribute(t)}function r(){this.removeAttributeNS(t.space,t.local)}function i(){this.setAttribute(t,e)}function a(){this.setAttributeNS(t.space,t.local,e)}function o(){var n=e.apply(this,arguments);null==n?this.removeAttribute(t):this.setAttribute(t,n)}function u(){var n=e.apply(this,arguments);null==n?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,n)}return t=fo.ns.qualify(t),null==e?t.local?r:n:"function"==typeof e?t.local?u:o:t.local?a:i}function O(t){return t.trim().replace(/\s+/g," ")}function P(t){return new RegExp("(?:^|\\s+)"+fo.requote(t)+"(?:\\s+|$)","g")}function N(t){return(t+"").trim().split(/^|\s+/)}function B(t,e){function n(){for(var n=-1;++n<i;)t[n](this,e)}function r(){for(var n=-1,r=e.apply(this,arguments);++n<i;)t[n](this,r)}t=N(t).map(I);var i=t.length;return"function"==typeof e?r:n}function I(t){var e=P(t);return function(n,r){if(i=n.classList)return r?i.add(t):i.remove(t);var i=n.getAttribute("class")||"";r?(e.lastIndex=0,e.test(i)||n.setAttribute("class",O(i+" "+t))):n.setAttribute("class",O(i.replace(e," ")))}}function R(t,e,n){function r(){this.style.removeProperty(t)}function i(){this.style.setProperty(t,e,n)}function a(){var r=e.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,n)}return null==e?r:"function"==typeof e?a:i}function W(t,e){function n(){delete this[t]}function r(){this[t]=e}function i(){var n=e.apply(this,arguments);null==n?delete this[t]:this[t]=n}return null==e?n:"function"==typeof e?i:r}function z(t){function e(){var e=this.ownerDocument,n=this.namespaceURI;return n===Co&&e.documentElement.namespaceURI===Co?e.createElement(t):e.createElementNS(n,t)}function n(){return this.ownerDocument.createElementNS(t.space,t.local)}return"function"==typeof t?t:(t=fo.ns.qualify(t)).local?n:e}function q(){var t=this.parentNode;t&&t.removeChild(this)}function U(t){return{__data__:t}}function $(t){return function(){return So(this,t)}}function V(t){return arguments.length||(t=u),function(e,n){return e&&n?t(e.__data__,n.__data__):!e-!n}}function G(t,e){for(var n=0,r=t.length;n<r;n++)for(var i,a=t[n],o=0,u=a.length;o<u;o++)(i=a[o])&&e(i,o,n);return t}function J(t){return To(t,Ho),t}function Z(t){var e,n;return function(r,i,a){var o,u=t[a].update,s=u.length;for(a!=n&&(n=a,e=0),i>=e&&(e=i+1);!(o=u[e])&&++e<s;);return o}}function K(t,e,n){function r(){var e=this[o];e&&(this.removeEventListener(t,e,e.$),delete this[o])}function i(){var i=s(e,po(arguments));r.call(this),this.addEventListener(t,this[o]=i,i.$=n),i._=e}function a(){var e,n=new RegExp("^__on([^.]+)"+fo.requote(t)+"$");for(var r in this)if(e=r.match(n)){var i=this[r];this.removeEventListener(e[1],i,i.$),delete this[r]}}var o="__on"+t,u=t.indexOf("."),s=X;u>0&&(t=t.slice(0,u));var c=Oo.get(t);return c&&(t=c,s=Q),u?e?i:r:e?x:a}function X(t,e){return function(n){var r=fo.event;fo.event=n,e[0]=this.__data__;try{t.apply(this,e)}finally{fo.event=r}}}function Q(t,e){var n=X(t,e);return function(t){var e=this,r=t.relatedTarget;r&&(r===e||8&r.compareDocumentPosition(e))||n.call(e,t)}}function tt(t){var e=".dragsuppress-"+ ++No,n="click"+e,r=fo.select(o(t)).on("touchmove"+e,A).on("dragstart"+e,A).on("selectstart"+e,A);if(null==Po&&(Po=!("onselectstart"in t)&&D(t.style,"userSelect")),Po){var i=a(t).style,u=i[Po];i[Po]="none"}return function(t){if(r.on(e,null),Po&&(i[Po]=u),t){var a=function(){r.on(n,null)};r.on(n,function(){A(),a()},!0),setTimeout(a,0)}}}function et(t,e){e.changedTouches&&(e=e.changedTouches[0]);var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();if(Bo<0){var i=o(t);if(i.scrollX||i.scrollY){n=fo.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var a=n[0][0].getScreenCTM();Bo=!(a.f||a.e),n.remove()}}return Bo?(r.x=e.pageX,r.y=e.pageY):(r.x=e.clientX,r.y=e.clientY),r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}var u=t.getBoundingClientRect();return[e.clientX-u.left-t.clientLeft,e.clientY-u.top-t.clientTop]}function nt(){return fo.event.changedTouches[0].identifier}function rt(t){return t>0?1:t<0?-1:0}function it(t,e,n){return(e[0]-t[0])*(n[1]-t[1])-(e[1]-t[1])*(n[0]-t[0])}function at(t){return t>1?0:t<-1?Wo:Math.acos(t)}function ot(t){return t>1?Uo:t<-1?-Uo:Math.asin(t)}function ut(t){return((t=Math.exp(t))-1/t)/2}function st(t){return((t=Math.exp(t))+1/t)/2}function ct(t){return((t=Math.exp(2*t))-1)/(t+1)}function lt(t){return(t=Math.sin(t/2))*t}function dt(){}function ht(t,e,n){return this instanceof ht?(this.h=+t,this.s=+e,void(this.l=+n)):arguments.length<2?t instanceof ht?new ht(t.h,t.s,t.l):xt(""+t,Yt,ht):new ht(t,e,n)}function ft(t,e,n){function r(t){return t>360?t-=360:t<0&&(t+=360),t<60?a+(o-a)*t/60:t<180?o:t<240?a+(o-a)*(240-t)/60:a}function i(t){return Math.round(255*r(t))}var a,o;return t=isNaN(t)?0:(t%=360)<0?t+360:t,e=isNaN(e)?0:e<0?0:e>1?1:e,n=n<0?0:n>1?1:n,o=n<=.5?n*(1+e):n+e-n*e,a=2*n-o,new Lt(i(t+120),i(t),i(t-120))}function _t(t,e,n){return this instanceof _t?(this.h=+t,this.c=+e,void(this.l=+n)):arguments.length<2?t instanceof _t?new _t(t.h,t.c,t.l):t instanceof mt?gt(t.l,t.a,t.b):gt((t=Tt((t=fo.rgb(t)).r,t.g,t.b)).l,t.a,t.b):new _t(t,e,n)}function pt(t,e,n){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new mt(n,Math.cos(t*=$o)*e,Math.sin(t)*e)}function mt(t,e,n){return this instanceof mt?(this.l=+t,this.a=+e,void(this.b=+n)):arguments.length<2?t instanceof mt?new mt(t.l,t.a,t.b):t instanceof _t?pt(t.h,t.c,t.l):Tt((t=Lt(t)).r,t.g,t.b):new mt(t,e,n)}function yt(t,e,n){var r=(t+16)/116,i=r+e/500,a=r-n/200;return i=vt(i)*eu,r=vt(r)*nu,a=vt(a)*ru,new Lt(bt(3.2404542*i-1.5371385*r-.4985314*a),bt(-.969266*i+1.8760108*r+.041556*a),bt(.0556434*i-.2040259*r+1.0572252*a))}function gt(t,e,n){return t>0?new _t(Math.atan2(n,e)*Vo,Math.sqrt(e*e+n*n),t):new _t(NaN,NaN,t)}function vt(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function Mt(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function bt(t){return Math.round(255*(t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function Lt(t,e,n){return this instanceof Lt?(this.r=~~t,this.g=~~e,void(this.b=~~n)):arguments.length<2?t instanceof Lt?new Lt(t.r,t.g,t.b):xt(""+t,Lt,ft):new Lt(t,e,n)}function kt(t){return new Lt(t>>16,t>>8&255,255&t)}function wt(t){return kt(t)+""}function Dt(t){return t<16?"0"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function xt(t,e,n){var r,i,a,o=0,u=0,s=0;if(r=/([a-z]+)\((.*)\)/.exec(t=t.toLowerCase()))switch(i=r[2].split(","),r[1]){case"hsl":return n(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case"rgb":return e(Et(i[0]),Et(i[1]),Et(i[2]))}return(a=ou.get(t))?e(a.r,a.g,a.b):(null==t||"#"!==t.charAt(0)||isNaN(a=parseInt(t.slice(1),16))||(4===t.length?(o=(3840&a)>>4,o|=o>>4,u=240&a,u|=u>>4,s=15&a,s|=s<<4):7===t.length&&(o=(16711680&a)>>16,u=(65280&a)>>8,s=255&a)),e(o,u,s))}function Yt(t,e,n){var r,i,a=Math.min(t/=255,e/=255,n/=255),o=Math.max(t,e,n),u=o-a,s=(o+a)/2;return u?(i=s<.5?u/(o+a):u/(2-o-a),r=t==o?(e-n)/u+(e<n?6:0):e==o?(n-t)/u+2:(t-e)/u+4,r*=60):(r=NaN,i=s>0&&s<1?0:r),new ht(r,i,s)}function Tt(t,e,n){t=At(t),e=At(e),n=At(n);var r=Mt((.4124564*t+.3575761*e+.1804375*n)/eu),i=Mt((.2126729*t+.7151522*e+.072175*n)/nu);return mt(116*i-16,500*(r-i),200*(i-Mt((.0193339*t+.119192*e+.9503041*n)/ru)))}function At(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Et(t){var e=parseFloat(t);return"%"===t.charAt(t.length-1)?Math.round(2.55*e):e}function St(t){return"function"==typeof t?t:function(){return t}}function Ft(t){return function(e,n,r){return 2===arguments.length&&"function"==typeof n&&(r=n,n=null),Ct(e,n,t,r)}}function Ct(t,e,n,r){function i(){var t,e=s.status;if(!e&&Ht(s)||e>=200&&e<300||304===e){try{t=n.call(a,s)}catch(t){return void o.error.call(a,t)}o.load.call(a,t)}else o.error.call(a,s)}var a={},o=fo.dispatch("beforesend","progress","load","error"),u={},s=new XMLHttpRequest,c=null;return!this.XDomainRequest||"withCredentials"in s||!/^(http(s)?:)?\/\//.test(t)||(s=new XDomainRequest),"onload"in s?s.onload=s.onerror=i:s.onreadystatechange=function(){s.readyState>3&&i()},s.onprogress=function(t){var e=fo.event;fo.event=t;try{o.progress.call(a,s)}finally{fo.event=e}},a.header=function(t,e){return t=(t+"").toLowerCase(),arguments.length<2?u[t]:(null==e?delete u[t]:u[t]=e+"",a)},a.mimeType=function(t){return arguments.length?(e=null==t?null:t+"",a):e},a.responseType=function(t){return arguments.length?(c=t,a):c},a.response=function(t){return n=t,a},["get","post"].forEach(function(t){a[t]=function(){return a.send.apply(a,[t].concat(po(arguments)))}}),a.send=function(n,r,i){if(2===arguments.length&&"function"==typeof r&&(i=r,r=null),s.open(n,t,!0),null==e||"accept"in u||(u.accept=e+",*/*"),s.setRequestHeader)for(var l in u)s.setRequestHeader(l,u[l]);return null!=e&&s.overrideMimeType&&s.overrideMimeType(e),null!=c&&(s.responseType=c),null!=i&&a.on("error",i).on("load",function(t){i(null,t)}),o.beforesend.call(a,s),s.send(null==r?null:r),a},a.abort=function(){return s.abort(),a},fo.rebind(a,o,"on"),null==r?a:a.get(jt(r))}function jt(t){return 1===t.length?function(e,n){t(null==e?n:null)}:t}function Ht(t){var e=t.responseType;return e&&"text"!==e?t.response:t.responseText}function Ot(t,e,n){var r=arguments.length;r<2&&(e=0),r<3&&(n=Date.now());var i=n+e,a={c:t,t:i,n:null};return su?su.n=a:uu=a,su=a,cu||(lu=clearTimeout(lu),cu=1,du(Pt)),a}function Pt(){var t=Nt(),e=Bt()-t;e>24?(isFinite(e)&&(clearTimeout(lu),lu=setTimeout(Pt,e)),cu=0):(cu=1,du(Pt))}function Nt(){for(var t=Date.now(),e=uu;e;)t>=e.t&&e.c(t-e.t)&&(e.c=null),e=e.n;return t}function Bt(){for(var t,e=uu,n=1/0;e;)e.c?(e.t<n&&(n=e.t),e=(t=e).n):e=t?t.n=e.n:uu=e.n;return su=t,n}function It(t,e){return e-(t?Math.ceil(Math.log(t)/Math.LN10):1)}function Rt(t,e){var n=Math.pow(10,3*ko(8-e));return{scale:e>8?function(t){return t/n}:function(t){return t*n},symbol:t}}function Wt(t){var e=t.decimal,n=t.thousands,r=t.grouping,i=t.currency,a=r&&n?function(t,e){for(var i=t.length,a=[],o=0,u=r[0],s=0;i>0&&u>0&&(s+u+1>e&&(u=Math.max(1,e-s)),a.push(t.substring(i-=u,i+u)),!((s+=u+1)>e));)u=r[o=(o+1)%r.length];return a.reverse().join(n)}:k;return function(t){var n=fu.exec(t),r=n[1]||" ",o=n[2]||">",u=n[3]||"-",s=n[4]||"",c=n[5],l=+n[6],d=n[7],h=n[8],f=n[9],_=1,p="",m="",y=!1,g=!0;switch(h&&(h=+h.substring(1)),(c||"0"===r&&"="===o)&&(c=r="0",o="="),f){case"n":d=!0,f="g";break;case"%":_=100,m="%",f="f";break;case"p":_=100,m="%",f="r";break;case"b":case"o":case"x":case"X":"#"===s&&(p="0"+f.toLowerCase());case"c":g=!1;case"d":y=!0,h=0;break;case"s":_=-1,f="r"}"$"===s&&(p=i[0],m=i[1]),"r"!=f||h||(f="g"),null!=h&&("g"==f?h=Math.max(1,Math.min(21,h)):"e"!=f&&"f"!=f||(h=Math.max(0,Math.min(20,h)))),f=_u.get(f)||zt;var v=c&&d;return function(t){var n=m;if(y&&t%1)return"";var i=t<0||0===t&&1/t<0?(t=-t,"-"):"-"===u?"":u;if(_<0){var s=fo.formatPrefix(t,h);t=s.scale(t),n=s.symbol+m}else t*=_;t=f(t,h);var M,b,L=t.lastIndexOf(".");if(L<0){var k=g?t.lastIndexOf("e"):-1;k<0?(M=t,b=""):(M=t.substring(0,k),b=t.substring(k))}else M=t.substring(0,L),b=e+t.substring(L+1);!c&&d&&(M=a(M,1/0));var w=p.length+M.length+b.length+(v?0:i.length),D=w<l?new Array(w=l-w+1).join(r):"";return v&&(M=a(D+M,D.length?l-b.length:1/0)),i+=p,t=M+b,("<"===o?i+t+D:">"===o?D+i+t:"^"===o?D.substring(0,w>>=1)+i+t+D.substring(w):i+(v?t:D+t))+n}}}function zt(t){return t+""}function qt(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function Ut(t,e,n){function r(e){var n=t(e),r=a(n,1);return e-n<r-e?n:r}function i(n){return e(n=t(new mu(n-1)),1),n}function a(t,n){return e(t=new mu(+t),n),t}function o(t,r,a){var o=i(t),u=[];if(a>1)for(;o<r;)n(o)%a||u.push(new Date(+o)),e(o,1);else for(;o<r;)u.push(new Date(+o)),e(o,1);return u}function u(t,e,n){try{mu=qt;var r=new qt;return r._=t,o(r,e,n)}finally{mu=Date}}t.floor=t,t.round=r,t.ceil=i,t.offset=a,t.range=o;var s=t.utc=$t(t);return s.floor=s,s.round=$t(r),s.ceil=$t(i),s.offset=$t(a),s.range=u,t}function $t(t){return function(e,n){try{mu=qt;var r=new qt;return r._=e,t(r,n)._}finally{mu=Date}}}function Vt(t){function e(t){function e(e){for(var n,i,a,o=[],u=-1,s=0;++u<r;)37===t.charCodeAt(u)&&(o.push(t.slice(s,u)),null!=(i=gu[n=t.charAt(++u)])&&(n=t.charAt(++u)),(a=T[n])&&(n=a(e,null==i?"e"===n?" ":"0":i)),o.push(n),s=u+1);return o.push(t.slice(s,u)),o.join("")}var r=t.length;return e.parse=function(e){var r={y:1900,m:0,d:1,H:0,M:0,S:0,L:0,Z:null};if(n(r,t,e,0)!=e.length)return null;"p"in r&&(r.H=r.H%12+12*r.p);var i=null!=r.Z&&mu!==qt,a=new(i?qt:mu);return"j"in r?a.setFullYear(r.y,0,r.j):"W"in r||"U"in r?("w"in r||(r.w="W"in r?1:0),a.setFullYear(r.y,0,1),a.setFullYear(r.y,0,"W"in r?(r.w+6)%7+7*r.W-(a.getDay()+5)%7:r.w+7*r.U-(a.getDay()+6)%7)):a.setFullYear(r.y,r.m,r.d),a.setHours(r.H+(r.Z/100|0),r.M+r.Z%100,r.S,r.L),i?a._:a},e.toString=function(){return t},e}function n(t,e,n,r){for(var i,a,o,u=0,s=e.length,c=n.length;u<s;){if(r>=c)return-1;if(37===(i=e.charCodeAt(u++))){if(o=e.charAt(u++),!(a=A[o in gu?e.charAt(u++):o])||(r=a(t,n,r))<0)return-1}else if(i!=n.charCodeAt(r++))return-1}return r}function r(t,e,n){L.lastIndex=0;var r=L.exec(e.slice(n));return r?(t.w=k.get(r[0].toLowerCase()),n+r[0].length):-1}function i(t,e,n){M.lastIndex=0;var r=M.exec(e.slice(n));return r?(t.w=b.get(r[0].toLowerCase()),n+r[0].length):-1}function a(t,e,n){x.lastIndex=0;var r=x.exec(e.slice(n));return r?(t.m=Y.get(r[0].toLowerCase()),n+r[0].length):-1}function o(t,e,n){w.lastIndex=0;var r=w.exec(e.slice(n));return r?(t.m=D.get(r[0].toLowerCase()),n+r[0].length):-1}function u(t,e,r){return n(t,T.c.toString(),e,r)}function s(t,e,r){return n(t,T.x.toString(),e,r)}function c(t,e,r){return n(t,T.X.toString(),e,r)}function l(t,e,n){var r=v.get(e.slice(n,n+=2).toLowerCase());return null==r?-1:(t.p=r,n)}var d=t.dateTime,h=t.date,f=t.time,_=t.periods,p=t.days,m=t.shortDays,y=t.months,g=t.shortMonths;e.utc=function(t){function n(t){try{mu=qt;var e=new mu;return e._=t,r(e)}finally{mu=Date}}var r=e(t);return n.parse=function(t){try{mu=qt;var e=r.parse(t);return e&&e._}finally{mu=Date}},n.toString=r.toString,n},e.multi=e.utc.multi=fe;var v=fo.map(),M=Jt(p),b=Zt(p),L=Jt(m),k=Zt(m),w=Jt(y),D=Zt(y),x=Jt(g),Y=Zt(g);_.forEach(function(t,e){v.set(t.toLowerCase(),e)});var T={a:function(t){return m[t.getDay()]},A:function(t){return p[t.getDay()]},b:function(t){return g[t.getMonth()]},B:function(t){return y[t.getMonth()]},c:e(d),d:function(t,e){return Gt(t.getDate(),e,2)},e:function(t,e){return Gt(t.getDate(),e,2)},H:function(t,e){return Gt(t.getHours(),e,2)},I:function(t,e){return Gt(t.getHours()%12||12,e,2)},j:function(t,e){return Gt(1+pu.dayOfYear(t),e,3)},L:function(t,e){return Gt(t.getMilliseconds(),e,3)},m:function(t,e){return Gt(t.getMonth()+1,e,2)},M:function(t,e){return Gt(t.getMinutes(),e,2)},p:function(t){return _[+(t.getHours()>=12)]},S:function(t,e){return Gt(t.getSeconds(),e,2)},U:function(t,e){return Gt(pu.sundayOfYear(t),e,2)},w:function(t){return t.getDay()},W:function(t,e){return Gt(pu.mondayOfYear(t),e,2)},x:e(h),X:e(f),y:function(t,e){return Gt(t.getFullYear()%100,e,2)},Y:function(t,e){return Gt(t.getFullYear()%1e4,e,4)},Z:de,"%":function(){return"%"}},A={a:r,A:i,b:a,B:o,c:u,d:ae,e:ae,H:ue,I:ue,j:oe,L:le,m:ie,M:se,p:l,S:ce,U:Xt,w:Kt,W:Qt,x:s,X:c,y:ee,Y:te,Z:ne,"%":he};return e}function Gt(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",a=i.length;return r+(a<n?new Array(n-a+1).join(e)+i:i)}function Jt(t){return new RegExp("^(?:"+t.map(fo.requote).join("|")+")","i")}function Zt(t){for(var e=new _,n=-1,r=t.length;++n<r;)e.set(t[n].toLowerCase(),n);return e}function Kt(t,e,n){vu.lastIndex=0;var r=vu.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function Xt(t,e,n){vu.lastIndex=0;var r=vu.exec(e.slice(n));return r?(t.U=+r[0],n+r[0].length):-1}function Qt(t,e,n){vu.lastIndex=0;var r=vu.exec(e.slice(n));return r?(t.W=+r[0],n+r[0].length):-1}function te(t,e,n){vu.lastIndex=0;var r=vu.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function ee(t,e,n){vu.lastIndex=0;var r=vu.exec(e.slice(n,n+2));return r?(t.y=re(+r[0]),n+r[0].length):-1}function ne(t,e,n){return/^[+-]\d{4}$/.test(e=e.slice(n,n+5))?(t.Z=-e,n+5):-1}function re(t){return t+(t>68?1900:2e3)}function ie(t,e,n){vu.lastIndex=0;var r=vu.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function ae(t,e,n){vu.lastIndex=0;var r=vu.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function oe(t,e,n){vu.lastIndex=0;var r=vu.exec(e.slice(n,n+3));return r?(t.j=+r[0],n+r[0].length):-1}function ue(t,e,n){vu.lastIndex=0;var r=vu.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function se(t,e,n){vu.lastIndex=0;var r=vu.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function ce(t,e,n){vu.lastIndex=0;var r=vu.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function le(t,e,n){vu.lastIndex=0;var r=vu.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function de(t){var e=t.getTimezoneOffset(),n=e>0?"-":"+",r=ko(e)/60|0,i=ko(e)%60;return n+Gt(r,"0",2)+Gt(i,"0",2)}function he(t,e,n){Mu.lastIndex=0;var r=Mu.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function fe(t){for(var e=t.length,n=-1;++n<e;)t[n][0]=this(t[n][0]);return function(e){for(var n=0,r=t[n];!r[1](e);)r=t[++n];return r[0](e)}}function _e(){}function pe(t,e,n){var r=n.s=t+e,i=r-t,a=r-i;n.t=t-a+(e-i)}function me(t,e){t&&wu.hasOwnProperty(t.type)&&wu[t.type](t,e)}function ye(t,e,n){var r,i=-1,a=t.length-n;for(e.lineStart();++i<a;)r=t[i],e.point(r[0],r[1],r[2]);e.lineEnd()}function ge(t,e){var n=-1,r=t.length;for(e.polygonStart();++n<r;)ye(t[n],e,1);e.polygonEnd()}function ve(){function t(t,e){t*=$o,e=e*$o/2+Wo/4;var n=t-r,o=n>=0?1:-1,u=o*n,s=Math.cos(e),c=Math.sin(e),l=a*c,d=i*s+l*Math.cos(u),h=l*o*Math.sin(u);xu.add(Math.atan2(h,d)),r=t,i=s,a=c}var e,n,r,i,a;Yu.point=function(o,u){Yu.point=t,r=(e=o)*$o,i=Math.cos(u=(n=u)*$o/2+Wo/4),a=Math.sin(u)},Yu.lineEnd=function(){t(e,n)}}function Me(t){var e=t[0],n=t[1],r=Math.cos(n);return[r*Math.cos(e),r*Math.sin(e),Math.sin(n)]}function be(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function Le(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function ke(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function we(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function De(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}function xe(t){return[Math.atan2(t[1],t[0]),ot(t[2])]}function Ye(t,e){return ko(t[0]-e[0])<Io&&ko(t[1]-e[1])<Io}function Te(t,e){t*=$o;var n=Math.cos(e*=$o);Ae(n*Math.cos(t),n*Math.sin(t),Math.sin(e))}function Ae(t,e,n){++Tu,Eu+=(t-Eu)/Tu,Su+=(e-Su)/Tu,Fu+=(n-Fu)/Tu}function Ee(){function t(t,i){t*=$o;var a=Math.cos(i*=$o),o=a*Math.cos(t),u=a*Math.sin(t),s=Math.sin(i),c=Math.atan2(Math.sqrt((c=n*s-r*u)*c+(c=r*o-e*s)*c+(c=e*u-n*o)*c),e*o+n*u+r*s);Au+=c,Cu+=c*(e+(e=o)),ju+=c*(n+(n=u)),Hu+=c*(r+(r=s)),Ae(e,n,r)}var e,n,r;Bu.point=function(i,a){i*=$o;var o=Math.cos(a*=$o);e=o*Math.cos(i),n=o*Math.sin(i),r=Math.sin(a),Bu.point=t,Ae(e,n,r)}}function Se(){Bu.point=Te}function Fe(){function t(t,e){t*=$o;var n=Math.cos(e*=$o),o=n*Math.cos(t),u=n*Math.sin(t),s=Math.sin(e),c=i*s-a*u,l=a*o-r*s,d=r*u-i*o,h=Math.sqrt(c*c+l*l+d*d),f=r*o+i*u+a*s,_=h&&-at(f)/h,p=Math.atan2(h,f);Ou+=_*c,Pu+=_*l,Nu+=_*d,Au+=p,Cu+=p*(r+(r=o)),ju+=p*(i+(i=u)),Hu+=p*(a+(a=s)),Ae(r,i,a)}var e,n,r,i,a;Bu.point=function(o,u){e=o,n=u,Bu.point=t,o*=$o;var s=Math.cos(u*=$o);r=s*Math.cos(o),i=s*Math.sin(o),a=Math.sin(u),Ae(r,i,a)},Bu.lineEnd=function(){t(e,n),Bu.lineEnd=Se,Bu.point=Te}}function Ce(t,e){function n(n,r){return n=t(n,r),e(n[0],n[1])}return t.invert&&e.invert&&(n.invert=function(n,r){return(n=e.invert(n,r))&&t.invert(n[0],n[1])}),n}function je(){return!0}function He(t,e,n,r,i){var a=[],o=[];if(t.forEach(function(t){if(!((e=t.length-1)<=0)){var e,n=t[0],r=t[e];if(Ye(n,r)){i.lineStart();for(var u=0;u<e;++u)i.point((n=t[u])[0],n[1]);return void i.lineEnd()}var s=new Pe(n,t,null,!0),c=new Pe(n,null,s,!1);s.o=c,a.push(s),o.push(c),s=new Pe(r,t,null,!1),c=new Pe(r,null,s,!0),s.o=c,a.push(s),o.push(c)}}),o.sort(e),Oe(a),Oe(o),a.length){for(var u=0,s=n,c=o.length;u<c;++u)o[u].e=s=!s;for(var l,d,h=a[0];;){for(var f=h,_=!0;f.v;)if((f=f.n)===h)return;l=f.z,i.lineStart();do{if(f.v=f.o.v=!0,f.e){if(_)for(var u=0,c=l.length;u<c;++u)i.point((d=l[u])[0],d[1]);else r(f.x,f.n.x,1,i);f=f.n}else{if(_){l=f.p.z;for(var u=l.length-1;u>=0;--u)i.point((d=l[u])[0],d[1])}else r(f.x,f.p.x,-1,i);f=f.p}f=f.o,l=f.z,_=!_}while(!f.v);i.lineEnd()}}}function Oe(t){if(e=t.length){for(var e,n,r=0,i=t[0];++r<e;)i.n=n=t[r],n.p=i,i=n;i.n=n=t[0],n.p=i}}function Pe(t,e,n,r){this.x=t,this.z=e,this.o=n,this.e=r,this.v=!1,this.n=this.p=null}function Ne(t,e,n,r){return function(i,a){function o(e,n){var r=i(e,n);t(e=r[0],n=r[1])&&a.point(e,n)}function u(t,e){var n=i(t,e);m.point(n[0],n[1])}function s(){g.point=u,m.lineStart()}function c(){g.point=o,m.lineEnd()}function l(t,e){p.push([t,e]);var n=i(t,e);M.point(n[0],n[1])}function d(){M.lineStart(),p=[]}function h(){l(p[0][0],p[0][1]),M.lineEnd();var t,e=M.clean(),n=v.buffer(),r=n.length;if(p.pop(),_.push(p),p=null,r)if(1&e){t=n[0];var i,r=t.length-1,o=-1;if(r>0){for(b||(a.polygonStart(),b=!0),a.lineStart();++o<r;)a.point((i=t[o])[0],i[1]);a.lineEnd()}}else r>1&&2&e&&n.push(n.pop().concat(n.shift())),f.push(n.filter(Be))}var f,_,p,m=e(a),y=i.invert(r[0],r[1]),g={point:o,lineStart:s,lineEnd:c,polygonStart:function(){g.point=l,g.lineStart=d,g.lineEnd=h,f=[],_=[]},polygonEnd:function(){g.point=o,g.lineStart=s,g.lineEnd=c,f=fo.merge(f);var t=Ue(y,_);f.length?(b||(a.polygonStart(),b=!0),He(f,Re,t,n,a)):t&&(b||(a.polygonStart(),b=!0),a.lineStart(),n(null,null,1,a),a.lineEnd()),b&&(a.polygonEnd(),b=!1),f=_=null},sphere:function(){a.polygonStart(),a.lineStart(),n(null,null,1,a),a.lineEnd(),a.polygonEnd()}},v=Ie(),M=e(v),b=!1;return g}}function Be(t){return t.length>1}function Ie(){var t,e=[];return{lineStart:function(){e.push(t=[])},point:function(e,n){t.push([e,n])},lineEnd:x,buffer:function(){var n=e;return e=[],t=null,n},rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))}}}function Re(t,e){return((t=t.x)[0]<0?t[1]-Uo-Io:Uo-t[1])-((e=e.x)[0]<0?e[1]-Uo-Io:Uo-e[1])}function We(t){var e,n=NaN,r=NaN,i=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(a,o){var u=a>0?Wo:-Wo,s=ko(a-n);ko(s-Wo)<Io?(t.point(n,r=(r+o)/2>0?Uo:-Uo),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(u,r),t.point(a,r),e=0):i!==u&&s>=Wo&&(ko(n-i)<Io&&(n-=i*Io),ko(a-u)<Io&&(a-=u*Io),r=ze(n,r,a,o),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(u,r),e=0),t.point(n=a,r=o),i=u},lineEnd:function(){t.lineEnd(),n=r=NaN},clean:function(){return 2-e}}}function ze(t,e,n,r){var i,a,o=Math.sin(t-n);return ko(o)>Io?Math.atan((Math.sin(e)*(a=Math.cos(r))*Math.sin(n)-Math.sin(r)*(i=Math.cos(e))*Math.sin(t))/(i*a*o)):(e+r)/2}function qe(t,e,n,r){var i;if(null==t)i=n*Uo,r.point(-Wo,i),r.point(0,i),r.point(Wo,i),r.point(Wo,0),r.point(Wo,-i),r.point(0,-i),r.point(-Wo,-i),r.point(-Wo,0),r.point(-Wo,i);else if(ko(t[0]-e[0])>Io){var a=t[0]<e[0]?Wo:-Wo;i=n*a/2,r.point(-a,i),r.point(0,i),r.point(a,i)}else r.point(e[0],e[1])}function Ue(t,e){var n=t[0],r=t[1],i=[Math.sin(n),-Math.cos(n),0],a=0,o=0;xu.reset();for(var u=0,s=e.length;u<s;++u){var c=e[u],l=c.length;if(l)for(var d=c[0],h=d[0],f=d[1]/2+Wo/4,_=Math.sin(f),p=Math.cos(f),m=1;;){m===l&&(m=0),t=c[m];var y=t[0],g=t[1]/2+Wo/4,v=Math.sin(g),M=Math.cos(g),b=y-h,L=b>=0?1:-1,k=L*b,w=k>Wo,D=_*v;if(xu.add(Math.atan2(D*L*Math.sin(k),p*M+D*Math.cos(k))),a+=w?b+L*zo:b,w^h>=n^y>=n){var x=Le(Me(d),Me(t));De(x);var Y=Le(i,x);De(Y);var T=(w^b>=0?-1:1)*ot(Y[2]);(r>T||r===T&&(x[0]||x[1]))&&(o+=w^b>=0?1:-1)}if(!m++)break;h=y,_=v,p=M,d=t}}return(a<-Io||a<Io&&xu<-Io)^1&o}function $e(t){function e(t,e){return Math.cos(t)*Math.cos(e)>a}function n(t){var n,a,s,c,l;return{lineStart:function(){c=s=!1,l=1},point:function(d,h){var f,_=[d,h],p=e(d,h),m=o?p?0:i(d,h):p?i(d+(d<0?Wo:-Wo),h):0;if(!n&&(c=s=p)&&t.lineStart(),p!==s&&(f=r(n,_),(Ye(n,f)||Ye(_,f))&&(_[0]+=Io,_[1]+=Io,p=e(_[0],_[1]))),p!==s)l=0,p?(t.lineStart(),f=r(_,n),t.point(f[0],f[1])):(f=r(n,_),t.point(f[0],f[1]),t.lineEnd()),n=f;else if(u&&n&&o^p){var y;m&a||!(y=r(_,n,!0))||(l=0,o?(t.lineStart(),t.point(y[0][0],y[0][1]),t.point(y[1][0],y[1][1]),t.lineEnd()):(t.point(y[1][0],y[1][1]),t.lineEnd(),t.lineStart(),t.point(y[0][0],y[0][1])))}!p||n&&Ye(n,_)||t.point(_[0],_[1]),n=_,s=p,a=m},lineEnd:function(){s&&t.lineEnd(),n=null},clean:function(){return l|(c&&s)<<1}}}function r(t,e,n){var r=Me(t),i=Me(e),o=[1,0,0],u=Le(r,i),s=be(u,u),c=u[0],l=s-c*c;if(!l)return!n&&t;var d=a*s/l,h=-a*c/l,f=Le(o,u),_=we(o,d);ke(_,we(u,h));var p=f,m=be(_,p),y=be(p,p),g=m*m-y*(be(_,_)-1);if(!(g<0)){var v=Math.sqrt(g),M=we(p,(-m-v)/y);if(ke(M,_),M=xe(M),!n)return M;var b,L=t[0],k=e[0],w=t[1],D=e[1];k<L&&(b=L,L=k,k=b);var x=k-L,Y=ko(x-Wo)<Io,T=Y||x<Io;if(!Y&&D<w&&(b=w,w=D,D=b),T?Y?w+D>0^M[1]<(ko(M[0]-L)<Io?w:D):w<=M[1]&&M[1]<=D:x>Wo^(L<=M[0]&&M[0]<=k)){var A=we(p,(-m+v)/y);return ke(A,_),[M,xe(A)]}}}function i(e,n){var r=o?t:Wo-t,i=0;return e<-r?i|=1:e>r&&(i|=2),n<-r?i|=4:n>r&&(i|=8),i}var a=Math.cos(t),o=a>0,u=ko(a)>Io;return Ne(e,n,Mn(t,6*$o),o?[0,-t]:[-Wo,t-Wo])}function Ve(t,e,n,r){return function(i){var a,o=i.a,u=i.b,s=o.x,c=o.y,l=u.x,d=u.y,h=0,f=1,_=l-s,p=d-c;if(a=t-s,_||!(a>0)){if(a/=_,_<0){if(a<h)return;a<f&&(f=a)}else if(_>0){if(a>f)return;a>h&&(h=a)}if(a=n-s,_||!(a<0)){if(a/=_,_<0){if(a>f)return;a>h&&(h=a)}else if(_>0){if(a<h)return;a<f&&(f=a)}if(a=e-c,p||!(a>0)){if(a/=p,p<0){if(a<h)return;a<f&&(f=a)}else if(p>0){if(a>f)return;a>h&&(h=a)}if(a=r-c,p||!(a<0)){if(a/=p,p<0){if(a>f)return;a>h&&(h=a)}else if(p>0){if(a<h)return;a<f&&(f=a)}return h>0&&(i.a={x:s+h*_,y:c+h*p}),f<1&&(i.b={x:s+f*_,y:c+f*p}),i}}}}}}function Ge(t,e,n,r){function i(r,i){return ko(r[0]-t)<Io?i>0?0:3:ko(r[0]-n)<Io?i>0?2:1:ko(r[1]-e)<Io?i>0?1:0:i>0?3:2}function a(t,e){return o(t.x,e.x)}function o(t,e){var n=i(t,1),r=i(e,1);return n!==r?n-r:0===n?e[1]-t[1]:1===n?t[0]-e[0]:2===n?t[1]-e[1]:e[0]-t[0]}return function(u){function s(t){for(var e=0,n=m.length,r=t[1],i=0;i<n;++i)for(var a,o=1,u=m[i],s=u.length,c=u[0];o<s;++o)a=u[o],c[1]<=r?a[1]>r&&it(c,a,t)>0&&++e:a[1]<=r&&it(c,a,t)<0&&--e,c=a;return 0!==e}function c(a,u,s,c){var l=0,d=0;if(null==a||(l=i(a,s))!==(d=i(u,s))||o(a,u)<0^s>0)do{c.point(0===l||3===l?t:n,l>1?r:e)}while((l=(l+s+4)%4)!==d);else c.point(u[0],u[1])}function l(i,a){return t<=i&&i<=n&&e<=a&&a<=r}function d(t,e){l(t,e)&&u.point(t,e)}function h(){A.point=_,m&&m.push(y=[]),w=!0,k=!1,b=L=NaN}function f(){p&&(_(g,v),M&&k&&Y.rejoin(),p.push(Y.buffer())),A.point=d,k&&u.lineEnd()}function _(t,e){t=Math.max(-Ru,Math.min(Ru,t)),e=Math.max(-Ru,Math.min(Ru,e));var n=l(t,e);if(m&&y.push([t,e]),w)g=t,v=e,M=n,w=!1,n&&(u.lineStart(),u.point(t,e));else if(n&&k)u.point(t,e);else{var r={a:{x:b,y:L},b:{x:t,y:e}};T(r)?(k||(u.lineStart(),u.point(r.a.x,r.a.y)),u.point(r.b.x,r.b.y),n||u.lineEnd(),D=!1):n&&(u.lineStart(),u.point(t,e),D=!1)}b=t,L=e,k=n}var p,m,y,g,v,M,b,L,k,w,D,x=u,Y=Ie(),T=Ve(t,e,n,r),A={point:d,lineStart:h,lineEnd:f,polygonStart:function(){u=Y,p=[],m=[],D=!0},polygonEnd:function(){u=x,p=fo.merge(p);var e=s([t,r]),n=D&&e,i=p.length;(n||i)&&(u.polygonStart(),n&&(u.lineStart(),c(null,null,1,u),u.lineEnd()),i&&He(p,a,e,c,u),u.polygonEnd()),p=m=y=null}};return A}}function Je(t){var e=0,n=Wo/3,r=hn(t),i=r(e,n);return i.parallels=function(t){return arguments.length?r(e=t[0]*Wo/180,n=t[1]*Wo/180):[e/Wo*180,n/Wo*180]},i}function Ze(t,e){function n(t,e){var n=Math.sqrt(a-2*i*Math.sin(e))/i;return[n*Math.sin(t*=i),o-n*Math.cos(t)]}var r=Math.sin(t),i=(r+Math.sin(e))/2,a=1+r*(2*i-r),o=Math.sqrt(a)/i;return n.invert=function(t,e){var n=o-e;return[Math.atan2(t,n)/i,ot((a-(t*t+n*n)*i*i)/(2*i))]},n}function Ke(){function t(t,e){zu+=i*t-r*e,r=t,i=e}var e,n,r,i;Gu.point=function(a,o){Gu.point=t,e=r=a,n=i=o},Gu.lineEnd=function(){t(e,n)}}function Xe(t,e){t<qu&&(qu=t),t>$u&&($u=t),e<Uu&&(Uu=e),e>Vu&&(Vu=e)}function Qe(){function t(t,e){o.push("M",t,",",e,a)}function e(t,e){o.push("M",t,",",e),u.point=n}function n(t,e){o.push("L",t,",",e)}function r(){u.point=t}function i(){o.push("Z")}var a=tn(4.5),o=[],u={point:t,lineStart:function(){u.point=e},lineEnd:r,polygonStart:function(){u.lineEnd=i},polygonEnd:function(){u.lineEnd=r,u.point=t},pointRadius:function(t){return a=tn(t),u},result:function(){if(o.length){var t=o.join("");return o=[],t}}};return u}function tn(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}function en(t,e){Eu+=t,Su+=e,++Fu}function nn(){function t(t,r){var i=t-e,a=r-n,o=Math.sqrt(i*i+a*a);Cu+=o*(e+t)/2,ju+=o*(n+r)/2,Hu+=o,en(e=t,n=r)}var e,n;Zu.point=function(r,i){Zu.point=t,en(e=r,n=i)}}function rn(){Zu.point=en}function an(){function t(t,e){var n=t-r,a=e-i,o=Math.sqrt(n*n+a*a);Cu+=o*(r+t)/2,ju+=o*(i+e)/2,Hu+=o,o=i*t-r*e,Ou+=o*(r+t),Pu+=o*(i+e),Nu+=3*o,en(r=t,i=e)}var e,n,r,i;Zu.point=function(a,o){Zu.point=t,en(e=r=a,n=i=o)},Zu.lineEnd=function(){t(e,n)}}function on(t){function e(e,n){t.moveTo(e+o,n),t.arc(e,n,o,0,zo)}function n(e,n){t.moveTo(e,n),u.point=r}function r(e,n){t.lineTo(e,n)}function i(){u.point=e}function a(){t.closePath()}var o=4.5,u={point:e,lineStart:function(){u.point=n},lineEnd:i,polygonStart:function(){u.lineEnd=a},polygonEnd:function(){u.lineEnd=i,u.point=e},pointRadius:function(t){return o=t,u},result:x};return u}function un(t){function e(t){return(u?r:n)(t)}function n(e){return ln(e,function(n,r){n=t(n,r),e.point(n[0],n[1])})}function r(e){function n(n,r){n=t(n,r),e.point(n[0],n[1])}function r(){v=NaN,w.point=a,e.lineStart()}function a(n,r){var a=Me([n,r]),o=t(n,r);i(v,M,g,b,L,k,v=o[0],M=o[1],g=n,b=a[0],L=a[1],k=a[2],u,e),e.point(v,M)}function o(){w.point=n,e.lineEnd()}function s(){r(),w.point=c,w.lineEnd=l}function c(t,e){a(d=t,h=e),f=v,_=M,p=b,m=L,y=k,w.point=a}function l(){i(v,M,g,b,L,k,f,_,d,p,m,y,u,e),w.lineEnd=o,o()}var d,h,f,_,p,m,y,g,v,M,b,L,k,w={point:n,lineStart:r,lineEnd:o,polygonStart:function(){e.polygonStart(),w.lineStart=s},polygonEnd:function(){e.polygonEnd(),w.lineStart=r}};return w}function i(e,n,r,u,s,c,l,d,h,f,_,p,m,y){var g=l-e,v=d-n,M=g*g+v*v;if(M>4*a&&m--){var b=u+f,L=s+_,k=c+p,w=Math.sqrt(b*b+L*L+k*k),D=Math.asin(k/=w),x=ko(ko(k)-1)<Io||ko(r-h)<Io?(r+h)/2:Math.atan2(L,b),Y=t(x,D),T=Y[0],A=Y[1],E=T-e,S=A-n,F=v*E-g*S;(F*F/M>a||ko((g*E+v*S)/M-.5)>.3||u*f+s*_+c*p<o)&&(i(e,n,r,u,s,c,T,A,x,b/=w,L/=w,k,m,y),y.point(T,A),i(T,A,x,b,L,k,l,d,h,f,_,p,m,y))}}var a=.5,o=Math.cos(30*$o),u=16;return e.precision=function(t){return arguments.length?(u=(a=t*t)>0&&16,e):Math.sqrt(a)},e}function sn(t){var e=un(function(e,n){return t([e*Vo,n*Vo])});return function(t){return fn(e(t))}}function cn(t){this.stream=t}function ln(t,e){return{point:e,sphere:function(){t.sphere()},lineStart:function(){t.lineStart()},lineEnd:function(){t.lineEnd()},polygonStart:function(){t.polygonStart()},polygonEnd:function(){t.polygonEnd()}}}function dn(t){return hn(function(){return t})()}function hn(t){function e(t){return t=u(t[0]*$o,t[1]*$o),[t[0]*h+s,c-t[1]*h]}function n(t){return(t=u.invert((t[0]-s)/h,(c-t[1])/h))&&[t[0]*Vo,t[1]*Vo]}function r(){u=Ce(o=mn(y,g,v),a);var t=a(p,m);return s=f-t[0]*h,c=_+t[1]*h,i()}function i(){return l&&(l.valid=!1,l=null),e}var a,o,u,s,c,l,d=un(function(t,e){return t=a(t,e),[t[0]*h+s,c-t[1]*h]}),h=150,f=480,_=250,p=0,m=0,y=0,g=0,v=0,M=Iu,b=k,L=null,w=null;return e.stream=function(t){return l&&(l.valid=!1),l=fn(M(o,d(b(t)))),l.valid=!0,l},e.clipAngle=function(t){return arguments.length?(M=null==t?(L=t,Iu):$e((L=+t)*$o),i()):L},e.clipExtent=function(t){return arguments.length?(w=t,b=t?Ge(t[0][0],t[0][1],t[1][0],t[1][1]):k,i()):w},e.scale=function(t){return arguments.length?(h=+t,r()):h},e.translate=function(t){return arguments.length?(f=+t[0],_=+t[1],r()):[f,_]},e.center=function(t){return arguments.length?(p=t[0]%360*$o,m=t[1]%360*$o,r()):[p*Vo,m*Vo]},e.rotate=function(t){return arguments.length?(y=t[0]%360*$o,g=t[1]%360*$o,v=t.length>2?t[2]%360*$o:0,r()):[y*Vo,g*Vo,v*Vo]},fo.rebind(e,d,"precision"),function(){return a=t.apply(this,arguments),e.invert=a.invert&&n,r()}}function fn(t){return ln(t,function(e,n){t.point(e*$o,n*$o)})}function _n(t,e){return[t,e]}function pn(t,e){return[t>Wo?t-zo:t<-Wo?t+zo:t,e]}function mn(t,e,n){return t?e||n?Ce(gn(t),vn(e,n)):gn(t):e||n?vn(e,n):pn}function yn(t){return function(e,n){return e+=t,[e>Wo?e-zo:e<-Wo?e+zo:e,n]}}function gn(t){var e=yn(t);return e.invert=yn(-t),e}function vn(t,e){function n(t,e){var n=Math.cos(e),u=Math.cos(t)*n,s=Math.sin(t)*n,c=Math.sin(e),l=c*r+u*i;return[Math.atan2(s*a-l*o,u*r-c*i),ot(l*a+s*o)]}var r=Math.cos(t),i=Math.sin(t),a=Math.cos(e),o=Math.sin(e);return n.invert=function(t,e){var n=Math.cos(e),u=Math.cos(t)*n,s=Math.sin(t)*n,c=Math.sin(e),l=c*a-s*o;return[Math.atan2(s*a+c*o,u*r+l*i),ot(l*r-u*i)]},n}function Mn(t,e){var n=Math.cos(t),r=Math.sin(t);return function(i,a,o,u){var s=o*e;null!=i?(i=bn(n,i),a=bn(n,a),(o>0?i<a:i>a)&&(i+=o*zo)):(i=t+o*zo,a=t-.5*s);for(var c,l=i;o>0?l>a:l<a;l-=s)u.point((c=xe([n,-r*Math.cos(l),-r*Math.sin(l)]))[0],c[1])}}function bn(t,e){var n=Me(e);n[0]-=t,De(n);var r=at(-n[1]);return((-n[2]<0?-r:r)+2*Math.PI-Io)%(2*Math.PI)}function Ln(t,e,n){var r=fo.range(t,e-Io,n).concat(e);return function(t){return r.map(function(e){return[t,e]})}}function kn(t,e,n){var r=fo.range(t,e-Io,n).concat(e);return function(t){return r.map(function(e){return[e,t]})}}function wn(t){return t.source}function Dn(t){return t.target}function xn(t,e,n,r){var i=Math.cos(e),a=Math.sin(e),o=Math.cos(r),u=Math.sin(r),s=i*Math.cos(t),c=i*Math.sin(t),l=o*Math.cos(n),d=o*Math.sin(n),h=2*Math.asin(Math.sqrt(lt(r-e)+i*o*lt(n-t))),f=1/Math.sin(h),_=h?function(t){var e=Math.sin(t*=h)*f,n=Math.sin(h-t)*f,r=n*s+e*l,i=n*c+e*d,o=n*a+e*u;return[Math.atan2(i,r)*Vo,Math.atan2(o,Math.sqrt(r*r+i*i))*Vo]}:function(){return[t*Vo,e*Vo]};return _.distance=h,_}function Yn(){function t(t,i){var a=Math.sin(i*=$o),o=Math.cos(i),u=ko((t*=$o)-e),s=Math.cos(u);Ku+=Math.atan2(Math.sqrt((u=o*Math.sin(u))*u+(u=r*a-n*o*s)*u),n*a+r*o*s),e=t,n=a,r=o}var e,n,r;Xu.point=function(i,a){e=i*$o,n=Math.sin(a*=$o),r=Math.cos(a),Xu.point=t},Xu.lineEnd=function(){Xu.point=Xu.lineEnd=x}}function Tn(t,e){function n(e,n){var r=Math.cos(e),i=Math.cos(n),a=t(r*i);return[a*i*Math.sin(e),a*Math.sin(n)]}return n.invert=function(t,n){var r=Math.sqrt(t*t+n*n),i=e(r),a=Math.sin(i),o=Math.cos(i);return[Math.atan2(t*a,r*o),Math.asin(r&&n*a/r)]},n}function An(t,e){function n(t,e){o>0?e<-Uo+Io&&(e=-Uo+Io):e>Uo-Io&&(e=Uo-Io);var n=o/Math.pow(i(e),a);return[n*Math.sin(a*t),o-n*Math.cos(a*t)]}var r=Math.cos(t),i=function(t){return Math.tan(Wo/4+t/2)},a=t===e?Math.sin(t):Math.log(r/Math.cos(e))/Math.log(i(e)/i(t)),o=r*Math.pow(i(t),a)/a;return a?(n.invert=function(t,e){var n=o-e,r=rt(a)*Math.sqrt(t*t+n*n);return[Math.atan2(t,n)/a,2*Math.atan(Math.pow(o/r,1/a))-Uo]},n):Sn}function En(t,e){function n(t,e){var n=a-e;return[n*Math.sin(i*t),a-n*Math.cos(i*t)]}var r=Math.cos(t),i=t===e?Math.sin(t):(r-Math.cos(e))/(e-t),a=r/i+t;return ko(i)<Io?_n:(n.invert=function(t,e){var n=a-e;return[Math.atan2(t,n)/i,a-rt(i)*Math.sqrt(t*t+n*n)]},n)}function Sn(t,e){return[t,Math.log(Math.tan(Wo/4+e/2))]}function Fn(t){var e,n=dn(t),r=n.scale,i=n.translate,a=n.clipExtent;return n.scale=function(){var t=r.apply(n,arguments);return t===n?e?n.clipExtent(null):n:t},n.translate=function(){var t=i.apply(n,arguments);return t===n?e?n.clipExtent(null):n:t},n.clipExtent=function(t){var o=a.apply(n,arguments);if(o===n){if(e=null==t){var u=Wo*r(),s=i();a([[s[0]-u,s[1]-u],[s[0]+u,s[1]+u]])}}else e&&(o=null);return o},n.clipExtent(null)}function Cn(t,e){return[Math.log(Math.tan(Wo/4+e/2)),-t]}function jn(t){return t[0]}function Hn(t){return t[1]}function On(t){for(var e=t.length,n=[0,1],r=2,i=2;i<e;i++){for(;r>1&&it(t[n[r-2]],t[n[r-1]],t[i])<=0;)--r;n[r++]=i}return n.slice(0,r)}function Pn(t,e){return t[0]-e[0]||t[1]-e[1]}function Nn(t,e,n){return(n[0]-e[0])*(t[1]-e[1])<(n[1]-e[1])*(t[0]-e[0])}function Bn(t,e,n,r){var i=t[0],a=n[0],o=e[0]-i,u=r[0]-a,s=t[1],c=n[1],l=e[1]-s,d=r[1]-c,h=(u*(s-c)-d*(i-a))/(d*o-u*l);return[i+h*o,s+h*l]}function In(t){var e=t[0],n=t[t.length-1];return!(e[0]-n[0]||e[1]-n[1])}function Rn(){sr(this),this.edge=this.site=this.circle=null}function Wn(t){var e=ls.pop()||new Rn;return e.site=t,e}function zn(t){Qn(t),us.remove(t),ls.push(t),sr(t)}function qn(t){var e=t.circle,n=e.x,r=e.cy,i={x:n,y:r},a=t.P,o=t.N,u=[t];zn(t);for(var s=a;s.circle&&ko(n-s.circle.x)<Io&&ko(r-s.circle.cy)<Io;)a=s.P,u.unshift(s),zn(s),s=a;u.unshift(s),Qn(s);for(var c=o;c.circle&&ko(n-c.circle.x)<Io&&ko(r-c.circle.cy)<Io;)o=c.N,u.push(c),zn(c),c=o;u.push(c),Qn(c);var l,d=u.length;for(l=1;l<d;++l)c=u[l],s=u[l-1],ar(c.edge,s.site,c.site,i);s=u[0],c=u[d-1],c.edge=rr(s.site,c.site,null,i),Xn(s),Xn(c)}function Un(t){for(var e,n,r,i,a=t.x,o=t.y,u=us._;u;)if((r=$n(u,o)-a)>Io)u=u.L;else{if(!((i=a-Vn(u,o))>Io)){r>-Io?(e=u.P,n=u):i>-Io?(e=u,n=u.N):e=n=u;break}if(!u.R){e=u;break}u=u.R}var s=Wn(t);if(us.insert(e,s),e||n){if(e===n)return Qn(e),n=Wn(e.site),us.insert(s,n),s.edge=n.edge=rr(e.site,s.site),Xn(e),void Xn(n);if(!n)return void(s.edge=rr(e.site,s.site));Qn(e),Qn(n);var c=e.site,l=c.x,d=c.y,h=t.x-l,f=t.y-d,_=n.site,p=_.x-l,m=_.y-d,y=2*(h*m-f*p),g=h*h+f*f,v=p*p+m*m,M={x:(m*g-f*v)/y+l,y:(h*v-p*g)/y+d};ar(n.edge,c,_,M),s.edge=rr(c,t,null,M),n.edge=rr(t,_,null,M),Xn(e),Xn(n)}}function $n(t,e){var n=t.site,r=n.x,i=n.y,a=i-e;if(!a)return r;var o=t.P;if(!o)return-1/0;n=o.site;var u=n.x,s=n.y,c=s-e;if(!c)return u;var l=u-r,d=1/a-1/c,h=l/c;return d?(-h+Math.sqrt(h*h-2*d*(l*l/(-2*c)-s+c/2+i-a/2)))/d+r:(r+u)/2}function Vn(t,e){var n=t.N;if(n)return $n(n,e);var r=t.site;return r.y===e?r.x:1/0}function Gn(t){this.site=t,this.edges=[]}function Jn(t){for(var e,n,r,i,a,o,u,s,c,l,d=t[0][0],h=t[1][0],f=t[0][1],_=t[1][1],p=os,m=p.length;m--;)if((a=p[m])&&a.prepare())for(u=a.edges,s=u.length,o=0;o<s;)l=u[o].end(),r=l.x,i=l.y,c=u[++o%s].start(),e=c.x,n=c.y,(ko(r-e)>Io||ko(i-n)>Io)&&(u.splice(o,0,new or(ir(a.site,l,ko(r-d)<Io&&_-i>Io?{x:d,y:ko(e-d)<Io?n:_}:ko(i-_)<Io&&h-r>Io?{x:ko(n-_)<Io?e:h,y:_}:ko(r-h)<Io&&i-f>Io?{x:h,y:ko(e-h)<Io?n:f}:ko(i-f)<Io&&r-d>Io?{x:ko(n-f)<Io?e:d,y:f}:null),a.site,null)),++s)}function Zn(t,e){return e.angle-t.angle}function Kn(){sr(this),this.x=this.y=this.arc=this.site=this.cy=null}function Xn(t){var e=t.P,n=t.N;if(e&&n){var r=e.site,i=t.site,a=n.site;if(r!==a){var o=i.x,u=i.y,s=r.x-o,c=r.y-u,l=a.x-o,d=a.y-u,h=2*(s*d-c*l);if(!(h>=-Ro)){var f=s*s+c*c,_=l*l+d*d,p=(d*f-c*_)/h,m=(s*_-l*f)/h,d=m+u,y=ds.pop()||new Kn;y.arc=t,y.site=i,y.x=p+o,y.y=d+Math.sqrt(p*p+m*m),y.cy=d,t.circle=y;for(var g=null,v=cs._;v;)if(y.y<v.y||y.y===v.y&&y.x<=v.x){if(!v.L){g=v.P;break}v=v.L}else{if(!v.R){g=v;break}v=v.R}cs.insert(g,y),g||(ss=y)}}}}function Qn(t){var e=t.circle;e&&(e.P||(ss=e.N),cs.remove(e),ds.push(e),sr(e),t.circle=null)}function tr(t){for(var e,n=as,r=Ve(t[0][0],t[0][1],t[1][0],t[1][1]),i=n.length;i--;)e=n[i],(!er(e,t)||!r(e)||ko(e.a.x-e.b.x)<Io&&ko(e.a.y-e.b.y)<Io)&&(e.a=e.b=null,n.splice(i,1))}function er(t,e){var n=t.b;if(n)return!0;var r,i,a=t.a,o=e[0][0],u=e[1][0],s=e[0][1],c=e[1][1],l=t.l,d=t.r,h=l.x,f=l.y,_=d.x,p=d.y,m=(h+_)/2,y=(f+p)/2;if(p===f){if(m<o||m>=u)return;if(h>_){if(a){if(a.y>=c)return}else a={x:m,y:s};n={x:m,y:c}}else{if(a){if(a.y<s)return}else a={x:m,y:c};n={x:m,y:s}}}else if(r=(h-_)/(p-f),i=y-r*m,r<-1||r>1)if(h>_){if(a){if(a.y>=c)return}else a={x:(s-i)/r,y:s};n={x:(c-i)/r,y:c}}else{if(a){if(a.y<s)return}else a={x:(c-i)/r,y:c};n={x:(s-i)/r,y:s}}else if(f<p){if(a){if(a.x>=u)return}else a={x:o,y:r*o+i};n={x:u,y:r*u+i}}else{if(a){if(a.x<o)return}else a={x:u,y:r*u+i};n={x:o,y:r*o+i}}return t.a=a,t.b=n,!0}function nr(t,e){this.l=t,this.r=e,this.a=this.b=null}function rr(t,e,n,r){var i=new nr(t,e);return as.push(i),n&&ar(i,t,e,n),r&&ar(i,e,t,r),os[t.i].edges.push(new or(i,t,e)),os[e.i].edges.push(new or(i,e,t)),i}function ir(t,e,n){var r=new nr(t,null);return r.a=e,r.b=n,as.push(r),r}function ar(t,e,n,r){t.a||t.b?t.l===n?t.b=r:t.a=r:(t.a=r,t.l=e,t.r=n)}function or(t,e,n){var r=t.a,i=t.b;this.edge=t,this.site=e,this.angle=n?Math.atan2(n.y-e.y,n.x-e.x):t.l===e?Math.atan2(i.x-r.x,r.y-i.y):Math.atan2(r.x-i.x,i.y-r.y)}function ur(){this._=null}function sr(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function cr(t,e){var n=e,r=e.R,i=n.U;i?i.L===n?i.L=r:i.R=r:t._=r,r.U=i,n.U=r,n.R=r.L,n.R&&(n.R.U=n),r.L=n}function lr(t,e){var n=e,r=e.L,i=n.U;i?i.L===n?i.L=r:i.R=r:t._=r,r.U=i,n.U=r,n.L=r.R,n.L&&(n.L.U=n),r.R=n}function dr(t){for(;t.L;)t=t.L;return t}function hr(t,e){var n,r,i,a=t.sort(fr).pop();for(as=[],os=new Array(t.length),us=new ur,cs=new ur;;)if(i=ss,a&&(!i||a.y<i.y||a.y===i.y&&a.x<i.x))a.x===n&&a.y===r||(os[a.i]=new Gn(a),Un(a),n=a.x,r=a.y),a=t.pop();else{if(!i)break;qn(i.arc)}e&&(tr(e),Jn(e));var o={cells:os,edges:as};return us=cs=as=os=null,o}function fr(t,e){return e.y-t.y||e.x-t.x}function _r(t,e,n){return(t.x-n.x)*(e.y-t.y)-(t.x-e.x)*(n.y-t.y)}function pr(t){return t.x}function mr(t){return t.y}function yr(){return{leaf:!0,nodes:[],point:null,x:null,y:null}}function gr(t,e,n,r,i,a){if(!t(e,n,r,i,a)){var o=.5*(n+i),u=.5*(r+a),s=e.nodes;s[0]&&gr(t,s[0],n,r,o,u),s[1]&&gr(t,s[1],o,r,i,u),s[2]&&gr(t,s[2],n,u,o,a),s[3]&&gr(t,s[3],o,u,i,a)}}function vr(t,e,n,r,i,a,o){var u,s=1/0;return function t(c,l,d,h,f){if(!(l>a||d>o||h<r||f<i)){if(_=c.point){var _,p=e-c.x,m=n-c.y,y=p*p+m*m;if(y<s){var g=Math.sqrt(s=y);r=e-g,i=n-g,a=e+g,o=n+g,u=_}}for(var v=c.nodes,M=.5*(l+h),b=.5*(d+f),L=e>=M,k=n>=b,w=k<<1|L,D=w+4;w<D;++w)if(c=v[3&w])switch(3&w){case 0:t(c,l,d,M,b);break;case 1:t(c,M,d,h,b);break;case 2:t(c,l,b,M,f);break;case 3:t(c,M,b,h,f)}}}(t,r,i,a,o),u}function Mr(t,e){t=fo.rgb(t),e=fo.rgb(e);var n=t.r,r=t.g,i=t.b,a=e.r-n,o=e.g-r,u=e.b-i;return function(t){return"#"+Dt(Math.round(n+a*t))+Dt(Math.round(r+o*t))+Dt(Math.round(i+u*t))}}function br(t,e){var n,r={},i={};for(n in t)n in e?r[n]=wr(t[n],e[n]):i[n]=t[n];for(n in e)n in t||(i[n]=e[n]);return function(t){for(n in r)i[n]=r[n](t);return i}}function Lr(t,e){return t=+t,e=+e,function(n){return t*(1-n)+e*n}}function kr(t,e){var n,r,i,a=fs.lastIndex=_s.lastIndex=0,o=-1,u=[],s=[];for(t+="",e+="";(n=fs.exec(t))&&(r=_s.exec(e));)(i=r.index)>a&&(i=e.slice(a,i),u[o]?u[o]+=i:u[++o]=i),(n=n[0])===(r=r[0])?u[o]?u[o]+=r:u[++o]=r:(u[++o]=null,s.push({i:o,x:Lr(n,r)})),a=_s.lastIndex;return a<e.length&&(i=e.slice(a),u[o]?u[o]+=i:u[++o]=i),u.length<2?s[0]?(e=s[0].x,function(t){return e(t)+""}):function(){return e}:(e=s.length,function(t){for(var n,r=0;r<e;++r)u[(n=s[r]).i]=n.x(t);return u.join("")})}function wr(t,e){for(var n,r=fo.interpolators.length;--r>=0&&!(n=fo.interpolators[r](t,e)););return n}function Dr(t,e){var n,r=[],i=[],a=t.length,o=e.length,u=Math.min(t.length,e.length);for(n=0;n<u;++n)r.push(wr(t[n],e[n]));for(;n<a;++n)i[n]=t[n];for(;n<o;++n)i[n]=e[n];return function(t){for(n=0;n<u;++n)i[n]=r[n](t);return i}}function xr(t){return function(e){return e<=0?0:e>=1?1:t(e)}}function Yr(t){return function(e){return 1-t(1-e)}}function Tr(t){return function(e){return.5*(e<.5?t(2*e):2-t(2-2*e))}}function Ar(t){return t*t}function Er(t){return t*t*t}function Sr(t){if(t<=0)return 0;if(t>=1)return 1;var e=t*t,n=e*t;return 4*(t<.5?n:3*(t-e)+n-.75)}function Fr(t){return function(e){return Math.pow(e,t)}}function Cr(t){return 1-Math.cos(t*Uo)}function jr(t){return Math.pow(2,10*(t-1))}function Hr(t){return 1-Math.sqrt(1-t*t)}function Or(t,e){var n;return arguments.length<2&&(e=.45),arguments.length?n=e/zo*Math.asin(1/t):(t=1,n=e/4),function(r){return 1+t*Math.pow(2,-10*r)*Math.sin((r-n)*zo/e)}}function Pr(t){return t||(t=1.70158),function(e){return e*e*((t+1)*e-t)}}function Nr(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}function Br(t,e){t=fo.hcl(t),e=fo.hcl(e);var n=t.h,r=t.c,i=t.l,a=e.h-n,o=e.c-r,u=e.l-i;return isNaN(o)&&(o=0,r=isNaN(r)?e.c:r),isNaN(a)?(a=0,n=isNaN(n)?e.h:n):a>180?a-=360:a<-180&&(a+=360),function(t){return pt(n+a*t,r+o*t,i+u*t)+""}}function Ir(t,e){t=fo.hsl(t),e=fo.hsl(e);var n=t.h,r=t.s,i=t.l,a=e.h-n,o=e.s-r,u=e.l-i;return isNaN(o)&&(o=0,r=isNaN(r)?e.s:r),isNaN(a)?(a=0,n=isNaN(n)?e.h:n):a>180?a-=360:a<-180&&(a+=360),function(t){return ft(n+a*t,r+o*t,i+u*t)+""}}function Rr(t,e){t=fo.lab(t),e=fo.lab(e);var n=t.l,r=t.a,i=t.b,a=e.l-n,o=e.a-r,u=e.b-i;return function(t){return yt(n+a*t,r+o*t,i+u*t)+""}}function Wr(t,e){return e-=t,function(n){return Math.round(t+e*n)}}function zr(t){var e=[t.a,t.b],n=[t.c,t.d],r=Ur(e),i=qr(e,n),a=Ur($r(n,e,-i))||0;e[0]*n[1]<n[0]*e[1]&&(e[0]*=-1,e[1]*=-1,r*=-1,i*=-1),this.rotate=(r?Math.atan2(e[1],e[0]):Math.atan2(-n[0],n[1]))*Vo,this.translate=[t.e,t.f],this.scale=[r,a],this.skew=a?Math.atan2(i,a)*Vo:0}function qr(t,e){return t[0]*e[0]+t[1]*e[1]}function Ur(t){var e=Math.sqrt(qr(t,t));return e&&(t[0]/=e,t[1]/=e),e}function $r(t,e,n){return t[0]+=n*e[0],t[1]+=n*e[1],t}function Vr(t){return t.length?t.pop()+",":""}function Gr(t,e,n,r){if(t[0]!==e[0]||t[1]!==e[1]){var i=n.push("translate(",null,",",null,")");r.push({i:i-4,x:Lr(t[0],e[0])},{i:i-2,x:Lr(t[1],e[1])})}else(e[0]||e[1])&&n.push("translate("+e+")")}function Jr(t,e,n,r){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),r.push({i:n.push(Vr(n)+"rotate(",null,")")-2,x:Lr(t,e)})):e&&n.push(Vr(n)+"rotate("+e+")")}function Zr(t,e,n,r){t!==e?r.push({i:n.push(Vr(n)+"skewX(",null,")")-2,x:Lr(t,e)}):e&&n.push(Vr(n)+"skewX("+e+")")}function Kr(t,e,n,r){if(t[0]!==e[0]||t[1]!==e[1]){var i=n.push(Vr(n)+"scale(",null,",",null,")");r.push({i:i-4,x:Lr(t[0],e[0])},{i:i-2,x:Lr(t[1],e[1])})}else 1===e[0]&&1===e[1]||n.push(Vr(n)+"scale("+e+")")}function Xr(t,e){var n=[],r=[];return t=fo.transform(t),e=fo.transform(e),Gr(t.translate,e.translate,n,r),Jr(t.rotate,e.rotate,n,r),Zr(t.skew,e.skew,n,r),Kr(t.scale,e.scale,n,r),t=e=null,function(t){for(var e,i=-1,a=r.length;++i<a;)n[(e=r[i]).i]=e.x(t);return n.join("")}}function Qr(t,e){return e=(e-=t=+t)||1/e,function(n){return(n-t)/e}}function ti(t,e){return e=(e-=t=+t)||1/e,function(n){return Math.max(0,Math.min(1,(n-t)/e))}}function ei(t){for(var e=t.source,n=t.target,r=ri(e,n),i=[e];e!==r;)e=e.parent,i.push(e);for(var a=i.length;n!==r;)i.splice(a,0,n),n=n.parent;return i}function ni(t){for(var e=[],n=t.parent;null!=n;)e.push(t),t=n,n=n.parent;return e.push(t),e}function ri(t,e){if(t===e)return t;for(var n=ni(t),r=ni(e),i=n.pop(),a=r.pop(),o=null;i===a;)o=i,i=n.pop(),a=r.pop();return o}function ii(t){t.fixed|=2}function ai(t){t.fixed&=-7}function oi(t){t.fixed|=4,t.px=t.x,t.py=t.y}function ui(t){t.fixed&=-5}function si(t,e,n){var r=0,i=0;if(t.charge=0,!t.leaf)for(var a,o=t.nodes,u=o.length,s=-1;++s<u;)null!=(a=o[s])&&(si(a,e,n),t.charge+=a.charge,r+=a.charge*a.cx,i+=a.charge*a.cy);if(t.point){t.leaf||(t.point.x+=Math.random()-.5,t.point.y+=Math.random()-.5);var c=e*n[t.point.index];t.charge+=t.pointCharge=c,r+=c*t.point.x,i+=c*t.point.y}t.cx=r/t.charge,t.cy=i/t.charge}function ci(t,e){return fo.rebind(t,e,"sort","children","value"),t.nodes=t,t.links=pi,t}function li(t,e){for(var n=[t];null!=(t=n.pop());)if(e(t),(i=t.children)&&(r=i.length))for(var r,i;--r>=0;)n.push(i[r])}function di(t,e){for(var n=[t],r=[];null!=(t=n.pop());)if(r.push(t),(a=t.children)&&(i=a.length))for(var i,a,o=-1;++o<i;)n.push(a[o]);for(;null!=(t=r.pop());)e(t)}function hi(t){return t.children}function fi(t){return t.value}function _i(t,e){return e.value-t.value}function pi(t){return fo.merge(t.map(function(t){return(t.children||[]).map(function(e){return{source:t,target:e}})}))}function mi(t){return t.x}function yi(t){return t.y}function gi(t,e,n){t.y0=e,t.y=n}function vi(t){return fo.range(t.length)}function Mi(t){for(var e=-1,n=t[0].length,r=[];++e<n;)r[e]=0;return r}function bi(t){for(var e,n=1,r=0,i=t[0][1],a=t.length;n<a;++n)(e=t[n][1])>i&&(r=n,i=e);return r}function Li(t){return t.reduce(ki,0)}function ki(t,e){return t+e[1]}function wi(t,e){return Di(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function Di(t,e){for(var n=-1,r=+t[0],i=(t[1]-r)/e,a=[];++n<=e;)a[n]=i*n+r;return a}function xi(t){return[fo.min(t),fo.max(t)]}function Yi(t,e){return t.value-e.value}function Ti(t,e){var n=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=n,n._pack_prev=e}function Ai(t,e){t._pack_next=e,e._pack_prev=t}function Ei(t,e){var n=e.x-t.x,r=e.y-t.y,i=t.r+e.r;return.999*i*i>n*n+r*r}function Si(t){function e(t){l=Math.min(t.x-t.r,l),d=Math.max(t.x+t.r,d),h=Math.min(t.y-t.r,h),f=Math.max(t.y+t.r,f)}if((n=t.children)&&(c=n.length)){var n,r,i,a,o,u,s,c,l=1/0,d=-1/0,h=1/0,f=-1/0;if(n.forEach(Fi),r=n[0],r.x=-r.r,r.y=0,e(r),c>1&&(i=n[1],i.x=i.r,i.y=0,e(i),c>2))for(a=n[2],Hi(r,i,a),e(a),Ti(r,a),r._pack_prev=a,Ti(a,i),i=r._pack_next,o=3;o<c;o++){Hi(r,i,a=n[o]);var _=0,p=1,m=1;for(u=i._pack_next;u!==i;u=u._pack_next,p++)if(Ei(u,a)){_=1;break}if(1==_)for(s=r._pack_prev;s!==u._pack_prev&&!Ei(s,a);s=s._pack_prev,m++);_?(p<m||p==m&&i.r<r.r?Ai(r,i=u):Ai(r=s,i),o--):(Ti(r,a),i=a,e(a))}var y=(l+d)/2,g=(h+f)/2,v=0;for(o=0;o<c;o++)a=n[o],a.x-=y,a.y-=g,v=Math.max(v,a.r+Math.sqrt(a.x*a.x+a.y*a.y));t.r=v,n.forEach(Ci)}}function Fi(t){t._pack_next=t._pack_prev=t}function Ci(t){delete t._pack_next,delete t._pack_prev}function ji(t,e,n,r){var i=t.children;if(t.x=e+=r*t.x,t.y=n+=r*t.y,t.r*=r,i)for(var a=-1,o=i.length;++a<o;)ji(i[a],e,n,r)}function Hi(t,e,n){var r=t.r+n.r,i=e.x-t.x,a=e.y-t.y;if(r&&(i||a)){var o=e.r+n.r,u=i*i+a*a;o*=o,r*=r;var s=.5+(r-o)/(2*u),c=Math.sqrt(Math.max(0,2*o*(r+u)-(r-=u)*r-o*o))/(2*u);n.x=t.x+s*i+c*a,n.y=t.y+s*a-c*i}else n.x=t.x+r,n.y=t.y}function Oi(t,e){return t.parent==e.parent?1:2}function Pi(t){var e=t.children;return e.length?e[0]:t.t}function Ni(t){var e,n=t.children;return(e=n.length)?n[e-1]:t.t}function Bi(t,e,n){var r=n/(e.i-t.i);e.c-=r,e.s+=n,t.c+=r,e.z+=n,e.m+=n}function Ii(t){for(var e,n=0,r=0,i=t.children,a=i.length;--a>=0;)e=i[a],e.z+=n,e.m+=n,n+=e.s+(r+=e.c)}function Ri(t,e,n){return t.a.parent===e.parent?t.a:n}function Wi(t){return 1+fo.max(t,function(t){return t.y})}function zi(t){return t.reduce(function(t,e){return t+e.x},0)/t.length}function qi(t){var e=t.children;return e&&e.length?qi(e[0]):t}function Ui(t){var e,n=t.children;return n&&(e=n.length)?Ui(n[e-1]):t}function $i(t){return{x:t.x,y:t.y,dx:t.dx,dy:t.dy}}function Vi(t,e){var n=t.x+e[3],r=t.y+e[0],i=t.dx-e[1]-e[3],a=t.dy-e[0]-e[2];return i<0&&(n+=i/2,i=0),a<0&&(r+=a/2,a=0),{x:n,y:r,dx:i,dy:a}}function Gi(t){var e=t[0],n=t[t.length-1];return e<n?[e,n]:[n,e]}function Ji(t){return t.rangeExtent?t.rangeExtent():Gi(t.range())}function Zi(t,e,n,r){var i=n(t[0],t[1]),a=r(e[0],e[1]);return function(t){return a(i(t))}}function Ki(t,e){var n,r=0,i=t.length-1,a=t[r],o=t[i];return o<a&&(n=r,r=i,i=n,n=a,a=o,o=n),t[r]=e.floor(a),t[i]=e.ceil(o),t}function Xi(t){return t?{floor:function(e){return Math.floor(e/t)*t},ceil:function(e){return Math.ceil(e/t)*t}}:Ds}function Qi(t,e,n,r){var i=[],a=[],o=0,u=Math.min(t.length,e.length)-1;for(t[u]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++o<=u;)i.push(n(t[o-1],t[o])),a.push(r(e[o-1],e[o]));return function(e){var n=fo.bisect(t,e,1,u)-1;return a[n](i[n](e))}}function ta(t,e,n,r){function i(){var i=Math.min(t.length,e.length)>2?Qi:Zi,s=r?ti:Qr;return o=i(t,e,s,n),u=i(e,t,s,wr),a}function a(t){return o(t)}var o,u;return a.invert=function(t){return u(t)},a.domain=function(e){return arguments.length?(t=e.map(Number),i()):t},a.range=function(t){return arguments.length?(e=t,i()):e},a.rangeRound=function(t){return a.range(t).interpolate(Wr)},a.clamp=function(t){return arguments.length?(r=t,i()):r},a.interpolate=function(t){return arguments.length?(n=t,i()):n},a.ticks=function(e){return ia(t,e)},a.tickFormat=function(e,n){return aa(t,e,n)},a.nice=function(e){return na(t,e),i()},a.copy=function(){return ta(t,e,n,r)},i()}function ea(t,e){return fo.rebind(t,e,"range","rangeRound","interpolate","clamp")}function na(t,e){return Ki(t,Xi(ra(t,e)[2])),Ki(t,Xi(ra(t,e)[2])),t}function ra(t,e){null==e&&(e=10);var n=Gi(t),r=n[1]-n[0],i=Math.pow(10,Math.floor(Math.log(r/e)/Math.LN10)),a=e/r*i;return a<=.15?i*=10:a<=.35?i*=5:a<=.75&&(i*=2),n[0]=Math.ceil(n[0]/i)*i,n[1]=Math.floor(n[1]/i)*i+.5*i,n[2]=i,n}function ia(t,e){return fo.range.apply(fo,ra(t,e))}function aa(t,e,n){var r=ra(t,e);if(n){var i=fu.exec(n);if(i.shift(),"s"===i[8]){var a=fo.formatPrefix(Math.max(ko(r[0]),ko(r[1])));return i[7]||(i[7]="."+oa(a.scale(r[2]))),i[8]="f",n=fo.format(i.join("")),function(t){return n(a.scale(t))+a.symbol}}i[7]||(i[7]="."+ua(i[8],r)),n=i.join("")}else n=",."+oa(r[2])+"f";return fo.format(n)}function oa(t){return-Math.floor(Math.log(t)/Math.LN10+.01)}function ua(t,e){var n=oa(e[2]);return t in xs?Math.abs(n-oa(Math.max(ko(e[0]),ko(e[1]))))+ +("e"!==t):n-2*("%"===t)}function sa(t,e,n,r){function i(t){return(n?Math.log(t<0?0:t):-Math.log(t>0?0:-t))/Math.log(e)}function a(t){return n?Math.pow(e,t):-Math.pow(e,-t)}function o(e){return t(i(e))}return o.invert=function(e){return a(t.invert(e))},o.domain=function(e){return arguments.length?(n=e[0]>=0,t.domain((r=e.map(Number)).map(i)),o):r},o.base=function(n){return arguments.length?(e=+n,t.domain(r.map(i)),o):e},o.nice=function(){var e=Ki(r.map(i),n?Math:Ts);return t.domain(e),r=e.map(a),o},o.ticks=function(){var t=Gi(r),o=[],u=t[0],s=t[1],c=Math.floor(i(u)),l=Math.ceil(i(s)),d=e%1?2:e;if(isFinite(l-c)){if(n){for(;c<l;c++)for(var h=1;h<d;h++)o.push(a(c)*h);o.push(a(c))}else for(o.push(a(c));c++<l;)for(var h=d-1;h>0;h--)o.push(a(c)*h);for(c=0;o[c]<u;c++);for(l=o.length;o[l-1]>s;l--);o=o.slice(c,l)}return o},o.tickFormat=function(t,n){if(!arguments.length)return Ys;arguments.length<2?n=Ys:"function"!=typeof n&&(n=fo.format(n));var r=Math.max(1,e*t/o.ticks().length);return function(t){var o=t/a(Math.round(i(t)));return o*e<e-.5&&(o*=e),o<=r?n(t):""}},o.copy=function(){return sa(t.copy(),e,n,r)},ea(o,t)}function ca(t,e,n){function r(e){return t(i(e))}var i=la(e),a=la(1/e);return r.invert=function(e){return a(t.invert(e))},r.domain=function(e){return arguments.length?(t.domain((n=e.map(Number)).map(i)),r):n},r.ticks=function(t){return ia(n,t)},r.tickFormat=function(t,e){return aa(n,t,e)},r.nice=function(t){return r.domain(na(n,t))},r.exponent=function(o){return arguments.length?(i=la(e=o),a=la(1/e),t.domain(n.map(i)),r):e},r.copy=function(){return ca(t.copy(),e,n)},ea(r,t)}function la(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}function da(t,e){function n(n){return a[((i.get(n)||("range"===e.t?i.set(n,t.push(n)):NaN))-1)%a.length]}function r(e,n){return fo.range(t.length).map(function(t){return e+n*t})}var i,a,o;return n.domain=function(r){if(!arguments.length)return t;t=[],i=new _;for(var a,o=-1,u=r.length;++o<u;)i.has(a=r[o])||i.set(a,t.push(a));return n[e.t].apply(n,e.a)},n.range=function(t){return arguments.length?(a=t,o=0,e={t:"range",a:arguments},n):a},n.rangePoints=function(i,u){arguments.length<2&&(u=0);var s=i[0],c=i[1],l=t.length<2?(s=(s+c)/2,0):(c-s)/(t.length-1+u);return a=r(s+l*u/2,l),o=0,e={t:"rangePoints",a:arguments},n},n.rangeRoundPoints=function(i,u){arguments.length<2&&(u=0);var s=i[0],c=i[1],l=t.length<2?(s=c=Math.round((s+c)/2),0):(c-s)/(t.length-1+u)|0;return a=r(s+Math.round(l*u/2+(c-s-(t.length-1+u)*l)/2),l),o=0,e={t:"rangeRoundPoints",a:arguments},n},n.rangeBands=function(i,u,s){arguments.length<2&&(u=0),arguments.length<3&&(s=u);var c=i[1]<i[0],l=i[c-0],d=i[1-c],h=(d-l)/(t.length-u+2*s);return a=r(l+h*s,h),c&&a.reverse(),o=h*(1-u),e={t:"rangeBands",a:arguments},n},n.rangeRoundBands=function(i,u,s){arguments.length<2&&(u=0),arguments.length<3&&(s=u);var c=i[1]<i[0],l=i[c-0],d=i[1-c],h=Math.floor((d-l)/(t.length-u+2*s));return a=r(l+Math.round((d-l-(t.length-u)*h)/2),h),c&&a.reverse(),o=Math.round(h*(1-u)),e={t:"rangeRoundBands",a:arguments},n},n.rangeBand=function(){return o},n.rangeExtent=function(){return Gi(e.a[0])},n.copy=function(){return da(t,e)},n.domain(t)}function ha(t,e){function n(){var n=0,a=e.length;for(i=[];++n<a;)i[n-1]=fo.quantile(t,n/a);return r}function r(t){if(!isNaN(t=+t))return e[fo.bisect(i,t)]}var i;return r.domain=function(e){return arguments.length?(t=e.map(s).filter(c).sort(u),n()):t},r.range=function(t){return arguments.length?(e=t,n()):e},r.quantiles=function(){return i},r.invertExtent=function(n){return n=e.indexOf(n),n<0?[NaN,NaN]:[n>0?i[n-1]:t[0],n<i.length?i[n]:t[t.length-1]]},r.copy=function(){return ha(t,e)},n()}function fa(t,e,n){function r(e){return n[Math.max(0,Math.min(o,Math.floor(a*(e-t))))]}function i(){return a=n.length/(e-t),o=n.length-1,r}var a,o;return r.domain=function(n){return arguments.length?(t=+n[0],e=+n[n.length-1],i()):[t,e]},r.range=function(t){return arguments.length?(n=t,i()):n},r.invertExtent=function(e){return e=n.indexOf(e),e=e<0?NaN:e/a+t,[e,e+1/a]},r.copy=function(){return fa(t,e,n)},i()}function _a(t,e){function n(n){if(n<=n)return e[fo.bisect(t,n)]}return n.domain=function(e){return arguments.length?(t=e,n):t},n.range=function(t){return arguments.length?(e=t,n):e},n.invertExtent=function(n){return n=e.indexOf(n),[t[n-1],t[n]]},n.copy=function(){return _a(t,e)},n}function pa(t){function e(t){return+t}return e.invert=e,e.domain=e.range=function(n){return arguments.length?(t=n.map(e),e):t},e.ticks=function(e){return ia(t,e)},e.tickFormat=function(e,n){return aa(t,e,n)},e.copy=function(){return pa(t)},e}function ma(){return 0}function ya(t){return t.innerRadius}function ga(t){return t.outerRadius}function va(t){return t.startAngle}function Ma(t){return t.endAngle}function ba(t){return t&&t.padAngle}function La(t,e,n,r){return(t-n)*e-(e-r)*t>0?0:1}function ka(t,e,n,r,i){var a=t[0]-e[0],o=t[1]-e[1],u=(i?r:-r)/Math.sqrt(a*a+o*o),s=u*o,c=-u*a,l=t[0]+s,d=t[1]+c,h=e[0]+s,f=e[1]+c,_=(l+h)/2,p=(d+f)/2,m=h-l,y=f-d,g=m*m+y*y,v=n-r,M=l*f-h*d,b=(y<0?-1:1)*Math.sqrt(Math.max(0,v*v*g-M*M)),L=(M*y-m*b)/g,k=(-M*m-y*b)/g,w=(M*y+m*b)/g,D=(-M*m+y*b)/g,x=L-_,Y=k-p,T=w-_,A=D-p;return x*x+Y*Y>T*T+A*A&&(L=w,k=D),[[L-s,k-c],[L*n/v,k*n/v]]}function wa(t){function e(e){function o(){c.push("M",a(t(l),u))}for(var s,c=[],l=[],d=-1,h=e.length,f=St(n),_=St(r);++d<h;)i.call(this,s=e[d],d)?l.push([+f.call(this,s,d),+_.call(this,s,d)]):l.length&&(o(),l=[]);return l.length&&o(),c.length?c.join(""):null}var n=jn,r=Hn,i=je,a=Da,o=a.key,u=.7;return e.x=function(t){return arguments.length?(n=t,e):n},e.y=function(t){return arguments.length?(r=t,e):r},e.defined=function(t){return arguments.length?(i=t,e):i},e.interpolate=function(t){return arguments.length?(o="function"==typeof t?a=t:(a=js.get(t)||Da).key,e):o},e.tension=function(t){return arguments.length?(u=t,e):u},e}function Da(t){return t.length>1?t.join("L"):t+"Z"}function xa(t){return t.join("L")+"Z"}function Ya(t){for(var e=0,n=t.length,r=t[0],i=[r[0],",",r[1]];++e<n;)i.push("H",(r[0]+(r=t[e])[0])/2,"V",r[1]);return n>1&&i.push("H",r[0]),i.join("")}function Ta(t){for(var e=0,n=t.length,r=t[0],i=[r[0],",",r[1]];++e<n;)i.push("V",(r=t[e])[1],"H",r[0]);return i.join("")}function Aa(t){for(var e=0,n=t.length,r=t[0],i=[r[0],",",r[1]];++e<n;)i.push("H",(r=t[e])[0],"V",r[1]);return i.join("")}function Ea(t,e){return t.length<4?Da(t):t[1]+Ca(t.slice(1,-1),ja(t,e))}function Sa(t,e){return t.length<3?xa(t):t[0]+Ca((t.push(t[0]),t),ja([t[t.length-2]].concat(t,[t[1]]),e))}function Fa(t,e){return t.length<3?Da(t):t[0]+Ca(t,ja(t,e))}function Ca(t,e){if(e.length<1||t.length!=e.length&&t.length!=e.length+2)return Da(t);var n=t.length!=e.length,r="",i=t[0],a=t[1],o=e[0],u=o,s=1;if(n&&(r+="Q"+(a[0]-2*o[0]/3)+","+(a[1]-2*o[1]/3)+","+a[0]+","+a[1],i=t[1],s=2),e.length>1){u=e[1],a=t[s],s++,r+="C"+(i[0]+o[0])+","+(i[1]+o[1])+","+(a[0]-u[0])+","+(a[1]-u[1])+","+a[0]+","+a[1];for(var c=2;c<e.length;c++,s++)a=t[s],u=e[c],r+="S"+(a[0]-u[0])+","+(a[1]-u[1])+","+a[0]+","+a[1]}if(n){var l=t[s];r+="Q"+(a[0]+2*u[0]/3)+","+(a[1]+2*u[1]/3)+","+l[0]+","+l[1]}return r}function ja(t,e){for(var n,r=[],i=(1-e)/2,a=t[0],o=t[1],u=1,s=t.length;++u<s;)n=a,a=o,o=t[u],r.push([i*(o[0]-n[0]),i*(o[1]-n[1])]);return r}function Ha(t){if(t.length<3)return Da(t);var e=1,n=t.length,r=t[0],i=r[0],a=r[1],o=[i,i,i,(r=t[1])[0]],u=[a,a,a,r[1]],s=[i,",",a,"L",Ba(Ps,o),",",Ba(Ps,u)];for(t.push(t[n-1]);++e<=n;)r=t[e],o.shift(),o.push(r[0]),u.shift(),u.push(r[1]),Ia(s,o,u);return t.pop(),s.push("L",r),s.join("")}function Oa(t){if(t.length<4)return Da(t);for(var e,n=[],r=-1,i=t.length,a=[0],o=[0];++r<3;)e=t[r],a.push(e[0]),o.push(e[1]);for(n.push(Ba(Ps,a)+","+Ba(Ps,o)),--r;++r<i;)e=t[r],a.shift(),a.push(e[0]),o.shift(),o.push(e[1]),Ia(n,a,o);return n.join("")}function Pa(t){for(var e,n,r=-1,i=t.length,a=i+4,o=[],u=[];++r<4;)n=t[r%i],o.push(n[0]),u.push(n[1]);for(e=[Ba(Ps,o),",",Ba(Ps,u)],--r;++r<a;)n=t[r%i],o.shift(),o.push(n[0]),u.shift(),u.push(n[1]),Ia(e,o,u);return e.join("")}function Na(t,e){var n=t.length-1;if(n)for(var r,i,a=t[0][0],o=t[0][1],u=t[n][0]-a,s=t[n][1]-o,c=-1;++c<=n;)r=t[c],i=c/n,r[0]=e*r[0]+(1-e)*(a+i*u),r[1]=e*r[1]+(1-e)*(o+i*s);return Ha(t)}function Ba(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}function Ia(t,e,n){t.push("C",Ba(Hs,e),",",Ba(Hs,n),",",Ba(Os,e),",",Ba(Os,n),",",Ba(Ps,e),",",Ba(Ps,n))}function Ra(t,e){return(e[1]-t[1])/(e[0]-t[0])}function Wa(t){for(var e=0,n=t.length-1,r=[],i=t[0],a=t[1],o=r[0]=Ra(i,a);++e<n;)r[e]=(o+(o=Ra(i=a,a=t[e+1])))/2;return r[e]=o,r}function za(t){for(var e,n,r,i,a=[],o=Wa(t),u=-1,s=t.length-1;++u<s;)e=Ra(t[u],t[u+1]),ko(e)<Io?o[u]=o[u+1]=0:(n=o[u]/e,r=o[u+1]/e,(i=n*n+r*r)>9&&(i=3*e/Math.sqrt(i),o[u]=i*n,o[u+1]=i*r));for(u=-1;++u<=s;)i=(t[Math.min(s,u+1)][0]-t[Math.max(0,u-1)][0])/(6*(1+o[u]*o[u])),a.push([i||0,o[u]*i||0]);return a}function qa(t){return t.length<3?Da(t):t[0]+Ca(t,za(t))}function Ua(t){for(var e,n,r,i=-1,a=t.length;++i<a;)e=t[i],n=e[0],r=e[1]-Uo,e[0]=n*Math.cos(r),e[1]=n*Math.sin(r);return t}function $a(t){function e(e){function s(){p.push("M",u(t(y),d),l,c(t(m.reverse()),d),"Z")}for(var h,f,_,p=[],m=[],y=[],g=-1,v=e.length,M=St(n),b=St(i),L=n===r?function(){return f}:St(r),k=i===a?function(){return _}:St(a);++g<v;)o.call(this,h=e[g],g)?(m.push([f=+M.call(this,h,g),_=+b.call(this,h,g)]),y.push([+L.call(this,h,g),+k.call(this,h,g)])):m.length&&(s(),m=[],y=[]);return m.length&&s(),p.length?p.join(""):null}var n=jn,r=jn,i=0,a=Hn,o=je,u=Da,s=u.key,c=u,l="L",d=.7;return e.x=function(t){return arguments.length?(n=r=t,e):r},e.x0=function(t){return arguments.length?(n=t,e):n},e.x1=function(t){return arguments.length?(r=t,e):r},e.y=function(t){return arguments.length?(i=a=t,e):a},e.y0=function(t){return arguments.length?(i=t,e):i},e.y1=function(t){return arguments.length?(a=t,e):a},e.defined=function(t){return arguments.length?(o=t,e):o},e.interpolate=function(t){return arguments.length?(s="function"==typeof t?u=t:(u=js.get(t)||Da).key,c=u.reverse||u,l=u.closed?"M":"L",e):s},e.tension=function(t){return arguments.length?(d=t,e):d},e}function Va(t){return t.radius}function Ga(t){return[t.x,t.y]}function Ja(t){return function(){var e=t.apply(this,arguments),n=e[0],r=e[1]-Uo;return[n*Math.cos(r),n*Math.sin(r)]}}function Za(){return 64}function Ka(){return"circle"}function Xa(t){var e=Math.sqrt(t/Wo);return"M0,"+e+"A"+e+","+e+" 0 1,1 0,"+-e+"A"+e+","+e+" 0 1,1 0,"+e+"Z"}function Qa(t){return function(){var e,n,r;(e=this[t])&&(r=e[n=e.active])&&(r.timer.c=null,r.timer.t=NaN,--e.count?delete e[n]:delete this[t],e.active+=.5,r.event&&r.event.interrupt.call(this,this.__data__,r.index))}}function to(t,e,n){return To(t,qs),t.namespace=e,t.id=n,t}function eo(t,e,n,r){var i=t.id,a=t.namespace;return G(t,"function"==typeof n?function(t,o,u){t[a][i].tween.set(e,r(n.call(t,t.__data__,o,u)))}:(n=r(n),function(t){t[a][i].tween.set(e,n)}))}function no(t){return null==t&&(t=""),function(){this.textContent=t}}function ro(t){return null==t?"__transition__":"__transition_"+t+"__"}function io(t,e,n,r,i){function a(t){var e=p.delay;if(c.t=e+s,e<=t)return o(t-e);c.c=o}function o(n){var i=f.active,a=f[i];a&&(a.timer.c=null,a.timer.t=NaN,--f.count,delete f[i],a.event&&a.event.interrupt.call(t,t.__data__,a.index));for(var o in f)if(+o<r){var _=f[o];_.timer.c=null,_.timer.t=NaN,--f.count,delete f[o]}c.c=u,Ot(function(){return c.c&&u(n||1)&&(c.c=null,c.t=NaN),1},0,s),f.active=r,p.event&&p.event.start.call(t,t.__data__,e),h=[],p.tween.forEach(function(n,r){(r=r.call(t,t.__data__,e))&&h.push(r)}),d=p.ease,l=p.duration}function u(i){for(var a=i/l,o=d(a),u=h.length;u>0;)h[--u].call(t,o);if(a>=1)return p.event&&p.event.end.call(t,t.__data__,e),--f.count?delete f[r]:delete t[n],1}var s,c,l,d,h,f=t[n]||(t[n]={active:0,count:0}),p=f[r];p||(s=i.time,c=Ot(a,0,s),p=f[r]={tween:new _,time:s,timer:c,delay:i.delay,duration:i.duration,ease:i.ease,index:e},i=null,++f.count)}function ao(t,e,n){t.attr("transform",function(t){var r=e(t);return"translate("+(isFinite(r)?r:n(t))+",0)"})}function oo(t,e,n){t.attr("transform",function(t){var r=e(t);return"translate(0,"+(isFinite(r)?r:n(t))+")"})}function uo(t){return t.toISOString()}function so(t,e,n){function r(e){return t(e)}function i(t,n){var r=t[1]-t[0],i=r/n,a=fo.bisect(Qs,i);return a==Qs.length?[e.year,ra(t.map(function(t){return t/31536e6}),n)[2]]:a?e[i/Qs[a-1]<Qs[a]/i?a-1:a]:[nc,ra(t,n)[2]]}return r.invert=function(e){return co(t.invert(e))},r.domain=function(e){return arguments.length?(t.domain(e),r):t.domain().map(co)},r.nice=function(t,e){function n(n){return!isNaN(n)&&!t.range(n,co(+n+1),e).length}var a=r.domain(),o=Gi(a),u=null==t?i(o,10):"number"==typeof t&&i(o,t);return u&&(t=u[0],e=u[1]),r.domain(Ki(a,e>1?{floor:function(e){for(;n(e=t.floor(e));)e=co(e-1);return e},ceil:function(e){for(;n(e=t.ceil(e));)e=co(+e+1);return e}}:t))},r.ticks=function(t,e){var n=Gi(r.domain()),a=null==t?i(n,10):"number"==typeof t?i(n,t):!t.range&&[{range:t},e];return a&&(t=a[0],e=a[1]),t.range(n[0],co(+n[1]+1),e<1?1:e)},r.tickFormat=function(){return n},r.copy=function(){return so(t.copy(),e,n)},ea(r,t)}function co(t){return new Date(t)}function lo(t){return JSON.parse(t.responseText)}function ho(t){var e=mo.createRange();return e.selectNode(mo.body),e.createContextualFragment(t.responseText)}var fo={version:"3.5.17"},_o=[].slice,po=function(t){return _o.call(t)},mo=this.document;if(mo)try{po(mo.documentElement.childNodes)[0].nodeType}catch(t){po=function(t){for(var e=t.length,n=new Array(e);e--;)n[e]=t[e];return n}}if(Date.now||(Date.now=function(){return+new Date}),mo)try{mo.createElement("DIV").style.setProperty("opacity",0,"")}catch(t){var yo=this.Element.prototype,go=yo.setAttribute,vo=yo.setAttributeNS,Mo=this.CSSStyleDeclaration.prototype,bo=Mo.setProperty;yo.setAttribute=function(t,e){go.call(this,t,e+"")},yo.setAttributeNS=function(t,e,n){vo.call(this,t,e,n+"")},Mo.setProperty=function(t,e,n){bo.call(this,t,e+"",n)}}fo.ascending=u,fo.descending=function(t,e){return e<t?-1:e>t?1:e>=t?0:NaN},fo.min=function(t,e){var n,r,i=-1,a=t.length;if(1===arguments.length){for(;++i<a;)if(null!=(r=t[i])&&r>=r){n=r;break}for(;++i<a;)null!=(r=t[i])&&n>r&&(n=r)}else{for(;++i<a;)if(null!=(r=e.call(t,t[i],i))&&r>=r){n=r;break}for(;++i<a;)null!=(r=e.call(t,t[i],i))&&n>r&&(n=r)}return n},fo.max=function(t,e){var n,r,i=-1,a=t.length;if(1===arguments.length){for(;++i<a;)if(null!=(r=t[i])&&r>=r){n=r;break}for(;++i<a;)null!=(r=t[i])&&r>n&&(n=r)}else{for(;++i<a;)if(null!=(r=e.call(t,t[i],i))&&r>=r){n=r;break}for(;++i<a;)null!=(r=e.call(t,t[i],i))&&r>n&&(n=r)}return n},fo.extent=function(t,e){var n,r,i,a=-1,o=t.length;if(1===arguments.length){for(;++a<o;)if(null!=(r=t[a])&&r>=r){n=i=r;break}for(;++a<o;)null!=(r=t[a])&&(n>r&&(n=r),i<r&&(i=r))}else{for(;++a<o;)if(null!=(r=e.call(t,t[a],a))&&r>=r){n=i=r;break}for(;++a<o;)null!=(r=e.call(t,t[a],a))&&(n>r&&(n=r),i<r&&(i=r))}return[n,i]},fo.sum=function(t,e){var n,r=0,i=t.length,a=-1;if(1===arguments.length)for(;++a<i;)c(n=+t[a])&&(r+=n);else for(;++a<i;)c(n=+e.call(t,t[a],a))&&(r+=n);return r},fo.mean=function(t,e){var n,r=0,i=t.length,a=-1,o=i;if(1===arguments.length)for(;++a<i;)c(n=s(t[a]))?r+=n:--o;else for(;++a<i;)c(n=s(e.call(t,t[a],a)))?r+=n:--o;if(o)return r/o},fo.quantile=function(t,e){var n=(t.length-1)*e+1,r=Math.floor(n),i=+t[r-1],a=n-r;return a?i+a*(t[r]-i):i},fo.median=function(t,e){var n,r=[],i=t.length,a=-1;if(1===arguments.length)for(;++a<i;)c(n=s(t[a]))&&r.push(n);else for(;++a<i;)c(n=s(e.call(t,t[a],a)))&&r.push(n);if(r.length)return fo.quantile(r.sort(u),.5)},fo.variance=function(t,e){var n,r,i=t.length,a=0,o=0,u=-1,l=0;if(1===arguments.length)for(;++u<i;)c(n=s(t[u]))&&(r=n-a,a+=r/++l,o+=r*(n-a));else for(;++u<i;)c(n=s(e.call(t,t[u],u)))&&(r=n-a,a+=r/++l,o+=r*(n-a));if(l>1)return o/(l-1)},fo.deviation=function(){var t=fo.variance.apply(this,arguments);return t?Math.sqrt(t):t};var Lo=l(u);fo.bisectLeft=Lo.left,fo.bisect=fo.bisectRight=Lo.right,fo.bisector=function(t){return l(1===t.length?function(e,n){return u(t(e),n)}:t)},fo.shuffle=function(t,e,n){(a=arguments.length)<3&&(n=t.length,a<2&&(e=0));for(var r,i,a=n-e;a;)i=Math.random()*a--|0,r=t[a+e],t[a+e]=t[i+e],t[i+e]=r;return t},fo.permute=function(t,e){for(var n=e.length,r=new Array(n);n--;)r[n]=t[e[n]];return r},fo.pairs=function(t){for(var e=0,n=t.length-1,r=t[0],i=new Array(n<0?0:n);e<n;)i[e]=[r,r=t[++e]];return i},fo.transpose=function(t){if(!(i=t.length))return[];for(var e=-1,n=fo.min(t,d),r=new Array(n);++e<n;)for(var i,a=-1,o=r[e]=new Array(i);++a<i;)o[a]=t[a][e];return r},fo.zip=function(){return fo.transpose(arguments)},fo.keys=function(t){var e=[];for(var n in t)e.push(n);return e},fo.values=function(t){var e=[];for(var n in t)e.push(t[n]);return e},fo.entries=function(t){var e=[];for(var n in t)e.push({key:n,value:t[n]});return e},fo.merge=function(t){for(var e,n,r,i=t.length,a=-1,o=0;++a<i;)o+=t[a].length;for(n=new Array(o);--i>=0;)for(r=t[i],e=r.length;--e>=0;)n[--o]=r[e];return n};var ko=Math.abs;fo.range=function(t,e,n){if(arguments.length<3&&(n=1,arguments.length<2&&(e=t,t=0)),(e-t)/n==1/0)throw new Error("infinite range");var r,i=[],a=h(ko(n)),o=-1;if(t*=a,e*=a,n*=a,n<0)for(;(r=t+n*++o)>e;)i.push(r/a);else for(;(r=t+n*++o)<e;)i.push(r/a);return i},fo.map=function(t,e){var n=new _;if(t instanceof _)t.forEach(function(t,e){n.set(t,e)});else if(Array.isArray(t)){var r,i=-1,a=t.length;if(1===arguments.length)for(;++i<a;)n.set(i,t[i]);else for(;++i<a;)n.set(e.call(t,r=t[i],i),r)}else for(var o in t)n.set(o,t[o]);return n};var wo="__proto__",Do="\0";f(_,{has:y,get:function(t){return this._[p(t)]},set:function(t,e){return this._[p(t)]=e},remove:g,keys:v,values:function(){var t=[];for(var e in this._)t.push(this._[e]);return t},entries:function(){var t=[];for(var e in this._)t.push({key:m(e),value:this._[e]});return t},size:M,empty:b,forEach:function(t){for(var e in this._)t.call(this,m(e),this._[e])}}),fo.nest=function(){function t(e,o,u){if(u>=a.length)return r?r.call(i,o):n?o.sort(n):o;for(var s,c,l,d,h=-1,f=o.length,p=a[u++],m=new _;++h<f;)(d=m.get(s=p(c=o[h])))?d.push(c):m.set(s,[c]);return e?(c=e(),l=function(n,r){c.set(n,t(e,r,u))}):(c={},l=function(n,r){c[n]=t(e,r,u)}),m.forEach(l),c}function e(t,n){if(n>=a.length)return t;var r=[],i=o[n++];return t.forEach(function(t,i){r.push({key:t,values:e(i,n)})}),i?r.sort(function(t,e){return i(t.key,e.key)}):r}var n,r,i={},a=[],o=[];return i.map=function(e,n){return t(n,e,0)},i.entries=function(n){return e(t(fo.map,n,0),0)},i.key=function(t){return a.push(t),i},i.sortKeys=function(t){return o[a.length-1]=t,i},i.sortValues=function(t){return n=t,i},i.rollup=function(t){return r=t,i},i},fo.set=function(t){var e=new L;if(t)for(var n=0,r=t.length;n<r;++n)e.add(t[n]);return e},f(L,{has:y,add:function(t){return this._[p(t+="")]=!0,t},remove:g,values:v,size:M,empty:b,forEach:function(t){for(var e in this._)t.call(this,m(e))}}),fo.behavior={},fo.rebind=function(t,e){for(var n,r=1,i=arguments.length;++r<i;)t[n=arguments[r]]=w(t,e,e[n]);return t};var xo=["webkit","ms","moz","Moz","o","O"];fo.dispatch=function(){for(var t=new Y,e=-1,n=arguments.length;++e<n;)t[arguments[e]]=T(t);return t},Y.prototype.on=function(t,e){var n=t.indexOf("."),r="";if(n>=0&&(r=t.slice(n+1),t=t.slice(0,n)),t)return arguments.length<2?this[t].on(r):this[t].on(r,e);if(2===arguments.length){if(null==e)for(t in this)this.hasOwnProperty(t)&&this[t].on(r,null);return this}},fo.event=null,fo.requote=function(t){return t.replace(Yo,"\\$&")};var Yo=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,To={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var n in e)t[n]=e[n]},Ao=function(t,e){return e.querySelector(t)},Eo=function(t,e){return e.querySelectorAll(t)},So=function(t,e){var n=t.matches||t[D(t,"matchesSelector")];return(So=function(t,e){return n.call(t,e)})(t,e)};"function"==typeof Sizzle&&(Ao=function(t,e){return Sizzle(t,e)[0]||null},Eo=Sizzle,So=Sizzle.matchesSelector),fo.selection=function(){return fo.select(mo.documentElement)};var Fo=fo.selection.prototype=[];Fo.select=function(t){var e,n,r,i,a=[];t=C(t);for(var o=-1,u=this.length;++o<u;){a.push(e=[]),e.parentNode=(r=this[o]).parentNode;for(var s=-1,c=r.length;++s<c;)(i=r[s])?(e.push(n=t.call(i,i.__data__,s,o)),n&&"__data__"in i&&(n.__data__=i.__data__)):e.push(null)}return F(a)},Fo.selectAll=function(t){var e,n,r=[];t=j(t);for(var i=-1,a=this.length;++i<a;)for(var o=this[i],u=-1,s=o.length;++u<s;)(n=o[u])&&(r.push(e=po(t.call(n,n.__data__,u,i))),e.parentNode=n);return F(r)};var Co="http://www.w3.org/1999/xhtml",jo={svg:"http://www.w3.org/2000/svg",xhtml:Co,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};fo.ns={prefix:jo,qualify:function(t){var e=t.indexOf(":"),n=t;return e>=0&&"xmlns"!==(n=t.slice(0,e))&&(t=t.slice(e+1)),jo.hasOwnProperty(n)?{space:jo[n],local:t}:t}},Fo.attr=function(t,e){if(arguments.length<2){if("string"==typeof t){var n=this.node();return t=fo.ns.qualify(t),t.local?n.getAttributeNS(t.space,t.local):n.getAttribute(t)}for(e in t)this.each(H(e,t[e]));return this}return this.each(H(t,e))},Fo.classed=function(t,e){if(arguments.length<2){if("string"==typeof t){var n=this.node(),r=(t=N(t)).length,i=-1;if(e=n.classList){for(;++i<r;)if(!e.contains(t[i]))return!1}else for(e=n.getAttribute("class");++i<r;)if(!P(t[i]).test(e))return!1;return!0}for(e in t)this.each(B(e,t[e]));return this}return this.each(B(t,e))},Fo.style=function(t,e,n){var r=arguments.length;if(r<3){if("string"!=typeof t){r<2&&(e="");for(n in t)this.each(R(n,t[n],e));return this}if(r<2){var i=this.node();return o(i).getComputedStyle(i,null).getPropertyValue(t)}n=""}return this.each(R(t,e,n))},Fo.property=function(t,e){if(arguments.length<2){if("string"==typeof t)return this.node()[t];for(e in t)this.each(W(e,t[e]));return this}return this.each(W(t,e))},Fo.text=function(t){return arguments.length?this.each("function"==typeof t?function(){var e=t.apply(this,arguments);this.textContent=null==e?"":e}:null==t?function(){this.textContent=""}:function(){this.textContent=t}):this.node().textContent},Fo.html=function(t){return arguments.length?this.each("function"==typeof t?function(){var e=t.apply(this,arguments);this.innerHTML=null==e?"":e}:null==t?function(){this.innerHTML=""}:function(){this.innerHTML=t}):this.node().innerHTML},Fo.append=function(t){return t=z(t),this.select(function(){return this.appendChild(t.apply(this,arguments))})},Fo.insert=function(t,e){return t=z(t),e=C(e),this.select(function(){return this.insertBefore(t.apply(this,arguments),e.apply(this,arguments)||null)})},Fo.remove=function(){return this.each(q)},Fo.data=function(t,e){function n(t,n){var r,i,a,o=t.length,l=n.length,d=Math.min(o,l),h=new Array(l),f=new Array(l),p=new Array(o);if(e){var m,y=new _,g=new Array(o);for(r=-1;++r<o;)(i=t[r])&&(y.has(m=e.call(i,i.__data__,r))?p[r]=i:y.set(m,i),g[r]=m);for(r=-1;++r<l;)(i=y.get(m=e.call(n,a=n[r],r)))?!0!==i&&(h[r]=i,i.__data__=a):f[r]=U(a),y.set(m,!0);for(r=-1;++r<o;)r in g&&!0!==y.get(g[r])&&(p[r]=t[r])}else{for(r=-1;++r<d;)i=t[r],a=n[r],i?(i.__data__=a,h[r]=i):f[r]=U(a);for(;r<l;++r)f[r]=U(n[r]);for(;r<o;++r)p[r]=t[r]}f.update=h,f.parentNode=h.parentNode=p.parentNode=t.parentNode,u.push(f),s.push(h),c.push(p)}var r,i,a=-1,o=this.length;if(!arguments.length){for(t=new Array(o=(r=this[0]).length);++a<o;)(i=r[a])&&(t[a]=i.__data__);return t}var u=J([]),s=F([]),c=F([]);if("function"==typeof t)for(;++a<o;)n(r=this[a],t.call(r,r.parentNode.__data__,a));else for(;++a<o;)n(r=this[a],t);return s.enter=function(){return u},s.exit=function(){return c},s},Fo.datum=function(t){return arguments.length?this.property("__data__",t):this.property("__data__")},Fo.filter=function(t){var e,n,r,i=[];"function"!=typeof t&&(t=$(t));for(var a=0,o=this.length;a<o;a++){i.push(e=[]),e.parentNode=(n=this[a]).parentNode;for(var u=0,s=n.length;u<s;u++)(r=n[u])&&t.call(r,r.__data__,u,a)&&e.push(r)}return F(i)},Fo.order=function(){for(var t=-1,e=this.length;++t<e;)for(var n,r=this[t],i=r.length-1,a=r[i];--i>=0;)(n=r[i])&&(a&&a!==n.nextSibling&&a.parentNode.insertBefore(n,a),a=n);return this},Fo.sort=function(t){t=V.apply(this,arguments);for(var e=-1,n=this.length;++e<n;)this[e].sort(t);return this.order()},Fo.each=function(t){return G(this,function(e,n,r){t.call(e,e.__data__,n,r)})},Fo.call=function(t){var e=po(arguments);return t.apply(e[0]=this,e),this},Fo.empty=function(){return!this.node()},Fo.node=function(){for(var t=0,e=this.length;t<e;t++)for(var n=this[t],r=0,i=n.length;r<i;r++){var a=n[r];if(a)return a}return null},Fo.size=function(){var t=0;return G(this,function(){++t}),t};var Ho=[];fo.selection.enter=J,fo.selection.enter.prototype=Ho,Ho.append=Fo.append,Ho.empty=Fo.empty,Ho.node=Fo.node,Ho.call=Fo.call,Ho.size=Fo.size,Ho.select=function(t){for(var e,n,r,i,a,o=[],u=-1,s=this.length;++u<s;){r=(i=this[u]).update,o.push(e=[]),e.parentNode=i.parentNode;for(var c=-1,l=i.length;++c<l;)(a=i[c])?(e.push(r[c]=n=t.call(i.parentNode,a.__data__,c,u)),n.__data__=a.__data__):e.push(null)}return F(o)},Ho.insert=function(t,e){return arguments.length<2&&(e=Z(this)),Fo.insert.call(this,t,e)},fo.select=function(t){var e;return"string"==typeof t?(e=[Ao(t,mo)],e.parentNode=mo.documentElement):(e=[t],e.parentNode=a(t)),F([e])},fo.selectAll=function(t){var e;return"string"==typeof t?(e=po(Eo(t,mo)),e.parentNode=mo.documentElement):(e=po(t),e.parentNode=null),F([e])},Fo.on=function(t,e,n){var r=arguments.length;if(r<3){if("string"!=typeof t){r<2&&(e=!1);for(n in t)this.each(K(n,t[n],e));return this}if(r<2)return(r=this.node()["__on"+t])&&r._;n=!1}return this.each(K(t,e,n))};var Oo=fo.map({mouseenter:"mouseover",mouseleave:"mouseout"});mo&&Oo.forEach(function(t){"on"+t in mo&&Oo.remove(t)});var Po,No=0;fo.mouse=function(t){return et(t,E())};var Bo=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;fo.touch=function(t,e,n){if(arguments.length<3&&(n=e,e=E().changedTouches),e)for(var r,i=0,a=e.length;i<a;++i)if((r=e[i]).identifier===n)return et(t,r)},fo.behavior.drag=function(){function t(){this.on("mousedown.drag",i).on("touchstart.drag",a)}function e(t,e,i,a,o){return function(){function u(){var t,n,r=e(h,p);r&&(t=r[0]-v[0],n=r[1]-v[1],_|=t|n,v=r,f({type:"drag",x:r[0]+c[0],y:r[1]+c[1],dx:t,dy:n}))}function s(){e(h,p)&&(y.on(a+m,null).on(o+m,null),g(_),f({type:"dragend"}))}var c,l=this,d=fo.event.target.correspondingElement||fo.event.target,h=l.parentNode,f=n.of(l,arguments),_=0,p=t(),m=".drag"+(null==p?"":"-"+p),y=fo.select(i(d)).on(a+m,u).on(o+m,s),g=tt(d),v=e(h,p);r?(c=r.apply(l,arguments),c=[c.x-v[0],c.y-v[1]]):c=[0,0],f({type:"dragstart"})}}var n=S(t,"drag","dragstart","dragend"),r=null,i=e(x,fo.mouse,o,"mousemove","mouseup"),a=e(nt,fo.touch,k,"touchmove","touchend");return t.origin=function(e){return arguments.length?(r=e,t):r},fo.rebind(t,n,"on")},fo.touches=function(t,e){return arguments.length<2&&(e=E().touches),e?po(e).map(function(e){var n=et(t,e);return n.identifier=e.identifier,n}):[]};var Io=1e-6,Ro=Io*Io,Wo=Math.PI,zo=2*Wo,qo=zo-Io,Uo=Wo/2,$o=Wo/180,Vo=180/Wo,Go=Math.SQRT2;fo.interpolateZoom=function(t,e){var n,r,i=t[0],a=t[1],o=t[2],u=e[0],s=e[1],c=e[2],l=u-i,d=s-a,h=l*l+d*d;if(h<Ro)r=Math.log(c/o)/Go,n=function(t){return[i+t*l,a+t*d,o*Math.exp(Go*t*r)]};else{var f=Math.sqrt(h),_=(c*c-o*o+4*h)/(2*o*2*f),p=(c*c-o*o-4*h)/(2*c*2*f),m=Math.log(Math.sqrt(_*_+1)-_),y=Math.log(Math.sqrt(p*p+1)-p);r=(y-m)/Go,n=function(t){var e=t*r,n=st(m),u=o/(2*f)*(n*ct(Go*e+m)-ut(m));return[i+u*l,a+u*d,o*n/st(Go*e+m)]}}return n.duration=1e3*r,n},fo.behavior.zoom=function(){function t(t){t.on(E,d).on(Zo+".zoom",f).on("dblclick.zoom",_).on(j,h)}function e(t){return[(t[0]-w.x)/w.k,(t[1]-w.y)/w.k]}function n(t){return[t[0]*w.k+w.x,t[1]*w.k+w.y]}function r(t){w.k=Math.max(x[0],Math.min(x[1],t))}function i(t,e){e=n(e),w.x+=t[0]-e[0],w.y+=t[1]-e[1]}function a(e,n,a,o){e.__chart__={x:w.x,y:w.y,k:w.k},r(Math.pow(2,o)),i(m=n,a),e=fo.select(e),Y>0&&(e=e.transition().duration(Y)),e.call(t.event)}function u(){b&&b.domain(M.range().map(function(t){return(t-w.x)/w.k}).map(M.invert)),k&&k.domain(L.range().map(function(t){return(t-w.y)/w.k}).map(L.invert))}function s(t){T++||t({type:"zoomstart"})}function c(t){u(),t({type:"zoom",scale:w.k,translate:[w.x,w.y]})}function l(t){--T||(t({type:"zoomend"}),m=null)}function d(){function t(){u=1,i(fo.mouse(r),h),c(a)}function n(){d.on(F,null).on(C,null),f(u),l(a)}var r=this,a=H.of(r,arguments),u=0,d=fo.select(o(r)).on(F,t).on(C,n),h=e(fo.mouse(r)),f=tt(r);zs.call(r),s(a)}function h(){function t(){var t=fo.touches(_);return f=w.k,t.forEach(function(t){t.identifier in m&&(m[t.identifier]=e(t))}),t}function n(){var e=fo.event.target;fo.select(e).on(M,o).on(b,u),L.push(e);for(var n=fo.event.changedTouches,r=0,i=n.length;r<i;++r)m[n[r].identifier]=null;var s=t(),c=Date.now();if(1===s.length){if(c-v<500){var l=s[0];a(_,l,m[l.identifier],Math.floor(Math.log(w.k)/Math.LN2)+1),A()}v=c}else if(s.length>1){var l=s[0],d=s[1],h=l[0]-d[0],f=l[1]-d[1];y=h*h+f*f}}function o(){var t,e,n,a,o=fo.touches(_);zs.call(_);for(var u=0,s=o.length;u<s;++u,a=null)if(n=o[u],a=m[n.identifier]){if(e)break;t=n,e=a}if(a){var l=(l=n[0]-t[0])*l+(l=n[1]-t[1])*l,d=y&&Math.sqrt(l/y);t=[(t[0]+n[0])/2,(t[1]+n[1])/2],e=[(e[0]+a[0])/2,(e[1]+a[1])/2],r(d*f)}v=null,i(t,e),c(p)}function u(){if(fo.event.touches.length){for(var e=fo.event.changedTouches,n=0,r=e.length;n<r;++n)delete m[e[n].identifier];for(var i in m)return void t()}fo.selectAll(L).on(g,null),k.on(E,d).on(j,h),D(),l(p)}var f,_=this,p=H.of(_,arguments),m={},y=0,g=".zoom-"+fo.event.changedTouches[0].identifier,M="touchmove"+g,b="touchend"+g,L=[],k=fo.select(_),D=tt(_);n(),s(p),k.on(E,null).on(j,n)}function f(){var t=H.of(this,arguments);g?clearTimeout(g):(zs.call(this),p=e(m=y||fo.mouse(this)),s(t)),g=setTimeout(function(){g=null,l(t)},50),A(),r(Math.pow(2,.002*Jo())*w.k),i(m,p),c(t)}function _(){var t=fo.mouse(this),n=Math.log(w.k)/Math.LN2;a(this,t,e(t),fo.event.shiftKey?Math.ceil(n)-1:Math.floor(n)+1)}var p,m,y,g,v,M,b,L,k,w={x:0,y:0,k:1},D=[960,500],x=Ko,Y=250,T=0,E="mousedown.zoom",F="mousemove.zoom",C="mouseup.zoom",j="touchstart.zoom",H=S(t,"zoomstart","zoom","zoomend");return Zo||(Zo="onwheel"in mo?(Jo=function(){return-fo.event.deltaY*(fo.event.deltaMode?120:1)},"wheel"):"onmousewheel"in mo?(Jo=function(){return fo.event.wheelDelta},"mousewheel"):(Jo=function(){return-fo.event.detail},"MozMousePixelScroll")),t.event=function(t){t.each(function(){var t=H.of(this,arguments),e=w;Rs?fo.select(this).transition().each("start.zoom",function(){w=this.__chart__||{x:0,y:0,k:1},s(t)}).tween("zoom:zoom",function(){var n=D[0],r=D[1],i=m?m[0]:n/2,a=m?m[1]:r/2,o=fo.interpolateZoom([(i-w.x)/w.k,(a-w.y)/w.k,n/w.k],[(i-e.x)/e.k,(a-e.y)/e.k,n/e.k]);return function(e){var r=o(e),u=n/r[2];this.__chart__=w={x:i-r[0]*u,y:a-r[1]*u,k:u},c(t)}}).each("interrupt.zoom",function(){l(t)}).each("end.zoom",function(){l(t)}):(this.__chart__=w,s(t),c(t),l(t))})},t.translate=function(e){return arguments.length?(w={x:+e[0],y:+e[1],k:w.k},u(),t):[w.x,w.y]},t.scale=function(e){return arguments.length?(w={x:w.x,y:w.y,k:null},r(+e),u(),t):w.k},t.scaleExtent=function(e){return arguments.length?(x=null==e?Ko:[+e[0],+e[1]],t):x},t.center=function(e){return arguments.length?(y=e&&[+e[0],+e[1]],t):y},t.size=function(e){return arguments.length?(D=e&&[+e[0],+e[1]],t):D},t.duration=function(e){return arguments.length?(Y=+e,t):Y},t.x=function(e){return arguments.length?(b=e,M=e.copy(),w={x:0,y:0,k:1},t):b},t.y=function(e){return arguments.length?(k=e,L=e.copy(),w={x:0,y:0,k:1},t):k},fo.rebind(t,H,"on")};var Jo,Zo,Ko=[0,1/0];fo.color=dt,dt.prototype.toString=function(){return this.rgb()+""},fo.hsl=ht;var Xo=ht.prototype=new dt;Xo.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new ht(this.h,this.s,this.l/t)},Xo.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new ht(this.h,this.s,t*this.l)},Xo.rgb=function(){return ft(this.h,this.s,this.l)},fo.hcl=_t;var Qo=_t.prototype=new dt;Qo.brighter=function(t){return new _t(this.h,this.c,Math.min(100,this.l+tu*(arguments.length?t:1)))},Qo.darker=function(t){return new _t(this.h,this.c,Math.max(0,this.l-tu*(arguments.length?t:1)))},Qo.rgb=function(){return pt(this.h,this.c,this.l).rgb()},fo.lab=mt;var tu=18,eu=.95047,nu=1,ru=1.08883,iu=mt.prototype=new dt;iu.brighter=function(t){return new mt(Math.min(100,this.l+tu*(arguments.length?t:1)),this.a,this.b)},iu.darker=function(t){return new mt(Math.max(0,this.l-tu*(arguments.length?t:1)),this.a,this.b)},iu.rgb=function(){return yt(this.l,this.a,this.b)},fo.rgb=Lt;var au=Lt.prototype=new dt;au.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var e=this.r,n=this.g,r=this.b,i=30;return e||n||r?(e&&e<i&&(e=i),n&&n<i&&(n=i),r&&r<i&&(r=i),new Lt(Math.min(255,e/t),Math.min(255,n/t),Math.min(255,r/t))):new Lt(i,i,i)},au.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new Lt(t*this.r,t*this.g,t*this.b)},au.hsl=function(){return Yt(this.r,this.g,this.b)},au.toString=function(){return"#"+Dt(this.r)+Dt(this.g)+Dt(this.b)};var ou=fo.map({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});ou.forEach(function(t,e){ou.set(t,kt(e))}),fo.functor=St,fo.xhr=Ft(k),fo.dsv=function(t,e){function n(t,n,a){arguments.length<3&&(a=n,n=null);var o=Ct(t,e,null==n?r:i(n),a);return o.row=function(t){return arguments.length?o.response(null==(n=t)?r:i(t)):n},o}function r(t){return n.parse(t.responseText)}function i(t){return function(e){return n.parse(e.responseText,t)}}function a(e){return e.map(o).join(t)}function o(t){return u.test(t)?'"'+t.replace(/\"/g,'""')+'"':t}var u=new RegExp('["'+t+"\n]"),s=t.charCodeAt(0);return n.parse=function(t,e){var r;return n.parseRows(t,function(t,n){if(r)return r(t,n-1);var i=new Function("d","return {"+t.map(function(t,e){return JSON.stringify(t)+": d["+e+"]"}).join(",")+"}");r=e?function(t,n){return e(i(t),n)}:i})},n.parseRows=function(t,e){function n(){if(l>=c)return o;if(i)return i=!1,a;var e=l;if(34===t.charCodeAt(e)){for(var n=e;n++<c;)if(34===t.charCodeAt(n)){if(34!==t.charCodeAt(n+1))break;++n}l=n+2;var r=t.charCodeAt(n+1);return 13===r?(i=!0,10===t.charCodeAt(n+2)&&++l):10===r&&(i=!0),t.slice(e+1,n).replace(/""/g,'"')}for(;l<c;){var r=t.charCodeAt(l++),u=1;if(10===r)i=!0;else if(13===r)i=!0,10===t.charCodeAt(l)&&(++l,++u);else if(r!==s)continue;return t.slice(e,l-u)}return t.slice(e)}for(var r,i,a={},o={},u=[],c=t.length,l=0,d=0;(r=n())!==o;){for(var h=[];r!==a&&r!==o;)h.push(r),r=n();e&&null==(h=e(h,d++))||u.push(h)}return u},n.format=function(e){if(Array.isArray(e[0]))return n.formatRows(e);var r=new L,i=[];return e.forEach(function(t){for(var e in t)r.has(e)||i.push(r.add(e))}),[i.map(o).join(t)].concat(e.map(function(e){return i.map(function(t){return o(e[t])}).join(t)})).join("\n")},n.formatRows=function(t){return t.map(a).join("\n")},n},fo.csv=fo.dsv(",","text/csv"),fo.tsv=fo.dsv("\t","text/tab-separated-values");var uu,su,cu,lu,du=this[D(this,"requestAnimationFrame")]||function(t){setTimeout(t,17)};fo.timer=function(){Ot.apply(this,arguments)},fo.timer.flush=function(){Nt(),Bt()},fo.round=function(t,e){return e?Math.round(t*(e=Math.pow(10,e)))/e:Math.round(t)};var hu=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"].map(Rt);fo.formatPrefix=function(t,e){var n=0;return(t=+t)&&(t<0&&(t*=-1),e&&(t=fo.round(t,It(t,e))),n=1+Math.floor(1e-12+Math.log(t)/Math.LN10),n=Math.max(-24,Math.min(24,3*Math.floor((n-1)/3)))),hu[8+n/3]};var fu=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,_u=fo.map({b:function(t){return t.toString(2)},c:function(t){return String.fromCharCode(t)},o:function(t){return t.toString(8)},x:function(t){return t.toString(16)},X:function(t){return t.toString(16).toUpperCase()},g:function(t,e){return t.toPrecision(e)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},r:function(t,e){return(t=fo.round(t,It(t,e))).toFixed(Math.max(0,Math.min(20,It(t*(1+1e-15),e))))}}),pu=fo.time={},mu=Date;qt.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){yu.setUTCDate.apply(this._,arguments)},setDay:function(){yu.setUTCDay.apply(this._,arguments)},setFullYear:function(){yu.setUTCFullYear.apply(this._,arguments)},setHours:function(){yu.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){yu.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){yu.setUTCMinutes.apply(this._,arguments)},setMonth:function(){yu.setUTCMonth.apply(this._,arguments)},setSeconds:function(){yu.setUTCSeconds.apply(this._,arguments)},setTime:function(){yu.setTime.apply(this._,arguments)}};var yu=Date.prototype;pu.year=Ut(function(t){return t=pu.day(t),t.setMonth(0,1),t},function(t,e){t.setFullYear(t.getFullYear()+e)},function(t){return t.getFullYear()}),pu.years=pu.year.range,pu.years.utc=pu.year.utc.range,pu.day=Ut(function(t){var e=new mu(2e3,0);return e.setFullYear(t.getFullYear(),t.getMonth(),t.getDate()),e},function(t,e){t.setDate(t.getDate()+e)},function(t){return t.getDate()-1}),pu.days=pu.day.range,pu.days.utc=pu.day.utc.range,pu.dayOfYear=function(t){var e=pu.year(t);return Math.floor((t-e-6e4*(t.getTimezoneOffset()-e.getTimezoneOffset()))/864e5)},["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].forEach(function(t,e){e=7-e;var n=pu[t]=Ut(function(t){return(t=pu.day(t)).setDate(t.getDate()-(t.getDay()+e)%7),t},function(t,e){t.setDate(t.getDate()+7*Math.floor(e))},function(t){var n=pu.year(t).getDay();return Math.floor((pu.dayOfYear(t)+(n+e)%7)/7)-(n!==e)});pu[t+"s"]=n.range,pu[t+"s"].utc=n.utc.range,pu[t+"OfYear"]=function(t){var n=pu.year(t).getDay();return Math.floor((pu.dayOfYear(t)+(n+e)%7)/7)}}),pu.week=pu.sunday,pu.weeks=pu.sunday.range,pu.weeks.utc=pu.sunday.utc.range,pu.weekOfYear=pu.sundayOfYear;var gu={"-":"",_:" ",0:"0"},vu=/^\s*\d+/,Mu=/^%/;fo.locale=function(t){return{numberFormat:Wt(t),timeFormat:Vt(t)}};var bu=fo.locale({decimal:".",thousands:",",grouping:[3],currency:["$",""],dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",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"]});fo.format=bu.numberFormat,fo.geo={},_e.prototype={s:0,t:0,add:function(t){pe(t,this.t,Lu),pe(Lu.s,this.s,this),this.s?this.t+=Lu.t:this.s=Lu.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var Lu=new _e;fo.geo.stream=function(t,e){t&&ku.hasOwnProperty(t.type)?ku[t.type](t,e):me(t,e)};var ku={Feature:function(t,e){me(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,r=-1,i=n.length;++r<i;)me(n[r].geometry,e)}},wu={Sphere:function(t,e){e.sphere()},Point:function(t,e){t=t.coordinates,e.point(t[0],t[1],t[2])},MultiPoint:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)t=n[r],e.point(t[0],t[1],t[2])},LineString:function(t,e){ye(t.coordinates,e,0)},MultiLineString:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)ye(n[r],e,0)},Polygon:function(t,e){ge(t.coordinates,e)},MultiPolygon:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)ge(n[r],e)},GeometryCollection:function(t,e){for(var n=t.geometries,r=-1,i=n.length;++r<i;)me(n[r],e)}};fo.geo.area=function(t){return Du=0,fo.geo.stream(t,Yu),Du};var Du,xu=new _e,Yu={sphere:function(){Du+=4*Wo},point:x,lineStart:x,lineEnd:x,polygonStart:function(){xu.reset(),Yu.lineStart=ve},polygonEnd:function(){var t=2*xu;Du+=t<0?4*Wo+t:t,Yu.lineStart=Yu.lineEnd=Yu.point=x}};fo.geo.bounds=function(){function t(t,e){v.push(M=[l=t,h=t]),e<d&&(d=e),e>f&&(f=e)}function e(e,n){var r=Me([e*$o,n*$o]);if(y){var i=Le(y,r),a=[i[1],-i[0],0],o=Le(a,i);De(o),o=xe(o);var s=e-_,c=s>0?1:-1,p=o[0]*Vo*c,m=ko(s)>180;if(m^(c*_<p&&p<c*e)){var g=o[1]*Vo;g>f&&(f=g)}else if(p=(p+360)%360-180,m^(c*_<p&&p<c*e)){var g=-o[1]*Vo;g<d&&(d=g)}else n<d&&(d=n),n>f&&(f=n);m?e<_?u(l,e)>u(l,h)&&(h=e):u(e,h)>u(l,h)&&(l=e):h>=l?(e<l&&(l=e),e>h&&(h=e)):e>_?u(l,e)>u(l,h)&&(h=e):u(e,h)>u(l,h)&&(l=e)}else t(e,n);y=r,_=e}function n(){b.point=e}function r(){M[0]=l,M[1]=h,b.point=t,y=null}function i(t,n){if(y){var r=t-_;g+=ko(r)>180?r+(r>0?360:-360):r}else p=t,m=n;Yu.point(t,n),e(t,n)}function a(){Yu.lineStart()}function o(){i(p,m),Yu.lineEnd(),ko(g)>Io&&(l=-(h=180)),M[0]=l,M[1]=h,y=null}function u(t,e){return(e-=t)<0?e+360:e}function s(t,e){return t[0]-e[0]}function c(t,e){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:t<e[0]||e[1]<t}var l,d,h,f,_,p,m,y,g,v,M,b={point:t,lineStart:n,lineEnd:r,polygonStart:function(){b.point=i,b.lineStart=a,b.lineEnd=o,g=0,Yu.polygonStart()},polygonEnd:function(){Yu.polygonEnd(),b.point=t,b.lineStart=n,b.lineEnd=r,xu<0?(l=-(h=180),d=-(f=90)):g>Io?f=90:g<-Io&&(d=-90),M[0]=l,M[1]=h}};return function(t){f=h=-(l=d=1/0),v=[],fo.geo.stream(t,b);var e=v.length;if(e){v.sort(s);for(var n,r=1,i=v[0],a=[i];r<e;++r)n=v[r],c(n[0],i)||c(n[1],i)?(u(i[0],n[1])>u(i[0],i[1])&&(i[1]=n[1]),u(n[0],i[1])>u(i[0],i[1])&&(i[0]=n[0])):a.push(i=n);for(var o,n,_=-1/0,e=a.length-1,r=0,i=a[e];r<=e;i=n,++r)n=a[r],(o=u(i[1],n[0]))>_&&(_=o,l=n[0],h=i[1])}return v=M=null,l===1/0||d===1/0?[[NaN,NaN],[NaN,NaN]]:[[l,d],[h,f]]}}(),fo.geo.centroid=function(t){Tu=Au=Eu=Su=Fu=Cu=ju=Hu=Ou=Pu=Nu=0,fo.geo.stream(t,Bu);var e=Ou,n=Pu,r=Nu,i=e*e+n*n+r*r;return i<Ro&&(e=Cu,n=ju,r=Hu,Au<Io&&(e=Eu,n=Su,r=Fu),(i=e*e+n*n+r*r)<Ro)?[NaN,NaN]:[Math.atan2(n,e)*Vo,ot(r/Math.sqrt(i))*Vo]};var Tu,Au,Eu,Su,Fu,Cu,ju,Hu,Ou,Pu,Nu,Bu={sphere:x,point:Te,lineStart:Ee,lineEnd:Se,polygonStart:function(){Bu.lineStart=Fe},polygonEnd:function(){Bu.lineStart=Ee}},Iu=Ne(je,We,qe,[-Wo,-Wo/2]),Ru=1e9;fo.geo.clipExtent=function(){var t,e,n,r,i,a,o={stream:function(t){return i&&(i.valid=!1),i=a(t),i.valid=!0,i},extent:function(u){return arguments.length?(a=Ge(t=+u[0][0],e=+u[0][1],n=+u[1][0],r=+u[1][1]),i&&(i.valid=!1,i=null),o):[[t,e],[n,r]]}};return o.extent([[0,0],[960,500]])},(fo.geo.conicEqualArea=function(){return Je(Ze)}).raw=Ze,fo.geo.albers=function(){return fo.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},fo.geo.albersUsa=function(){function t(t){var a=t[0],o=t[1];return e=null,n(a,o),e||(r(a,o),e)||i(a,o),e}var e,n,r,i,a=fo.geo.albers(),o=fo.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),u=fo.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),s={point:function(t,n){e=[t,n]}};return t.invert=function(t){var e=a.scale(),n=a.translate(),r=(t[0]-n[0])/e,i=(t[1]-n[1])/e;return(i>=.12&&i<.234&&r>=-.425&&r<-.214?o:i>=.166&&i<.234&&r>=-.214&&r<-.115?u:a).invert(t)},t.stream=function(t){var e=a.stream(t),n=o.stream(t),r=u.stream(t);return{point:function(t,i){e.point(t,i),n.point(t,i),r.point(t,i)},sphere:function(){e.sphere(),n.sphere(),r.sphere()},lineStart:function(){e.lineStart(),n.lineStart(),r.lineStart()},lineEnd:function(){e.lineEnd(),n.lineEnd(),r.lineEnd()},polygonStart:function(){e.polygonStart(),n.polygonStart(),r.polygonStart()},polygonEnd:function(){e.polygonEnd(),n.polygonEnd(),r.polygonEnd()}}},t.precision=function(e){return arguments.length?(a.precision(e),o.precision(e),u.precision(e),t):a.precision()},t.scale=function(e){return arguments.length?(a.scale(e),o.scale(.35*e),u.scale(e),t.translate(a.translate())):a.scale()},t.translate=function(e){if(!arguments.length)return a.translate();var c=a.scale(),l=+e[0],d=+e[1];return n=a.translate(e).clipExtent([[l-.455*c,d-.238*c],[l+.455*c,d+.238*c]]).stream(s).point,r=o.translate([l-.307*c,d+.201*c]).clipExtent([[l-.425*c+Io,d+.12*c+Io],[l-.214*c-Io,d+.234*c-Io]]).stream(s).point,i=u.translate([l-.205*c,d+.212*c]).clipExtent([[l-.214*c+Io,d+.166*c+Io],[l-.115*c-Io,d+.234*c-Io]]).stream(s).point,t},t.scale(1070)};var Wu,zu,qu,Uu,$u,Vu,Gu={point:x,lineStart:x,lineEnd:x,polygonStart:function(){zu=0,Gu.lineStart=Ke},polygonEnd:function(){Gu.lineStart=Gu.lineEnd=Gu.point=x,Wu+=ko(zu/2)}},Ju={point:Xe,lineStart:x,lineEnd:x,polygonStart:x,polygonEnd:x},Zu={point:en,lineStart:nn,lineEnd:rn,polygonStart:function(){Zu.lineStart=an},polygonEnd:function(){Zu.point=en,Zu.lineStart=nn,Zu.lineEnd=rn}};fo.geo.path=function(){function t(t){return t&&("function"==typeof u&&a.pointRadius(+u.apply(this,arguments)),o&&o.valid||(o=i(a)),fo.geo.stream(t,o)),a.result()}function e(){return o=null,t}var n,r,i,a,o,u=4.5;return t.area=function(t){return Wu=0,fo.geo.stream(t,i(Gu)),Wu},t.centroid=function(t){return Eu=Su=Fu=Cu=ju=Hu=Ou=Pu=Nu=0,fo.geo.stream(t,i(Zu)),Nu?[Ou/Nu,Pu/Nu]:Hu?[Cu/Hu,ju/Hu]:Fu?[Eu/Fu,Su/Fu]:[NaN,NaN]},t.bounds=function(t){return $u=Vu=-(qu=Uu=1/0),fo.geo.stream(t,i(Ju)),[[qu,Uu],[$u,Vu]]},t.projection=function(t){return arguments.length?(i=(n=t)?t.stream||sn(t):k,e()):n},t.context=function(t){return arguments.length?(a=null==(r=t)?new Qe:new on(t),"function"!=typeof u&&a.pointRadius(u),e()):r},t.pointRadius=function(e){return arguments.length?(u="function"==typeof e?e:(a.pointRadius(+e),+e),t):u},t.projection(fo.geo.albersUsa()).context(null)},fo.geo.transform=function(t){return{stream:function(e){var n=new cn(e);for(var r in t)n[r]=t[r];return n}}},cn.prototype={point:function(t,e){this.stream.point(t,e)},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()}},fo.geo.projection=dn,fo.geo.projectionMutator=hn,(fo.geo.equirectangular=function(){return dn(_n)}).raw=_n.invert=_n,fo.geo.rotation=function(t){function e(e){return e=t(e[0]*$o,e[1]*$o),e[0]*=Vo,e[1]*=Vo,e}return t=mn(t[0]%360*$o,t[1]*$o,t.length>2?t[2]*$o:0),e.invert=function(e){return e=t.invert(e[0]*$o,e[1]*$o),e[0]*=Vo,e[1]*=Vo,e},e},pn.invert=_n,fo.geo.circle=function(){function t(){var t="function"==typeof r?r.apply(this,arguments):r,e=mn(-t[0]*$o,-t[1]*$o,0).invert,i=[];return n(null,null,1,{point:function(t,n){i.push(t=e(t,n)),t[0]*=Vo,t[1]*=Vo}}),{type:"Polygon",coordinates:[i]}}var e,n,r=[0,0],i=6;return t.origin=function(e){return arguments.length?(r=e,t):r},t.angle=function(r){return arguments.length?(n=Mn((e=+r)*$o,i*$o),t):e},t.precision=function(r){return arguments.length?(n=Mn(e*$o,(i=+r)*$o),t):i},t.angle(90)},fo.geo.distance=function(t,e){var n,r=(e[0]-t[0])*$o,i=t[1]*$o,a=e[1]*$o,o=Math.sin(r),u=Math.cos(r),s=Math.sin(i),c=Math.cos(i),l=Math.sin(a),d=Math.cos(a);return Math.atan2(Math.sqrt((n=d*o)*n+(n=c*l-s*d*u)*n),s*l+c*d*u)},fo.geo.graticule=function(){function t(){return{type:"MultiLineString",coordinates:e()}}function e(){return fo.range(Math.ceil(a/m)*m,i,m).map(h).concat(fo.range(Math.ceil(c/y)*y,s,y).map(f)).concat(fo.range(Math.ceil(r/_)*_,n,_).filter(function(t){return ko(t%m)>Io}).map(l)).concat(fo.range(Math.ceil(u/p)*p,o,p).filter(function(t){return ko(t%y)>Io}).map(d))}var n,r,i,a,o,u,s,c,l,d,h,f,_=10,p=_,m=90,y=360,g=2.5;return t.lines=function(){return e().map(function(t){return{type:"LineString",coordinates:t}})},t.outline=function(){return{type:"Polygon",coordinates:[h(a).concat(f(s).slice(1),h(i).reverse().slice(1),f(c).reverse().slice(1))]}},t.extent=function(e){return arguments.length?t.majorExtent(e).minorExtent(e):t.minorExtent()},t.majorExtent=function(e){return arguments.length?(a=+e[0][0],i=+e[1][0],c=+e[0][1],s=+e[1][1],a>i&&(e=a,a=i,i=e),c>s&&(e=c,c=s,s=e),t.precision(g)):[[a,c],[i,s]]},t.minorExtent=function(e){return arguments.length?(r=+e[0][0],n=+e[1][0],u=+e[0][1],o=+e[1][1],r>n&&(e=r,r=n,n=e),u>o&&(e=u,u=o,o=e),t.precision(g)):[[r,u],[n,o]]},t.step=function(e){return arguments.length?t.majorStep(e).minorStep(e):t.minorStep()},t.majorStep=function(e){return arguments.length?(m=+e[0],y=+e[1],t):[m,y]},t.minorStep=function(e){return arguments.length?(_=+e[0],p=+e[1],t):[_,p]},t.precision=function(e){return arguments.length?(g=+e,l=Ln(u,o,90),d=kn(r,n,g),h=Ln(c,s,90),f=kn(a,i,g),t):g},t.majorExtent([[-180,-90+Io],[180,90-Io]]).minorExtent([[-180,-80-Io],[180,80+Io]])},fo.geo.greatArc=function(){function t(){return{type:"LineString",coordinates:[e||r.apply(this,arguments),n||i.apply(this,arguments)]}}var e,n,r=wn,i=Dn;return t.distance=function(){return fo.geo.distance(e||r.apply(this,arguments),n||i.apply(this,arguments))},t.source=function(n){return arguments.length?(r=n,e="function"==typeof n?null:n,t):r},t.target=function(e){return arguments.length?(i=e,n="function"==typeof e?null:e,t):i},t.precision=function(){return arguments.length?t:0},t},fo.geo.interpolate=function(t,e){return xn(t[0]*$o,t[1]*$o,e[0]*$o,e[1]*$o)},fo.geo.length=function(t){return Ku=0,fo.geo.stream(t,Xu),Ku};var Ku,Xu={sphere:x,point:x,lineStart:Yn,lineEnd:x,polygonStart:x,polygonEnd:x},Qu=Tn(function(t){return Math.sqrt(2/(1+t))},function(t){return 2*Math.asin(t/2)});(fo.geo.azimuthalEqualArea=function(){return dn(Qu)}).raw=Qu;var ts=Tn(function(t){var e=Math.acos(t);return e&&e/Math.sin(e)},k);(fo.geo.azimuthalEquidistant=function(){return dn(ts)}).raw=ts,(fo.geo.conicConformal=function(){return Je(An)}).raw=An,(fo.geo.conicEquidistant=function(){return Je(En)}).raw=En;var es=Tn(function(t){return 1/t},Math.atan);(fo.geo.gnomonic=function(){return dn(es)}).raw=es,Sn.invert=function(t,e){return[t,2*Math.atan(Math.exp(e))-Uo]},(fo.geo.mercator=function(){return Fn(Sn)}).raw=Sn;var ns=Tn(function(){return 1},Math.asin);(fo.geo.orthographic=function(){return dn(ns)}).raw=ns;var rs=Tn(function(t){return 1/(1+t)},function(t){return 2*Math.atan(t)});(fo.geo.stereographic=function(){return dn(rs)}).raw=rs,Cn.invert=function(t,e){return[-e,2*Math.atan(Math.exp(t))-Uo]},(fo.geo.transverseMercator=function(){var t=Fn(Cn),e=t.center,n=t.rotate;return t.center=function(t){return t?e([-t[1],t[0]]):(t=e(),[t[1],-t[0]])},t.rotate=function(t){return t?n([t[0],t[1],t.length>2?t[2]+90:90]):(t=n(),[t[0],t[1],t[2]-90])},n([0,0,90])}).raw=Cn,fo.geom={},fo.geom.hull=function(t){function e(t){if(t.length<3)return[];var e,i=St(n),a=St(r),o=t.length,u=[],s=[];for(e=0;e<o;e++)u.push([+i.call(this,t[e],e),+a.call(this,t[e],e),e]);for(u.sort(Pn),e=0;e<o;e++)s.push([u[e][0],-u[e][1]]);var c=On(u),l=On(s),d=l[0]===c[0],h=l[l.length-1]===c[c.length-1],f=[];for(e=c.length-1;e>=0;--e)f.push(t[u[c[e]][2]]);for(e=+d;e<l.length-h;++e)f.push(t[u[l[e]][2]]);return f}var n=jn,r=Hn;return arguments.length?e(t):(e.x=function(t){return arguments.length?(n=t,e):n},e.y=function(t){return arguments.length?(r=t,e):r},e)},fo.geom.polygon=function(t){return To(t,is),t};var is=fo.geom.polygon.prototype=[];is.area=function(){for(var t,e=-1,n=this.length,r=this[n-1],i=0;++e<n;)t=r,r=this[e],i+=t[1]*r[0]-t[0]*r[1];return.5*i},is.centroid=function(t){var e,n,r=-1,i=this.length,a=0,o=0,u=this[i-1];for(arguments.length||(t=-1/(6*this.area()));++r<i;)e=u,u=this[r],n=e[0]*u[1]-u[0]*e[1],a+=(e[0]+u[0])*n,o+=(e[1]+u[1])*n;return[a*t,o*t]},is.clip=function(t){for(var e,n,r,i,a,o,u=In(t),s=-1,c=this.length-In(this),l=this[c-1];++s<c;){for(e=t.slice(),t.length=0,i=this[s],a=e[(r=e.length-u)-1],n=-1;++n<r;)o=e[n],Nn(o,l,i)?(Nn(a,l,i)||t.push(Bn(a,o,l,i)),t.push(o)):Nn(a,l,i)&&t.push(Bn(a,o,l,i)),a=o;u&&t.push(t[0]),l=i}return t};var as,os,us,ss,cs,ls=[],ds=[];Gn.prototype.prepare=function(){for(var t,e=this.edges,n=e.length;n--;)t=e[n].edge,t.b&&t.a||e.splice(n,1);return e.sort(Zn),e.length},or.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a}},ur.prototype={insert:function(t,e){var n,r,i;if(t){if(e.P=t,e.N=t.N,t.N&&(t.N.P=e),t.N=e,t.R){for(t=t.R;t.L;)t=t.L;t.L=e}else t.R=e;n=t}else this._?(t=dr(this._),e.P=null,e.N=t,t.P=t.L=e,n=t):(e.P=e.N=null,this._=e,n=null);for(e.L=e.R=null,e.U=n,e.C=!0,t=e;n&&n.C;)r=n.U,n===r.L?(i=r.R,i&&i.C?(n.C=i.C=!1,r.C=!0,t=r):(t===n.R&&(cr(this,n),t=n,n=t.U),n.C=!1,r.C=!0,lr(this,r))):(i=r.L,i&&i.C?(n.C=i.C=!1,r.C=!0,t=r):(t===n.L&&(lr(this,n),t=n,n=t.U),n.C=!1,r.C=!0,cr(this,r))),n=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 e,n,r,i=t.U,a=t.L,o=t.R;if(n=a?o?dr(o):a:o,i?i.L===t?i.L=n:i.R=n:this._=n,a&&o?(r=n.C,n.C=t.C,n.L=a,a.U=n,n!==o?(i=n.U,n.U=t.U,t=n.R,i.L=t,n.R=o,o.U=n):(n.U=i,i=n,t=n.R)):(r=t.C,t=n),t&&(t.U=i),!r){if(t&&t.C)return void(t.C=!1);do{if(t===this._)break;if(t===i.L){if(e=i.R,e.C&&(e.C=!1,i.C=!0,cr(this,i),e=i.R),e.L&&e.L.C||e.R&&e.R.C){e.R&&e.R.C||(e.L.C=!1,e.C=!0,lr(this,e),e=i.R),e.C=i.C,i.C=e.R.C=!1,cr(this,i),t=this._;break}}else if(e=i.L,e.C&&(e.C=!1,i.C=!0,lr(this,i),e=i.L),e.L&&e.L.C||e.R&&e.R.C){e.L&&e.L.C||(e.R.C=!1,e.C=!0,cr(this,e),e=i.L),e.C=i.C,i.C=e.L.C=!1,lr(this,i),t=this._;break}e.C=!0,t=i,i=i.U}while(!t.C);t&&(t.C=!1)}}},fo.geom.voronoi=function(t){function e(t){var e=new Array(t.length),r=u[0][0],i=u[0][1],a=u[1][0],o=u[1][1];return hr(n(t),u).cells.forEach(function(n,u){var s=n.edges,c=n.site;(e[u]=s.length?s.map(function(t){var e=t.start();return[e.x,e.y]}):c.x>=r&&c.x<=a&&c.y>=i&&c.y<=o?[[r,o],[a,o],[a,i],[r,i]]:[]).point=t[u]}),e}function n(t){return t.map(function(t,e){return{x:Math.round(a(t,e)/Io)*Io,y:Math.round(o(t,e)/Io)*Io,i:e}})}var r=jn,i=Hn,a=r,o=i,u=hs;return t?e(t):(e.links=function(t){return hr(n(t)).edges.filter(function(t){return t.l&&t.r}).map(function(e){return{source:t[e.l.i],target:t[e.r.i]}})},e.triangles=function(t){var e=[];return hr(n(t)).cells.forEach(function(n,r){for(var i,a=n.site,o=n.edges.sort(Zn),u=-1,s=o.length,c=o[s-1].edge,l=c.l===a?c.r:c.l;++u<s;)c,i=l,c=o[u].edge,l=c.l===a?c.r:c.l,r<i.i&&r<l.i&&_r(a,i,l)<0&&e.push([t[r],t[i.i],t[l.i]])}),e},e.x=function(t){return arguments.length?(a=St(r=t),e):r},e.y=function(t){return arguments.length?(o=St(i=t),e):i},e.clipExtent=function(t){return arguments.length?(u=null==t?hs:t,e):u===hs?null:u},e.size=function(t){return arguments.length?e.clipExtent(t&&[[0,0],t]):u===hs?null:u&&u[1]},e)};var hs=[[-1e6,-1e6],[1e6,1e6]];fo.geom.delaunay=function(t){return fo.geom.voronoi().triangles(t)},fo.geom.quadtree=function(t,e,n,r,i){function a(t){function a(t,e,n,r,i,a,o,u){if(!isNaN(n)&&!isNaN(r))if(t.leaf){var s=t.x,l=t.y;if(null!=s)if(ko(s-n)+ko(l-r)<.01)c(t,e,n,r,i,a,o,u);else{var d=t.point;t.x=t.y=t.point=null,c(t,d,s,l,i,a,o,u),c(t,e,n,r,i,a,o,u)}else t.x=n,t.y=r,t.point=e}else c(t,e,n,r,i,a,o,u)}function c(t,e,n,r,i,o,u,s){var c=.5*(i+u),l=.5*(o+s),d=n>=c,h=r>=l,f=h<<1|d;t.leaf=!1,t=t.nodes[f]||(t.nodes[f]=yr()),d?i=c:u=c,h?o=l:s=l,a(t,e,n,r,i,o,u,s)}var l,d,h,f,_,p,m,y,g,v=St(u),M=St(s);if(null!=e)p=e,m=n,y=r,g=i;else if(y=g=-(p=m=1/0),d=[],h=[],_=t.length,o)for(f=0;f<_;++f)l=t[f],l.x<p&&(p=l.x),l.y<m&&(m=l.y),l.x>y&&(y=l.x),l.y>g&&(g=l.y),d.push(l.x),h.push(l.y);else for(f=0;f<_;++f){var b=+v(l=t[f],f),L=+M(l,f);b<p&&(p=b),L<m&&(m=L),b>y&&(y=b),L>g&&(g=L),d.push(b),h.push(L)}var k=y-p,w=g-m;k>w?g=m+k:y=p+w;var D=yr();if(D.add=function(t){a(D,t,+v(t,++f),+M(t,f),p,m,y,g)},D.visit=function(t){gr(t,D,p,m,y,g)},D.find=function(t){return vr(D,t[0],t[1],p,m,y,g)},f=-1,null==e){for(;++f<_;)a(D,t[f],d[f],h[f],p,m,y,g);--f}else t.forEach(D.add);return d=h=t=l=null,D}var o,u=jn,s=Hn;return(o=arguments.length)?(u=pr,s=mr,3===o&&(i=n,r=e,n=e=0),a(t)):(a.x=function(t){return arguments.length?(u=t,a):u},a.y=function(t){return arguments.length?(s=t,a):s},a.extent=function(t){return arguments.length?(null==t?e=n=r=i=null:(e=+t[0][0],n=+t[0][1],r=+t[1][0],i=+t[1][1]),a):null==e?null:[[e,n],[r,i]]},a.size=function(t){return arguments.length?(null==t?e=n=r=i=null:(e=n=0,r=+t[0],i=+t[1]),a):null==e?null:[r-e,i-n]},a)},fo.interpolateRgb=Mr,fo.interpolateObject=br,fo.interpolateNumber=Lr,fo.interpolateString=kr;var fs=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,_s=new RegExp(fs.source,"g");fo.interpolate=wr,fo.interpolators=[function(t,e){var n=typeof e;return("string"===n?ou.has(e.toLowerCase())||/^(#|rgb\(|hsl\()/i.test(e)?Mr:kr:e instanceof dt?Mr:Array.isArray(e)?Dr:"object"===n&&isNaN(e)?br:Lr)(t,e)}],fo.interpolateArray=Dr;var ps=function(){return k},ms=fo.map({linear:ps,poly:Fr,quad:function(){return Ar},cubic:function(){return Er},sin:function(){return Cr},exp:function(){return jr},circle:function(){return Hr},elastic:Or,back:Pr,bounce:function(){return Nr}}),ys=fo.map({in:k,out:Yr,"in-out":Tr,"out-in":function(t){return Tr(Yr(t))}});fo.ease=function(t){var e=t.indexOf("-"),n=e>=0?t.slice(0,e):t,r=e>=0?t.slice(e+1):"in";return n=ms.get(n)||ps,r=ys.get(r)||k,xr(r(n.apply(null,_o.call(arguments,1))))},fo.interpolateHcl=Br,fo.interpolateHsl=Ir,fo.interpolateLab=Rr,fo.interpolateRound=Wr,fo.transform=function(t){var e=mo.createElementNS(fo.ns.prefix.svg,"g");return(fo.transform=function(t){if(null!=t){e.setAttribute("transform",t);var n=e.transform.baseVal.consolidate()}return new zr(n?n.matrix:gs)})(t)},zr.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var gs={a:1,b:0,c:0,d:1,e:0,f:0};fo.interpolateTransform=Xr,fo.layout={},fo.layout.bundle=function(){return function(t){for(var e=[],n=-1,r=t.length;++n<r;)e.push(ei(t[n]));return e}},fo.layout.chord=function(){function t(){var t,c,d,h,f,_={},p=[],m=fo.range(a),y=[];for(n=[],r=[],t=0,h=-1;++h<a;){for(c=0,f=-1;++f<a;)c+=i[h][f];p.push(c),y.push(fo.range(a)),t+=c}for(o&&m.sort(function(t,e){return o(p[t],p[e])}),u&&y.forEach(function(t,e){t.sort(function(t,n){return u(i[e][t],i[e][n])})}),t=(zo-l*a)/t,c=0,h=-1;++h<a;){for(d=c,f=-1;++f<a;){var g=m[h],v=y[g][f],M=i[g][v],b=c,L=c+=M*t;_[g+"-"+v]={index:g,subindex:v,startAngle:b,endAngle:L,value:M}}r[g]={index:g,startAngle:d,endAngle:c,value:p[g]},c+=l}for(h=-1;++h<a;)for(f=h-1;++f<a;){var k=_[h+"-"+f],w=_[f+"-"+h];(k.value||w.value)&&n.push(k.value<w.value?{source:w,target:k}:{source:k,target:w})}s&&e()}function e(){n.sort(function(t,e){return s((t.source.value+t.target.value)/2,(e.source.value+e.target.value)/2)})}var n,r,i,a,o,u,s,c={},l=0;return c.matrix=function(t){return arguments.length?(a=(i=t)&&i.length,n=r=null,c):i},c.padding=function(t){return arguments.length?(l=t,n=r=null,c):l},c.sortGroups=function(t){return arguments.length?(o=t,n=r=null,c):o},c.sortSubgroups=function(t){return arguments.length?(u=t,n=null,c):u},c.sortChords=function(t){return arguments.length?(s=t,n&&e(),c):s},c.chords=function(){return n||t(),n},c.groups=function(){return r||t(),r},c},fo.layout.force=function(){function t(t){return function(e,n,r,i){if(e.point!==t){var a=e.cx-t.x,o=e.cy-t.y,u=i-n,s=a*a+o*o;if(u*u/y<s){if(s<p){var c=e.charge/s;t.px-=a*c,t.py-=o*c}return!0}if(e.point&&s&&s<p){var c=e.pointCharge/s;t.px-=a*c,t.py-=o*c}}return!e.charge}}function e(t){t.px=fo.event.x,t.py=fo.event.y,s.resume()}var n,r,i,a,o,u,s={},c=fo.dispatch("start","tick","end"),l=[1,1],d=.9,h=vs,f=Ms,_=-30,p=bs,m=.1,y=.64,g=[],v=[];return s.tick=function(){if((i*=.99)<.005)return n=null,c.end({type:"end",alpha:i=0}),!0;var e,r,s,h,f,p,y,M,b,L=g.length,k=v.length;for(r=0;r<k;++r)s=v[r],h=s.source,f=s.target,M=f.x-h.x,b=f.y-h.y,(p=M*M+b*b)&&(p=i*o[r]*((p=Math.sqrt(p))-a[r])/p,M*=p,b*=p,f.x-=M*(y=h.weight+f.weight?h.weight/(h.weight+f.weight):.5),f.y-=b*y,h.x+=M*(y=1-y),h.y+=b*y);if((y=i*m)&&(M=l[0]/2,b=l[1]/2,r=-1,y))for(;++r<L;)s=g[r],s.x+=(M-s.x)*y,s.y+=(b-s.y)*y;if(_)for(si(e=fo.geom.quadtree(g),i,u),r=-1;++r<L;)(s=g[r]).fixed||e.visit(t(s));for(r=-1;++r<L;)s=g[r],s.fixed?(s.x=s.px,s.y=s.py):(s.x-=(s.px-(s.px=s.x))*d,s.y-=(s.py-(s.py=s.y))*d);c.tick({type:"tick",alpha:i})},s.nodes=function(t){return arguments.length?(g=t,s):g},s.links=function(t){return arguments.length?(v=t,s):v},s.size=function(t){return arguments.length?(l=t,s):l},s.linkDistance=function(t){return arguments.length?(h="function"==typeof t?t:+t,s):h},s.distance=s.linkDistance,s.linkStrength=function(t){return arguments.length?(f="function"==typeof t?t:+t,s):f},s.friction=function(t){return arguments.length?(d=+t,s):d},s.charge=function(t){return arguments.length?(_="function"==typeof t?t:+t,s):_},s.chargeDistance=function(t){return arguments.length?(p=t*t,s):Math.sqrt(p)},s.gravity=function(t){return arguments.length?(m=+t,s):m},s.theta=function(t){return arguments.length?(y=t*t,s):Math.sqrt(y)},s.alpha=function(t){return arguments.length?(t=+t,i?t>0?i=t:(n.c=null,n.t=NaN,n=null,c.end({type:"end",alpha:i=0})):t>0&&(c.start({type:"start",alpha:i=t}),n=Ot(s.tick)),s):i},s.start=function(){function t(t,r){if(!n){for(n=new Array(i),s=0;s<i;++s)n[s]=[];for(s=0;s<c;++s){var a=v[s];n[a.source.index].push(a.target),n[a.target.index].push(a.source)}}for(var o,u=n[e],s=-1,l=u.length;++s<l;)if(!isNaN(o=u[s][t]))return o;return Math.random()*r}var e,n,r,i=g.length,c=v.length,d=l[0],p=l[1];for(e=0;e<i;++e)(r=g[e]).index=e,r.weight=0;for(e=0;e<c;++e)r=v[e],"number"==typeof r.source&&(r.source=g[r.source]),"number"==typeof r.target&&(r.target=g[r.target]),++r.source.weight,++r.target.weight;for(e=0;e<i;++e)r=g[e],isNaN(r.x)&&(r.x=t("x",d)),isNaN(r.y)&&(r.y=t("y",p)),isNaN(r.px)&&(r.px=r.x),isNaN(r.py)&&(r.py=r.y);if(a=[],"function"==typeof h)for(e=0;e<c;++e)a[e]=+h.call(this,v[e],e);else for(e=0;e<c;++e)a[e]=h;if(o=[],"function"==typeof f)for(e=0;e<c;++e)o[e]=+f.call(this,v[e],e);else for(e=0;e<c;++e)o[e]=f;if(u=[],"function"==typeof _)for(e=0;e<i;++e)u[e]=+_.call(this,g[e],e);else for(e=0;e<i;++e)u[e]=_;return s.resume()},s.resume=function(){return s.alpha(.1)},s.stop=function(){return s.alpha(0)},s.drag=function(){if(r||(r=fo.behavior.drag().origin(k).on("dragstart.force",ii).on("drag.force",e).on("dragend.force",ai)),!arguments.length)return r;this.on("mouseover.force",oi).on("mouseout.force",ui).call(r)},fo.rebind(s,c,"on")};var vs=20,Ms=1,bs=1/0;fo.layout.hierarchy=function(){function t(i){var a,o=[i],u=[];for(i.depth=0;null!=(a=o.pop());)if(u.push(a),(c=n.call(t,a,a.depth))&&(s=c.length)){for(var s,c,l;--s>=0;)o.push(l=c[s]),l.parent=a,l.depth=a.depth+1;r&&(a.value=0),a.children=c}else r&&(a.value=+r.call(t,a,a.depth)||0),delete a.children;return di(i,function(t){var n,i;e&&(n=t.children)&&n.sort(e),r&&(i=t.parent)&&(i.value+=t.value)}),u}var e=_i,n=hi,r=fi;return t.sort=function(n){return arguments.length?(e=n,t):e},t.children=function(e){return arguments.length?(n=e,t):n},t.value=function(e){return arguments.length?(r=e,t):r},t.revalue=function(e){return r&&(li(e,function(t){t.children&&(t.value=0)}),di(e,function(e){var n;e.children||(e.value=+r.call(t,e,e.depth)||0),(n=e.parent)&&(n.value+=e.value)})),e},t},fo.layout.partition=function(){function t(e,n,r,i){var a=e.children;if(e.x=n,e.y=e.depth*i,e.dx=r,e.dy=i,a&&(o=a.length)){var o,u,s,c=-1;for(r=e.value?r/e.value:0;++c<o;)t(u=a[c],n,s=u.value*r,i),n+=s}}function e(t){var n=t.children,r=0;if(n&&(i=n.length))for(var i,a=-1;++a<i;)r=Math.max(r,e(n[a]));return 1+r}function n(n,a){var o=r.call(this,n,a);return t(o[0],0,i[0],i[1]/e(o[0])),o}var r=fo.layout.hierarchy(),i=[1,1];return n.size=function(t){return arguments.length?(i=t,n):i},ci(n,r)},fo.layout.pie=function(){function t(o){var u,s=o.length,c=o.map(function(n,r){return+e.call(t,n,r)}),l=+("function"==typeof r?r.apply(this,arguments):r),d=("function"==typeof i?i.apply(this,arguments):i)-l,h=Math.min(Math.abs(d)/s,+("function"==typeof a?a.apply(this,arguments):a)),f=h*(d<0?-1:1),_=fo.sum(c),p=_?(d-s*f)/_:0,m=fo.range(s),y=[];return null!=n&&m.sort(n===Ls?function(t,e){return c[e]-c[t]}:function(t,e){return n(o[t],o[e])}),m.forEach(function(t){y[t]={data:o[t],value:u=c[t],startAngle:l,endAngle:l+=u*p+f,padAngle:h}}),y}var e=Number,n=Ls,r=0,i=zo,a=0;return t.value=function(n){return arguments.length?(e=n,t):e},t.sort=function(e){return arguments.length?(n=e,t):n},t.startAngle=function(e){return arguments.length?(r=e,t):r},t.endAngle=function(e){return arguments.length?(i=e,t):i},t.padAngle=function(e){return arguments.length?(a=e,t):a},t};var Ls={};fo.layout.stack=function(){function t(u,s){if(!(h=u.length))return u;var c=u.map(function(n,r){return e.call(t,n,r)}),l=c.map(function(e){return e.map(function(e,n){return[a.call(t,e,n),o.call(t,e,n)]})}),d=n.call(t,l,s);c=fo.permute(c,d),l=fo.permute(l,d);var h,f,_,p,m=r.call(t,l,s),y=c[0].length;for(_=0;_<y;++_)for(i.call(t,c[0][_],p=m[_],l[0][_][1]),f=1;f<h;++f)i.call(t,c[f][_],p+=l[f-1][_][1],l[f][_][1]);return u}var e=k,n=vi,r=Mi,i=gi,a=mi,o=yi;return t.values=function(n){return arguments.length?(e=n,t):e},t.order=function(e){return arguments.length?(n="function"==typeof e?e:ks.get(e)||vi,t):n},t.offset=function(e){return arguments.length?(r="function"==typeof e?e:ws.get(e)||Mi,t):r},t.x=function(e){return arguments.length?(a=e,t):a},t.y=function(e){return arguments.length?(o=e,t):o},t.out=function(e){return arguments.length?(i=e,t):i},t};var ks=fo.map({"inside-out":function(t){var e,n,r=t.length,i=t.map(bi),a=t.map(Li),o=fo.range(r).sort(function(t,e){return i[t]-i[e]}),u=0,s=0,c=[],l=[];for(e=0;e<r;++e)n=o[e],u<s?(u+=a[n],c.push(n)):(s+=a[n],l.push(n));return l.reverse().concat(c)},reverse:function(t){return fo.range(t.length).reverse()},default:vi}),ws=fo.map({silhouette:function(t){var e,n,r,i=t.length,a=t[0].length,o=[],u=0,s=[];for(n=0;n<a;++n){for(e=0,r=0;e<i;e++)r+=t[e][n][1];r>u&&(u=r),o.push(r)}for(n=0;n<a;++n)s[n]=(u-o[n])/2;return s},wiggle:function(t){var e,n,r,i,a,o,u,s,c,l=t.length,d=t[0],h=d.length,f=[];for(f[0]=s=c=0,n=1;n<h;++n){for(e=0,i=0;e<l;++e)i+=t[e][n][1];for(e=0,a=0,u=d[n][0]-d[n-1][0];e<l;++e){for(r=0,o=(t[e][n][1]-t[e][n-1][1])/(2*u);r<e;++r)o+=(t[r][n][1]-t[r][n-1][1])/u;a+=o*t[e][n][1]}f[n]=s-=i?a/i*u:0,s<c&&(c=s)}for(n=0;n<h;++n)f[n]-=c;return f},expand:function(t){var e,n,r,i=t.length,a=t[0].length,o=1/i,u=[];for(n=0;n<a;++n){for(e=0,r=0;e<i;e++)r+=t[e][n][1];if(r)for(e=0;e<i;e++)t[e][n][1]/=r;else for(e=0;e<i;e++)t[e][n][1]=o}for(n=0;n<a;++n)u[n]=0;return u},zero:Mi});fo.layout.histogram=function(){function t(t,a){for(var o,u,s=[],c=t.map(n,this),l=r.call(this,c,a),d=i.call(this,l,c,a),a=-1,h=c.length,f=d.length-1,_=e?1:1/h;++a<f;)o=s[a]=[],o.dx=d[a+1]-(o.x=d[a]),o.y=0;if(f>0)for(a=-1;++a<h;)(u=c[a])>=l[0]&&u<=l[1]&&(o=s[fo.bisect(d,u,1,f)-1],o.y+=_,o.push(t[a]));return s}var e=!0,n=Number,r=xi,i=wi;return t.value=function(e){return arguments.length?(n=e,t):n},t.range=function(e){return arguments.length?(r=St(e),t):r},t.bins=function(e){return arguments.length?(i="number"==typeof e?function(t){return Di(t,e)}:St(e),t):i},t.frequency=function(n){return arguments.length?(e=!!n,t):e},t},fo.layout.pack=function(){function t(t,a){var o=n.call(this,t,a),u=o[0],s=i[0],c=i[1],l=null==e?Math.sqrt:"function"==typeof e?e:function(){return e};if(u.x=u.y=0,di(u,function(t){t.r=+l(t.value)}),di(u,Si),r){var d=r*(e?1:Math.max(2*u.r/s,2*u.r/c))/2;di(u,function(t){t.r+=d}),di(u,Si),di(u,function(t){t.r-=d})}return ji(u,s/2,c/2,e?1:1/Math.max(2*u.r/s,2*u.r/c)),o}var e,n=fo.layout.hierarchy().sort(Yi),r=0,i=[1,1];return t.size=function(e){return arguments.length?(i=e,t):i},t.radius=function(n){return arguments.length?(e=null==n||"function"==typeof n?n:+n,t):e},t.padding=function(e){return arguments.length?(r=+e,t):r},ci(t,n)},fo.layout.tree=function(){function t(t,i){var l=o.call(this,t,i),d=l[0],h=e(d);if(di(h,n),h.parent.m=-h.z,li(h,r),c)li(d,a);else{var f=d,_=d,p=d;li(d,function(t){t.x<f.x&&(f=t),t.x>_.x&&(_=t),t.depth>p.depth&&(p=t)});var m=u(f,_)/2-f.x,y=s[0]/(_.x+u(_,f)/2+m),g=s[1]/(p.depth||1);li(d,function(t){t.x=(t.x+m)*y,t.y=t.depth*g})}return l}function e(t){for(var e,n={A:null,children:[t]},r=[n];null!=(e=r.pop());)for(var i,a=e.children,o=0,u=a.length;o<u;++o)r.push((a[o]=i={_:a[o],parent:e,children:(i=a[o].children)&&i.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:o}).a=i);return n.children[0]}function n(t){var e=t.children,n=t.parent.children,r=t.i?n[t.i-1]:null;if(e.length){Ii(t);var a=(e[0].z+e[e.length-1].z)/2;r?(t.z=r.z+u(t._,r._),t.m=t.z-a):t.z=a}else r&&(t.z=r.z+u(t._,r._));t.parent.A=i(t,r,t.parent.A||n[0])}function r(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function i(t,e,n){if(e){for(var r,i=t,a=t,o=e,s=i.parent.children[0],c=i.m,l=a.m,d=o.m,h=s.m;o=Ni(o),i=Pi(i),o&&i;)s=Pi(s),a=Ni(a),a.a=t,r=o.z+d-i.z-c+u(o._,i._),r>0&&(Bi(Ri(o,t,n),t,r),c+=r,l+=r),d+=o.m,c+=i.m,h+=s.m,l+=a.m;o&&!Ni(a)&&(a.t=o,a.m+=d-l),i&&!Pi(s)&&(s.t=i,s.m+=c-h,n=t)}return n}function a(t){t.x*=s[0],t.y=t.depth*s[1]}var o=fo.layout.hierarchy().sort(null).value(null),u=Oi,s=[1,1],c=null;return t.separation=function(e){return arguments.length?(u=e,t):u},t.size=function(e){return arguments.length?(c=null==(s=e)?a:null,t):c?null:s},t.nodeSize=function(e){return arguments.length?(c=null==(s=e)?null:a,t):c?s:null},ci(t,o)},fo.layout.cluster=function(){function t(t,a){var o,u=e.call(this,t,a),s=u[0],c=0;di(s,function(t){var e=t.children;e&&e.length?(t.x=zi(e),t.y=Wi(e)):(t.x=o?c+=n(t,o):0,t.y=0,o=t)});var l=qi(s),d=Ui(s),h=l.x-n(l,d)/2,f=d.x+n(d,l)/2;return di(s,i?function(t){t.x=(t.x-s.x)*r[0],t.y=(s.y-t.y)*r[1]}:function(t){t.x=(t.x-h)/(f-h)*r[0],t.y=(1-(s.y?t.y/s.y:1))*r[1]}),u}var e=fo.layout.hierarchy().sort(null).value(null),n=Oi,r=[1,1],i=!1;return t.separation=function(e){return arguments.length?(n=e,t):n},t.size=function(e){return arguments.length?(i=null==(r=e),t):i?null:r},t.nodeSize=function(e){return arguments.length?(i=null!=(r=e),t):i?r:null},ci(t,e)},fo.layout.treemap=function(){function t(t,e){for(var n,r,i=-1,a=t.length;++i<a;)r=(n=t[i]).value*(e<0?0:e),n.area=isNaN(r)||r<=0?0:r}function e(n){var a=n.children;if(a&&a.length){var o,u,s,c=d(n),l=[],h=a.slice(),_=1/0,p="slice"===f?c.dx:"dice"===f?c.dy:"slice-dice"===f?1&n.depth?c.dy:c.dx:Math.min(c.dx,c.dy);for(t(h,c.dx*c.dy/n.value),l.area=0;(s=h.length)>0;)l.push(o=h[s-1]),l.area+=o.area,"squarify"!==f||(u=r(l,p))<=_?(h.pop(),_=u):(l.area-=l.pop().area,i(l,p,c,!1),p=Math.min(c.dx,c.dy),l.length=l.area=0,_=1/0);l.length&&(i(l,p,c,!0),l.length=l.area=0),a.forEach(e)}}function n(e){var r=e.children;if(r&&r.length){var a,o=d(e),u=r.slice(),s=[];for(t(u,o.dx*o.dy/e.value),s.area=0;a=u.pop();)s.push(a),s.area+=a.area,null!=a.z&&(i(s,a.z?o.dx:o.dy,o,!u.length),s.length=s.area=0);r.forEach(n)}}function r(t,e){for(var n,r=t.area,i=0,a=1/0,o=-1,u=t.length;++o<u;)(n=t[o].area)&&(n<a&&(a=n),n>i&&(i=n));return r*=r,e*=e,r?Math.max(e*i*_/r,r/(e*a*_)):1/0}function i(t,e,n,r){var i,a=-1,o=t.length,u=n.x,c=n.y,l=e?s(t.area/e):0;if(e==n.dx){for((r||l>n.dy)&&(l=n.dy);++a<o;)i=t[a],i.x=u,i.y=c,i.dy=l,u+=i.dx=Math.min(n.x+n.dx-u,l?s(i.area/l):0);i.z=!0,i.dx+=n.x+n.dx-u,n.y+=l,n.dy-=l}else{for((r||l>n.dx)&&(l=n.dx);++a<o;)i=t[a],i.x=u,i.y=c,i.dx=l,c+=i.dy=Math.min(n.y+n.dy-c,l?s(i.area/l):0);i.z=!1,i.dy+=n.y+n.dy-c,n.x+=l,n.dx-=l}}function a(r){var i=o||u(r),a=i[0];return a.x=a.y=0,a.value?(a.dx=c[0],a.dy=c[1]):a.dx=a.dy=0,o&&u.revalue(a),t([a],a.dx*a.dy/a.value),(o?n:e)(a),h&&(o=i),i}var o,u=fo.layout.hierarchy(),s=Math.round,c=[1,1],l=null,d=$i,h=!1,f="squarify",_=.5*(1+Math.sqrt(5));return a.size=function(t){return arguments.length?(c=t,a):c},a.padding=function(t){function e(e){var n=t.call(a,e,e.depth);return null==n?$i(e):Vi(e,"number"==typeof n?[n,n,n,n]:n)}function n(e){return Vi(e,t)}if(!arguments.length)return l;var r;return d=null==(l=t)?$i:"function"==(r=typeof t)?e:"number"===r?(t=[t,t,t,t],n):n,a},a.round=function(t){return arguments.length?(s=t?Math.round:Number,a):s!=Number},a.sticky=function(t){return arguments.length?(h=t,o=null,a):h},a.ratio=function(t){return arguments.length?(_=t,a):_},a.mode=function(t){return arguments.length?(f=t+"",a):f},ci(a,u)},fo.random={normal:function(t,e){var n=arguments.length;return n<2&&(e=1),n<1&&(t=0),function(){var n,r,i;do{n=2*Math.random()-1,r=2*Math.random()-1,i=n*n+r*r}while(!i||i>1);return t+e*n*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var t=fo.random.normal.apply(fo,arguments);return function(){return Math.exp(t())}},bates:function(t){var e=fo.random.irwinHall(t);return function(){return e()/t}},irwinHall:function(t){return function(){for(var e=0,n=0;n<t;n++)e+=Math.random();return e}}},fo.scale={};var Ds={floor:k,ceil:k};fo.scale.linear=function(){return ta([0,1],[0,1],wr,!1)};var xs={s:1,g:1,p:1,r:1,e:1};fo.scale.log=function(){return sa(fo.scale.linear().domain([0,1]),10,!0,[1,10])};var Ys=fo.format(".0e"),Ts={floor:function(t){return-Math.ceil(-t)},ceil:function(t){return-Math.floor(-t)}};fo.scale.pow=function(){return ca(fo.scale.linear(),1,[0,1])},fo.scale.sqrt=function(){return fo.scale.pow().exponent(.5)},fo.scale.ordinal=function(){return da([],{t:"range",a:[[]]})},fo.scale.category10=function(){return fo.scale.ordinal().range(As)},fo.scale.category20=function(){return fo.scale.ordinal().range(Es)},fo.scale.category20b=function(){return fo.scale.ordinal().range(Ss)},fo.scale.category20c=function(){return fo.scale.ordinal().range(Fs)};var As=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(wt),Es=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(wt),Ss=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(wt),Fs=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(wt);fo.scale.quantile=function(){return ha([],[])},fo.scale.quantize=function(){return fa(0,1,[0,1])},fo.scale.threshold=function(){return _a([.5],[0,1])},fo.scale.identity=function(){return pa([0,1])},fo.svg={},fo.svg.arc=function(){function t(){var t=Math.max(0,+n.apply(this,arguments)),c=Math.max(0,+r.apply(this,arguments)),l=o.apply(this,arguments)-Uo,d=u.apply(this,arguments)-Uo,h=Math.abs(d-l),f=l>d?0:1;if(c<t&&(_=c,c=t,t=_),h>=qo)return e(c,f)+(t?e(t,1-f):"")+"Z";var _,p,m,y,g,v,M,b,L,k,w,D,x=0,Y=0,T=[];if((y=(+s.apply(this,arguments)||0)/2)&&(m=a===Cs?Math.sqrt(t*t+c*c):+a.apply(this,arguments),f||(Y*=-1),c&&(Y=ot(m/c*Math.sin(y))),t&&(x=ot(m/t*Math.sin(y)))),c){g=c*Math.cos(l+Y),v=c*Math.sin(l+Y),M=c*Math.cos(d-Y),b=c*Math.sin(d-Y);var A=Math.abs(d-l-2*Y)<=Wo?0:1;if(Y&&La(g,v,M,b)===f^A){var E=(l+d)/2;g=c*Math.cos(E),v=c*Math.sin(E),M=b=null}}else g=v=0;if(t){L=t*Math.cos(d-x),k=t*Math.sin(d-x),w=t*Math.cos(l+x),D=t*Math.sin(l+x);var S=Math.abs(l-d+2*x)<=Wo?0:1;if(x&&La(L,k,w,D)===1-f^S){var F=(l+d)/2;L=t*Math.cos(F),k=t*Math.sin(F),w=D=null}}else L=k=0;if(h>Io&&(_=Math.min(Math.abs(c-t)/2,+i.apply(this,arguments)))>.001){p=t<c^f?0:1;var C=_,j=_;if(h<Wo){var H=null==w?[L,k]:null==M?[g,v]:Bn([g,v],[w,D],[M,b],[L,k]),O=g-H[0],P=v-H[1],N=M-H[0],B=b-H[1],I=1/Math.sin(Math.acos((O*N+P*B)/(Math.sqrt(O*O+P*P)*Math.sqrt(N*N+B*B)))/2),R=Math.sqrt(H[0]*H[0]+H[1]*H[1]);j=Math.min(_,(t-R)/(I-1)),C=Math.min(_,(c-R)/(I+1))}if(null!=M){var W=ka(null==w?[L,k]:[w,D],[g,v],c,C,f),z=ka([M,b],[L,k],c,C,f);_===C?T.push("M",W[0],"A",C,",",C," 0 0,",p," ",W[1],"A",c,",",c," 0 ",1-f^La(W[1][0],W[1][1],z[1][0],z[1][1]),",",f," ",z[1],"A",C,",",C," 0 0,",p," ",z[0]):T.push("M",W[0],"A",C,",",C," 0 1,",p," ",z[0])}else T.push("M",g,",",v);if(null!=w){var q=ka([g,v],[w,D],t,-j,f),U=ka([L,k],null==M?[g,v]:[M,b],t,-j,f);_===j?T.push("L",U[0],"A",j,",",j," 0 0,",p," ",U[1],"A",t,",",t," 0 ",f^La(U[1][0],U[1][1],q[1][0],q[1][1]),",",1-f," ",q[1],"A",j,",",j," 0 0,",p," ",q[0]):T.push("L",U[0],"A",j,",",j," 0 0,",p," ",q[0])}else T.push("L",L,",",k)}else T.push("M",g,",",v),null!=M&&T.push("A",c,",",c," 0 ",A,",",f," ",M,",",b),T.push("L",L,",",k),null!=w&&T.push("A",t,",",t," 0 ",S,",",1-f," ",w,",",D);return T.push("Z"),T.join("")}function e(t,e){return"M0,"+t+"A"+t+","+t+" 0 1,"+e+" 0,"+-t+"A"+t+","+t+" 0 1,"+e+" 0,"+t}var n=ya,r=ga,i=ma,a=Cs,o=va,u=Ma,s=ba;return t.innerRadius=function(e){return arguments.length?(n=St(e),t):n},t.outerRadius=function(e){return arguments.length?(r=St(e),t):r},t.cornerRadius=function(e){return arguments.length?(i=St(e),t):i},t.padRadius=function(e){return arguments.length?(a=e==Cs?Cs:St(e),t):a},t.startAngle=function(e){return arguments.length?(o=St(e),t):o},t.endAngle=function(e){return arguments.length?(u=St(e),t):u},t.padAngle=function(e){return arguments.length?(s=St(e),t):s},t.centroid=function(){var t=(+n.apply(this,arguments)+ +r.apply(this,arguments))/2,e=(+o.apply(this,arguments)+ +u.apply(this,arguments))/2-Uo;return[Math.cos(e)*t,Math.sin(e)*t]},t};var Cs="auto";fo.svg.line=function(){return wa(k)};var js=fo.map({linear:Da,"linear-closed":xa,step:Ya,"step-before":Ta,"step-after":Aa,basis:Ha,"basis-open":Oa,"basis-closed":Pa,bundle:Na,cardinal:Fa,"cardinal-open":Ea,"cardinal-closed":Sa,monotone:qa});js.forEach(function(t,e){e.key=t,e.closed=/-closed$/.test(t)});var Hs=[0,2/3,1/3,0],Os=[0,1/3,2/3,0],Ps=[0,1/6,2/3,1/6];fo.svg.line.radial=function(){var t=wa(Ua);return t.radius=t.x,delete t.x,t.angle=t.y,delete t.y,t},Ta.reverse=Aa,Aa.reverse=Ta,fo.svg.area=function(){return $a(k)},fo.svg.area.radial=function(){var t=$a(Ua);return t.radius=t.x,delete t.x,t.innerRadius=t.x0,delete t.x0,t.outerRadius=t.x1,delete t.x1,t.angle=t.y,delete t.y,t.startAngle=t.y0,delete t.y0,t.endAngle=t.y1,delete t.y1,t},fo.svg.chord=function(){function t(t,u){var s=e(this,a,t,u),c=e(this,o,t,u);return"M"+s.p0+r(s.r,s.p1,s.a1-s.a0)+(n(s,c)?i(s.r,s.p1,s.r,s.p0):i(s.r,s.p1,c.r,c.p0)+r(c.r,c.p1,c.a1-c.a0)+i(c.r,c.p1,s.r,s.p0))+"Z"}function e(t,e,n,r){var i=e.call(t,n,r),a=u.call(t,i,r),o=s.call(t,i,r)-Uo,l=c.call(t,i,r)-Uo;return{r:a,a0:o,a1:l,p0:[a*Math.cos(o),a*Math.sin(o)],p1:[a*Math.cos(l),a*Math.sin(l)]}}function n(t,e){return t.a0==e.a0&&t.a1==e.a1}function r(t,e,n){return"A"+t+","+t+" 0 "+ +(n>Wo)+",1 "+e}function i(t,e,n,r){return"Q 0,0 "+r}var a=wn,o=Dn,u=Va,s=va,c=Ma;return t.radius=function(e){return arguments.length?(u=St(e),t):u},t.source=function(e){return arguments.length?(a=St(e),t):a},t.target=function(e){return arguments.length?(o=St(e),t):o},t.startAngle=function(e){return arguments.length?(s=St(e),t):s},t.endAngle=function(e){return arguments.length?(c=St(e),t):c},t},fo.svg.diagonal=function(){function t(t,i){var a=e.call(this,t,i),o=n.call(this,t,i),u=(a.y+o.y)/2,s=[a,{x:a.x,y:u},{x:o.x,y:u},o];return s=s.map(r),"M"+s[0]+"C"+s[1]+" "+s[2]+" "+s[3]}var e=wn,n=Dn,r=Ga;return t.source=function(n){return arguments.length?(e=St(n),t):e},t.target=function(e){return arguments.length?(n=St(e),t):n},t.projection=function(e){return arguments.length?(r=e,t):r},t},fo.svg.diagonal.radial=function(){var t=fo.svg.diagonal(),e=Ga,n=t.projection;return t.projection=function(t){return arguments.length?n(Ja(e=t)):e},t},fo.svg.symbol=function(){function t(t,r){return(Ns.get(e.call(this,t,r))||Xa)(n.call(this,t,r))}var e=Ka,n=Za;return t.type=function(n){return arguments.length?(e=St(n),t):e},t.size=function(e){return arguments.length?(n=St(e),t):n},t};var Ns=fo.map({circle:Xa,cross:function(t){var e=Math.sqrt(t/5)/2;return"M"+-3*e+","+-e+"H"+-e+"V"+-3*e+"H"+e+"V"+-e+"H"+3*e+"V"+e+"H"+e+"V"+3*e+"H"+-e+"V"+e+"H"+-3*e+"Z"},diamond:function(t){var e=Math.sqrt(t/(2*Is)),n=e*Is;return"M0,"+-e+"L"+n+",0 0,"+e+" "+-n+",0Z"},square:function(t){var e=Math.sqrt(t)/2;return"M"+-e+","+-e+"L"+e+","+-e+" "+e+","+e+" "+-e+","+e+"Z"},"triangle-down":function(t){var e=Math.sqrt(t/Bs),n=e*Bs/2;return"M0,"+n+"L"+e+","+-n+" "+-e+","+-n+"Z"},"triangle-up":function(t){var e=Math.sqrt(t/Bs),n=e*Bs/2;return"M0,"+-n+"L"+e+","+n+" "+-e+","+n+"Z"}});fo.svg.symbolTypes=Ns.keys();var Bs=Math.sqrt(3),Is=Math.tan(30*$o);Fo.transition=function(t){for(var e,n,r=Rs||++Us,i=ro(t),a=[],o=Ws||{time:Date.now(),ease:Sr,delay:0,duration:250},u=-1,s=this.length;++u<s;){a.push(e=[]);for(var c=this[u],l=-1,d=c.length;++l<d;)(n=c[l])&&io(n,l,i,r,o),e.push(n)}return to(a,i,r)},Fo.interrupt=function(t){return this.each(null==t?zs:Qa(ro(t)))};var Rs,Ws,zs=Qa(ro()),qs=[],Us=0;qs.call=Fo.call,qs.empty=Fo.empty,qs.node=Fo.node,qs.size=Fo.size,fo.transition=function(t,e){return t&&t.transition?Rs?t.transition(e):t:fo.selection().transition(t)},fo.transition.prototype=qs,qs.select=function(t){var e,n,r,i=this.id,a=this.namespace,o=[];t=C(t);for(var u=-1,s=this.length;++u<s;){o.push(e=[]);for(var c=this[u],l=-1,d=c.length;++l<d;)(r=c[l])&&(n=t.call(r,r.__data__,l,u))?("__data__"in r&&(n.__data__=r.__data__),io(n,l,a,i,r[a][i]),e.push(n)):e.push(null)}return to(o,a,i)},qs.selectAll=function(t){var e,n,r,i,a,o=this.id,u=this.namespace,s=[];t=j(t);for(var c=-1,l=this.length;++c<l;)for(var d=this[c],h=-1,f=d.length;++h<f;)if(r=d[h]){a=r[u][o],n=t.call(r,r.__data__,h,c),s.push(e=[]);for(var _=-1,p=n.length;++_<p;)(i=n[_])&&io(i,_,u,o,a),e.push(i)}return to(s,u,o)},qs.filter=function(t){var e,n,r,i=[];"function"!=typeof t&&(t=$(t));for(var a=0,o=this.length;a<o;a++){i.push(e=[]);for(var n=this[a],u=0,s=n.length;u<s;u++)(r=n[u])&&t.call(r,r.__data__,u,a)&&e.push(r)}return to(i,this.namespace,this.id)},qs.tween=function(t,e){var n=this.id,r=this.namespace;return arguments.length<2?this.node()[r][n].tween.get(t):G(this,null==e?function(e){e[r][n].tween.remove(t)}:function(i){i[r][n].tween.set(t,e)})},qs.attr=function(t,e){function n(){this.removeAttribute(u)}function r(){this.removeAttributeNS(u.space,u.local)}function i(t){return null==t?n:(t+="",function(){var e,n=this.getAttribute(u);return n!==t&&(e=o(n,t),function(t){this.setAttribute(u,e(t))})})}function a(t){return null==t?r:(t+="",function(){var e,n=this.getAttributeNS(u.space,u.local);return n!==t&&(e=o(n,t),function(t){this.setAttributeNS(u.space,u.local,e(t))})})}if(arguments.length<2){for(e in t)this.attr(e,t[e]);return this}var o="transform"==t?Xr:wr,u=fo.ns.qualify(t);return eo(this,"attr."+t,e,u.local?a:i)},qs.attrTween=function(t,e){function n(t,n){var r=e.call(this,t,n,this.getAttribute(i));return r&&function(t){this.setAttribute(i,r(t))}}function r(t,n){var r=e.call(this,t,n,this.getAttributeNS(i.space,i.local));return r&&function(t){this.setAttributeNS(i.space,i.local,r(t))}}var i=fo.ns.qualify(t);return this.tween("attr."+t,i.local?r:n)},qs.style=function(t,e,n){function r(){this.style.removeProperty(t)}function i(e){return null==e?r:(e+="",function(){var r,i=o(this).getComputedStyle(this,null).getPropertyValue(t);return i!==e&&(r=wr(i,e),function(e){this.style.setProperty(t,r(e),n)})})}var a=arguments.length;if(a<3){if("string"!=typeof t){a<2&&(e="");for(n in t)this.style(n,t[n],e);return this}n=""}return eo(this,"style."+t,e,i)},qs.styleTween=function(t,e,n){function r(r,i){var a=e.call(this,r,i,o(this).getComputedStyle(this,null).getPropertyValue(t));return a&&function(e){this.style.setProperty(t,a(e),n)}}return arguments.length<3&&(n=""),this.tween("style."+t,r)},qs.text=function(t){return eo(this,"text",t,no)},qs.remove=function(){var t=this.namespace;return this.each("end.transition",function(){var e;this[t].count<2&&(e=this.parentNode)&&e.removeChild(this)})},qs.ease=function(t){var e=this.id,n=this.namespace;return arguments.length<1?this.node()[n][e].ease:("function"!=typeof t&&(t=fo.ease.apply(fo,arguments)),G(this,function(r){r[n][e].ease=t}))},qs.delay=function(t){var e=this.id,n=this.namespace;return arguments.length<1?this.node()[n][e].delay:G(this,"function"==typeof t?function(r,i,a){r[n][e].delay=+t.call(r,r.__data__,i,a)}:(t=+t,function(r){r[n][e].delay=t}))},qs.duration=function(t){var e=this.id,n=this.namespace;return arguments.length<1?this.node()[n][e].duration:G(this,"function"==typeof t?function(r,i,a){r[n][e].duration=Math.max(1,t.call(r,r.__data__,i,a))}:(t=Math.max(1,t),function(r){r[n][e].duration=t}))},qs.each=function(t,e){var n=this.id,r=this.namespace;if(arguments.length<2){var i=Ws,a=Rs;try{Rs=n,G(this,function(e,i,a){Ws=e[r][n],t.call(e,e.__data__,i,a)})}finally{Ws=i,Rs=a}}else G(this,function(i){var a=i[r][n];(a.event||(a.event=fo.dispatch("start","end","interrupt"))).on(t,e)});return this},qs.transition=function(){for(var t,e,n,r,i=this.id,a=++Us,o=this.namespace,u=[],s=0,c=this.length;s<c;s++){u.push(t=[]);for(var e=this[s],l=0,d=e.length;l<d;l++)(n=e[l])&&(r=n[o][i],io(n,l,o,a,{time:r.time,ease:r.ease,delay:r.delay+r.duration,duration:r.duration})),t.push(n)}return to(u,o,a)},fo.svg.axis=function(){function t(t){t.each(function(){var t,c=fo.select(this),l=this.__chart__||n,d=this.__chart__=n.copy(),h=null==s?d.ticks?d.ticks.apply(d,u):d.domain():s,f=null==e?d.tickFormat?d.tickFormat.apply(d,u):k:e,_=c.selectAll(".tick").data(h,d),p=_.enter().insert("g",".domain").attr("class","tick").style("opacity",Io),m=fo.transition(_.exit()).style("opacity",Io).remove(),y=fo.transition(_.order()).style("opacity",1),g=Math.max(i,0)+o,v=Ji(d),M=c.selectAll(".domain").data([0]),b=(M.enter().append("path").attr("class","domain"),fo.transition(M));p.append("line"),p.append("text");var L,w,D,x,Y=p.select("line"),T=y.select("line"),A=_.select("text").text(f),E=p.select("text"),S=y.select("text"),F="top"===r||"left"===r?-1:1;if("bottom"===r||"top"===r?(t=ao,L="x",D="y",w="x2",x="y2",A.attr("dy",F<0?"0em":".71em").style("text-anchor","middle"),b.attr("d","M"+v[0]+","+F*a+"V0H"+v[1]+"V"+F*a)):(t=oo,L="y",D="x",w="y2",x="x2",A.attr("dy",".32em").style("text-anchor",F<0?"end":"start"),b.attr("d","M"+F*a+","+v[0]+"H0V"+v[1]+"H"+F*a)),Y.attr(x,F*i),E.attr(D,F*g),T.attr(w,0).attr(x,F*i),S.attr(L,0).attr(D,F*g),d.rangeBand){var C=d,j=C.rangeBand()/2;l=d=function(t){return C(t)+j}}else l.rangeBand?l=d:m.call(t,d,l);p.call(t,l,d),y.call(t,d,d)})}var e,n=fo.scale.linear(),r=$s,i=6,a=6,o=3,u=[10],s=null;return t.scale=function(e){return arguments.length?(n=e,t):n},t.orient=function(e){return arguments.length?(r=e in Vs?e+"":$s,t):r},t.ticks=function(){return arguments.length?(u=po(arguments),t):u},t.tickValues=function(e){return arguments.length?(s=e,t):s},t.tickFormat=function(n){return arguments.length?(e=n,t):e},t.tickSize=function(e){var n=arguments.length;return n?(i=+e,a=+arguments[n-1],t):i},t.innerTickSize=function(e){return arguments.length?(i=+e,t):i},t.outerTickSize=function(e){return arguments.length?(a=+e,t):a},t.tickPadding=function(e){return arguments.length?(o=+e,t):o},t.tickSubdivide=function(){return arguments.length&&t},t};var $s="bottom",Vs={top:1,right:1,bottom:1,left:1};fo.svg.brush=function(){function t(a){a.each(function(){var a=fo.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",i).on("touchstart.brush",i),o=a.selectAll(".background").data([0]);o.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),a.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var u=a.selectAll(".resize").data(p,k);u.exit().remove(),u.enter().append("g").attr("class",function(t){return"resize "+t}).style("cursor",function(t){return Gs[t]}).append("rect").attr("x",function(t){return/[ew]$/.test(t)?-3:null}).attr("y",function(t){return/^[ns]/.test(t)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),u.style("display",t.empty()?"none":null);var s,d=fo.transition(a),h=fo.transition(o);c&&(s=Ji(c),h.attr("x",s[0]).attr("width",s[1]-s[0]),n(d)),l&&(s=Ji(l),h.attr("y",s[0]).attr("height",s[1]-s[0]),r(d)),e(d)})}function e(t){t.selectAll(".resize").attr("transform",function(t){return"translate("+d[+/e$/.test(t)]+","+h[+/^s/.test(t)]+")"})}function n(t){t.select(".extent").attr("x",d[0]),t.selectAll(".extent,.n>rect,.s>rect").attr("width",d[1]-d[0])}function r(t){t.select(".extent").attr("y",h[0]),t.selectAll(".extent,.e>rect,.w>rect").attr("height",h[1]-h[0])}function i(){function i(){32==fo.event.keyCode&&(T||(v=null,S[0]-=d[1],S[1]-=h[1],T=2),A())}function p(){32==fo.event.keyCode&&2==T&&(S[0]+=d[1],S[1]+=h[1],T=0,A())}function m(){var t=fo.mouse(b),i=!1;M&&(t[0]+=M[0],t[1]+=M[1]),T||(fo.event.altKey?(v||(v=[(d[0]+d[1])/2,(h[0]+h[1])/2]),S[0]=d[+(t[0]<v[0])],S[1]=h[+(t[1]<v[1])]):v=null),x&&y(t,c,0)&&(n(w),i=!0),Y&&y(t,l,1)&&(r(w),i=!0),i&&(e(w),k({type:"brush",mode:T?"move":"resize"}))}function y(t,e,n){var r,i,o=Ji(e),s=o[0],c=o[1],l=S[n],p=n?h:d,m=p[1]-p[0];if(T&&(s-=l,c-=m+l),r=(n?_:f)?Math.max(s,Math.min(c,t[n])):t[n],T?i=(r+=l)+m:(v&&(l=Math.max(s,Math.min(c,2*v[n]-r))),l<r?(i=r,r=l):i=l),p[0]!=r||p[1]!=i)return n?u=null:a=null,p[0]=r,p[1]=i,!0}function g(){m(),w.style("pointer-events","all").selectAll(".resize").style("display",t.empty()?"none":null),fo.select("body").style("cursor",null),F.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),E(),k({type:"brushend"})}var v,M,b=this,L=fo.select(fo.event.target),k=s.of(b,arguments),w=fo.select(b),D=L.datum(),x=!/^(n|s)$/.test(D)&&c,Y=!/^(e|w)$/.test(D)&&l,T=L.classed("extent"),E=tt(b),S=fo.mouse(b),F=fo.select(o(b)).on("keydown.brush",i).on("keyup.brush",p);if(fo.event.changedTouches?F.on("touchmove.brush",m).on("touchend.brush",g):F.on("mousemove.brush",m).on("mouseup.brush",g),w.interrupt().selectAll("*").interrupt(),T)S[0]=d[0]-S[0],S[1]=h[0]-S[1];else if(D){var C=+/w$/.test(D),j=+/^n/.test(D);M=[d[1-C]-S[0],h[1-j]-S[1]],S[0]=d[C],S[1]=h[j]}else fo.event.altKey&&(v=S.slice());w.style("pointer-events","none").selectAll(".resize").style("display",null),fo.select("body").style("cursor",L.style("cursor")),k({type:"brushstart"}),m()}var a,u,s=S(t,"brushstart","brush","brushend"),c=null,l=null,d=[0,0],h=[0,0],f=!0,_=!0,p=Js[0];return t.event=function(t){t.each(function(){var t=s.of(this,arguments),e={x:d,y:h,i:a,j:u},n=this.__chart__||e;this.__chart__=e,Rs?fo.select(this).transition().each("start.brush",function(){a=n.i,u=n.j,d=n.x,h=n.y,t({type:"brushstart"})}).tween("brush:brush",function(){var n=Dr(d,e.x),r=Dr(h,e.y);return a=u=null,function(i){d=e.x=n(i),h=e.y=r(i),t({type:"brush",mode:"resize"})}}).each("end.brush",function(){a=e.i,u=e.j,t({type:"brush",mode:"resize"}),t({type:"brushend"})}):(t({type:"brushstart"}),t({type:"brush",mode:"resize"}),t({type:"brushend"}))})},t.x=function(e){return arguments.length?(c=e,p=Js[!c<<1|!l],t):c},t.y=function(e){return arguments.length?(l=e,p=Js[!c<<1|!l],t):l},t.clamp=function(e){return arguments.length?(c&&l?(f=!!e[0],_=!!e[1]):c?f=!!e:l&&(_=!!e),t):c&&l?[f,_]:c?f:l?_:null},t.extent=function(e){var n,r,i,o,s;return arguments.length?(c&&(n=e[0],r=e[1],l&&(n=n[0],r=r[0]),a=[n,r],c.invert&&(n=c(n),r=c(r)),r<n&&(s=n,n=r,r=s),n==d[0]&&r==d[1]||(d=[n,r])),l&&(i=e[0],o=e[1],c&&(i=i[1],o=o[1]),u=[i,o],l.invert&&(i=l(i),o=l(o)),o<i&&(s=i,i=o,o=s),i==h[0]&&o==h[1]||(h=[i,o])),t):(c&&(a?(n=a[0],r=a[1]):(n=d[0],r=d[1],c.invert&&(n=c.invert(n),r=c.invert(r)),r<n&&(s=n,n=r,r=s))),l&&(u?(i=u[0],o=u[1]):(i=h[0],o=h[1],l.invert&&(i=l.invert(i),o=l.invert(o)),o<i&&(s=i,i=o,o=s))),c&&l?[[n,i],[r,o]]:c?[n,r]:l&&[i,o])},t.clear=function(){return t.empty()||(d=[0,0],h=[0,0],a=u=null),t},t.empty=function(){return!!c&&d[0]==d[1]||!!l&&h[0]==h[1]},fo.rebind(t,s,"on")};var Gs={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},Js=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]],Zs=pu.format=bu.timeFormat,Ks=Zs.utc,Xs=Ks("%Y-%m-%dT%H:%M:%S.%LZ");Zs.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?uo:Xs,uo.parse=function(t){var e=new Date(t);return isNaN(e)?null:e},uo.toString=Xs.toString,pu.second=Ut(function(t){return new mu(1e3*Math.floor(t/1e3))},function(t,e){t.setTime(t.getTime()+1e3*Math.floor(e))},function(t){return t.getSeconds()}),pu.seconds=pu.second.range,pu.seconds.utc=pu.second.utc.range,pu.minute=Ut(function(t){return new mu(6e4*Math.floor(t/6e4))},function(t,e){t.setTime(t.getTime()+6e4*Math.floor(e))},function(t){return t.getMinutes()}),pu.minutes=pu.minute.range,pu.minutes.utc=pu.minute.utc.range,pu.hour=Ut(function(t){var e=t.getTimezoneOffset()/60;return new mu(36e5*(Math.floor(t/36e5-e)+e))},function(t,e){t.setTime(t.getTime()+36e5*Math.floor(e))},function(t){return t.getHours()}),pu.hours=pu.hour.range,pu.hours.utc=pu.hour.utc.range,pu.month=Ut(function(t){return t=pu.day(t),t.setDate(1),t},function(t,e){t.setMonth(t.getMonth()+e)},function(t){return t.getMonth()}),pu.months=pu.month.range,pu.months.utc=pu.month.utc.range;var Qs=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],tc=[[pu.second,1],[pu.second,5],[pu.second,15],[pu.second,30],[pu.minute,1],[pu.minute,5],[pu.minute,15],[pu.minute,30],[pu.hour,1],[pu.hour,3],[pu.hour,6],[pu.hour,12],[pu.day,1],[pu.day,2],[pu.week,1],[pu.month,1],[pu.month,3],[pu.year,1]],ec=Zs.multi([[".%L",function(t){return t.getMilliseconds()}],[":%S",function(t){return t.getSeconds()}],["%I:%M",function(t){return t.getMinutes()}],["%I %p",function(t){return t.getHours()}],["%a %d",function(t){return t.getDay()&&1!=t.getDate()}],["%b %d",function(t){return 1!=t.getDate()}],["%B",function(t){return t.getMonth()}],["%Y",je]]),nc={range:function(t,e,n){return fo.range(Math.ceil(t/n)*n,+e,n).map(co)},floor:k,ceil:k};tc.year=pu.year,pu.scale=function(){return so(fo.scale.linear(),tc,ec)};var rc=tc.map(function(t){return[t[0].utc,t[1]]}),ic=Ks.multi([[".%L",function(t){return t.getUTCMilliseconds()}],[":%S",function(t){return t.getUTCSeconds()}],["%I:%M",function(t){return t.getUTCMinutes()}],["%I %p",function(t){return t.getUTCHours()}],["%a %d",function(t){return t.getUTCDay()&&1!=t.getUTCDate()}],["%b %d",function(t){return 1!=t.getUTCDate()}],["%B",function(t){return t.getUTCMonth()}],["%Y",je]]);rc.year=pu.year.utc,pu.scale.utc=function(){return so(fo.scale.linear(),rc,ic)},fo.text=Ft(function(t){return t.responseText}),fo.json=function(t,e){return Ct(t,"application/json",lo,e)},fo.html=function(t,e){return Ct(t,"text/html",ho,e)},fo.xml=Ft(function(t){return t.responseXML}),this.d3=fo,r=fo,void 0!==(i="function"==typeof r?r.call(e,n,e,t):r)&&(t.exports=i)}()},function(t,e,n){(function(t,r){var i=function(){function t(){this.yy={}}var e=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},n=[1,4],r=[1,3],i=[1,5],a=[1,8,9,10,11,13,18,30,46,71,72,73,74,75,81,86,88,89,91,92,94,95,96,97,98],o=[2,2],u=[1,12],s=[1,13],c=[1,14],l=[1,15],d=[1,31],h=[1,33],f=[1,22],_=[1,34],p=[1,24],m=[1,25],y=[1,26],g=[1,27],v=[1,28],M=[1,38],b=[1,40],L=[1,35],k=[1,39],w=[1,45],D=[1,44],x=[1,36],Y=[1,37],T=[1,41],A=[1,42],E=[1,43],S=[1,8,9,10,11,13,18,30,32,46,71,72,73,74,75,81,86,88,89,91,92,94,95,96,97,98],F=[1,53],C=[1,52],j=[1,54],H=[1,72],O=[1,80],P=[1,81],N=[1,66],B=[1,65],I=[1,85],R=[1,84],W=[1,82],z=[1,83],q=[1,73],U=[1,68],$=[1,67],V=[1,63],G=[1,75],J=[1,76],Z=[1,77],K=[1,78],X=[1,79],Q=[1,70],tt=[1,69],et=[8,9,11],nt=[8,9,11,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64],rt=[1,115],it=[8,9,10,11,13,15,18,36,38,40,42,46,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,86,88,89,91,92,94,95,96,97,98],at=[8,9,10,11,12,13,15,16,17,18,30,32,36,37,38,39,40,41,42,43,46,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,71,72,73,74,75,78,81,84,86,88,89,91,92,94,95,96,97,98],ot=[1,117],ut=[1,118],st=[8,9,10,11,13,18,30,32,46,71,72,73,74,75,81,86,88,89,91,92,94,95,96,97,98],ct=[8,9,10,11,12,13,15,16,17,18,30,32,37,39,41,43,46,50,51,52,53,54,56,57,58,59,60,61,62,63,64,65,71,72,73,74,75,78,81,84,86,88,89,91,92,94,95,96,97,98],lt=[13,18,46,81,86,88,89,91,92,94,95,96,97,98],dt=[13,18,46,49,65,81,86,88,89,91,92,94,95,96,97,98],ht=[1,191],ft=[1,188],_t=[1,195],pt=[1,192],mt=[1,189],yt=[1,196],gt=[1,186],vt=[1,187],Mt=[1,190],bt=[1,193],Lt=[1,194],kt=[1,213],wt=[8,9,11,86],Dt=[8,9,10,11,46,71,80,81,84,86,88,89,90,91,92],xt={trace:function(){},yy:{},symbols_:{error:2,mermaidDoc:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,DIR:13,FirstStmtSeperator:14,TAGEND:15,TAGSTART:16,UP:17,DOWN:18,ending:19,endToken:20,spaceList:21,spaceListNewline:22,verticeStatement:23,separator:24,styleStatement:25,linkStyleStatement:26,classDefStatement:27,classStatement:28,clickStatement:29,subgraph:30,text:31,end:32,vertex:33,link:34,alphaNum:35,SQS:36,SQE:37,PS:38,PE:39,"(-":40,"-)":41,DIAMOND_START:42,DIAMOND_STOP:43,alphaNumStatement:44,alphaNumToken:45,MINUS:46,linkStatement:47,arrowText:48,TESTSTR:49,"--":50,ARROW_POINT:51,ARROW_CIRCLE:52,ARROW_CROSS:53,ARROW_OPEN:54,"-.":55,DOTTED_ARROW_POINT:56,DOTTED_ARROW_CIRCLE:57,DOTTED_ARROW_CROSS:58,DOTTED_ARROW_OPEN:59,"==":60,THICK_ARROW_POINT:61,THICK_ARROW_CIRCLE:62,THICK_ARROW_CROSS:63,THICK_ARROW_OPEN:64,PIPE:65,textToken:66,STR:67,commentText:68,commentToken:69,keywords:70,STYLE:71,LINKSTYLE:72,CLASSDEF:73,CLASS:74,CLICK:75,textNoTags:76,textNoTagsToken:77,DEFAULT:78,stylesOpt:79,HEX:80,NUM:81,INTERPOLATE:82,commentStatement:83,PCT:84,style:85,COMMA:86,styleComponent:87,ALPHA:88,COLON:89,UNIT:90,BRKT:91,DOT:92,graphCodeTokens:93,PUNCTUATION:94,UNICODE_TEXT:95,PLUS:96,EQUALS:97,MULT:98,TAG_START:99,TAG_END:100,QUOTE:101,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"DIR",15:"TAGEND",16:"TAGSTART",17:"UP",18:"DOWN",30:"subgraph",32:"end",36:"SQS",37:"SQE",38:"PS",39:"PE",40:"(-",41:"-)",42:"DIAMOND_START",43:"DIAMOND_STOP",46:"MINUS",49:"TESTSTR",50:"--",51:"ARROW_POINT",52:"ARROW_CIRCLE",53:"ARROW_CROSS",54:"ARROW_OPEN",55:"-.",56:"DOTTED_ARROW_POINT",57:"DOTTED_ARROW_CIRCLE",58:"DOTTED_ARROW_CROSS",59:"DOTTED_ARROW_OPEN",60:"==",61:"THICK_ARROW_POINT",62:"THICK_ARROW_CIRCLE",63:"THICK_ARROW_CROSS",64:"THICK_ARROW_OPEN",65:"PIPE",67:"STR",71:"STYLE",72:"LINKSTYLE",73:"CLASSDEF",74:"CLASS",75:"CLICK",78:"DEFAULT",80:"HEX",81:"NUM",82:"INTERPOLATE",84:"PCT",86:"COMMA",88:"ALPHA",89:"COLON",90:"UNIT",91:"BRKT",92:"DOT",94:"PUNCTUATION",95:"UNICODE_TEXT",96:"PLUS",97:"EQUALS",98:"MULT",99:"TAG_START",100:"TAG_END",101:"QUOTE"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,4],[4,4],[4,4],[4,4],[4,4],[19,2],[19,1],[20,1],[20,1],[20,1],[14,1],[14,1],[14,2],[22,2],[22,2],[22,1],[22,1],[21,2],[21,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,5],[7,4],[24,1],[24,1],[24,1],[23,3],[23,1],[33,4],[33,5],[33,6],[33,7],[33,4],[33,5],[33,4],[33,5],[33,4],[33,5],[33,4],[33,5],[33,1],[33,2],[35,1],[35,2],[44,1],[44,1],[44,1],[44,1],[34,2],[34,3],[34,3],[34,1],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[48,3],[31,1],[31,2],[31,1],[68,1],[68,2],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[76,1],[76,2],[27,5],[27,5],[28,5],[29,5],[29,7],[29,5],[29,7],[25,5],[25,5],[26,5],[26,5],[26,9],[26,9],[26,7],[26,7],[83,3],[79,1],[79,3],[85,1],[85,2],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[69,1],[69,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[77,1],[77,1],[77,1],[77,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1]],performAction:function(t,e,n,r,i,a,o){var u=a.length-1;switch(i){case 2:this.$=[];break;case 3:a[u]!==[]&&a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 57:case 59:case 60:case 92:case 94:case 95:case 108:this.$=a[u];break;case 11:r.setDirection(a[u-1]),this.$=a[u-1];break;case 12:r.setDirection("LR"),this.$=a[u-1];break;case 13:r.setDirection("RL"),this.$=a[u-1];break;case 14:r.setDirection("BT"),this.$=a[u-1];break;case 15:r.setDirection("TB"),this.$=a[u-1];break;case 30:this.$=a[u-1];break;case 31:case 32:case 33:case 34:case 35:this.$=[];break;case 36:this.$=r.addSubGraph(a[u-1],a[u-3]);break;case 37:this.$=r.addSubGraph(a[u-1],void 0);break;case 41:r.addLink(a[u-2],a[u],a[u-1]),this.$=[a[u-2],a[u]];break;case 42:this.$=[a[u]];break;case 43:this.$=a[u-3],r.addVertex(a[u-3],a[u-1],"square");break;case 44:this.$=a[u-4],r.addVertex(a[u-4],a[u-2],"square");break;case 45:this.$=a[u-5],r.addVertex(a[u-5],a[u-2],"circle");break;case 46:this.$=a[u-6],r.addVertex(a[u-6],a[u-3],"circle");break;case 47:this.$=a[u-3],r.addVertex(a[u-3],a[u-1],"ellipse");break;case 48:this.$=a[u-4],r.addVertex(a[u-4],a[u-2],"ellipse");break;case 49:this.$=a[u-3],r.addVertex(a[u-3],a[u-1],"round");break;case 50:this.$=a[u-4],r.addVertex(a[u-4],a[u-2],"round");break;case 51:this.$=a[u-3],r.addVertex(a[u-3],a[u-1],"diamond");break;case 52:this.$=a[u-4],r.addVertex(a[u-4],a[u-2],"diamond");break;case 53:this.$=a[u-3],r.addVertex(a[u-3],a[u-1],"odd");break;case 54:this.$=a[u-4],r.addVertex(a[u-4],a[u-2],"odd");break;case 55:this.$=a[u],r.addVertex(a[u]);break;case 56:this.$=a[u-1],r.addVertex(a[u-1]);break;case 58:case 93:case 96:case 109:this.$=a[u-1]+""+a[u];break;case 61:this.$="v";break;case 62:this.$="-";break;case 63:a[u-1].text=a[u],this.$=a[u-1];break;case 64:case 65:a[u-2].text=a[u-1],this.$=a[u-2];break;case 66:this.$=a[u];break;case 67:this.$={type:"arrow",stroke:"normal",text:a[u-1]};break;case 68:this.$={type:"arrow_circle",stroke:"normal",text:a[u-1]};break;case 69:this.$={type:"arrow_cross",stroke:"normal",text:a[u-1]};break;case 70:this.$={type:"arrow_open",stroke:"normal",text:a[u-1]};break;case 71:this.$={type:"arrow",stroke:"dotted",text:a[u-1]};break;case 72:this.$={type:"arrow_circle",stroke:"dotted",text:a[u-1]};break;case 73:this.$={type:"arrow_cross",stroke:"dotted",text:a[u-1]};break;case 74:this.$={type:"arrow_open",stroke:"dotted",text:a[u-1]};break;case 75:this.$={type:"arrow",stroke:"thick",text:a[u-1]};break;case 76:this.$={type:"arrow_circle",stroke:"thick",text:a[u-1]};break;case 77:this.$={type:"arrow_cross",stroke:"thick",text:a[u-1]};break;case 78:this.$={type:"arrow_open",stroke:"thick",text:a[u-1]};break;case 79:this.$={type:"arrow",stroke:"normal"};break;case 80:this.$={type:"arrow_circle",stroke:"normal"};break;case 81:this.$={type:"arrow_cross",stroke:"normal"};break;case 82:this.$={type:"arrow_open",stroke:"normal"};break;case 83:this.$={type:"arrow",stroke:"dotted"};break;case 84:this.$={type:"arrow_circle",stroke:"dotted"};break;case 85:this.$={type:"arrow_cross",stroke:"dotted"};break;case 86:this.$={type:"arrow_open",stroke:"dotted"};break;case 87:this.$={type:"arrow",stroke:"thick"};break;case 88:this.$={type:"arrow_circle",stroke:"thick"};break;case 89:this.$={type:"arrow_cross",stroke:"thick"};break;case 90:this.$={type:"arrow_open",stroke:"thick"};break;case 91:this.$=a[u-1];break;case 110:case 111:this.$=a[u-4],r.addClass(a[u-2],a[u]);break;case 112:this.$=a[u-4],r.setClass(a[u-2],a[u]);break;case 113:this.$=a[u-4],r.setClickEvent(a[u-2],a[u],void 0,void 0);break;case 114:this.$=a[u-6],r.setClickEvent(a[u-4],a[u-2],void 0,a[u]);break;case 115:this.$=a[u-4],r.setClickEvent(a[u-2],void 0,a[u],void 0);break;case 116:this.$=a[u-6],r.setClickEvent(a[u-4],void 0,a[u-2],a[u]);break;case 117:this.$=a[u-4],r.addVertex(a[u-2],void 0,void 0,a[u]);break;case 118:case 119:case 120:this.$=a[u-4],r.updateLink(a[u-2],a[u]);break;case 121:case 122:this.$=a[u-8],r.updateLinkInterpolate(a[u-6],a[u-2]),r.updateLink(a[u-6],a[u]);break;case 123:case 124:this.$=a[u-6],r.updateLinkInterpolate(a[u-4],a[u]);break;case 126:this.$=[a[u]];break;case 127:a[u-2].push(a[u]),this.$=a[u-2];break;case 129:this.$=a[u-1]+a[u]}},table:[{3:1,4:2,9:n,10:r,12:i},{1:[3]},e(a,o,{5:6}),{4:7,9:n,10:r,12:i},{4:8,9:n,10:r,12:i},{10:[1,9]},{1:[2,1],6:10,7:11,8:u,9:s,10:c,11:l,13:d,18:h,23:16,25:17,26:18,27:19,28:20,29:21,30:f,33:23,35:29,44:30,45:32,46:_,71:p,72:m,73:y,74:g,75:v,81:M,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},e(a,[2,9]),e(a,[2,10]),{13:[1,46],15:[1,47],16:[1,48],17:[1,49],18:[1,50]},e(S,[2,3]),e(S,[2,4]),e(S,[2,5]),e(S,[2,6]),e(S,[2,7]),e(S,[2,8]),{8:F,9:C,11:j,24:51},{8:F,9:C,11:j,24:55},{8:F,9:C,11:j,24:56},{8:F,9:C,11:j,24:57},{8:F,9:C,11:j,24:58},{8:F,9:C,11:j,24:59},{8:F,9:C,10:H,11:j,12:O,13:P,15:N,16:B,17:I,18:R,24:61,30:W,31:60,32:z,45:71,46:q,50:U,60:$,66:62,67:V,70:74,71:G,72:J,73:Z,74:K,75:X,77:64,78:Q,81:M,84:tt,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},e(et,[2,42],{34:86,47:87,50:[1,88],51:[1,91],52:[1,92],53:[1,93],54:[1,94],55:[1,89],56:[1,95],57:[1,96],58:[1,97],59:[1,98],60:[1,90],61:[1,99],62:[1,100],63:[1,101],64:[1,102]}),{10:[1,103]},{10:[1,104]},{10:[1,105]},{10:[1,106]},{10:[1,107]},e(nt,[2,55],{45:32,21:113,44:114,10:rt,13:d,15:[1,112],18:h,36:[1,108],38:[1,109],40:[1,110],42:[1,111],46:_,81:M,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E}),e(it,[2,57]),e(it,[2,59]),e(it,[2,60]),e(it,[2,61]),e(it,[2,62]),e(at,[2,154]),e(at,[2,155]),e(at,[2,156]),e(at,[2,157]),e(at,[2,158]),e(at,[2,159]),e(at,[2,160]),e(at,[2,161]),e(at,[2,162]),e(at,[2,163]),e(at,[2,164]),{8:ot,9:ut,10:rt,14:116,21:119},{8:ot,9:ut,10:rt,14:120,21:119},{8:ot,9:ut,10:rt,14:121,21:119},{8:ot,9:ut,10:rt,14:122,21:119},{8:ot,9:ut,10:rt,14:123,21:119},e(S,[2,30]),e(S,[2,38]),e(S,[2,39]),e(S,[2,40]),e(S,[2,31]),e(S,[2,32]),e(S,[2,33]),e(S,[2,34]),e(S,[2,35]),{8:F,9:C,10:H,11:j,12:O,13:P,15:N,16:B,17:I,18:R,24:124,30:W,32:z,45:71,46:q,50:U,60:$,66:125,70:74,71:G,72:J,73:Z,74:K,75:X,77:64,78:Q,81:M,84:tt,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},e(st,o,{5:126}),e(ct,[2,92]),e(ct,[2,94]),e(ct,[2,143]),e(ct,[2,144]),e(ct,[2,145]),e(ct,[2,146]),e(ct,[2,147]),e(ct,[2,148]),e(ct,[2,149]),e(ct,[2,150]),e(ct,[2,151]),e(ct,[2,152]),e(ct,[2,153]),e(ct,[2,97]),e(ct,[2,98]),e(ct,[2,99]),e(ct,[2,100]),e(ct,[2,101]),e(ct,[2,102]),e(ct,[2,103]),e(ct,[2,104]),e(ct,[2,105]),e(ct,[2,106]),e(ct,[2,107]),{13:d,18:h,33:127,35:29,44:30,45:32,46:_,81:M,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},e(lt,[2,66],{48:128,49:[1,129],65:[1,130]}),{10:H,12:O,13:P,15:N,16:B,17:I,18:R,30:W,31:131,32:z,45:71,46:q,50:U,60:$,66:62,67:V,70:74,71:G,72:J,73:Z,74:K,75:X,77:64,78:Q,81:M,84:tt,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},{10:H,12:O,13:P,15:N,16:B,17:I,18:R,30:W,31:132,32:z,45:71,46:q,50:U,60:$,66:62,67:V,70:74,71:G,72:J,73:Z,74:K,75:X,77:64,78:Q,81:M,84:tt,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},{10:H,12:O,13:P,15:N,16:B,17:I,18:R,30:W,31:133,32:z,45:71,46:q,50:U,60:$,66:62,67:V,70:74,71:G,72:J,73:Z,74:K,75:X,77:64,78:Q,81:M,84:tt,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},e(dt,[2,79]),e(dt,[2,80]),e(dt,[2,81]),e(dt,[2,82]),e(dt,[2,83]),e(dt,[2,84]),e(dt,[2,85]),e(dt,[2,86]),e(dt,[2,87]),e(dt,[2,88]),e(dt,[2,89]),e(dt,[2,90]),{13:d,18:h,35:134,44:30,45:32,46:_,80:[1,135],81:M,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},{78:[1,136],81:[1,137]},{13:d,18:h,35:139,44:30,45:32,46:_,78:[1,138],81:M,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},{13:d,18:h,35:140,44:30,45:32,46:_,81:M,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},{13:d,18:h,35:141,44:30,45:32,46:_,81:M,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},{10:H,12:O,13:P,15:N,16:B,17:I,18:R,30:W,31:142,32:z,45:71,46:q,50:U,60:$,66:62,67:V,70:74,71:G,72:J,73:Z,74:K,75:X,77:64,78:Q,81:M,84:tt,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},{10:H,12:O,13:P,15:N,16:B,17:I,18:R,30:W,31:144,32:z,38:[1,143],45:71,46:q,50:U,60:$,66:62,67:V,70:74,71:G,72:J,73:Z,74:K,75:X,77:64,78:Q,81:M,84:tt,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},{10:H,12:O,13:P,15:N,16:B,17:I,18:R,30:W,31:145,32:z,45:71,46:q,50:U,60:$,66:62,67:V,70:74,71:G,72:J,73:Z,74:K,75:X,77:64,78:Q,81:M,84:tt,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},{10:H,12:O,13:P,15:N,16:B,17:I,18:R,30:W,31:146,32:z,45:71,46:q,50:U,60:$,66:62,67:V,70:74,71:G,72:J,73:Z,74:K,75:X,77:64,78:Q,81:M,84:tt,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},{10:H,12:O,13:P,15:N,16:B,17:I,18:R,30:W,31:147,32:z,45:71,46:q,50:U,60:$,66:62,67:V,70:74,71:G,72:J,73:Z,74:K,75:X,77:64,78:Q,81:M,84:tt,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},e(nt,[2,56]),e(it,[2,58]),e(nt,[2,29],{21:148,10:rt}),e(a,[2,11]),e(a,[2,21]),e(a,[2,22]),{9:[1,149]},e(a,[2,12]),e(a,[2,13]),e(a,[2,14]),e(a,[2,15]),e(st,o,{5:150}),e(ct,[2,93]),{6:10,7:11,8:u,9:s,10:c,11:l,13:d,18:h,23:16,25:17,26:18,27:19,28:20,29:21,30:f,32:[1,151],33:23,35:29,44:30,45:32,46:_,71:p,72:m,73:y,74:g,75:v,81:M,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},e(et,[2,41]),e(lt,[2,63],{10:[1,152]}),{10:[1,153]},{10:H,12:O,13:P,15:N,16:B,17:I,18:R,30:W,31:154,32:z,45:71,46:q,50:U,60:$,66:62,67:V,70:74,71:G,72:J,73:Z,74:K,75:X,77:64,78:Q,81:M,84:tt,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},{10:H,12:O,13:P,15:N,16:B,17:I,18:R,30:W,32:z,45:71,46:q,50:U,51:[1,155],52:[1,156],53:[1,157],54:[1,158],60:$,66:125,70:74,71:G,72:J,73:Z,74:K,75:X,77:64,78:Q,81:M,84:tt,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},{10:H,12:O,13:P,15:N,16:B,17:I,18:R,30:W,32:z,45:71,46:q,50:U,56:[1,159],57:[1,160],58:[1,161],59:[1,162],60:$,66:125,70:74,71:G,72:J,73:Z,74:K,75:X,77:64,78:Q,81:M,84:tt,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},{10:H,12:O,13:P,15:N,16:B,17:I,18:R,30:W,32:z,45:71,46:q,50:U,60:$,61:[1,163],62:[1,164],63:[1,165],64:[1,166],66:125,70:74,71:G,72:J,73:Z,74:K,75:X,77:64,78:Q,81:M,84:tt,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},{10:[1,167],13:d,18:h,44:114,45:32,46:_,81:M,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},{10:[1,168]},{10:[1,169]},{10:[1,170]},{10:[1,171]},{10:[1,172],13:d,18:h,44:114,45:32,46:_,81:M,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},{10:[1,173],13:d,18:h,44:114,45:32,46:_,81:M,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},{10:[1,174],13:d,18:h,44:114,45:32,46:_,81:M,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},{10:H,12:O,13:P,15:N,16:B,17:I,18:R,30:W,32:z,37:[1,175],45:71,46:q,50:U,60:$,66:125,70:74,71:G,72:J,73:Z,74:K,75:X,77:64,78:Q,81:M,84:tt,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},{10:H,12:O,13:P,15:N,16:B,17:I,18:R,30:W,31:176,32:z,45:71,46:q,50:U,60:$,66:62,67:V,70:74,71:G,72:J,73:Z,74:K,75:X,77:64,78:Q,81:M,84:tt,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},{10:H,12:O,13:P,15:N,16:B,17:I,18:R,30:W,32:z,39:[1,177],45:71,46:q,50:U,60:$,66:125,70:74,71:G,72:J,73:Z,74:K,75:X,77:64,78:Q,81:M,84:tt,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},{10:H,12:O,13:P,15:N,16:B,17:I,18:R,30:W,32:z,41:[1,178],45:71,46:q,50:U,60:$,66:125,70:74,71:G,72:J,73:Z,74:K,75:X,77:64,78:Q,81:M,84:tt,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},{10:H,12:O,13:P,15:N,16:B,17:I,18:R,30:W,32:z,43:[1,179],45:71,46:q,50:U,60:$,66:125,70:74,71:G,72:J,73:Z,74:K,75:X,77:64,78:Q,81:M,84:tt,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},{10:H,12:O,13:P,15:N,16:B,17:I,18:R,30:W,32:z,37:[1,180],45:71,46:q,50:U,60:$,66:125,70:74,71:G,72:J,73:Z,74:K,75:X,77:64,78:Q,81:M,84:tt,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},e(nt,[2,28]),e(a,[2,23]),{6:10,7:11,8:u,9:s,10:c,11:l,13:d,18:h,23:16,25:17,26:18,27:19,28:20,29:21,30:f,32:[1,181],33:23,35:29,44:30,45:32,46:_,71:p,72:m,73:y,74:g,75:v,81:M,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},e(S,[2,37]),e(lt,[2,65]),e(lt,[2,64]),{10:H,12:O,13:P,15:N,16:B,17:I,18:R,30:W,32:z,45:71,46:q,50:U,60:$,65:[1,182],66:125,70:74,71:G,72:J,73:Z,74:K,75:X,77:64,78:Q,81:M,84:tt,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},e(lt,[2,67]),e(lt,[2,68]),e(lt,[2,69]),e(lt,[2,70]),e(lt,[2,71]),e(lt,[2,72]),e(lt,[2,73]),e(lt,[2,74]),e(lt,[2,75]),e(lt,[2,76]),e(lt,[2,77]),e(lt,[2,78]),{10:ht,46:ft,71:_t,79:183,80:pt,81:mt,84:yt,85:184,87:185,88:gt,89:vt,90:Mt,91:bt,92:Lt},{10:ht,46:ft,71:_t,79:197,80:pt,81:mt,84:yt,85:184,87:185,88:gt,89:vt,90:Mt,91:bt,92:Lt},{10:ht,46:ft,71:_t,79:198,80:pt,81:mt,82:[1,199],84:yt,85:184,87:185,88:gt,89:vt,90:Mt,91:bt,92:Lt},{10:ht,46:ft,71:_t,79:200,80:pt,81:mt,82:[1,201],84:yt,85:184,87:185,88:gt,89:vt,90:Mt,91:bt,92:Lt},{10:ht,46:ft,71:_t,79:202,80:pt,81:mt,84:yt,85:184,87:185,88:gt,89:vt,90:Mt,91:bt,92:Lt},{10:ht,46:ft,71:_t,79:203,80:pt,81:mt,84:yt,85:184,87:185,88:gt,89:vt,90:Mt,91:bt,92:Lt},{13:d,18:h,35:204,44:30,45:32,46:_,81:M,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},{13:d,18:h,35:205,44:30,45:32,46:_,67:[1,206],81:M,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},e(nt,[2,43],{21:207,10:rt}),{10:H,12:O,13:P,15:N,16:B,17:I,18:R,30:W,32:z,39:[1,208],45:71,46:q,50:U,60:$,66:125,70:74,71:G,72:J,73:Z,74:K,75:X,77:64,78:Q,81:M,84:tt,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},e(nt,[2,49],{21:209,10:rt}),e(nt,[2,47],{21:210,10:rt}),e(nt,[2,51],{21:211,10:rt}),e(nt,[2,53],{21:212,10:rt}),e(S,[2,36]),e([10,13,18,46,81,86,88,89,91,92,94,95,96,97,98],[2,91]),e(et,[2,117],{86:kt}),e(wt,[2,126],{87:214,10:ht,46:ft,71:_t,80:pt,81:mt,84:yt,88:gt,89:vt,90:Mt,91:bt,92:Lt}),e(Dt,[2,128]),e(Dt,[2,130]),e(Dt,[2,131]),e(Dt,[2,132]),e(Dt,[2,133]),e(Dt,[2,134]),e(Dt,[2,135]),e(Dt,[2,136]),e(Dt,[2,137]),e(Dt,[2,138]),e(Dt,[2,139]),e(Dt,[2,140]),e(et,[2,118],{86:kt}),e(et,[2,119],{86:kt}),{10:[1,215]},e(et,[2,120],{86:kt}),{10:[1,216]},e(et,[2,110],{86:kt}),e(et,[2,111],{86:kt}),e(et,[2,112],{45:32,44:114,13:d,18:h,46:_,81:M,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E}),e(et,[2,113],{45:32,44:114,10:[1,217],13:d,18:h,46:_,81:M,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E}),e(et,[2,115],{10:[1,218]}),e(nt,[2,44]),{39:[1,219]},e(nt,[2,50]),e(nt,[2,48]),e(nt,[2,52]),e(nt,[2,54]),{10:ht,46:ft,71:_t,80:pt,81:mt,84:yt,85:220,87:185,88:gt,89:vt,90:Mt,91:bt,92:Lt},e(Dt,[2,129]),{13:d,18:h,35:221,44:30,45:32,46:_,81:M,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},{13:d,18:h,35:222,44:30,45:32,46:_,81:M,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},{67:[1,223]},{67:[1,224]},e(nt,[2,45],{21:225,10:rt}),e(wt,[2,127],{87:214,10:ht,46:ft,71:_t,80:pt,81:mt,84:yt,88:gt,89:vt,90:Mt,91:bt,92:Lt}),e(et,[2,123],{45:32,44:114,10:[1,226],13:d,18:h,46:_,81:M,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E}),e(et,[2,124],{45:32,44:114,10:[1,227],13:d,18:h,46:_,81:M,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E}),e(et,[2,114]),e(et,[2,116]),e(nt,[2,46]),{10:ht,46:ft,71:_t,79:228,80:pt,81:mt,84:yt,85:184,87:185,88:gt,89:vt,90:Mt,91:bt,92:Lt},{10:ht,46:ft,71:_t,79:229,80:pt,81:mt,84:yt,85:184,87:185,88:gt,89:vt,90:Mt,91:bt,92:Lt},e(et,[2,121],{86:kt}),e(et,[2,122],{86:kt})],defaultActions:{},parseError:function(t,e){if(!e.recoverable){var n=function(t,e){this.message=t,this.hash=e};throw n.prototype=Error,new n(t,e)}this.trace(t)},parse:function(t){var e=this,n=[0],r=[null],i=[],a=this.table,o="",u=0,s=0,c=0,l=i.slice.call(arguments,1),d=Object.create(this.lexer),h={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(h.yy[f]=this.yy[f]);d.setInput(t,h.yy),h.yy.lexer=d,h.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var _=d.yylloc;i.push(_);var p=d.options&&d.options.ranges;"function"==typeof h.yy.parseError?this.parseError=h.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var m,y,g,v,M,b,L,k,w,D={};;){if(g=n[n.length-1],this.defaultActions[g]?v=this.defaultActions[g]:(null!==m&&void 0!==m||(m=function(){var t;return t=d.lex()||1,"number"!=typeof t&&(t=e.symbols_[t]||t),t}()),v=a[g]&&a[g][m]),void 0===v||!v.length||!v[0]){var x="";w=[];for(b in a[g])this.terminals_[b]&&b>2&&w.push("'"+this.terminals_[b]+"'");x=d.showPosition?"Parse error on line "+(u+1)+":\n"+d.showPosition()+"\nExpecting "+w.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(u+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(x,{text:d.match,token:this.terminals_[m]||m,line:d.yylineno,loc:_,expected:w})}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+g+", token: "+m);switch(v[0]){case 1:n.push(m),r.push(d.yytext),i.push(d.yylloc),n.push(v[1]),m=null,y?(m=y,y=null):(s=d.yyleng,o=d.yytext,u=d.yylineno,_=d.yylloc,c>0&&c--);break;case 2:if(L=this.productions_[v[1]][1],D.$=r[r.length-L],D._$={first_line:i[i.length-(L||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(L||1)].first_column,last_column:i[i.length-1].last_column},p&&(D._$.range=[i[i.length-(L||1)].range[0],i[i.length-1].range[1]]),void 0!==(M=this.performAction.apply(D,[o,s,u,h.yy,v[1],r,i].concat(l))))return M;L&&(n=n.slice(0,-1*L*2),r=r.slice(0,-1*L),i=i.slice(0,-1*L)),n.push(this.productions_[v[1]][0]),r.push(D.$),i.push(D._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Yt=function(){return{EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),r=t[0].match(/(?:\r\n?|\n).*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,n,r;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return t=this.conditionStack.length-1-Math.abs(t||0),t>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(t,e,n,r){switch(n){case 0:break;case 1:this.begin("string");break;case 2:this.popState();break;case 3:return"STR";case 4:return 71;case 5:return 78;case 6:return 72;case 7:return 82;case 8:return 73;case 9:return 74;case 10:return 75;case 11:return 12;case 12:return 30;case 13:return 32;case 14:case 15:case 16:case 17:case 18:case 19:return 13;case 20:return 81;case 21:return 91;case 22:return 89;case 23:return 8;case 24:return 86;case 25:return 98;case 26:return 16;case 27:return 15;case 28:return 17;case 29:return 18;case 30:return 53;case 31:return 51;case 32:return 52;case 33:return 54;case 34:return 58;case 35:return 56;case 36:return 57;case 37:return 59;case 38:return 58;case 39:return 56;case 40:return 57;case 41:return 59;case 42:return 63;case 43:return 61;case 44:return 62;case 45:return 64;case 46:return 50;case 47:return 55;case 48:return 60;case 49:return 40;case 50:return 41;case 51:return 46;case 52:return 92;case 53:return 96;case 54:return 84;case 55:case 56:return 97;case 57:return 88;case 58:return 94;case 59:return 95;case 60:return 65;case 61:return 38;case 62:return 39;case 63:return 36;case 64:return 37;case 65:return 42;case 66:return 43;case 67:return 101;case 68:return 9;case 69:return 10;case 70:return 11}},rules:[/^(?:%%[^\n]*)/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:\s*--[x]\s*)/,/^(?:\s*-->\s*)/,/^(?:\s*--[o]\s*)/,/^(?:\s*---\s*)/,/^(?:\s*-\.-[x]\s*)/,/^(?:\s*-\.->\s*)/,/^(?:\s*-\.-[o]\s*)/,/^(?:\s*-\.-\s*)/,/^(?:\s*.-[x]\s*)/,/^(?:\s*\.->\s*)/,/^(?:\s*\.-[o]\s*)/,/^(?:\s*\.-\s*)/,/^(?:\s*==[x]\s*)/,/^(?:\s*==>\s*)/,/^(?:\s*==[o]\s*)/,/^(?:\s*==[\=]\s*)/,/^(?:\s*--\s*)/,/^(?:\s*-\.\s*)/,/^(?:\s*==\s*)/,/^(?:\(-)/,/^(?:-\))/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:[A-Za-z]+)/,/^(?:[!"#$%&'*+,-.`?\\_\/])/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n+)/,/^(?:\s)/,/^(?:$)/],conditions:{string:{rules:[2,3],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70],inclusive:!0}}}}();return xt.lexer=Yt,t.prototype=xt,xt.Parser=t,new t}();e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(r){r[1]||(console.log("Usage: "+r[0]+" FILE"),t.exit(1));var i=n(12).readFileSync(n(13).normalize(r[1]),"utf8");return e.parser.parse(i)},void 0!==r&&n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(e,n(11),n(4)(t))},function(t,e,n){(function(t,r){var i=function(){function t(){this.yy={}}var e=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},n=[1,5],r=[1,6],i=[1,12],a=[1,13],o=[1,14],u=[1,15],s=[1,16],c=[1,17],l=[1,18],d=[1,19],h=[1,20],f=[1,21],_=[1,22],p=[8,16,17,18,19,20,21,22,23,24,25,26],m=[1,37],y=[1,33],g=[1,34],v=[1,35],M=[1,36],b=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],L=[10,28],k=[10,28,37,57,58],w=[2,49],D=[1,45],x=[1,48],Y=[1,49],T=[1,52],A=[2,65],E=[1,65],S=[1,66],F=[1,67],C=[1,68],j=[1,69],H=[1,70],O=[1,71],P=[1,72],N=[1,73],B=[8,16,17,18,19,20,21,22,23,24,25,26,47],I=[10,28,37],R={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(t,e,n,r,i,a,o){var u=a.length-1;switch(i){case 1:this.$=a[u-1];break;case 2:this.$=a[u-4];break;case 3:this.$=a[u-5];break;case 4:this.$=a[u-3];break;case 8:case 10:case 11:this.$=a[u];break;case 9:this.$=a[u-1]+""+a[u];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=a[u];break;case 17:this.$="<br>";break;case 39:this.$="oy";break;case 40:r.addLink(a[u-1],a[u].id,a[u].op),this.$="oy";break;case 42:r.addLink(a[u-1],a[u].id,a[u].op),this.$={op:a[u-2],id:a[u-1]};break;case 44:this.$={op:a[u-1],id:a[u]};break;case 48:r.addVertex(a[u-1]),this.$=a[u-1];break;case 49:r.addVertex(a[u]),this.$=a[u];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:n,13:r},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:d,24:h,25:f,26:_},{6:23,12:n,13:r},e(p,[2,5]),e(p,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:m,9:25,12:y,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:d,24:h,25:f,26:_,27:26,29:27,30:28,31:29,33:31,35:g,36:v,42:32,47:M},e([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:d,24:h,25:f,26:_}),e(b,[2,8]),e(b,[2,10]),e(b,[2,11]),e(b,[2,12]),e(b,[2,13]),e(b,[2,14]),e(b,[2,15]),e(b,[2,16]),e(b,[2,17]),e(b,[2,18]),e(b,[2,19]),e(b,[2,20]),{7:39,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:d,24:h,25:f,26:_},{7:30,8:m,9:40,12:y,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:d,24:h,25:f,26:_,27:26,29:27,30:28,31:29,33:31,35:g,36:v,42:32,47:M},{10:[1,41]},{10:[2,21],28:[1,42]},e(L,[2,23]),e(L,[2,24]),e(L,[2,25]),e(k,w,{44:44,32:[1,43],45:D}),e(L,[2,27],{41:46,43:47,57:x,58:Y}),e(L,[2,47],{43:47,34:50,41:51,37:T,57:x,58:Y}),{34:53,37:T},{34:54,37:T},{34:55,37:T},{7:56,8:[1,57],14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:d,24:h,25:f,26:_},{7:30,8:m,9:58,12:y,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:d,24:h,25:f,26:_,27:26,29:27,30:28,31:29,33:31,35:g,36:v,42:32,47:M},e(b,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:m,9:61,12:y,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:d,24:h,25:f,26:_,27:26,29:27,30:28,31:29,33:31,35:g,36:v,42:32,47:M},{7:62,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:d,24:h,25:f,26:_},e(k,[2,48]),e(k,A,{14:10,15:11,7:63,46:64,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:d,24:h,25:f,26:_,48:E,49:S,50:F,51:C,52:j,53:H,54:O,55:P,56:N}),e(L,[2,41],{34:74,37:T}),{7:77,8:m,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:d,24:h,25:f,26:_,33:76,42:75,47:M},e(B,[2,66]),e(B,[2,67]),e(L,[2,46]),e(L,[2,40],{34:78,37:T}),{7:81,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:d,24:h,25:f,26:_,38:79,39:[1,80]},e(L,[2,28]),e(L,[2,29]),e(L,[2,30]),{8:[1,82]},{7:30,8:m,9:83,12:y,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:d,24:h,25:f,26:_,27:26,29:27,30:28,31:29,33:31,35:g,36:v,42:32,47:M},{10:[1,84]},{7:30,8:m,9:85,12:y,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:d,24:h,25:f,26:_,27:26,29:27,30:28,31:29,33:31,35:g,36:v,42:32,47:M},{5:[2,2]},{10:[2,22]},e(L,[2,26]),e(k,[2,51],{45:[1,86]}),e(k,[2,52]),e(k,[2,56]),e(k,[2,57]),e(k,[2,58]),e(k,[2,59]),e(k,[2,60]),e(k,[2,61]),e(k,[2,62]),e(k,[2,63]),e(k,[2,64]),e(L,[2,38]),e(I,[2,44],{43:47,41:87,57:x,58:Y}),e(I,[2,45],{43:47,41:88,57:x,58:Y}),e(k,w,{44:44,45:D}),e(L,[2,39]),{39:[1,89]},e(L,[2,34],{34:90,37:T}),{32:[1,91]},{7:30,8:m,9:92,12:y,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:d,24:h,25:f,26:_,27:26,29:27,30:28,31:29,33:31,35:g,36:v,42:32,47:M},{10:[1,93]},e(k,[2,55]),{10:[1,94]},e(k,A,{46:95,48:E,49:S,50:F,51:C,52:j,53:H,54:O,55:P,56:N}),e(I,[2,42]),e(I,[2,43]),e(L,[2,33],{34:96,37:T}),e(L,[2,32]),{7:97,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:d,24:h,25:f,26:_},{10:[1,98]},e(k,[2,54]),{5:[2,3]},e(k,[2,50]),e(L,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},e(k,[2,53]),{7:81,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:d,24:h,25:f,26:_,38:101},{7:81,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:d,24:h,25:f,26:_,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(t,e){if(!e.recoverable){var n=function(t,e){this.message=t,this.hash=e};throw n.prototype=Error,new n(t,e)}this.trace(t)},parse:function(t){var e=this,n=[0],r=[null],i=[],a=this.table,o="",u=0,s=0,c=0,l=i.slice.call(arguments,1),d=Object.create(this.lexer),h={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(h.yy[f]=this.yy[f]);d.setInput(t,h.yy),h.yy.lexer=d,h.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var _=d.yylloc;i.push(_);var p=d.options&&d.options.ranges;"function"==typeof h.yy.parseError?this.parseError=h.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var m,y,g,v,M,b,L,k,w,D={};;){if(g=n[n.length-1],this.defaultActions[g]?v=this.defaultActions[g]:(null!==m&&void 0!==m||(m=function(){var t;return t=d.lex()||1,"number"!=typeof t&&(t=e.symbols_[t]||t),t}()),v=a[g]&&a[g][m]),void 0===v||!v.length||!v[0]){var x="";w=[];for(b in a[g])this.terminals_[b]&&b>2&&w.push("'"+this.terminals_[b]+"'");x=d.showPosition?"Parse error on line "+(u+1)+":\n"+d.showPosition()+"\nExpecting "+w.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(u+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(x,{text:d.match,token:this.terminals_[m]||m,line:d.yylineno,loc:_,expected:w})}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+g+", token: "+m);switch(v[0]){case 1:n.push(m),r.push(d.yytext),i.push(d.yylloc),n.push(v[1]),m=null,y?(m=y,y=null):(s=d.yyleng,o=d.yytext,u=d.yylineno,_=d.yylloc,c>0&&c--);break;case 2:if(L=this.productions_[v[1]][1],D.$=r[r.length-L],D._$={first_line:i[i.length-(L||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(L||1)].first_column,last_column:i[i.length-1].last_column},p&&(D._$.range=[i[i.length-(L||1)].range[0],i[i.length-1].range[1]]),void 0!==(M=this.performAction.apply(D,[o,s,u,h.yy,v[1],r,i].concat(l))))return M;L&&(n=n.slice(0,-1*L*2),r=r.slice(0,-1*L),i=i.slice(0,-1*L)),n.push(this.productions_[v[1]][0]),r.push(D.$),i.push(D._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},W=function(){return{EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),r=t[0].match(/(?:\r\n?|\n).*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,n,r;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return t=this.conditionStack.length-1-Math.abs(t||0),t>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(t,e,n,r){switch(n){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:case 11:case 12:case 13:case 14:case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\s)/,/^(?:\n)/,/^(?:$)/],conditions:{INITIAL:{rules:[0,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,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],inclusive:!0}}}}();return R.lexer=W,t.prototype=R,R.Parser=t,new t}();e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(r){r[1]||(console.log("Usage: "+r[0]+" FILE"),t.exit(1));var i=n(12).readFileSync(n(13).normalize(r[1]),"utf8");return e.parser.parse(i)},void 0!==r&&n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(e,n(11),n(4)(t))},function(t,e,n){function r(t,e,n,r){return i(t,String(e),n||u,r||function(e){return t.outEdges(e)})}function i(t,e,n,r){var i,a,u={},s=new o,c=function(t){var e=t.v!==i?t.v:t.w,r=u[e],o=n(t),c=a.distance+o;if(o<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+t+" Weight: "+o);c<r.distance&&(r.distance=c,r.predecessor=i,s.decrease(e,c))};for(t.nodes().forEach(function(t){var n=t===e?0:Number.POSITIVE_INFINITY;u[t]={distance:n},s.add(t,n)});s.size()>0&&(i=s.removeMin(),a=u[i],a.distance!==Number.POSITIVE_INFINITY);)r(i).forEach(c);return u}var a=n(5),o=n(28);t.exports=r;var u=a.constant(1)},function(t,e,n){function r(){this._arr=[],this._keyIndices={}}var i=n(5);t.exports=r,r.prototype.size=function(){return this._arr.length},r.prototype.keys=function(){return this._arr.map(function(t){return t.key})},r.prototype.has=function(t){return i.has(this._keyIndices,t)},r.prototype.priority=function(t){var e=this._keyIndices[t];if(void 0!==e)return this._arr[e].priority},r.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},r.prototype.add=function(t,e){var n=this._keyIndices;if(t=String(t),!i.has(n,t)){var r=this._arr,a=r.length;return n[t]=a,r.push({key:t,priority:e}),this._decrease(a),!0}return!1},r.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var t=this._arr.pop();return delete this._keyIndices[t.key],this._heapify(0),t.key},r.prototype.decrease=function(t,e){var n=this._keyIndices[t];if(e>this._arr[n].priority)throw new Error("New priority is greater than current priority. Key: "+t+" Old: "+this._arr[n].priority+" New: "+e);this._arr[n].priority=e,this._decrease(n)},r.prototype._heapify=function(t){var e=this._arr,n=2*t,r=n+1,i=t;n<e.length&&(i=e[n].priority<e[i].priority?n:i,r<e.length&&(i=e[r].priority<e[i].priority?r:i),i!==t&&(this._swap(t,i),this._heapify(i)))},r.prototype._decrease=function(t){for(var e,n=this._arr,r=n[t].priority;0!==t&&(e=t>>1,!(n[e].priority<r));)this._swap(t,e),t=e},r.prototype._swap=function(t,e){var n=this._arr,r=this._keyIndices,i=n[t],a=n[e];n[t]=a,n[e]=i,r[a.key]=t,r[i.key]=e}},function(t,e,n){function r(t){function e(u){var s=a[u]={onStack:!0,lowlink:n,index:n++};if(r.push(u),t.successors(u).forEach(function(t){i.has(a,t)?a[t].onStack&&(s.lowlink=Math.min(s.lowlink,a[t].index)):(e(t),s.lowlink=Math.min(s.lowlink,a[t].lowlink))}),s.lowlink===s.index){var c,l=[];do{c=r.pop(),a[c].onStack=!1,l.push(c)}while(u!==c);o.push(l)}}var n=0,r=[],a={},o=[];return t.nodes().forEach(function(t){i.has(a,t)||e(t)}),o}var i=n(5);t.exports=r},function(t,e,n){function r(t){function e(u){if(a.has(r,u))throw new i;a.has(n,u)||(r[u]=!0,n[u]=!0,a.each(t.predecessors(u),e),delete r[u],o.push(u))}var n={},r={},o=[];if(a.each(t.sinks(),e),a.size(n)!==t.nodeCount())throw new i;return o}function i(){}var a=n(5);t.exports=r,r.CycleException=i},function(t,e,n){function r(t,e,n){a.isArray(e)||(e=[e]);var r=(t.isDirected()?t.successors:t.neighbors).bind(t),o=[],u={};return a.each(e,function(e){if(!t.hasNode(e))throw new Error("Graph does not have node: "+e);i(t,e,"post"===n,u,r,o)}),o}function i(t,e,n,r,o,u){a.has(r,e)||(r[e]=!0,n||u.push(e),a.each(o(e),function(e){i(t,e,n,r,o,u)}),n&&u.push(e))}var a=n(5);t.exports=r},function(t,e,n){const r=n(33);t.exports=r},function(t,e,n){t.exports={graphlib:n(8),layout:n(202),debug:n(225),util:{time:n(3).time,notime:n(3).notime},version:n(226)}},function(t,e,n){function r(t,e,n,r){return i(t,String(e),n||u,r||function(e){return t.outEdges(e)})}function i(t,e,n,r){var i,a,u={},s=new o,c=function(t){var e=t.v!==i?t.v:t.w,r=u[e],o=n(t),c=a.distance+o;if(o<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+t+" Weight: "+o);c<r.distance&&(r.distance=c,r.predecessor=i,s.decrease(e,c))};for(t.nodes().forEach(function(t){var n=t===e?0:Number.POSITIVE_INFINITY;u[t]={distance:n},s.add(t,n)});s.size()>0&&(i=s.removeMin(),a=u[i],a.distance!==Number.POSITIVE_INFINITY);)r(i).forEach(c);return u}var a=n(6),o=n(35);t.exports=r;var u=a.constant(1)},function(t,e,n){function r(){this._arr=[],this._keyIndices={}}var i=n(6);t.exports=r,r.prototype.size=function(){return this._arr.length},r.prototype.keys=function(){return this._arr.map(function(t){return t.key})},r.prototype.has=function(t){return i.has(this._keyIndices,t)},r.prototype.priority=function(t){var e=this._keyIndices[t];if(void 0!==e)return this._arr[e].priority},r.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},r.prototype.add=function(t,e){var n=this._keyIndices;if(t=String(t),!i.has(n,t)){var r=this._arr,a=r.length;return n[t]=a,r.push({key:t,priority:e}),this._decrease(a),!0}return!1},r.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var t=this._arr.pop();return delete this._keyIndices[t.key],this._heapify(0),t.key},r.prototype.decrease=function(t,e){var n=this._keyIndices[t];if(e>this._arr[n].priority)throw new Error("New priority is greater than current priority. Key: "+t+" Old: "+this._arr[n].priority+" New: "+e);this._arr[n].priority=e,this._decrease(n)},r.prototype._heapify=function(t){var e=this._arr,n=2*t,r=n+1,i=t;n<e.length&&(i=e[n].priority<e[i].priority?n:i,r<e.length&&(i=e[r].priority<e[i].priority?r:i),i!==t&&(this._swap(t,i),this._heapify(i)))},r.prototype._decrease=function(t){for(var e,n=this._arr,r=n[t].priority;0!==t&&(e=t>>1,!(n[e].priority<r));)this._swap(t,e),t=e},r.prototype._swap=function(t,e){var n=this._arr,r=this._keyIndices,i=n[t],a=n[e];n[t]=a,n[e]=i,r[a.key]=t,r[i.key]=e}},function(t,e,n){function r(t){function e(u){var s=a[u]={onStack:!0,lowlink:n,index:n++};if(r.push(u),t.successors(u).forEach(function(t){i.has(a,t)?a[t].onStack&&(s.lowlink=Math.min(s.lowlink,a[t].index)):(e(t),s.lowlink=Math.min(s.lowlink,a[t].lowlink))}),s.lowlink===s.index){var c,l=[];do{c=r.pop(),a[c].onStack=!1,l.push(c)}while(u!==c);o.push(l)}}var n=0,r=[],a={},o=[];return t.nodes().forEach(function(t){i.has(a,t)||e(t)}),o}var i=n(6);t.exports=r},function(t,e,n){function r(t){function e(u){if(a.has(r,u))throw new i;a.has(n,u)||(r[u]=!0,n[u]=!0,a.each(t.predecessors(u),e),delete r[u],o.push(u))}var n={},r={},o=[];if(a.each(t.sinks(),e),a.size(n)!==t.nodeCount())throw new i;return o}function i(){}var a=n(6);t.exports=r,r.CycleException=i},function(t,e,n){function r(t,e,n){a.isArray(e)||(e=[e]);var r=[],o={};return a.each(e,function(e){if(!t.hasNode(e))throw new Error("Graph does not have node: "+e);i(t,e,"post"===n,o,r)}),r}function i(t,e,n,r,o){a.has(r,e)||(r[e]=!0,n||o.push(e),a.each(t.neighbors(e),function(e){i(t,e,n,r,o)}),n&&o.push(e))}var a=n(6);t.exports=r},function(t,e,n){"use strict";function r(t){var e=new s({directed:!1}),n=t.nodes()[0],r=t.nodeCount();e.setNode(n,{});for(var u,l;i(e,t)<r;)u=a(e,t),l=e.hasNode(u.v)?c(t,u):-c(t,u),o(e,t,l);return e}function i(t,e){function n(r){u.each(e.nodeEdges(r),function(i){var a=i.v,o=r===a?i.w:a;t.hasNode(o)||c(e,i)||(t.setNode(o,{}),t.setEdge(r,o,{}),n(o))})}return u.each(t.nodes(),n),t.nodeCount()}function a(t,e){return u.min(e.edges(),function(n){if(t.hasNode(n.v)!==t.hasNode(n.w))return c(e,n)})}function o(t,e,n){u.each(t.nodes(),function(t){e.node(t).rank+=n})}var u=n(1),s=n(8).Graph,c=n(17).slack;t.exports=r},function(t,e){function n(t,e){return t.intersect(e)}t.exports=n},function(t,e,n){function r(t,e,n){return i(t,e,e,n)}var i=n(20);t.exports=r},function(t,e,n){function r(t,e,n){var r=t.x,a=t.y,o=[],u=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;e.forEach(function(t){u=Math.min(u,t.x),s=Math.min(s,t.y)});for(var c=r-t.width/2-u,l=a-t.height/2-s,d=0;d<e.length;d++){var h=e[d],f=e[d<e.length-1?d+1:0],_=i(t,n,{x:c+h.x,y:l+h.y},{x:c+f.x,y:l+f.y});_&&o.push(_)}return o.length?(o.length>1&&o.sort(function(t,e){var r=t.x-n.x,i=t.y-n.y,a=Math.sqrt(r*r+i*i),o=e.x-n.x,u=e.y-n.y,s=Math.sqrt(o*o+u*u);return a<s?-1:a===s?0:1}),o[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",t),t)}var i=n(228);t.exports=r},function(t,e){function n(t,e){var n,r,i=t.x,a=t.y,o=e.x-i,u=e.y-a,s=t.width/2,c=t.height/2;return Math.abs(u)*s>Math.abs(o)*c?(u<0&&(c=-c),n=0===u?0:c*o/u,r=c):(o<0&&(s=-s),n=s,r=0===o?0:s*u/o),{x:i+n,y:a+r}}t.exports=n},function(t,e,n){(function(t,r){var i=function(){function t(){this.yy={}}var e=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},n=[1,2],r=[1,3],i=[1,4],a=[2,4],o=[1,9],u=[1,11],s=[1,12],c=[1,14],l=[1,15],d=[1,17],h=[1,18],f=[1,19],_=[1,20],p=[1,21],m=[1,23],y=[1,24],g=[1,4,5,10,15,16,18,20,21,22,23,24,25,27,28,39],v=[1,32],M=[4,5,10,15,16,18,20,21,22,23,25,28,39],b=[4,5,10,15,16,18,20,21,22,23,25,27,28,39],L=[37,38,39],k={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,participant:10,actor:11,AS:12,restOfLine:13,signal:14,activate:15,deactivate:16,note_statement:17,title:18,text2:19,loop:20,end:21,opt:22,alt:23,else:24,par:25,par_sections:26,and:27,note:28,placement:29,over:30,actor_pair:31,spaceList:32,",":33,left_of:34,right_of:35,signaltype:36,"+":37,"-":38,ACTOR:39,SOLID_OPEN_ARROW:40,DOTTED_OPEN_ARROW:41,SOLID_ARROW:42,DOTTED_ARROW:43,SOLID_CROSS:44,DOTTED_CROSS:45,TXT:46,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",10:"participant",12:"AS",13:"restOfLine",15:"activate",16:"deactivate",18:"title",20:"loop",21:"end",22:"opt",23:"alt",24:"else",25:"par",27:"and",28:"note",30:"over",33:",",34:"left_of",35:"right_of",37:"+",38:"-",39:"ACTOR",40:"SOLID_OPEN_ARROW",41:"DOTTED_OPEN_ARROW",42:"SOLID_ARROW",43:"DOTTED_ARROW",44:"SOLID_CROSS",45:"DOTTED_CROSS",46:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,5],[9,3],[9,2],[9,3],[9,3],[9,2],[9,3],[9,4],[9,4],[9,7],[9,4],[26,1],[26,4],[17,4],[17,4],[32,2],[32,1],[31,3],[31,1],[29,1],[29,1],[14,5],[14,5],[14,4],[11,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[19,1]],performAction:function(t,e,n,r,i,a,o){var u=a.length-1;switch(i){case 3:return r.apply(a[u]),a[u];case 4:this.$=[];break;case 5:a[u-1].push(a[u]),this.$=a[u-1];break;case 6:case 7:this.$=a[u];break;case 8:this.$=[];break;case 9:a[u-3].description=a[u-1],this.$=a[u-3];break;case 10:this.$=a[u-1];break;case 12:this.$={type:"activeStart",signalType:r.LINETYPE.ACTIVE_START,actor:a[u-1]};break;case 13:this.$={type:"activeEnd",signalType:r.LINETYPE.ACTIVE_END,actor:a[u-1]};break;case 15:this.$=[{type:"setTitle",text:a[u-1]}];break;case 16:a[u-1].unshift({type:"loopStart",loopText:a[u-2],signalType:r.LINETYPE.LOOP_START}),a[u-1].push({type:"loopEnd",loopText:a[u-2],signalType:r.LINETYPE.LOOP_END}),this.$=a[u-1];break;case 17:a[u-1].unshift({type:"optStart",optText:a[u-2],signalType:r.LINETYPE.OPT_START}),a[u-1].push({type:"optEnd",optText:a[u-2],signalType:r.LINETYPE.OPT_END}),this.$=a[u-1];break;case 18:a[u-4].unshift({type:"altStart",altText:a[u-5],signalType:r.LINETYPE.ALT_START}),a[u-4].push({type:"else",altText:a[u-2],signalType:r.LINETYPE.ALT_ELSE}),a[u-4]=a[u-4].concat(a[u-1]),a[u-4].push({type:"altEnd",signalType:r.LINETYPE.ALT_END}),this.$=a[u-4];break;case 19:a[u-1].unshift({type:"parStart",parText:a[u-2],signalType:r.LINETYPE.PAR_START}),a[u-1].push({type:"parEnd",signalType:r.LINETYPE.PAR_END}),this.$=a[u-1];break;case 21:this.$=a[u-3].concat([{type:"and",parText:a[u-1],signalType:r.LINETYPE.PAR_AND},a[u]]);break;case 22:this.$=[a[u-1],{type:"addNote",placement:a[u-2],actor:a[u-1].actor,text:a[u]}];break;case 23:a[u-2]=[].concat(a[u-1],a[u-1]).slice(0,2),a[u-2][0]=a[u-2][0].actor,a[u-2][1]=a[u-2][1].actor,this.$=[a[u-1],{type:"addNote",placement:r.PLACEMENT.OVER,actor:a[u-2].slice(0,2),text:a[u]}];break;case 26:this.$=[a[u-2],a[u]];break;case 27:this.$=a[u];break;case 28:this.$=r.PLACEMENT.LEFTOF;break;case 29:this.$=r.PLACEMENT.RIGHTOF;break;case 30:this.$=[a[u-4],a[u-1],{type:"addMessage",from:a[u-4].actor,to:a[u-1].actor,signalType:a[u-3],msg:a[u]},{type:"activeStart",signalType:r.LINETYPE.ACTIVE_START,actor:a[u-1]}];break;case 31:this.$=[a[u-4],a[u-1],{type:"addMessage",from:a[u-4].actor,to:a[u-1].actor,signalType:a[u-3],msg:a[u]},{type:"activeEnd",signalType:r.LINETYPE.ACTIVE_END,actor:a[u-4]}];break;case 32:this.$=[a[u-3],a[u-1],{type:"addMessage",from:a[u-3].actor,to:a[u-1].actor,signalType:a[u-2],msg:a[u]}];break;case 33:this.$={type:"addActor",actor:a[u]};break;case 34:this.$=r.LINETYPE.SOLID_OPEN;break;case 35:this.$=r.LINETYPE.DOTTED_OPEN;break;case 36:this.$=r.LINETYPE.SOLID;break;case 37:this.$=r.LINETYPE.DOTTED;break;case 38:this.$=r.LINETYPE.SOLID_CROSS;break;case 39:this.$=r.LINETYPE.DOTTED_CROSS;break;case 40:this.$=a[u].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:n,5:r,6:i},{1:[3]},{3:5,4:n,5:r,6:i},{3:6,4:n,5:r,6:i},e([1,4,5,10,15,16,18,20,22,23,25,28,39],a,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:o,5:u,8:8,9:10,10:s,11:22,14:13,15:c,16:l,17:16,18:d,20:h,22:f,23:_,25:p,28:m,39:y},e(g,[2,5]),{9:25,10:s,11:22,14:13,15:c,16:l,17:16,18:d,20:h,22:f,23:_,25:p,28:m,39:y},e(g,[2,7]),e(g,[2,8]),{11:26,39:y},{5:[1,27]},{11:28,39:y},{11:29,39:y},{5:[1,30]},{19:31,46:v},{13:[1,33]},{13:[1,34]},{13:[1,35]},{13:[1,36]},{36:37,40:[1,38],41:[1,39],42:[1,40],43:[1,41],44:[1,42],45:[1,43]},{29:44,30:[1,45],34:[1,46],35:[1,47]},e([5,12,33,40,41,42,43,44,45,46],[2,33]),e(g,[2,6]),{5:[1,49],12:[1,48]},e(g,[2,11]),{5:[1,50]},{5:[1,51]},e(g,[2,14]),{5:[1,52]},{5:[2,40]},e(M,a,{7:53}),e(M,a,{7:54}),e([4,5,10,15,16,18,20,22,23,24,25,28,39],a,{7:55}),e(b,a,{26:56,7:57}),{11:60,37:[1,58],38:[1,59],39:y},e(L,[2,34]),e(L,[2,35]),e(L,[2,36]),e(L,[2,37]),e(L,[2,38]),e(L,[2,39]),{11:61,39:y},{11:63,31:62,39:y},{39:[2,28]},{39:[2,29]},{13:[1,64]},e(g,[2,10]),e(g,[2,12]),e(g,[2,13]),e(g,[2,15]),{4:o,5:u,8:8,9:10,10:s,11:22,14:13,15:c,16:l,17:16,18:d,20:h,21:[1,65],22:f,23:_,25:p,28:m,39:y},{4:o,5:u,8:8,9:10,10:s,11:22,14:13,15:c,16:l,17:16,18:d,20:h,21:[1,66],22:f,23:_,25:p,28:m,39:y},{4:o,5:u,8:8,9:10,10:s,11:22,14:13,15:c,16:l,17:16,18:d,20:h,22:f,23:_,24:[1,67],25:p,28:m,39:y},{21:[1,68]},{4:o,5:u,8:8,9:10,10:s,11:22,14:13,15:c,16:l,17:16,18:d,20:h,21:[2,20],22:f,23:_,25:p,27:[1,69],28:m,39:y},{11:70,39:y},{11:71,39:y},{19:72,46:v},{19:73,46:v},{19:74,46:v},{33:[1,75],46:[2,27]},{5:[1,76]},e(g,[2,16]),e(g,[2,17]),{13:[1,77]},e(g,[2,19]),{13:[1,78]},{19:79,46:v},{19:80,46:v},{5:[2,32]},{5:[2,22]},{5:[2,23]},{11:81,39:y},e(g,[2,9]),e(M,a,{7:82}),e(b,a,{7:57,26:83}),{5:[2,30]},{5:[2,31]},{46:[2,26]},{4:o,5:u,8:8,9:10,10:s,11:22,14:13,15:c,16:l,17:16,18:d,20:h,21:[1,84],22:f,23:_,25:p,28:m,39:y},{21:[2,21]},e(g,[2,18])],defaultActions:{5:[2,1],6:[2,2],32:[2,40],46:[2,28],47:[2,29],72:[2,32],73:[2,22],74:[2,23],79:[2,30],80:[2,31],81:[2,26],83:[2,21]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=this,n=[0],r=[null],i=[],a=this.table,o="",u=0,s=0,c=0,l=i.slice.call(arguments,1),d=Object.create(this.lexer),h={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(h.yy[f]=this.yy[f]);d.setInput(t,h.yy),h.yy.lexer=d,h.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var _=d.yylloc;i.push(_);var p=d.options&&d.options.ranges;"function"==typeof h.yy.parseError?this.parseError=h.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var m,y,g,v,M,b,L,k,w,D={};;){if(g=n[n.length-1],this.defaultActions[g]?v=this.defaultActions[g]:(null!==m&&void 0!==m||(m=function(){var t;return t=d.lex()||1,"number"!=typeof t&&(t=e.symbols_[t]||t),t}()),v=a[g]&&a[g][m]),void 0===v||!v.length||!v[0]){var x="";w=[];for(b in a[g])this.terminals_[b]&&b>2&&w.push("'"+this.terminals_[b]+"'");x=d.showPosition?"Parse error on line "+(u+1)+":\n"+d.showPosition()+"\nExpecting "+w.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(u+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(x,{text:d.match,token:this.terminals_[m]||m,line:d.yylineno,loc:_,expected:w})}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+g+", token: "+m);switch(v[0]){case 1:n.push(m),r.push(d.yytext),i.push(d.yylloc),n.push(v[1]),m=null,y?(m=y,y=null):(s=d.yyleng,o=d.yytext,u=d.yylineno,_=d.yylloc,c>0&&c--);break;case 2:if(L=this.productions_[v[1]][1],D.$=r[r.length-L],D._$={first_line:i[i.length-(L||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(L||1)].first_column,last_column:i[i.length-1].last_column},p&&(D._$.range=[i[i.length-(L||1)].range[0],i[i.length-1].range[1]]),void 0!==(M=this.performAction.apply(D,[o,s,u,h.yy,v[1],r,i].concat(l))))return M;L&&(n=n.slice(0,-1*L*2),r=r.slice(0,-1*L),i=i.slice(0,-1*L)),n.push(this.productions_[v[1]][0]),r.push(D.$),i.push(D._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},w=function(){return{EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),r=t[0].match(/(?:\r\n?|\n).*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,n,r;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return t=this.conditionStack.length-1-Math.abs(t||0),t>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,r){switch(n){case 0:return 5;case 1:case 2:case 3:case 4:break;case 5:return this.begin("ID"),10;case 6:return this.begin("ALIAS"),39;case 7:return this.popState(),this.popState(),this.begin("LINE"),12;case 8:return this.popState(),this.popState(),5;case 9:return this.begin("LINE"),20;case 10:return this.begin("LINE"),22;case 11:return this.begin("LINE"),23;case 12:return this.begin("LINE"),24;case 13:return this.begin("LINE"),25;case 14:return this.begin("LINE"),27;case 15:return this.popState(),13;case 16:return 21;case 17:return 34;case 18:return 35;case 19:return 30;case 20:return 28;case 21:return this.begin("ID"),15;case 22:return this.begin("ID"),16;case 23:return 18;case 24:return 6;case 25:return 33;case 26:return 5;case 27:return e.yytext=e.yytext.trim(),39;case 28:return 42;case 29:return 43;case 30:return 40;case 31:return 41;case 32:return 44;case 33:return 45;case 34:return 46;case 35:return 37;case 36:return 38;case 37:return 5;case 38:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:[^\->:\n,;]+?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:and\b)/i,/^(?:[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\+\->:\n,;]+)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?::[^#\n;]+)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[2,3,15],inclusive:!1},ALIAS:{rules:[2,3,7,8],inclusive:!1},ID:{rules:[2,3,6],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,9,10,11,12,13,14,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],inclusive:!0}}}}();return k.lexer=w,t.prototype=k,k.Parser=t,new t}();e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(r){r[1]||(console.log("Usage: "+r[0]+" FILE"),t.exit(1));var i=n(12).readFileSync(n(13).normalize(r[1]),"utf8");return e.parser.parse(i)},void 0!==r&&n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(e,n(11),n(4)(t))},function(t,e,n){(function(t){var r={},i=[],a=[],o="",u=n(2),s=u.Log;e.addActor=function(t,e,n){var i=r[t];i&&e===i.name&&null==n||(null==n&&(n=e),r[t]={name:e,description:n})},e.addMessage=function(t,e,n,r){i.push({from:t,to:e,message:n,answer:r})},e.addSignal=function(t,e,n,r){s.debug("Adding message from="+t+" to="+e+" message="+n+" type="+r),i.push({from:t,to:e,message:n,type:r})},e.getMessages=function(){return i},e.getActors=function(){return r},e.getActor=function(t){return r[t]},e.getActorKeys=function(){return Object.keys(r)},e.getTitle=function(){return o},e.clear=function(){r={},i=[]},e.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21},e.ARROWTYPE={FILLED:0,OPEN:1},e.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},e.addNote=function(t,n,r){var o={actor:t,placement:n,message:r},u=[].concat(t,t);a.push(o),i.push({from:u[0],to:u[1],message:r,type:e.LINETYPE.NOTE,placement:n})},e.setTitle=function(t){o=t},e.parseError=function(e,n){t.mermaidAPI.parseError(e,n)},e.apply=function(t){if(t instanceof Array)t.forEach(function(t){e.apply(t)});else switch(t.type){case"addActor":e.addActor(t.actor,t.actor,t.description);break;case"activeStart":case"activeEnd":e.addSignal(t.actor,void 0,void 0,t.signalType);break;case"addNote":e.addNote(t.actor,t.placement,t.text);break;case"addMessage":e.addSignal(t.from,t.to,t.msg,t.signalType);break;case"loopStart":e.addSignal(void 0,void 0,t.loopText,t.signalType);break;case"loopEnd":e.addSignal(void 0,void 0,void 0,t.signalType);break;case"optStart":e.addSignal(void 0,void 0,t.optText,t.signalType);break;case"optEnd":e.addSignal(void 0,void 0,void 0,t.signalType);break;case"altStart":case"else":e.addSignal(void 0,void 0,t.altText,t.signalType);break;case"altEnd":e.addSignal(void 0,void 0,void 0,t.signalType);break;case"setTitle":e.setTitle(t.text);break;case"parStart":case"and":e.addSignal(void 0,void 0,t.parText,t.signalType);break;case"parEnd":e.addSignal(void 0,void 0,void 0,t.signalType)}}}).call(e,n(9))},function(t,e,n){(function(t){var r=n(2),i=r.Log,a="",o=!1;e.setMessage=function(t){i.debug("Setting message to: "+t),a=t},e.getMessage=function(){return a},e.setInfo=function(t){o=t},e.getInfo=function(){return o},e.parseError=function(e,n){t.mermaidAPI.parseError(e,n)}}).call(e,n(9))},function(t,e,n){(function(t,r){var i=function(){function t(){this.yy={}}var e=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},n=[6,9,10,12],r={trace:function(){},yy:{},symbols_:{error:2,start:3,info:4,document:5,EOF:6,line:7,statement:8,NL:9,showInfo:10,message:11,say:12,TXT:13,$accept:0,$end:1},terminals_:{2:"error",4:"info",6:"EOF",9:"NL",10:"showInfo",12:"say",13:"TXT"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,1],[8,1],[11,2]],performAction:function(t,e,n,r,i,a,o){var u=a.length-1;switch(i){case 1:return r;case 4:break;case 6:r.setInfo(!0);break;case 7:r.setMessage(a[u]);break;case 8:this.$=a[u-1].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},e(n,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:9,12:[1,10]},{1:[2,1]},e(n,[2,3]),e(n,[2,4]),e(n,[2,5]),e(n,[2,6]),e(n,[2,7]),{13:[1,11]},e(n,[2,8])],defaultActions:{4:[2,1]},parseError:function(t,e){if(!e.recoverable){var n=function(t,e){this.message=t,this.hash=e};throw n.prototype=Error,new n(t,e)}this.trace(t)},parse:function(t){var e=this,n=[0],r=[null],i=[],a=this.table,o="",u=0,s=0,c=0,l=i.slice.call(arguments,1),d=Object.create(this.lexer),h={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(h.yy[f]=this.yy[f]);d.setInput(t,h.yy),h.yy.lexer=d,h.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var _=d.yylloc;i.push(_);var p=d.options&&d.options.ranges;"function"==typeof h.yy.parseError?this.parseError=h.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var m,y,g,v,M,b,L,k,w,D={};;){if(g=n[n.length-1],this.defaultActions[g]?v=this.defaultActions[g]:(null!==m&&void 0!==m||(m=function(){var t;return t=d.lex()||1,"number"!=typeof t&&(t=e.symbols_[t]||t),t}()),v=a[g]&&a[g][m]),void 0===v||!v.length||!v[0]){var x="";w=[];for(b in a[g])this.terminals_[b]&&b>2&&w.push("'"+this.terminals_[b]+"'");x=d.showPosition?"Parse error on line "+(u+1)+":\n"+d.showPosition()+"\nExpecting "+w.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(u+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(x,{text:d.match,token:this.terminals_[m]||m,line:d.yylineno,loc:_,expected:w})}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+g+", token: "+m);switch(v[0]){case 1:n.push(m),r.push(d.yytext),i.push(d.yylloc),n.push(v[1]),m=null,y?(m=y,y=null):(s=d.yyleng,o=d.yytext,u=d.yylineno,_=d.yylloc,c>0&&c--);break;case 2:if(L=this.productions_[v[1]][1],D.$=r[r.length-L],D._$={first_line:i[i.length-(L||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(L||1)].first_column,last_column:i[i.length-1].last_column},p&&(D._$.range=[i[i.length-(L||1)].range[0],i[i.length-1].range[1]]),void 0!==(M=this.performAction.apply(D,[o,s,u,h.yy,v[1],r,i].concat(l))))return M;L&&(n=n.slice(0,-1*L*2),r=r.slice(0,-1*L),i=i.slice(0,-1*L)),n.push(this.productions_[v[1]][0]),r.push(D.$),i.push(D._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},i=function(){return{EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),r=t[0].match(/(?:\r\n?|\n).*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,n,r;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return t=this.conditionStack.length-1-Math.abs(t||0),t>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,r){switch(n){case 0:return 9;case 1:return 10;case 2:return 4;case 3:return 12;case 4:return 13;case 5:return 6;case 6:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:showInfo\b)/i,/^(?:info\b)/i,/^(?:say\b)/i,/^(?::[^#\n;]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6],inclusive:!0}}}}();return r.lexer=i,t.prototype=r,r.Parser=t,new t}();e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(r){r[1]||(console.log("Usage: "+r[0]+" FILE"),t.exit(1));var i=n(12).readFileSync(n(13).normalize(r[1]),"utf8");return e.parser.parse(i)},void 0!==r&&n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(e,n(11),n(4)(t))},function(t,e,n){(function(t,r){var i=function(){function t(){this.yy={}}var e=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},n=[6,8,10,11,12,13,14],r=[1,9],i=[1,10],a=[1,11],o=[1,12],u={trace:function(){},yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,dateFormat:11,title:12,section:13,taskTxt:14,taskData:15,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",11:"dateFormat",12:"title",13:"section",14:"taskTxt",15:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,1],[9,1],[9,2]],performAction:function(t,e,n,r,i,a,o){var u=a.length-1;switch(i){case 1:return a[u-1];case 2:this.$=[];break;case 3:a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:this.$=a[u];break;case 6:case 7:this.$=[];break;case 8:r.setDateFormat(a[u].substr(11)),this.$=a[u].substr(11);break;case 9:r.setTitle(a[u].substr(6)),this.$=a[u].substr(6);break;case 10:r.addSection(a[u].substr(8)),this.$=a[u].substr(8);break;case 11:r.addTask(a[u-1],a[u]),this.$="task"}},table:[{3:1,4:[1,2]},{1:[3]},e(n,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:r,12:i,13:a,14:o},e(n,[2,7],{1:[2,1]}),e(n,[2,3]),{9:13,11:r,12:i,13:a,14:o},e(n,[2,5]),e(n,[2,6]),e(n,[2,8]),e(n,[2,9]),e(n,[2,10]),{15:[1,14]},e(n,[2,4]),e(n,[2,11])],defaultActions:{},parseError:function(t,e){if(!e.recoverable){var n=function(t,e){this.message=t,this.hash=e};throw n.prototype=Error,new n(t,e)}this.trace(t)},parse:function(t){var e=this,n=[0],r=[null],i=[],a=this.table,o="",u=0,s=0,c=0,l=i.slice.call(arguments,1),d=Object.create(this.lexer),h={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(h.yy[f]=this.yy[f]);d.setInput(t,h.yy),h.yy.lexer=d,h.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var _=d.yylloc;i.push(_);var p=d.options&&d.options.ranges;"function"==typeof h.yy.parseError?this.parseError=h.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var m,y,g,v,M,b,L,k,w,D={};;){if(g=n[n.length-1],this.defaultActions[g]?v=this.defaultActions[g]:(null!==m&&void 0!==m||(m=function(){var t;return t=d.lex()||1,"number"!=typeof t&&(t=e.symbols_[t]||t),t}()),v=a[g]&&a[g][m]),void 0===v||!v.length||!v[0]){var x="";w=[];for(b in a[g])this.terminals_[b]&&b>2&&w.push("'"+this.terminals_[b]+"'");x=d.showPosition?"Parse error on line "+(u+1)+":\n"+d.showPosition()+"\nExpecting "+w.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(u+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(x,{text:d.match,token:this.terminals_[m]||m,line:d.yylineno,loc:_,expected:w})}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+g+", token: "+m);switch(v[0]){case 1:n.push(m),r.push(d.yytext),i.push(d.yylloc),n.push(v[1]),m=null,y?(m=y,y=null):(s=d.yyleng,o=d.yytext,u=d.yylineno,_=d.yylloc,c>0&&c--);break;case 2:if(L=this.productions_[v[1]][1],D.$=r[r.length-L],D._$={first_line:i[i.length-(L||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(L||1)].first_column,last_column:i[i.length-1].last_column},p&&(D._$.range=[i[i.length-(L||1)].range[0],i[i.length-1].range[1]]),void 0!==(M=this.performAction.apply(D,[o,s,u,h.yy,v[1],r,i].concat(l))))return M;L&&(n=n.slice(0,-1*L*2),r=r.slice(0,-1*L),i=i.slice(0,-1*L)),n.push(this.productions_[v[1]][0]),r.push(D.$),i.push(D._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},s=function(){return{EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),r=t[0].match(/(?:\r\n?|\n).*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,n,r;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return t=this.conditionStack.length-1-Math.abs(t||0),t>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,r){switch(n){case 0:return 10;case 1:case 2:case 3:break;case 4:return 4;case 5:return 11;case 6:return"date";case 7:return 12;case 8:return 13;case 9:return 14;case 10:return 15;case 11:return":";case 12:return 6;case 13:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13],inclusive:!0}}}}();return u.lexer=s,t.prototype=u,u.Parser=t,new t}();e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(r){r[1]||(console.log("Usage: "+r[0]+" FILE"),t.exit(1));var i=n(12).readFileSync(n(13).normalize(r[1]),"utf8");return e.parser.parse(i)},void 0!==r&&n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(e,n(11),n(4)(t))},function(t,e,n){(function(t){var r=n(0),i=n(2),a=i.Log,o="",u="",s=[],c=[],l="";e.clear=function(){s=[],c=[],l="",u="",p=0,d=void 0,h=void 0,v=[]},e.setDateFormat=function(t){o=t},e.getDateFormat=function(){return o},e.setTitle=function(t){u=t},e.getTitle=function(){return u},e.addSection=function(t){l=t,s.push(t)},e.getTasks=function(){for(var t=b(),e=0;!t&&e<10;)t=b(),e++;return c=v};var d,h,f=function(t,n,i){i=i.trim();var o=/^after\s+([\d\w-]+)/,u=o.exec(i.trim());if(null!==u){var s=e.findTaskById(u[1]);if(void 0===s){var c=new Date;return c.setHours(0,0,0,0),c}return s.endTime}return r(i,n.trim(),!0).isValid()?r(i,n.trim(),!0).toDate():(a.debug("Invalid date:"+i),a.debug("With date format:"+n.trim()),new Date)},_=function(t,e,n){if(n=n.trim(),r(n,e.trim(),!0).isValid())return r(n,e.trim()).toDate();var i=r(t),a=/^([\d]+)([wdhms])/,o=a.exec(n.trim());if(null!==o){switch(o[2]){case"s":i.add(o[1],"seconds");break;case"m":i.add(o[1],"minutes");break;case"h":i.add(o[1],"hours");break;case"d":i.add(o[1],"days");break;case"w":i.add(o[1],"weeks")}return i.toDate()}return i.toDate()},p=0,m=function(t){return void 0===t?"task"+(p+=1):t},y=function(t,n){var r;r=":"===n.substr(0,1)?n.substr(1,n.length):n;for(var i=r.split(","),a={},o=e.getDateFormat(),u=!0;u;)u=!1,i[0].match(/^\s*active\s*$/)&&(a.active=!0,i.shift(1),u=!0),i[0].match(/^\s*done\s*$/)&&(a.done=!0,i.shift(1),u=!0),i[0].match(/^\s*crit\s*$/)&&(a.crit=!0,i.shift(1),u=!0);var s;for(s=0;s<i.length;s++)i[s]=i[s].trim();switch(i.length){case 1:a.id=m(),a.startTime=t.endTime,a.endTime=_(a.startTime,o,i[0]);break;case 2:a.id=m(),a.startTime=f(0,o,i[0]),a.endTime=_(a.startTime,o,i[1]);break;case 3:a.id=m(i[0]),a.startTime=f(0,o,i[1]),a.endTime=_(a.startTime,o,i[2])}return a},g=function(t,e){var n;n=":"===e.substr(0,1)?e.substr(1,e.length):e;for(var r=n.split(","),i={},a=!0;a;)a=!1,r[0].match(/^\s*active\s*$/)&&(i.active=!0,r.shift(1),a=!0),r[0].match(/^\s*done\s*$/)&&(i.done=!0,r.shift(1),a=!0),r[0].match(/^\s*crit\s*$/)&&(i.crit=!0,r.shift(1),a=!0);var o;for(o=0;o<r.length;o++)r[o]=r[o].trim();switch(r.length){case 1:i.id=m(),i.startTime={type:"prevTaskEnd",id:t},i.endTime={data:r[0]};break;case 2:i.id=m(),i.startTime={type:"getStartDate",startData:r[0]},i.endTime={data:r[1]};break;case 3:i.id=m(r[0]),i.startTime={type:"getStartDate",startData:r[1]},i.endTime={data:r[2]}}return i},v=[],M={};e.addTask=function(t,e){var n={section:l,type:l,processed:!1,raw:{data:e},task:t},r=g(h,e);n.raw.startTime=r.startTime,n.raw.endTime=r.endTime,n.id=r.id,n.prevTaskId=h,n.active=r.active,n.done=r.done,n.crit=r.crit;var i=v.push(n);h=n.id,M[n.id]=i-1},e.findTaskById=function(t){var e=M[t];return v[e]},e.addTaskOrg=function(t,e){var n={section:l,type:l,description:t,task:t},r=y(d,e);n.startTime=r.startTime,n.endTime=r.endTime,n.id=r.id,n.active=r.active,n.done=r.done,n.crit=r.crit,d=n,c.push(n)};var b=function(){var t,n=e.getDateFormat(),r=!0;for(t=0;t<v.length;t++)!function(t){var r=v[t],i="";switch(v[t].raw.startTime.type){case"prevTaskEnd":var a=e.findTaskById(r.prevTaskId);r.startTime=a.endTime;break;case"getStartDate":i=f(0,n,v[t].raw.startTime.startData),i&&(v[t].startTime=i)}v[t].startTime&&(v[t].endTime=_(v[t].startTime,n,v[t].raw.endTime.data),v[t].endTime&&(v[t].processed=!0)),v[t].processed}(t),r=r&&v[t].processed;return r};e.parseError=function(e,n){t.mermaidAPI.parseError(e,n)}}).call(e,n(9))},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("af",{months:"Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des".split("_"),weekdays:"Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag".split("_"),weekdaysShort:"Son_Maa_Din_Woe_Don_Vry_Sat".split("_"),weekdaysMin:"So_Ma_Di_Wo_Do_Vr_Sa".split("_"),meridiemParse:/vm|nm/i,isPM:function(t){return/^nm$/i.test(t)},meridiem:function(t,e,n){return t<12?n?"vm":"VM":n?"nm":"NM"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Vandag om] LT",nextDay:"[Môre om] LT",nextWeek:"dddd [om] LT",lastDay:"[Gister om] LT",lastWeek:"[Laas] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oor %s",past:"%s gelede",s:"'n paar sekondes",m:"'n minuut",mm:"%d minute",h:"'n uur",hh:"%d ure",d:"'n dag",dd:"%d dae",M:"'n maand",MM:"%d maande",y:"'n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(t){return t+(1===t||8===t||t>=20?"ste":"de")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},n={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"},r=function(t){return 0===t?0:1===t?1:2===t?2:t%100>=3&&t%100<=10?3:t%100>=11?4:5},i={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:["أقل من عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},a=function(t){return function(e,n,a,o){var u=r(e),s=i[t][r(e)];return 2===u&&(s=s[n?0:1]),s.replace(/%d/i,e)}},o=["كانون الثاني يناير","شباط فبراير","آذار مارس","نيسان أبريل","أيار مايو","حزيران يونيو","تموز يوليو","آب أغسطس","أيلول سبتمبر","تشرين الأول أكتوبر","تشرين الثاني نوفمبر","كانون الأول ديسمبر"];return t.defineLocale("ar",{months:o,monthsShort:o,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/‏M/‏YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(t){return"م"===t},meridiem:function(t,e,n){return t<12?"ص":"م"},calendar:{sameDay:"[اليوم عند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",lastDay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relativeTime:{future:"بعد %s",past:"منذ %s",s:a("s"),m:a("m"),mm:a("m"),h:a("h"),hh:a("h"),d:a("d"),dd:a("d"),M:a("M"),MM:a("M"),y:a("y"),yy:a("y")},preparse:function(t){return t.replace(/\u200f/g,"").replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(t){return n[t]}).replace(/،/g,",")},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]}).replace(/,/g,"،")},week:{dow:6,doy:12}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("ar-dz",{months:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"أح_إث_ثلا_أر_خم_جم_سب".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:0,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("ar-kw",{months:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekdays:"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:0,doy:12}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",0:"0"},n=function(t){return 0===t?0:1===t?1:2===t?2:t%100>=3&&t%100<=10?3:t%100>=11?4:5},r={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:["أقل من عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},i=function(t){return function(e,i,a,o){var u=n(e),s=r[t][n(e)];return 2===u&&(s=s[i?0:1]),s.replace(/%d/i,e)}},a=["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"];return t.defineLocale("ar-ly",{months:a,monthsShort:a,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/‏M/‏YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(t){return"م"===t},meridiem:function(t,e,n){return t<12?"ص":"م"},calendar:{sameDay:"[اليوم عند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",lastDay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relativeTime:{future:"بعد %s",past:"منذ %s",s:i("s"),m:i("m"),mm:i("m"),h:i("h"),hh:i("h"),d:i("d"),dd:i("d"),M:i("M"),MM:i("M"),y:i("y"),yy:i("y")},preparse:function(t){return t.replace(/\u200f/g,"").replace(/،/g,",")},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]}).replace(/,/g,"،")},week:{dow:6,doy:12}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("ar-ma",{months:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekdays:"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:6,doy:12}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},n={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"};return t.defineLocale("ar-sa",{months:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(t){return"م"===t},meridiem:function(t,e,n){return t<12?"ص":"م"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},preparse:function(t){return t.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(t){return n[t]}).replace(/،/g,",")},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]}).replace(/,/g,"،")},week:{dow:0,doy:6}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("ar-tn",{months:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"-inci",5:"-inci",8:"-inci",70:"-inci",80:"-inci",2:"-nci",7:"-nci",20:"-nci",50:"-nci",3:"-üncü",4:"-üncü",100:"-üncü",6:"-ncı",9:"-uncu",10:"-uncu",30:"-uncu",60:"-ıncı",90:"-ıncı"};return t.defineLocale("az",{months:"yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr".split("_"),monthsShort:"yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek".split("_"),weekdays:"Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə".split("_"),weekdaysShort:"Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən".split("_"),weekdaysMin:"Bz_BE_ÇA_Çə_CA_Cü_Şə".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[sabah saat] LT",nextWeek:"[gələn həftə] dddd [saat] LT",lastDay:"[dünən] LT",lastWeek:"[keçən həftə] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s əvvəl",s:"birneçə saniyyə",m:"bir dəqiqə",mm:"%d dəqiqə",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir il",yy:"%d il"},meridiemParse:/gecə|səhər|gündüz|axşam/,isPM:function(t){return/^(gündüz|axşam)$/.test(t)},meridiem:function(t,e,n){return t<4?"gecə":t<12?"səhər":t<17?"gündüz":"axşam"},dayOfMonthOrdinalParse:/\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,ordinal:function(t){if(0===t)return t+"-ıncı";var n=t%10,r=t%100-n,i=t>=100?100:null;return t+(e[n]||e[r]||e[i])},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e){var n=t.split("_");return e%10==1&&e%100!=11?n[0]:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?n[1]:n[2]}function n(t,n,r){var i={mm:n?"хвіліна_хвіліны_хвілін":"хвіліну_хвіліны_хвілін",hh:n?"гадзіна_гадзіны_гадзін":"гадзіну_гадзіны_гадзін",dd:"дзень_дні_дзён",MM:"месяц_месяцы_месяцаў",yy:"год_гады_гадоў"};return"m"===r?n?"хвіліна":"хвіліну":"h"===r?n?"гадзіна":"гадзіну":t+" "+e(i[r],+t)}return t.defineLocale("be",{months:{format:"студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня".split("_"),standalone:"студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань".split("_")},monthsShort:"студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж".split("_"),weekdays:{format:"нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу".split("_"),standalone:"нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота".split("_"),isFormat:/\[ ?[Вв] ?(?:мінулую|наступную)? ?\] ?dddd/},weekdaysShort:"нд_пн_ат_ср_чц_пт_сб".split("_"),weekdaysMin:"нд_пн_ат_ср_чц_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., HH:mm",LLLL:"dddd, D MMMM YYYY г., HH:mm"},calendar:{sameDay:"[Сёння ў] LT",nextDay:"[Заўтра ў] LT",lastDay:"[Учора ў] LT",nextWeek:function(){return"[У] dddd [ў] LT"},lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return"[У мінулую] dddd [ў] LT";case 1:case 2:case 4:return"[У мінулы] dddd [ў] LT"}},sameElse:"L"},relativeTime:{future:"праз %s",past:"%s таму",s:"некалькі секунд",m:n,mm:n,h:n,hh:n,d:"дзень",dd:n,M:"месяц",MM:n,y:"год",yy:n},meridiemParse:/ночы|раніцы|дня|вечара/,isPM:function(t){return/^(дня|вечара)$/.test(t)},meridiem:function(t,e,n){return t<4?"ночы":t<12?"раніцы":t<17?"дня":"вечара"},dayOfMonthOrdinalParse:/\d{1,2}-(і|ы|га)/,ordinal:function(t,e){switch(e){case"M":case"d":case"DDD":case"w":case"W":return t%10!=2&&t%10!=3||t%100==12||t%100==13?t+"-ы":t+"-і";case"D":return t+"-га";default:return t}},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("bg",{months:"януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември".split("_"),monthsShort:"янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек".split("_"),weekdays:"неделя_понеделник_вторник_сряда_четвъртък_петък_събота".split("_"),weekdaysShort:"нед_пон_вто_сря_чет_пет_съб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[Днес в] LT",nextDay:"[Утре в] LT",nextWeek:"dddd [в] LT",lastDay:"[Вчера в] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[В изминалата] dddd [в] LT";case 1:case 2:case 4:case 5:return"[В изминалия] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"след %s",past:"преди %s",s:"няколко секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дни",M:"месец",MM:"%d месеца",y:"година",yy:"%d години"},dayOfMonthOrdinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(t){var e=t%10,n=t%100;return 0===t?t+"-ев":0===n?t+"-ен":n>10&&n<20?t+"-ти":1===e?t+"-ви":2===e?t+"-ри":7===e||8===e?t+"-ми":t+"-ти"},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"১",2:"২",3:"৩",4:"৪",5:"৫",6:"৬",7:"৭",8:"৮",9:"৯",0:"০"},n={"১":"1","২":"2","৩":"3","৪":"4","৫":"5","৬":"6","৭":"7","৮":"8","৯":"9","০":"0"};return t.defineLocale("bn",{months:"জানুয়ারী_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর".split("_"),monthsShort:"জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে".split("_"),weekdays:"রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার".split("_"),weekdaysShort:"রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি".split("_"),weekdaysMin:"রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি".split("_"),longDateFormat:{LT:"A h:mm সময়",LTS:"A h:mm:ss সময়",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm সময়",LLLL:"dddd, D MMMM YYYY, A h:mm সময়"},calendar:{sameDay:"[আজ] LT",nextDay:"[আগামীকাল] LT",nextWeek:"dddd, LT",lastDay:"[গতকাল] LT",lastWeek:"[গত] dddd, LT",sameElse:"L"},relativeTime:{future:"%s পরে",past:"%s আগে",s:"কয়েক সেকেন্ড",m:"এক মিনিট",mm:"%d মিনিট",h:"এক ঘন্টা",hh:"%d ঘন্টা",d:"এক দিন",dd:"%d দিন",M:"এক মাস",MM:"%d মাস",y:"এক বছর",yy:"%d বছর"},preparse:function(t){return t.replace(/[১২৩৪৫৬৭৮৯০]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/রাত|সকাল|দুপুর|বিকাল|রাত/,meridiemHour:function(t,e){return 12===t&&(t=0),"রাত"===e&&t>=4||"দুপুর"===e&&t<5||"বিকাল"===e?t+12:t},meridiem:function(t,e,n){return t<4?"রাত":t<10?"সকাল":t<17?"দুপুর":t<20?"বিকাল":"রাত"},week:{dow:0,doy:6}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"༡",2:"༢",3:"༣",4:"༤",5:"༥",6:"༦",7:"༧",8:"༨",9:"༩",0:"༠"},n={"༡":"1","༢":"2","༣":"3","༤":"4","༥":"5","༦":"6","༧":"7","༨":"8","༩":"9","༠":"0"};return t.defineLocale("bo",{months:"ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ".split("_"),monthsShort:"ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ".split("_"),weekdays:"གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་".split("_"),weekdaysShort:"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་".split("_"),weekdaysMin:"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[དི་རིང] LT",nextDay:"[སང་ཉིན] LT",nextWeek:"[བདུན་ཕྲག་རྗེས་མ], LT",lastDay:"[ཁ་སང] LT",lastWeek:"[བདུན་ཕྲག་མཐའ་མ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ལ་",past:"%s སྔན་ལ",s:"ལམ་སང",m:"སྐར་མ་གཅིག",mm:"%d སྐར་མ",h:"ཆུ་ཚོད་གཅིག",hh:"%d ཆུ་ཚོད",d:"ཉིན་གཅིག",dd:"%d ཉིན་",M:"ཟླ་བ་གཅིག",MM:"%d ཟླ་བ",y:"ལོ་གཅིག",yy:"%d ལོ"},preparse:function(t){return t.replace(/[༡༢༣༤༥༦༧༨༩༠]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,meridiemHour:function(t,e){return 12===t&&(t=0),"མཚན་མོ"===e&&t>=4||"ཉིན་གུང"===e&&t<5||"དགོང་དག"===e?t+12:t},meridiem:function(t,e,n){return t<4?"མཚན་མོ":t<10?"ཞོགས་ཀས":t<17?"ཉིན་གུང":t<20?"དགོང་དག":"མཚན་མོ"},week:{dow:0,doy:6}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n){return t+" "+i({mm:"munutenn",MM:"miz",dd:"devezh"}[n],t)}function n(t){switch(r(t)){case 1:case 3:case 4:case 5:case 9:return t+" bloaz";default:return t+" vloaz"}}function r(t){return t>9?r(t%10):t}function i(t,e){return 2===e?a(t):t}function a(t){var e={m:"v",b:"v",d:"z"};return void 0===e[t.charAt(0)]?t:e[t.charAt(0)]+t.substring(1)}return t.defineLocale("br",{months:"Genver_C'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"),monthsShort:"Gen_C'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"),weekdays:"Sul_Lun_Meurzh_Merc'her_Yaou_Gwener_Sadorn".split("_"),weekdaysShort:"Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),weekdaysMin:"Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h[e]mm A",LTS:"h[e]mm:ss A",L:"DD/MM/YYYY",LL:"D [a viz] MMMM YYYY",LLL:"D [a viz] MMMM YYYY h[e]mm A",LLLL:"dddd, D [a viz] MMMM YYYY h[e]mm A"},calendar:{sameDay:"[Hiziv da] LT",nextDay:"[Warc'hoazh da] LT",nextWeek:"dddd [da] LT",lastDay:"[Dec'h da] LT",lastWeek:"dddd [paset da] LT",sameElse:"L"},relativeTime:{future:"a-benn %s",past:"%s 'zo",s:"un nebeud segondennoù",m:"ur vunutenn",mm:e,h:"un eur",hh:"%d eur",d:"un devezh",dd:e,M:"ur miz",MM:e,y:"ur bloaz",yy:n},dayOfMonthOrdinalParse:/\d{1,2}(añ|vet)/,ordinal:function(t){return t+(1===t?"añ":"vet")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n){var r=t+" ";switch(n){case"m":return e?"jedna minuta":"jedne minute";case"mm":return r+=1===t?"minuta":2===t||3===t||4===t?"minute":"minuta";case"h":return e?"jedan sat":"jednog sata";case"hh":return r+=1===t?"sat":2===t||3===t||4===t?"sata":"sati";case"dd":return r+=1===t?"dan":"dana";case"MM":return r+=1===t?"mjesec":2===t||3===t||4===t?"mjeseca":"mjeseci";case"yy":return r+=1===t?"godina":2===t||3===t||4===t?"godine":"godina"}}return t.defineLocale("bs",{months:"januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[prošlu] dddd [u] LT";case 6:return"[prošle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[prošli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",m:e,mm:e,h:e,hh:e,d:"dan",dd:e,M:"mjesec",MM:e,y:"godinu",yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("ca",{months:{standalone:"gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"),format:"de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre".split("_"),isFormat:/D[oD]?(\s)+MMMM/},monthsShort:"gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.".split("_"),monthsParseExact:!0,weekdays:"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dt._dc._dj._dv._ds.".split("_"),weekdaysMin:"Dg_Dl_Dt_Dc_Dj_Dv_Ds".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"[el] D MMMM [de] YYYY",ll:"D MMM YYYY",LLL:"[el] D MMMM [de] YYYY [a les] H:mm",lll:"D MMM YYYY, H:mm",LLLL:"[el] dddd D MMMM [de] YYYY [a les] H:mm",llll:"ddd D MMM YYYY, H:mm"},calendar:{sameDay:function(){return"[avui a "+(1!==this.hours()?"les":"la")+"] LT"},nextDay:function(){return"[demà a "+(1!==this.hours()?"les":"la")+"] LT"},nextWeek:function(){return"dddd [a "+(1!==this.hours()?"les":"la")+"] LT"},lastDay:function(){return"[ahir a "+(1!==this.hours()?"les":"la")+"] LT"},lastWeek:function(){return"[el] dddd [passat a "+(1!==this.hours()?"les":"la")+"] LT"},sameElse:"L"},relativeTime:{future:"d'aquí %s",past:"fa %s",s:"uns segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%d hores",d:"un dia",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},dayOfMonthOrdinalParse:/\d{1,2}(r|n|t|è|a)/,ordinal:function(t,e){var n=1===t?"r":2===t?"n":3===t?"r":4===t?"t":"è";return"w"!==e&&"W"!==e||(n="a"),t+n},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t){return t>1&&t<5&&1!=~~(t/10)}function n(t,n,r,i){var a=t+" ";switch(r){case"s":return n||i?"pár sekund":"pár sekundami";case"m":return n?"minuta":i?"minutu":"minutou";case"mm":return n||i?a+(e(t)?"minuty":"minut"):a+"minutami";case"h":return n?"hodina":i?"hodinu":"hodinou";case"hh":return n||i?a+(e(t)?"hodiny":"hodin"):a+"hodinami";case"d":return n||i?"den":"dnem";case"dd":return n||i?a+(e(t)?"dny":"dní"):a+"dny";case"M":return n||i?"měsíc":"měsícem";case"MM":return n||i?a+(e(t)?"měsíce":"měsíců"):a+"měsíci";case"y":return n||i?"rok":"rokem";case"yy":return n||i?a+(e(t)?"roky":"let"):a+"lety"}}var r="leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec".split("_"),i="led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro".split("_");return t.defineLocale("cs",{months:r,monthsShort:i,monthsParse:function(t,e){var n,r=[];for(n=0;n<12;n++)r[n]=new RegExp("^"+t[n]+"$|^"+e[n]+"$","i");return r}(r,i),shortMonthsParse:function(t){var e,n=[];for(e=0;e<12;e++)n[e]=new RegExp("^"+t[e]+"$","i");return n}(i),longMonthsParse:function(t){var e,n=[];for(e=0;e<12;e++)n[e]=new RegExp("^"+t[e]+"$","i");return n}(r),weekdays:"neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota".split("_"),weekdaysShort:"ne_po_út_st_čt_pá_so".split("_"),weekdaysMin:"ne_po_út_st_čt_pá_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm",l:"D. M. YYYY"},calendar:{sameDay:"[dnes v] LT",nextDay:"[zítra v] LT",nextWeek:function(){switch(this.day()){case 0:return"[v neděli v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve středu v] LT";case 4:return"[ve čtvrtek v] LT";case 5:return"[v pátek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[včera v] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulou neděli v] LT";case 1:case 2:return"[minulé] dddd [v] LT";case 3:return"[minulou středu v] LT";case 4:case 5:return"[minulý] dddd [v] LT";case 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"před %s",s:n,m:n,mm:n,h:n,hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("cv",{months:"кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав".split("_"),monthsShort:"кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш".split("_"),weekdays:"вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун".split("_"),weekdaysShort:"выр_тун_ытл_юн_кӗҫ_эрн_шӑм".split("_"),weekdaysMin:"вр_тн_ыт_юн_кҫ_эр_шм".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]",LLL:"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm",LLLL:"dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm"},calendar:{sameDay:"[Паян] LT [сехетре]",nextDay:"[Ыран] LT [сехетре]",lastDay:"[Ӗнер] LT [сехетре]",nextWeek:"[Ҫитес] dddd LT [сехетре]",lastWeek:"[Иртнӗ] dddd LT [сехетре]",sameElse:"L"},relativeTime:{future:function(t){return t+(/сехет$/i.exec(t)?"рен":/ҫул$/i.exec(t)?"тан":"ран")},past:"%s каялла",s:"пӗр-ик ҫеккунт",m:"пӗр минут",mm:"%d минут",h:"пӗр сехет",hh:"%d сехет",d:"пӗр кун",dd:"%d кун",M:"пӗр уйӑх",MM:"%d уйӑх",y:"пӗр ҫул",yy:"%d ҫул"},dayOfMonthOrdinalParse:/\d{1,2}-мӗш/,ordinal:"%d-мӗш",week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("cy",{months:"Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr".split("_"),monthsShort:"Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag".split("_"),weekdays:"Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn".split("_"),weekdaysShort:"Sul_Llun_Maw_Mer_Iau_Gwe_Sad".split("_"),weekdaysMin:"Su_Ll_Ma_Me_Ia_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Heddiw am] LT",nextDay:"[Yfory am] LT",nextWeek:"dddd [am] LT",lastDay:"[Ddoe am] LT",lastWeek:"dddd [diwethaf am] LT",sameElse:"L"},relativeTime:{future:"mewn %s",past:"%s yn ôl",s:"ychydig eiliadau",m:"munud",mm:"%d munud",h:"awr",hh:"%d awr",d:"diwrnod",dd:"%d diwrnod",M:"mis",MM:"%d mis",y:"blwyddyn",yy:"%d flynedd"},dayOfMonthOrdinalParse:/\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,ordinal:function(t){var e=t,n="",r=["","af","il","ydd","ydd","ed","ed","ed","fed","fed","fed","eg","fed","eg","eg","fed","eg","eg","fed","eg","fed"];return e>20?n=40===e||50===e||60===e||80===e||100===e?"fed":"ain":e>0&&(n=r[e]),t+n},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("da",{months:"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"søn_man_tir_ons_tor_fre_lør".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd [d.] D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"på dddd [kl.] LT",lastDay:"[i går kl.] LT",lastWeek:"[i] dddd[s kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"få sekunder",m:"et minut",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dage",M:"en måned",MM:"%d måneder",y:"et år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n,r){var i={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[t+" Tage",t+" Tagen"],M:["ein Monat","einem Monat"],MM:[t+" Monate",t+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[t+" Jahre",t+" Jahren"]};return e?i[n][0]:i[n][1]}return t.defineLocale("de",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",m:e,mm:"%d Minuten",h:e,hh:"%d Stunden",d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n,r){var i={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[t+" Tage",t+" Tagen"],M:["ein Monat","einem Monat"],MM:[t+" Monate",t+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[t+" Jahre",t+" Jahren"]};return e?i[n][0]:i[n][1]}return t.defineLocale("de-at",{months:"Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jän._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",m:e,mm:"%d Minuten",h:e,hh:"%d Stunden",d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n,r){var i={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[t+" Tage",t+" Tagen"],M:["ein Monat","einem Monat"],MM:[t+" Monate",t+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[t+" Jahre",t+" Jahren"]};return e?i[n][0]:i[n][1]}return t.defineLocale("de-ch",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._März_April_Mai_Juni_Juli_Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH.mm",LLLL:"dddd, D. MMMM YYYY HH.mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",m:e,mm:"%d Minuten",h:e,hh:"%d Stunden",d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e=["ޖެނުއަރީ","ފެބްރުއަރީ","މާރިޗު","އޭޕްރީލު","މޭ","ޖޫން","ޖުލައި","އޯގަސްޓު","ސެޕްޓެމްބަރު","އޮކްޓޯބަރު","ނޮވެމްބަރު","ޑިސެމްބަރު"],n=["އާދިއްތަ","ހޯމަ","އަންގާރަ","ބުދަ","ބުރާސްފަތި","ހުކުރު","ހޮނިހިރު"];return t.defineLocale("dv",{months:e,monthsShort:e,weekdays:n,weekdaysShort:n,weekdaysMin:"އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/M/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/މކ|މފ/,isPM:function(t){return"މފ"===t},meridiem:function(t,e,n){return t<12?"މކ":"މފ"},calendar:{sameDay:"[މިއަދު] LT",nextDay:"[މާދަމާ] LT",nextWeek:"dddd LT",lastDay:"[އިއްޔެ] LT",lastWeek:"[ފާއިތުވި] dddd LT",sameElse:"L"},relativeTime:{future:"ތެރޭގައި %s",past:"ކުރިން %s",s:"ސިކުންތުކޮޅެއް",m:"މިނިޓެއް",mm:"މިނިޓު %d",h:"ގަޑިއިރެއް",hh:"ގަޑިއިރު %d",d:"ދުވަހެއް",dd:"ދުވަސް %d",M:"މަހެއް",MM:"މަސް %d",y:"އަހަރެއް",yy:"އަހަރު %d"},preparse:function(t){return t.replace(/،/g,",")},postformat:function(t){return t.replace(/,/g,"،")},week:{dow:7,doy:12}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t){return t instanceof Function||"[object Function]"===Object.prototype.toString.call(t)}return t.defineLocale("el",{monthsNominativeEl:"Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος".split("_"),monthsGenitiveEl:"Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου".split("_"),months:function(t,e){return t?/D/.test(e.substring(0,e.indexOf("MMMM")))?this._monthsGenitiveEl[t.month()]:this._monthsNominativeEl[t.month()]:this._monthsNominativeEl},monthsShort:"Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ".split("_"),weekdays:"Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο".split("_"),weekdaysShort:"Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ".split("_"),weekdaysMin:"Κυ_Δε_Τρ_Τε_Πε_Πα_Σα".split("_"),meridiem:function(t,e,n){return t>11?n?"μμ":"ΜΜ":n?"πμ":"ΠΜ"},isPM:function(t){return"μ"===(t+"").toLowerCase()[0]},meridiemParse:/[ΠΜ]\.?Μ?\.?/i,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendarEl:{sameDay:"[Σήμερα {}] LT",nextDay:"[Αύριο {}] LT",nextWeek:"dddd [{}] LT",lastDay:"[Χθες {}] LT",lastWeek:function(){switch(this.day()){case 6:return"[το προηγούμενο] dddd [{}] LT";default:return"[την προηγούμενη] dddd [{}] LT"}},sameElse:"L"},calendar:function(t,n){var r=this._calendarEl[t],i=n&&n.hours();return e(r)&&(r=r.apply(n)),r.replace("{}",i%12==1?"στη":"στις")},relativeTime:{future:"σε %s",past:"%s πριν",s:"λίγα δευτερόλεπτα",m:"ένα λεπτό",mm:"%d λεπτά",h:"μία ώρα",hh:"%d ώρες",d:"μία μέρα",dd:"%d μέρες",M:"ένας μήνας",MM:"%d μήνες",y:"ένας χρόνος",yy:"%d χρόνια"},dayOfMonthOrdinalParse:/\d{1,2}η/,ordinal:"%dη",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("en-au",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("en-ca",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"YYYY-MM-DD",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("en-gb",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("en-ie",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("en-nz",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("eo",{months:"januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec".split("_"),weekdays:"dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato".split("_"),weekdaysShort:"dim_lun_mard_merk_ĵaŭ_ven_sab".split("_"),weekdaysMin:"di_lu_ma_me_ĵa_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D[-a de] MMMM, YYYY",LLL:"D[-a de] MMMM, YYYY HH:mm",LLLL:"dddd, [la] D[-a de] MMMM, YYYY HH:mm"},meridiemParse:/[ap]\.t\.m/i,isPM:function(t){return"p"===t.charAt(0).toLowerCase()},meridiem:function(t,e,n){return t>11?n?"p.t.m.":"P.T.M.":n?"a.t.m.":"A.T.M."},calendar:{sameDay:"[Hodiaŭ je] LT",nextDay:"[Morgaŭ je] LT",nextWeek:"dddd [je] LT",lastDay:"[Hieraŭ je] LT",lastWeek:"[pasinta] dddd [je] LT",sameElse:"L"},relativeTime:{future:"post %s",past:"antaŭ %s",s:"sekundoj",m:"minuto",mm:"%d minutoj",h:"horo",hh:"%d horoj",d:"tago",dd:"%d tagoj",M:"monato",MM:"%d monatoj",y:"jaro",yy:"%d jaroj"},dayOfMonthOrdinalParse:/\d{1,2}a/,ordinal:"%da",week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),n="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_");return t.defineLocale("es",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(t,r){return t?/-MMM-/.test(r)?n[t.month()]:e[t.month()]:e},monthsParseExact:!0,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),n="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_");return t.defineLocale("es-do",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(t,r){return t?/-MMM-/.test(r)?n[t.month()]:e[t.month()]:e},monthsParseExact:!0,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n,r){var i={s:["mõne sekundi","mõni sekund","paar sekundit"],m:["ühe minuti","üks minut"],mm:[t+" minuti",t+" minutit"],h:["ühe tunni","tund aega","üks tund"],hh:[t+" tunni",t+" tundi"],d:["ühe päeva","üks päev"],M:["kuu aja","kuu aega","üks kuu"],MM:[t+" kuu",t+" kuud"],y:["ühe aasta","aasta","üks aasta"],yy:[t+" aasta",t+" aastat"]};return e?i[n][2]?i[n][2]:i[n][1]:r?i[n][0]:i[n][1]}return t.defineLocale("et",{months:"jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember".split("_"),monthsShort:"jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets".split("_"),weekdays:"pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev".split("_"),weekdaysShort:"P_E_T_K_N_R_L".split("_"),weekdaysMin:"P_E_T_K_N_R_L".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[Täna,] LT",nextDay:"[Homme,] LT",nextWeek:"[Järgmine] dddd LT",lastDay:"[Eile,] LT",lastWeek:"[Eelmine] dddd LT",sameElse:"L"},relativeTime:{future:"%s pärast",past:"%s tagasi",s:e,m:e,mm:e,h:e,hh:e,d:e,dd:"%d päeva",M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("eu",{months:"urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua".split("_"),monthsShort:"urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.".split("_"),monthsParseExact:!0,weekdays:"igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata".split("_"),weekdaysShort:"ig._al._ar._az._og._ol._lr.".split("_"),weekdaysMin:"ig_al_ar_az_og_ol_lr".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY[ko] MMMM[ren] D[a]",LLL:"YYYY[ko] MMMM[ren] D[a] HH:mm",LLLL:"dddd, YYYY[ko] MMMM[ren] D[a] HH:mm",l:"YYYY-M-D",ll:"YYYY[ko] MMM D[a]",lll:"YYYY[ko] MMM D[a] HH:mm",llll:"ddd, YYYY[ko] MMM D[a] HH:mm"},calendar:{sameDay:"[gaur] LT[etan]",nextDay:"[bihar] LT[etan]",nextWeek:"dddd LT[etan]",lastDay:"[atzo] LT[etan]",lastWeek:"[aurreko] dddd LT[etan]",sameElse:"L"},relativeTime:{future:"%s barru",past:"duela %s",s:"segundo batzuk",m:"minutu bat",mm:"%d minutu",h:"ordu bat",hh:"%d ordu",d:"egun bat",dd:"%d egun",M:"hilabete bat",MM:"%d hilabete",y:"urte bat",yy:"%d urte"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"۱",2:"۲",3:"۳",4:"۴",5:"۵",6:"۶",7:"۷",8:"۸",9:"۹",0:"۰"},n={"۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","۰":"0"};return t.defineLocale("fa",{months:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),monthsShort:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),weekdays:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysShort:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysMin:"ی_د_س_چ_پ_ج_ش".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/قبل از ظهر|بعد از ظهر/,isPM:function(t){return/بعد از ظهر/.test(t)},meridiem:function(t,e,n){return t<12?"قبل از ظهر":"بعد از ظهر"},calendar:{sameDay:"[امروز ساعت] LT",nextDay:"[فردا ساعت] LT",nextWeek:"dddd [ساعت] LT",lastDay:"[دیروز ساعت] LT",lastWeek:"dddd [پیش] [ساعت] LT",sameElse:"L"},relativeTime:{future:"در %s",past:"%s پیش",s:"چند ثانیه",m:"یک دقیقه",mm:"%d دقیقه",h:"یک ساعت",hh:"%d ساعت",d:"یک روز",dd:"%d روز",M:"یک ماه",MM:"%d ماه",y:"یک سال",yy:"%d سال"},preparse:function(t){return t.replace(/[۰-۹]/g,function(t){return n[t]}).replace(/،/g,",")},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]}).replace(/,/g,"،")},dayOfMonthOrdinalParse:/\d{1,2}م/,ordinal:"%dم",week:{dow:6,doy:12}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,r,i){var a="";switch(r){case"s":return i?"muutaman sekunnin":"muutama sekunti";case"m":return i?"minuutin":"minuutti";case"mm":a=i?"minuutin":"minuuttia";break;case"h":return i?"tunnin":"tunti";case"hh":a=i?"tunnin":"tuntia";break;case"d":return i?"päivän":"päivä";case"dd":a=i?"päivän":"päivää";break;case"M":return i?"kuukauden":"kuukausi";case"MM":a=i?"kuukauden":"kuukautta";break;case"y":return i?"vuoden":"vuosi";case"yy":a=i?"vuoden":"vuotta"}return a=n(t,i)+" "+a}function n(t,e){return t<10?e?i[t]:r[t]:t}var r="nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän".split(" "),i=["nolla","yhden","kahden","kolmen","neljän","viiden","kuuden",r[7],r[8],r[9]];return t.defineLocale("fi",{months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu".split("_"),weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"Do MMMM[ta] YYYY",LLL:"Do MMMM[ta] YYYY, [klo] HH.mm",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] HH.mm",l:"D.M.YYYY",ll:"Do MMM YYYY",lll:"Do MMM YYYY, [klo] HH.mm",llll:"ddd, Do MMM YYYY, [klo] HH.mm"},calendar:{sameDay:"[tänään] [klo] LT",nextDay:"[huomenna] [klo] LT",nextWeek:"dddd [klo] LT",lastDay:"[eilen] [klo] LT",lastWeek:"[viime] dddd[na] [klo] LT",sameElse:"L"},relativeTime:{future:"%s päästä",past:"%s sitten",s:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("fo",{months:"januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur".split("_"),weekdaysShort:"sun_mán_týs_mik_hós_frí_ley".split("_"),weekdaysMin:"su_má_tý_mi_hó_fr_le".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D. MMMM, YYYY HH:mm"},calendar:{sameDay:"[Í dag kl.] LT",nextDay:"[Í morgin kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[Í gjár kl.] LT",lastWeek:"[síðstu] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"um %s",past:"%s síðani",s:"fá sekund",m:"ein minutt",mm:"%d minuttir",h:"ein tími",hh:"%d tímar",d:"ein dagur",dd:"%d dagar",M:"ein mánaði",MM:"%d mánaðir",y:"eitt ár",yy:"%d ár"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("fr",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|)/,ordinal:function(t,e){switch(e){case"D":return t+(1===t?"er":"");default:case"M":case"Q":case"DDD":case"d":return t+(1===t?"er":"e");case"w":case"W":return t+(1===t?"re":"e")}},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("fr-ca",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(t,e){switch(e){default:case"M":case"Q":case"D":case"DDD":case"d":return t+(1===t?"er":"e");case"w":case"W":return t+(1===t?"re":"e")}}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("fr-ch",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(t,e){switch(e){default:case"M":case"Q":case"D":case"DDD":case"d":return t+(1===t?"er":"e");case"w":case"W":return t+(1===t?"re":"e")}},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e="jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.".split("_"),n="jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_");return t.defineLocale("fy",{months:"jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber".split("_"),monthsShort:function(t,r){return t?/-MMM-/.test(r)?n[t.month()]:e[t.month()]:e},monthsParseExact:!0,weekdays:"snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon".split("_"),weekdaysShort:"si._mo._ti._wo._to._fr._so.".split("_"),weekdaysMin:"Si_Mo_Ti_Wo_To_Fr_So".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[hjoed om] LT",nextDay:"[moarn om] LT",nextWeek:"dddd [om] LT",lastDay:"[juster om] LT",lastWeek:"[ôfrûne] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oer %s",past:"%s lyn",s:"in pear sekonden",m:"ien minút",mm:"%d minuten",h:"ien oere",hh:"%d oeren",d:"ien dei",dd:"%d dagen",M:"ien moanne",MM:"%d moannen",y:"ien jier",yy:"%d jierren"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(t){return t+(1===t||8===t||t>=20?"ste":"de")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e=["Am Faoilleach","An Gearran","Am Màrt","An Giblean","An Cèitean","An t-Ògmhios","An t-Iuchar","An Lùnastal","An t-Sultain","An Dàmhair","An t-Samhain","An Dùbhlachd"],n=["Faoi","Gear","Màrt","Gibl","Cèit","Ògmh","Iuch","Lùn","Sult","Dàmh","Samh","Dùbh"],r=["Didòmhnaich","Diluain","Dimàirt","Diciadain","Diardaoin","Dihaoine","Disathairne"],i=["Did","Dil","Dim","Dic","Dia","Dih","Dis"],a=["Dò","Lu","Mà","Ci","Ar","Ha","Sa"];return t.defineLocale("gd",{months:e,monthsShort:n,monthsParseExact:!0,weekdays:r,weekdaysShort:i,weekdaysMin:a,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[An-diugh aig] LT",nextDay:"[A-màireach aig] LT",nextWeek:"dddd [aig] LT",lastDay:"[An-dè aig] LT",lastWeek:"dddd [seo chaidh] [aig] LT",sameElse:"L"},relativeTime:{future:"ann an %s",past:"bho chionn %s",s:"beagan diogan",m:"mionaid",mm:"%d mionaidean",h:"uair",hh:"%d uairean",d:"latha",dd:"%d latha",M:"mìos",MM:"%d mìosan",y:"bliadhna",yy:"%d bliadhna"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(t){return t+(1===t?"d":t%10==2?"na":"mh")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("gl",{months:"xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro".split("_"),monthsShort:"xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"domingo_luns_martes_mércores_xoves_venres_sábado".split("_"),weekdaysShort:"dom._lun._mar._mér._xov._ven._sáb.".split("_"),weekdaysMin:"do_lu_ma_mé_xo_ve_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoxe "+(1!==this.hours()?"ás":"á")+"] LT"},nextDay:function(){return"[mañá "+(1!==this.hours()?"ás":"á")+"] LT"},nextWeek:function(){return"dddd ["+(1!==this.hours()?"ás":"a")+"] LT"},lastDay:function(){return"[onte "+(1!==this.hours()?"á":"a")+"] LT"},lastWeek:function(){return"[o] dddd [pasado "+(1!==this.hours()?"ás":"a")+"] LT"},sameElse:"L"},relativeTime:{future:function(t){return 0===t.indexOf("un")?"n"+t:"en "+t},past:"hai %s",s:"uns segundos",m:"un minuto",mm:"%d minutos",h:"unha hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n,r){var i={s:["thodde secondanim","thodde second"],m:["eka mintan","ek minute"],mm:[t+" mintanim",t+" mintam"],h:["eka horan","ek hor"],hh:[t+" horanim",t+" hor"],d:["eka disan","ek dis"],dd:[t+" disanim",t+" dis"],M:["eka mhoinean","ek mhoino"],MM:[t+" mhoineanim",t+" mhoine"],y:["eka vorsan","ek voros"],yy:[t+" vorsanim",t+" vorsam"]};return e?i[n][0]:i[n][1]}return t.defineLocale("gom-latn",{months:"Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr".split("_"),monthsShort:"Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son'var".split("_"),weekdaysShort:"Ait._Som._Mon._Bud._Bre._Suk._Son.".split("_"),weekdaysMin:"Ai_Sm_Mo_Bu_Br_Su_Sn".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A h:mm [vazta]",LTS:"A h:mm:ss [vazta]",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY A h:mm [vazta]",LLLL:"dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]",llll:"ddd, D MMM YYYY, A h:mm [vazta]"},calendar:{sameDay:"[Aiz] LT",nextDay:"[Faleam] LT",nextWeek:"[Ieta to] dddd[,] LT",lastDay:"[Kal] LT",lastWeek:"[Fatlo] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s",past:"%s adim",s:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}(er)/,ordinal:function(t,e){switch(e){case"D":return t+"er";default:case"M":case"Q":case"DDD":case"d":case"w":case"W":return t}},week:{dow:1,doy:4},meridiemParse:/rati|sokalli|donparam|sanje/,meridiemHour:function(t,e){return 12===t&&(t=0),"rati"===e?t<4?t:t+12:"sokalli"===e?t:"donparam"===e?t>12?t:t+12:"sanje"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"rati":t<12?"sokalli":t<16?"donparam":t<20?"sanje":"rati"}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("he",{months:"ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר".split("_"),monthsShort:"ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳".split("_"),weekdays:"ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת".split("_"),weekdaysShort:"א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳".split("_"),weekdaysMin:"א_ב_ג_ד_ה_ו_ש".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [ב]MMMM YYYY",LLL:"D [ב]MMMM YYYY HH:mm",LLLL:"dddd, D [ב]MMMM YYYY HH:mm",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[היום ב־]LT",nextDay:"[מחר ב־]LT",nextWeek:"dddd [בשעה] LT",lastDay:"[אתמול ב־]LT",lastWeek:"[ביום] dddd [האחרון בשעה] LT",sameElse:"L"},relativeTime:{future:"בעוד %s",past:"לפני %s",s:"מספר שניות",m:"דקה",mm:"%d דקות",h:"שעה",hh:function(t){return 2===t?"שעתיים":t+" שעות"},d:"יום",dd:function(t){return 2===t?"יומיים":t+" ימים"},M:"חודש",MM:function(t){return 2===t?"חודשיים":t+" חודשים"},y:"שנה",yy:function(t){return 2===t?"שנתיים":t%10==0&&10!==t?t+" שנה":t+" שנים"}},meridiemParse:/אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,isPM:function(t){return/^(אחה"צ|אחרי הצהריים|בערב)$/.test(t)},meridiem:function(t,e,n){return t<5?"לפנות בוקר":t<10?"בבוקר":t<12?n?'לפנה"צ':"לפני הצהריים":t<18?n?'אחה"צ':"אחרי הצהריים":"בערב"}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},n={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};return t.defineLocale("hi",{months:"जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर".split("_"),monthsShort:"जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.".split("_"),monthsParseExact:!0,weekdays:"रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysShort:"रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),longDateFormat:{LT:"A h:mm बजे",LTS:"A h:mm:ss बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm बजे",LLLL:"dddd, D MMMM YYYY, A h:mm बजे"},calendar:{sameDay:"[आज] LT",nextDay:"[कल] LT",nextWeek:"dddd, LT",lastDay:"[कल] LT",lastWeek:"[पिछले] dddd, LT",sameElse:"L"},relativeTime:{future:"%s में",past:"%s पहले",s:"कुछ ही क्षण",m:"एक मिनट",mm:"%d मिनट",h:"एक घंटा",hh:"%d घंटे",d:"एक दिन",dd:"%d दिन",M:"एक महीने",MM:"%d महीने",y:"एक वर्ष",yy:"%d वर्ष"},preparse:function(t){return t.replace(/[१२३४५६७८९०]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/रात|सुबह|दोपहर|शाम/,meridiemHour:function(t,e){return 12===t&&(t=0),"रात"===e?t<4?t:t+12:"सुबह"===e?t:"दोपहर"===e?t>=10?t:t+12:"शाम"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"रात":t<10?"सुबह":t<17?"दोपहर":t<20?"शाम":"रात"},week:{dow:0,doy:6}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n){var r=t+" ";switch(n){case"m":return e?"jedna minuta":"jedne minute";case"mm":return r+=1===t?"minuta":2===t||3===t||4===t?"minute":"minuta";case"h":return e?"jedan sat":"jednog sata";case"hh":return r+=1===t?"sat":2===t||3===t||4===t?"sata":"sati";case"dd":return r+=1===t?"dan":"dana";case"MM":return r+=1===t?"mjesec":2===t||3===t||4===t?"mjeseca":"mjeseci";case"yy":return r+=1===t?"godina":2===t||3===t||4===t?"godine":"godina"}}return t.defineLocale("hr",{months:{format:"siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca".split("_"),standalone:"siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac".split("_")},monthsShort:"sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[prošlu] dddd [u] LT";case 6:return"[prošle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[prošli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",m:e,mm:e,h:e,hh:e,d:"dan",dd:e,M:"mjesec",MM:e,y:"godinu",yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n,r){var i=t;switch(n){case"s":return r||e?"néhány másodperc":"néhány másodperce";case"m":return"egy"+(r||e?" perc":" perce");case"mm":return i+(r||e?" perc":" perce");case"h":return"egy"+(r||e?" óra":" órája");case"hh":return i+(r||e?" óra":" órája");case"d":return"egy"+(r||e?" nap":" napja");case"dd":return i+(r||e?" nap":" napja");case"M":return"egy"+(r||e?" hónap":" hónapja");case"MM":return i+(r||e?" hónap":" hónapja");case"y":return"egy"+(r||e?" év":" éve");case"yy":return i+(r||e?" év":" éve")}return""}function n(t){return(t?"":"[múlt] ")+"["+r[this.day()]+"] LT[-kor]"}var r="vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton".split(" ");return t.defineLocale("hu",{months:"január_február_március_április_május_június_július_augusztus_szeptember_október_november_december".split("_"),monthsShort:"jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec".split("_"),weekdays:"vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat".split("_"),weekdaysShort:"vas_hét_kedd_sze_csüt_pén_szo".split("_"),weekdaysMin:"v_h_k_sze_cs_p_szo".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D. H:mm",LLLL:"YYYY. MMMM D., dddd H:mm"},meridiemParse:/de|du/i,isPM:function(t){return"u"===t.charAt(1).toLowerCase()},meridiem:function(t,e,n){return t<12?!0===n?"de":"DE":!0===n?"du":"DU"},calendar:{sameDay:"[ma] LT[-kor]",nextDay:"[holnap] LT[-kor]",nextWeek:function(){return n.call(this,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek:function(){return n.call(this,!1)},sameElse:"L"},relativeTime:{future:"%s múlva",past:"%s",s:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("hy-am",{months:{format:"հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի".split("_"),standalone:"հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր".split("_")},monthsShort:"հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ".split("_"),weekdays:"կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ".split("_"),weekdaysShort:"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),weekdaysMin:"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY թ.",LLL:"D MMMM YYYY թ., HH:mm",LLLL:"dddd, D MMMM YYYY թ., HH:mm"},calendar:{sameDay:"[այսօր] LT",nextDay:"[վաղը] LT",lastDay:"[երեկ] LT",nextWeek:function(){return"dddd [օրը ժամը] LT"},lastWeek:function(){return"[անցած] dddd [օրը ժամը] LT"},sameElse:"L"},relativeTime:{future:"%s հետո",past:"%s առաջ",s:"մի քանի վայրկյան",m:"րոպե",mm:"%d րոպե",h:"ժամ",hh:"%d ժամ",d:"օր",dd:"%d օր",M:"ամիս",MM:"%d ամիս",y:"տարի",yy:"%d տարի"},meridiemParse:/գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,isPM:function(t){return/^(ցերեկվա|երեկոյան)$/.test(t)},meridiem:function(t){return t<4?"գիշերվա":t<12?"առավոտվա":t<17?"ցերեկվա":"երեկոյան"},dayOfMonthOrdinalParse:/\d{1,2}|\d{1,2}-(ին|րդ)/,ordinal:function(t,e){switch(e){case"DDD":case"w":case"W":case"DDDo":return 1===t?t+"-ին":t+"-րդ";default:return t}},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("id",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nov_Des".split("_"),weekdays:"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),weekdaysShort:"Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|siang|sore|malam/,meridiemHour:function(t,e){return 12===t&&(t=0),"pagi"===e?t:"siang"===e?t>=11?t:t+12:"sore"===e||"malam"===e?t+12:void 0},meridiem:function(t,e,n){return t<11?"pagi":t<15?"siang":t<19?"sore":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kemarin pukul] LT",lastWeek:"dddd [lalu pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t){return t%100==11||t%10!=1}function n(t,n,r,i){var a=t+" ";switch(r){case"s":return n||i?"nokkrar sekúndur":"nokkrum sekúndum";case"m":return n?"mínúta":"mínútu";case"mm":return e(t)?a+(n||i?"mínútur":"mínútum"):n?a+"mínúta":a+"mínútu";case"hh":return e(t)?a+(n||i?"klukkustundir":"klukkustundum"):a+"klukkustund";case"d":return n?"dagur":i?"dag":"degi";case"dd":return e(t)?n?a+"dagar":a+(i?"daga":"dögum"):n?a+"dagur":a+(i?"dag":"degi");case"M":return n?"mánuður":i?"mánuð":"mánuði";case"MM":return e(t)?n?a+"mánuðir":a+(i?"mánuði":"mánuðum"):n?a+"mánuður":a+(i?"mánuð":"mánuði");case"y":return n||i?"ár":"ári";case"yy":return e(t)?a+(n||i?"ár":"árum"):a+(n||i?"ár":"ári")}}return t.defineLocale("is",{months:"janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember".split("_"),monthsShort:"jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des".split("_"),weekdays:"sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur".split("_"),weekdaysShort:"sun_mán_þri_mið_fim_fös_lau".split("_"),weekdaysMin:"Su_Má_Þr_Mi_Fi_Fö_La".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd, D. MMMM YYYY [kl.] H:mm"},calendar:{sameDay:"[í dag kl.] LT",nextDay:"[á morgun kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[í gær kl.] LT",lastWeek:"[síðasta] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"eftir %s",past:"fyrir %s síðan",s:n,m:n,mm:n,h:"klukkustund",hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("it",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){switch(this.day()){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future:function(t){return(/^[0-9].+$/.test(t)?"tra":"in")+" "+t},past:"%s fa",s:"alcuni secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("ja",{months:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日".split("_"),weekdaysShort:"日_月_火_水_木_金_土".split("_"),weekdaysMin:"日_月_火_水_木_金_土".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日 HH:mm dddd",l:"YYYY/MM/DD",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日 HH:mm dddd"},meridiemParse:/午前|午後/i,isPM:function(t){return"午後"===t},meridiem:function(t,e,n){return t<12?"午前":"午後"},calendar:{sameDay:"[今日] LT",nextDay:"[明日] LT",nextWeek:"[来週]dddd LT",lastDay:"[昨日] LT",lastWeek:"[前週]dddd LT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}日/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"日";default:return t}},relativeTime:{future:"%s後",past:"%s前",s:"数秒",m:"1分",mm:"%d分",h:"1時間",hh:"%d時間",d:"1日",dd:"%d日",M:"1ヶ月",MM:"%dヶ月",y:"1年",yy:"%d年"}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("jv",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des".split("_"),weekdays:"Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu".split("_"),weekdaysShort:"Min_Sen_Sel_Reb_Kem_Jem_Sep".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sp".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/enjing|siyang|sonten|ndalu/,meridiemHour:function(t,e){return 12===t&&(t=0),"enjing"===e?t:"siyang"===e?t>=11?t:t+12:"sonten"===e||"ndalu"===e?t+12:void 0},meridiem:function(t,e,n){return t<11?"enjing":t<15?"siyang":t<19?"sonten":"ndalu"},calendar:{sameDay:"[Dinten puniko pukul] LT",nextDay:"[Mbenjang pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kala wingi pukul] LT",lastWeek:"dddd [kepengker pukul] LT",sameElse:"L"},relativeTime:{future:"wonten ing %s",past:"%s ingkang kepengker",s:"sawetawis detik",m:"setunggal menit",mm:"%d menit",h:"setunggal jam",hh:"%d jam",d:"sedinten",dd:"%d dinten",M:"sewulan",MM:"%d wulan",y:"setaun",yy:"%d taun"},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("ka",{months:{standalone:"იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი".split("_"),format:"იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს".split("_")},monthsShort:"იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ".split("_"),weekdays:{standalone:"კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი".split("_"),format:"კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს".split("_"),isFormat:/(წინა|შემდეგ)/},weekdaysShort:"კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ".split("_"),weekdaysMin:"კვ_ორ_სა_ოთ_ხუ_პა_შა".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[დღეს] LT[-ზე]",nextDay:"[ხვალ] LT[-ზე]",lastDay:"[გუშინ] LT[-ზე]",nextWeek:"[შემდეგ] dddd LT[-ზე]",lastWeek:"[წინა] dddd LT-ზე",sameElse:"L"},relativeTime:{future:function(t){return/(წამი|წუთი|საათი|წელი)/.test(t)?t.replace(/ი$/,"ში"):t+"ში"},past:function(t){return/(წამი|წუთი|საათი|დღე|თვე)/.test(t)?t.replace(/(ი|ე)$/,"ის უკან"):/წელი/.test(t)?t.replace(/წელი$/,"წლის უკან"):void 0},s:"რამდენიმე წამი",m:"წუთი",mm:"%d წუთი",h:"საათი",hh:"%d საათი",d:"დღე",dd:"%d დღე",M:"თვე",MM:"%d თვე",y:"წელი",yy:"%d წელი"},dayOfMonthOrdinalParse:/0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/,ordinal:function(t){return 0===t?t:1===t?t+"-ლი":t<20||t<=100&&t%20==0||t%100==0?"მე-"+t:t+"-ე"},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={0:"-ші",1:"-ші",2:"-ші",3:"-ші",4:"-ші",5:"-ші",6:"-шы",7:"-ші",8:"-ші",9:"-шы",10:"-шы",20:"-шы",30:"-шы",40:"-шы",50:"-ші",60:"-шы",70:"-ші",80:"-ші",90:"-шы",100:"-ші"};return t.defineLocale("kk",{months:"қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан".split("_"),monthsShort:"қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел".split("_"),weekdays:"жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі".split("_"),weekdaysShort:"жек_дүй_сей_сәр_бей_жұм_сен".split("_"),weekdaysMin:"жк_дй_сй_ср_бй_жм_сн".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Бүгін сағат] LT",nextDay:"[Ертең сағат] LT",nextWeek:"dddd [сағат] LT",lastDay:"[Кеше сағат] LT",lastWeek:"[Өткен аптаның] dddd [сағат] LT",sameElse:"L"},relativeTime:{future:"%s ішінде",past:"%s бұрын",s:"бірнеше секунд",m:"бір минут",mm:"%d минут",h:"бір сағат",hh:"%d сағат",d:"бір күн",dd:"%d күн",M:"бір ай",MM:"%d ай",y:"бір жыл",yy:"%d жыл"},dayOfMonthOrdinalParse:/\d{1,2}-(ші|шы)/,ordinal:function(t){var n=t%10,r=t>=100?100:null;return t+(e[t]||e[n]||e[r])},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("km",{months:"មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),monthsShort:"មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),weekdays:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),weekdaysShort:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),weekdaysMin:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[ថ្ងៃនេះ ម៉ោង] LT",nextDay:"[ស្អែក ម៉ោង] LT",nextWeek:"dddd [ម៉ោង] LT",lastDay:"[ម្សិលមិញ ម៉ោង] LT",lastWeek:"dddd [សប្តាហ៍មុន] [ម៉ោង] LT",sameElse:"L"},relativeTime:{future:"%sទៀត",past:"%sមុន",s:"ប៉ុន្មានវិនាទី",m:"មួយនាទី",mm:"%d នាទី",h:"មួយម៉ោង",hh:"%d ម៉ោង",d:"មួយថ្ងៃ",dd:"%d ថ្ងៃ",M:"មួយខែ",MM:"%d ខែ",y:"មួយឆ្នាំ",yy:"%d ឆ្នាំ"},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"೧",2:"೨",3:"೩",4:"೪",5:"೫",6:"೬",7:"೭",8:"೮",9:"೯",0:"೦"},n={"೧":"1","೨":"2","೩":"3","೪":"4","೫":"5","೬":"6","೭":"7","೮":"8","೯":"9","೦":"0"};return t.defineLocale("kn",{months:"ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್".split("_"),monthsShort:"ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬ_ಅಕ್ಟೋಬ_ನವೆಂಬ_ಡಿಸೆಂಬ".split("_"),monthsParseExact:!0,weekdays:"ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ".split("_"),weekdaysShort:"ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ".split("_"),weekdaysMin:"ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[ಇಂದು] LT",nextDay:"[ನಾಳೆ] LT",nextWeek:"dddd, LT",lastDay:"[ನಿನ್ನೆ] LT",lastWeek:"[ಕೊನೆಯ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ನಂತರ",past:"%s ಹಿಂದೆ",s:"ಕೆಲವು ಕ್ಷಣಗಳು",m:"ಒಂದು ನಿಮಿಷ",mm:"%d ನಿಮಿಷ",h:"ಒಂದು ಗಂಟೆ",hh:"%d ಗಂಟೆ",d:"ಒಂದು ದಿನ",dd:"%d ದಿನ",M:"ಒಂದು ತಿಂಗಳು",MM:"%d ತಿಂಗಳು",y:"ಒಂದು ವರ್ಷ",yy:"%d ವರ್ಷ"},preparse:function(t){return t.replace(/[೧೨೩೪೫೬೭೮೯೦]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,meridiemHour:function(t,e){return 12===t&&(t=0),"ರಾತ್ರಿ"===e?t<4?t:t+12:"ಬೆಳಿಗ್ಗೆ"===e?t:"ಮಧ್ಯಾಹ್ನ"===e?t>=10?t:t+12:"ಸಂಜೆ"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"ರಾತ್ರಿ":t<10?"ಬೆಳಿಗ್ಗೆ":t<17?"ಮಧ್ಯಾಹ್ನ":t<20?"ಸಂಜೆ":"ರಾತ್ರಿ"},dayOfMonthOrdinalParse:/\d{1,2}(ನೇ)/,ordinal:function(t){return t+"ನೇ"},week:{dow:0,doy:6}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("ko",{months:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),monthsShort:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),weekdays:"일요일_월요일_화요일_수요일_목요일_금요일_토요일".split("_"),weekdaysShort:"일_월_화_수_목_금_토".split("_"),weekdaysMin:"일_월_화_수_목_금_토".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"YYYY.MM.DD",LL:"YYYY년 MMMM D일",LLL:"YYYY년 MMMM D일 A h:mm",LLLL:"YYYY년 MMMM D일 dddd A h:mm",l:"YYYY.MM.DD",ll:"YYYY년 MMMM D일",lll:"YYYY년 MMMM D일 A h:mm",llll:"YYYY년 MMMM D일 dddd A h:mm"},calendar:{sameDay:"오늘 LT",nextDay:"내일 LT",nextWeek:"dddd LT",lastDay:"어제 LT",lastWeek:"지난주 dddd LT",sameElse:"L"},relativeTime:{future:"%s 후",past:"%s 전",s:"몇 초",ss:"%d초",m:"1분",mm:"%d분",h:"한 시간",hh:"%d시간",d:"하루",dd:"%d일",M:"한 달",MM:"%d달",y:"일 년",yy:"%d년"},dayOfMonthOrdinalParse:/\d{1,2}일/,ordinal:"%d일",meridiemParse:/오전|오후/,isPM:function(t){return"오후"===t},meridiem:function(t,e,n){return t<12?"오전":"오후"}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={0:"-чү",1:"-чи",2:"-чи",3:"-чү",4:"-чү",5:"-чи",6:"-чы",7:"-чи",8:"-чи",9:"-чу",10:"-чу",20:"-чы",30:"-чу",40:"-чы",50:"-чү",60:"-чы",70:"-чи",80:"-чи",90:"-чу",100:"-чү"};return t.defineLocale("ky",{months:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_"),monthsShort:"янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек".split("_"),weekdays:"Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби".split("_"),weekdaysShort:"Жек_Дүй_Шей_Шар_Бей_Жум_Ише".split("_"),weekdaysMin:"Жк_Дй_Шй_Шр_Бй_Жм_Иш".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Бүгүн саат] LT",nextDay:"[Эртең саат] LT",nextWeek:"dddd [саат] LT",lastDay:"[Кече саат] LT",lastWeek:"[Өткен аптанын] dddd [күнү] [саат] LT",sameElse:"L"},relativeTime:{future:"%s ичинде",past:"%s мурун",s:"бирнече секунд",m:"бир мүнөт",mm:"%d мүнөт",h:"бир саат",hh:"%d саат",d:"бир күн",dd:"%d күн",M:"бир ай",MM:"%d ай",y:"бир жыл",yy:"%d жыл"},dayOfMonthOrdinalParse:/\d{1,2}-(чи|чы|чү|чу)/,ordinal:function(t){var n=t%10,r=t>=100?100:null;return t+(e[t]||e[n]||e[r])},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n,r){var i={m:["eng Minutt","enger Minutt"],h:["eng Stonn","enger Stonn"],d:["een Dag","engem Dag"],M:["ee Mount","engem Mount"],y:["ee Joer","engem Joer"]};return e?i[n][0]:i[n][1]}function n(t){return i(t.substr(0,t.indexOf(" ")))?"a "+t:"an "+t}function r(t){return i(t.substr(0,t.indexOf(" ")))?"viru "+t:"virun "+t}function i(t){if(t=parseInt(t,10),isNaN(t))return!1;if(t<0)return!0;if(t<10)return 4<=t&&t<=7;if(t<100){var e=t%10,n=t/10;return i(0===e?n:e)}if(t<1e4){for(;t>=10;)t/=10;return i(t)}return t/=1e3,i(t)}return t.defineLocale("lb",{months:"Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg".split("_"),weekdaysShort:"So._Mé._Dë._Më._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mé_Dë_Më_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm [Auer]",LTS:"H:mm:ss [Auer]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm [Auer]",LLLL:"dddd, D. MMMM YYYY H:mm [Auer]"},calendar:{sameDay:"[Haut um] LT",sameElse:"L",nextDay:"[Muer um] LT",nextWeek:"dddd [um] LT",lastDay:"[Gëschter um] LT",lastWeek:function(){switch(this.day()){case 2:case 4:return"[Leschten] dddd [um] LT";default:return"[Leschte] dddd [um] LT"}}},relativeTime:{future:n,past:r,s:"e puer Sekonnen",m:e,mm:"%d Minutten",h:e,hh:"%d Stonnen",d:e,dd:"%d Deeg",M:e,MM:"%d Méint",y:e,yy:"%d Joer"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("lo",{months:"ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ".split("_"),monthsShort:"ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ".split("_"),weekdays:"ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ".split("_"),weekdaysShort:"ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ".split("_"),weekdaysMin:"ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"ວັນdddd D MMMM YYYY HH:mm"},meridiemParse:/ຕອນເຊົ້າ|ຕອນແລງ/,isPM:function(t){return"ຕອນແລງ"===t},meridiem:function(t,e,n){return t<12?"ຕອນເຊົ້າ":"ຕອນແລງ"},calendar:{sameDay:"[ມື້ນີ້ເວລາ] LT",nextDay:"[ມື້ອື່ນເວລາ] LT",nextWeek:"[ວັນ]dddd[ໜ້າເວລາ] LT",lastDay:"[ມື້ວານນີ້ເວລາ] LT",lastWeek:"[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT",sameElse:"L"},relativeTime:{future:"ອີກ %s",past:"%sຜ່ານມາ",s:"ບໍ່ເທົ່າໃດວິນາທີ",m:"1 ນາທີ",mm:"%d ນາທີ",h:"1 ຊົ່ວໂມງ",hh:"%d ຊົ່ວໂມງ",d:"1 ມື້",dd:"%d ມື້",M:"1 ເດືອນ",MM:"%d ເດືອນ",y:"1 ປີ",yy:"%d ປີ"},dayOfMonthOrdinalParse:/(ທີ່)\d{1,2}/,ordinal:function(t){return"ທີ່"+t}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n,r){return e?"kelios sekundės":r?"kelių sekundžių":"kelias sekundes"}function n(t,e,n,r){return e?i(n)[0]:r?i(n)[1]:i(n)[2]}function r(t){return t%10==0||t>10&&t<20}function i(t){return o[t].split("_")}function a(t,e,a,o){var u=t+" ";return 1===t?u+n(t,e,a[0],o):e?u+(r(t)?i(a)[1]:i(a)[0]):o?u+i(a)[1]:u+(r(t)?i(a)[1]:i(a)[2])}var o={m:"minutė_minutės_minutę",mm:"minutės_minučių_minutes",h:"valanda_valandos_valandą",hh:"valandos_valandų_valandas",d:"diena_dienos_dieną",dd:"dienos_dienų_dienas",M:"mėnuo_mėnesio_mėnesį",MM:"mėnesiai_mėnesių_mėnesius",y:"metai_metų_metus",yy:"metai_metų_metus"};return t.defineLocale("lt",{months:{format:"sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio".split("_"),standalone:"sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis".split("_"),isFormat:/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/},monthsShort:"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),weekdays:{format:"sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį".split("_"),standalone:"sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis".split("_"),isFormat:/dddd HH:mm/},weekdaysShort:"Sek_Pir_Ant_Tre_Ket_Pen_Šeš".split("_"),weekdaysMin:"S_P_A_T_K_Pn_Š".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], HH:mm [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], HH:mm [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]"},calendar:{sameDay:"[Šiandien] LT",nextDay:"[Rytoj] LT",nextWeek:"dddd LT",lastDay:"[Vakar] LT",lastWeek:"[Praėjusį] dddd LT",sameElse:"L"},relativeTime:{future:"po %s",past:"prieš %s",s:e,m:n,mm:a,h:n,hh:a,d:n,dd:a,M:n,MM:a,y:n,yy:a},dayOfMonthOrdinalParse:/\d{1,2}-oji/,ordinal:function(t){return t+"-oji"},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n){return n?e%10==1&&e%100!=11?t[2]:t[3]:e%10==1&&e%100!=11?t[0]:t[1]}function n(t,n,r){return t+" "+e(a[r],t,n)}function r(t,n,r){return e(a[r],t,n)}function i(t,e){return e?"dažas sekundes":"dažām sekundēm"}var a={m:"minūtes_minūtēm_minūte_minūtes".split("_"),mm:"minūtes_minūtēm_minūte_minūtes".split("_"),h:"stundas_stundām_stunda_stundas".split("_"),hh:"stundas_stundām_stunda_stundas".split("_"),d:"dienas_dienām_diena_dienas".split("_"),dd:"dienas_dienām_diena_dienas".split("_"),M:"mēneša_mēnešiem_mēnesis_mēneši".split("_"),MM:"mēneša_mēnešiem_mēnesis_mēneši".split("_"),y:"gada_gadiem_gads_gadi".split("_"),yy:"gada_gadiem_gads_gadi".split("_")};return t.defineLocale("lv",{months:"janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris".split("_"),monthsShort:"jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec".split("_"),weekdays:"svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena".split("_"),weekdaysShort:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY.",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, HH:mm",LLLL:"YYYY. [gada] D. MMMM, dddd, HH:mm"},calendar:{sameDay:"[Šodien pulksten] LT",nextDay:"[Rīt pulksten] LT",nextWeek:"dddd [pulksten] LT",lastDay:"[Vakar pulksten] LT",lastWeek:"[Pagājušā] dddd [pulksten] LT",sameElse:"L"},relativeTime:{future:"pēc %s",past:"pirms %s",s:i,m:r,mm:n,h:r,hh:n,d:r,dd:n,M:r,MM:n,y:r,yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={words:{m:["jedan minut","jednog minuta"],mm:["minut","minuta","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mjesec","mjeseca","mjeseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(t,e){return 1===t?e[0]:t>=2&&t<=4?e[1]:e[2]},translate:function(t,n,r){var i=e.words[r];return 1===r.length?n?i[0]:i[1]:t+" "+e.correctGrammaticalCase(t,i)}};return t.defineLocale("me",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sjutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){return["[prošle] [nedjelje] [u] LT","[prošlog] [ponedjeljka] [u] LT","[prošlog] [utorka] [u] LT","[prošle] [srijede] [u] LT","[prošlog] [četvrtka] [u] LT","[prošlog] [petka] [u] LT","[prošle] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"nekoliko sekundi",m:e.translate,mm:e.translate,h:e.translate,hh:e.translate,d:"dan",dd:e.translate,M:"mjesec",MM:e.translate,y:"godinu",yy:e.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("mi",{months:"Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea".split("_"),monthsShort:"Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki".split("_"),monthsRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,weekdays:"Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei".split("_"),weekdaysShort:"Ta_Ma_Tū_We_Tāi_Pa_Hā".split("_"),weekdaysMin:"Ta_Ma_Tū_We_Tāi_Pa_Hā".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [i] HH:mm",LLLL:"dddd, D MMMM YYYY [i] HH:mm"},calendar:{sameDay:"[i teie mahana, i] LT",nextDay:"[apopo i] LT",nextWeek:"dddd [i] LT",lastDay:"[inanahi i] LT",lastWeek:"dddd [whakamutunga i] LT",sameElse:"L"},relativeTime:{future:"i roto i %s",past:"%s i mua",s:"te hēkona ruarua",m:"he meneti",mm:"%d meneti",h:"te haora",hh:"%d haora",d:"he ra",dd:"%d ra",M:"he marama",MM:"%d marama",y:"he tau",yy:"%d tau"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("mk",{months:"јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември".split("_"),monthsShort:"јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек".split("_"),weekdays:"недела_понеделник_вторник_среда_четврток_петок_сабота".split("_"),weekdaysShort:"нед_пон_вто_сре_чет_пет_саб".split("_"),weekdaysMin:"нe_пo_вт_ср_че_пе_сa".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[Денес во] LT",nextDay:"[Утре во] LT",nextWeek:"[Во] dddd [во] LT",lastDay:"[Вчера во] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[Изминатата] dddd [во] LT";case 1:case 2:case 4:case 5:return"[Изминатиот] dddd [во] LT"}},sameElse:"L"},relativeTime:{future:"после %s",past:"пред %s",s:"неколку секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дена",M:"месец",MM:"%d месеци",y:"година",yy:"%d години"},dayOfMonthOrdinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(t){var e=t%10,n=t%100;return 0===t?t+"-ев":0===n?t+"-ен":n>10&&n<20?t+"-ти":1===e?t+"-ви":2===e?t+"-ри":7===e||8===e?t+"-ми":t+"-ти"},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("ml",{months:"ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ".split("_"),monthsShort:"ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.".split("_"),monthsParseExact:!0,weekdays:"ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച".split("_"),weekdaysShort:"ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി".split("_"),weekdaysMin:"ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ".split("_"),longDateFormat:{LT:"A h:mm -നു",LTS:"A h:mm:ss -നു",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm -നു",LLLL:"dddd, D MMMM YYYY, A h:mm -നു"},calendar:{sameDay:"[ഇന്ന്] LT",nextDay:"[നാളെ] LT",nextWeek:"dddd, LT",lastDay:"[ഇന്നലെ] LT",lastWeek:"[കഴിഞ്ഞ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s കഴിഞ്ഞ്",past:"%s മുൻപ്",s:"അൽപ നിമിഷങ്ങൾ",m:"ഒരു മിനിറ്റ്",mm:"%d മിനിറ്റ്",h:"ഒരു മണിക്കൂർ",hh:"%d മണിക്കൂർ",d:"ഒരു ദിവസം",dd:"%d ദിവസം",M:"ഒരു മാസം",MM:"%d മാസം",y:"ഒരു വർഷം",yy:"%d വർഷം"},meridiemParse:/രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,meridiemHour:function(t,e){return 12===t&&(t=0),"രാത്രി"===e&&t>=4||"ഉച്ച കഴിഞ്ഞ്"===e||"വൈകുന്നേരം"===e?t+12:t},meridiem:function(t,e,n){return t<4?"രാത്രി":t<12?"രാവിലെ":t<17?"ഉച്ച കഴിഞ്ഞ്":t<20?"വൈകുന്നേരം":"രാത്രി"}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n,r){var i="";if(e)switch(n){case"s":i="काही सेकंद";break;case"m":i="एक मिनिट";break;case"mm":i="%d मिनिटे";break;case"h":i="एक तास";break;case"hh":i="%d तास";break;case"d":i="एक दिवस";break;case"dd":i="%d दिवस";break;case"M":i="एक महिना";break;case"MM":i="%d महिने";break;case"y":i="एक वर्ष";break;case"yy":i="%d वर्षे"}else switch(n){case"s":i="काही सेकंदां";break;case"m":i="एका मिनिटा";break;case"mm":i="%d मिनिटां";break;case"h":i="एका तासा";break;case"hh":i="%d तासां";break;case"d":i="एका दिवसा";break;case"dd":i="%d दिवसां";break;case"M":i="एका महिन्या";break;case"MM":i="%d महिन्यां";break;case"y":i="एका वर्षा";break;case"yy":i="%d वर्षां"}return i.replace(/%d/i,t)}var n={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},r={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};return t.defineLocale("mr",{months:"जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर".split("_"),monthsShort:"जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.".split("_"),monthsParseExact:!0,weekdays:"रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysShort:"रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),longDateFormat:{LT:"A h:mm वाजता",LTS:"A h:mm:ss वाजता",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm वाजता",LLLL:"dddd, D MMMM YYYY, A h:mm वाजता"},calendar:{sameDay:"[आज] LT",nextDay:"[उद्या] LT",nextWeek:"dddd, LT",lastDay:"[काल] LT",lastWeek:"[मागील] dddd, LT",sameElse:"L"},relativeTime:{future:"%sमध्ये",past:"%sपूर्वी",s:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},preparse:function(t){return t.replace(/[१२३४५६७८९०]/g,function(t){return r[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return n[t]})},meridiemParse:/रात्री|सकाळी|दुपारी|सायंकाळी/,meridiemHour:function(t,e){return 12===t&&(t=0),"रात्री"===e?t<4?t:t+12:"सकाळी"===e?t:"दुपारी"===e?t>=10?t:t+12:"सायंकाळी"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"रात्री":t<10?"सकाळी":t<17?"दुपारी":t<20?"सायंकाळी":"रात्री"},week:{dow:0,doy:6}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("ms",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(t,e){return 12===t&&(t=0),"pagi"===e?t:"tengahari"===e?t>=11?t:t+12:"petang"===e||"malam"===e?t+12:void 0},meridiem:function(t,e,n){return t<11?"pagi":t<15?"tengahari":t<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("ms-my",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(t,e){return 12===t&&(t=0),"pagi"===e?t:"tengahari"===e?t>=11?t:t+12:"petang"===e||"malam"===e?t+12:void 0},meridiem:function(t,e,n){return t<11?"pagi":t<15?"tengahari":t<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"၁",2:"၂",3:"၃",4:"၄",5:"၅",6:"၆",7:"၇",8:"၈",9:"၉",0:"၀"},n={"၁":"1","၂":"2","၃":"3","၄":"4","၅":"5","၆":"6","၇":"7","၈":"8","၉":"9","၀":"0"};return t.defineLocale("my",{months:"ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ".split("_"),monthsShort:"ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ".split("_"),weekdays:"တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ".split("_"),weekdaysShort:"နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ".split("_"),weekdaysMin:"နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[ယနေ.] LT [မှာ]",nextDay:"[မနက်ဖြန်] LT [မှာ]",nextWeek:"dddd LT [မှာ]",lastDay:"[မနေ.က] LT [မှာ]",lastWeek:"[ပြီးခဲ့သော] dddd LT [မှာ]",sameElse:"L"},relativeTime:{future:"လာမည့် %s မှာ",past:"လွန်ခဲ့သော %s က",s:"စက္ကန်.အနည်းငယ်",m:"တစ်မိနစ်",mm:"%d မိနစ်",h:"တစ်နာရီ",hh:"%d နာရီ",d:"တစ်ရက်",dd:"%d ရက်",M:"တစ်လ",MM:"%d လ",y:"တစ်နှစ်",yy:"%d နှစ်"},preparse:function(t){return t.replace(/[၁၂၃၄၅၆၇၈၉၀]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("nb",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.".split("_"),monthsParseExact:!0,weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"sø._ma._ti._on._to._fr._lø.".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] HH:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[i går kl.] LT",lastWeek:"[forrige] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"noen sekunder",m:"ett minutt",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dager",M:"en måned",MM:"%d måneder",y:"ett år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},n={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};return t.defineLocale("ne",{months:"जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर".split("_"),monthsShort:"जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.".split("_"),monthsParseExact:!0,weekdays:"आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार".split("_"),weekdaysShort:"आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.".split("_"),weekdaysMin:"आ._सो._मं._बु._बि._शु._श.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"Aको h:mm बजे",LTS:"Aको h:mm:ss बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, Aको h:mm बजे",LLLL:"dddd, D MMMM YYYY, Aको h:mm बजे"},preparse:function(t){return t.replace(/[१२३४५६७८९०]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/राति|बिहान|दिउँसो|साँझ/,meridiemHour:function(t,e){return 12===t&&(t=0),"राति"===e?t<4?t:t+12:"बिहान"===e?t:"दिउँसो"===e?t>=10?t:t+12:"साँझ"===e?t+12:void 0},meridiem:function(t,e,n){return t<3?"राति":t<12?"बिहान":t<16?"दिउँसो":t<20?"साँझ":"राति"},calendar:{sameDay:"[आज] LT",nextDay:"[भोलि] LT",nextWeek:"[आउँदो] dddd[,] LT",lastDay:"[हिजो] LT",lastWeek:"[गएको] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%sमा",past:"%s अगाडि",s:"केही क्षण",m:"एक मिनेट",mm:"%d मिनेट",h:"एक घण्टा",hh:"%d घण्टा",d:"एक दिन",dd:"%d दिन",M:"एक महिना",MM:"%d महिना",y:"एक बर्ष",yy:"%d बर्ष"},week:{dow:0,doy:6}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),n="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),r=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],i=/^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;return t.defineLocale("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(t,r){return t?/-MMM-/.test(r)?n[t.month()]:e[t.month()]:e},monthsRegex:i,monthsShortRegex:i,monthsStrictRegex:/^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:r,longMonthsParse:r,shortMonthsParse:r,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"Zo_Ma_Di_Wo_Do_Vr_Za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(t){return t+(1===t||8===t||t>=20?"ste":"de")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),n="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),r=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],i=/^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;return t.defineLocale("nl-be",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(t,r){return t?/-MMM-/.test(r)?n[t.month()]:e[t.month()]:e},monthsRegex:i,monthsShortRegex:i,monthsStrictRegex:/^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:r,longMonthsParse:r,shortMonthsParse:r,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"Zo_Ma_Di_Wo_Do_Vr_Za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(t){return t+(1===t||8===t||t>=20?"ste":"de")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("nn",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"),weekdaysShort:"sun_mån_tys_ons_tor_fre_lau".split("_"),weekdaysMin:"su_må_ty_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[I dag klokka] LT",nextDay:"[I morgon klokka] LT",nextWeek:"dddd [klokka] LT",lastDay:"[I går klokka] LT",lastWeek:"[Føregåande] dddd [klokka] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s sidan",s:"nokre sekund",m:"eit minutt",mm:"%d minutt",h:"ein time",hh:"%d timar",d:"ein dag",dd:"%d dagar",M:"ein månad",MM:"%d månader",y:"eit år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"੧",2:"੨",3:"੩",4:"੪",5:"੫",6:"੬",7:"੭",8:"੮",9:"੯",0:"੦"},n={"੧":"1","੨":"2","੩":"3","੪":"4","੫":"5","੬":"6","੭":"7","੮":"8","੯":"9","੦":"0"};return t.defineLocale("pa-in",{months:"ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ".split("_"),monthsShort:"ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ".split("_"),weekdays:"ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ".split("_"),weekdaysShort:"ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ".split("_"),weekdaysMin:"ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ".split("_"),longDateFormat:{LT:"A h:mm ਵਜੇ",LTS:"A h:mm:ss ਵਜੇ",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm ਵਜੇ",LLLL:"dddd, D MMMM YYYY, A h:mm ਵਜੇ"},calendar:{sameDay:"[ਅਜ] LT",nextDay:"[ਕਲ] LT",nextWeek:"dddd, LT",lastDay:"[ਕਲ] LT",lastWeek:"[ਪਿਛਲੇ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ਵਿੱਚ",past:"%s ਪਿਛਲੇ",s:"ਕੁਝ ਸਕਿੰਟ",m:"ਇਕ ਮਿੰਟ",mm:"%d ਮਿੰਟ",h:"ਇੱਕ ਘੰਟਾ",hh:"%d ਘੰਟੇ",d:"ਇੱਕ ਦਿਨ",dd:"%d ਦਿਨ",M:"ਇੱਕ ਮਹੀਨਾ",MM:"%d ਮਹੀਨੇ",y:"ਇੱਕ ਸਾਲ",yy:"%d ਸਾਲ"},preparse:function(t){return t.replace(/[੧੨੩੪੫੬੭੮੯੦]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,meridiemHour:function(t,e){return 12===t&&(t=0),"ਰਾਤ"===e?t<4?t:t+12:"ਸਵੇਰ"===e?t:"ਦੁਪਹਿਰ"===e?t>=10?t:t+12:"ਸ਼ਾਮ"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"ਰਾਤ":t<10?"ਸਵੇਰ":t<17?"ਦੁਪਹਿਰ":t<20?"ਸ਼ਾਮ":"ਰਾਤ"},week:{dow:0,doy:6}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t){return t%10<5&&t%10>1&&~~(t/10)%10!=1}function n(t,n,r){var i=t+" ";switch(r){case"m":return n?"minuta":"minutę";case"mm":return i+(e(t)?"minuty":"minut");case"h":return n?"godzina":"godzinę";case"hh":return i+(e(t)?"godziny":"godzin");case"MM":return i+(e(t)?"miesiące":"miesięcy");case"yy":return i+(e(t)?"lata":"lat")}}var r="styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień".split("_"),i="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia".split("_");return t.defineLocale("pl",{months:function(t,e){return t?""===e?"("+i[t.month()]+"|"+r[t.month()]+")":/D MMMM/.test(e)?i[t.month()]:r[t.month()]:r},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru".split("_"),weekdays:"niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota".split("_"),weekdaysShort:"ndz_pon_wt_śr_czw_pt_sob".split("_"),weekdaysMin:"Nd_Pn_Wt_Śr_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Dziś o] LT",nextDay:"[Jutro o] LT",nextWeek:"[W] dddd [o] LT",lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:return"[W zeszłą niedzielę o] LT";case 3:return"[W zeszłą środę o] LT";case 6:return"[W zeszłą sobotę o] LT";default:return"[W zeszły] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",m:n,mm:n,h:n,hh:n,d:"1 dzień",dd:"%d dni",M:"miesiąc",MM:n,y:"rok",yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("pt",{months:"Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingo_Segunda-Feira_Terça-Feira_Quarta-Feira_Quinta-Feira_Sexta-Feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Do_2ª_3ª_4ª_5ª_6ª_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"há %s",s:"segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("pt-br",{months:"Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Do_2ª_3ª_4ª_5ª_6ª_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [às] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [às] HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"%s atrás",s:"poucos segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº"})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n){var r={mm:"minute",hh:"ore",dd:"zile",MM:"luni",yy:"ani"},i=" ";return(t%100>=20||t>=100&&t%100==0)&&(i=" de "),t+i+r[n]}return t.defineLocale("ro",{months:"ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".split("_"),monthsShort:"ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"duminică_luni_marți_miercuri_joi_vineri_sâmbătă".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_Sâm".split("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_Sâ".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[azi la] LT",nextDay:"[mâine la] LT",nextWeek:"dddd [la] LT",lastDay:"[ieri la] LT",lastWeek:"[fosta] dddd [la] LT",sameElse:"L"},relativeTime:{future:"peste %s",past:"%s în urmă",s:"câteva secunde",m:"un minut",mm:e,h:"o oră",hh:e,d:"o zi",dd:e,M:"o lună",MM:e,y:"un an",yy:e},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e){var n=t.split("_");return e%10==1&&e%100!=11?n[0]:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?n[1]:n[2]}function n(t,n,r){var i={mm:n?"минута_минуты_минут":"минуту_минуты_минут",hh:"час_часа_часов",dd:"день_дня_дней",MM:"месяц_месяца_месяцев",yy:"год_года_лет"};return"m"===r?n?"минута":"минуту":t+" "+e(i[r],+t)}var r=[/^янв/i,/^фев/i,/^мар/i,/^апр/i,/^ма[йя]/i,/^июн/i,/^июл/i,/^авг/i,/^сен/i,/^окт/i,/^ноя/i,/^дек/i];return t.defineLocale("ru",{months:{format:"января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря".split("_"),standalone:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_")},monthsShort:{format:"янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.".split("_"),standalone:"янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.".split("_")},weekdays:{standalone:"воскресенье_понедельник_вторник_среда_четверг_пятница_суббота".split("_"),format:"воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу".split("_"),isFormat:/\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\] ?dddd/},weekdaysShort:"вс_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"вс_пн_вт_ср_чт_пт_сб".split("_"),monthsParse:r,longMonthsParse:r,shortMonthsParse:r,monthsRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsShortRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsStrictRegex:/^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,monthsShortStrictRegex:/^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., HH:mm",LLLL:"dddd, D MMMM YYYY г., HH:mm"},calendar:{sameDay:"[Сегодня в] LT",nextDay:"[Завтра в] LT",lastDay:"[Вчера в] LT",nextWeek:function(t){if(t.week()===this.week())return 2===this.day()?"[Во] dddd [в] LT":"[В] dddd [в] LT";switch(this.day()){case 0:return"[В следующее] dddd [в] LT";case 1:case 2:case 4:return"[В следующий] dddd [в] LT";case 3:case 5:case 6:return"[В следующую] dddd [в] LT"}},lastWeek:function(t){if(t.week()===this.week())return 2===this.day()?"[Во] dddd [в] LT":"[В] dddd [в] LT";switch(this.day()){case 0:return"[В прошлое] dddd [в] LT";case 1:case 2:case 4:return"[В прошлый] dddd [в] LT";case 3:case 5:case 6:return"[В прошлую] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"через %s",past:"%s назад",s:"несколько секунд",m:n,mm:n,h:"час",hh:n,d:"день",dd:n,M:"месяц",MM:n,y:"год",yy:n},meridiemParse:/ночи|утра|дня|вечера/i,isPM:function(t){return/^(дня|вечера)$/.test(t)},meridiem:function(t,e,n){return t<4?"ночи":t<12?"утра":t<17?"дня":"вечера"},dayOfMonthOrdinalParse:/\d{1,2}-(й|го|я)/,ordinal:function(t,e){switch(e){case"M":case"d":case"DDD":return t+"-й";case"D":return t+"-го";case"w":case"W":return t+"-я";default:return t}},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e=["جنوري","فيبروري","مارچ","اپريل","مئي","جون","جولاءِ","آگسٽ","سيپٽمبر","آڪٽوبر","نومبر","ڊسمبر"],n=["آچر","سومر","اڱارو","اربع","خميس","جمع","ڇنڇر"];return t.defineLocale("sd",{months:e,monthsShort:e,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(t){return"شام"===t},meridiem:function(t,e,n){return t<12?"صبح":"شام"},calendar:{sameDay:"[اڄ] LT",nextDay:"[سڀاڻي] LT",nextWeek:"dddd [اڳين هفتي تي] LT",lastDay:"[ڪالهه] LT",lastWeek:"[گزريل هفتي] dddd [تي] LT",sameElse:"L"},relativeTime:{future:"%s پوء",past:"%s اڳ",s:"چند سيڪنڊ",m:"هڪ منٽ",mm:"%d منٽ",h:"هڪ ڪلاڪ",hh:"%d ڪلاڪ",d:"هڪ ڏينهن",dd:"%d ڏينهن",M:"هڪ مهينو",MM:"%d مهينا",y:"هڪ سال",yy:"%d سال"},preparse:function(t){return t.replace(/،/g,",")},postformat:function(t){return t.replace(/,/g,"،")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("se",{months:"ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu".split("_"),monthsShort:"ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov".split("_"),weekdays:"sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat".split("_"),weekdaysShort:"sotn_vuos_maŋ_gask_duor_bear_láv".split("_"),weekdaysMin:"s_v_m_g_d_b_L".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"MMMM D. [b.] YYYY",LLL:"MMMM D. [b.] YYYY [ti.] HH:mm",LLLL:"dddd, MMMM D. [b.] YYYY [ti.] HH:mm"},calendar:{sameDay:"[otne ti] LT",nextDay:"[ihttin ti] LT",nextWeek:"dddd [ti] LT",lastDay:"[ikte ti] LT",lastWeek:"[ovddit] dddd [ti] LT",sameElse:"L"},relativeTime:{future:"%s geažes",past:"maŋit %s",s:"moadde sekunddat",m:"okta minuhta",mm:"%d minuhtat",h:"okta diimmu",hh:"%d diimmut",d:"okta beaivi",dd:"%d beaivvit",M:"okta mánnu",MM:"%d mánut",y:"okta jahki",yy:"%d jagit"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("si",{months:"ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්".split("_"),monthsShort:"ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ".split("_"),weekdays:"ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා".split("_"),weekdaysShort:"ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන".split("_"),weekdaysMin:"ඉ_ස_අ_බ_බ්‍ර_සි_සෙ".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"a h:mm",LTS:"a h:mm:ss",L:"YYYY/MM/DD",LL:"YYYY MMMM D",LLL:"YYYY MMMM D, a h:mm",LLLL:"YYYY MMMM D [වැනි] dddd, a h:mm:ss"},calendar:{sameDay:"[අද] LT[ට]",nextDay:"[හෙට] LT[ට]",nextWeek:"dddd LT[ට]",lastDay:"[ඊයේ] LT[ට]",lastWeek:"[පසුගිය] dddd LT[ට]",sameElse:"L"},relativeTime:{future:"%sකින්",past:"%sකට පෙර",s:"තත්පර කිහිපය",m:"මිනිත්තුව",mm:"මිනිත්තු %d",h:"පැය",hh:"පැය %d",d:"දිනය",dd:"දින %d",M:"මාසය",MM:"මාස %d",y:"වසර",yy:"වසර %d"},dayOfMonthOrdinalParse:/\d{1,2} වැනි/,ordinal:function(t){return t+" වැනි"},meridiemParse:/පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,isPM:function(t){return"ප.ව."===t||"පස් වරු"===t},meridiem:function(t,e,n){return t>11?n?"ප.ව.":"පස් වරු":n?"පෙ.ව.":"පෙර වරු"}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t){return t>1&&t<5}function n(t,n,r,i){var a=t+" ";switch(r){case"s":return n||i?"pár sekúnd":"pár sekundami";case"m":return n?"minúta":i?"minútu":"minútou";case"mm":return n||i?a+(e(t)?"minúty":"minút"):a+"minútami";case"h":return n?"hodina":i?"hodinu":"hodinou";case"hh":return n||i?a+(e(t)?"hodiny":"hodín"):a+"hodinami";case"d":return n||i?"deň":"dňom";case"dd":return n||i?a+(e(t)?"dni":"dní"):a+"dňami";case"M":return n||i?"mesiac":"mesiacom";case"MM":return n||i?a+(e(t)?"mesiace":"mesiacov"):a+"mesiacmi";case"y":return n||i?"rok":"rokom";case"yy":return n||i?a+(e(t)?"roky":"rokov"):a+"rokmi"}}var r="január_február_marec_apríl_máj_jún_júl_august_september_október_november_december".split("_"),i="jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec".split("_");return t.defineLocale("sk",{months:r,monthsShort:i,weekdays:"nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota".split("_"),weekdaysShort:"ne_po_ut_st_št_pi_so".split("_"),weekdaysMin:"ne_po_ut_st_št_pi_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm"},calendar:{sameDay:"[dnes o] LT",nextDay:"[zajtra o] LT",nextWeek:function(){switch(this.day()){case 0:return"[v nedeľu o] LT";case 1:case 2:return"[v] dddd [o] LT";case 3:return"[v stredu o] LT";case 4:return"[vo štvrtok o] LT";case 5:return"[v piatok o] LT";case 6:return"[v sobotu o] LT"}},lastDay:"[včera o] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulú nedeľu o] LT";case 1:case 2:return"[minulý] dddd [o] LT";case 3:return"[minulú stredu o] LT";case 4:case 5:return"[minulý] dddd [o] LT";case 6:return"[minulú sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pred %s",s:n,m:n,mm:n,h:n,hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n,r){var i=t+" ";switch(n){case"s":return e||r?"nekaj sekund":"nekaj sekundami";case"m":return e?"ena minuta":"eno minuto";case"mm":return i+=1===t?e?"minuta":"minuto":2===t?e||r?"minuti":"minutama":t<5?e||r?"minute":"minutami":e||r?"minut":"minutami";case"h":return e?"ena ura":"eno uro";case"hh":return i+=1===t?e?"ura":"uro":2===t?e||r?"uri":"urama":t<5?e||r?"ure":"urami":e||r?"ur":"urami";case"d":return e||r?"en dan":"enim dnem";case"dd":return i+=1===t?e||r?"dan":"dnem":2===t?e||r?"dni":"dnevoma":e||r?"dni":"dnevi";case"M":return e||r?"en mesec":"enim mesecem";case"MM":return i+=1===t?e||r?"mesec":"mesecem":2===t?e||r?"meseca":"mesecema":t<5?e||r?"mesece":"meseci":e||r?"mesecev":"meseci";case"y":return e||r?"eno leto":"enim letom";case"yy":return i+=1===t?e||r?"leto":"letom":2===t?e||r?"leti":"letoma":t<5?e||r?"leta":"leti":e||r?"let":"leti"}}return t.defineLocale("sl",{months:"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota".split("_"),weekdaysShort:"ned._pon._tor._sre._čet._pet._sob.".split("_"),weekdaysMin:"ne_po_to_sr_če_pe_so".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danes ob] LT",nextDay:"[jutri ob] LT",nextWeek:function(){switch(this.day()){case 0:return"[v] [nedeljo] [ob] LT";case 3:return"[v] [sredo] [ob] LT";case 6:return"[v] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[v] dddd [ob] LT"}},lastDay:"[včeraj ob] LT",lastWeek:function(){switch(this.day()){case 0:return"[prejšnjo] [nedeljo] [ob] LT";case 3:return"[prejšnjo] [sredo] [ob] LT";case 6:return"[prejšnjo] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[prejšnji] dddd [ob] LT"}},sameElse:"L"},relativeTime:{future:"čez %s",past:"pred %s",s:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("sq",{months:"Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor".split("_"),monthsShort:"Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj".split("_"),weekdays:"E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë".split("_"),weekdaysShort:"Die_Hën_Mar_Mër_Enj_Pre_Sht".split("_"),weekdaysMin:"D_H_Ma_Më_E_P_Sh".split("_"),weekdaysParseExact:!0,meridiemParse:/PD|MD/,isPM:function(t){return"M"===t.charAt(0)},meridiem:function(t,e,n){return t<12?"PD":"MD"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Sot në] LT",nextDay:"[Nesër në] LT",nextWeek:"dddd [në] LT",lastDay:"[Dje në] LT",lastWeek:"dddd [e kaluar në] LT",sameElse:"L"},relativeTime:{future:"në %s",past:"%s më parë",s:"disa sekonda",m:"një minutë",mm:"%d minuta",h:"një orë",hh:"%d orë",d:"një ditë",dd:"%d ditë",M:"një muaj",MM:"%d muaj",y:"një vit",yy:"%d vite"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={words:{m:["jedan minut","jedne minute"],mm:["minut","minute","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mesec","meseca","meseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(t,e){return 1===t?e[0]:t>=2&&t<=4?e[1]:e[2]},translate:function(t,n,r){var i=e.words[r];return 1===r.length?n?i[0]:i[1]:t+" "+e.correctGrammaticalCase(t,i)}};return t.defineLocale("sr",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sre._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedelju] [u] LT";case 3:return"[u] [sredu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){return["[prošle] [nedelje] [u] LT","[prošlog] [ponedeljka] [u] LT","[prošlog] [utorka] [u] LT","[prošle] [srede] [u] LT","[prošlog] [četvrtka] [u] LT","[prošlog] [petka] [u] LT","[prošle] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"pre %s",s:"nekoliko sekundi",m:e.translate,mm:e.translate,h:e.translate,hh:e.translate,d:"dan",dd:e.translate,M:"mesec",MM:e.translate,y:"godinu",yy:e.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={words:{m:["један минут","једне минуте"],mm:["минут","минуте","минута"],h:["један сат","једног сата"],hh:["сат","сата","сати"],dd:["дан","дана","дана"],MM:["месец","месеца","месеци"],yy:["година","године","година"]},correctGrammaticalCase:function(t,e){return 1===t?e[0]:t>=2&&t<=4?e[1]:e[2]},translate:function(t,n,r){var i=e.words[r];return 1===r.length?n?i[0]:i[1]:t+" "+e.correctGrammaticalCase(t,i)}};return t.defineLocale("sr-cyrl",{months:"јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар".split("_"),monthsShort:"јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.".split("_"),monthsParseExact:!0,weekdays:"недеља_понедељак_уторак_среда_четвртак_петак_субота".split("_"),weekdaysShort:"нед._пон._уто._сре._чет._пет._суб.".split("_"),weekdaysMin:"не_по_ут_ср_че_пе_су".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[данас у] LT",nextDay:"[сутра у] LT",nextWeek:function(){switch(this.day()){case 0:return"[у] [недељу] [у] LT";case 3:return"[у] [среду] [у] LT";case 6:return"[у] [суботу] [у] LT";case 1:case 2:case 4:case 5:return"[у] dddd [у] LT"}},lastDay:"[јуче у] LT",lastWeek:function(){return["[прошле] [недеље] [у] LT","[прошлог] [понедељка] [у] LT","[прошлог] [уторка] [у] LT","[прошле] [среде] [у] LT","[прошлог] [четвртка] [у] LT","[прошлог] [петка] [у] LT","[прошле] [суботе] [у] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"за %s",past:"пре %s",s:"неколико секунди",m:e.translate,mm:e.translate,h:e.translate,hh:e.translate,d:"дан",dd:e.translate,M:"месец",MM:e.translate,y:"годину",yy:e.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("ss",{months:"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split("_"),monthsShort:"Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo".split("_"),weekdays:"Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo".split("_"),weekdaysShort:"Lis_Umb_Lsb_Les_Lsi_Lsh_Umg".split("_"),weekdaysMin:"Li_Us_Lb_Lt_Ls_Lh_Ug".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Namuhla nga] LT",nextDay:"[Kusasa nga] LT",nextWeek:"dddd [nga] LT",lastDay:"[Itolo nga] LT",lastWeek:"dddd [leliphelile] [nga] LT",sameElse:"L"},relativeTime:{future:"nga %s",past:"wenteka nga %s",s:"emizuzwana lomcane",m:"umzuzu",mm:"%d emizuzu",h:"lihora",hh:"%d emahora",d:"lilanga",dd:"%d emalanga",M:"inyanga",MM:"%d tinyanga",y:"umnyaka",yy:"%d iminyaka"},meridiemParse:/ekuseni|emini|entsambama|ebusuku/,meridiem:function(t,e,n){return t<11?"ekuseni":t<15?"emini":t<19?"entsambama":"ebusuku"},meridiemHour:function(t,e){return 12===t&&(t=0),"ekuseni"===e?t:"emini"===e?t>=11?t:t+12:"entsambama"===e||"ebusuku"===e?0===t?0:t+12:void 0},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:"%d",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("sv",{months:"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag".split("_"),weekdaysShort:"sön_mån_tis_ons_tor_fre_lör".split("_"),weekdaysMin:"sö_må_ti_on_to_fr_lö".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [kl.] HH:mm",LLLL:"dddd D MMMM YYYY [kl.] HH:mm",lll:"D MMM YYYY HH:mm",llll:"ddd D MMM YYYY HH:mm"},calendar:{sameDay:"[Idag] LT",nextDay:"[Imorgon] LT",lastDay:"[Igår] LT",nextWeek:"[På] dddd LT",lastWeek:"[I] dddd[s] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"för %s sedan",s:"några sekunder",m:"en minut",mm:"%d minuter",h:"en timme",hh:"%d timmar",d:"en dag",dd:"%d dagar",M:"en månad",MM:"%d månader",y:"ett år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}(e|a)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"e":1===e?"a":2===e?"a":"e")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("sw",{months:"Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des".split("_"),weekdays:"Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi".split("_"),weekdaysShort:"Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos".split("_"),weekdaysMin:"J2_J3_J4_J5_Al_Ij_J1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[leo saa] LT",nextDay:"[kesho saa] LT",nextWeek:"[wiki ijayo] dddd [saat] LT",lastDay:"[jana] LT",lastWeek:"[wiki iliyopita] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s baadaye",past:"tokea %s",s:"hivi punde",m:"dakika moja",mm:"dakika %d",h:"saa limoja",hh:"masaa %d",d:"siku moja",dd:"masiku %d",M:"mwezi mmoja",MM:"miezi %d",y:"mwaka mmoja",yy:"miaka %d"},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"௧",2:"௨",3:"௩",4:"௪",5:"௫",6:"௬",7:"௭",8:"௮",9:"௯",0:"௦"},n={"௧":"1","௨":"2","௩":"3","௪":"4","௫":"5","௬":"6","௭":"7","௮":"8","௯":"9","௦":"0"};return t.defineLocale("ta",{months:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),monthsShort:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),weekdays:"ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை".split("_"),weekdaysShort:"ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி".split("_"),weekdaysMin:"ஞா_தி_செ_பு_வி_வெ_ச".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, HH:mm",LLLL:"dddd, D MMMM YYYY, HH:mm"},calendar:{sameDay:"[இன்று] LT",nextDay:"[நாளை] LT",nextWeek:"dddd, LT",lastDay:"[நேற்று] LT",lastWeek:"[கடந்த வாரம்] dddd, LT",sameElse:"L"},relativeTime:{future:"%s இல்",past:"%s முன்",s:"ஒரு சில விநாடிகள்",m:"ஒரு நிமிடம்",mm:"%d நிமிடங்கள்",h:"ஒரு மணி நேரம்",hh:"%d மணி நேரம்",d:"ஒரு நாள்",dd:"%d நாட்கள்",M:"ஒரு மாதம்",MM:"%d மாதங்கள்",y:"ஒரு வருடம்",yy:"%d ஆண்டுகள்"},dayOfMonthOrdinalParse:/\d{1,2}வது/,ordinal:function(t){return t+"வது"},preparse:function(t){return t.replace(/[௧௨௩௪௫௬௭௮௯௦]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,meridiem:function(t,e,n){return t<2?" யாமம்":t<6?" வைகறை":t<10?" காலை":t<14?" நண்பகல்":t<18?" எற்பாடு":t<22?" மாலை":" யாமம்"},meridiemHour:function(t,e){return 12===t&&(t=0),"யாமம்"===e?t<2?t:t+12:"வைகறை"===e||"காலை"===e?t:"நண்பகல்"===e&&t>=10?t:t+12},week:{dow:0,doy:6}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("te",{months:"జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జూలై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్".split("_"),monthsShort:"జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జూలై_ఆగ._సెప్._అక్టో._నవ._డిసె.".split("_"),monthsParseExact:!0,weekdays:"ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం".split("_"),weekdaysShort:"ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని".split("_"),weekdaysMin:"ఆ_సో_మం_బు_గు_శు_శ".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[నేడు] LT",nextDay:"[రేపు] LT",nextWeek:"dddd, LT",lastDay:"[నిన్న] LT",lastWeek:"[గత] dddd, LT",sameElse:"L"},relativeTime:{future:"%s లో",past:"%s క్రితం",s:"కొన్ని క్షణాలు",m:"ఒక నిమిషం",mm:"%d నిమిషాలు",h:"ఒక గంట",hh:"%d గంటలు",d:"ఒక రోజు",dd:"%d రోజులు",M:"ఒక నెల",MM:"%d నెలలు",y:"ఒక సంవత్సరం",yy:"%d సంవత్సరాలు"},dayOfMonthOrdinalParse:/\d{1,2}వ/,ordinal:"%dవ",meridiemParse:/రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,meridiemHour:function(t,e){return 12===t&&(t=0),"రాత్రి"===e?t<4?t:t+12:"ఉదయం"===e?t:"మధ్యాహ్నం"===e?t>=10?t:t+12:"సాయంత్రం"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"రాత్రి":t<10?"ఉదయం":t<17?"మధ్యాహ్నం":t<20?"సాయంత్రం":"రాత్రి"},week:{dow:0,doy:6}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("tet",{months:"Janeiru_Fevereiru_Marsu_Abril_Maiu_Juniu_Juliu_Augustu_Setembru_Outubru_Novembru_Dezembru".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Aug_Set_Out_Nov_Dez".split("_"),weekdays:"Domingu_Segunda_Tersa_Kuarta_Kinta_Sexta_Sabadu".split("_"),weekdaysShort:"Dom_Seg_Ters_Kua_Kint_Sext_Sab".split("_"),weekdaysMin:"Do_Seg_Te_Ku_Ki_Sex_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Ohin iha] LT",nextDay:"[Aban iha] LT",nextWeek:"dddd [iha] LT",lastDay:"[Horiseik iha] LT",lastWeek:"dddd [semana kotuk] [iha] LT",sameElse:"L"},relativeTime:{future:"iha %s",past:"%s liuba",s:"minutu balun",m:"minutu ida",mm:"minutus %d",h:"horas ida",hh:"horas %d",d:"loron ida",dd:"loron %d",M:"fulan ida",MM:"fulan %d",y:"tinan ida",yy:"tinan %d"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("th",{months:"มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม".split("_"),monthsShort:"ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.".split("_"),monthsParseExact:!0,weekdays:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์".split("_"),weekdaysShort:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์".split("_"),weekdaysMin:"อา._จ._อ._พ._พฤ._ศ._ส.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY เวลา H:mm",LLLL:"วันddddที่ D MMMM YYYY เวลา H:mm"},meridiemParse:/ก่อนเที่ยง|หลังเที่ยง/,isPM:function(t){return"หลังเที่ยง"===t},meridiem:function(t,e,n){return t<12?"ก่อนเที่ยง":"หลังเที่ยง"},calendar:{sameDay:"[วันนี้ เวลา] LT",nextDay:"[พรุ่งนี้ เวลา] LT",nextWeek:"dddd[หน้า เวลา] LT",lastDay:"[เมื่อวานนี้ เวลา] LT",lastWeek:"[วัน]dddd[ที่แล้ว เวลา] LT",sameElse:"L"},relativeTime:{future:"อีก %s",past:"%sที่แล้ว",s:"ไม่กี่วินาที",m:"1 นาที",mm:"%d นาที",h:"1 ชั่วโมง",hh:"%d ชั่วโมง",d:"1 วัน",dd:"%d วัน",M:"1 เดือน",MM:"%d เดือน",y:"1 ปี",yy:"%d ปี"}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("tl-ph",{months:"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),monthsShort:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdays:"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY HH:mm",LLLL:"dddd, MMMM DD, YYYY HH:mm"},calendar:{sameDay:"LT [ngayong araw]",nextDay:"[Bukas ng] LT",nextWeek:"LT [sa susunod na] dddd",lastDay:"LT [kahapon]",lastWeek:"LT [noong nakaraang] dddd",sameElse:"L"},relativeTime:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",m:"isang minuto",mm:"%d minuto",h:"isang oras",hh:"%d oras",d:"isang araw",dd:"%d araw",M:"isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(t){return t},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t){var e=t;return e=-1!==t.indexOf("jaj")?e.slice(0,-3)+"leS":-1!==t.indexOf("jar")?e.slice(0,-3)+"waQ":-1!==t.indexOf("DIS")?e.slice(0,-3)+"nem":e+" pIq"}function n(t){var e=t;return e=-1!==t.indexOf("jaj")?e.slice(0,-3)+"Hu’":-1!==t.indexOf("jar")?e.slice(0,-3)+"wen":-1!==t.indexOf("DIS")?e.slice(0,-3)+"ben":e+" ret"}function r(t,e,n,r){var a=i(t);switch(n){case"mm":return a+" tup";case"hh":return a+" rep";case"dd":return a+" jaj";case"MM":return a+" jar";case"yy":return a+" DIS"}}function i(t){var e=Math.floor(t%1e3/100),n=Math.floor(t%100/10),r=t%10,i="";return e>0&&(i+=a[e]+"vatlh"),n>0&&(i+=(""!==i?" ":"")+a[n]+"maH"),r>0&&(i+=(""!==i?" ":"")+a[r]),""===i?"pagh":i}var a="pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut".split("_");return t.defineLocale("tlh",{months:"tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’".split("_"),monthsShort:"jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’".split("_"),monthsParseExact:!0,weekdays:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysShort:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysMin:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[DaHjaj] LT",nextDay:"[wa’leS] LT",nextWeek:"LLL",lastDay:"[wa’Hu’] LT",lastWeek:"LLL",sameElse:"L"},relativeTime:{future:e,past:n,s:"puS lup",m:"wa’ tup",mm:r,h:"wa’ rep",hh:r,d:"wa’ jaj",dd:r,M:"wa’ jar",MM:r,y:"wa’ DIS",yy:r},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'üncü",4:"'üncü",100:"'üncü",6:"'ncı",9:"'uncu",10:"'uncu",30:"'uncu",60:"'ıncı",90:"'ıncı"};return t.defineLocale("tr",{months:"Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık".split("_"),monthsShort:"Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara".split("_"),weekdays:"Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pts_Sal_Çar_Per_Cum_Cts".split("_"),weekdaysMin:"Pz_Pt_Sa_Ça_Pe_Cu_Ct".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[yarın saat] LT",nextWeek:"[haftaya] dddd [saat] LT",lastDay:"[dün] LT",lastWeek:"[geçen hafta] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s önce",s:"birkaç saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir yıl",yy:"%d yıl"},dayOfMonthOrdinalParse:/\d{1,2}'(inci|nci|üncü|ncı|uncu|ıncı)/,ordinal:function(t){if(0===t)return t+"'ıncı";var n=t%10,r=t%100-n,i=t>=100?100:null;return t+(e[n]||e[r]||e[i])},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n,r){var i={s:["viensas secunds","'iensas secunds"],m:["'n míut","'iens míut"],mm:[t+" míuts",t+" míuts"],h:["'n þora","'iensa þora"],hh:[t+" þoras",t+" þoras"],d:["'n ziua","'iensa ziua"],dd:[t+" ziuas",t+" ziuas"],M:["'n mes","'iens mes"],MM:[t+" mesen",t+" mesen"],y:["'n ar","'iens ar"],yy:[t+" ars",t+" ars"]};return r?i[n][0]:e?i[n][0]:i[n][1]}return t.defineLocale("tzl",{months:"Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar".split("_"),monthsShort:"Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec".split("_"),weekdays:"Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi".split("_"),weekdaysShort:"Súl_Lún_Mai_Már_Xhú_Vié_Sát".split("_"),weekdaysMin:"Sú_Lú_Ma_Má_Xh_Vi_Sá".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"D. MMMM [dallas] YYYY",LLL:"D. MMMM [dallas] YYYY HH.mm",LLLL:"dddd, [li] D. MMMM [dallas] YYYY HH.mm"},meridiemParse:/d\'o|d\'a/i,isPM:function(t){return"d'o"===t.toLowerCase()},meridiem:function(t,e,n){return t>11?n?"d'o":"D'O":n?"d'a":"D'A"},calendar:{sameDay:"[oxhi à] LT",nextDay:"[demà à] LT",nextWeek:"dddd [à] LT",lastDay:"[ieiri à] LT",lastWeek:"[sür el] dddd [lasteu à] LT",sameElse:"L"},relativeTime:{future:"osprei %s",past:"ja%s",s:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("tzm",{months:"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),monthsShort:"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),weekdays:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),weekdaysShort:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),weekdaysMin:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[ⴰⵙⴷⵅ ⴴ] LT",nextDay:"[ⴰⵙⴽⴰ ⴴ] LT",nextWeek:"dddd [ⴴ] LT",lastDay:"[ⴰⵚⴰⵏⵜ ⴴ] LT",lastWeek:"dddd [ⴴ] LT",sameElse:"L"},relativeTime:{future:"ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s",past:"ⵢⴰⵏ %s",s:"ⵉⵎⵉⴽ",m:"ⵎⵉⵏⵓⴺ",mm:"%d ⵎⵉⵏⵓⴺ",h:"ⵙⴰⵄⴰ",hh:"%d ⵜⴰⵙⵙⴰⵄⵉⵏ",d:"ⴰⵙⵙ",dd:"%d oⵙⵙⴰⵏ",M:"ⴰⵢoⵓⵔ",MM:"%d ⵉⵢⵢⵉⵔⵏ",y:"ⴰⵙⴳⴰⵙ",yy:"%d ⵉⵙⴳⴰⵙⵏ"},week:{dow:6,doy:12}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("tzm-latn",{months:"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),monthsShort:"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),weekdays:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),weekdaysShort:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),weekdaysMin:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[asdkh g] LT",nextDay:"[aska g] LT",nextWeek:"dddd [g] LT",lastDay:"[assant g] LT",lastWeek:"dddd [g] LT",sameElse:"L"},relativeTime:{future:"dadkh s yan %s",past:"yan %s",s:"imik",m:"minuḍ",mm:"%d minuḍ",h:"saɛa",hh:"%d tassaɛin",d:"ass",dd:"%d ossan",M:"ayowr",MM:"%d iyyirn",y:"asgas",yy:"%d isgasn"},week:{dow:6,doy:12}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e){var n=t.split("_");return e%10==1&&e%100!=11?n[0]:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?n[1]:n[2]}function n(t,n,r){var i={mm:n?"хвилина_хвилини_хвилин":"хвилину_хвилини_хвилин",hh:n?"година_години_годин":"годину_години_годин",dd:"день_дні_днів",MM:"місяць_місяці_місяців",yy:"рік_роки_років"};return"m"===r?n?"хвилина":"хвилину":"h"===r?n?"година":"годину":t+" "+e(i[r],+t)}function r(t,e){var n={nominative:"неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота".split("_"),accusative:"неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу".split("_"),genitive:"неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи".split("_")};return t?n[/(\[[ВвУу]\]) ?dddd/.test(e)?"accusative":/\[?(?:минулої|наступної)? ?\] ?dddd/.test(e)?"genitive":"nominative"][t.day()]:n.nominative}function i(t){return function(){return t+"о"+(11===this.hours()?"б":"")+"] LT"}}return t.defineLocale("uk",{months:{format:"січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня".split("_"),standalone:"січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень".split("_")},monthsShort:"січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд".split("_"),weekdays:r,weekdaysShort:"нд_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY р.",LLL:"D MMMM YYYY р., HH:mm",LLLL:"dddd, D MMMM YYYY р., HH:mm"},calendar:{sameDay:i("[Сьогодні "),nextDay:i("[Завтра "),lastDay:i("[Вчора "),nextWeek:i("[У] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return i("[Минулої] dddd [").call(this);case 1:case 2:case 4:return i("[Минулого] dddd [").call(this)}},sameElse:"L"},relativeTime:{future:"за %s",past:"%s тому",s:"декілька секунд",m:n,mm:n,h:"годину",hh:n,d:"день",dd:n,M:"місяць",MM:n,y:"рік",yy:n},meridiemParse:/ночі|ранку|дня|вечора/,isPM:function(t){return/^(дня|вечора)$/.test(t)},meridiem:function(t,e,n){return t<4?"ночі":t<12?"ранку":t<17?"дня":"вечора"},dayOfMonthOrdinalParse:/\d{1,2}-(й|го)/,ordinal:function(t,e){switch(e){case"M":case"d":case"DDD":case"w":case"W":return t+"-й";case"D":return t+"-го";default:return t}},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e=["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر"],n=["اتوار","پیر","منگل","بدھ","جمعرات","جمعہ","ہفتہ"];return t.defineLocale("ur",{months:e,monthsShort:e,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(t){return"شام"===t},meridiem:function(t,e,n){return t<12?"صبح":"شام"},calendar:{sameDay:"[آج بوقت] LT",nextDay:"[کل بوقت] LT",nextWeek:"dddd [بوقت] LT",lastDay:"[گذشتہ روز بوقت] LT",lastWeek:"[گذشتہ] dddd [بوقت] LT",sameElse:"L"},relativeTime:{future:"%s بعد",past:"%s قبل",s:"چند سیکنڈ",m:"ایک منٹ",mm:"%d منٹ",h:"ایک گھنٹہ",hh:"%d گھنٹے",d:"ایک دن",dd:"%d دن",M:"ایک ماہ",MM:"%d ماہ",y:"ایک سال",yy:"%d سال"},preparse:function(t){return t.replace(/،/g,",")},postformat:function(t){return t.replace(/,/g,"،")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("uz",{months:"январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр".split("_"),monthsShort:"янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек".split("_"),weekdays:"Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба".split("_"),weekdaysShort:"Якш_Душ_Сеш_Чор_Пай_Жум_Шан".split("_"),weekdaysMin:"Як_Ду_Се_Чо_Па_Жу_Ша".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Бугун соат] LT [да]",nextDay:"[Эртага] LT [да]",nextWeek:"dddd [куни соат] LT [да]",lastDay:"[Кеча соат] LT [да]",lastWeek:"[Утган] dddd [куни соат] LT [да]",sameElse:"L"},relativeTime:{future:"Якин %s ичида",past:"Бир неча %s олдин",s:"фурсат",m:"бир дакика",mm:"%d дакика",h:"бир соат",hh:"%d соат",d:"бир кун",dd:"%d кун",M:"бир ой",MM:"%d ой",y:"бир йил",yy:"%d йил"},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("uz-latn",{months:"Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr".split("_"),monthsShort:"Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek".split("_"),weekdays:"Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba".split("_"),weekdaysShort:"Yak_Dush_Sesh_Chor_Pay_Jum_Shan".split("_"),weekdaysMin:"Ya_Du_Se_Cho_Pa_Ju_Sha".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Bugun soat] LT [da]",nextDay:"[Ertaga] LT [da]",nextWeek:"dddd [kuni soat] LT [da]",lastDay:"[Kecha soat] LT [da]",lastWeek:"[O'tgan] dddd [kuni soat] LT [da]",sameElse:"L"},relativeTime:{future:"Yaqin %s ichida",past:"Bir necha %s oldin",s:"soniya",m:"bir daqiqa",mm:"%d daqiqa",h:"bir soat",hh:"%d soat",d:"bir kun",dd:"%d kun",M:"bir oy",MM:"%d oy",y:"bir yil",yy:"%d yil"},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("vi",{months:"tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12".split("_"),monthsShort:"Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12".split("_"),monthsParseExact:!0,weekdays:"chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy".split("_"),weekdaysShort:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysMin:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysParseExact:!0,meridiemParse:/sa|ch/i,isPM:function(t){return/^ch$/i.test(t)},meridiem:function(t,e,n){return t<12?n?"sa":"SA":n?"ch":"CH"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [năm] YYYY",LLL:"D MMMM [năm] YYYY HH:mm",LLLL:"dddd, D MMMM [năm] YYYY HH:mm",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[Hôm nay lúc] LT",nextDay:"[Ngày mai lúc] LT",nextWeek:"dddd [tuần tới lúc] LT",lastDay:"[Hôm qua lúc] LT",lastWeek:"dddd [tuần rồi lúc] LT",sameElse:"L"},relativeTime:{future:"%s tới",past:"%s trước",s:"vài giây",m:"một phút",mm:"%d phút",h:"một giờ",hh:"%d giờ",d:"một ngày",dd:"%d ngày",M:"một tháng",MM:"%d tháng",y:"một năm",yy:"%d năm"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(t){return t},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("x-pseudo",{months:"J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér".split("_"),monthsShort:"J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc".split("_"),monthsParseExact:!0,weekdays:"S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý".split("_"),weekdaysShort:"S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát".split("_"),weekdaysMin:"S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[T~ódá~ý át] LT",nextDay:"[T~ómó~rró~w át] LT",nextWeek:"dddd [át] LT",lastDay:"[Ý~ést~érdá~ý át] LT",lastWeek:"[L~ást] dddd [át] LT",sameElse:"L"},relativeTime:{future:"í~ñ %s",past:"%s á~gó",s:"á ~féw ~sécó~ñds",m:"á ~míñ~úté",mm:"%d m~íñú~tés",h:"á~ñ hó~úr",hh:"%d h~óúrs",d:"á ~dáý",dd:"%d d~áýs",M:"á ~móñ~th",MM:"%d m~óñt~hs",y:"á ~ýéár",yy:"%d ý~éárs"},dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("yo",{months:"Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀".split("_"),monthsShort:"Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀".split("_"),weekdays:"Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta".split("_"),weekdaysShort:"Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá".split("_"),weekdaysMin:"Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Ònì ni] LT",nextDay:"[Ọ̀la ni] LT",nextWeek:"dddd [Ọsẹ̀ tón'bọ] [ni] LT",lastDay:"[Àna ni] LT",lastWeek:"dddd [Ọsẹ̀ tólọ́] [ni] LT",sameElse:"L"},relativeTime:{future:"ní %s",past:"%s kọjá",s:"ìsẹjú aayá die",m:"ìsẹjú kan",mm:"ìsẹjú %d",h:"wákati kan",hh:"wákati %d",d:"ọjọ́ kan",dd:"ọjọ́ %d",M:"osù kan",MM:"osù %d",y:"ọdún kan",yy:"ọdún %d"},dayOfMonthOrdinalParse:/ọjọ́\s\d{1,2}/,ordinal:"ọjọ́ %d",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("zh-cn",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY年MMMD日",LL:"YYYY年MMMD日",LLL:"YYYY年MMMD日Ah点mm分",LLLL:"YYYY年MMMD日ddddAh点mm分",l:"YYYY年MMMD日",ll:"YYYY年MMMD日",lll:"YYYY年MMMD日 HH:mm",llll:"YYYY年MMMD日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(t,e){return 12===t&&(t=0),"凌晨"===e||"早上"===e||"上午"===e?t:"下午"===e||"晚上"===e?t+12:t>=11?t:t+12},meridiem:function(t,e,n){var r=100*t+e;return r<600?"凌晨":r<900?"早上":r<1130?"上午":r<1230?"中午":r<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|周)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"日";case"M":return t+"月";case"w":case"W":return t+"周";default:return t}},relativeTime:{future:"%s内",past:"%s前",s:"几秒",m:"1 分钟",mm:"%d 分钟",h:"1 小时",hh:"%d 小时",d:"1 天",dd:"%d 天",M:"1 个月",MM:"%d 个月",y:"1 年",yy:"%d 年"},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("zh-hk",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_週六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY年MMMD日",LL:"YYYY年MMMD日",LLL:"YYYY年MMMD日 HH:mm",LLLL:"YYYY年MMMD日dddd HH:mm",l:"YYYY年MMMD日",ll:"YYYY年MMMD日",lll:"YYYY年MMMD日 HH:mm",llll:"YYYY年MMMD日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(t,e){return 12===t&&(t=0),"凌晨"===e||"早上"===e||"上午"===e?t:"中午"===e?t>=11?t:t+12:"下午"===e||"晚上"===e?t+12:void 0},meridiem:function(t,e,n){var r=100*t+e;return r<600?"凌晨":r<900?"早上":r<1130?"上午":r<1230?"中午":r<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|週)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"日";case"M":return t+"月";case"w":case"W":return t+"週";default:return t}},relativeTime:{future:"%s內",past:"%s前",s:"幾秒",m:"1 分鐘",mm:"%d 分鐘",h:"1 小時",hh:"%d 小時",d:"1 天",dd:"%d 天",M:"1 個月",MM:"%d 個月",y:"1 年",yy:"%d 年"}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("zh-tw",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_週六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY年MMMD日",LL:"YYYY年MMMD日",LLL:"YYYY年MMMD日 HH:mm",LLLL:"YYYY年MMMD日dddd HH:mm",l:"YYYY年MMMD日",ll:"YYYY年MMMD日",lll:"YYYY年MMMD日 HH:mm",llll:"YYYY年MMMD日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(t,e){return 12===t&&(t=0),"凌晨"===e||"早上"===e||"上午"===e?t:"中午"===e?t>=11?t:t+12:"下午"===e||"晚上"===e?t+12:void 0},meridiem:function(t,e,n){var r=100*t+e;return r<600?"凌晨":r<900?"早上":r<1130?"上午":r<1230?"中午":r<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|週)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"日";case"M":return t+"月";case"w":case"W":return t+"週";default:return t}},relativeTime:{future:"%s內",past:"%s前",s:"幾秒",m:"1 分鐘",mm:"%d 分鐘",h:"1 小時",hh:"%d 小時",d:"1 天",dd:"%d 天",M:"1 個月",MM:"%d 個月",y:"1 年",yy:"%d 年"}})})},function(t,e,n){(function(t,r){var i=function(){function t(){this.yy={}}var e=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},n=[1,11],r=[1,12],i=[1,13],a=[1,15],o=[1,16],u=[1,17],s=[6,8],c=[1,26],l=[1,27],d=[1,28],h=[1,29],f=[1,30],_=[1,31],p=[6,8,13,17,23,26,27,28,29,30,31],m=[6,8,13,17,23,26,27,28,29,30,31,45,46,47],y=[23,45,46,47],g=[23,30,31,45,46,47],v=[23,26,27,28,29,45,46,47],M=[6,8,13],b=[1,46],L={trace:function(){},yy:{},symbols_:{error:2,mermaidDoc:3,graphConfig:4,CLASS_DIAGRAM:5,NEWLINE:6,statements:7,EOF:8,statement:9,className:10,alphaNumToken:11,relationStatement:12,LABEL:13,classStatement:14,methodStatement:15,CLASS:16,STRUCT_START:17,members:18,STRUCT_STOP:19,MEMBER:20,SEPARATOR:21,relation:22,STR:23,relationType:24,lineType:25,AGGREGATION:26,EXTENSION:27,COMPOSITION:28,DEPENDENCY:29,LINE:30,DOTTED_LINE:31,commentToken:32,textToken:33,graphCodeTokens:34,textNoTagsToken:35,TAGSTART:36,TAGEND:37,"==":38,"--":39,PCT:40,DEFAULT:41,SPACE:42,MINUS:43,keywords:44,UNICODE_TEXT:45,NUM:46,ALPHA:47,$accept:0,$end:1},terminals_:{2:"error",5:"CLASS_DIAGRAM",6:"NEWLINE",8:"EOF",13:"LABEL",16:"CLASS",17:"STRUCT_START",19:"STRUCT_STOP",20:"MEMBER",21:"SEPARATOR",23:"STR",26:"AGGREGATION",27:"EXTENSION",28:"COMPOSITION",29:"DEPENDENCY",30:"LINE",31:"DOTTED_LINE",34:"graphCodeTokens",36:"TAGSTART",37:"TAGEND",38:"==",39:"--",40:"PCT",41:"DEFAULT",42:"SPACE",43:"MINUS",44:"keywords",45:"UNICODE_TEXT",46:"NUM",47:"ALPHA"},productions_:[0,[3,1],[4,4],[7,1],[7,3],[10,2],[10,1],[9,1],[9,2],[9,1],[9,1],[14,2],[14,5],[18,1],[18,2],[15,1],[15,2],[15,1],[15,1],[12,3],[12,4],[12,4],[12,5],[22,3],[22,2],[22,2],[22,1],[24,1],[24,1],[24,1],[24,1],[25,1],[25,1],[32,1],[32,1],[33,1],[33,1],[33,1],[33,1],[33,1],[33,1],[33,1],[35,1],[35,1],[35,1],[35,1],[11,1],[11,1],[11,1]],performAction:function(t,e,n,r,i,a,o){var u=a.length-1;switch(i){case 5:this.$=a[u-1]+a[u];break;case 6:this.$=a[u];break;case 7:r.addRelation(a[u]);break;case 8:a[u-1].title=r.cleanupLabel(a[u]),r.addRelation(a[u-1]);break;case 12:r.addMembers(a[u-3],a[u-1]);break;case 13:this.$=[a[u]];break;case 14:a[u].push(a[u-1]),this.$=a[u];break;case 15:break;case 16:r.addMembers(a[u-1],r.cleanupLabel(a[u]));break;case 17:console.warn("Member",a[u]);break;case 18:break;case 19:this.$={id1:a[u-2],id2:a[u],relation:a[u-1],relationTitle1:"none",relationTitle2:"none"};break;case 20:this.$={id1:a[u-3],id2:a[u],relation:a[u-1],relationTitle1:a[u-2],relationTitle2:"none"};break;case 21:this.$={id1:a[u-3],id2:a[u],relation:a[u-2],relationTitle1:"none",relationTitle2:a[u-1]};break;case 22:this.$={id1:a[u-4],id2:a[u],relation:a[u-2],relationTitle1:a[u-3],relationTitle2:a[u-1]};break;case 23:this.$={type1:a[u-2],type2:a[u],lineType:a[u-1]};break;case 24:this.$={type1:"none",type2:a[u],lineType:a[u-1]};break;case 25:this.$={type1:a[u-1],type2:"none",lineType:a[u]};break;case 26:this.$={type1:"none",type2:"none",lineType:a[u]};break;case 27:this.$=r.relationType.AGGREGATION;break;case 28:this.$=r.relationType.EXTENSION;break;case 29:this.$=r.relationType.COMPOSITION;break;case 30:this.$=r.relationType.DEPENDENCY;break;case 31:this.$=r.lineType.LINE;break;case 32:this.$=r.lineType.DOTTED_LINE}},table:[{3:1,4:2,5:[1,3]},{1:[3]},{1:[2,1]},{6:[1,4]},{7:5,9:6,10:10,11:14,12:7,14:8,15:9,16:n,20:r,21:i,45:a,46:o,47:u},{8:[1,18]},{6:[1,19],8:[2,3]},e(s,[2,7],{13:[1,20]}),e(s,[2,9]),e(s,[2,10]),e(s,[2,15],{22:21,24:24,25:25,13:[1,23],23:[1,22],26:c,27:l,28:d,29:h,30:f,31:_}),{10:32,11:14,45:a,46:o,47:u},e(s,[2,17]),e(s,[2,18]),e(p,[2,6],{11:14,10:33,45:a,46:o,47:u}),e(m,[2,46]),e(m,[2,47]),e(m,[2,48]),{1:[2,2]},{7:34,9:6,10:10,11:14,12:7,14:8,15:9,16:n,20:r,21:i,45:a,46:o,47:u},e(s,[2,8]),{10:35,11:14,23:[1,36],45:a,46:o,47:u},{22:37,24:24,25:25,26:c,27:l,28:d,29:h,30:f,31:_},e(s,[2,16]),{25:38,30:f,31:_},e(y,[2,26],{24:39,26:c,27:l,28:d,29:h}),e(g,[2,27]),e(g,[2,28]),e(g,[2,29]),e(g,[2,30]),e(v,[2,31]),e(v,[2,32]),e(s,[2,11],{17:[1,40]}),e(p,[2,5]),{8:[2,4]},e(M,[2,19]),{10:41,11:14,45:a,46:o,47:u},{10:42,11:14,23:[1,43],45:a,46:o,47:u},e(y,[2,25],{24:44,26:c,27:l,28:d,29:h}),e(y,[2,24]),{18:45,20:b},e(M,[2,21]),e(M,[2,20]),{10:47,11:14,45:a,46:o,47:u},e(y,[2,23]),{19:[1,48]},{18:49,19:[2,13],20:b},e(M,[2,22]),e(s,[2,12]),{19:[2,14]}],defaultActions:{2:[2,1],18:[2,2],34:[2,4],49:[2,14]},parseError:function(t,e){if(!e.recoverable){var n=function(t,e){this.message=t,this.hash=e};throw n.prototype=Error,new n(t,e)}this.trace(t)},parse:function(t){var e=this,n=[0],r=[null],i=[],a=this.table,o="",u=0,s=0,c=0,l=i.slice.call(arguments,1),d=Object.create(this.lexer),h={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(h.yy[f]=this.yy[f]);d.setInput(t,h.yy),h.yy.lexer=d,h.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var _=d.yylloc;i.push(_);var p=d.options&&d.options.ranges;"function"==typeof h.yy.parseError?this.parseError=h.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var m,y,g,v,M,b,L,k,w,D={};;){if(g=n[n.length-1],this.defaultActions[g]?v=this.defaultActions[g]:(null!==m&&void 0!==m||(m=function(){var t;return t=d.lex()||1,"number"!=typeof t&&(t=e.symbols_[t]||t),t}()),v=a[g]&&a[g][m]),void 0===v||!v.length||!v[0]){var x="";w=[];for(b in a[g])this.terminals_[b]&&b>2&&w.push("'"+this.terminals_[b]+"'");x=d.showPosition?"Parse error on line "+(u+1)+":\n"+d.showPosition()+"\nExpecting "+w.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(u+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(x,{text:d.match,token:this.terminals_[m]||m,line:d.yylineno,loc:_,expected:w})}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+g+", token: "+m);switch(v[0]){case 1:n.push(m),r.push(d.yytext),i.push(d.yylloc),n.push(v[1]),m=null,y?(m=y,y=null):(s=d.yyleng,o=d.yytext,u=d.yylineno,_=d.yylloc,c>0&&c--);break;case 2:if(L=this.productions_[v[1]][1],D.$=r[r.length-L],D._$={first_line:i[i.length-(L||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(L||1)].first_column,last_column:i[i.length-1].last_column},p&&(D._$.range=[i[i.length-(L||1)].range[0],i[i.length-1].range[1]]),void 0!==(M=this.performAction.apply(D,[o,s,u,h.yy,v[1],r,i].concat(l))))return M;L&&(n=n.slice(0,-1*L*2),r=r.slice(0,-1*L),i=i.slice(0,-1*L)),n.push(this.productions_[v[1]][0]),r.push(D.$),i.push(D._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},k=function(){return{EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),r=t[0].match(/(?:\r\n?|\n).*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,n,r;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return t=this.conditionStack.length-1-Math.abs(t||0),t>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(t,e,n,r){switch(n){case 0:break;case 1:return 6;case 2:break;case 3:return 5;case 4:return this.begin("struct"),17;case 5:return this.popState(),19;case 6:break;case 7:return"MEMBER";case 8:return 16;case 9:this.begin("string");break;case 10:this.popState();break;case 11:return"STR";case 12:case 13:return 27;case 14:case 15:return 29;case 16:return 28;case 17:return 26;case 18:return 30;case 19:return 31;case 20:return 13;case 21:return 43;case 22:return"DOT";case 23:return"PLUS";case 24:return 40;case 25:case 26:return"EQUALS";case 27:return 47;case 28:return"PUNCTUATION";case 29:return 46;case 30:return 45;case 31:return 42;case 32:return 8}},rules:[/^(?:%%[^\n]*)/,/^(?:\n+)/,/^(?:\s+)/,/^(?:classDiagram\b)/,/^(?:[\{])/,/^(?:\})/,/^(?:[\n])/,/^(?:[^\{\}\n]*)/,/^(?:class\b)/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:--)/,/^(?:\.\.)/,/^(?::[^#\n;]+)/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:[A-Za-z]+)/,/^(?:[!"#$%&'*+,-.`?\\_\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:$)/],conditions:{string:{rules:[10,11],inclusive:!1},struct:{rules:[5,6,7],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,8,9,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32],inclusive:!0}}}}();return L.lexer=k,t.prototype=L,L.Parser=t,new t}();e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(r){r[1]||(console.log("Usage: "+r[0]+" FILE"),t.exit(1));var i=n(12).readFileSync(n(13).normalize(r[1]),"utf8");return e.parser.parse(i)},void 0!==r&&n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(e,n(11),n(4)(t))},function(t,e,n){var r,i=n(2),a=i.Log,o=[];r={},e.addClass=function(t){void 0===r[t]&&(r[t]={id:t,methods:[],members:[]})},e.clear=function(){o=[],r={}},t.exports.getClass=function(t){return r[t]},t.exports.getClasses=function(){return r},t.exports.getRelations=function(){return o},e.addRelation=function(t){a.warn("Adding relation: "+JSON.stringify(t)),e.addClass(t.id1),e.addClass(t.id2),o.push(t)},e.addMembers=function(t,e){var n=r[t];"string"==typeof e&&(")"===e.substr(-1)?n.methods.push(e):n.members.push(e))},e.cleanupLabel=function(t){return":"===t.substring(0,1)?t.substr(2).trim():t.trim()},e.lineType={LINE:0,DOTTED_LINE:1},e.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3}},function(t,e,n){(function(t,r){var i=function(){function t(){this.yy={}}var e=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},n=[2,3],r=[1,7],i=[7,12,15,17,19,20,21],a=[7,11,12,15,17,19,20,21],o=[2,20],u=[1,32],s={trace:function(){},yy:{},symbols_:{error:2,start:3,GG:4,":":5,document:6,EOF:7,DIR:8,options:9,body:10,OPT:11,NL:12,line:13,statement:14,COMMIT:15,commit_arg:16,BRANCH:17,ID:18,CHECKOUT:19,MERGE:20,RESET:21,reset_arg:22,STR:23,HEAD:24,reset_parents:25,CARET:26,$accept:0,$end:1},terminals_:{2:"error",4:"GG",5:":",7:"EOF",8:"DIR",11:"OPT",12:"NL",15:"COMMIT",17:"BRANCH",18:"ID",19:"CHECKOUT",20:"MERGE",21:"RESET",23:"STR",24:"HEAD",26:"CARET"},productions_:[0,[3,4],[3,5],[6,0],[6,2],[9,2],[9,1],[10,0],[10,2],[13,2],[13,1],[14,2],[14,2],[14,2],[14,2],[14,2],[16,0],[16,1],[22,2],[22,2],[25,0],[25,2]],performAction:function(t,e,n,r,i,a,o){var u=a.length-1;switch(i){case 1:return a[u-1];case 2:return r.setDirection(a[u-3]),a[u-1];case 4:r.setOptions(a[u-1]),this.$=a[u];break;case 5:a[u-1]+=a[u],this.$=a[u-1];break;case 7:this.$=[];break;case 8:a[u-1].push(a[u]),this.$=a[u-1];break;case 9:this.$=a[u-1];break;case 11:r.commit(a[u]);break;case 12:r.branch(a[u]);break;case 13:r.checkout(a[u]);break;case 14:r.merge(a[u]);break;case 15:r.reset(a[u]);break;case 16:this.$="";break;case 17:this.$=a[u];break;case 18:this.$=a[u-1]+":"+a[u];break;case 19:this.$=a[u-1]+":"+r.count,r.count=0;break;case 20:r.count=0;break;case 21:r.count+=1}},table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3],8:[1,4]},{6:5,7:n,9:6,12:r},{5:[1,8]},{7:[1,9]},e(i,[2,7],{10:10,11:[1,11]}),e(a,[2,6]),{6:12,7:n,9:6,12:r},{1:[2,1]},{7:[2,4],12:[1,15],13:13,14:14,15:[1,16],17:[1,17],19:[1,18],20:[1,19],21:[1,20]},e(a,[2,5]),{7:[1,21]},e(i,[2,8]),{12:[1,22]},e(i,[2,10]),{12:[2,16],16:23,23:[1,24]},{18:[1,25]},{18:[1,26]},{18:[1,27]},{18:[1,30],22:28,24:[1,29]},{1:[2,2]},e(i,[2,9]),{12:[2,11]},{12:[2,17]},{12:[2,12]},{12:[2,13]},{12:[2,14]},{12:[2,15]},{12:o,25:31,26:u},{12:o,25:33,26:u},{12:[2,18]},{12:o,25:34,26:u},{12:[2,19]},{12:[2,21]}],defaultActions:{9:[2,1],21:[2,2],23:[2,11],24:[2,17],25:[2,12],26:[2,13],27:[2,14],28:[2,15],31:[2,18],33:[2,19],34:[2,21]},parseError:function(t,e){if(!e.recoverable){var n=function(t,e){this.message=t,this.hash=e};throw n.prototype=Error,new n(t,e)}this.trace(t)},parse:function(t){var e=this,n=[0],r=[null],i=[],a=this.table,o="",u=0,s=0,c=0,l=i.slice.call(arguments,1),d=Object.create(this.lexer),h={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(h.yy[f]=this.yy[f]);d.setInput(t,h.yy),h.yy.lexer=d,h.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var _=d.yylloc;i.push(_);var p=d.options&&d.options.ranges;"function"==typeof h.yy.parseError?this.parseError=h.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var m,y,g,v,M,b,L,k,w,D={};;){if(g=n[n.length-1],this.defaultActions[g]?v=this.defaultActions[g]:(null!==m&&void 0!==m||(m=function(){var t;return t=d.lex()||1,"number"!=typeof t&&(t=e.symbols_[t]||t),t}()),v=a[g]&&a[g][m]),void 0===v||!v.length||!v[0]){var x="";w=[];for(b in a[g])this.terminals_[b]&&b>2&&w.push("'"+this.terminals_[b]+"'");x=d.showPosition?"Parse error on line "+(u+1)+":\n"+d.showPosition()+"\nExpecting "+w.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(u+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(x,{text:d.match,token:this.terminals_[m]||m,line:d.yylineno,loc:_,expected:w})}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+g+", token: "+m);switch(v[0]){case 1:n.push(m),r.push(d.yytext),i.push(d.yylloc),n.push(v[1]),m=null,y?(m=y,y=null):(s=d.yyleng,o=d.yytext,u=d.yylineno,_=d.yylloc,c>0&&c--);break;case 2:if(L=this.productions_[v[1]][1],D.$=r[r.length-L],D._$={first_line:i[i.length-(L||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(L||1)].first_column,last_column:i[i.length-1].last_column},p&&(D._$.range=[i[i.length-(L||1)].range[0],i[i.length-1].range[1]]),void 0!==(M=this.performAction.apply(D,[o,s,u,h.yy,v[1],r,i].concat(l))))return M;L&&(n=n.slice(0,-1*L*2),r=r.slice(0,-1*L),i=i.slice(0,-1*L)),n.push(this.productions_[v[1]][0]),r.push(D.$),i.push(D._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},c=function(){return{EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),r=t[0].match(/(?:\r\n?|\n).*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,n,r;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return t=this.conditionStack.length-1-Math.abs(t||0),t>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,r){switch(n){case 0:return 12;case 1:case 2:case 3:break;case 4:return 4;case 5:return 15;case 6:return 17;case 7:return 20;case 8:return 21;case 9:return 19;case 10:case 11:return 8;case 12:return 5;case 13:return 26;case 14:this.begin("options");break;case 15:this.popState();break;case 16:return 11;case 17:this.begin("string");break;case 18:this.popState();break;case 19:return 23;case 20:return 18;case 21:return 7}},rules:[/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:gitGraph\b)/i,/^(?:commit\b)/i,/^(?:branch\b)/i,/^(?:merge\b)/i,/^(?:reset\b)/i,/^(?:checkout\b)/i,/^(?:LR\b)/i,/^(?:BT\b)/i,/^(?::)/i,/^(?:\^)/i,/^(?:options\r?\n)/i,/^(?:end\r?\n)/i,/^(?:[^\n]+\r?\n)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[a-zA-Z][a-zA-Z0-9_]+)/i,/^(?:$)/i],conditions:{options:{rules:[15,16],inclusive:!1},string:{rules:[18,19],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,17,20,21],inclusive:!0}}}}();return s.lexer=c,t.prototype=s,s.Parser=t,new t}();e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(r){r[1]||(console.log("Usage: "+r[0]+" FILE"),t.exit(1));var i=n(12).readFileSync(n(13).normalize(r[1]),"utf8");return e.parser.parse(i)},void 0!==r&&n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(e,n(11),n(4)(t))},function(t,e,n){function r(t,e){return Math.floor(Math.random()*(e-t))+t}function i(){for(var t="",e=0;e<7;e++)t+="0123456789abcdef"[r(0,16)];return t}function a(t,e){for(l.debug("Entering isfastforwardable:",t.id,e.id);t.seq<=e.seq&&t!==e&&null!=e.parent;){if(Array.isArray(e.parent))return l.debug("In merge commit:",e.parent),a(t,h[e.parent[0]])||a(t,h[e.parent[1]]);e=h[e.parent]}return l.debug(t.id,e.id),t.id===e.id}function o(t,e){return t.seq>e.seq&&a(e,t)}function u(t,e,n){var r=t.indexOf(e);-1===r?t.push(n):t.splice(r,1,n)}function s(t){var e=d.maxBy(t,"seq"),n="";t.forEach(function(t){n+=t===e?"\t*":"\t|"});var r=[n,e.id,e.seq];if(d.each(_,function(t,n){t===e.id&&r.push(n)}),l.debug(r.join(" ")),Array.isArray(e.parent)){var i=h[e.parent[0]];u(t,e,i),t.push(h[e.parent[1]])}else{if(null==e.parent)return;var a=h[e.parent];u(t,e,a)}t=d.uniqBy(t,"id"),s(t)}var c=n(2),l=c.Log,d=n(16),h={},f=null,_={master:f},p="master",m="LR",y=0;e.setDirection=function(t){m=t};var g={};e.setOptions=function(t){l.debug("options str",t),t=t&&t.trim(),t=t||"{}";try{g=JSON.parse(t)}catch(t){l.error("error while parsing gitGraph options",t.message)}},e.getOptions=function(){return g},e.commit=function(t){var e={id:i(),message:t,seq:y++,parent:null==f?null:f.id};f=e,h[e.id]=e,_[p]=e.id,l.debug("in pushCommit "+e.id)},e.branch=function(t){_[t]=null!=f?f.id:null,l.debug("in createBranch")},e.merge=function(t){var e=h[_[p]],n=h[_[t]];if(o(e,n))return void l.debug("Already merged");if(a(e,n))_[p]=_[t],f=h[_[p]];else{var r={id:i(),message:"merged branch "+t+" into "+p,seq:y++,parent:[null==f?null:f.id,_[t]]};f=r,h[r.id]=r,_[p]=r.id}l.debug(_),l.debug("in mergeBranch")},e.checkout=function(t){l.debug("in checkout"),p=t;var e=_[p];f=h[e]},e.reset=function(t){l.debug("in reset",t);var e=t.split(":")[0],n=parseInt(t.split(":")[1]),r="HEAD"===e?f:h[_[e]];for(l.debug(r,n);n>0;)if(r=h[r.parent],n--,!r){var i="Critical error - unique parent commit not found during reset";throw l.error(i),i}f=r,_[p]=r.id},e.prettyPrint=function(){l.debug(h),s([e.getCommitsArray()[0]])},e.clear=function(){h={},f=null,_={master:f},p="master",y=0},e.getBranchesAsObjArray=function(){return d.map(_,function(t,e){return{name:e,commit:h[t]}})},e.getBranches=function(){return _},e.getCommits=function(){return h},e.getCommitsArray=function(){var t=Object.keys(h).map(function(t){return h[t]});return t.forEach(function(t){l.debug(t.id)}),d.orderBy(t,["seq"],["desc"])},e.getCurrentBranch=function(){return p},e.getDirection=function(){return m},e.getHead=function(){return f}},function(t,e){t.exports={name:"mermaid",version:"7.0.5",description:"Markdownish syntax for generating flowcharts, sequence diagrams, class diagrams, gantt charts and git graphs.",main:"src/mermaid.js",keywords:["diagram","markdown","flowchart","sequence diagram","gantt","class diagram","git graph"],bin:{mermaid:"./bin/mermaid.js"},scripts:{build:"node -r babel-register ./node_modules/.bin/webpack --progress --colors",watch:"yarn build -- --watch",release:"yarn build -- -p --config webpack.config.prod.js",upgrade:"yarn-upgrade-all && yarn remove d3 && yarn add d3@3.5.17",lint:"node_modules/.bin/standard",karma:"node node_modules/karma/bin/karma start karma.conf.js --single-run",tape:"node node_modules/tape/bin/tape test/cli_test-*.js",test:"yarn lint && yarn tape && yarn karma",live:"live-server ./test/examples",jison:"gulp jison_legacy",live_server:"gulp live-server",prepublishOnly:"yarn build && yarn release && yarn test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"Knut Sveidqvist",license:"MIT",standard:{ignore:["**/parser/*.js","dist/**/*.js"]},dependencies:{chalk:"^2.1.0",d3:"3.5.17",dagre:"^0.7.4","dagre-d3-renderer":"^0.1.6",he:"^1.1.1",lodash:"^4.17.4",minimist:"^1.2.0",mkdirp:"^0.5.1",moment:"^2.18.1",semver:"^5.4.1",which:"^1.3.0"},devDependencies:{async:"^2.5.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-plugin-transform-remove-strict-mode":"^0.0.2","babel-preset-env":"^1.6.0","babel-preset-es2015":"^6.24.1",clone:"^2.1.1","codeclimate-test-reporter":"^0.5.0","css-loader":"^0.28.7",dox:"^0.9.0","event-stream":"^3.3.4","extract-text-webpack-plugin":"^3.0.0","front-matter":"^2.2.0",gulp:"^3.9.1","gulp-bower":"^0.0.13","gulp-bump":"^2.7.0","gulp-concat":"^2.6.1","gulp-data":"^1.2.1","gulp-dox":"^0.1.6","gulp-ext-replace":"^0.3.0","gulp-filelog":"^0.4.1","gulp-front-matter":"^1.3.0","gulp-hogan":"^2.0.0","gulp-if":"^2.0.2","gulp-insert":"^0.5.0","gulp-istanbul":"^1.1.2","gulp-jasmine":"^2.4.2","gulp-jasmine-browser":"^1.9.0","gulp-jison":"^1.2.0","gulp-less":"^3.3.2","gulp-livereload":"^3.8.1","gulp-marked":"^1.0.0","gulp-mdvars":"^2.0.0","gulp-qunit":"^1.5.0","gulp-rename":"^1.2.2","gulp-shell":"^0.6.3","gulp-tag-version":"^1.3.0","gulp-util":"^3.0.8","gulp-vartree":"^2.0.1","hogan.js":"^3.0.2","inject-loader":"^3.0.1",jasmine:"^2.8.0","jasmine-es6":"^0.4.1",jison:"^0.4.17",jsdom:"^11.2.0",karma:"^1.7.1","karma-chrome-launcher":"^2.2.0","karma-jasmine":"^1.1.0","karma-webpack":"^2.0.4",less:"^2.7.2","less-loader":"^4.0.5","live-server":"^1.2.0","map-stream":"^0.0.7",marked:"^0.3.6","mock-browser":"^0.92.14","phantomjs-prebuilt":"^2.1.15","require-dir":"^0.3.2",rimraf:"^2.6.1",standard:"^10.0.3","style-loader":"^0.18.2",tape:"^4.8.0",webpack:"^3.5.5","webpack-node-externals":"^1.6.0","yarn-upgrade-all":"^0.1.8"},files:["bin","dist","lib","src"]}},function(t,e,n){(function(r){var i=n(2),a=i.Log,o=n(171),u=0,s=n(250);t.exports.mermaidAPI=o;var c=function(){var t=o.getConfig();a.debug("Starting rendering diagrams");var e;arguments.length>=2?(/*! sequence config was passed as #1 */
+void 0!==arguments[0]&&(r.mermaid.sequenceConfig=arguments[0]),e=arguments[1]):e=arguments[0];var n;"function"==typeof arguments[arguments.length-1]?(n=arguments[arguments.length-1],a.debug("Callback function found")):void 0!==t.mermaid&&("function"==typeof t.mermaid.callback?(n=t.mermaid.callback,a.debug("Callback function found")):a.debug("No Callback function found")),e=void 0===e?document.querySelectorAll(".mermaid"):"string"==typeof e?document.querySelectorAll(e):e instanceof window.Node?[e]:e,void 0!==r.mermaid_config&&o.initialize(r.mermaid_config),a.debug("Start On Load before: "+r.mermaid.startOnLoad),void 0!==r.mermaid.startOnLoad&&(a.debug("Start On Load inner: "+r.mermaid.startOnLoad),o.initialize({startOnLoad:r.mermaid.startOnLoad})),void 0!==r.mermaid.ganttConfig&&o.initialize({gantt:r.mermaid.ganttConfig});for(var i,c=function(t,e){d.innerHTML=t,void 0!==n&&n(h),e(d)},l=0;l<e.length;l++){var d=e[l];/*! Check if previously processed */
+if(!d.getAttribute("data-processed")){d.setAttribute("data-processed",!0);var h="mermaidChart"+u++;i=d.innerHTML,i=s.decode(i).trim(),o.render(h,i,c,d)}}};e.init=c,e.parse=o.parse,e.version=function(){return"v"+n(169).version},e.initialize=function(t){a.debug("Initializing mermaid"),void 0!==t.mermaid&&(void 0!==t.mermaid.startOnLoad&&(r.mermaid.startOnLoad=t.mermaid.startOnLoad),void 0!==t.mermaid.htmlLabels&&(r.mermaid.htmlLabels=t.mermaid.htmlLabels)),o.initialize(t)};var l=function(t,e){return void 0!==e&&t===e};r.mermaid={startOnLoad:!0,htmlLabels:!0,init:function(){c.apply(null,arguments)},initialize:function(t){e.initialize(t)},version:function(){return o.version()},parse:function(t){return o.parse(t)},parseError:function(t){a.debug("Mermaid Syntax error:"),a.debug(t)},render:function(t,e,n,r){return o.render(t,e,n,r)}},e.parseError=r.mermaid.parseError,e.contentLoaded=function(){var t;void 0!==r.mermaid_config&&l(!1,r.mermaid_config.htmlLabels)&&(r.mermaid.htmlLabels=!1),r.mermaid.startOnLoad?void 0!==r.mermaid_config?l(!0,r.mermaid_config.startOnLoad)&&r.mermaid.init():(t=o.getConfig(),t.startOnLoad&&r.mermaid.init()):void 0===r.mermaid.startOnLoad&&(a.debug("In start, no config"),t=o.getConfig(),t.startOnLoad&&r.mermaid.init())},"undefined"!=typeof document&&/*!
+ * Wait for document loaded before starting the execution
+ */
+window.addEventListener("load",function(){e.contentLoaded()},!1)}).call(e,n(9))},function(t,e,n){(function(t){var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=n(2),a=i.Log,o=n(22),u=n(23),s=n(172),c=n(243),l=n(245),d=n(47),h=n(25),f=n(26),_=n(44),p=n(45),m=n(46),y=n(246),g=n(48),v=n(49),M=n(165),b=n(248),L=n(166),k=n(167),w=n(249),D=n(168),x=n(10),Y={logLevel:5,cloneCssStyles:!0,startOnLoad:!0,arrowMarkerAbsolute:!1,flowchart:{htmlLabels:!0,useMaxWidth:!0},sequenceDiagram:{diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,mirrorActors:!0,bottomMarginAdj:1,useMaxWidth:!0},gantt:{titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,leftPadding:75,gridLineStartPadding:35,fontSize:11,fontFamily:'"Open-Sans", "sans-serif"',numberSectionStyles:3,axisFormatter:[["%I:%M",function(t){return t.getHours()}],["w. %U",function(t){return 1===t.getDay()}],["%a %d",function(t){return t.getDay()&&1!==t.getDate()}],["%b %d",function(t){return 1!==t.getDate()}],["%m-%y",function(t){return t.getMonth()}]]},classDiagram:{},gitGraph:{},info:{}};i.setLogLevel(Y.logLevel);var T=function(t){var e,n=u.detectType(t);switch(n){case"gitGraph":e=k,e.parser.yy=D;break;case"graph":e=h,e.parser.yy=o;break;case"dotGraph":e=f,e.parser.yy=o;break;case"sequenceDiagram":e=_,e.parser.yy=p;break;case"info":e=d,e.parser.yy=m;break;case"gantt":e=g,e.parser.yy=v;break;case"classDiagram":e=M,e.parser.yy=L}try{return e.parse(t),!0}catch(t){return!1}};e.parse=T,e.version=function(){return n(169).version},e.encodeEntities=function(t){var e=t;return e=e.replace(/style.*:\S*#.*;/g,function(t){return t.substring(0,t.length-1)}),e=e.replace(/classDef.*:\S*#.*;/g,function(t){return t.substring(0,t.length-1)}),e=e.replace(/#\w+;/g,function(t){var e=t.substring(1,t.length-1);return/^\+?\d+$/.test(e)?"fl°°"+e+"¶ß":"fl°"+e+"¶ß"})},e.decodeEntities=function(t){var e=t;return e=e.replace(/fl°°/g,function(){return"&#"}),e=e.replace(/fl°/g,function(){return"&"}),e=e.replace(/¶ß/g,function(){return";"})};var A=function(t,n,r,i){if(void 0!==i)i.innerHTML="",x.select(i).append("div").attr("id","d"+t).append("svg").attr("id",t).attr("width","100%").attr("xmlns","http://www.w3.org/2000/svg").append("g");else{var d=document.querySelector("#d"+t);d&&(d.innerHTML=""),x.select("body").append("div").attr("id","d"+t).append("svg").attr("id",t).attr("width","100%").attr("xmlns","http://www.w3.org/2000/svg").append("g")}window.txt=n,n=e.encodeEntities(n);var h=x.select("#d"+t).node(),f=u.detectType(n),_={};switch(f){case"gitGraph":Y.flowchart.arrowMarkerAbsolute=Y.arrowMarkerAbsolute,w.setConf(Y.gitGraph),w.draw(n,t,!1);break;case"graph":Y.flowchart.arrowMarkerAbsolute=Y.arrowMarkerAbsolute,s.setConf(Y.flowchart),s.draw(n,t,!1),Y.cloneCssStyles&&(_=s.getClasses(n,!1),u.cloneCssStyles(h.firstChild,_));break;case"dotGraph":Y.flowchart.arrowMarkerAbsolute=Y.arrowMarkerAbsolute,s.setConf(Y.flowchart),s.draw(n,t,!0),Y.cloneCssStyles&&(_=s.getClasses(n,!0),u.cloneCssStyles(h.firstChild,_));break;case"sequenceDiagram":Y.sequenceDiagram.arrowMarkerAbsolute=Y.arrowMarkerAbsolute,c.setConf(Y.sequenceDiagram),c.draw(n,t),Y.cloneCssStyles&&u.cloneCssStyles(h.firstChild,[]);break;case"gantt":Y.gantt.arrowMarkerAbsolute=Y.arrowMarkerAbsolute,y.setConf(Y.gantt),y.draw(n,t),Y.cloneCssStyles&&u.cloneCssStyles(h.firstChild,[]);break;case"classDiagram":Y.classDiagram.arrowMarkerAbsolute=Y.arrowMarkerAbsolute,b.setConf(Y.classDiagram),b.draw(n,t),Y.cloneCssStyles&&u.cloneCssStyles(h.firstChild,[]);break;case"info":Y.info.arrowMarkerAbsolute=Y.arrowMarkerAbsolute,l.draw(n,t,e.version()),Y.cloneCssStyles&&u.cloneCssStyles(h.firstChild,[])}x.select("#d"+t).selectAll("foreignobject div").attr("xmlns","http://www.w3.org/1999/xhtml");var p="";Y.arrowMarkerAbsolute&&(p=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,p=p.replace(/\(/g,"\\("),p=p.replace(/\)/g,"\\)"));var m=x.select("#d"+t).node().innerHTML.replace(/url\(#arrowhead/g,"url("+p+"#arrowhead","g");m=e.decodeEntities(m),void 0!==r?r(m,o.bindFunctions):a.warn("CB = undefined!");var g=x.select("#d"+t).node();return null!==g&&"function"==typeof g.remove&&x.select("#d"+t).node().remove(),m};e.render=function(t,e,n,r){try{if(1===arguments.length&&(e=t,t="mermaidId0"),"undefined"!=typeof document)return A(t,e,n,r)}catch(t){a.warn(t)}};var E=function(t){var e,n=Object.keys(t);for(e=0;e<n.length;e++)if("object"===r(t[n[e]])){var i,o=Object.keys(t[n[e]]);for(i=0;i<o.length;i++)a.debug("Setting conf ",n[e],"-",o[i]),void 0===Y[n[e]]&&(Y[n[e]]={}),a.debug("Setting config: "+n[e]+" "+o[i]+" to "+t[n[e]][o[i]]),Y[n[e]][o[i]]=t[n[e]][o[i]]}else Y[n[e]]=t[n[e]]};e.initialize=function(t){a.debug("Initializing mermaidAPI"),"object"===(void 0===t?"undefined":r(t))&&E(t),i.setLogLevel(Y.logLevel)},e.getConfig=function(){return Y},e.parseError=function(e,n){"undefined"!=typeof mermaid?t.mermaid.parseError(e,n):(a.debug("Mermaid Syntax error:"),a.debug(e))},t.mermaidAPI={render:e.render,parse:e.parse,initialize:e.initialize,detectType:u.detectType,parseError:e.parseError,getConfig:e.getConfig}}).call(e,n(9))},function(t,e,n){var r=n(22),i=n(25),a=n(26),o=n(10),u=n(173),s=n(2),c=s.Log,l={};t.exports.setConf=function(t){var e,n=Object.keys(t);for(e=0;e<n.length;e++)l[n[e]]=t[n[e]]},e.addVertices=function(t,e){var n=function(t,e){var n;for(n=0;n<e.length;n++)void 0!==e[n]&&(t=t+e[n]+";");return t};Object.keys(t).forEach(function(r){var i,a=t[r],o="";a.classes.length>0&&(o=a.classes.join(" "));var u="";u=n(u,a.styles),i=void 0===a.text?a.id:a.text;var s="";if(l.htmlLabels)s="html",i=i.replace(/fa:fa[\w-]+/g,function(t){return'<i class="fa '+t.substring(3)+'"></i>'});else{var c=document.createElementNS("http://www.w3.org/2000/svg","text"),d=i.split(/<br>/),h=0;for(h=0;h<d.length;h++){var f=document.createElementNS("http://www.w3.org/2000/svg","tspan");f.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),f.setAttribute("dy","1em"),f.setAttribute("x","1"),f.textContent=d[h],c.appendChild(f)}s="svg",i=c}var _=0,p="";switch(a.type){case"round":_=5,p="rect";break;case"square":p="rect";break;case"diamond":p="question";break;case"odd":case"odd_right":p="rect_left_inv_arrow";break;case"circle":p="circle";break;case"ellipse":p="ellipse";break;case"group":p="rect",i=l.htmlLabels?"":document.createElementNS("http://www.w3.org/2000/svg","text");break;default:p="rect"}e.setNode(a.id,{labelType:s,shape:p,label:i,rx:_,ry:_,class:o,style:u,id:a.id})})},e.addEdges=function(t,e){var n,r=0;void 0!==t.defaultStyle&&(n=t.defaultStyle.toString().replace(/,/g,";")),t.forEach(function(i){r++;var a={};"arrow_open"===i.type?a.arrowhead="none":a.arrowhead="normal";var o="";if(void 0!==i.style)i.style.forEach(function(t){o=o+t+";"});else switch(i.stroke){case"normal":o="fill:none",void 0!==n&&(o=n);break;case"dotted":o="stroke: #333; fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":o="stroke: #333; stroke-width: 3.5px;fill:none"}a.style=o,void 0!==i.interpolate?a.lineInterpolate=i.interpolate:void 0!==t.defaultInterpolate&&(a.lineInterpolate=t.defaultInterpolate),void 0===i.text?void 0!==i.style&&(a.arrowheadStyle="fill: #333"):(a.arrowheadStyle="fill: #333",void 0===i.style?(a.labelpos="c",l.htmlLabels?(a.labelType="html",a.label='<span class="edgeLabel">'+i.text+"</span>"):(a.labelType="text",a.style="stroke: #333; stroke-width: 1.5px;fill:none",a.label=i.text.replace(/<br>/g,"\n"))):a.label=i.text.replace(/<br>/g,"\n")),e.setEdge(i.start,i.end,a,r)})},e.getClasses=function(t,e){var n;r.clear(),n=e?a.parser:i.parser,n.yy=r,n.parse(t);var o=r.getClasses();return void 0===o.default&&(o.default={id:"default"},o.default.styles=[],o.default.clusterStyles=["rx:4px","fill: rgb(255, 255, 222)","rx: 4px","stroke: rgb(170, 170, 51)","stroke-width: 1px"],o.default.nodeLabelStyles=["fill:#000","stroke:none","font-weight:300",'font-family:"Helvetica Neue",Helvetica,Arial,sans-serf',"font-size:14px"],o.default.edgeLabelStyles=["fill:#000","stroke:none","font-weight:300",'font-family:"Helvetica Neue",Helvetica,Arial,sans-serf',"font-size:14px"]),o},e.draw=function(t,n,s){c.debug("Drawing flowchart");var d;r.clear(),d=s?a.parser:i.parser,d.yy=r;try{d.parse(t)}catch(t){c.debug("Parsing failed")}var h;void 0===(h=r.getDirection())&&(h="TD");var f,_=new u.graphlib.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:h,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),p=r.getSubGraphs(),m=0;for(m=p.length-1;m>=0;m--)f=p[m],r.addVertex(f.id,f.title,"group",void 0);var y=r.getVertices(),g=r.getEdges();m=0;var v;for(m=p.length-1;m>=0;m--)for(f=p[m],o.selectAll("cluster").append("text"),v=0;v<f.nodes.length;v++)_.setParent(f.nodes[v],f.id);e.addVertices(y,_),e.addEdges(g,_);var M=u.render,b=new M;b.shapes().question=function(t,e,n){var r=e.width,i=e.height,a=.8*(r+i),o=[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}],s=t.insert("polygon",":first-child").attr("points",o.map(function(t){return t.x+","+t.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-a/2+","+2*a/4+")");return n.intersect=function(t){return u.intersect.polygon(n,o,t)},s},b.shapes().rect_left_inv_arrow=function(t,e,n){var r=e.width,i=e.height,a=[{x:-i/2,y:0},{x:r,y:0},{x:r,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=t.insert("polygon",":first-child").attr("points",a.map(function(t){return t.x+","+t.y}).join(" ")).attr("transform","translate("+-r/2+","+2*i/4+")");return n.intersect=function(t){return u.intersect.polygon(n,a,t)},o},b.shapes().rect_right_inv_arrow=function(t,e,n){var r=e.width,i=e.height,a=[{x:0,y:0},{x:r+i/2,y:0},{x:r,y:-i/2},{x:r+i/2,y:-i},{x:0,y:-i}],o=t.insert("polygon",":first-child").attr("points",a.map(function(t){return t.x+","+t.y}).join(" ")).attr("transform","translate("+-r/2+","+2*i/4+")");return n.intersect=function(t){return u.intersect.polygon(n,a,t)},o},b.arrows().none=function(t,e,n,r){var i=t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),a=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");u.util.applyStyle(a,n[r+"Style"])},b.arrows().normal=function(t,e,n,r){t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowheadPath").style("stroke-width",1).style("stroke-dasharray","1,0")};var L=o.select("#"+n),k=o.select("#"+n+" g");for(b(k,_),k.selectAll("g.node").attr("title",function(){return r.getTooltip(this.id)}),l.useMaxWidth?(L.attr("height","100%"),L.attr("width",l.width),L.attr("viewBox","0 0 "+(_.graph().width+20)+" "+(_.graph().height+20)),L.attr("style","max-width:"+(_.graph().width+20)+"px;")):(L.attr("height",_.graph().height),void 0===l.width?L.attr("width",_.graph().width):L.attr("width",l.width),L.attr("viewBox","0 0 "+(_.graph().width+20)+" "+(_.graph().height+20))),r.indexNodes("subGraph"+m),m=0;m<p.length;m++)if(f=p[m],"undefined"!==f.title){var w=document.querySelectorAll("#"+n+" #"+f.id+" rect"),D=document.querySelectorAll("#"+n+" #"+f.id),x=w[0].x.baseVal.value,Y=w[0].y.baseVal.value,T=w[0].width.baseVal.value,A=o.select(D[0]),E=A.append("text");E.attr("x",x+T/2),E.attr("y",Y+14),E.attr("fill","black"),E.attr("stroke","none"),E.attr("id",n+"Text"),E.style("text-anchor","middle"),void 0===f.title?E.text("Undef"):E.text(f.title)}if(!l.htmlLabels){var S,F=document.querySelectorAll("#"+n+" .edgeLabel .label");for(S=0;S<F.length;S++){var C=F[m],j=C.getBBox(),H=document.createElementNS("http://www.w3.org/2000/svg","rect");H.setAttribute("rx",0),H.setAttribute("ry",0),H.setAttribute("width",j.width),H.setAttribute("height",j.height),H.setAttribute("style","fill:#e8e8e8;"),C.insertBefore(H,C.firstChild)}}}},function(t,e,n){/**
+ * @license
+ * Copyright (c) 2012-2013 Chris Pettitt
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+t.exports={graphlib:n(174),dagre:n(32),intersect:n(227),render:n(229),util:n(7),version:n(242)}},function(t,e,n){const r=n(175);t.exports=r},function(t,e,n){var r=n(176);t.exports={Graph:r.Graph,json:n(178),alg:n(179),version:r.version}},function(t,e,n){t.exports={Graph:n(18),version:n(177)}},function(t,e){t.exports="2.1.1"},function(t,e,n){function r(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:i(t),edges:a(t)};return u.isUndefined(t.graph())||(e.value=u.clone(t.graph())),e}function i(t){return u.map(t.nodes(),function(e){var n=t.node(e),r=t.parent(e),i={v:e};return u.isUndefined(n)||(i.value=n),u.isUndefined(r)||(i.parent=r),i})}function a(t){return u.map(t.edges(),function(e){var n=t.edge(e),r={v:e.v,w:e.w};return u.isUndefined(e.name)||(r.name=e.name),u.isUndefined(n)||(r.value=n),r})}function o(t){var e=new s(t.options).setGraph(t.value);return u.each(t.nodes,function(t){e.setNode(t.v,t.value),t.parent&&e.setParent(t.v,t.parent)}),u.each(t.edges,function(t){e.setEdge({v:t.v,w:t.w,name:t.name},t.value)}),e}var u=n(5),s=n(18);t.exports={write:r,read:o}},function(t,e,n){t.exports={components:n(180),dijkstra:n(27),dijkstraAll:n(181),findCycles:n(182),floydWarshall:n(183),isAcyclic:n(184),postorder:n(185),preorder:n(186),prim:n(187),tarjan:n(29),topsort:n(30)}},function(t,e,n){function r(t){function e(a){i.has(r,a)||(r[a]=!0,n.push(a),i.each(t.successors(a),e),i.each(t.predecessors(a),e))}var n,r={},a=[];return i.each(t.nodes(),function(t){n=[],e(t),n.length&&a.push(n)}),a}var i=n(5);t.exports=r},function(t,e,n){function r(t,e,n){return a.transform(t.nodes(),function(r,a){r[a]=i(t,a,e,n)},{})}var i=n(27),a=n(5);t.exports=r},function(t,e,n){function r(t){return i.filter(a(t),function(e){return e.length>1||1===e.length&&t.hasEdge(e[0],e[0])})}var i=n(5),a=n(29);t.exports=r},function(t,e,n){function r(t,e,n){return i(t,e||o,n||function(e){return t.outEdges(e)})}function i(t,e,n){var r={},i=t.nodes();return i.forEach(function(t){r[t]={},r[t][t]={distance:0},i.forEach(function(e){t!==e&&(r[t][e]={distance:Number.POSITIVE_INFINITY})}),n(t).forEach(function(n){var i=n.v===t?n.w:n.v,a=e(n);r[t][i]={distance:a,predecessor:t}})}),i.forEach(function(t){var e=r[t];i.forEach(function(n){var a=r[n];i.forEach(function(n){var r=a[t],i=e[n],o=a[n],u=r.distance+i.distance;u<o.distance&&(o.distance=u,o.predecessor=i.predecessor)})})}),r}var a=n(5);t.exports=r;var o=a.constant(1)},function(t,e,n){function r(t){try{i(t)}catch(t){if(t instanceof i.CycleException)return!1;throw t}return!0}var i=n(30);t.exports=r},function(t,e,n){function r(t,e){return i(t,e,"post")}var i=n(31);t.exports=r},function(t,e,n){function r(t,e){return i(t,e,"pre")}var i=n(31);t.exports=r},function(t,e,n){function r(t,e){function n(t){var n=t.v===r?t.w:t.v,i=c.priority(n);if(void 0!==i){var a=e(t);a<i&&(s[n]=r,c.decrease(n,a))}}var r,u=new a,s={},c=new o;if(0===t.nodeCount())return u;i.each(t.nodes(),function(t){c.add(t,Number.POSITIVE_INFINITY),u.setNode(t)}),c.decrease(t.nodes()[0],0);for(var l=!1;c.size()>0;){if(r=c.removeMin(),i.has(s,r))u.setEdge(r,s[r]);else{if(l)throw new Error("Input graph is not connected: "+t);l=!0}t.nodeEdges(r).forEach(n)}return u}var i=n(5),a=n(18),o=n(28);t.exports=r},function(t,e,n){var r=n(189);t.exports={Graph:r.Graph,json:n(192),alg:n(193),version:r.version}},function(t,e,n){t.exports={Graph:n(19),version:n(191)}},function(t,e,n){(function(t,n){(function(){function r(t,e){if(t!==e){var n=null===t,r=t===D,i=t===t,a=null===e,o=e===D,u=e===e;if(t>e&&!a||!i||n&&!o&&u||r&&u)return 1;if(t<e&&!n||!u||a&&!r&&i||o&&i)return-1}return 0}function i(t,e,n){for(var r=t.length,i=n?r:-1;n?i--:++i<r;)if(e(t[i],i,t))return i;return-1}function a(t,e,n){if(e!==e)return m(t,n);for(var r=n-1,i=t.length;++r<i;)if(t[r]===e)return r;return-1}function o(t){return"function"==typeof t||!1}function u(t){return null==t?"":t+""}function s(t,e){for(var n=-1,r=t.length;++n<r&&e.indexOf(t.charAt(n))>-1;);return n}function c(t,e){for(var n=t.length;n--&&e.indexOf(t.charAt(n))>-1;);return n}function l(t,e){return r(t.criteria,e.criteria)||t.index-e.index}function d(t,e,n){for(var i=-1,a=t.criteria,o=e.criteria,u=a.length,s=n.length;++i<u;){var c=r(a[i],o[i]);if(c){if(i>=s)return c;var l=n[i];return c*("asc"===l||!0===l?1:-1)}}return t.index-e.index}function h(t){return Rt[t]}function f(t){return Wt[t]}function _(t,e,n){return e?t=Ut[t]:n&&(t=$t[t]),"\\"+t}function p(t){return"\\"+$t[t]}function m(t,e,n){for(var r=t.length,i=e+(n?0:-1);n?i--:++i<r;){var a=t[i];if(a!==a)return i}return-1}function y(t){return!!t&&"object"==typeof t}function g(t){return t<=160&&t>=9&&t<=13||32==t||160==t||5760==t||6158==t||t>=8192&&(t<=8202||8232==t||8233==t||8239==t||8287==t||12288==t||65279==t)}function v(t,e){for(var n=-1,r=t.length,i=-1,a=[];++n<r;)t[n]===e&&(t[n]=q,a[++i]=n);return a}function M(t,e){for(var n,r=-1,i=t.length,a=-1,o=[];++r<i;){var u=t[r],s=e?e(u,r,t):u;r&&n===s||(n=s,o[++a]=u)}return o}function b(t){for(var e=-1,n=t.length;++e<n&&g(t.charCodeAt(e)););return e}function L(t){for(var e=t.length;e--&&g(t.charCodeAt(e)););return e}function k(t){return zt[t]}function w(t){function e(t){if(y(t)&&!Au(t)&&!(t instanceof Rt)){if(t instanceof g)return t;if(to.call(t,"__chain__")&&to.call(t,"__wrapped__"))return fr(t)}return new g(t)}function n(){}function g(t,e,n){this.__wrapped__=t,this.__actions__=n||[],this.__chain__=!!e}function Rt(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=To,this.__views__=[]}function Wt(){var t=new Rt(this.__wrapped__);return t.__actions__=ne(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=ne(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=ne(this.__views__),t}function zt(){if(this.__filtered__){var t=new Rt(this);t.__dir__=-1,t.__filtered__=!0}else t=this.clone(),t.__dir__*=-1;return t}function qt(){var t=this.__wrapped__.value(),e=this.__dir__,n=Au(t),r=e<0,i=n?t.length:0,a=$n(0,i,this.__views__),o=a.start,u=a.end,s=u-o,c=r?u:o-1,l=this.__iteratees__,d=l.length,h=0,f=ko(s,this.__takeCount__);if(!n||i<I||i==s&&f==s)return nn(r&&n?t.reverse():t,this.__actions__);var _=[];t:for(;s--&&h<f;){c+=e;for(var p=-1,m=t[c];++p<d;){var y=l[p],g=y.iteratee,v=y.type,M=g(m);if(v==W)m=M;else if(!M){if(v==R)continue t;break t}}_[h++]=m}return _}function Ut(){this.__data__={}}function $t(t){return this.has(t)&&delete this.__data__[t]}function Vt(t){return"__proto__"==t?D:this.__data__[t]}function Gt(t){return"__proto__"!=t&&to.call(this.__data__,t)}function Jt(t,e){return"__proto__"!=t&&(this.__data__[t]=e),this}function Zt(t){var e=t?t.length:0;for(this.data={hash:yo(null),set:new lo};e--;)this.push(t[e])}function Kt(t,e){var n=t.data;return("string"==typeof e||ji(e)?n.set.has(e):n.hash[e])?0:-1}function Xt(t){var e=this.data;"string"==typeof t||ji(t)?e.set.add(t):e.hash[t]=!0}function ee(t,e){for(var n=-1,r=t.length,i=-1,a=e.length,o=Ia(r+a);++n<r;)o[n]=t[n];for(;++i<a;)o[n++]=e[i];return o}function ne(t,e){var n=-1,r=t.length;for(e||(e=Ia(r));++n<r;)e[n]=t[n];return e}function re(t,e){for(var n=-1,r=t.length;++n<r&&!1!==e(t[n],n,t););return t}function ie(t,e){for(var n=t.length;n--&&!1!==e(t[n],n,t););return t}function ae(t,e){for(var n=-1,r=t.length;++n<r;)if(!e(t[n],n,t))return!1;return!0}function oe(t,e,n,r){for(var i=-1,a=t.length,o=r,u=o;++i<a;){var s=t[i],c=+e(s);n(c,o)&&(o=c,u=s)}return u}function ue(t,e){for(var n=-1,r=t.length,i=-1,a=[];++n<r;){var o=t[n];e(o,n,t)&&(a[++i]=o)}return a}function se(t,e){for(var n=-1,r=t.length,i=Ia(r);++n<r;)i[n]=e(t[n],n,t);return i}function ce(t,e){for(var n=-1,r=e.length,i=t.length;++n<r;)t[i+n]=e[n];return t}function le(t,e,n,r){var i=-1,a=t.length;for(r&&a&&(n=t[++i]);++i<a;)n=e(n,t[i],i,t);return n}function de(t,e,n,r){var i=t.length;for(r&&i&&(n=t[--i]);i--;)n=e(n,t[i],i,t);return n}function he(t,e){for(var n=-1,r=t.length;++n<r;)if(e(t[n],n,t))return!0;return!1}function fe(t,e){for(var n=t.length,r=0;n--;)r+=+e(t[n])||0;return r}function _e(t,e){return t===D?e:t}function pe(t,e,n,r){return t!==D&&to.call(r,n)?t:e}function me(t,e,n){for(var r=-1,i=Iu(e),a=i.length;++r<a;){var o=i[r],u=t[o],s=n(u,e[o],o,t,e);(s===s?s===u:u!==u)&&(u!==D||o in t)||(t[o]=s)}return t}function ye(t,e){return null==e?t:ve(e,Iu(e),t)}function ge(t,e){for(var n=-1,r=null==t,i=!r&&Kn(t),a=i?t.length:0,o=e.length,u=Ia(o);++n<o;){var s=e[n];u[n]=i?Xn(s,a)?t[s]:D:r?D:t[s]}return u}function ve(t,e,n){n||(n={});for(var r=-1,i=e.length;++r<i;){var a=e[r];n[a]=t[a]}return n}function Me(t,e,n){var r=typeof t;return"function"==r?e===D?t:on(t,e,n):null==t?Ya:"object"==r?Be(t):e===D?Ca(t):Ie(t,e)}function be(t,e,n,r,i,a,o){var u;if(n&&(u=i?n(t,r,i):n(t)),u!==D)return u;if(!ji(t))return t;var s=Au(t);if(s){if(u=Vn(t),!e)return ne(t,u)}else{var c=no.call(t),l=c==Z;if(c!=X&&c!=U&&(!l||i))return It[c]?Jn(t,c,e):i?t:{};if(u=Gn(l?{}:t),!e)return ye(u,t)}a||(a=[]),o||(o=[]);for(var d=a.length;d--;)if(a[d]==t)return o[d];return a.push(t),o.push(u),(s?re:Se)(t,function(r,i){u[i]=be(r,e,n,i,t,a,o)}),u}function Le(t,e,n){if("function"!=typeof t)throw new Ja(z);return ho(function(){t.apply(D,n)},e)}function ke(t,e){var n=t?t.length:0,r=[];if(!n)return r;var i=-1,o=zn(),u=o==a,s=u&&e.length>=I?pn(e):null,c=e.length;s&&(o=Kt,u=!1,e=s);t:for(;++i<n;){var l=t[i];if(u&&l===l){for(var d=c;d--;)if(e[d]===l)continue t;r.push(l)}else o(e,l,0)<0&&r.push(l)}return r}function we(t,e){var n=!0;return Oo(t,function(t,r,i){return n=!!e(t,r,i)}),n}function De(t,e,n,r){var i=r,a=i;return Oo(t,function(t,o,u){var s=+e(t,o,u);(n(s,i)||s===r&&s===a)&&(i=s,a=t)}),a}function xe(t,e,n,r){var i=t.length;for(n=null==n?0:+n||0,n<0&&(n=-n>i?0:i+n),r=r===D||r>i?i:+r||0,r<0&&(r+=i),i=n>r?0:r>>>0,n>>>=0;n<i;)t[n++]=e;return t}function Ye(t,e){var n=[];return Oo(t,function(t,r,i){e(t,r,i)&&n.push(t)}),n}function Te(t,e,n,r){var i;return n(t,function(t,n,a){if(e(t,n,a))return i=r?n:t,!1}),i}function Ae(t,e,n,r){r||(r=[]);for(var i=-1,a=t.length;++i<a;){var o=t[i];y(o)&&Kn(o)&&(n||Au(o)||Di(o))?e?Ae(o,e,n,r):ce(r,o):n||(r[r.length]=o)}return r}function Ee(t,e){return No(t,e,ta)}function Se(t,e){return No(t,e,Iu)}function Fe(t,e){return Bo(t,e,Iu)}function Ce(t,e){for(var n=-1,r=e.length,i=-1,a=[];++n<r;){var o=e[n];Ci(t[o])&&(a[++i]=o)}return a}function je(t,e,n){if(null!=t){n!==D&&n in dr(t)&&(e=[n]);for(var r=0,i=e.length;null!=t&&r<i;)t=t[e[r++]];return r&&r==i?t:D}}function He(t,e,n,r,i,a){return t===e||(null==t||null==e||!ji(t)&&!y(e)?t!==t&&e!==e:Oe(t,e,He,n,r,i,a))}function Oe(t,e,n,r,i,a,o){var u=Au(t),s=Au(e),c=$,l=$;u||(c=no.call(t),c==U?c=X:c!=X&&(u=zi(t))),s||(l=no.call(e),l==U?l=X:l!=X&&(s=zi(e)));var d=c==X,h=l==X,f=c==l;if(f&&!u&&!d)return Bn(t,e,c);if(!i){var _=d&&to.call(t,"__wrapped__"),p=h&&to.call(e,"__wrapped__");if(_||p)return n(_?t.value():t,p?e.value():e,r,i,a,o)}if(!f)return!1;a||(a=[]),o||(o=[]);for(var m=a.length;m--;)if(a[m]==t)return o[m]==e;a.push(t),o.push(e);var y=(u?Nn:In)(t,e,n,r,i,a,o);return a.pop(),o.pop(),y}function Pe(t,e,n){var r=e.length,i=r,a=!n;if(null==t)return!i;for(t=dr(t);r--;){var o=e[r];if(a&&o[2]?o[1]!==t[o[0]]:!(o[0]in t))return!1}for(;++r<i;){o=e[r];var u=o[0],s=t[u],c=o[1];if(a&&o[2]){if(s===D&&!(u in t))return!1}else{var l=n?n(s,c,u):D;if(!(l===D?He(c,s,n,!0):l))return!1}}return!0}function Ne(t,e){var n=-1,r=Kn(t)?Ia(t.length):[];return Oo(t,function(t,i,a){r[++n]=e(t,i,a)}),r}function Be(t){var e=qn(t);if(1==e.length&&e[0][2]){var n=e[0][0],r=e[0][1];return function(t){return null!=t&&(t[n]===r&&(r!==D||n in dr(t)))}}return function(t){return Pe(t,e)}}function Ie(t,e){var n=Au(t),r=tr(t)&&rr(e),i=t+"";return t=hr(t),function(a){if(null==a)return!1;var o=i;if(a=dr(a),(n||!r)&&!(o in a)){if(null==(a=1==t.length?a:je(a,Ge(t,0,-1))))return!1;o=xr(t),a=dr(a)}return a[o]===e?e!==D||o in a:He(e,a[o],D,!0)}}function Re(t,e,n,r,i){if(!ji(t))return t;var a=Kn(e)&&(Au(e)||zi(e)),o=a?D:Iu(e);return re(o||e,function(u,s){if(o&&(s=u,u=e[s]),y(u))r||(r=[]),i||(i=[]),We(t,e,s,Re,n,r,i);else{var c=t[s],l=n?n(c,u,s,t,e):D,d=l===D;d&&(l=u),l===D&&(!a||s in t)||!d&&(l===l?l===c:c!==c)||(t[s]=l)}}),t}function We(t,e,n,r,i,a,o){for(var u=a.length,s=e[n];u--;)if(a[u]==s)return void(t[n]=o[u]);var c=t[n],l=i?i(c,s,n,t,e):D,d=l===D;d&&(l=s,Kn(s)&&(Au(s)||zi(s))?l=Au(c)?c:Kn(c)?ne(c):[]:Ii(s)||Di(s)?l=Di(c)?Gi(c):Ii(c)?c:{}:d=!1),a.push(s),o.push(l),d?t[n]=r(l,s,i,a,o):(l===l?l!==c:c===c)&&(t[n]=l)}function ze(t){return function(e){return null==e?D:e[t]}}function qe(t){var e=t+"";return t=hr(t),function(n){return je(n,t,e)}}function Ue(t,e){for(var n=t?e.length:0;n--;){var r=e[n];if(r!=i&&Xn(r)){var i=r;fo.call(t,r,1)}}return t}function $e(t,e){return t+go(xo()*(e-t+1))}function Ve(t,e,n,r,i){return i(t,function(t,i,a){n=r?(r=!1,t):e(n,t,i,a)}),n}function Ge(t,e,n){var r=-1,i=t.length;e=null==e?0:+e||0,e<0&&(e=-e>i?0:i+e),n=n===D||n>i?i:+n||0,n<0&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var a=Ia(i);++r<i;)a[r]=t[r+e];return a}function Je(t,e){var n;return Oo(t,function(t,r,i){return!(n=e(t,r,i))}),!!n}function Ze(t,e){var n=t.length;for(t.sort(e);n--;)t[n]=t[n].value;return t}function Ke(t,e,n){var r=Rn(),i=-1;return e=se(e,function(t){return r(t)}),Ze(Ne(t,function(t){return{criteria:se(e,function(e){return e(t)}),index:++i,value:t}}),function(t,e){return d(t,e,n)})}function Xe(t,e){var n=0;return Oo(t,function(t,r,i){n+=+e(t,r,i)||0}),n}function Qe(t,e){var n=-1,r=zn(),i=t.length,o=r==a,u=o&&i>=I,s=u?pn():null,c=[];s?(r=Kt,o=!1):(u=!1,s=e?[]:c);t:for(;++n<i;){var l=t[n],d=e?e(l,n,t):l;if(o&&l===l){for(var h=s.length;h--;)if(s[h]===d)continue t;e&&s.push(d),c.push(l)}else r(s,d,0)<0&&((e||u)&&s.push(d),c.push(l))}return c}function tn(t,e){for(var n=-1,r=e.length,i=Ia(r);++n<r;)i[n]=t[e[n]];return i}function en(t,e,n,r){for(var i=t.length,a=r?i:-1;(r?a--:++a<i)&&e(t[a],a,t););return n?Ge(t,r?0:a,r?a+1:i):Ge(t,r?a+1:0,r?i:a)}function nn(t,e){var n=t;n instanceof Rt&&(n=n.value());for(var r=-1,i=e.length;++r<i;){var a=e[r];n=a.func.apply(a.thisArg,ce([n],a.args))}return n}function rn(t,e,n){var r=0,i=t?t.length:r;if("number"==typeof e&&e===e&&i<=So){for(;r<i;){var a=r+i>>>1,o=t[a];(n?o<=e:o<e)&&null!==o?r=a+1:i=a}return i}return an(t,e,Ya,n)}function an(t,e,n,r){e=n(e);for(var i=0,a=t?t.length:0,o=e!==e,u=null===e,s=e===D;i<a;){var c=go((i+a)/2),l=n(t[c]),d=l!==D,h=l===l;if(o)var f=h||r;else f=u?h&&d&&(r||null!=l):s?h&&(r||d):null!=l&&(r?l<=e:l<e);f?i=c+1:a=c}return ko(a,Eo)}function on(t,e,n){if("function"!=typeof t)return Ya;if(e===D)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 3:return function(n,r,i){return t.call(e,n,r,i)};case 4:return function(n,r,i,a){return t.call(e,n,r,i,a)};case 5:return function(n,r,i,a,o){return t.call(e,n,r,i,a,o)}}return function(){return t.apply(e,arguments)}}function un(t){var e=new ao(t.byteLength);return new _o(e).set(new _o(t)),e}function sn(t,e,n){for(var r=n.length,i=-1,a=Lo(t.length-r,0),o=-1,u=e.length,s=Ia(u+a);++o<u;)s[o]=e[o];for(;++i<r;)s[n[i]]=t[i];for(;a--;)s[o++]=t[i++];return s}function cn(t,e,n){for(var r=-1,i=n.length,a=-1,o=Lo(t.length-i,0),u=-1,s=e.length,c=Ia(o+s);++a<o;)c[a]=t[a];for(var l=a;++u<s;)c[l+u]=e[u];for(;++r<i;)c[l+n[r]]=t[a++];return c}function ln(t,e){return function(n,r,i){var a=e?e():{};if(r=Rn(r,i,3),Au(n))for(var o=-1,u=n.length;++o<u;){var s=n[o];t(a,s,r(s,o,n),n)}else Oo(n,function(e,n,i){t(a,e,r(e,n,i),i)});return a}}function dn(t){return yi(function(e,n){var r=-1,i=null==e?0:n.length,a=i>2?n[i-2]:D,o=i>2?n[2]:D,u=i>1?n[i-1]:D;for("function"==typeof a?(a=on(a,u,5),i-=2):(a="function"==typeof u?u:D,i-=a?1:0),o&&Qn(n[0],n[1],o)&&(a=i<3?D:a,i=1);++r<i;){var s=n[r];s&&t(e,s,a)}return e})}function hn(t,e){return function(n,r){var i=n?Wo(n):0;if(!nr(i))return t(n,r);for(var a=e?i:-1,o=dr(n);(e?a--:++a<i)&&!1!==r(o[a],a,o););return n}}function fn(t){return function(e,n,r){for(var i=dr(e),a=r(e),o=a.length,u=t?o:-1;t?u--:++u<o;){var s=a[u];if(!1===n(i[s],s,i))break}return e}}function _n(t,e){function n(){return(this&&this!==Qt&&this instanceof n?r:t).apply(e,arguments)}var r=yn(t);return n}function pn(t){return yo&&lo?new Zt(t):null}function mn(t){return function(e){for(var n=-1,r=wa(la(e)),i=r.length,a="";++n<i;)a=t(a,r[n],n);return a}}function yn(t){return function(){var e=arguments;switch(e.length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3]);case 5:return new t(e[0],e[1],e[2],e[3],e[4]);case 6:return new t(e[0],e[1],e[2],e[3],e[4],e[5]);case 7:return new t(e[0],e[1],e[2],e[3],e[4],e[5],e[6])}var n=Ho(t.prototype),r=t.apply(n,e);return ji(r)?r:n}}function gn(t){function e(n,r,i){i&&Qn(n,r,i)&&(r=D);var a=Pn(n,t,D,D,D,D,D,r);return a.placeholder=e.placeholder,a}return e}function vn(t,e){return yi(function(n){var r=n[0];return null==r?r:(n.push(e),t.apply(D,n))})}function Mn(t,e){return function(n,r,i){if(i&&Qn(n,r,i)&&(r=D),r=Rn(r,i,3),1==r.length){n=Au(n)?n:lr(n);var a=oe(n,r,t,e);if(!n.length||a!==e)return a}return De(n,r,t,e)}}function bn(t,e){return function(n,r,a){if(r=Rn(r,a,3),Au(n)){var o=i(n,r,e);return o>-1?n[o]:D}return Te(n,r,t)}}function Ln(t){return function(e,n,r){return e&&e.length?(n=Rn(n,r,3),i(e,n,t)):-1}}function kn(t){return function(e,n,r){return n=Rn(n,r,3),Te(e,n,t,!0)}}function wn(t){return function(){for(var e,n=arguments.length,r=t?n:-1,i=0,a=Ia(n);t?r--:++r<n;){var o=a[i++]=arguments[r];if("function"!=typeof o)throw new Ja(z);!e&&g.prototype.thru&&"wrapper"==Wn(o)&&(e=new g([],!0))}for(r=e?-1:n;++r<n;){o=a[r];var u=Wn(o),s="wrapper"==u?Ro(o):D;e=s&&er(s[0])&&s[1]==(j|E|F|H)&&!s[4].length&&1==s[9]?e[Wn(s[0])].apply(e,s[3]):1==o.length&&er(o)?e[u]():e.thru(o)}return function(){var t=arguments,r=t[0];if(e&&1==t.length&&Au(r)&&r.length>=I)return e.plant(r).value();for(var i=0,o=n?a[i].apply(this,t):r;++i<n;)o=a[i].call(this,o);return o}}}function Dn(t,e){return function(n,r,i){return"function"==typeof r&&i===D&&Au(n)?t(n,r):e(n,on(r,i,3))}}function xn(t){return function(e,n,r){return"function"==typeof n&&r===D||(n=on(n,r,3)),t(e,n,ta)}}function Yn(t){return function(e,n,r){return"function"==typeof n&&r===D||(n=on(n,r,3)),t(e,n)}}function Tn(t){return function(e,n,r){var i={};return n=Rn(n,r,3),Se(e,function(e,r,a){var o=n(e,r,a);r=t?o:r,e=t?e:o,i[r]=e}),i}}function An(t){return function(e,n,r){return e=u(e),(t?e:"")+Cn(e,n,r)+(t?"":e)}}function En(t){var e=yi(function(n,r){var i=v(r,e.placeholder);return Pn(n,t,D,r,i)});return e}function Sn(t,e){return function(n,r,i,a){var o=arguments.length<3;return"function"==typeof r&&a===D&&Au(n)?t(n,r,i,o):Ve(n,Rn(r,a,4),i,o,e)}}function Fn(t,e,n,r,i,a,o,u,s,c){function l(){for(var g=arguments.length,M=g,b=Ia(g);M--;)b[M]=arguments[M];if(r&&(b=sn(b,r,i)),a&&(b=cn(b,a,o)),_||m){var L=l.placeholder,k=v(b,L);if((g-=k.length)<c){var w=u?ne(u):D,x=Lo(c-g,0),A=_?k:D,E=_?D:k,S=_?b:D,j=_?D:b;e|=_?F:C,e&=~(_?C:F),p||(e&=~(Y|T));var H=[t,e,n,S,A,j,E,w,s,x],O=Fn.apply(D,H);return er(t)&&zo(O,H),O.placeholder=L,O}}var P=h?n:this,N=f?P[t]:t;return u&&(b=sr(b,u)),d&&s<b.length&&(b.length=s),this&&this!==Qt&&this instanceof l&&(N=y||yn(t)),N.apply(P,b)}var d=e&j,h=e&Y,f=e&T,_=e&E,p=e&A,m=e&S,y=f?D:yn(t);return l}function Cn(t,e,n){var r=t.length;if(e=+e,r>=e||!Mo(e))return"";var i=e-r;return n=null==n?" ":n+"",ma(n,mo(i/n.length)).slice(0,i)}function jn(t,e,n,r){function i(){for(var e=-1,u=arguments.length,s=-1,c=r.length,l=Ia(c+u);++s<c;)l[s]=r[s];for(;u--;)l[s++]=arguments[++e];return(this&&this!==Qt&&this instanceof i?o:t).apply(a?n:this,l)}var a=e&Y,o=yn(t);return i}function Hn(t){var e=qa[t];return function(t,n){return n=n===D?0:+n||0,n?(n=so(10,n),e(t*n)/n):e(t)}}function On(t){return function(e,n,r,i){var a=Rn(r);return null==r&&a===Me?rn(e,n,t):an(e,n,a(r,i,1),t)}}function Pn(t,e,n,r,i,a,o,u){var s=e&T;if(!s&&"function"!=typeof t)throw new Ja(z);var c=r?r.length:0;if(c||(e&=~(F|C),r=i=D),c-=i?i.length:0,e&C){var l=r,d=i;r=i=D}var h=s?D:Ro(t),f=[t,e,n,r,i,l,d,a,o,u];if(h&&(ir(f,h),e=f[1],u=f[9]),f[9]=null==u?s?0:t.length:Lo(u-c,0)||0,e==Y)var _=_n(f[0],f[2]);else _=e!=F&&e!=(Y|F)||f[4].length?Fn.apply(D,f):jn.apply(D,f);return(h?Io:zo)(_,f)}function Nn(t,e,n,r,i,a,o){var u=-1,s=t.length,c=e.length;if(s!=c&&!(i&&c>s))return!1;for(;++u<s;){var l=t[u],d=e[u],h=r?r(i?d:l,i?l:d,u):D;if(h!==D){if(h)continue;return!1}if(i){if(!he(e,function(t){return l===t||n(l,t,r,i,a,o)}))return!1}else if(l!==d&&!n(l,d,r,i,a,o))return!1}return!0}function Bn(t,e,n){switch(n){case V:case G:return+t==+e;case J:return t.name==e.name&&t.message==e.message;case K:return t!=+t?e!=+e:t==+e;case Q:case tt:return t==e+""}return!1}function In(t,e,n,r,i,a,o){var u=Iu(t),s=u.length;if(s!=Iu(e).length&&!i)return!1;for(var c=s;c--;){var l=u[c];if(!(i?l in e:to.call(e,l)))return!1}for(var d=i;++c<s;){l=u[c];var h=t[l],f=e[l],_=r?r(i?f:h,i?h:f,l):D;if(!(_===D?n(h,f,r,i,a,o):_))return!1;d||(d="constructor"==l)}if(!d){var p=t.constructor,m=e.constructor;if(p!=m&&"constructor"in t&&"constructor"in e&&!("function"==typeof p&&p instanceof p&&"function"==typeof m&&m instanceof m))return!1}return!0}function Rn(t,n,r){var i=e.callback||Da;return i=i===Da?Me:i,r?i(t,n,r):i}function Wn(t){for(var e=t.name,n=jo[e],r=n?n.length:0;r--;){var i=n[r],a=i.func;if(null==a||a==t)return i.name}return e}function zn(t,n,r){var i=e.indexOf||wr;return i=i===wr?a:i,t?i(t,n,r):i}function qn(t){for(var e=ea(t),n=e.length;n--;)e[n][2]=rr(e[n][1]);return e}function Un(t,e){var n=null==t?D:t[e];return Pi(n)?n:D}function $n(t,e,n){for(var r=-1,i=n.length;++r<i;){var a=n[r],o=a.size;switch(a.type){case"drop":t+=o;break;case"dropRight":e-=o;break;case"take":e=ko(e,t+o);break;case"takeRight":t=Lo(t,e-o)}}return{start:t,end:e}}function Vn(t){var e=t.length,n=new t.constructor(e);return e&&"string"==typeof t[0]&&to.call(t,"index")&&(n.index=t.index,n.input=t.input),n}function Gn(t){var e=t.constructor;return"function"==typeof e&&e instanceof e||(e=$a),new e}function Jn(t,e,n){var r=t.constructor;switch(e){case et:return un(t);case V:case G:return new r(+t);case nt:case rt:case it:case at:case ot:case ut:case st:case ct:case lt:var i=t.buffer;return new r(n?un(i):i,t.byteOffset,t.length);case K:case tt:return new r(t);case Q:var a=new r(t.source,At.exec(t));a.lastIndex=t.lastIndex}return a}function Zn(t,e,n){null==t||tr(e,t)||(e=hr(e),t=1==e.length?t:je(t,Ge(e,0,-1)),e=xr(e));var r=null==t?t:t[e];return null==r?D:r.apply(t,n)}function Kn(t){return null!=t&&nr(Wo(t))}function Xn(t,e){return t="number"==typeof t||Ft.test(t)?+t:-1,e=null==e?Fo:e,t>-1&&t%1==0&&t<e}function Qn(t,e,n){if(!ji(n))return!1;var r=typeof e;if("number"==r?Kn(n)&&Xn(e,n.length):"string"==r&&e in n){var i=n[e];return t===t?t===i:i!==i}return!1}function tr(t,e){var n=typeof t;return!!("string"==n&&Lt.test(t)||"number"==n)||!Au(t)&&(!bt.test(t)||null!=e&&t in dr(e))}function er(t){var n=Wn(t);if(!(n in Rt.prototype))return!1;var r=e[n];if(t===r)return!0;var i=Ro(r);return!!i&&t===i[0]}function nr(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=Fo}function rr(t){return t===t&&!ji(t)}function ir(t,e){var n=t[1],r=e[1],i=n|r,a=i<j,o=r==j&&n==E||r==j&&n==H&&t[7].length<=e[8]||r==(j|H)&&n==E;if(!a&&!o)return t;r&Y&&(t[2]=e[2],i|=n&Y?0:A);var u=e[3];if(u){var s=t[3];t[3]=s?sn(s,u,e[4]):ne(u),t[4]=s?v(t[3],q):ne(e[4])}return u=e[5],u&&(s=t[5],t[5]=s?cn(s,u,e[6]):ne(u),t[6]=s?v(t[5],q):ne(e[6])),u=e[7],u&&(t[7]=ne(u)),r&j&&(t[8]=null==t[8]?e[8]:ko(t[8],e[8])),null==t[9]&&(t[9]=e[9]),t[0]=e[0],t[1]=i,t}function ar(t,e){return t===D?e:Eu(t,e,ar)}function or(t,e){t=dr(t);for(var n=-1,r=e.length,i={};++n<r;){var a=e[n];a in t&&(i[a]=t[a])}return i}function ur(t,e){var n={};return Ee(t,function(t,r,i){e(t,r,i)&&(n[r]=t)}),n}function sr(t,e){for(var n=t.length,r=ko(e.length,n),i=ne(t);r--;){var a=e[r];t[r]=Xn(a,n)?i[a]:D}return t}function cr(t){for(var e=ta(t),n=e.length,r=n&&t.length,i=!!r&&nr(r)&&(Au(t)||Di(t)),a=-1,o=[];++a<n;){var u=e[a];(i&&Xn(u,r)||to.call(t,u))&&o.push(u)}return o}function lr(t){return null==t?[]:Kn(t)?ji(t)?t:$a(t):aa(t)}function dr(t){return ji(t)?t:$a(t)}function hr(t){if(Au(t))return t;var e=[];return u(t).replace(kt,function(t,n,r,i){e.push(r?i.replace(Yt,"$1"):n||t)}),e}function fr(t){return t instanceof Rt?t.clone():new g(t.__wrapped__,t.__chain__,ne(t.__actions__))}function _r(t,e,n){e=(n?Qn(t,e,n):null==e)?1:Lo(go(e)||1,1);for(var r=0,i=t?t.length:0,a=-1,o=Ia(mo(i/e));r<i;)o[++a]=Ge(t,r,r+=e);return o}function pr(t){for(var e=-1,n=t?t.length:0,r=-1,i=[];++e<n;){var a=t[e];a&&(i[++r]=a)}return i}function mr(t,e,n){return(t?t.length:0)?((n?Qn(t,e,n):null==e)&&(e=1),Ge(t,e<0?0:e)):[]}function yr(t,e,n){var r=t?t.length:0;return r?((n?Qn(t,e,n):null==e)&&(e=1),e=r-(+e||0),Ge(t,0,e<0?0:e)):[]}function gr(t,e,n){return t&&t.length?en(t,Rn(e,n,3),!0,!0):[]}function vr(t,e,n){return t&&t.length?en(t,Rn(e,n,3),!0):[]}function Mr(t,e,n,r){var i=t?t.length:0;return i?(n&&"number"!=typeof n&&Qn(t,e,n)&&(n=0,r=i),xe(t,e,n,r)):[]}function br(t){return t?t[0]:D}function Lr(t,e,n){var r=t?t.length:0;return n&&Qn(t,e,n)&&(e=!1),r?Ae(t,e):[]}function kr(t){return(t?t.length:0)?Ae(t,!0):[]}function wr(t,e,n){var r=t?t.length:0;if(!r)return-1;if("number"==typeof n)n=n<0?Lo(r+n,0):n;else if(n){var i=rn(t,e);return i<r&&(e===e?e===t[i]:t[i]!==t[i])?i:-1}return a(t,e,n||0)}function Dr(t){return yr(t,1)}function xr(t){var e=t?t.length:0;return e?t[e-1]:D}function Yr(t,e,n){var r=t?t.length:0;if(!r)return-1;var i=r;if("number"==typeof n)i=(n<0?Lo(r+n,0):ko(n||0,r-1))+1;else if(n){i=rn(t,e,!0)-1;var a=t[i];return(e===e?e===a:a!==a)?i:-1}if(e!==e)return m(t,i,!0);for(;i--;)if(t[i]===e)return i;return-1}function Tr(){var t=arguments,e=t[0];if(!e||!e.length)return e;for(var n=0,r=zn(),i=t.length;++n<i;)for(var a=0,o=t[n];(a=r(e,o,a))>-1;)fo.call(e,a,1);return e}function Ar(t,e,n){var r=[];if(!t||!t.length)return r;var i=-1,a=[],o=t.length;for(e=Rn(e,n,3);++i<o;){var u=t[i];e(u,i,t)&&(r.push(u),a.push(i))}return Ue(t,a),r}function Er(t){return mr(t,1)}function Sr(t,e,n){var r=t?t.length:0;return r?(n&&"number"!=typeof n&&Qn(t,e,n)&&(e=0,n=r),Ge(t,e,n)):[]}function Fr(t,e,n){return(t?t.length:0)?((n?Qn(t,e,n):null==e)&&(e=1),Ge(t,0,e<0?0:e)):[]}function Cr(t,e,n){var r=t?t.length:0;return r?((n?Qn(t,e,n):null==e)&&(e=1),e=r-(+e||0),Ge(t,e<0?0:e)):[]}function jr(t,e,n){return t&&t.length?en(t,Rn(e,n,3),!1,!0):[]}function Hr(t,e,n){return t&&t.length?en(t,Rn(e,n,3)):[]}function Or(t,e,n,r){if(!(t?t.length:0))return[];null!=e&&"boolean"!=typeof e&&(r=n,n=Qn(t,e,r)?D:e,e=!1);var i=Rn();return null==n&&i===Me||(n=i(n,r,3)),e&&zn()==a?M(t,n):Qe(t,n)}function Pr(t){if(!t||!t.length)return[];var e=-1,n=0;t=ue(t,function(t){if(Kn(t))return n=Lo(t.length,n),!0});for(var r=Ia(n);++e<n;)r[e]=se(t,ze(e));return r}function Nr(t,e,n){if(!(t?t.length:0))return[];var r=Pr(t);return null==e?r:(e=on(e,n,4),se(r,function(t){return le(t,e,D,!0)}))}function Br(){for(var t=-1,e=arguments.length;++t<e;){var n=arguments[t];if(Kn(n))var r=r?ce(ke(r,n),ke(n,r)):n}return r?Qe(r):[]}function Ir(t,e){var n=-1,r=t?t.length:0,i={};for(!r||e||Au(t[0])||(e=[]);++n<r;){var a=t[n];e?i[a]=e[n]:a&&(i[a[0]]=a[1])}return i}function Rr(t){var n=e(t);return n.__chain__=!0,n}function Wr(t,e,n){return e.call(n,t),t}function zr(t,e,n){return e.call(n,t)}function qr(){return Rr(this)}function Ur(){return new g(this.value(),this.__chain__)}function $r(t){for(var e,r=this;r instanceof n;){var i=fr(r);e?a.__wrapped__=i:e=i;var a=i;r=r.__wrapped__}return a.__wrapped__=t,e}function Vr(){var t=this.__wrapped__,e=function(t){return n&&n.__dir__<0?t:t.reverse()};if(t instanceof Rt){var n=t;return this.__actions__.length&&(n=new Rt(this)),n=n.reverse(),n.__actions__.push({func:zr,args:[e],thisArg:D}),new g(n,this.__chain__)}return this.thru(e)}function Gr(){return this.value()+""}function Jr(){return nn(this.__wrapped__,this.__actions__)}function Zr(t,e,n){var r=Au(t)?ae:we;return n&&Qn(t,e,n)&&(e=D),"function"==typeof e&&n===D||(e=Rn(e,n,3)),r(t,e)}function Kr(t,e,n){var r=Au(t)?ue:Ye;return e=Rn(e,n,3),r(t,e)}function Xr(t,e){return iu(t,Be(e))}function Qr(t,e,n,r){var i=t?Wo(t):0;return nr(i)||(t=aa(t),i=t.length),n="number"!=typeof n||r&&Qn(e,n,r)?0:n<0?Lo(i+n,0):n||0,"string"==typeof t||!Au(t)&&Wi(t)?n<=i&&t.indexOf(e,n)>-1:!!i&&zn(t,e,n)>-1}function ti(t,e,n){var r=Au(t)?se:Ne;return e=Rn(e,n,3),r(t,e)}function ei(t,e){return ti(t,Ca(e))}function ni(t,e,n){var r=Au(t)?ue:Ye;return e=Rn(e,n,3),r(t,function(t,n,r){return!e(t,n,r)})}function ri(t,e,n){if(n?Qn(t,e,n):null==e){t=lr(t);var r=t.length;return r>0?t[$e(0,r-1)]:D}var i=-1,a=Vi(t),r=a.length,o=r-1;for(e=ko(e<0?0:+e||0,r);++i<e;){var u=$e(i,o),s=a[u];a[u]=a[i],a[i]=s}return a.length=e,a}function ii(t){return ri(t,To)}function ai(t){var e=t?Wo(t):0;return nr(e)?e:Iu(t).length}function oi(t,e,n){var r=Au(t)?he:Je;return n&&Qn(t,e,n)&&(e=D),"function"==typeof e&&n===D||(e=Rn(e,n,3)),r(t,e)}function ui(t,e,n){if(null==t)return[];n&&Qn(t,e,n)&&(e=D);var r=-1;return e=Rn(e,n,3),Ze(Ne(t,function(t,n,i){return{criteria:e(t,n,i),index:++r,value:t}}),l)}function si(t,e,n,r){return null==t?[]:(r&&Qn(e,n,r)&&(n=D),Au(e)||(e=null==e?[]:[e]),Au(n)||(n=null==n?[]:[n]),Ke(t,e,n))}function ci(t,e){return Kr(t,Be(e))}function li(t,e){if("function"!=typeof e){if("function"!=typeof t)throw new Ja(z);var n=t;t=e,e=n}return t=Mo(t=+t)?t:0,function(){if(--t<1)return e.apply(this,arguments)}}function di(t,e,n){return n&&Qn(t,e,n)&&(e=D),e=t&&null==e?t.length:Lo(+e||0,0),Pn(t,j,D,D,D,D,e)}function hi(t,e){var n;if("function"!=typeof e){if("function"!=typeof t)throw new Ja(z);var r=t;t=e,e=r}return function(){return--t>0&&(n=e.apply(this,arguments)),t<=1&&(e=D),n}}function fi(t,e,n){function r(){f&&oo(f),c&&oo(c),p=0,c=f=_=D}function i(e,n){n&&oo(n),c=f=_=D,e&&(p=pu(),l=t.apply(h,s),f||c||(s=h=D))}function a(){var t=e-(pu()-d);t<=0||t>e?i(_,c):f=ho(a,t)}function o(){i(y,f)}function u(){if(s=arguments,d=pu(),h=this,_=y&&(f||!g),!1===m)var n=g&&!f;else{c||g||(p=d);var r=m-(d-p),i=r<=0||r>m;i?(c&&(c=oo(c)),p=d,l=t.apply(h,s)):c||(c=ho(o,r))}return i&&f?f=oo(f):f||e===m||(f=ho(a,e)),n&&(i=!0,l=t.apply(h,s)),!i||f||c||(s=h=D),l}var s,c,l,d,h,f,_,p=0,m=!1,y=!0;if("function"!=typeof t)throw new Ja(z);if(e=e<0?0:+e||0,!0===n){var g=!0;y=!1}else ji(n)&&(g=!!n.leading,m="maxWait"in n&&Lo(+n.maxWait||0,e),y="trailing"in n?!!n.trailing:y);return u.cancel=r,u}function _i(t,e){if("function"!=typeof t||e&&"function"!=typeof e)throw new Ja(z);var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],a=n.cache;if(a.has(i))return a.get(i);var o=t.apply(this,r);return n.cache=a.set(i,o),o};return n.cache=new _i.Cache,n}function pi(t){if("function"!=typeof t)throw new Ja(z);return function(){return!t.apply(this,arguments)}}function mi(t){return hi(2,t)}function yi(t,e){if("function"!=typeof t)throw new Ja(z);return e=Lo(e===D?t.length-1:+e||0,0),function(){for(var n=arguments,r=-1,i=Lo(n.length-e,0),a=Ia(i);++r<i;)a[r]=n[e+r];switch(e){case 0:return t.call(this,a);case 1:return t.call(this,n[0],a);case 2:return t.call(this,n[0],n[1],a)}var o=Ia(e+1);for(r=-1;++r<e;)o[r]=n[r];return o[e]=a,t.apply(this,o)}}function gi(t){if("function"!=typeof t)throw new Ja(z);return function(e){return t.apply(this,e)}}function vi(t,e,n){var r=!0,i=!0;if("function"!=typeof t)throw new Ja(z);return!1===n?r=!1:ji(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),fi(t,e,{leading:r,maxWait:+e,trailing:i})}function Mi(t,e){return e=null==e?Ya:e,Pn(e,F,D,[t],[])}function bi(t,e,n,r){return e&&"boolean"!=typeof e&&Qn(t,e,n)?e=!1:"function"==typeof e&&(r=n,n=e,e=!1),"function"==typeof n?be(t,e,on(n,r,1)):be(t,e)}function Li(t,e,n){return"function"==typeof e?be(t,!0,on(e,n,1)):be(t,!0)}function ki(t,e){return t>e}function wi(t,e){return t>=e}function Di(t){return y(t)&&Kn(t)&&to.call(t,"callee")&&!co.call(t,"callee")}function xi(t){return!0===t||!1===t||y(t)&&no.call(t)==V}function Yi(t){return y(t)&&no.call(t)==G}function Ti(t){return!!t&&1===t.nodeType&&y(t)&&!Ii(t)}function Ai(t){return null==t||(Kn(t)&&(Au(t)||Wi(t)||Di(t)||y(t)&&Ci(t.splice))?!t.length:!Iu(t).length)}function Ei(t,e,n,r){n="function"==typeof n?on(n,r,3):D;var i=n?n(t,e):D;return i===D?He(t,e,n):!!i}function Si(t){return y(t)&&"string"==typeof t.message&&no.call(t)==J}function Fi(t){return"number"==typeof t&&Mo(t)}function Ci(t){return ji(t)&&no.call(t)==Z}function ji(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function Hi(t,e,n,r){return n="function"==typeof n?on(n,r,3):D,Pe(t,qn(e),n)}function Oi(t){return Bi(t)&&t!=+t}function Pi(t){return null!=t&&(Ci(t)?io.test(Qa.call(t)):y(t)&&St.test(t))}function Ni(t){return null===t}function Bi(t){return"number"==typeof t||y(t)&&no.call(t)==K}function Ii(t){var e;if(!y(t)||no.call(t)!=X||Di(t)||!to.call(t,"constructor")&&"function"==typeof(e=t.constructor)&&!(e instanceof e))return!1;var n;return Ee(t,function(t,e){n=e}),n===D||to.call(t,n)}function Ri(t){return ji(t)&&no.call(t)==Q}function Wi(t){return"string"==typeof t||y(t)&&no.call(t)==tt}function zi(t){return y(t)&&nr(t.length)&&!!Bt[no.call(t)]}function qi(t){return t===D}function Ui(t,e){return t<e}function $i(t,e){return t<=e}function Vi(t){var e=t?Wo(t):0;return nr(e)?e?ne(t):[]:aa(t)}function Gi(t){return ve(t,ta(t))}function Ji(t,e,n){var r=Ho(t);return n&&Qn(t,e,n)&&(e=D),e?ye(r,e):r}function Zi(t){return Ce(t,ta(t))}function Ki(t,e,n){var r=null==t?D:je(t,hr(e),e+"");return r===D?n:r}function Xi(t,e){if(null==t)return!1;var n=to.call(t,e);if(!n&&!tr(e)){if(e=hr(e),null==(t=1==e.length?t:je(t,Ge(e,0,-1))))return!1;e=xr(e),n=to.call(t,e)}return n||nr(t.length)&&Xn(e,t.length)&&(Au(t)||Di(t))}function Qi(t,e,n){n&&Qn(t,e,n)&&(e=D);for(var r=-1,i=Iu(t),a=i.length,o={};++r<a;){var u=i[r],s=t[u];e?to.call(o,s)?o[s].push(u):o[s]=[u]:o[s]=u}return o}function ta(t){if(null==t)return[];ji(t)||(t=$a(t));var e=t.length;e=e&&nr(e)&&(Au(t)||Di(t))&&e||0;for(var n=t.constructor,r=-1,i="function"==typeof n&&n.prototype===t,a=Ia(e),o=e>0;++r<e;)a[r]=r+"";for(var u in t)o&&Xn(u,e)||"constructor"==u&&(i||!to.call(t,u))||a.push(u);return a}function ea(t){t=dr(t);for(var e=-1,n=Iu(t),r=n.length,i=Ia(r);++e<r;){var a=n[e];i[e]=[a,t[a]]}return i}function na(t,e,n){var r=null==t?D:t[e];return r===D&&(null==t||tr(e,t)||(e=hr(e),t=1==e.length?t:je(t,Ge(e,0,-1)),r=null==t?D:t[xr(e)]),r=r===D?n:r),Ci(r)?r.call(t):r}function ra(t,e,n){if(null==t)return t;var r=e+"";e=null!=t[r]||tr(e,t)?[r]:hr(e);for(var i=-1,a=e.length,o=a-1,u=t;null!=u&&++i<a;){var s=e[i];ji(u)&&(i==o?u[s]=n:null==u[s]&&(u[s]=Xn(e[i+1])?[]:{})),u=u[s]}return t}function ia(t,e,n,r){var i=Au(t)||zi(t);if(e=Rn(e,r,4),null==n)if(i||ji(t)){var a=t.constructor;n=i?Au(t)?new a:[]:Ho(Ci(a)?a.prototype:D)}else n={};return(i?re:Se)(t,function(t,r,i){return e(n,t,r,i)}),n}function aa(t){return tn(t,Iu(t))}function oa(t){return tn(t,ta(t))}function ua(t,e,n){return e=+e||0,n===D?(n=e,e=0):n=+n||0,t>=ko(e,n)&&t<Lo(e,n)}function sa(t,e,n){n&&Qn(t,e,n)&&(e=n=D);var r=null==t,i=null==e;if(null==n&&(i&&"boolean"==typeof t?(n=t,t=1):"boolean"==typeof e&&(n=e,i=!0)),r&&i&&(e=1,i=!1),t=+t||0,i?(e=t,t=0):e=+e||0,n||t%1||e%1){var a=xo();return ko(t+a*(e-t+uo("1e-"+((a+"").length-1))),e)}return $e(t,e)}function ca(t){return(t=u(t))&&t.charAt(0).toUpperCase()+t.slice(1)}function la(t){return(t=u(t))&&t.replace(Ct,h).replace(xt,"")}function da(t,e,n){t=u(t),e+="";var r=t.length;return n=n===D?r:ko(n<0?0:+n||0,r),(n-=e.length)>=0&&t.indexOf(e,n)==n}function ha(t){return t=u(t),t&&yt.test(t)?t.replace(pt,f):t}function fa(t){return t=u(t),t&&Dt.test(t)?t.replace(wt,_):t||"(?:)"}function _a(t,e,n){t=u(t),e=+e;var r=t.length;if(r>=e||!Mo(e))return t;var i=(e-r)/2,a=go(i);return n=Cn("",mo(i),n),n.slice(0,a)+t+n}function pa(t,e,n){return(n?Qn(t,e,n):null==e)?e=0:e&&(e=+e),t=va(t),Do(t,e||(Et.test(t)?16:10))}function ma(t,e){var n="";if(t=u(t),(e=+e)<1||!t||!Mo(e))return n;do{e%2&&(n+=t),e=go(e/2),t+=t}while(e);return n}function ya(t,e,n){return t=u(t),n=null==n?0:ko(n<0?0:+n||0,t.length),t.lastIndexOf(e,n)==n}function ga(t,n,r){var i=e.templateSettings;r&&Qn(t,n,r)&&(n=r=D),t=u(t),n=me(ye({},r||n),i,pe);var a,o,s=me(ye({},n.imports),i.imports,pe),c=Iu(s),l=tn(s,c),d=0,h=n.interpolate||jt,f="__p += '",_=Va((n.escape||jt).source+"|"+h.source+"|"+(h===Mt?Tt:jt).source+"|"+(n.evaluate||jt).source+"|$","g"),m="//# sourceURL="+("sourceURL"in n?n.sourceURL:"lodash.templateSources["+ ++Nt+"]")+"\n";t.replace(_,function(e,n,r,i,u,s){return r||(r=i),f+=t.slice(d,s).replace(Ht,p),n&&(a=!0,f+="' +\n__e("+n+") +\n'"),u&&(o=!0,f+="';\n"+u+";\n__p += '"),r&&(f+="' +\n((__t = ("+r+")) == null ? '' : __t) +\n'"),d=s+e.length,e}),f+="';\n";var y=n.variable;y||(f="with (obj) {\n"+f+"\n}\n"),f=(o?f.replace(dt,""):f).replace(ht,"$1").replace(ft,"$1;"),f="function("+(y||"obj")+") {\n"+(y?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(a?", __e = _.escape":"")+(o?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+f+"return __p\n}";var g=Ku(function(){return za(c,m+"return "+f).apply(D,l)});if(g.source=f,Si(g))throw g;return g}function va(t,e,n){var r=t;return(t=u(t))?(n?Qn(r,e,n):null==e)?t.slice(b(t),L(t)+1):(e+="",t.slice(s(t,e),c(t,e)+1)):t}function Ma(t,e,n){var r=t;return t=u(t),t?(n?Qn(r,e,n):null==e)?t.slice(b(t)):t.slice(s(t,e+"")):t}function ba(t,e,n){var r=t;return t=u(t),t?(n?Qn(r,e,n):null==e)?t.slice(0,L(t)+1):t.slice(0,c(t,e+"")+1):t}function La(t,e,n){n&&Qn(t,e,n)&&(e=D);var r=O,i=P;if(null!=e)if(ji(e)){var a="separator"in e?e.separator:a;r="length"in e?+e.length||0:r,i="omission"in e?u(e.omission):i}else r=+e||0;if(t=u(t),r>=t.length)return t;var o=r-i.length;if(o<1)return i;var s=t.slice(0,o);if(null==a)return s+i;if(Ri(a)){if(t.slice(o).search(a)){var c,l,d=t.slice(0,o);for(a.global||(a=Va(a.source,(At.exec(a)||"")+"g")),a.lastIndex=0;c=a.exec(d);)l=c.index;s=s.slice(0,null==l?o:l)}}else if(t.indexOf(a,o)!=o){var h=s.lastIndexOf(a);h>-1&&(s=s.slice(0,h))}return s+i}function ka(t){return t=u(t),t&&mt.test(t)?t.replace(_t,k):t}function wa(t,e,n){return n&&Qn(t,e,n)&&(e=D),t=u(t),t.match(e||Ot)||[]}function Da(t,e,n){return n&&Qn(t,e,n)&&(e=D),y(t)?Ta(t):Me(t,e)}function xa(t){return function(){return t}}function Ya(t){return t}function Ta(t){return Be(be(t,!0))}function Aa(t,e){return Ie(t,be(e,!0))}function Ea(t,e,n){if(null==n){var r=ji(e),i=r?Iu(e):D,a=i&&i.length?Ce(e,i):D;(a?a.length:r)||(a=!1,n=e,e=t,t=this)}a||(a=Ce(e,Iu(e)));var o=!0,u=-1,s=Ci(t),c=a.length;!1===n?o=!1:ji(n)&&"chain"in n&&(o=n.chain);for(;++u<c;){var l=a[u],d=e[l];t[l]=d,s&&(t.prototype[l]=function(e){return function(){var n=this.__chain__;if(o||n){var r=t(this.__wrapped__);return(r.__actions__=ne(this.__actions__)).push({func:e,args:arguments,thisArg:t}),r.__chain__=n,r}return e.apply(t,ce([this.value()],arguments))}}(d))}return t}function Sa(){return Qt._=ro,this}function Fa(){}function Ca(t){return tr(t)?ze(t):qe(t)}function ja(t){return function(e){return je(t,hr(e),e+"")}}function Ha(t,e,n){n&&Qn(t,e,n)&&(e=n=D),t=+t||0,n=null==n?1:+n||0,null==e?(e=t,t=0):e=+e||0;for(var r=-1,i=Lo(mo((e-t)/(n||1)),0),a=Ia(i);++r<i;)a[r]=t,t+=n;return a}function Oa(t,e,n){if((t=go(t))<1||!Mo(t))return[];var r=-1,i=Ia(ko(t,Ao));for(e=on(e,n,1);++r<t;)r<Ao?i[r]=e(r):e(r);return i}function Pa(t){var e=++eo;return u(t)+e}function Na(t,e){return(+t||0)+(+e||0)}function Ba(t,e,n){return n&&Qn(t,e,n)&&(e=D),e=Rn(e,n,3),1==e.length?fe(Au(t)?t:lr(t),e):Xe(t,e)}t=t?te.defaults(Qt.Object(),t,te.pick(Qt,Pt)):Qt;var Ia=t.Array,Ra=t.Date,Wa=t.Error,za=t.Function,qa=t.Math,Ua=t.Number,$a=t.Object,Va=t.RegExp,Ga=t.String,Ja=t.TypeError,Za=Ia.prototype,Ka=$a.prototype,Xa=Ga.prototype,Qa=za.prototype.toString,to=Ka.hasOwnProperty,eo=0,no=Ka.toString,ro=Qt._,io=Va("^"+Qa.call(to).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),ao=t.ArrayBuffer,oo=t.clearTimeout,uo=t.parseFloat,so=qa.pow,co=Ka.propertyIsEnumerable,lo=Un(t,"Set"),ho=t.setTimeout,fo=Za.splice,_o=t.Uint8Array,po=Un(t,"WeakMap"),mo=qa.ceil,yo=Un($a,"create"),go=qa.floor,vo=Un(Ia,"isArray"),Mo=t.isFinite,bo=Un($a,"keys"),Lo=qa.max,ko=qa.min,wo=Un(Ra,"now"),Do=t.parseInt,xo=qa.random,Yo=Ua.NEGATIVE_INFINITY,To=Ua.POSITIVE_INFINITY,Ao=4294967295,Eo=Ao-1,So=Ao>>>1,Fo=9007199254740991,Co=po&&new po,jo={};e.support={};e.templateSettings={escape:gt,evaluate:vt,interpolate:Mt,variable:"",imports:{_:e}};var Ho=function(){function t(){}return function(e){if(ji(e)){t.prototype=e;var n=new t;t.prototype=D}return n||{}}}(),Oo=hn(Se),Po=hn(Fe,!0),No=fn(),Bo=fn(!0),Io=Co?function(t,e){return Co.set(t,e),t}:Ya,Ro=Co?function(t){return Co.get(t)}:Fa,Wo=ze("length"),zo=function(){var t=0,e=0;return function(n,r){var i=pu(),a=B-(i-e);if(e=i,a>0){if(++t>=N)return n}else t=0;return Io(n,r)}}(),qo=yi(function(t,e){return y(t)&&Kn(t)?ke(t,Ae(e,!1,!0)):[]}),Uo=Ln(),$o=Ln(!0),Vo=yi(function(t){for(var e=t.length,n=e,r=Ia(d),i=zn(),o=i==a,u=[];n--;){var s=t[n]=Kn(s=t[n])?s:[];r[n]=o&&s.length>=120?pn(n&&s):null}var c=t[0],l=-1,d=c?c.length:0,h=r[0];t:for(;++l<d;)if(s=c[l],(h?Kt(h,s):i(u,s,0))<0){for(var n=e;--n;){var f=r[n];if((f?Kt(f,s):i(t[n],s,0))<0)continue t}h&&h.push(s),u.push(s)}return u}),Go=yi(function(t,e){e=Ae(e);var n=ge(t,e);return Ue(t,e.sort(r)),n}),Jo=On(),Zo=On(!0),Ko=yi(function(t){return Qe(Ae(t,!1,!0))}),Xo=yi(function(t,e){return Kn(t)?ke(t,e):[]}),Qo=yi(Pr),tu=yi(function(t){var e=t.length,n=e>2?t[e-2]:D,r=e>1?t[e-1]:D;return e>2&&"function"==typeof n?e-=2:(n=e>1&&"function"==typeof r?(--e,r):D,r=D),t.length=e,Nr(t,n,r)}),eu=yi(function(t){return t=Ae(t),this.thru(function(e){return ee(Au(e)?e:[dr(e)],t)})}),nu=yi(function(t,e){return ge(t,Ae(e))}),ru=ln(function(t,e,n){to.call(t,n)?++t[n]:t[n]=1}),iu=bn(Oo),au=bn(Po,!0),ou=Dn(re,Oo),uu=Dn(ie,Po),su=ln(function(t,e,n){to.call(t,n)?t[n].push(e):t[n]=[e]}),cu=ln(function(t,e,n){t[n]=e}),lu=yi(function(t,e,n){var r=-1,i="function"==typeof e,a=tr(e),o=Kn(t)?Ia(t.length):[];return Oo(t,function(t){var u=i?e:a&&null!=t?t[e]:D;o[++r]=u?u.apply(t,n):Zn(t,e,n)}),o}),du=ln(function(t,e,n){t[n?0:1].push(e)},function(){return[[],[]]}),hu=Sn(le,Oo),fu=Sn(de,Po),_u=yi(function(t,e){if(null==t)return[];var n=e[2];return n&&Qn(e[0],e[1],n)&&(e.length=1),Ke(t,Ae(e),[])}),pu=wo||function(){return(new Ra).getTime()},mu=yi(function(t,e,n){var r=Y;if(n.length){var i=v(n,mu.placeholder);r|=F}return Pn(t,r,e,n,i)}),yu=yi(function(t,e){e=e.length?Ae(e):Zi(t);for(var n=-1,r=e.length;++n<r;){var i=e[n];t[i]=Pn(t[i],Y,t)}return t}),gu=yi(function(t,e,n){var r=Y|T;if(n.length){var i=v(n,gu.placeholder);r|=F}return Pn(e,r,t,n,i)}),vu=gn(E),Mu=gn(S),bu=yi(function(t,e){return Le(t,1,e)}),Lu=yi(function(t,e,n){return Le(t,e,n)}),ku=wn(),wu=wn(!0),Du=yi(function(t,e){if(e=Ae(e),"function"!=typeof t||!ae(e,o))throw new Ja(z);var n=e.length;return yi(function(r){for(var i=ko(r.length,n);i--;)r[i]=e[i](r[i]);return t.apply(this,r)})}),xu=En(F),Yu=En(C),Tu=yi(function(t,e){return Pn(t,H,D,D,D,Ae(e))}),Au=vo||function(t){return y(t)&&nr(t.length)&&no.call(t)==$},Eu=dn(Re),Su=dn(function(t,e,n){return n?me(t,e,n):ye(t,e)}),Fu=vn(Su,_e),Cu=vn(Eu,ar),ju=kn(Se),Hu=kn(Fe),Ou=xn(No),Pu=xn(Bo),Nu=Yn(Se),Bu=Yn(Fe),Iu=bo?function(t){var e=null==t?D:t.constructor;return"function"==typeof e&&e.prototype===t||"function"!=typeof t&&Kn(t)?cr(t):ji(t)?bo(t):[]}:cr,Ru=Tn(!0),Wu=Tn(),zu=yi(function(t,e){if(null==t)return{};if("function"!=typeof e[0]){var e=se(Ae(e),Ga);return or(t,ke(ta(t),e))}var n=on(e[0],e[1],3);return ur(t,function(t,e,r){return!n(t,e,r)})}),qu=yi(function(t,e){return null==t?{}:"function"==typeof e[0]?ur(t,on(e[0],e[1],3)):or(t,Ae(e))}),Uu=mn(function(t,e,n){return e=e.toLowerCase(),t+(n?e.charAt(0).toUpperCase()+e.slice(1):e)}),$u=mn(function(t,e,n){return t+(n?"-":"")+e.toLowerCase()}),Vu=An(),Gu=An(!0),Ju=mn(function(t,e,n){return t+(n?"_":"")+e.toLowerCase()}),Zu=mn(function(t,e,n){return t+(n?" ":"")+(e.charAt(0).toUpperCase()+e.slice(1))}),Ku=yi(function(t,e){try{return t.apply(D,e)}catch(t){return Si(t)?t:new Wa(t)}}),Xu=yi(function(t,e){return function(n){return Zn(n,t,e)}}),Qu=yi(function(t,e){return function(n){return Zn(t,n,e)}}),ts=Hn("ceil"),es=Hn("floor"),ns=Mn(ki,Yo),rs=Mn(Ui,To),is=Hn("round");return e.prototype=n.prototype,g.prototype=Ho(n.prototype),g.prototype.constructor=g,Rt.prototype=Ho(n.prototype),Rt.prototype.constructor=Rt,Ut.prototype.delete=$t,Ut.prototype.get=Vt,Ut.prototype.has=Gt,Ut.prototype.set=Jt,Zt.prototype.push=Xt,_i.Cache=Ut,e.after=li,e.ary=di,e.assign=Su,e.at=nu,e.before=hi,e.bind=mu,e.bindAll=yu,e.bindKey=gu,e.callback=Da,e.chain=Rr,e.chunk=_r,e.compact=pr,e.constant=xa,e.countBy=ru,e.create=Ji,e.curry=vu,e.curryRight=Mu,e.debounce=fi,e.defaults=Fu,e.defaultsDeep=Cu,e.defer=bu,e.delay=Lu,e.difference=qo,e.drop=mr,e.dropRight=yr,e.dropRightWhile=gr,e.dropWhile=vr,e.fill=Mr,e.filter=Kr,e.flatten=Lr,e.flattenDeep=kr,e.flow=ku,e.flowRight=wu,e.forEach=ou,e.forEachRight=uu,e.forIn=Ou,e.forInRight=Pu,e.forOwn=Nu,e.forOwnRight=Bu,e.functions=Zi,e.groupBy=su,e.indexBy=cu,e.initial=Dr,e.intersection=Vo,e.invert=Qi,e.invoke=lu,e.keys=Iu,e.keysIn=ta,e.map=ti,e.mapKeys=Ru,e.mapValues=Wu,e.matches=Ta,e.matchesProperty=Aa,e.memoize=_i,e.merge=Eu,e.method=Xu,e.methodOf=Qu,e.mixin=Ea,e.modArgs=Du,e.negate=pi,e.omit=zu,e.once=mi,e.pairs=ea,e.partial=xu,e.partialRight=Yu,e.partition=du,e.pick=qu,e.pluck=ei,e.property=Ca,e.propertyOf=ja,e.pull=Tr,e.pullAt=Go,e.range=Ha,e.rearg=Tu,e.reject=ni,e.remove=Ar,e.rest=Er,e.restParam=yi,e.set=ra,e.shuffle=ii,e.slice=Sr,e.sortBy=ui,e.sortByAll=_u,e.sortByOrder=si,e.spread=gi,e.take=Fr,e.takeRight=Cr,e.takeRightWhile=jr,e.takeWhile=Hr,e.tap=Wr,e.throttle=vi,e.thru=zr,e.times=Oa,e.toArray=Vi,e.toPlainObject=Gi,e.transform=ia,e.union=Ko,e.uniq=Or,e.unzip=Pr,e.unzipWith=Nr,e.values=aa,e.valuesIn=oa,e.where=ci,e.without=Xo,e.wrap=Mi,e.xor=Br,e.zip=Qo,e.zipObject=Ir,e.zipWith=tu,e.backflow=wu,e.collect=ti,e.compose=wu,e.each=ou,e.eachRight=uu,e.extend=Su,e.iteratee=Da,e.methods=Zi,e.object=Ir,e.select=Kr,e.tail=Er,e.unique=Or,Ea(e,e),e.add=Na,e.attempt=Ku,e.camelCase=Uu,e.capitalize=ca,e.ceil=ts,e.clone=bi,e.cloneDeep=Li,e.deburr=la,e.endsWith=da,e.escape=ha,e.escapeRegExp=fa,e.every=Zr,e.find=iu,e.findIndex=Uo,e.findKey=ju,e.findLast=au,e.findLastIndex=$o,e.findLastKey=Hu,e.findWhere=Xr,e.first=br,e.floor=es,e.get=Ki,e.gt=ki,e.gte=wi,e.has=Xi,e.identity=Ya,e.includes=Qr,e.indexOf=wr,e.inRange=ua,e.isArguments=Di,e.isArray=Au,e.isBoolean=xi,e.isDate=Yi,e.isElement=Ti,e.isEmpty=Ai,e.isEqual=Ei,e.isError=Si,e.isFinite=Fi,e.isFunction=Ci,e.isMatch=Hi,e.isNaN=Oi,e.isNative=Pi,e.isNull=Ni,e.isNumber=Bi,e.isObject=ji,e.isPlainObject=Ii,e.isRegExp=Ri,e.isString=Wi,e.isTypedArray=zi,e.isUndefined=qi,e.kebabCase=$u,e.last=xr,e.lastIndexOf=Yr,e.lt=Ui,e.lte=$i,e.max=ns,e.min=rs,e.noConflict=Sa,e.noop=Fa,e.now=pu,e.pad=_a,e.padLeft=Vu,e.padRight=Gu,e.parseInt=pa,e.random=sa,e.reduce=hu,e.reduceRight=fu,e.repeat=ma,e.result=na,e.round=is,e.runInContext=w,e.size=ai,e.snakeCase=Ju,e.some=oi,e.sortedIndex=Jo,e.sortedLastIndex=Zo,e.startCase=Zu,e.startsWith=ya,e.sum=Ba,e.template=ga,e.trim=va,e.trimLeft=Ma,e.trimRight=ba,e.trunc=La,e.unescape=ka,e.uniqueId=Pa,e.words=wa,e.all=Zr,e.any=oi,e.contains=Qr,e.eq=Ei,e.detect=iu,e.foldl=hu,e.foldr=fu,e.head=br,e.include=Qr,e.inject=hu,Ea(e,function(){var t={};return Se(e,function(n,r){e.prototype[r]||(t[r]=n)}),t}(),!1),e.sample=ri,e.prototype.sample=function(t){return this.__chain__||null!=t?this.thru(function(e){return ri(e,t)}):ri(this.value())},e.VERSION=x,re(["bind","bindKey","curry","curryRight","partial","partialRight"],function(t){e[t].placeholder=e}),re(["drop","take"],function(t,e){Rt.prototype[t]=function(n){var r=this.__filtered__;if(r&&!e)return new Rt(this);n=null==n?1:Lo(go(n)||0,0);var i=this.clone();return r?i.__takeCount__=ko(i.__takeCount__,n):i.__views__.push({size:n,type:t+(i.__dir__<0?"Right":"")}),i},Rt.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}}),re(["filter","map","takeWhile"],function(t,e){var n=e+1,r=n!=W;Rt.prototype[t]=function(t,e){var i=this.clone();return i.__iteratees__.push({iteratee:Rn(t,e,1),type:n}),i.__filtered__=i.__filtered__||r,i}}),re(["first","last"],function(t,e){var n="take"+(e?"Right":"");Rt.prototype[t]=function(){return this[n](1).value()[0]}}),re(["initial","rest"],function(t,e){var n="drop"+(e?"":"Right");Rt.prototype[t]=function(){return this.__filtered__?new Rt(this):this[n](1)}}),re(["pluck","where"],function(t,e){var n=e?"filter":"map",r=e?Be:Ca;Rt.prototype[t]=function(t){return this[n](r(t))}}),Rt.prototype.compact=function(){return this.filter(Ya)},Rt.prototype.reject=function(t,e){return t=Rn(t,e,1),this.filter(function(e){return!t(e)})},Rt.prototype.slice=function(t,e){t=null==t?0:+t||0;var n=this;return n.__filtered__&&(t>0||e<0)?new Rt(n):(t<0?n=n.takeRight(-t):t&&(n=n.drop(t)),e!==D&&(e=+e||0,n=e<0?n.dropRight(-e):n.take(e-t)),n)},Rt.prototype.takeRightWhile=function(t,e){return this.reverse().takeWhile(t,e).reverse()},Rt.prototype.toArray=function(){return this.take(To)},Se(Rt.prototype,function(t,n){var r=/^(?:filter|map|reject)|While$/.test(n),i=/^(?:first|last)$/.test(n),a=e[i?"take"+("last"==n?"Right":""):n];a&&(e.prototype[n]=function(){var e=i?[1]:arguments,n=this.__chain__,o=this.__wrapped__,u=!!this.__actions__.length,s=o instanceof Rt,c=e[0],l=s||Au(o);l&&r&&"function"==typeof c&&1!=c.length&&(s=l=!1);var d=function(t){return i&&n?a(t,1)[0]:a.apply(D,ce([t],e))},h={func:zr,args:[d],thisArg:D},f=s&&!u;if(i&&!n)return f?(o=o.clone(),o.__actions__.push(h),t.call(o)):a.call(D,this.value())[0];if(!i&&l){o=f?o:new Rt(this);var _=t.apply(o,e);return _.__actions__.push(h),new g(_,n)}return this.thru(d)})}),re(["join","pop","push","replace","shift","sort","splice","split","unshift"],function(t){var n=(/^(?:replace|split)$/.test(t)?Xa:Za)[t],r=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",i=/^(?:join|pop|replace|shift)$/.test(t);e.prototype[t]=function(){var t=arguments;return i&&!this.__chain__?n.apply(this.value(),t):this[r](function(e){return n.apply(e,t)})}}),Se(Rt.prototype,function(t,n){var r=e[n];if(r){var i=r.name;(jo[i]||(jo[i]=[])).push({name:n,func:r})}}),jo[Fn(D,T).name]=[{name:"wrapper",func:D}],Rt.prototype.clone=Wt,Rt.prototype.reverse=zt,Rt.prototype.value=qt,e.prototype.chain=qr,e.prototype.commit=Ur,e.prototype.concat=eu,e.prototype.plant=$r,e.prototype.reverse=Vr,e.prototype.toString=Gr,e.prototype.run=e.prototype.toJSON=e.prototype.valueOf=e.prototype.value=Jr,e.prototype.collect=e.prototype.map,e.prototype.head=e.prototype.first,e.prototype.select=e.prototype.filter,e.prototype.tail=e.prototype.rest,e}var D,x="3.10.1",Y=1,T=2,A=4,E=8,S=16,F=32,C=64,j=128,H=256,O=30,P="...",N=150,B=16,I=200,R=1,W=2,z="Expected a function",q="__lodash_placeholder__",U="[object Arguments]",$="[object Array]",V="[object Boolean]",G="[object Date]",J="[object Error]",Z="[object Function]",K="[object Number]",X="[object Object]",Q="[object RegExp]",tt="[object String]",et="[object ArrayBuffer]",nt="[object Float32Array]",rt="[object Float64Array]",it="[object Int8Array]",at="[object Int16Array]",ot="[object Int32Array]",ut="[object Uint8Array]",st="[object Uint8ClampedArray]",ct="[object Uint16Array]",lt="[object Uint32Array]",dt=/\b__p \+= '';/g,ht=/\b(__p \+=) '' \+/g,ft=/(__e\(.*?\)|\b__t\)) \+\n'';/g,_t=/&(?:amp|lt|gt|quot|#39|#96);/g,pt=/[&<>"'`]/g,mt=RegExp(_t.source),yt=RegExp(pt.source),gt=/<%-([\s\S]+?)%>/g,vt=/<%([\s\S]+?)%>/g,Mt=/<%=([\s\S]+?)%>/g,bt=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/,Lt=/^\w*$/,kt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g,wt=/^[:!,]|[\\^$.*+?()[\]{}|\/]|(^[0-9a-fA-Fnrtuvx])|([\n\r\u2028\u2029])/g,Dt=RegExp(wt.source),xt=/[\u0300-\u036f\ufe20-\ufe23]/g,Yt=/\\(\\)?/g,Tt=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,At=/\w*$/,Et=/^0[xX]/,St=/^\[object .+?Constructor\]$/,Ft=/^\d+$/,Ct=/[\xc0-\xd6\xd8-\xde\xdf-\xf6\xf8-\xff]/g,jt=/($^)/,Ht=/['\n\r\u2028\u2029\\]/g,Ot=function(){var t="[A-Z\\xc0-\\xd6\\xd8-\\xde]",e="[a-z\\xdf-\\xf6\\xf8-\\xff]+";return RegExp(t+"+(?="+t+e+")|"+t+"?"+e+"|"+t+"+|[0-9]+","g")}(),Pt=["Array","ArrayBuffer","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Math","Number","Object","RegExp","Set","String","_","clearTimeout","isFinite","parseFloat","parseInt","setTimeout","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap"],Nt=-1,Bt={};Bt[nt]=Bt[rt]=Bt[it]=Bt[at]=Bt[ot]=Bt[ut]=Bt[st]=Bt[ct]=Bt[lt]=!0,Bt[U]=Bt[$]=Bt[et]=Bt[V]=Bt[G]=Bt[J]=Bt[Z]=Bt["[object Map]"]=Bt[K]=Bt[X]=Bt[Q]=Bt["[object Set]"]=Bt[tt]=Bt["[object WeakMap]"]=!1;var It={};It[U]=It[$]=It[et]=It[V]=It[G]=It[nt]=It[rt]=It[it]=It[at]=It[ot]=It[K]=It[X]=It[Q]=It[tt]=It[ut]=It[st]=It[ct]=It[lt]=!0,It[J]=It[Z]=It["[object Map]"]=It["[object Set]"]=It["[object WeakMap]"]=!1;var Rt={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss"},Wt={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","`":"&#96;"},zt={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'","&#96;":"`"},qt={function:!0,object:!0},Ut={0:"x30",1:"x31",2:"x32",3:"x33",4:"x34",5:"x35",6:"x36",7:"x37",8:"x38",9:"x39",A:"x41",B:"x42",C:"x43",D:"x44",E:"x45",F:"x46",a:"x61",b:"x62",c:"x63",d:"x64",e:"x65",f:"x66",n:"x6e",r:"x72",t:"x74",u:"x75",v:"x76",x:"x78"},$t={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Vt=qt[typeof e]&&e&&!e.nodeType&&e,Gt=qt[typeof t]&&t&&!t.nodeType&&t,Jt=Vt&&Gt&&"object"==typeof n&&n&&n.Object&&n,Zt=qt[typeof self]&&self&&self.Object&&self,Kt=qt[typeof window]&&window&&window.Object&&window,Xt=Gt&&Gt.exports===Vt&&Vt,Qt=Jt||Kt!==(this&&this.window)&&Kt||Zt||this,te=w();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Qt._=te,define(function(){return te})):Vt&&Gt?Xt?(Gt.exports=te)._=te:Vt._=te:Qt._=te}).call(this)}).call(e,n(4)(t),n(9))},function(t,e){t.exports="1.0.7"},function(t,e,n){function r(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:i(t),edges:a(t)};return u.isUndefined(t.graph())||(e.value=u.clone(t.graph())),e}function i(t){return u.map(t.nodes(),function(e){var n=t.node(e),r=t.parent(e),i={v:e};return u.isUndefined(n)||(i.value=n),u.isUndefined(r)||(i.parent=r),i})}function a(t){return u.map(t.edges(),function(e){var n=t.edge(e),r={v:e.v,w:e.w};return u.isUndefined(e.name)||(r.name=e.name),u.isUndefined(n)||(r.value=n),r})}function o(t){var e=new s(t.options).setGraph(t.value);return u.each(t.nodes,function(t){e.setNode(t.v,t.value),t.parent&&e.setParent(t.v,t.parent)}),u.each(t.edges,function(t){e.setEdge({v:t.v,w:t.w,name:t.name},t.value)}),e}var u=n(6),s=n(19);t.exports={write:r,read:o}},function(t,e,n){t.exports={components:n(194),dijkstra:n(34),dijkstraAll:n(195),findCycles:n(196),floydWarshall:n(197),isAcyclic:n(198),postorder:n(199),preorder:n(200),prim:n(201),tarjan:n(36),topsort:n(37)}},function(t,e,n){function r(t){function e(a){i.has(r,a)||(r[a]=!0,n.push(a),i.each(t.successors(a),e),i.each(t.predecessors(a),e))}var n,r={},a=[];return i.each(t.nodes(),function(t){n=[],e(t),n.length&&a.push(n)}),a}var i=n(6);t.exports=r},function(t,e,n){function r(t,e,n){return a.transform(t.nodes(),function(r,a){r[a]=i(t,a,e,n)},{})}var i=n(34),a=n(6);t.exports=r},function(t,e,n){function r(t){return i.filter(a(t),function(e){return e.length>1||1===e.length&&t.hasEdge(e[0],e[0])})}var i=n(6),a=n(36);t.exports=r},function(t,e,n){function r(t,e,n){return i(t,e||o,n||function(e){return t.outEdges(e)})}function i(t,e,n){var r={},i=t.nodes();return i.forEach(function(t){r[t]={},r[t][t]={distance:0},i.forEach(function(e){t!==e&&(r[t][e]={distance:Number.POSITIVE_INFINITY})}),n(t).forEach(function(n){var i=n.v===t?n.w:n.v,a=e(n);r[t][i]={distance:a,predecessor:t}})}),i.forEach(function(t){var e=r[t];i.forEach(function(n){var a=r[n];i.forEach(function(n){var r=a[t],i=e[n],o=a[n],u=r.distance+i.distance;u<o.distance&&(o.distance=u,o.predecessor=i.predecessor)})})}),r}var a=n(6);t.exports=r;var o=a.constant(1)},function(t,e,n){function r(t){try{i(t)}catch(t){if(t instanceof i.CycleException)return!1;throw t}return!0}var i=n(37);t.exports=r},function(t,e,n){function r(t,e){return i(t,e,"post")}var i=n(38);t.exports=r},function(t,e,n){function r(t,e){return i(t,e,"pre")}var i=n(38);t.exports=r},function(t,e,n){function r(t,e){function n(t){var n=t.v===r?t.w:t.v,i=c.priority(n);if(void 0!==i){var a=e(t);a<i&&(s[n]=r,c.decrease(n,a))}}var r,u=new a,s={},c=new o;if(0===t.nodeCount())return u;i.each(t.nodes(),function(t){c.add(t,Number.POSITIVE_INFINITY),u.setNode(t)}),c.decrease(t.nodes()[0],0);for(var l=!1;c.size()>0;){if(r=c.removeMin(),i.has(s,r))u.setEdge(r,s[r]);else{if(l)throw new Error("Input graph is not connected: "+t);l=!0}t.nodeEdges(r).forEach(n)}return u}var i=n(6),a=n(19),o=n(35);t.exports=r},function(t,e,n){"use strict";function r(t,e){var n=e&&e.debugTiming?C.time:C.notime;n("layout",function(){var e=n(" buildLayoutGraph",function(){return o(t)});n(" runLayout",function(){i(e,n)}),n(" updateInputGraph",function(){a(t,e)})})}function i(t,e){e(" makeSpaceForEdgeLabels",function(){u(t)}),e(" removeSelfEdges",function(){m(t)}),e(" acyclic",function(){L.run(t)}),e(" nestingGraph.run",function(){T.run(t)}),e(" rank",function(){w(C.asNonCompoundGraph(t))}),e(" injectEdgeLabelProxies",function(){s(t)}),e(" removeEmptyRanks",function(){Y(t)}),e(" nestingGraph.cleanup",function(){T.cleanup(t)}),e(" normalizeRanks",function(){D(t)}),e(" assignRankMinMax",function(){c(t)}),e(" removeEdgeLabelProxies",function(){l(t)}),e(" normalize.run",function(){k.run(t)}),e(" parentDummyChains",function(){x(t)}),e(" addBorderSegments",function(){A(t)}),e(" order",function(){S(t)}),e(" insertSelfEdges",function(){y(t)}),e(" adjustCoordinateSystem",function(){E.adjust(t)}),e(" position",function(){F(t)}),e(" positionSelfEdges",function(){g(t)}),e(" removeBorderNodes",function(){p(t)}),e(" normalize.undo",function(){k.undo(t)}),e(" fixupEdgeLabelCoords",function(){f(t)}),e(" undoCoordinateSystem",function(){E.undo(t)}),e(" translateGraph",function(){d(t)}),e(" assignNodeIntersects",function(){h(t)}),e(" reversePoints",function(){_(t)}),e(" acyclic.undo",function(){L.undo(t)})}function a(t,e){b.each(t.nodes(),function(n){var r=t.node(n),i=e.node(n);r&&(r.x=i.x,r.y=i.y,e.children(n).length&&(r.width=i.width,r.height=i.height))}),b.each(t.edges(),function(n){var r=t.edge(n),i=e.edge(n);r.points=i.points,b.has(i,"x")&&(r.x=i.x,r.y=i.y)}),t.graph().width=e.graph().width,t.graph().height=e.graph().height}function o(t){var e=new j({multigraph:!0,compound:!0}),n=M(t.graph());return e.setGraph(b.merge({},O,v(n,H),b.pick(n,P))),b.each(t.nodes(),function(n){var r=M(t.node(n));e.setNode(n,b.defaults(v(r,N),B)),e.setParent(n,t.parent(n))}),b.each(t.edges(),function(n){var r=M(t.edge(n));e.setEdge(n,b.merge({},R,v(r,I),b.pick(r,W)))}),e}function u(t){var e=t.graph();e.ranksep/=2,b.each(t.edges(),function(n){var r=t.edge(n);r.minlen*=2,"c"!==r.labelpos.toLowerCase()&&("TB"===e.rankdir||"BT"===e.rankdir?r.width+=r.labeloffset:r.height+=r.labeloffset)})}function s(t){b.each(t.edges(),function(e){var n=t.edge(e);if(n.width&&n.height){var r=t.node(e.v),i=t.node(e.w),a={rank:(i.rank-r.rank)/2+r.rank,e:e};C.addDummyNode(t,"edge-proxy",a,"_ep")}})}function c(t){var e=0;b.each(t.nodes(),function(n){var r=t.node(n);r.borderTop&&(r.minRank=t.node(r.borderTop).rank,r.maxRank=t.node(r.borderBottom).rank,e=b.max(e,r.maxRank))}),t.graph().maxRank=e}function l(t){b.each(t.nodes(),function(e){var n=t.node(e);"edge-proxy"===n.dummy&&(t.edge(n.e).labelRank=n.rank,t.removeNode(e))})}function d(t){function e(t){var e=t.x,o=t.y,u=t.width,s=t.height;n=Math.min(n,e-u/2),r=Math.max(r,e+u/2),i=Math.min(i,o-s/2),a=Math.max(a,o+s/2)}var n=Number.POSITIVE_INFINITY,r=0,i=Number.POSITIVE_INFINITY,a=0,o=t.graph(),u=o.marginx||0,s=o.marginy||0;b.each(t.nodes(),function(n){e(t.node(n))}),b.each(t.edges(),function(n){var r=t.edge(n);b.has(r,"x")&&e(r)}),n-=u,i-=s,b.each(t.nodes(),function(e){var r=t.node(e);r.x-=n,r.y-=i}),b.each(t.edges(),function(e){var r=t.edge(e);b.each(r.points,function(t){t.x-=n,t.y-=i}),b.has(r,"x")&&(r.x-=n),b.has(r,"y")&&(r.y-=i)}),o.width=r-n+u,o.height=a-i+s}function h(t){b.each(t.edges(),function(e){var n,r,i=t.edge(e),a=t.node(e.v),o=t.node(e.w);i.points?(n=i.points[0],r=i.points[i.points.length-1]):(i.points=[],n=o,r=a),i.points.unshift(C.intersectRect(a,n)),i.points.push(C.intersectRect(o,r))})}function f(t){b.each(t.edges(),function(e){var n=t.edge(e);if(b.has(n,"x"))switch("l"!==n.labelpos&&"r"!==n.labelpos||(n.width-=n.labeloffset),n.labelpos){case"l":n.x-=n.width/2+n.labeloffset;break;case"r":n.x+=n.width/2+n.labeloffset}})}function _(t){b.each(t.edges(),function(e){var n=t.edge(e);n.reversed&&n.points.reverse()})}function p(t){b.each(t.nodes(),function(e){if(t.children(e).length){var n=t.node(e),r=t.node(n.borderTop),i=t.node(n.borderBottom),a=t.node(b.last(n.borderLeft)),o=t.node(b.last(n.borderRight));n.width=Math.abs(o.x-a.x),n.height=Math.abs(i.y-r.y),n.x=a.x+n.width/2,n.y=r.y+n.height/2}}),b.each(t.nodes(),function(e){"border"===t.node(e).dummy&&t.removeNode(e)})}function m(t){b.each(t.edges(),function(e){if(e.v===e.w){var n=t.node(e.v);n.selfEdges||(n.selfEdges=[]),n.selfEdges.push({e:e,label:t.edge(e)}),t.removeEdge(e)}})}function y(t){var e=C.buildLayerMatrix(t);b.each(e,function(e){var n=0;b.each(e,function(e,r){var i=t.node(e);i.order=r+n,b.each(i.selfEdges,function(e){C.addDummyNode(t,"selfedge",{width:e.label.width,height:e.label.height,rank:i.rank,order:r+ ++n,e:e.e,label:e.label},"_se")}),delete i.selfEdges})})}function g(t){b.each(t.nodes(),function(e){var n=t.node(e);if("selfedge"===n.dummy){var r=t.node(n.e.v),i=r.x+r.width/2,a=r.y,o=n.x-i,u=r.height/2;t.setEdge(n.e,n.label),t.removeNode(e),n.label.points=[{x:i+2*o/3,y:a-u},{x:i+5*o/6,y:a-u},{x:i+o,y:a},{x:i+5*o/6,y:a+u},{x:i+2*o/3,y:a+u}],n.label.x=n.x,n.label.y=n.y}})}function v(t,e){return b.mapValues(b.pick(t,e),Number)}function M(t){var e={};return b.each(t,function(t,n){e[n.toLowerCase()]=t}),e}var b=n(1),L=n(204),k=n(207),w=n(208),D=n(3).normalizeRanks,x=n(210),Y=n(3).removeEmptyRanks,T=n(211),A=n(212),E=n(213),S=n(214),F=n(223),C=n(3),j=n(8).Graph;t.exports=r;var H=["nodesep","edgesep","ranksep","marginx","marginy"],O={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},P=["acyclicer","ranker","rankdir","align"],N=["width","height"],B={width:0,height:0},I=["minlen","weight","width","height","labeloffset"],R={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},W=["labelpos"]},function(t,e,n){(function(t,n){(function(){function r(t,e){if(t!==e){var n=null===t,r=t===D,i=t===t,a=null===e,o=e===D,u=e===e;if(t>e&&!a||!i||n&&!o&&u||r&&u)return 1;if(t<e&&!n||!u||a&&!r&&i||o&&i)return-1}return 0}function i(t,e,n){for(var r=t.length,i=n?r:-1;n?i--:++i<r;)if(e(t[i],i,t))return i;return-1}function a(t,e,n){if(e!==e)return m(t,n);for(var r=n-1,i=t.length;++r<i;)if(t[r]===e)return r;return-1}function o(t){return"function"==typeof t||!1}function u(t){return null==t?"":t+""}function s(t,e){for(var n=-1,r=t.length;++n<r&&e.indexOf(t.charAt(n))>-1;);return n}function c(t,e){for(var n=t.length;n--&&e.indexOf(t.charAt(n))>-1;);return n}function l(t,e){return r(t.criteria,e.criteria)||t.index-e.index}function d(t,e,n){for(var i=-1,a=t.criteria,o=e.criteria,u=a.length,s=n.length;++i<u;){var c=r(a[i],o[i]);if(c){if(i>=s)return c;var l=n[i];return c*("asc"===l||!0===l?1:-1)}}return t.index-e.index}function h(t){return Rt[t]}function f(t){return Wt[t]}function _(t,e,n){return e?t=Ut[t]:n&&(t=$t[t]),"\\"+t}function p(t){return"\\"+$t[t]}function m(t,e,n){for(var r=t.length,i=e+(n?0:-1);n?i--:++i<r;){var a=t[i];if(a!==a)return i}return-1}function y(t){return!!t&&"object"==typeof t}function g(t){return t<=160&&t>=9&&t<=13||32==t||160==t||5760==t||6158==t||t>=8192&&(t<=8202||8232==t||8233==t||8239==t||8287==t||12288==t||65279==t)}function v(t,e){for(var n=-1,r=t.length,i=-1,a=[];++n<r;)t[n]===e&&(t[n]=q,a[++i]=n);return a}function M(t,e){for(var n,r=-1,i=t.length,a=-1,o=[];++r<i;){var u=t[r],s=e?e(u,r,t):u;r&&n===s||(n=s,o[++a]=u)}return o}function b(t){for(var e=-1,n=t.length;++e<n&&g(t.charCodeAt(e)););return e}function L(t){for(var e=t.length;e--&&g(t.charCodeAt(e)););return e}function k(t){return zt[t]}function w(t){function e(t){if(y(t)&&!Au(t)&&!(t instanceof Rt)){if(t instanceof g)return t;if(to.call(t,"__chain__")&&to.call(t,"__wrapped__"))return fr(t)}return new g(t)}function n(){}function g(t,e,n){this.__wrapped__=t,this.__actions__=n||[],this.__chain__=!!e}function Rt(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=To,this.__views__=[]}function Wt(){var t=new Rt(this.__wrapped__);return t.__actions__=ne(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=ne(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=ne(this.__views__),t}function zt(){if(this.__filtered__){var t=new Rt(this);t.__dir__=-1,t.__filtered__=!0}else t=this.clone(),t.__dir__*=-1;return t}function qt(){var t=this.__wrapped__.value(),e=this.__dir__,n=Au(t),r=e<0,i=n?t.length:0,a=$n(0,i,this.__views__),o=a.start,u=a.end,s=u-o,c=r?u:o-1,l=this.__iteratees__,d=l.length,h=0,f=ko(s,this.__takeCount__);if(!n||i<I||i==s&&f==s)return nn(r&&n?t.reverse():t,this.__actions__);var _=[];t:for(;s--&&h<f;){c+=e;for(var p=-1,m=t[c];++p<d;){var y=l[p],g=y.iteratee,v=y.type,M=g(m);if(v==W)m=M;else if(!M){if(v==R)continue t;break t}}_[h++]=m}return _}function Ut(){this.__data__={}}function $t(t){return this.has(t)&&delete this.__data__[t]}function Vt(t){return"__proto__"==t?D:this.__data__[t]}function Gt(t){return"__proto__"!=t&&to.call(this.__data__,t)}function Jt(t,e){return"__proto__"!=t&&(this.__data__[t]=e),this}function Zt(t){var e=t?t.length:0;for(this.data={hash:yo(null),set:new lo};e--;)this.push(t[e])}function Kt(t,e){var n=t.data;return("string"==typeof e||ji(e)?n.set.has(e):n.hash[e])?0:-1}function Xt(t){var e=this.data;"string"==typeof t||ji(t)?e.set.add(t):e.hash[t]=!0}function ee(t,e){for(var n=-1,r=t.length,i=-1,a=e.length,o=Ia(r+a);++n<r;)o[n]=t[n];for(;++i<a;)o[n++]=e[i];return o}function ne(t,e){var n=-1,r=t.length;for(e||(e=Ia(r));++n<r;)e[n]=t[n];return e}function re(t,e){for(var n=-1,r=t.length;++n<r&&!1!==e(t[n],n,t););return t}function ie(t,e){for(var n=t.length;n--&&!1!==e(t[n],n,t););return t}function ae(t,e){for(var n=-1,r=t.length;++n<r;)if(!e(t[n],n,t))return!1;return!0}function oe(t,e,n,r){for(var i=-1,a=t.length,o=r,u=o;++i<a;){var s=t[i],c=+e(s);n(c,o)&&(o=c,u=s)}return u}function ue(t,e){for(var n=-1,r=t.length,i=-1,a=[];++n<r;){var o=t[n];e(o,n,t)&&(a[++i]=o)}return a}function se(t,e){for(var n=-1,r=t.length,i=Ia(r);++n<r;)i[n]=e(t[n],n,t);return i}function ce(t,e){for(var n=-1,r=e.length,i=t.length;++n<r;)t[i+n]=e[n];return t}function le(t,e,n,r){var i=-1,a=t.length;for(r&&a&&(n=t[++i]);++i<a;)n=e(n,t[i],i,t);return n}function de(t,e,n,r){var i=t.length;for(r&&i&&(n=t[--i]);i--;)n=e(n,t[i],i,t);return n}function he(t,e){for(var n=-1,r=t.length;++n<r;)if(e(t[n],n,t))return!0;return!1}function fe(t,e){for(var n=t.length,r=0;n--;)r+=+e(t[n])||0;return r}function _e(t,e){return t===D?e:t}function pe(t,e,n,r){return t!==D&&to.call(r,n)?t:e}function me(t,e,n){for(var r=-1,i=Iu(e),a=i.length;++r<a;){var o=i[r],u=t[o],s=n(u,e[o],o,t,e);(s===s?s===u:u!==u)&&(u!==D||o in t)||(t[o]=s)}return t}function ye(t,e){return null==e?t:ve(e,Iu(e),t)}function ge(t,e){for(var n=-1,r=null==t,i=!r&&Kn(t),a=i?t.length:0,o=e.length,u=Ia(o);++n<o;){var s=e[n];u[n]=i?Xn(s,a)?t[s]:D:r?D:t[s]}return u}function ve(t,e,n){n||(n={});for(var r=-1,i=e.length;++r<i;){var a=e[r];n[a]=t[a]}return n}function Me(t,e,n){var r=typeof t;return"function"==r?e===D?t:on(t,e,n):null==t?Ya:"object"==r?Be(t):e===D?Ca(t):Ie(t,e)}function be(t,e,n,r,i,a,o){var u;if(n&&(u=i?n(t,r,i):n(t)),u!==D)return u;if(!ji(t))return t;var s=Au(t);if(s){if(u=Vn(t),!e)return ne(t,u)}else{var c=no.call(t),l=c==Z;if(c!=X&&c!=U&&(!l||i))return It[c]?Jn(t,c,e):i?t:{};if(u=Gn(l?{}:t),!e)return ye(u,t)}a||(a=[]),o||(o=[]);for(var d=a.length;d--;)if(a[d]==t)return o[d];return a.push(t),o.push(u),(s?re:Se)(t,function(r,i){u[i]=be(r,e,n,i,t,a,o)}),u}function Le(t,e,n){if("function"!=typeof t)throw new Ja(z);return ho(function(){t.apply(D,n)},e)}function ke(t,e){var n=t?t.length:0,r=[];if(!n)return r;var i=-1,o=zn(),u=o==a,s=u&&e.length>=I?pn(e):null,c=e.length;s&&(o=Kt,u=!1,e=s);t:for(;++i<n;){var l=t[i];if(u&&l===l){for(var d=c;d--;)if(e[d]===l)continue t;r.push(l)}else o(e,l,0)<0&&r.push(l)}return r}function we(t,e){var n=!0;return Oo(t,function(t,r,i){return n=!!e(t,r,i)}),n}function De(t,e,n,r){var i=r,a=i;return Oo(t,function(t,o,u){var s=+e(t,o,u);(n(s,i)||s===r&&s===a)&&(i=s,a=t)}),a}function xe(t,e,n,r){var i=t.length;for(n=null==n?0:+n||0,n<0&&(n=-n>i?0:i+n),r=r===D||r>i?i:+r||0,r<0&&(r+=i),i=n>r?0:r>>>0,n>>>=0;n<i;)t[n++]=e;return t}function Ye(t,e){var n=[];return Oo(t,function(t,r,i){e(t,r,i)&&n.push(t)}),n}function Te(t,e,n,r){var i;return n(t,function(t,n,a){if(e(t,n,a))return i=r?n:t,!1}),i}function Ae(t,e,n,r){r||(r=[]);for(var i=-1,a=t.length;++i<a;){var o=t[i];y(o)&&Kn(o)&&(n||Au(o)||Di(o))?e?Ae(o,e,n,r):ce(r,o):n||(r[r.length]=o)}return r}function Ee(t,e){return No(t,e,ta)}function Se(t,e){return No(t,e,Iu)}function Fe(t,e){return Bo(t,e,Iu)}function Ce(t,e){for(var n=-1,r=e.length,i=-1,a=[];++n<r;){var o=e[n];Ci(t[o])&&(a[++i]=o)}return a}function je(t,e,n){if(null!=t){n!==D&&n in dr(t)&&(e=[n]);for(var r=0,i=e.length;null!=t&&r<i;)t=t[e[r++]];return r&&r==i?t:D}}function He(t,e,n,r,i,a){return t===e||(null==t||null==e||!ji(t)&&!y(e)?t!==t&&e!==e:Oe(t,e,He,n,r,i,a))}function Oe(t,e,n,r,i,a,o){var u=Au(t),s=Au(e),c=$,l=$;u||(c=no.call(t),c==U?c=X:c!=X&&(u=zi(t))),s||(l=no.call(e),l==U?l=X:l!=X&&(s=zi(e)));var d=c==X,h=l==X,f=c==l;if(f&&!u&&!d)return Bn(t,e,c);if(!i){var _=d&&to.call(t,"__wrapped__"),p=h&&to.call(e,"__wrapped__");if(_||p)return n(_?t.value():t,p?e.value():e,r,i,a,o)}if(!f)return!1;a||(a=[]),o||(o=[]);for(var m=a.length;m--;)if(a[m]==t)return o[m]==e;a.push(t),o.push(e);var y=(u?Nn:In)(t,e,n,r,i,a,o);return a.pop(),o.pop(),y}function Pe(t,e,n){var r=e.length,i=r,a=!n;if(null==t)return!i;for(t=dr(t);r--;){var o=e[r];if(a&&o[2]?o[1]!==t[o[0]]:!(o[0]in t))return!1}for(;++r<i;){o=e[r];var u=o[0],s=t[u],c=o[1];if(a&&o[2]){if(s===D&&!(u in t))return!1}else{var l=n?n(s,c,u):D;if(!(l===D?He(c,s,n,!0):l))return!1}}return!0}function Ne(t,e){var n=-1,r=Kn(t)?Ia(t.length):[];return Oo(t,function(t,i,a){r[++n]=e(t,i,a)}),r}function Be(t){var e=qn(t);if(1==e.length&&e[0][2]){var n=e[0][0],r=e[0][1];return function(t){return null!=t&&(t[n]===r&&(r!==D||n in dr(t)))}}return function(t){return Pe(t,e)}}function Ie(t,e){var n=Au(t),r=tr(t)&&rr(e),i=t+"";return t=hr(t),function(a){if(null==a)return!1;var o=i;if(a=dr(a),(n||!r)&&!(o in a)){if(null==(a=1==t.length?a:je(a,Ge(t,0,-1))))return!1;o=xr(t),a=dr(a)}return a[o]===e?e!==D||o in a:He(e,a[o],D,!0)}}function Re(t,e,n,r,i){if(!ji(t))return t;var a=Kn(e)&&(Au(e)||zi(e)),o=a?D:Iu(e);return re(o||e,function(u,s){if(o&&(s=u,u=e[s]),y(u))r||(r=[]),i||(i=[]),We(t,e,s,Re,n,r,i);else{var c=t[s],l=n?n(c,u,s,t,e):D,d=l===D;d&&(l=u),l===D&&(!a||s in t)||!d&&(l===l?l===c:c!==c)||(t[s]=l)}}),t}function We(t,e,n,r,i,a,o){for(var u=a.length,s=e[n];u--;)if(a[u]==s)return void(t[n]=o[u]);var c=t[n],l=i?i(c,s,n,t,e):D,d=l===D;d&&(l=s,Kn(s)&&(Au(s)||zi(s))?l=Au(c)?c:Kn(c)?ne(c):[]:Ii(s)||Di(s)?l=Di(c)?Gi(c):Ii(c)?c:{}:d=!1),a.push(s),o.push(l),d?t[n]=r(l,s,i,a,o):(l===l?l!==c:c===c)&&(t[n]=l)}function ze(t){return function(e){return null==e?D:e[t]}}function qe(t){var e=t+"";return t=hr(t),function(n){return je(n,t,e)}}function Ue(t,e){for(var n=t?e.length:0;n--;){var r=e[n];if(r!=i&&Xn(r)){var i=r;fo.call(t,r,1)}}return t}function $e(t,e){return t+go(xo()*(e-t+1))}function Ve(t,e,n,r,i){return i(t,function(t,i,a){n=r?(r=!1,t):e(n,t,i,a)}),n}function Ge(t,e,n){var r=-1,i=t.length;e=null==e?0:+e||0,e<0&&(e=-e>i?0:i+e),n=n===D||n>i?i:+n||0,n<0&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var a=Ia(i);++r<i;)a[r]=t[r+e];return a}function Je(t,e){var n;return Oo(t,function(t,r,i){return!(n=e(t,r,i))}),!!n}function Ze(t,e){var n=t.length;for(t.sort(e);n--;)t[n]=t[n].value;return t}function Ke(t,e,n){var r=Rn(),i=-1;return e=se(e,function(t){return r(t)}),Ze(Ne(t,function(t){return{criteria:se(e,function(e){return e(t)}),index:++i,value:t}}),function(t,e){return d(t,e,n)})}function Xe(t,e){var n=0;return Oo(t,function(t,r,i){n+=+e(t,r,i)||0}),n}function Qe(t,e){var n=-1,r=zn(),i=t.length,o=r==a,u=o&&i>=I,s=u?pn():null,c=[];s?(r=Kt,o=!1):(u=!1,s=e?[]:c);t:for(;++n<i;){var l=t[n],d=e?e(l,n,t):l;if(o&&l===l){for(var h=s.length;h--;)if(s[h]===d)continue t;e&&s.push(d),c.push(l)}else r(s,d,0)<0&&((e||u)&&s.push(d),c.push(l))}return c}function tn(t,e){for(var n=-1,r=e.length,i=Ia(r);++n<r;)i[n]=t[e[n]];return i}function en(t,e,n,r){for(var i=t.length,a=r?i:-1;(r?a--:++a<i)&&e(t[a],a,t););return n?Ge(t,r?0:a,r?a+1:i):Ge(t,r?a+1:0,r?i:a)}function nn(t,e){var n=t;n instanceof Rt&&(n=n.value());for(var r=-1,i=e.length;++r<i;){var a=e[r];n=a.func.apply(a.thisArg,ce([n],a.args))}return n}function rn(t,e,n){var r=0,i=t?t.length:r;if("number"==typeof e&&e===e&&i<=So){for(;r<i;){var a=r+i>>>1,o=t[a];(n?o<=e:o<e)&&null!==o?r=a+1:i=a}return i}return an(t,e,Ya,n)}function an(t,e,n,r){e=n(e);for(var i=0,a=t?t.length:0,o=e!==e,u=null===e,s=e===D;i<a;){var c=go((i+a)/2),l=n(t[c]),d=l!==D,h=l===l;if(o)var f=h||r;else f=u?h&&d&&(r||null!=l):s?h&&(r||d):null!=l&&(r?l<=e:l<e);f?i=c+1:a=c}return ko(a,Eo)}function on(t,e,n){if("function"!=typeof t)return Ya;if(e===D)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 3:return function(n,r,i){return t.call(e,n,r,i)};case 4:return function(n,r,i,a){return t.call(e,n,r,i,a)};case 5:return function(n,r,i,a,o){return t.call(e,n,r,i,a,o)}}return function(){return t.apply(e,arguments)}}function un(t){var e=new ao(t.byteLength);return new _o(e).set(new _o(t)),e}function sn(t,e,n){for(var r=n.length,i=-1,a=Lo(t.length-r,0),o=-1,u=e.length,s=Ia(u+a);++o<u;)s[o]=e[o];for(;++i<r;)s[n[i]]=t[i];for(;a--;)s[o++]=t[i++];return s}function cn(t,e,n){for(var r=-1,i=n.length,a=-1,o=Lo(t.length-i,0),u=-1,s=e.length,c=Ia(o+s);++a<o;)c[a]=t[a];for(var l=a;++u<s;)c[l+u]=e[u];for(;++r<i;)c[l+n[r]]=t[a++];return c}function ln(t,e){return function(n,r,i){var a=e?e():{};if(r=Rn(r,i,3),Au(n))for(var o=-1,u=n.length;++o<u;){var s=n[o];t(a,s,r(s,o,n),n)}else Oo(n,function(e,n,i){t(a,e,r(e,n,i),i)});return a}}function dn(t){return yi(function(e,n){var r=-1,i=null==e?0:n.length,a=i>2?n[i-2]:D,o=i>2?n[2]:D,u=i>1?n[i-1]:D;for("function"==typeof a?(a=on(a,u,5),i-=2):(a="function"==typeof u?u:D,i-=a?1:0),o&&Qn(n[0],n[1],o)&&(a=i<3?D:a,i=1);++r<i;){var s=n[r];s&&t(e,s,a)}return e})}function hn(t,e){return function(n,r){var i=n?Wo(n):0;if(!nr(i))return t(n,r);for(var a=e?i:-1,o=dr(n);(e?a--:++a<i)&&!1!==r(o[a],a,o););return n}}function fn(t){return function(e,n,r){for(var i=dr(e),a=r(e),o=a.length,u=t?o:-1;t?u--:++u<o;){var s=a[u];if(!1===n(i[s],s,i))break}return e}}function _n(t,e){function n(){return(this&&this!==Qt&&this instanceof n?r:t).apply(e,arguments)}var r=yn(t);return n}function pn(t){return yo&&lo?new Zt(t):null}function mn(t){return function(e){for(var n=-1,r=wa(la(e)),i=r.length,a="";++n<i;)a=t(a,r[n],n);return a}}function yn(t){return function(){var e=arguments;switch(e.length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3]);case 5:return new t(e[0],e[1],e[2],e[3],e[4]);case 6:return new t(e[0],e[1],e[2],e[3],e[4],e[5]);case 7:return new t(e[0],e[1],e[2],e[3],e[4],e[5],e[6])}var n=Ho(t.prototype),r=t.apply(n,e);return ji(r)?r:n}}function gn(t){function e(n,r,i){i&&Qn(n,r,i)&&(r=D);var a=Pn(n,t,D,D,D,D,D,r);return a.placeholder=e.placeholder,a}return e}function vn(t,e){return yi(function(n){var r=n[0];return null==r?r:(n.push(e),t.apply(D,n))})}function Mn(t,e){return function(n,r,i){if(i&&Qn(n,r,i)&&(r=D),r=Rn(r,i,3),1==r.length){n=Au(n)?n:lr(n);var a=oe(n,r,t,e);if(!n.length||a!==e)return a}return De(n,r,t,e)}}function bn(t,e){return function(n,r,a){if(r=Rn(r,a,3),Au(n)){var o=i(n,r,e);return o>-1?n[o]:D}return Te(n,r,t)}}function Ln(t){return function(e,n,r){return e&&e.length?(n=Rn(n,r,3),i(e,n,t)):-1}}function kn(t){return function(e,n,r){return n=Rn(n,r,3),Te(e,n,t,!0)}}function wn(t){return function(){for(var e,n=arguments.length,r=t?n:-1,i=0,a=Ia(n);t?r--:++r<n;){var o=a[i++]=arguments[r];if("function"!=typeof o)throw new Ja(z);!e&&g.prototype.thru&&"wrapper"==Wn(o)&&(e=new g([],!0))}for(r=e?-1:n;++r<n;){o=a[r];var u=Wn(o),s="wrapper"==u?Ro(o):D;e=s&&er(s[0])&&s[1]==(j|E|F|H)&&!s[4].length&&1==s[9]?e[Wn(s[0])].apply(e,s[3]):1==o.length&&er(o)?e[u]():e.thru(o)}return function(){var t=arguments,r=t[0];if(e&&1==t.length&&Au(r)&&r.length>=I)return e.plant(r).value();for(var i=0,o=n?a[i].apply(this,t):r;++i<n;)o=a[i].call(this,o);return o}}}function Dn(t,e){return function(n,r,i){return"function"==typeof r&&i===D&&Au(n)?t(n,r):e(n,on(r,i,3))}}function xn(t){return function(e,n,r){return"function"==typeof n&&r===D||(n=on(n,r,3)),t(e,n,ta)}}function Yn(t){return function(e,n,r){return"function"==typeof n&&r===D||(n=on(n,r,3)),t(e,n)}}function Tn(t){return function(e,n,r){var i={};return n=Rn(n,r,3),Se(e,function(e,r,a){var o=n(e,r,a);r=t?o:r,e=t?e:o,i[r]=e}),i}}function An(t){return function(e,n,r){return e=u(e),(t?e:"")+Cn(e,n,r)+(t?"":e)}}function En(t){var e=yi(function(n,r){var i=v(r,e.placeholder);return Pn(n,t,D,r,i)});return e}function Sn(t,e){return function(n,r,i,a){var o=arguments.length<3;return"function"==typeof r&&a===D&&Au(n)?t(n,r,i,o):Ve(n,Rn(r,a,4),i,o,e)}}function Fn(t,e,n,r,i,a,o,u,s,c){function l(){for(var g=arguments.length,M=g,b=Ia(g);M--;)b[M]=arguments[M];if(r&&(b=sn(b,r,i)),a&&(b=cn(b,a,o)),_||m){var L=l.placeholder,k=v(b,L);if((g-=k.length)<c){var w=u?ne(u):D,x=Lo(c-g,0),A=_?k:D,E=_?D:k,S=_?b:D,j=_?D:b;e|=_?F:C,e&=~(_?C:F),p||(e&=~(Y|T));var H=[t,e,n,S,A,j,E,w,s,x],O=Fn.apply(D,H);return er(t)&&zo(O,H),O.placeholder=L,O}}var P=h?n:this,N=f?P[t]:t;return u&&(b=sr(b,u)),d&&s<b.length&&(b.length=s),this&&this!==Qt&&this instanceof l&&(N=y||yn(t)),N.apply(P,b)}var d=e&j,h=e&Y,f=e&T,_=e&E,p=e&A,m=e&S,y=f?D:yn(t);return l}function Cn(t,e,n){var r=t.length;if(e=+e,r>=e||!Mo(e))return"";var i=e-r;return n=null==n?" ":n+"",ma(n,mo(i/n.length)).slice(0,i)}function jn(t,e,n,r){function i(){for(var e=-1,u=arguments.length,s=-1,c=r.length,l=Ia(c+u);++s<c;)l[s]=r[s];for(;u--;)l[s++]=arguments[++e];return(this&&this!==Qt&&this instanceof i?o:t).apply(a?n:this,l)}var a=e&Y,o=yn(t);return i}function Hn(t){var e=qa[t];return function(t,n){return n=n===D?0:+n||0,n?(n=so(10,n),e(t*n)/n):e(t)}}function On(t){return function(e,n,r,i){var a=Rn(r);return null==r&&a===Me?rn(e,n,t):an(e,n,a(r,i,1),t)}}function Pn(t,e,n,r,i,a,o,u){var s=e&T;if(!s&&"function"!=typeof t)throw new Ja(z);var c=r?r.length:0;if(c||(e&=~(F|C),r=i=D),c-=i?i.length:0,e&C){var l=r,d=i;r=i=D}var h=s?D:Ro(t),f=[t,e,n,r,i,l,d,a,o,u];if(h&&(ir(f,h),e=f[1],u=f[9]),f[9]=null==u?s?0:t.length:Lo(u-c,0)||0,e==Y)var _=_n(f[0],f[2]);else _=e!=F&&e!=(Y|F)||f[4].length?Fn.apply(D,f):jn.apply(D,f);return(h?Io:zo)(_,f)}function Nn(t,e,n,r,i,a,o){var u=-1,s=t.length,c=e.length;if(s!=c&&!(i&&c>s))return!1;for(;++u<s;){var l=t[u],d=e[u],h=r?r(i?d:l,i?l:d,u):D;if(h!==D){if(h)continue;return!1}if(i){if(!he(e,function(t){return l===t||n(l,t,r,i,a,o)}))return!1}else if(l!==d&&!n(l,d,r,i,a,o))return!1}return!0}function Bn(t,e,n){switch(n){case V:case G:return+t==+e;case J:return t.name==e.name&&t.message==e.message;case K:return t!=+t?e!=+e:t==+e;case Q:case tt:return t==e+""}return!1}function In(t,e,n,r,i,a,o){var u=Iu(t),s=u.length;if(s!=Iu(e).length&&!i)return!1;for(var c=s;c--;){var l=u[c];if(!(i?l in e:to.call(e,l)))return!1}for(var d=i;++c<s;){l=u[c];var h=t[l],f=e[l],_=r?r(i?f:h,i?h:f,l):D;if(!(_===D?n(h,f,r,i,a,o):_))return!1;d||(d="constructor"==l)}if(!d){var p=t.constructor,m=e.constructor;if(p!=m&&"constructor"in t&&"constructor"in e&&!("function"==typeof p&&p instanceof p&&"function"==typeof m&&m instanceof m))return!1}return!0}function Rn(t,n,r){var i=e.callback||Da;return i=i===Da?Me:i,r?i(t,n,r):i}function Wn(t){for(var e=t.name,n=jo[e],r=n?n.length:0;r--;){var i=n[r],a=i.func;if(null==a||a==t)return i.name}return e}function zn(t,n,r){var i=e.indexOf||wr;return i=i===wr?a:i,t?i(t,n,r):i}function qn(t){for(var e=ea(t),n=e.length;n--;)e[n][2]=rr(e[n][1]);return e}function Un(t,e){var n=null==t?D:t[e];return Pi(n)?n:D}function $n(t,e,n){for(var r=-1,i=n.length;++r<i;){var a=n[r],o=a.size;switch(a.type){case"drop":t+=o;break;case"dropRight":e-=o;break;case"take":e=ko(e,t+o);break;case"takeRight":t=Lo(t,e-o)}}return{start:t,end:e}}function Vn(t){var e=t.length,n=new t.constructor(e);return e&&"string"==typeof t[0]&&to.call(t,"index")&&(n.index=t.index,n.input=t.input),n}function Gn(t){var e=t.constructor;return"function"==typeof e&&e instanceof e||(e=$a),new e}function Jn(t,e,n){var r=t.constructor;switch(e){case et:return un(t);case V:case G:return new r(+t);case nt:case rt:case it:case at:case ot:case ut:case st:case ct:case lt:var i=t.buffer;return new r(n?un(i):i,t.byteOffset,t.length);case K:case tt:return new r(t);case Q:var a=new r(t.source,At.exec(t));a.lastIndex=t.lastIndex}return a}function Zn(t,e,n){null==t||tr(e,t)||(e=hr(e),t=1==e.length?t:je(t,Ge(e,0,-1)),e=xr(e));var r=null==t?t:t[e];return null==r?D:r.apply(t,n)}function Kn(t){return null!=t&&nr(Wo(t))}function Xn(t,e){return t="number"==typeof t||Ft.test(t)?+t:-1,e=null==e?Fo:e,t>-1&&t%1==0&&t<e}function Qn(t,e,n){if(!ji(n))return!1;var r=typeof e;if("number"==r?Kn(n)&&Xn(e,n.length):"string"==r&&e in n){var i=n[e];return t===t?t===i:i!==i}return!1}function tr(t,e){var n=typeof t;return!!("string"==n&&Lt.test(t)||"number"==n)||!Au(t)&&(!bt.test(t)||null!=e&&t in dr(e))}function er(t){var n=Wn(t);if(!(n in Rt.prototype))return!1;var r=e[n];if(t===r)return!0;var i=Ro(r);return!!i&&t===i[0]}function nr(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=Fo}function rr(t){return t===t&&!ji(t)}function ir(t,e){var n=t[1],r=e[1],i=n|r,a=i<j,o=r==j&&n==E||r==j&&n==H&&t[7].length<=e[8]||r==(j|H)&&n==E;if(!a&&!o)return t;r&Y&&(t[2]=e[2],i|=n&Y?0:A);var u=e[3];if(u){var s=t[3];t[3]=s?sn(s,u,e[4]):ne(u),t[4]=s?v(t[3],q):ne(e[4])}return u=e[5],u&&(s=t[5],t[5]=s?cn(s,u,e[6]):ne(u),t[6]=s?v(t[5],q):ne(e[6])),u=e[7],u&&(t[7]=ne(u)),r&j&&(t[8]=null==t[8]?e[8]:ko(t[8],e[8])),null==t[9]&&(t[9]=e[9]),t[0]=e[0],t[1]=i,t}function ar(t,e){return t===D?e:Eu(t,e,ar)}function or(t,e){t=dr(t);for(var n=-1,r=e.length,i={};++n<r;){var a=e[n];a in t&&(i[a]=t[a])}return i}function ur(t,e){var n={};return Ee(t,function(t,r,i){e(t,r,i)&&(n[r]=t)}),n}function sr(t,e){for(var n=t.length,r=ko(e.length,n),i=ne(t);r--;){var a=e[r];t[r]=Xn(a,n)?i[a]:D}return t}function cr(t){for(var e=ta(t),n=e.length,r=n&&t.length,i=!!r&&nr(r)&&(Au(t)||Di(t)),a=-1,o=[];++a<n;){var u=e[a];(i&&Xn(u,r)||to.call(t,u))&&o.push(u)}return o}function lr(t){return null==t?[]:Kn(t)?ji(t)?t:$a(t):aa(t)}function dr(t){return ji(t)?t:$a(t)}function hr(t){if(Au(t))return t;var e=[];return u(t).replace(kt,function(t,n,r,i){e.push(r?i.replace(Yt,"$1"):n||t)}),e}function fr(t){return t instanceof Rt?t.clone():new g(t.__wrapped__,t.__chain__,ne(t.__actions__))}function _r(t,e,n){e=(n?Qn(t,e,n):null==e)?1:Lo(go(e)||1,1);for(var r=0,i=t?t.length:0,a=-1,o=Ia(mo(i/e));r<i;)o[++a]=Ge(t,r,r+=e);return o}function pr(t){for(var e=-1,n=t?t.length:0,r=-1,i=[];++e<n;){var a=t[e];a&&(i[++r]=a)}return i}function mr(t,e,n){return(t?t.length:0)?((n?Qn(t,e,n):null==e)&&(e=1),Ge(t,e<0?0:e)):[]}function yr(t,e,n){var r=t?t.length:0;return r?((n?Qn(t,e,n):null==e)&&(e=1),e=r-(+e||0),Ge(t,0,e<0?0:e)):[]}function gr(t,e,n){return t&&t.length?en(t,Rn(e,n,3),!0,!0):[]}function vr(t,e,n){return t&&t.length?en(t,Rn(e,n,3),!0):[]}function Mr(t,e,n,r){var i=t?t.length:0;return i?(n&&"number"!=typeof n&&Qn(t,e,n)&&(n=0,r=i),xe(t,e,n,r)):[]}function br(t){return t?t[0]:D}function Lr(t,e,n){var r=t?t.length:0;return n&&Qn(t,e,n)&&(e=!1),r?Ae(t,e):[]}function kr(t){return(t?t.length:0)?Ae(t,!0):[]}function wr(t,e,n){var r=t?t.length:0;if(!r)return-1;if("number"==typeof n)n=n<0?Lo(r+n,0):n;else if(n){var i=rn(t,e);return i<r&&(e===e?e===t[i]:t[i]!==t[i])?i:-1}return a(t,e,n||0)}function Dr(t){return yr(t,1)}function xr(t){var e=t?t.length:0;return e?t[e-1]:D}function Yr(t,e,n){var r=t?t.length:0;if(!r)return-1;var i=r;if("number"==typeof n)i=(n<0?Lo(r+n,0):ko(n||0,r-1))+1;else if(n){i=rn(t,e,!0)-1;var a=t[i];return(e===e?e===a:a!==a)?i:-1}if(e!==e)return m(t,i,!0);for(;i--;)if(t[i]===e)return i;return-1}function Tr(){var t=arguments,e=t[0];if(!e||!e.length)return e;for(var n=0,r=zn(),i=t.length;++n<i;)for(var a=0,o=t[n];(a=r(e,o,a))>-1;)fo.call(e,a,1);return e}function Ar(t,e,n){var r=[];if(!t||!t.length)return r;var i=-1,a=[],o=t.length;for(e=Rn(e,n,3);++i<o;){var u=t[i];e(u,i,t)&&(r.push(u),a.push(i))}return Ue(t,a),r}function Er(t){return mr(t,1)}function Sr(t,e,n){var r=t?t.length:0;return r?(n&&"number"!=typeof n&&Qn(t,e,n)&&(e=0,n=r),Ge(t,e,n)):[]}function Fr(t,e,n){return(t?t.length:0)?((n?Qn(t,e,n):null==e)&&(e=1),Ge(t,0,e<0?0:e)):[]}function Cr(t,e,n){var r=t?t.length:0;return r?((n?Qn(t,e,n):null==e)&&(e=1),e=r-(+e||0),Ge(t,e<0?0:e)):[]}function jr(t,e,n){return t&&t.length?en(t,Rn(e,n,3),!1,!0):[]}function Hr(t,e,n){return t&&t.length?en(t,Rn(e,n,3)):[]}function Or(t,e,n,r){if(!(t?t.length:0))return[];null!=e&&"boolean"!=typeof e&&(r=n,n=Qn(t,e,r)?D:e,e=!1);var i=Rn();return null==n&&i===Me||(n=i(n,r,3)),e&&zn()==a?M(t,n):Qe(t,n)}function Pr(t){if(!t||!t.length)return[];var e=-1,n=0;t=ue(t,function(t){if(Kn(t))return n=Lo(t.length,n),!0});for(var r=Ia(n);++e<n;)r[e]=se(t,ze(e));return r}function Nr(t,e,n){if(!(t?t.length:0))return[];var r=Pr(t);return null==e?r:(e=on(e,n,4),se(r,function(t){return le(t,e,D,!0)}))}function Br(){for(var t=-1,e=arguments.length;++t<e;){var n=arguments[t];if(Kn(n))var r=r?ce(ke(r,n),ke(n,r)):n}return r?Qe(r):[]}function Ir(t,e){var n=-1,r=t?t.length:0,i={};for(!r||e||Au(t[0])||(e=[]);++n<r;){var a=t[n];e?i[a]=e[n]:a&&(i[a[0]]=a[1])}return i}function Rr(t){var n=e(t);return n.__chain__=!0,n}function Wr(t,e,n){return e.call(n,t),t}function zr(t,e,n){return e.call(n,t)}function qr(){return Rr(this)}function Ur(){return new g(this.value(),this.__chain__)}function $r(t){for(var e,r=this;r instanceof n;){var i=fr(r);e?a.__wrapped__=i:e=i;var a=i;r=r.__wrapped__}return a.__wrapped__=t,e}function Vr(){var t=this.__wrapped__,e=function(t){return n&&n.__dir__<0?t:t.reverse()};if(t instanceof Rt){var n=t;return this.__actions__.length&&(n=new Rt(this)),n=n.reverse(),n.__actions__.push({func:zr,args:[e],thisArg:D}),new g(n,this.__chain__)}return this.thru(e)}function Gr(){return this.value()+""}function Jr(){return nn(this.__wrapped__,this.__actions__)}function Zr(t,e,n){var r=Au(t)?ae:we;return n&&Qn(t,e,n)&&(e=D),"function"==typeof e&&n===D||(e=Rn(e,n,3)),r(t,e)}function Kr(t,e,n){var r=Au(t)?ue:Ye;return e=Rn(e,n,3),r(t,e)}function Xr(t,e){return iu(t,Be(e))}function Qr(t,e,n,r){var i=t?Wo(t):0;return nr(i)||(t=aa(t),i=t.length),n="number"!=typeof n||r&&Qn(e,n,r)?0:n<0?Lo(i+n,0):n||0,"string"==typeof t||!Au(t)&&Wi(t)?n<=i&&t.indexOf(e,n)>-1:!!i&&zn(t,e,n)>-1}function ti(t,e,n){var r=Au(t)?se:Ne;return e=Rn(e,n,3),r(t,e)}function ei(t,e){return ti(t,Ca(e))}function ni(t,e,n){var r=Au(t)?ue:Ye;return e=Rn(e,n,3),r(t,function(t,n,r){return!e(t,n,r)})}function ri(t,e,n){if(n?Qn(t,e,n):null==e){t=lr(t);var r=t.length;return r>0?t[$e(0,r-1)]:D}var i=-1,a=Vi(t),r=a.length,o=r-1;for(e=ko(e<0?0:+e||0,r);++i<e;){var u=$e(i,o),s=a[u];a[u]=a[i],a[i]=s}return a.length=e,a}function ii(t){return ri(t,To)}function ai(t){var e=t?Wo(t):0;return nr(e)?e:Iu(t).length}function oi(t,e,n){var r=Au(t)?he:Je;return n&&Qn(t,e,n)&&(e=D),"function"==typeof e&&n===D||(e=Rn(e,n,3)),r(t,e)}function ui(t,e,n){if(null==t)return[];n&&Qn(t,e,n)&&(e=D);var r=-1;return e=Rn(e,n,3),Ze(Ne(t,function(t,n,i){return{criteria:e(t,n,i),index:++r,value:t}}),l)}function si(t,e,n,r){return null==t?[]:(r&&Qn(e,n,r)&&(n=D),Au(e)||(e=null==e?[]:[e]),Au(n)||(n=null==n?[]:[n]),Ke(t,e,n))}function ci(t,e){return Kr(t,Be(e))}function li(t,e){if("function"!=typeof e){if("function"!=typeof t)throw new Ja(z);var n=t;t=e,e=n}return t=Mo(t=+t)?t:0,function(){if(--t<1)return e.apply(this,arguments)}}function di(t,e,n){return n&&Qn(t,e,n)&&(e=D),e=t&&null==e?t.length:Lo(+e||0,0),Pn(t,j,D,D,D,D,e)}function hi(t,e){var n;if("function"!=typeof e){if("function"!=typeof t)throw new Ja(z);var r=t;t=e,e=r}return function(){return--t>0&&(n=e.apply(this,arguments)),t<=1&&(e=D),n}}function fi(t,e,n){function r(){f&&oo(f),c&&oo(c),p=0,c=f=_=D}function i(e,n){n&&oo(n),c=f=_=D,e&&(p=pu(),l=t.apply(h,s),f||c||(s=h=D))}function a(){var t=e-(pu()-d);t<=0||t>e?i(_,c):f=ho(a,t)}function o(){i(y,f)}function u(){if(s=arguments,d=pu(),h=this,_=y&&(f||!g),!1===m)var n=g&&!f;else{c||g||(p=d);var r=m-(d-p),i=r<=0||r>m;i?(c&&(c=oo(c)),p=d,l=t.apply(h,s)):c||(c=ho(o,r))}return i&&f?f=oo(f):f||e===m||(f=ho(a,e)),n&&(i=!0,l=t.apply(h,s)),!i||f||c||(s=h=D),l}var s,c,l,d,h,f,_,p=0,m=!1,y=!0;if("function"!=typeof t)throw new Ja(z);if(e=e<0?0:+e||0,!0===n){var g=!0;y=!1}else ji(n)&&(g=!!n.leading,m="maxWait"in n&&Lo(+n.maxWait||0,e),y="trailing"in n?!!n.trailing:y);return u.cancel=r,u}function _i(t,e){if("function"!=typeof t||e&&"function"!=typeof e)throw new Ja(z);var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],a=n.cache;if(a.has(i))return a.get(i);var o=t.apply(this,r);return n.cache=a.set(i,o),o};return n.cache=new _i.Cache,n}function pi(t){if("function"!=typeof t)throw new Ja(z);return function(){return!t.apply(this,arguments)}}function mi(t){return hi(2,t)}function yi(t,e){if("function"!=typeof t)throw new Ja(z);return e=Lo(e===D?t.length-1:+e||0,0),function(){for(var n=arguments,r=-1,i=Lo(n.length-e,0),a=Ia(i);++r<i;)a[r]=n[e+r];switch(e){case 0:return t.call(this,a);case 1:return t.call(this,n[0],a);case 2:return t.call(this,n[0],n[1],a)}var o=Ia(e+1);for(r=-1;++r<e;)o[r]=n[r];return o[e]=a,t.apply(this,o)}}function gi(t){if("function"!=typeof t)throw new Ja(z);return function(e){return t.apply(this,e)}}function vi(t,e,n){var r=!0,i=!0;if("function"!=typeof t)throw new Ja(z);return!1===n?r=!1:ji(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),fi(t,e,{leading:r,maxWait:+e,trailing:i})}function Mi(t,e){return e=null==e?Ya:e,Pn(e,F,D,[t],[])}function bi(t,e,n,r){return e&&"boolean"!=typeof e&&Qn(t,e,n)?e=!1:"function"==typeof e&&(r=n,n=e,e=!1),"function"==typeof n?be(t,e,on(n,r,1)):be(t,e)}function Li(t,e,n){return"function"==typeof e?be(t,!0,on(e,n,1)):be(t,!0)}function ki(t,e){return t>e}function wi(t,e){return t>=e}function Di(t){return y(t)&&Kn(t)&&to.call(t,"callee")&&!co.call(t,"callee")}function xi(t){return!0===t||!1===t||y(t)&&no.call(t)==V}function Yi(t){return y(t)&&no.call(t)==G}function Ti(t){return!!t&&1===t.nodeType&&y(t)&&!Ii(t)}function Ai(t){return null==t||(Kn(t)&&(Au(t)||Wi(t)||Di(t)||y(t)&&Ci(t.splice))?!t.length:!Iu(t).length)}function Ei(t,e,n,r){n="function"==typeof n?on(n,r,3):D;var i=n?n(t,e):D;return i===D?He(t,e,n):!!i}function Si(t){return y(t)&&"string"==typeof t.message&&no.call(t)==J}function Fi(t){return"number"==typeof t&&Mo(t)}function Ci(t){return ji(t)&&no.call(t)==Z}function ji(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function Hi(t,e,n,r){return n="function"==typeof n?on(n,r,3):D,Pe(t,qn(e),n)}function Oi(t){return Bi(t)&&t!=+t}function Pi(t){return null!=t&&(Ci(t)?io.test(Qa.call(t)):y(t)&&St.test(t))}function Ni(t){return null===t}function Bi(t){return"number"==typeof t||y(t)&&no.call(t)==K}function Ii(t){var e;if(!y(t)||no.call(t)!=X||Di(t)||!to.call(t,"constructor")&&"function"==typeof(e=t.constructor)&&!(e instanceof e))return!1;var n;return Ee(t,function(t,e){n=e}),n===D||to.call(t,n)}function Ri(t){return ji(t)&&no.call(t)==Q}function Wi(t){return"string"==typeof t||y(t)&&no.call(t)==tt}function zi(t){return y(t)&&nr(t.length)&&!!Bt[no.call(t)]}function qi(t){return t===D}function Ui(t,e){return t<e}function $i(t,e){return t<=e}function Vi(t){var e=t?Wo(t):0;return nr(e)?e?ne(t):[]:aa(t)}function Gi(t){return ve(t,ta(t))}function Ji(t,e,n){var r=Ho(t);return n&&Qn(t,e,n)&&(e=D),e?ye(r,e):r}function Zi(t){return Ce(t,ta(t))}function Ki(t,e,n){var r=null==t?D:je(t,hr(e),e+"");return r===D?n:r}function Xi(t,e){if(null==t)return!1;var n=to.call(t,e);if(!n&&!tr(e)){if(e=hr(e),null==(t=1==e.length?t:je(t,Ge(e,0,-1))))return!1;e=xr(e),n=to.call(t,e)}return n||nr(t.length)&&Xn(e,t.length)&&(Au(t)||Di(t))}function Qi(t,e,n){n&&Qn(t,e,n)&&(e=D);for(var r=-1,i=Iu(t),a=i.length,o={};++r<a;){var u=i[r],s=t[u];e?to.call(o,s)?o[s].push(u):o[s]=[u]:o[s]=u}return o}function ta(t){if(null==t)return[];ji(t)||(t=$a(t));var e=t.length;e=e&&nr(e)&&(Au(t)||Di(t))&&e||0;for(var n=t.constructor,r=-1,i="function"==typeof n&&n.prototype===t,a=Ia(e),o=e>0;++r<e;)a[r]=r+"";for(var u in t)o&&Xn(u,e)||"constructor"==u&&(i||!to.call(t,u))||a.push(u);return a}function ea(t){t=dr(t);for(var e=-1,n=Iu(t),r=n.length,i=Ia(r);++e<r;){var a=n[e];i[e]=[a,t[a]]}return i}function na(t,e,n){var r=null==t?D:t[e];return r===D&&(null==t||tr(e,t)||(e=hr(e),t=1==e.length?t:je(t,Ge(e,0,-1)),r=null==t?D:t[xr(e)]),r=r===D?n:r),Ci(r)?r.call(t):r}function ra(t,e,n){if(null==t)return t;var r=e+"";e=null!=t[r]||tr(e,t)?[r]:hr(e);for(var i=-1,a=e.length,o=a-1,u=t;null!=u&&++i<a;){var s=e[i];ji(u)&&(i==o?u[s]=n:null==u[s]&&(u[s]=Xn(e[i+1])?[]:{})),u=u[s]}return t}function ia(t,e,n,r){var i=Au(t)||zi(t);if(e=Rn(e,r,4),null==n)if(i||ji(t)){var a=t.constructor;n=i?Au(t)?new a:[]:Ho(Ci(a)?a.prototype:D)}else n={};return(i?re:Se)(t,function(t,r,i){return e(n,t,r,i)}),n}function aa(t){return tn(t,Iu(t))}function oa(t){return tn(t,ta(t))}function ua(t,e,n){return e=+e||0,n===D?(n=e,e=0):n=+n||0,t>=ko(e,n)&&t<Lo(e,n)}function sa(t,e,n){n&&Qn(t,e,n)&&(e=n=D);var r=null==t,i=null==e;if(null==n&&(i&&"boolean"==typeof t?(n=t,t=1):"boolean"==typeof e&&(n=e,i=!0)),r&&i&&(e=1,i=!1),t=+t||0,i?(e=t,t=0):e=+e||0,n||t%1||e%1){var a=xo();return ko(t+a*(e-t+uo("1e-"+((a+"").length-1))),e)}return $e(t,e)}function ca(t){return(t=u(t))&&t.charAt(0).toUpperCase()+t.slice(1)}function la(t){return(t=u(t))&&t.replace(Ct,h).replace(xt,"")}function da(t,e,n){t=u(t),e+="";var r=t.length;return n=n===D?r:ko(n<0?0:+n||0,r),(n-=e.length)>=0&&t.indexOf(e,n)==n}function ha(t){return t=u(t),t&&yt.test(t)?t.replace(pt,f):t}function fa(t){return t=u(t),t&&Dt.test(t)?t.replace(wt,_):t||"(?:)"}function _a(t,e,n){t=u(t),e=+e;var r=t.length;if(r>=e||!Mo(e))return t;var i=(e-r)/2,a=go(i);return n=Cn("",mo(i),n),n.slice(0,a)+t+n}function pa(t,e,n){return(n?Qn(t,e,n):null==e)?e=0:e&&(e=+e),t=va(t),Do(t,e||(Et.test(t)?16:10))}function ma(t,e){var n="";if(t=u(t),(e=+e)<1||!t||!Mo(e))return n;do{e%2&&(n+=t),e=go(e/2),t+=t}while(e);return n}function ya(t,e,n){return t=u(t),n=null==n?0:ko(n<0?0:+n||0,t.length),t.lastIndexOf(e,n)==n}function ga(t,n,r){var i=e.templateSettings;r&&Qn(t,n,r)&&(n=r=D),t=u(t),n=me(ye({},r||n),i,pe);var a,o,s=me(ye({},n.imports),i.imports,pe),c=Iu(s),l=tn(s,c),d=0,h=n.interpolate||jt,f="__p += '",_=Va((n.escape||jt).source+"|"+h.source+"|"+(h===Mt?Tt:jt).source+"|"+(n.evaluate||jt).source+"|$","g"),m="//# sourceURL="+("sourceURL"in n?n.sourceURL:"lodash.templateSources["+ ++Nt+"]")+"\n";t.replace(_,function(e,n,r,i,u,s){return r||(r=i),f+=t.slice(d,s).replace(Ht,p),n&&(a=!0,f+="' +\n__e("+n+") +\n'"),u&&(o=!0,f+="';\n"+u+";\n__p += '"),r&&(f+="' +\n((__t = ("+r+")) == null ? '' : __t) +\n'"),d=s+e.length,e}),f+="';\n";var y=n.variable;y||(f="with (obj) {\n"+f+"\n}\n"),f=(o?f.replace(dt,""):f).replace(ht,"$1").replace(ft,"$1;"),f="function("+(y||"obj")+") {\n"+(y?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(a?", __e = _.escape":"")+(o?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+f+"return __p\n}";var g=Ku(function(){return za(c,m+"return "+f).apply(D,l)});if(g.source=f,Si(g))throw g;return g}function va(t,e,n){var r=t;return(t=u(t))?(n?Qn(r,e,n):null==e)?t.slice(b(t),L(t)+1):(e+="",t.slice(s(t,e),c(t,e)+1)):t}function Ma(t,e,n){var r=t;return t=u(t),t?(n?Qn(r,e,n):null==e)?t.slice(b(t)):t.slice(s(t,e+"")):t}function ba(t,e,n){var r=t;return t=u(t),t?(n?Qn(r,e,n):null==e)?t.slice(0,L(t)+1):t.slice(0,c(t,e+"")+1):t}function La(t,e,n){n&&Qn(t,e,n)&&(e=D);var r=O,i=P;if(null!=e)if(ji(e)){var a="separator"in e?e.separator:a;r="length"in e?+e.length||0:r,i="omission"in e?u(e.omission):i}else r=+e||0;if(t=u(t),r>=t.length)return t;var o=r-i.length;if(o<1)return i;var s=t.slice(0,o);if(null==a)return s+i;if(Ri(a)){if(t.slice(o).search(a)){var c,l,d=t.slice(0,o);for(a.global||(a=Va(a.source,(At.exec(a)||"")+"g")),a.lastIndex=0;c=a.exec(d);)l=c.index;s=s.slice(0,null==l?o:l)}}else if(t.indexOf(a,o)!=o){var h=s.lastIndexOf(a);h>-1&&(s=s.slice(0,h))}return s+i}function ka(t){return t=u(t),t&&mt.test(t)?t.replace(_t,k):t}function wa(t,e,n){return n&&Qn(t,e,n)&&(e=D),t=u(t),t.match(e||Ot)||[]}function Da(t,e,n){return n&&Qn(t,e,n)&&(e=D),y(t)?Ta(t):Me(t,e)}function xa(t){return function(){return t}}function Ya(t){return t}function Ta(t){return Be(be(t,!0))}function Aa(t,e){return Ie(t,be(e,!0))}function Ea(t,e,n){if(null==n){var r=ji(e),i=r?Iu(e):D,a=i&&i.length?Ce(e,i):D;(a?a.length:r)||(a=!1,n=e,e=t,t=this)}a||(a=Ce(e,Iu(e)));var o=!0,u=-1,s=Ci(t),c=a.length;!1===n?o=!1:ji(n)&&"chain"in n&&(o=n.chain);for(;++u<c;){var l=a[u],d=e[l];t[l]=d,s&&(t.prototype[l]=function(e){return function(){var n=this.__chain__;if(o||n){var r=t(this.__wrapped__);return(r.__actions__=ne(this.__actions__)).push({func:e,args:arguments,thisArg:t}),r.__chain__=n,r}return e.apply(t,ce([this.value()],arguments))}}(d))}return t}function Sa(){return Qt._=ro,this}function Fa(){}function Ca(t){return tr(t)?ze(t):qe(t)}function ja(t){return function(e){return je(t,hr(e),e+"")}}function Ha(t,e,n){n&&Qn(t,e,n)&&(e=n=D),t=+t||0,n=null==n?1:+n||0,null==e?(e=t,t=0):e=+e||0;for(var r=-1,i=Lo(mo((e-t)/(n||1)),0),a=Ia(i);++r<i;)a[r]=t,t+=n;return a}function Oa(t,e,n){if((t=go(t))<1||!Mo(t))return[];var r=-1,i=Ia(ko(t,Ao));for(e=on(e,n,1);++r<t;)r<Ao?i[r]=e(r):e(r);return i}function Pa(t){var e=++eo;return u(t)+e}function Na(t,e){return(+t||0)+(+e||0)}function Ba(t,e,n){return n&&Qn(t,e,n)&&(e=D),e=Rn(e,n,3),1==e.length?fe(Au(t)?t:lr(t),e):Xe(t,e)}t=t?te.defaults(Qt.Object(),t,te.pick(Qt,Pt)):Qt;var Ia=t.Array,Ra=t.Date,Wa=t.Error,za=t.Function,qa=t.Math,Ua=t.Number,$a=t.Object,Va=t.RegExp,Ga=t.String,Ja=t.TypeError,Za=Ia.prototype,Ka=$a.prototype,Xa=Ga.prototype,Qa=za.prototype.toString,to=Ka.hasOwnProperty,eo=0,no=Ka.toString,ro=Qt._,io=Va("^"+Qa.call(to).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),ao=t.ArrayBuffer,oo=t.clearTimeout,uo=t.parseFloat,so=qa.pow,co=Ka.propertyIsEnumerable,lo=Un(t,"Set"),ho=t.setTimeout,fo=Za.splice,_o=t.Uint8Array,po=Un(t,"WeakMap"),mo=qa.ceil,yo=Un($a,"create"),go=qa.floor,vo=Un(Ia,"isArray"),Mo=t.isFinite,bo=Un($a,"keys"),Lo=qa.max,ko=qa.min,wo=Un(Ra,"now"),Do=t.parseInt,xo=qa.random,Yo=Ua.NEGATIVE_INFINITY,To=Ua.POSITIVE_INFINITY,Ao=4294967295,Eo=Ao-1,So=Ao>>>1,Fo=9007199254740991,Co=po&&new po,jo={};e.support={};e.templateSettings={escape:gt,evaluate:vt,interpolate:Mt,variable:"",imports:{_:e}};var Ho=function(){function t(){}return function(e){if(ji(e)){t.prototype=e;var n=new t;t.prototype=D}return n||{}}}(),Oo=hn(Se),Po=hn(Fe,!0),No=fn(),Bo=fn(!0),Io=Co?function(t,e){return Co.set(t,e),t}:Ya,Ro=Co?function(t){return Co.get(t)}:Fa,Wo=ze("length"),zo=function(){var t=0,e=0;return function(n,r){var i=pu(),a=B-(i-e);if(e=i,a>0){if(++t>=N)return n}else t=0;return Io(n,r)}}(),qo=yi(function(t,e){return y(t)&&Kn(t)?ke(t,Ae(e,!1,!0)):[]}),Uo=Ln(),$o=Ln(!0),Vo=yi(function(t){for(var e=t.length,n=e,r=Ia(d),i=zn(),o=i==a,u=[];n--;){var s=t[n]=Kn(s=t[n])?s:[];r[n]=o&&s.length>=120?pn(n&&s):null}var c=t[0],l=-1,d=c?c.length:0,h=r[0];t:for(;++l<d;)if(s=c[l],(h?Kt(h,s):i(u,s,0))<0){for(var n=e;--n;){var f=r[n];if((f?Kt(f,s):i(t[n],s,0))<0)continue t}h&&h.push(s),u.push(s)}return u}),Go=yi(function(t,e){e=Ae(e);var n=ge(t,e);return Ue(t,e.sort(r)),n}),Jo=On(),Zo=On(!0),Ko=yi(function(t){return Qe(Ae(t,!1,!0))}),Xo=yi(function(t,e){return Kn(t)?ke(t,e):[]}),Qo=yi(Pr),tu=yi(function(t){var e=t.length,n=e>2?t[e-2]:D,r=e>1?t[e-1]:D;return e>2&&"function"==typeof n?e-=2:(n=e>1&&"function"==typeof r?(--e,r):D,r=D),t.length=e,Nr(t,n,r)}),eu=yi(function(t){return t=Ae(t),this.thru(function(e){return ee(Au(e)?e:[dr(e)],t)})}),nu=yi(function(t,e){return ge(t,Ae(e))}),ru=ln(function(t,e,n){to.call(t,n)?++t[n]:t[n]=1}),iu=bn(Oo),au=bn(Po,!0),ou=Dn(re,Oo),uu=Dn(ie,Po),su=ln(function(t,e,n){to.call(t,n)?t[n].push(e):t[n]=[e]}),cu=ln(function(t,e,n){t[n]=e}),lu=yi(function(t,e,n){var r=-1,i="function"==typeof e,a=tr(e),o=Kn(t)?Ia(t.length):[];return Oo(t,function(t){var u=i?e:a&&null!=t?t[e]:D;o[++r]=u?u.apply(t,n):Zn(t,e,n)}),o}),du=ln(function(t,e,n){t[n?0:1].push(e)},function(){return[[],[]]}),hu=Sn(le,Oo),fu=Sn(de,Po),_u=yi(function(t,e){if(null==t)return[];var n=e[2];return n&&Qn(e[0],e[1],n)&&(e.length=1),Ke(t,Ae(e),[])}),pu=wo||function(){return(new Ra).getTime()},mu=yi(function(t,e,n){var r=Y;if(n.length){var i=v(n,mu.placeholder);r|=F}return Pn(t,r,e,n,i)}),yu=yi(function(t,e){e=e.length?Ae(e):Zi(t);for(var n=-1,r=e.length;++n<r;){var i=e[n];t[i]=Pn(t[i],Y,t)}return t}),gu=yi(function(t,e,n){var r=Y|T;if(n.length){var i=v(n,gu.placeholder);r|=F}return Pn(e,r,t,n,i)}),vu=gn(E),Mu=gn(S),bu=yi(function(t,e){return Le(t,1,e)}),Lu=yi(function(t,e,n){return Le(t,e,n)}),ku=wn(),wu=wn(!0),Du=yi(function(t,e){if(e=Ae(e),"function"!=typeof t||!ae(e,o))throw new Ja(z);var n=e.length;return yi(function(r){for(var i=ko(r.length,n);i--;)r[i]=e[i](r[i]);return t.apply(this,r)})}),xu=En(F),Yu=En(C),Tu=yi(function(t,e){return Pn(t,H,D,D,D,Ae(e))}),Au=vo||function(t){return y(t)&&nr(t.length)&&no.call(t)==$},Eu=dn(Re),Su=dn(function(t,e,n){return n?me(t,e,n):ye(t,e)}),Fu=vn(Su,_e),Cu=vn(Eu,ar),ju=kn(Se),Hu=kn(Fe),Ou=xn(No),Pu=xn(Bo),Nu=Yn(Se),Bu=Yn(Fe),Iu=bo?function(t){var e=null==t?D:t.constructor;return"function"==typeof e&&e.prototype===t||"function"!=typeof t&&Kn(t)?cr(t):ji(t)?bo(t):[]}:cr,Ru=Tn(!0),Wu=Tn(),zu=yi(function(t,e){if(null==t)return{};if("function"!=typeof e[0]){var e=se(Ae(e),Ga);return or(t,ke(ta(t),e))}var n=on(e[0],e[1],3);return ur(t,function(t,e,r){return!n(t,e,r)})}),qu=yi(function(t,e){return null==t?{}:"function"==typeof e[0]?ur(t,on(e[0],e[1],3)):or(t,Ae(e))}),Uu=mn(function(t,e,n){return e=e.toLowerCase(),t+(n?e.charAt(0).toUpperCase()+e.slice(1):e)}),$u=mn(function(t,e,n){return t+(n?"-":"")+e.toLowerCase()}),Vu=An(),Gu=An(!0),Ju=mn(function(t,e,n){return t+(n?"_":"")+e.toLowerCase()}),Zu=mn(function(t,e,n){return t+(n?" ":"")+(e.charAt(0).toUpperCase()+e.slice(1))}),Ku=yi(function(t,e){try{return t.apply(D,e)}catch(t){return Si(t)?t:new Wa(t)}}),Xu=yi(function(t,e){return function(n){return Zn(n,t,e)}}),Qu=yi(function(t,e){return function(n){return Zn(t,n,e)}}),ts=Hn("ceil"),es=Hn("floor"),ns=Mn(ki,Yo),rs=Mn(Ui,To),is=Hn("round");return e.prototype=n.prototype,g.prototype=Ho(n.prototype),g.prototype.constructor=g,Rt.prototype=Ho(n.prototype),Rt.prototype.constructor=Rt,Ut.prototype.delete=$t,Ut.prototype.get=Vt,Ut.prototype.has=Gt,Ut.prototype.set=Jt,Zt.prototype.push=Xt,_i.Cache=Ut,e.after=li,e.ary=di,e.assign=Su,e.at=nu,e.before=hi,e.bind=mu,e.bindAll=yu,e.bindKey=gu,e.callback=Da,e.chain=Rr,e.chunk=_r,e.compact=pr,e.constant=xa,e.countBy=ru,e.create=Ji,e.curry=vu,e.curryRight=Mu,e.debounce=fi,e.defaults=Fu,e.defaultsDeep=Cu,e.defer=bu,e.delay=Lu,e.difference=qo,e.drop=mr,e.dropRight=yr,e.dropRightWhile=gr,e.dropWhile=vr,e.fill=Mr,e.filter=Kr,e.flatten=Lr,e.flattenDeep=kr,e.flow=ku,e.flowRight=wu,e.forEach=ou,e.forEachRight=uu,e.forIn=Ou,e.forInRight=Pu,e.forOwn=Nu,e.forOwnRight=Bu,e.functions=Zi,e.groupBy=su,e.indexBy=cu,e.initial=Dr,e.intersection=Vo,e.invert=Qi,e.invoke=lu,e.keys=Iu,e.keysIn=ta,e.map=ti,e.mapKeys=Ru,e.mapValues=Wu,e.matches=Ta,e.matchesProperty=Aa,e.memoize=_i,e.merge=Eu,e.method=Xu,e.methodOf=Qu,e.mixin=Ea,e.modArgs=Du,e.negate=pi,e.omit=zu,e.once=mi,e.pairs=ea,e.partial=xu,e.partialRight=Yu,e.partition=du,e.pick=qu,e.pluck=ei,e.property=Ca,e.propertyOf=ja,e.pull=Tr,e.pullAt=Go,e.range=Ha,e.rearg=Tu,e.reject=ni,e.remove=Ar,e.rest=Er,e.restParam=yi,e.set=ra,e.shuffle=ii,e.slice=Sr,e.sortBy=ui,e.sortByAll=_u,e.sortByOrder=si,e.spread=gi,e.take=Fr,e.takeRight=Cr,e.takeRightWhile=jr,e.takeWhile=Hr,e.tap=Wr,e.throttle=vi,e.thru=zr,e.times=Oa,e.toArray=Vi,e.toPlainObject=Gi,e.transform=ia,e.union=Ko,e.uniq=Or,e.unzip=Pr,e.unzipWith=Nr,e.values=aa,e.valuesIn=oa,e.where=ci,e.without=Xo,e.wrap=Mi,e.xor=Br,e.zip=Qo,e.zipObject=Ir,e.zipWith=tu,e.backflow=wu,e.collect=ti,e.compose=wu,e.each=ou,e.eachRight=uu,e.extend=Su,e.iteratee=Da,e.methods=Zi,e.object=Ir,e.select=Kr,e.tail=Er,e.unique=Or,Ea(e,e),e.add=Na,e.attempt=Ku,e.camelCase=Uu,e.capitalize=ca,e.ceil=ts,e.clone=bi,e.cloneDeep=Li,e.deburr=la,e.endsWith=da,e.escape=ha,e.escapeRegExp=fa,e.every=Zr,e.find=iu,e.findIndex=Uo,e.findKey=ju,e.findLast=au,e.findLastIndex=$o,e.findLastKey=Hu,e.findWhere=Xr,e.first=br,e.floor=es,e.get=Ki,e.gt=ki,e.gte=wi,e.has=Xi,e.identity=Ya,e.includes=Qr,e.indexOf=wr,e.inRange=ua,e.isArguments=Di,e.isArray=Au,e.isBoolean=xi,e.isDate=Yi,e.isElement=Ti,e.isEmpty=Ai,e.isEqual=Ei,e.isError=Si,e.isFinite=Fi,e.isFunction=Ci,e.isMatch=Hi,e.isNaN=Oi,e.isNative=Pi,e.isNull=Ni,e.isNumber=Bi,e.isObject=ji,e.isPlainObject=Ii,e.isRegExp=Ri,e.isString=Wi,e.isTypedArray=zi,e.isUndefined=qi,e.kebabCase=$u,e.last=xr,e.lastIndexOf=Yr,e.lt=Ui,e.lte=$i,e.max=ns,e.min=rs,e.noConflict=Sa,e.noop=Fa,e.now=pu,e.pad=_a,e.padLeft=Vu,e.padRight=Gu,e.parseInt=pa,e.random=sa,e.reduce=hu,e.reduceRight=fu,e.repeat=ma,e.result=na,e.round=is,e.runInContext=w,e.size=ai,e.snakeCase=Ju,e.some=oi,e.sortedIndex=Jo,e.sortedLastIndex=Zo,e.startCase=Zu,e.startsWith=ya,e.sum=Ba,e.template=ga,e.trim=va,e.trimLeft=Ma,e.trimRight=ba,e.trunc=La,e.unescape=ka,e.uniqueId=Pa,e.words=wa,e.all=Zr,e.any=oi,e.contains=Qr,e.eq=Ei,e.detect=iu,e.foldl=hu,e.foldr=fu,e.head=br,e.include=Qr,e.inject=hu,Ea(e,function(){var t={};return Se(e,function(n,r){e.prototype[r]||(t[r]=n)}),t}(),!1),e.sample=ri,e.prototype.sample=function(t){return this.__chain__||null!=t?this.thru(function(e){return ri(e,t)}):ri(this.value())},e.VERSION=x,re(["bind","bindKey","curry","curryRight","partial","partialRight"],function(t){e[t].placeholder=e}),re(["drop","take"],function(t,e){Rt.prototype[t]=function(n){var r=this.__filtered__;if(r&&!e)return new Rt(this);n=null==n?1:Lo(go(n)||0,0);var i=this.clone();return r?i.__takeCount__=ko(i.__takeCount__,n):i.__views__.push({size:n,type:t+(i.__dir__<0?"Right":"")}),i},Rt.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}}),re(["filter","map","takeWhile"],function(t,e){var n=e+1,r=n!=W;Rt.prototype[t]=function(t,e){var i=this.clone();return i.__iteratees__.push({iteratee:Rn(t,e,1),type:n}),i.__filtered__=i.__filtered__||r,i}}),re(["first","last"],function(t,e){var n="take"+(e?"Right":"");Rt.prototype[t]=function(){return this[n](1).value()[0]}}),re(["initial","rest"],function(t,e){var n="drop"+(e?"":"Right");Rt.prototype[t]=function(){return this.__filtered__?new Rt(this):this[n](1)}}),re(["pluck","where"],function(t,e){var n=e?"filter":"map",r=e?Be:Ca;Rt.prototype[t]=function(t){return this[n](r(t))}}),Rt.prototype.compact=function(){return this.filter(Ya)},Rt.prototype.reject=function(t,e){return t=Rn(t,e,1),this.filter(function(e){return!t(e)})},Rt.prototype.slice=function(t,e){t=null==t?0:+t||0;var n=this;return n.__filtered__&&(t>0||e<0)?new Rt(n):(t<0?n=n.takeRight(-t):t&&(n=n.drop(t)),e!==D&&(e=+e||0,n=e<0?n.dropRight(-e):n.take(e-t)),n)},Rt.prototype.takeRightWhile=function(t,e){return this.reverse().takeWhile(t,e).reverse()},Rt.prototype.toArray=function(){return this.take(To)},Se(Rt.prototype,function(t,n){var r=/^(?:filter|map|reject)|While$/.test(n),i=/^(?:first|last)$/.test(n),a=e[i?"take"+("last"==n?"Right":""):n];a&&(e.prototype[n]=function(){var e=i?[1]:arguments,n=this.__chain__,o=this.__wrapped__,u=!!this.__actions__.length,s=o instanceof Rt,c=e[0],l=s||Au(o);l&&r&&"function"==typeof c&&1!=c.length&&(s=l=!1);var d=function(t){return i&&n?a(t,1)[0]:a.apply(D,ce([t],e))},h={func:zr,args:[d],thisArg:D},f=s&&!u;if(i&&!n)return f?(o=o.clone(),o.__actions__.push(h),t.call(o)):a.call(D,this.value())[0];if(!i&&l){o=f?o:new Rt(this);var _=t.apply(o,e);return _.__actions__.push(h),new g(_,n)}return this.thru(d)})}),re(["join","pop","push","replace","shift","sort","splice","split","unshift"],function(t){var n=(/^(?:replace|split)$/.test(t)?Xa:Za)[t],r=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",i=/^(?:join|pop|replace|shift)$/.test(t);e.prototype[t]=function(){var t=arguments;return i&&!this.__chain__?n.apply(this.value(),t):this[r](function(e){return n.apply(e,t)})}}),Se(Rt.prototype,function(t,n){var r=e[n];if(r){var i=r.name;(jo[i]||(jo[i]=[])).push({name:n,func:r})}}),jo[Fn(D,T).name]=[{name:"wrapper",func:D}],Rt.prototype.clone=Wt,Rt.prototype.reverse=zt,Rt.prototype.value=qt,e.prototype.chain=qr,e.prototype.commit=Ur,e.prototype.concat=eu,e.prototype.plant=$r,e.prototype.reverse=Vr,e.prototype.toString=Gr,e.prototype.run=e.prototype.toJSON=e.prototype.valueOf=e.prototype.value=Jr,e.prototype.collect=e.prototype.map,e.prototype.head=e.prototype.first,e.prototype.select=e.prototype.filter,e.prototype.tail=e.prototype.rest,e}var D,x="3.10.1",Y=1,T=2,A=4,E=8,S=16,F=32,C=64,j=128,H=256,O=30,P="...",N=150,B=16,I=200,R=1,W=2,z="Expected a function",q="__lodash_placeholder__",U="[object Arguments]",$="[object Array]",V="[object Boolean]",G="[object Date]",J="[object Error]",Z="[object Function]",K="[object Number]",X="[object Object]",Q="[object RegExp]",tt="[object String]",et="[object ArrayBuffer]",nt="[object Float32Array]",rt="[object Float64Array]",it="[object Int8Array]",at="[object Int16Array]",ot="[object Int32Array]",ut="[object Uint8Array]",st="[object Uint8ClampedArray]",ct="[object Uint16Array]",lt="[object Uint32Array]",dt=/\b__p \+= '';/g,ht=/\b(__p \+=) '' \+/g,ft=/(__e\(.*?\)|\b__t\)) \+\n'';/g,_t=/&(?:amp|lt|gt|quot|#39|#96);/g,pt=/[&<>"'`]/g,mt=RegExp(_t.source),yt=RegExp(pt.source),gt=/<%-([\s\S]+?)%>/g,vt=/<%([\s\S]+?)%>/g,Mt=/<%=([\s\S]+?)%>/g,bt=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/,Lt=/^\w*$/,kt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g,wt=/^[:!,]|[\\^$.*+?()[\]{}|\/]|(^[0-9a-fA-Fnrtuvx])|([\n\r\u2028\u2029])/g,Dt=RegExp(wt.source),xt=/[\u0300-\u036f\ufe20-\ufe23]/g,Yt=/\\(\\)?/g,Tt=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,At=/\w*$/,Et=/^0[xX]/,St=/^\[object .+?Constructor\]$/,Ft=/^\d+$/,Ct=/[\xc0-\xd6\xd8-\xde\xdf-\xf6\xf8-\xff]/g,jt=/($^)/,Ht=/['\n\r\u2028\u2029\\]/g,Ot=function(){var t="[A-Z\\xc0-\\xd6\\xd8-\\xde]",e="[a-z\\xdf-\\xf6\\xf8-\\xff]+";return RegExp(t+"+(?="+t+e+")|"+t+"?"+e+"|"+t+"+|[0-9]+","g")}(),Pt=["Array","ArrayBuffer","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Math","Number","Object","RegExp","Set","String","_","clearTimeout","isFinite","parseFloat","parseInt","setTimeout","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap"],Nt=-1,Bt={};Bt[nt]=Bt[rt]=Bt[it]=Bt[at]=Bt[ot]=Bt[ut]=Bt[st]=Bt[ct]=Bt[lt]=!0,Bt[U]=Bt[$]=Bt[et]=Bt[V]=Bt[G]=Bt[J]=Bt[Z]=Bt["[object Map]"]=Bt[K]=Bt[X]=Bt[Q]=Bt["[object Set]"]=Bt[tt]=Bt["[object WeakMap]"]=!1;var It={};It[U]=It[$]=It[et]=It[V]=It[G]=It[nt]=It[rt]=It[it]=It[at]=It[ot]=It[K]=It[X]=It[Q]=It[tt]=It[ut]=It[st]=It[ct]=It[lt]=!0,It[J]=It[Z]=It["[object Map]"]=It["[object Set]"]=It["[object WeakMap]"]=!1;var Rt={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss"},Wt={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","`":"&#96;"},zt={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'","&#96;":"`"},qt={function:!0,object:!0},Ut={0:"x30",1:"x31",2:"x32",3:"x33",4:"x34",5:"x35",6:"x36",7:"x37",8:"x38",9:"x39",A:"x41",B:"x42",C:"x43",D:"x44",E:"x45",F:"x46",a:"x61",b:"x62",c:"x63",d:"x64",e:"x65",f:"x66",n:"x6e",r:"x72",t:"x74",u:"x75",v:"x76",x:"x78"},$t={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Vt=qt[typeof e]&&e&&!e.nodeType&&e,Gt=qt[typeof t]&&t&&!t.nodeType&&t,Jt=Vt&&Gt&&"object"==typeof n&&n&&n.Object&&n,Zt=qt[typeof self]&&self&&self.Object&&self,Kt=qt[typeof window]&&window&&window.Object&&window,Xt=Gt&&Gt.exports===Vt&&Vt,Qt=Jt||Kt!==(this&&this.window)&&Kt||Zt||this,te=w();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Qt._=te,define(function(){return te})):Vt&&Gt?Xt?(Gt.exports=te)._=te:Vt._=te:Qt._=te}).call(this)}).call(e,n(4)(t),n(9))},function(t,e,n){"use strict";function r(t){var e="greedy"===t.graph().acyclicer?u(t,function(t){return function(e){return t.edge(e).weight}}(t)):i(t);o.each(e,function(e){var n=t.edge(e);t.removeEdge(e),n.forwardName=e.name,n.reversed=!0,t.setEdge(e.w,e.v,n,o.uniqueId("rev"))})}function i(t){function e(a){o.has(i,a)||(i[a]=!0,r[a]=!0,o.each(t.outEdges(a),function(t){o.has(r,t.w)?n.push(t):e(t.w)}),delete r[a])}var n=[],r={},i={};return o.each(t.nodes(),e),n}function a(t){o.each(t.edges(),function(e){var n=t.edge(e);if(n.reversed){t.removeEdge(e);var r=n.forwardName;delete n.reversed,delete n.forwardName,t.setEdge(e.w,e.v,n,r)}})}var o=n(1),u=n(205);t.exports={run:r,undo:a}},function(t,e,n){function r(t,e){if(t.nodeCount()<=1)return[];var n=o(t,e||d),r=i(n.graph,n.buckets,n.zeroIdx);return s.flatten(s.map(r,function(e){return t.outEdges(e.v,e.w)}),!0)}function i(t,e,n){for(var r,i=[],o=e[e.length-1],u=e[0];t.nodeCount();){for(;r=u.dequeue();)a(t,e,n,r);for(;r=o.dequeue();)a(t,e,n,r);if(t.nodeCount())for(var s=e.length-2;s>0;--s)if(r=e[s].dequeue()){i=i.concat(a(t,e,n,r,!0));break}}return i}function a(t,e,n,r,i){var a=i?[]:void 0;return s.each(t.inEdges(r.v),function(r){var o=t.edge(r),s=t.node(r.v);i&&a.push({v:r.v,w:r.w}),s.out-=o,u(e,n,s)}),s.each(t.outEdges(r.v),function(r){var i=t.edge(r),a=r.w,o=t.node(a);o.in-=i,u(e,n,o)}),t.removeNode(r.v),a}function o(t,e){var n=new c,r=0,i=0;s.each(t.nodes(),function(t){n.setNode(t,{v:t,in:0,out:0})}),s.each(t.edges(),function(t){var a=n.edge(t.v,t.w)||0,o=e(t),u=a+o;n.setEdge(t.v,t.w,u),i=Math.max(i,n.node(t.v).out+=o),r=Math.max(r,n.node(t.w).in+=o)});var a=s.range(i+r+3).map(function(){return new l}),o=r+1;return s.each(n.nodes(),function(t){u(a,o,n.node(t))}),{graph:n,buckets:a,zeroIdx:o}}function u(t,e,n){n.out?n.in?t[n.out-n.in+e].enqueue(n):t[t.length-1].enqueue(n):t[0].enqueue(n)}var s=n(1),c=n(8).Graph,l=n(206);t.exports=r;var d=s.constant(1)},function(t,e){function n(){var t={};t._next=t._prev=t,this._sentinel=t}function r(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function i(t,e){if("_next"!==t&&"_prev"!==t)return e}t.exports=n,n.prototype.dequeue=function(){var t=this._sentinel,e=t._prev;if(e!==t)return r(e),e},n.prototype.enqueue=function(t){var e=this._sentinel;t._prev&&t._next&&r(t),t._next=e._next,e._next._prev=t,e._next=t,t._prev=e},n.prototype.toString=function(){for(var t=[],e=this._sentinel,n=e._prev;n!==e;)t.push(JSON.stringify(n,i)),n=n._prev;return"["+t.join(", ")+"]"}},function(t,e,n){"use strict";function r(t){t.graph().dummyChains=[],o.each(t.edges(),function(e){i(t,e)})}function i(t,e){var n=e.v,r=t.node(n).rank,i=e.w,a=t.node(i).rank,o=e.name,s=t.edge(e),c=s.labelRank;if(a!==r+1){t.removeEdge(e);var l,d,h;for(h=0,++r;r<a;++h,++r)s.points=[],d={width:0,height:0,edgeLabel:s,edgeObj:e,rank:r},l=u.addDummyNode(t,"edge",d,"_d"),r===c&&(d.width=s.width,d.height=s.height,d.dummy="edge-label",d.labelpos=s.labelpos),t.setEdge(n,l,{weight:s.weight},o),0===h&&t.graph().dummyChains.push(l),n=l;t.setEdge(n,i,{weight:s.weight},o)}}function a(t){o.each(t.graph().dummyChains,function(e){var n,r=t.node(e),i=r.edgeLabel;for(t.setEdge(r.edgeObj,i);r.dummy;)n=t.successors(e)[0],t.removeNode(e),i.points.push({x:r.x,y:r.y}),"edge-label"===r.dummy&&(i.x=r.x,i.y=r.y,i.width=r.width,i.height=r.height),e=n,r=t.node(e)})}var o=n(1),u=n(3);t.exports={run:r,undo:a}},function(t,e,n){"use strict";function r(t){switch(t.graph().ranker){case"network-simplex":a(t);break;case"tight-tree":i(t);break;case"longest-path":l(t);break;default:a(t)}}function i(t){u(t),s(t)}function a(t){c(t)}var o=n(17),u=o.longestPath,s=n(39),c=n(209);t.exports=r;var l=u},function(t,e,n){"use strict";function r(t){t=b(t),g(t);var e=m(t);u(e),i(e,t);for(var n,r;n=c(e);)r=l(e,t,n),d(e,t,n,r)}function i(t,e){var n=M(t,t.nodes());n=n.slice(0,n.length-1),p.each(n,function(n){a(t,e,n)})}function a(t,e,n){var r=t.node(n),i=r.parent;t.edge(n,i).cutvalue=o(t,e,n)}function o(t,e,n){var r=t.node(n),i=r.parent,a=!0,o=e.edge(n,i),u=0;return o||(a=!1,o=e.edge(i,n)),u=o.weight,p.each(e.nodeEdges(n),function(r){var o=r.v===n,s=o?r.w:r.v;if(s!==i){var c=o===a,l=e.edge(r).weight;if(u+=c?l:-l,f(t,n,s)){var d=t.edge(n,s).cutvalue;u+=c?-d:d}}}),u}function u(t,e){arguments.length<2&&(e=t.nodes()[0]),s(t,{},1,e)}function s(t,e,n,r,i){var a=n,o=t.node(r);return e[r]=!0,p.each(t.neighbors(r),function(i){p.has(e,i)||(n=s(t,e,n,i,r))}),o.low=a,o.lim=n++,i?o.parent=i:delete o.parent,n}function c(t){return p.find(t.edges(),function(e){return t.edge(e).cutvalue<0})}function l(t,e,n){var r=n.v,i=n.w;e.hasEdge(r,i)||(r=n.w,i=n.v);var a=t.node(r),o=t.node(i),u=a,s=!1;a.lim>o.lim&&(u=o,s=!0);var c=p.filter(e.edges(),function(e){return s===_(t,t.node(e.v),u)&&s!==_(t,t.node(e.w),u)});return p.min(c,function(t){return y(e,t)})}function d(t,e,n,r){var a=n.v,o=n.w;t.removeEdge(a,o),t.setEdge(r.v,r.w,{}),u(t),i(t,e),h(t,e)}function h(t,e){var n=p.find(t.nodes(),function(t){return!e.node(t).parent}),r=v(t,n);r=r.slice(1),p.each(r,function(n){var r=t.node(n).parent,i=e.edge(n,r),a=!1;i||(i=e.edge(r,n),a=!0),e.node(n).rank=e.node(r).rank+(a?i.minlen:-i.minlen)})}function f(t,e,n){return t.hasEdge(e,n)}function _(t,e,n){return n.low<=e.lim&&e.lim<=n.lim}var p=n(1),m=n(39),y=n(17).slack,g=n(17).longestPath,v=n(8).alg.preorder,M=n(8).alg.postorder,b=n(3).simplify;t.exports=r,r.initLowLimValues=u,r.initCutValues=i,r.calcCutValue=o,r.leaveEdge=c,r.enterEdge=l,r.exchangeEdges=d},function(t,e,n){function r(t){var e=a(t);o.each(t.graph().dummyChains,function(n){for(var r=t.node(n),a=r.edgeObj,o=i(t,e,a.v,a.w),u=o.path,s=o.lca,c=0,l=u[c],d=!0;n!==a.w;){if(r=t.node(n),d){for(;(l=u[c])!==s&&t.node(l).maxRank<r.rank;)c++;l===s&&(d=!1)}if(!d){for(;c<u.length-1&&t.node(l=u[c+1]).minRank<=r.rank;)c++;l=u[c]}t.setParent(n,l),n=t.successors(n)[0]}})}function i(t,e,n,r){var i,a,o=[],u=[],s=Math.min(e[n].low,e[r].low),c=Math.max(e[n].lim,e[r].lim);i=n;do{i=t.parent(i),o.push(i)}while(i&&(e[i].low>s||c>e[i].lim));for(a=i,i=r;(i=t.parent(i))!==a;)u.push(i);return{path:o.concat(u.reverse()),lca:a}}function a(t){function e(i){var a=r;o.each(t.children(i),e),n[i]={low:a,lim:r++}}var n={},r=0;return o.each(t.children(),e),n}var o=n(1);t.exports=r},function(t,e,n){function r(t){var e=c.addDummyNode(t,"root",{},"_root"),n=a(t),r=s.max(n)-1,u=2*r+1;t.graph().nestingRoot=e,s.each(t.edges(),function(e){t.edge(e).minlen*=u});var l=o(t)+1;s.each(t.children(),function(a){i(t,e,u,l,r,n,a)}),t.graph().nodeRankFactor=u}function i(t,e,n,r,a,o,u){var l=t.children(u);if(!l.length)return void(u!==e&&t.setEdge(e,u,{weight:0,minlen:n}));var d=c.addBorderNode(t,"_bt"),h=c.addBorderNode(t,"_bb"),f=t.node(u);t.setParent(d,u),f.borderTop=d,t.setParent(h,u),f.borderBottom=h,s.each(l,function(s){i(t,e,n,r,a,o,s);var c=t.node(s),l=c.borderTop?c.borderTop:s,f=c.borderBottom?c.borderBottom:s,_=c.borderTop?r:2*r,p=l!==f?1:a-o[u]+1;t.setEdge(d,l,{weight:_,minlen:p,nestingEdge:!0}),t.setEdge(f,h,{weight:_,minlen:p,nestingEdge:!0})}),t.parent(u)||t.setEdge(e,d,{weight:0,minlen:a+o[u]})}function a(t){function e(r,i){var a=t.children(r);a&&a.length&&s.each(a,function(t){e(t,i+1)}),n[r]=i}var n={};return s.each(t.children(),function(t){e(t,1)}),n}function o(t){return s.reduce(t.edges(),function(e,n){return e+t.edge(n).weight},0)}function u(t){var e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,s.each(t.edges(),function(e){t.edge(e).nestingEdge&&t.removeEdge(e)})}var s=n(1),c=n(3);t.exports={run:r,cleanup:u}},function(t,e,n){function r(t){function e(n){var r=t.children(n),o=t.node(n);if(r.length&&a.each(r,e),a.has(o,"minRank")){o.borderLeft=[],o.borderRight=[];for(var u=o.minRank,s=o.maxRank+1;u<s;++u)i(t,"borderLeft","_bl",n,o,u),i(t,"borderRight","_br",n,o,u)}}a.each(t.children(),e)}function i(t,e,n,r,i,a){var u={width:0,height:0,rank:a,borderType:e},s=i[e][a-1],c=o.addDummyNode(t,"border",u,n);i[e][a]=c,t.setParent(c,r),s&&t.setEdge(s,c,{weight:1})}var a=n(1),o=n(3);t.exports=r},function(t,e,n){"use strict";function r(t){var e=t.graph().rankdir.toLowerCase();"lr"!==e&&"rl"!==e||a(t)}function i(t){var e=t.graph().rankdir.toLowerCase();"bt"!==e&&"rl"!==e||u(t),"lr"!==e&&"rl"!==e||(c(t),a(t))}function a(t){d.each(t.nodes(),function(e){o(t.node(e))}),d.each(t.edges(),function(e){o(t.edge(e))})}function o(t){var e=t.width;t.width=t.height,t.height=e}function u(t){d.each(t.nodes(),function(e){s(t.node(e))}),d.each(t.edges(),function(e){var n=t.edge(e);d.each(n.points,s),d.has(n,"y")&&s(n)})}function s(t){t.y=-t.y}function c(t){d.each(t.nodes(),function(e){l(t.node(e))}),d.each(t.edges(),function(e){var n=t.edge(e);d.each(n.points,l),d.has(n,"x")&&l(n)})}function l(t){var e=t.x;t.x=t.y,t.y=e}var d=n(1);t.exports={adjust:r,undo:i}},function(t,e,n){"use strict";function r(t){var e=_.maxRank(t),n=i(t,u.range(1,e+1),"inEdges"),r=i(t,u.range(e-1,-1,-1),"outEdges"),l=s(t);o(t,l);for(var d,h=Number.POSITIVE_INFINITY,f=0,p=0;p<4;++f,++p){a(f%2?n:r,f%4>=2),l=_.buildLayerMatrix(t);var m=c(t,l);m<h&&(p=0,d=u.cloneDeep(l),h=m)}o(t,d)}function i(t,e,n){return u.map(e,function(e){return d(t,e,n)})}function a(t,e){var n=new f;u.each(t,function(t){var r=t.graph().root,i=l(t,r,n,e);u.each(i.vs,function(e,n){t.node(e).order=n}),h(t,n,i.vs)})}function o(t,e){u.each(e,function(e){u.each(e,function(e,n){t.node(e).order=n})})}var u=n(1),s=n(215),c=n(216),l=n(217),d=n(221),h=n(222),f=n(8).Graph,_=n(3);t.exports=r},function(t,e,n){"use strict";function r(t){function e(r){if(!i.has(n,r)){n[r]=!0;var a=t.node(r);o[a.rank].push(r),i.each(t.successors(r),e)}}var n={},r=i.filter(t.nodes(),function(e){return!t.children(e).length}),a=i.max(i.map(r,function(e){return t.node(e).rank})),o=i.map(i.range(a+1),function(){return[]}),u=i.sortBy(r,function(e){return t.node(e).rank});return i.each(u,e),o}var i=n(1);t.exports=r},function(t,e,n){"use strict";function r(t,e){for(var n=0,r=1;r<e.length;++r)n+=i(t,e[r-1],e[r]);return n}function i(t,e,n){for(var r=a.zipObject(n,a.map(n,function(t,e){return e})),i=a.flatten(a.map(e,function(e){return a.chain(t.outEdges(e)).map(function(e){return{pos:r[e.w],weight:t.edge(e).weight}}).sortBy("pos").value()}),!0),o=1;o<n.length;)o<<=1;var u=2*o-1;o-=1;var s=a.map(new Array(u),function(){return 0}),c=0;return a.each(i.forEach(function(t){var e=t.pos+o;s[e]+=t.weight;for(var n=0;e>0;)e%2&&(n+=s[e+1]),e=e-1>>1,s[e]+=t.weight;c+=t.weight*n})),c}var a=n(1);t.exports=r},function(t,e,n){function r(t,e,n,l){var d=t.children(e),h=t.node(e),f=h?h.borderLeft:void 0,_=h?h.borderRight:void 0,p={};f&&(d=o.filter(d,function(t){return t!==f&&t!==_}));var m=u(t,d);o.each(m,function(e){if(t.children(e.v).length){var i=r(t,e.v,n,l);p[e.v]=i,o.has(i,"barycenter")&&a(e,i)}});var y=s(m,n);i(y,p);var g=c(y,l);if(f&&(g.vs=o.flatten([f,g.vs,_],!0),t.predecessors(f).length)){var v=t.node(t.predecessors(f)[0]),M=t.node(t.predecessors(_)[0]);o.has(g,"barycenter")||(g.barycenter=0,g.weight=0),g.barycenter=(g.barycenter*g.weight+v.order+M.order)/(g.weight+2),g.weight+=2}return g}function i(t,e){o.each(t,function(t){t.vs=o.flatten(t.vs.map(function(t){return e[t]?e[t].vs:t}),!0)})}function a(t,e){o.isUndefined(t.barycenter)?(t.barycenter=e.barycenter,t.weight=e.weight):(t.barycenter=(t.barycenter*t.weight+e.barycenter*e.weight)/(t.weight+e.weight),t.weight+=e.weight)}var o=n(1),u=n(218),s=n(219),c=n(220);t.exports=r},function(t,e,n){function r(t,e){return i.map(e,function(e){var n=t.inEdges(e);if(n.length){var r=i.reduce(n,function(e,n){var r=t.edge(n),i=t.node(n.v);return{sum:e.sum+r.weight*i.order,weight:e.weight+r.weight}},{sum:0,weight:0});return{v:e,barycenter:r.sum/r.weight,weight:r.weight}}return{v:e}})}var i=n(1);t.exports=r},function(t,e,n){"use strict";function r(t,e){var n={};return o.each(t,function(t,e){var r=n[t.v]={indegree:0,in:[],out:[],vs:[t.v],i:e};o.isUndefined(t.barycenter)||(r.barycenter=t.barycenter,r.weight=t.weight)}),o.each(e.edges(),function(t){var e=n[t.v],r=n[t.w];o.isUndefined(e)||o.isUndefined(r)||(r.indegree++,e.out.push(n[t.w]))}),i(o.filter(n,function(t){return!t.indegree}))}function i(t){for(var e=[];t.length;){var n=t.pop();e.push(n),o.each(n.in.reverse(),function(t){return function(e){e.merged||(o.isUndefined(e.barycenter)||o.isUndefined(t.barycenter)||e.barycenter>=t.barycenter)&&a(t,e)}}(n)),o.each(n.out,function(e){return function(n){n.in.push(e),0==--n.indegree&&t.push(n)}}(n))}return o.chain(e).filter(function(t){return!t.merged}).map(function(t){return o.pick(t,["vs","i","barycenter","weight"])}).value()}function a(t,e){var n=0,r=0;t.weight&&(n+=t.barycenter*t.weight,r+=t.weight),e.weight&&(n+=e.barycenter*e.weight,r+=e.weight),t.vs=e.vs.concat(t.vs),t.barycenter=n/r,t.weight=r,t.i=Math.min(e.i,t.i),e.merged=!0}var o=n(1);t.exports=r},function(t,e,n){function r(t,e){var n=u.partition(t,function(t){return o.has(t,"barycenter")}),r=n.lhs,s=o.sortBy(n.rhs,function(t){return-t.i}),c=[],l=0,d=0,h=0;r.sort(a(!!e)),h=i(c,s,h),o.each(r,function(t){h+=t.vs.length,c.push(t.vs),l+=t.barycenter*t.weight,d+=t.weight,h=i(c,s,h)});var f={vs:o.flatten(c,!0)};return d&&(f.barycenter=l/d,f.weight=d),f}function i(t,e,n){for(var r;e.length&&(r=o.last(e)).i<=n;)e.pop(),t.push(r.vs),n++;return n}function a(t){return function(e,n){return e.barycenter<n.barycenter?-1:e.barycenter>n.barycenter?1:t?n.i-e.i:e.i-n.i}}var o=n(1),u=n(3);t.exports=r},function(t,e,n){function r(t,e,n){var r=i(t),u=new o({compound:!0}).setGraph({root:r}).setDefaultNodeLabel(function(e){return t.node(e)});return a.each(t.nodes(),function(i){var o=t.node(i),s=t.parent(i);(o.rank===e||o.minRank<=e&&e<=o.maxRank)&&(u.setNode(i),u.setParent(i,s||r),a.each(t[n](i),function(e){var n=e.v===i?e.w:e.v,r=u.edge(n,i),o=a.isUndefined(r)?0:r.weight;u.setEdge(n,i,{weight:t.edge(e).weight+o})}),a.has(o,"minRank")&&u.setNode(i,{borderLeft:o.borderLeft[e],borderRight:o.borderRight[e]}))}),u}function i(t){for(var e;t.hasNode(e=a.uniqueId("_root")););return e}var a=n(1),o=n(8).Graph;t.exports=r},function(t,e,n){function r(t,e,n){var r,a={};i.each(n,function(n){for(var i,o,u=t.parent(n);u;){if(i=t.parent(u),i?(o=a[i],a[i]=u):(o=r,r=u),o&&o!==u)return void e.setEdge(o,u);u=i}})}var i=n(1);t.exports=r},function(t,e,n){"use strict";function r(t){t=o.asNonCompoundGraph(t),i(t),a.each(u(t),function(e,n){t.node(n).x=e})}function i(t){var e=o.buildLayerMatrix(t),n=t.graph().ranksep,r=0;a.each(e,function(e){var i=a.max(a.map(e,function(e){return t.node(e).height}));a.each(e,function(e){t.node(e).y=r+i/2}),r+=i+n})}var a=n(1),o=n(3),u=n(224).positionX;t.exports=r},function(t,e,n){"use strict";function r(t,e){function n(e,n){var i=0,u=0,s=e.length,c=y.last(n);return y.each(n,function(e,l){var d=a(t,e),h=d?t.node(d).order:s;(d||e===c)&&(y.each(n.slice(u,l+1),function(e){y.each(t.predecessors(e),function(n){var a=t.node(n),u=a.order;!(u<i||h<u)||a.dummy&&t.node(e).dummy||o(r,n,e)})}),u=l+1,i=h)}),n}var r={};return y.reduce(e,n),r}function i(t,e){function n(e,n,r,a,u){var s;y.each(y.range(n,r),function(n){s=e[n],t.node(s).dummy&&y.each(t.predecessors(s),function(e){var n=t.node(e);n.dummy&&(n.order<a||n.order>u)&&o(i,e,s)})})}function r(e,r){var i,a=-1,o=0;return y.each(r,function(u,s){if("border"===t.node(u).dummy){var c=t.predecessors(u);c.length&&(i=t.node(c[0]).order,n(r,o,s,a,i),o=s,a=i)}n(r,o,r.length,i,e.length)}),r}var i={};return y.reduce(e,r),i}function a(t,e){if(t.node(e).dummy)return y.find(t.predecessors(e),function(e){return t.node(e).dummy})}function o(t,e,n){if(e>n){var r=e;e=n,n=r}var i=t[e];i||(t[e]=i={}),i[n]=!0}function u(t,e,n){if(e>n){var r=e;e=n,n=r}return y.has(t[e],n)}function s(t,e,n,r){var i={},a={},o={};return y.each(e,function(t){y.each(t,function(t,e){i[t]=t,a[t]=t,o[t]=e})}),y.each(e,function(t){var e=-1;y.each(t,function(t){var s=r(t);if(s.length){s=y.sortBy(s,function(t){return o[t]});for(var c=(s.length-1)/2,l=Math.floor(c),d=Math.ceil(c);l<=d;++l){var h=s[l];a[t]===t&&e<o[h]&&!u(n,t,h)&&(a[h]=t,a[t]=i[t]=i[h],e=o[h])}}})}),{root:i,align:a}}function c(t,e,n,r,i){function a(t){y.has(c,t)||(c[t]=!0,u[t]=y.reduce(s.inEdges(t),function(t,e){return a(e.v),Math.max(t,u[e.v]+s.edge(e))},0))}function o(e){if(2!==c[e]){c[e]++;var n=t.node(e),r=y.reduce(s.outEdges(e),function(t,e){return o(e.w),Math.min(t,u[e.w]-s.edge(e))},Number.POSITIVE_INFINITY);r!==Number.POSITIVE_INFINITY&&n.borderType!==d&&(u[e]=Math.max(u[e],r))}}var u={},s=l(t,e,n,i),c={};y.each(s.nodes(),a);var d=i?"borderLeft":"borderRight";return y.each(s.nodes(),o),y.each(r,function(t){u[t]=u[n[t]]}),u}function l(t,e,n,r){var i=new g,a=t.graph(),o=p(a.nodesep,a.edgesep,r);return y.each(e,function(e){var r;y.each(e,function(e){var a=n[e];if(i.setNode(a),r){var u=n[r],s=i.edge(u,a);i.setEdge(u,a,Math.max(o(t,e,r),s||0))}r=e})}),i}function d(t,e){return y.min(e,function(e){var n=y.min(e,function(e,n){return e-m(t,n)/2});return y.max(e,function(e,n){return e+m(t,n)/2})-n})}function h(t,e){var n=y.min(e),r=y.max(e);y.each(["u","d"],function(i){y.each(["l","r"],function(a){var o,u=i+a,s=t[u];s!==e&&(o="l"===a?n-y.min(s):r-y.max(s))&&(t[u]=y.mapValues(s,function(t){return t+o}))})})}function f(t,e){return y.mapValues(t.ul,function(n,r){if(e)return t[e.toLowerCase()][r];var i=y.sortBy(y.pluck(t,r));return(i[1]+i[2])/2})}function _(t){var e,n=v.buildLayerMatrix(t),a=y.merge(r(t,n),i(t,n)),o={};y.each(["u","d"],function(r){e="u"===r?n:y.values(n).reverse(),y.each(["l","r"],function(n){"r"===n&&(e=y.map(e,function(t){return y.values(t).reverse()}));var i=y.bind("u"===r?t.predecessors:t.successors,t),u=s(t,e,a,i),l=c(t,e,u.root,u.align,"r"===n);"r"===n&&(l=y.mapValues(l,function(t){return-t})),o[r+n]=l})});var u=d(t,o);return h(o,u),f(o,t.graph().align)}function p(t,e,n){return function(r,i,a){var o,u=r.node(i),s=r.node(a),c=0;if(c+=u.width/2,y.has(u,"labelpos"))switch(u.labelpos.toLowerCase()){case"l":o=-u.width/2;break;case"r":o=u.width/2}if(o&&(c+=n?o:-o),o=0,c+=(u.dummy?e:t)/2,c+=(s.dummy?e:t)/2,c+=s.width/2,y.has(s,"labelpos"))switch(s.labelpos.toLowerCase()){case"l":o=s.width/2;break;case"r":o=-s.width/2}return o&&(c+=n?o:-o),o=0,c}}function m(t,e){return t.node(e).width}var y=n(1),g=n(8).Graph,v=n(3);t.exports={positionX:_,findType1Conflicts:r,findType2Conflicts:i,addConflict:o,hasConflict:u,verticalAlignment:s,horizontalCompaction:c,alignCoordinates:h,findSmallestWidthAlignment:d,balance:f}},function(t,e,n){function r(t){var e=a.buildLayerMatrix(t),n=new o({compound:!0,multigraph:!0}).setGraph({});return i.each(t.nodes(),function(e){n.setNode(e,{label:e}),n.setParent(e,"layer"+t.node(e).rank)}),i.each(t.edges(),function(t){n.setEdge(t.v,t.w,{},t.name)}),i.each(e,function(t,e){var r="layer"+e;n.setNode(r,{rank:"same"}),i.reduce(t,function(t,e){return n.setEdge(t,e,{style:"invis"}),e})}),n}var i=n(1),a=n(3),o=n(8).Graph;t.exports={debugOrdering:r}},function(t,e){t.exports="0.7.4"},function(t,e,n){t.exports={node:n(40),circle:n(41),ellipse:n(20),polygon:n(42),rect:n(43)}},function(t,e){function n(t,e,n,i){var a,o,u,s,c,l,d,h,f,_,p,m,y,g,v;if(a=e.y-t.y,u=t.x-e.x,c=e.x*t.y-t.x*e.y,f=a*n.x+u*n.y+c,_=a*i.x+u*i.y+c,!(0!==f&&0!==_&&r(f,_)||(o=i.y-n.y,s=n.x-i.x,l=i.x*n.y-n.x*i.y,d=o*t.x+s*t.y+l,h=o*e.x+s*e.y+l,0!==d&&0!==h&&r(d,h)||0==(p=a*s-o*u))))return m=Math.abs(p/2),y=u*l-s*c,g=y<0?(y-m)/p:(y+m)/p,y=o*c-a*l,v=y<0?(y-m)/p:(y+m)/p,{x:g,y:v}}function r(t,e){return t*e>0}t.exports=n},function(t,e,n){function r(){var t=n(230),e=n(234),r=n(235),u=n(236),c=n(237),l=n(238),d=n(239),h=n(240),f=n(241),_=function(n,_){i(_);var p=o(n,"output"),m=o(p,"clusters"),y=o(p,"edgePaths"),g=r(o(p,"edgeLabels"),_),v=t(o(p,"nodes"),_,h);s(_),c(v,_),l(g,_),u(y,_,f);var M=e(m,_);d(M,_),a(_)};return _.createNodes=function(e){return arguments.length?(t=e,_):t},_.createClusters=function(t){return arguments.length?(e=t,_):e},_.createEdgeLabels=function(t){return arguments.length?(r=t,_):r},_.createEdgePaths=function(t){return arguments.length?(u=t,_):u},_.shapes=function(t){return arguments.length?(h=t,_):h},_.arrows=function(t){return arguments.length?(f=t,_):f},_}function i(t){t.nodes().forEach(function(e){var n=t.node(e);u.has(n,"label")||t.children(e).length||(n.label=e),u.has(n,"paddingX")&&u.defaults(n,{paddingLeft:n.paddingX,paddingRight:n.paddingX}),u.has(n,"paddingY")&&u.defaults(n,{paddingTop:n.paddingY,paddingBottom:n.paddingY}),u.has(n,"padding")&&u.defaults(n,{paddingLeft:n.padding,paddingRight:n.padding,paddingTop:n.padding,paddingBottom:n.padding}),u.defaults(n,c),u.each(["paddingLeft","paddingRight","paddingTop","paddingBottom"],function(t){n[t]=Number(n[t])}),u.has(n,"width")&&(n._prevWidth=n.width),u.has(n,"height")&&(n._prevHeight=n.height)}),t.edges().forEach(function(e){var n=t.edge(e);u.has(n,"label")||(n.label=""),u.defaults(n,l)})}function a(t){u.each(t.nodes(),function(e){var n=t.node(e);u.has(n,"_prevWidth")?n.width=n._prevWidth:delete n.width,u.has(n,"_prevHeight")?n.height=n._prevHeight:delete n.height,delete n._prevWidth,delete n._prevHeight})}function o(t,e){var n=t.select("g."+e);return n.empty()&&(n=t.append("g").attr("class",e)),n}var u=n(14),s=n(32).layout;t.exports=r;var c={paddingLeft:10,paddingRight:10,paddingTop:10,paddingBottom:10,rx:0,ry:0,shape:"rect"},l={arrowhead:"normal",lineInterpolate:"linear"}},function(t,e,n){"use strict";function r(t,e,n){var r=e.nodes().filter(function(t){return!o.isSubgraph(e,t)}),s=t.selectAll("g.node").data(r,function(t){return t}).classed("update",!0);return s.selectAll("*").remove(),s.enter().append("g").attr("class","node").style("opacity",0),s.each(function(t){var r=e.node(t),s=u.select(this),c=s.append("g").attr("class","label"),l=a(c,r),d=n[r.shape],h=i.pick(l.node().getBBox(),"width","height");r.elem=this,r.id&&s.attr("id",r.id),r.labelId&&c.attr("id",r.labelId),o.applyClass(s,r.class,(s.classed("update")?"update ":"")+"node"),i.has(r,"width")&&(h.width=r.width),i.has(r,"height")&&(h.height=r.height),h.width+=r.paddingLeft+r.paddingRight,h.height+=r.paddingTop+r.paddingBottom,c.attr("transform","translate("+(r.paddingLeft-r.paddingRight)/2+","+(r.paddingTop-r.paddingBottom)/2+")");var f=d(u.select(this),h,r);o.applyStyle(f,r.style);var _=f.node().getBBox();r.width=_.width,r.height=_.height}),o.applyTransition(s.exit(),e).style("opacity",0).remove(),s}var i=n(14),a=n(21),o=n(7),u=n(15);t.exports=r},function(t,e,n){function r(t,e){for(var n=t.append("text"),r=i(e.label).split("\n"),o=0;o<r.length;o++)n.append("tspan").attr("xml:space","preserve").attr("dy","1em").attr("x","1").text(r[o]);return a.applyStyle(n,e.labelStyle),n}function i(t){for(var e,n="",r=!1,i=0;i<t.length;++i)if(e=t[i],r){switch(e){case"n":n+="\n";break;default:n+=e}r=!1}else"\\"===e?r=!0:n+=e;return n}var a=n(7);t.exports=r},function(t,e,n){function r(t,e){var n=t.append("foreignObject").attr("width","100000"),r=n.append("xhtml:div");r.attr("xmlns","http://www.w3.org/1999/xhtml");var a=e.label;switch(typeof a){case"function":r.insert(a);break;case"object":r.insert(function(){return a});break;default:r.html(a)}i.applyStyle(r,e.labelStyle),r.style("display","inline-block"),r.style("white-space","nowrap");var o=r[0][0].getBoundingClientRect();return n.attr("width",o.width).attr("height",o.height),n}var i=n(7);t.exports=r},function(t,e,n){function r(t,e){var n=t;return n.node().appendChild(e.label),i.applyStyle(n,e.labelStyle),n}var i=n(7);t.exports=r},function(t,e,n){function r(t,e){var n=e.nodes().filter(function(t){return i.isSubgraph(e,t)}),r=t.selectAll("g.cluster").data(n,function(t){return t});return r.selectAll("*").remove(),r.enter().append("g").attr("class","cluster").attr("id",function(t){return e.node(t).id}).style("opacity",0),i.applyTransition(r,e).style("opacity",1),r.each(function(t){var n=e.node(t),r=d3.select(this);d3.select(this).append("rect");var i=r.append("g").attr("class","label");a(i,n,n.clusterLabelPos)}),r.selectAll("rect").each(function(t){var n=e.node(t),r=d3.select(this);i.applyStyle(r,n.style)}),i.applyTransition(r.exit(),e).style("opacity",0).remove(),r}var i=n(7),a=n(21);t.exports=r},function(t,e,n){"use strict";function r(t,e){var n=t.selectAll("g.edgeLabel").data(e.edges(),function(t){return o.edgeToId(t)}).classed("update",!0);return n.selectAll("*").remove(),n.enter().append("g").classed("edgeLabel",!0).style("opacity",0),n.each(function(t){var n=e.edge(t),r=a(u.select(this),e.edge(t),0,0).classed("label",!0),o=r.node().getBBox();n.labelId&&r.attr("id",n.labelId),i.has(n,"width")||(n.width=o.width),i.has(n,"height")||(n.height=o.height)}),o.applyTransition(n.exit(),e).style("opacity",0).remove(),n}var i=n(14),a=n(21),o=n(7),u=n(15);t.exports=r},function(t,e,n){"use strict";function r(t,e,n){var r=t.selectAll("g.edgePath").data(e.edges(),function(t){return h.edgeToId(t)}).classed("update",!0);return s(r,e),c(r,e),h.applyTransition(r,e).style("opacity",1),r.each(function(t){var n=f.select(this),r=e.edge(t);r.elem=this,r.id&&n.attr("id",r.id),h.applyClass(n,r.class,(n.classed("update")?"update ":"")+"edgePath")}),r.selectAll("path.path").each(function(t){var n=e.edge(t);n.arrowheadId=l.uniqueId("arrowhead");var r=f.select(this).attr("marker-end",function(){return"url("+i(location.href,n.arrowheadId)+")"}).style("fill","none");h.applyTransition(r,e).attr("d",function(t){return a(e,t)}),h.applyStyle(r,n.style)}),r.selectAll("defs *").remove(),r.selectAll("defs").each(function(t){var r=e.edge(t);(0,n[r.arrowhead])(f.select(this),r.arrowheadId,r,"arrowhead")}),r}function i(t,e){return t.split("#")[0]+"#"+e}function a(t,e){var n=t.edge(e),r=t.node(e.v),i=t.node(e.w),a=n.points.slice(1,n.points.length-1);return a.unshift(d(r,a[0])),a.push(d(i,a[a.length-1])),o(n,a)}function o(t,e){var n=f.svg.line().x(function(t){return t.x}).y(function(t){return t.y});return l.has(t,"lineInterpolate")&&n.interpolate(t.lineInterpolate),l.has(t,"lineTension")&&n.tension(Number(t.lineTension)),n(e)}function u(t){var e=t.getBBox(),n=t.ownerSVGElement.getScreenCTM().inverse().multiply(t.getScreenCTM()).translate(e.width/2,e.height/2);return{x:n.e,y:n.f}}function s(t,e){var n=t.enter().append("g").attr("class","edgePath").style("opacity",0);n.append("path").attr("class","path").attr("d",function(t){var n=e.edge(t),r=e.node(t.v).elem;return o(n,l.range(n.points.length).map(function(){return u(r)}))}),n.append("defs")}function c(t,e){var n=t.exit();h.applyTransition(n,e).style("opacity",0).remove(),h.applyTransition(n.select("path.path"),e).attr("d",function(t){var n=e.node(t.v);if(n){return o({},l.range(this.getTotalLength()).map(function(){return n}))}return f.select(this).attr("d")})}var l=n(14),d=n(40),h=n(7),f=n(15);t.exports=r},function(t,e,n){"use strict";function r(t,e){function n(t){var n=e.node(t);return"translate("+n.x+","+n.y+")"}t.filter(function(){return!a.select(this).classed("update")}).attr("transform",n),i.applyTransition(t,e).style("opacity",1).attr("transform",n)}var i=n(7),a=n(15);t.exports=r},function(t,e,n){"use strict";function r(t,e){function n(t){var n=e.edge(t);return o.has(n,"x")?"translate("+n.x+","+n.y+")":""}t.filter(function(){return!a.select(this).classed("update")}).attr("transform",n),i.applyTransition(t,e).style("opacity",1).attr("transform",n)}var i=n(7),a=n(15),o=n(14);t.exports=r},function(t,e,n){"use strict";function r(t,e){function n(t){var n=e.node(t);return"translate("+n.x+","+n.y+")"}var r=t.filter(function(){return!a.select(this).classed("update")});r.attr("transform",n),i.applyTransition(t,e).style("opacity",1).attr("transform",n),i.applyTransition(r.selectAll("rect"),e).attr("width",function(t){return e.node(t).width}).attr("height",function(t){return e.node(t).height}).attr("x",function(t){return-e.node(t).width/2}).attr("y",function(t){return-e.node(t).height/2})}var i=n(7),a=n(15);t.exports=r},function(t,e,n){"use strict";function r(t,e,n){var r=t.insert("rect",":first-child").attr("rx",n.rx).attr("ry",n.ry).attr("x",-e.width/2).attr("y",-e.height/2).attr("width",e.width).attr("height",e.height);return n.intersect=function(t){return u(n,t)},r}function i(t,e,n){var r=e.width/2,i=e.height/2,a=t.insert("ellipse",":first-child").attr("x",-e.width/2).attr("y",-e.height/2).attr("rx",r).attr("ry",i);return n.intersect=function(t){return s(n,r,i,t)},a}function a(t,e,n){var r=Math.max(e.width,e.height)/2,i=t.insert("circle",":first-child").attr("x",-e.width/2).attr("y",-e.height/2).attr("r",r);return n.intersect=function(t){return c(n,r,t)},i}function o(t,e,n){var r=e.width*Math.SQRT2/2,i=e.height*Math.SQRT2/2,a=[{x:0,y:-i},{x:-r,y:0},{x:0,y:i},{x:r,y:0}],o=t.insert("polygon",":first-child").attr("points",a.map(function(t){return t.x+","+t.y}).join(" "));return n.intersect=function(t){return l(n,a,t)},o}var u=n(43),s=n(20),c=n(41),l=n(42);t.exports={rect:r,ellipse:i,circle:a,diamond:o}},function(t,e,n){function r(t,e,n,r){var i=t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),a=i.append("path").attr("d","M 0 0 L 10 5 L 0 10 z").style("stroke-width",1).style("stroke-dasharray","1,0");o.applyStyle(a,n[r+"Style"]),n[r+"Class"]&&a.attr("class",n[r+"Class"])}function i(t,e,n,r){var i=t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),a=i.append("path").attr("d","M 0 0 L 10 5 L 0 10 L 4 5 z").style("stroke-width",1).style("stroke-dasharray","1,0");o.applyStyle(a,n[r+"Style"]),n[r+"Class"]&&a.attr("class",n[r+"Class"])}function a(t,e,n,r){var i=t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),a=i.append("path").attr("d","M 0 5 L 10 5").style("stroke-width",1).style("stroke-dasharray","1,0");o.applyStyle(a,n[r+"Style"]),n[r+"Class"]&&a.attr("class",n[r+"Class"])}var o=n(7);t.exports={default:r,normal:r,vee:i,undirected:a}},function(t,e){t.exports="0.1.6"},function(t,e,n){var r=n(44).parser;r.yy=n(45);var i=n(244),a=n(10),o=n(2),u=o.Log,s={diagramMarginX:50,diagramMarginY:30,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,mirrorActors:!1,bottomMarginAdj:1,activationWidth:10,textPlacement:"tspan"};e.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],activations:[],init:function(){this.sequenceItems=[],this.activations=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(t,e,n,r){void 0===t[e]?t[e]=n:t[e]=r(n,t[e])},updateBounds:function(t,n,r,i){function a(a){return function(c){u++;var l=o.sequenceItems.length-u+1;o.updateVal(c,"starty",n-l*s.boxMargin,Math.min),o.updateVal(c,"stopy",i+l*s.boxMargin,Math.max),o.updateVal(e.bounds.data,"startx",t-l*s.boxMargin,Math.min),o.updateVal(e.bounds.data,"stopx",r+l*s.boxMargin,Math.max),"activation"!==a&&(o.updateVal(c,"startx",t-l*s.boxMargin,Math.min),o.updateVal(c,"stopx",r+l*s.boxMargin,Math.max),o.updateVal(e.bounds.data,"starty",n-l*s.boxMargin,Math.min),o.updateVal(e.bounds.data,"stopy",i+l*s.boxMargin,Math.max))}}var o=this,u=0;this.sequenceItems.forEach(a()),this.activations.forEach(a("activation"))},insert:function(t,n,r,i){var a,o,u,s;a=Math.min(t,r),u=Math.max(t,r),o=Math.min(n,i),s=Math.max(n,i),this.updateVal(e.bounds.data,"startx",a,Math.min),this.updateVal(e.bounds.data,"starty",o,Math.min),this.updateVal(e.bounds.data,"stopx",u,Math.max),this.updateVal(e.bounds.data,"stopy",s,Math.max),this.updateBounds(a,o,u,s)},newActivation:function(t,e){var n=r.yy.getActors()[t.from.actor],a=d(t.from.actor).length,o=n.x+s.width/2+(a-1)*s.activationWidth/2;this.activations.push({startx:o,starty:this.verticalPos+2,stopx:o+s.activationWidth,stopy:void 0,actor:t.from.actor,anchored:i.anchorElement(e)})},endActivation:function(t){var e=this.activations.map(function(t){return t.actor}).lastIndexOf(t.from.actor);return this.activations.splice(e,1)[0]},newLoop:function(t){this.sequenceItems.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t})},endLoop:function(){return this.sequenceItems.pop()},addSectionToLoop:function(t){var n=this.sequenceItems.pop();n.sections=n.sections||[],n.sectionTitles=n.sectionTitles||[],n.sections.push(e.bounds.getVerticalPos()),n.sectionTitles.push(t),this.sequenceItems.push(n)},bumpVerticalPos:function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var c=function(t,n,r,a,o){var u=i.getNoteRect();u.x=n,u.y=r,u.width=o||s.width,u.class="note";var c=t.append("g"),l=i.drawRect(c,u),d=i.getTextObj();d.x=n-4,d.y=r-13,d.textMargin=s.noteMargin,d.dy="1em",d.text=a.message,d.class="noteText";var h=i.drawText(c,d,u.width-s.noteMargin),f=h[0][0].getBBox().height;!o&&f>s.width?(h.remove(),c=t.append("g"),h=i.drawText(c,d,2*u.width-s.noteMargin),f=h[0][0].getBBox().height,l.attr("width",2*u.width),e.bounds.insert(n,r,n+2*u.width,r+2*s.noteMargin+f)):e.bounds.insert(n,r,n+u.width,r+2*s.noteMargin+f),l.attr("height",f+2*s.noteMargin),e.bounds.bumpVerticalPos(f+2*s.noteMargin)},l=function(t,n,i,a,o){var u,c=t.append("g"),l=n+(i-n)/2,d=c.append("text").attr("x",l).attr("y",a-7).style("text-anchor","middle").attr("class","messageText").text(o.message);u=void 0!==d[0][0].getBBox?d[0][0].getBBox().width:d[0][0].getBoundingClientRect();var h;if(n===i){h=c.append("path").attr("d","M "+n+","+a+" C "+(n+60)+","+(a-10)+" "+(n+60)+","+(a+30)+" "+n+","+(a+20)),e.bounds.bumpVerticalPos(30);var f=Math.max(u/2,100);e.bounds.insert(n-f,e.bounds.getVerticalPos()-10,i+f,e.bounds.getVerticalPos())}else h=c.append("line"),h.attr("x1",n),h.attr("y1",a),h.attr("x2",i),h.attr("y2",a),e.bounds.insert(n,e.bounds.getVerticalPos()-10,i,e.bounds.getVerticalPos());o.type===r.yy.LINETYPE.DOTTED||o.type===r.yy.LINETYPE.DOTTED_CROSS||o.type===r.yy.LINETYPE.DOTTED_OPEN?(h.style("stroke-dasharray","3, 3"),h.attr("class","messageLine1")):h.attr("class","messageLine0");var _="";s.arrowMarkerAbsolute&&(_=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,_=_.replace(/\(/g,"\\("),_=_.replace(/\)/g,"\\)")),h.attr("stroke-width",2),h.attr("stroke","black"),h.style("fill","none"),o.type!==r.yy.LINETYPE.SOLID&&o.type!==r.yy.LINETYPE.DOTTED||h.attr("marker-end","url("+_+"#arrowhead)"),o.type!==r.yy.LINETYPE.SOLID_CROSS&&o.type!==r.yy.LINETYPE.DOTTED_CROSS||h.attr("marker-end","url("+_+"#crosshead)")};t.exports.drawActors=function(t,n,r,a){var o;for(o=0;o<r.length;o++){var u=r[o];n[u].x=o*s.actorMargin+o*s.width,n[u].y=a,n[u].width=s.diagramMarginX,n[u].height=s.diagramMarginY,i.drawActor(t,n[u].x,a,n[u].description,s),e.bounds.insert(n[u].x,a,n[u].x+s.width,s.height)}e.bounds.bumpVerticalPos(s.height)},t.exports.setConf=function(t){Object.keys(t).forEach(function(e){s[e]=t[e]})};var d=function(e){return t.exports.bounds.activations.filter(function(t){return t.actor===e})},h=function(t){var e=r.yy.getActors(),n=d(t);return[n.reduce(function(t,e){return Math.min(t,e.startx)},e[t].x+s.width/2),n.reduce(function(t,e){return Math.max(t,e.stopx)},e[t].x+s.width/2)]};t.exports.draw=function(n,o){function d(t,n){var r=e.bounds.endActivation(t);r.starty+18>n&&(r.starty=n-6,n+=12),i.drawActivation(m,r,n,s),e.bounds.insert(r.startx,n-10,r.stopx,n)}r.yy.clear(),r.parse(n+"\n"),e.bounds.init();var f,_,p,m=a.select("#"+o),y=r.yy.getActors(),g=r.yy.getActorKeys(),v=r.yy.getMessages(),M=r.yy.getTitle();t.exports.drawActors(m,y,g,0),i.insertArrowHead(m),i.insertArrowCrossHead(m),v.forEach(function(t){var n;switch(t.type){case r.yy.LINETYPE.NOTE:e.bounds.bumpVerticalPos(s.boxMargin),f=y[t.from].x,_=y[t.to].x,t.placement===r.yy.PLACEMENT.RIGHTOF?c(m,f+(s.width+s.actorMargin)/2,e.bounds.getVerticalPos(),t):t.placement===r.yy.PLACEMENT.LEFTOF?c(m,f-(s.width+s.actorMargin)/2,e.bounds.getVerticalPos(),t):t.to===t.from?c(m,f,e.bounds.getVerticalPos(),t):(p=Math.abs(f-_)+s.actorMargin,c(m,(f+_+s.width-p)/2,e.bounds.getVerticalPos(),t,p));break;case r.yy.LINETYPE.ACTIVE_START:e.bounds.newActivation(t,m);break;case r.yy.LINETYPE.ACTIVE_END:d(t,e.bounds.getVerticalPos());break;case r.yy.LINETYPE.LOOP_START:e.bounds.bumpVerticalPos(s.boxMargin),e.bounds.newLoop(t.message),e.bounds.bumpVerticalPos(s.boxMargin+s.boxTextMargin);break;case r.yy.LINETYPE.LOOP_END:n=e.bounds.endLoop(),i.drawLoop(m,n,"loop",s),e.bounds.bumpVerticalPos(s.boxMargin);break;case r.yy.LINETYPE.OPT_START:e.bounds.bumpVerticalPos(s.boxMargin),e.bounds.newLoop(t.message),e.bounds.bumpVerticalPos(s.boxMargin+s.boxTextMargin);break;case r.yy.LINETYPE.OPT_END:n=e.bounds.endLoop(),i.drawLoop(m,n,"opt",s),e.bounds.bumpVerticalPos(s.boxMargin);break;case r.yy.LINETYPE.ALT_START:e.bounds.bumpVerticalPos(s.boxMargin),e.bounds.newLoop(t.message),e.bounds.bumpVerticalPos(s.boxMargin+s.boxTextMargin);break;case r.yy.LINETYPE.ALT_ELSE:e.bounds.bumpVerticalPos(s.boxMargin),n=e.bounds.addSectionToLoop(t.message),e.bounds.bumpVerticalPos(s.boxMargin);break;case r.yy.LINETYPE.ALT_END:n=e.bounds.endLoop(),i.drawLoop(m,n,"alt",s),e.bounds.bumpVerticalPos(s.boxMargin);break;case r.yy.LINETYPE.PAR_START:e.bounds.bumpVerticalPos(s.boxMargin),e.bounds.newLoop(t.message),e.bounds.bumpVerticalPos(s.boxMargin+s.boxTextMargin);break;case r.yy.LINETYPE.PAR_AND:e.bounds.bumpVerticalPos(s.boxMargin),n=e.bounds.addSectionToLoop(t.message),e.bounds.bumpVerticalPos(s.boxMargin);break;case r.yy.LINETYPE.PAR_END:n=e.bounds.endLoop(),i.drawLoop(m,n,"par",s),e.bounds.bumpVerticalPos(s.boxMargin);break;default:try{e.bounds.bumpVerticalPos(s.messageMargin);var a=h(t.from),o=h(t.to),u=a[0]<=o[0]?1:0,g=a[0]<o[0]?0:1;f=a[u],_=o[g];var v=e.bounds.getVerticalPos();l(m,f,_,v,t);var M=a.concat(o);e.bounds.insert(Math.min.apply(null,M),v,Math.max.apply(null,M),v)}catch(t){console.error("error while drawing message",t)}}}),s.mirrorActors&&(e.bounds.bumpVerticalPos(2*s.boxMargin),t.exports.drawActors(m,y,g,e.bounds.getVerticalPos()));var b=e.bounds.getBounds();u.debug("For line height fix Querying: #"+o+" .actor-line"),a.selectAll("#"+o+" .actor-line").attr("y2",b.stopy);var L=b.stopy-b.starty+2*s.diagramMarginY;s.mirrorActors&&(L=L-s.boxMargin+s.bottomMarginAdj);var k=b.stopx-b.startx+2*s.diagramMarginX;M&&m.append("text").text(M).attr("x",(b.stopx-b.startx)/2-2*s.diagramMarginX).attr("y",-25),s.useMaxWidth?(m.attr("height","100%"),m.attr("width","100%"),m.attr("style","max-width:"+k+"px;")):(m.attr("height",L),m.attr("width",k));var w=M?40:0;m.attr("viewBox",b.startx-s.diagramMarginX+" -"+(s.diagramMarginY+w)+" "+k+" "+(L+w))}},function(t,e){e.drawRect=function(t,e){var n=t.append("rect");return n.attr("x",e.x),n.attr("y",e.y),n.attr("fill",e.fill),n.attr("stroke",e.stroke),n.attr("width",e.width),n.attr("height",e.height),n.attr("rx",e.rx),n.attr("ry",e.ry),void 0!==e.class&&n.attr("class",e.class),n},e.drawText=function(t,e,n){var r=e.text.replace(/<br\/?>/gi," "),i=t.append("text");i.attr("x",e.x),i.attr("y",e.y),i.style("text-anchor",e.anchor),i.attr("fill",e.fill),void 0!==e.class&&i.attr("class",e.class);var a=i.append("tspan");return a.attr("x",e.x+2*e.textMargin),a.attr("fill",e.fill),a.text(r),void 0!==i.textwrap&&i.textwrap({x:e.x,y:e.y,width:n,height:1800},e.textMargin),i},e.drawLabel=function(t,n){var r=t.append("polygon");r.attr("points",function(t,e,n,r,i){return t+","+e+" "+(t+n)+","+e+" "+(t+n)+","+(e+r-i)+" "+(t+n-1.2*i)+","+(e+r)+" "+t+","+(e+r)}(n.x,n.y,50,20,7)),r.attr("class","labelBox"),n.y=n.y+n.labelMargin,n.x=n.x+.5*n.labelMargin,e.drawText(t,n)};var n=-1;e.drawActor=function(t,i,a,o,u){var s=i+u.width/2,c=t.append("g");0===a&&(n++,c.append("line").attr("id","actor"+n).attr("x1",s).attr("y1",5).attr("x2",s).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999"));var l=e.getNoteRect();l.x=i,l.y=a,l.fill="#eaeaea",l.width=u.width,l.height=u.height,l.class="actor",l.rx=3,l.ry=3,e.drawRect(c,l),r(u)(o,c,l.x,l.y,l.width,l.height,{class:"actor"})},e.anchorElement=function(t){return t.append("g")},e.drawActivation=function(t,n,r){var i=e.getNoteRect(),a=n.anchored;i.x=n.startx,i.y=n.starty,i.fill="#f4f4f4",i.width=n.stopx-n.startx,i.height=r-n.starty,e.drawRect(a,i)},e.drawLoop=function(t,n,r,i){var a=t.append("g"),o=function(t,e,n,r){return a.append("line").attr("x1",t).attr("y1",e).attr("x2",n).attr("y2",r).attr("class","loopLine")};o(n.startx,n.starty,n.stopx,n.starty),o(n.stopx,n.starty,n.stopx,n.stopy),o(n.startx,n.stopy,n.stopx,n.stopy),o(n.startx,n.starty,n.startx,n.stopy),void 0!==n.sections&&n.sections.forEach(function(t){o(n.startx,t,n.stopx,t).style("stroke-dasharray","3, 3")});var u=e.getTextObj();u.text=r,u.x=n.startx,u.y=n.starty,u.labelMargin=15,u.class="labelText",e.drawLabel(a,u),u=e.getTextObj(),u.text="[ "+n.title+" ]",u.x=n.startx+(n.stopx-n.startx)/2,u.y=n.starty+1.5*i.boxMargin,u.anchor="middle",u.class="loopText",e.drawText(a,u),void 0!==n.sectionTitles&&n.sectionTitles.forEach(function(t,r){""!==t&&(u.text="[ "+t+" ]",u.y=n.sections[r]+1.5*i.boxMargin,e.drawText(a,u))})},e.insertArrowHead=function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},e.insertArrowCrossHead=function(t){var e=t.append("defs"),n=e.append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);n.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),n.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},e.getTextObj=function(){return{x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0}},e.getNoteRect=function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}};var r=function(){function t(t,e,n,i,a,o,u){r(e.append("text").attr("x",n+a/2).attr("y",i+o/2+5).style("text-anchor","middle").text(t),u)}function e(t,e,n,i,a,o,u){var s=e.append("text").attr("x",n+a/2).attr("y",i).style("text-anchor","middle");if(s.append("tspan").attr("x",n+a/2).attr("dy","0").text(t),void 0!==s.textwrap){s.textwrap({x:n+a/2,y:i,width:a,height:o},0);var c=s.selectAll("tspan");c.length>0&&c[0].length>0&&(c=c[0],s.attr("y",i+(o/2-s[0][0].getBBox().height*(1-1/c.length)/2)).attr("dominant-baseline","central").attr("alignment-baseline","central"))}r(s,u)}function n(t,n,i,a,o,u,s){var c=n.append("switch"),l=c.append("foreignObject").attr("x",i).attr("y",a).attr("width",o).attr("height",u),d=l.append("div").style("display","table").style("height","100%").style("width","100%");d.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(t),e(t,c,i,a,o,u,s),r(d,s)}function r(t,e){for(var n in e)e.hasOwnProperty(n)&&t.attr(n,e[n])}return function(r){return"fo"===r.textPlacement?n:"old"===r.textPlacement?t:e}}()},function(t,e,n){var r=n(46),i=n(47),a=n(10),o=n(2),u=o.Log;e.draw=function(t,e,n){var o;o=i.parser,o.yy=r,u.debug("Renering example diagram"),o.parse(t);var s=a.select("#"+e);s.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size","32px").style("text-anchor","middle").text("mermaid "+n),s.attr("height",100),s.attr("width",400)}},function(t,e,n){var r=n(48).parser;r.yy=n(49);var i,a=n(10),o=n(0),u={titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,fontFamily:'"Open-Sans", "sans-serif"'};t.exports.setConf=function(t){Object.keys(t).forEach(function(e){u[e]=t[e]})};var s;t.exports.draw=function(t,e){function n(t,e,n,r,i,a,o,s){y.append("g").selectAll("rect").data(t).enter().append("rect").attr("x",0).attr("y",function(t,r){return r*e+n-2}).attr("width",function(){return o-u.rightPadding/2}).attr("height",e).attr("class",function(t){for(var e=0;e<b.length;e++)if(t.type===b[e])return"section section"+e%u.numberSectionStyles;return"section section0"});var c=y.append("g").selectAll("rect").data(t).enter();c.append("rect").attr("rx",3).attr("ry",3).attr("x",function(t){return M(t.startTime)+r}).attr("y",function(t,r){return r*e+n}).attr("width",function(t){return M(t.endTime)-M(t.startTime)}).attr("height",i).attr("class",function(t){for(var e="task ",n=0,r=0;r<b.length;r++)t.type===b[r]&&(n=r%u.numberSectionStyles);return t.active?t.crit?e+" activeCrit"+n:e+" active"+n:t.done?t.crit?e+" doneCrit"+n:e+" done"+n:t.crit?e+" crit"+n:e+" task"+n}),c.append("text").text(function(t){return t.task}).attr("font-size",u.fontSize).attr("x",function(t){var e=M(t.startTime),n=M(t.endTime),i=this.getBBox().width;return i>n-e?n+i+1.5*u.leftPadding>o?e+r-5:n+r+5:(n-e)/2+e+r}).attr("y",function(t,r){return r*e+u.barHeight/2+(u.fontSize/2-2)+n}).attr("text-height",i).attr("class",function(t){for(var e=M(t.startTime),n=M(t.endTime),r=this.getBBox().width,i=0,a=0;a<b.length;a++)t.type===b[a]&&(i=a%u.numberSectionStyles);var s="";return t.active&&(s=t.crit?"activeCritText"+i:"activeText"+i),t.done?s=t.crit?s+" doneCritText"+i:s+" doneText"+i:t.crit&&(s=s+" critText"+i),r>n-e?n+r+1.5*u.leftPadding>o?"taskTextOutsideLeft taskTextOutside"+i+" "+s:"taskTextOutsideRight taskTextOutside"+i+" "+s:"taskText taskText"+i+" "+s})}function c(t,e,n,r){var o,s=[[".%L",function(t){return t.getMilliseconds()}],[":%S",function(t){return t.getSeconds()}],["h1 %I:%M",function(t){return t.getMinutes()}]],c=[["%Y",function(){return!0}]],l=[["%I:%M",function(t){return t.getHours()}],["%a %d",function(t){return t.getDay()&&1!==t.getDate()}],["%b %d",function(t){return 1!==t.getDate()}],["%B",function(t){return t.getMonth()}]];void 0!==u.axisFormatter&&(l=[],u.axisFormatter.forEach(function(t){var e=[];e[0]=t[0],e[1]=t[1],l.push(e)})),o=s.concat(l).concat(c);var d=a.svg.axis().scale(M).orient("bottom").tickSize(-r+e+u.gridLineStartPadding,0,0).tickFormat(a.time.format.multi(o));i>7&&i<230&&(d=d.ticks(a.time.monday.range)),y.append("g").attr("class","grid").attr("transform","translate("+t+", "+(r-50)+")").call(d).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em")}function l(t,e){for(var n=[],r=0,i=0;i<b.length;i++)n[i]=[b[i],f(b[i],k)];y.append("g").selectAll("text").data(n).enter().append("text").text(function(t){return t[0]}).attr("x",10).attr("y",function(i,a){if(!(a>0))return i[1]*t/2+e;for(var o=0;o<a;o++)return r+=n[a-1][1],i[1]*t/2+r*t+e}).attr("class",function(t){for(var e=0;e<b.length;e++)if(t[0]===b[e])return"sectionTitle sectionTitle"+e%u.numberSectionStyles;return"sectionTitle"})}function d(t,e,n,r){var i=y.append("g").attr("class","today"),a=new Date;i.append("line").attr("x1",M(a)+t).attr("x2",M(a)+t).attr("y1",u.titleTopMargin).attr("y2",r-u.titleTopMargin).attr("class","today")}function h(t){for(var e=t.length,n={};e;)n[t[--e]]=(n[t[e]]||0)+1;return n}function f(t,e){return h(e)[t]||0}r.yy.clear(),r.parse(t);var _=document.getElementById(e);s=_.parentElement.offsetWidth,void 0===s&&(s=1200),void 0!==u.useWidth&&(s=u.useWidth);var p=r.yy.getTasks(),m=p.length*(u.barHeight+u.barGap)+2*u.topPadding;_.setAttribute("height","100%"),_.setAttribute("viewBox","0 0 "+s+" "+m);var y=a.select("#"+e),g=a.min(p,function(t){return t.startTime}),v=a.max(p,function(t){return t.endTime}),M=a.time.scale().domain([a.min(p,function(t){return t.startTime}),a.max(p,function(t){return t.endTime})]).rangeRound([0,s-u.leftPadding-u.rightPadding]),b=[];i=o.duration(v-g).asDays();for(var L=0;L<p.length;L++)b.push(p[L].type);var k=b;b=function(t){for(var e={},n=[],r=0,i=t.length;r<i;++r)e.hasOwnProperty(t[r])||(e[t[r]]=!0,n.push(t[r]));return n}(b),function(t,e,r){var i=u.barHeight,o=i+u.barGap,s=u.topPadding,h=u.leftPadding,f=a.scale.linear().domain([0,b.length]).range(["#00B9FA","#F95002"]).interpolate(a.interpolateHcl);c(h,s,e,r),n(t,o,s,h,i,f,e,r),l(o,s),d(h,s,e,r)}(p,s,m),void 0!==u.useWidth&&_.setAttribute("width",s),y.append("text").text(r.yy.getTitle()).attr("x",s/2).attr("y",u.titleTopMargin).attr("class","titleText")}},function(t,e,n){function r(t){return n(i(t))}function i(t){var e=a[t];if(!(e+1))throw new Error("Cannot find module '"+t+"'.");return e}var a={"./af":50,"./af.js":50,"./ar":51,"./ar-dz":52,"./ar-dz.js":52,"./ar-kw":53,"./ar-kw.js":53,"./ar-ly":54,"./ar-ly.js":54,"./ar-ma":55,"./ar-ma.js":55,"./ar-sa":56,"./ar-sa.js":56,"./ar-tn":57,"./ar-tn.js":57,"./ar.js":51,"./az":58,"./az.js":58,"./be":59,"./be.js":59,"./bg":60,"./bg.js":60,"./bn":61,"./bn.js":61,"./bo":62,"./bo.js":62,"./br":63,"./br.js":63,"./bs":64,"./bs.js":64,"./ca":65,"./ca.js":65,"./cs":66,"./cs.js":66,"./cv":67,"./cv.js":67,"./cy":68,"./cy.js":68,"./da":69,"./da.js":69,"./de":70,"./de-at":71,"./de-at.js":71,"./de-ch":72,"./de-ch.js":72,"./de.js":70,"./dv":73,"./dv.js":73,"./el":74,"./el.js":74,"./en-au":75,"./en-au.js":75,"./en-ca":76,"./en-ca.js":76,"./en-gb":77,"./en-gb.js":77,"./en-ie":78,"./en-ie.js":78,"./en-nz":79,"./en-nz.js":79,"./eo":80,"./eo.js":80,"./es":81,"./es-do":82,"./es-do.js":82,"./es.js":81,"./et":83,"./et.js":83,"./eu":84,"./eu.js":84,"./fa":85,"./fa.js":85,"./fi":86,"./fi.js":86,"./fo":87,"./fo.js":87,"./fr":88,"./fr-ca":89,"./fr-ca.js":89,"./fr-ch":90,"./fr-ch.js":90,"./fr.js":88,"./fy":91,"./fy.js":91,"./gd":92,"./gd.js":92,"./gl":93,"./gl.js":93,"./gom-latn":94,"./gom-latn.js":94,"./he":95,"./he.js":95,"./hi":96,"./hi.js":96,"./hr":97,"./hr.js":97,"./hu":98,"./hu.js":98,"./hy-am":99,"./hy-am.js":99,"./id":100,"./id.js":100,"./is":101,"./is.js":101,"./it":102,"./it.js":102,"./ja":103,"./ja.js":103,"./jv":104,"./jv.js":104,"./ka":105,"./ka.js":105,"./kk":106,"./kk.js":106,"./km":107,"./km.js":107,"./kn":108,"./kn.js":108,"./ko":109,"./ko.js":109,"./ky":110,"./ky.js":110,"./lb":111,"./lb.js":111,"./lo":112,"./lo.js":112,"./lt":113,"./lt.js":113,"./lv":114,"./lv.js":114,"./me":115,"./me.js":115,"./mi":116,"./mi.js":116,"./mk":117,"./mk.js":117,"./ml":118,"./ml.js":118,"./mr":119,"./mr.js":119,"./ms":120,"./ms-my":121,"./ms-my.js":121,"./ms.js":120,"./my":122,"./my.js":122,"./nb":123,"./nb.js":123,"./ne":124,"./ne.js":124,"./nl":125,"./nl-be":126,"./nl-be.js":126,"./nl.js":125,"./nn":127,"./nn.js":127,"./pa-in":128,"./pa-in.js":128,"./pl":129,"./pl.js":129,"./pt":130,"./pt-br":131,"./pt-br.js":131,"./pt.js":130,"./ro":132,"./ro.js":132,"./ru":133,"./ru.js":133,"./sd":134,"./sd.js":134,"./se":135,"./se.js":135,"./si":136,"./si.js":136,"./sk":137,"./sk.js":137,"./sl":138,"./sl.js":138,"./sq":139,"./sq.js":139,"./sr":140,"./sr-cyrl":141,"./sr-cyrl.js":141,"./sr.js":140,"./ss":142,"./ss.js":142,"./sv":143,"./sv.js":143,"./sw":144,"./sw.js":144,"./ta":145,"./ta.js":145,"./te":146,"./te.js":146,"./tet":147,"./tet.js":147,"./th":148,"./th.js":148,"./tl-ph":149,"./tl-ph.js":149,"./tlh":150,"./tlh.js":150,"./tr":151,"./tr.js":151,"./tzl":152,"./tzl.js":152,"./tzm":153,"./tzm-latn":154,"./tzm-latn.js":154,"./tzm.js":153,"./uk":155,"./uk.js":155,"./ur":156,"./ur.js":156,"./uz":157,"./uz-latn":158,"./uz-latn.js":158,"./uz.js":157,"./vi":159,"./vi.js":159,"./x-pseudo":160,"./x-pseudo.js":160,"./yo":161,"./yo.js":161,"./zh-cn":162,"./zh-cn.js":162,"./zh-hk":163,"./zh-hk.js":163,"./zh-tw":164,"./zh-tw.js":164};r.keys=function(){return Object.keys(a)},r.resolve=i,t.exports=r,r.id=247},function(t,e,n){var r=n(165).parser,i=n(166);r.yy=i;var a,o=n(10),u=n(2),s=u.Log,c=n(33);a={};var l=0,d={dividerMargin:10,padding:5,textHeight:10},h=function(t){var e,n=Object.keys(a);for(e=0;e<n.length;e++)if(a[n[e]].label===t)return n[e]},f=function(t){t.append("defs").append("marker").attr("id","extensionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id","extensionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),t.append("defs").append("marker").attr("id","compositionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","compositionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","aggregationStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","aggregationEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","dependencyStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},_=0,p=function(t,e,n){var r=function(t){switch(t){case i.relationType.AGGREGATION:return"aggregation";case i.relationType.EXTENSION:return"extension";case i.relationType.COMPOSITION:return"composition";case i.relationType.DEPENDENCY:return"dependency"}},a=e.points,u=o.svg.line().x(function(t){return t.x}).y(function(t){return t.y}).interpolate("basis"),s=t.append("path").attr("d",u(a)).attr("id","edge"+_).attr("class","relation"),c="";d.arrowMarkerAbsolute&&(c=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,c=c.replace(/\(/g,"\\("),c=c.replace(/\)/g,"\\)")),"none"!==n.relation.type1&&s.attr("marker-start","url("+c+"#"+r(n.relation.type1)+"Start)"),"none"!==n.relation.type2&&s.attr("marker-end","url("+c+"#"+r(n.relation.type2)+"End)");var l,h,f=e.points.length;if(f%2!=0){var p=e.points[Math.floor(f/2)],m=e.points[Math.ceil(f/2)];l=(p.x+m.x)/2,h=(p.y+m.y)/2}else{var y=e.points[Math.floor(f/2)];l=y.x,h=y.y}if(void 0!==n.title){var g=t.append("g").attr("class","classLabel"),v=g.append("text").attr("class","label").attr("x",l).attr("y",h).attr("fill","red").attr("text-anchor","middle").text(n.title);window.label=v;var M=v.node().getBBox();g.insert("rect",":first-child").attr("class","box").attr("x",M.x-d.padding/2).attr("y",M.y-d.padding/2).attr("width",M.width+d.padding).attr("height",M.height+d.padding)}_++},m=function(t,e){s.info("Rendering class "+e);var n=function(t,e,n){var r=t.append("tspan").attr("x",d.padding).text(e);n||r.attr("dy",d.textHeight)},r="classId"+l,i={id:r,label:e.id,width:0,height:0},o=t.append("g").attr("id",r).attr("class","classGroup"),u=o.append("text").attr("x",d.padding).attr("y",d.textHeight+d.padding).text(e.id),c=u.node().getBBox().height,h=o.append("line").attr("x1",0).attr("y1",d.padding+c+d.dividerMargin/2).attr("y2",d.padding+c+d.dividerMargin/2),f=o.append("text").attr("x",d.padding).attr("y",c+d.dividerMargin+d.textHeight).attr("fill","white").attr("class","classText"),_=!0;e.members.forEach(function(t){n(f,t,_),_=!1});var p=f.node().getBBox(),m=o.append("line").attr("x1",0).attr("y1",d.padding+c+d.dividerMargin+p.height).attr("y2",d.padding+c+d.dividerMargin+p.height),y=o.append("text").attr("x",d.padding).attr("y",c+2*d.dividerMargin+p.height+d.textHeight).attr("fill","white").attr("class","classText");_=!0,e.methods.forEach(function(t){n(y,t,_),_=!1});var g=o.node().getBBox();return o.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",g.width+2*d.padding).attr("height",g.height+d.padding+.5*d.dividerMargin),h.attr("x2",g.width+2*d.padding),m.attr("x2",g.width+2*d.padding),i.width=g.width+2*d.padding,i.height=g.height+d.padding+.5*d.dividerMargin,a[r]=i,l++,i};t.exports.setConf=function(t){Object.keys(t).forEach(function(e){d[e]=t[e]})},t.exports.draw=function(t,e){r.yy.clear(),r.parse(t),s.info("Rendering diagram "+t);var n=o.select("#"+e);f(n);var a=new c.graphlib.Graph({multigraph:!0});a.setGraph({isMultiGraph:!0}),a.setDefaultEdgeLabel(function(){return{}});var u,l=i.getClasses(),d=Object.keys(l);for(u=0;u<d.length;u++){var _=l[d[u]],y=m(n,_);a.setNode(y.id,y),s.info("Org height: "+y.height)}i.getRelations().forEach(function(t){s.info("tjoho"+h(t.id1)+h(t.id2)+JSON.stringify(t)),a.setEdge(h(t.id1),h(t.id2),{relation:t})}),c.layout(a),a.nodes().forEach(function(t){void 0!==t&&(s.debug("Node "+t+": "+JSON.stringify(a.node(t))),o.select("#"+t).attr("transform","translate("+(a.node(t).x-a.node(t).width/2)+","+(a.node(t).y-a.node(t).height/2)+" )"))}),a.edges().forEach(function(t){s.debug("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(a.edge(t))),p(n,a.edge(t),a.edge(t).relation)}),n.attr("height","100%"),n.attr("width","100%"),n.attr("viewBox","0 0 "+(a.graph().width+20)+" "+(a.graph().height+20))}},function(t,e,n){function r(t){t.append("defs").append("g").attr("id","def-commit").append("circle").attr("r",g.nodeRadius).attr("cx",0).attr("cy",0),t.select("#def-commit").append("foreignObject").attr("width",g.nodeLabel.width).attr("height",g.nodeLabel.height).attr("x",g.nodeLabel.x).attr("y",g.nodeLabel.y).attr("class","node-label").attr("requiredFeatures","http://www.w3.org/TR/SVG11/feature#Extensibility").append("xhtml:p").html("")}function i(t,e,n,r){r=r||"basis";var i=g.branchColors[n%g.branchColors.length],a=_.svg.line().x(function(t){return Math.round(t.x)}).y(function(t){return Math.round(t.y)}).interpolate(r);t.append("svg:path").attr("d",a(e)).style("stroke",i).style("stroke-width",g.lineStrokeWidth).style("fill","none")}function a(t,e){e=e||t.node().getBBox();var n=t.node().getCTM();return{left:n.e+e.x*n.a,top:n.f+e.y*n.d,width:e.width,height:e.height}}function o(t,e,n,r,o){m.debug("svgDrawLineForCommits: ",e,n);var u=a(t.select("#node-"+e+" circle")),s=a(t.select("#node-"+n+" circle"));switch(r){case"LR":if(u.left-s.left>g.nodeSpacing){var c={x:u.left-g.nodeSpacing,y:s.top+s.height/2},l={x:s.left+s.width,y:s.top+s.height/2};i(t,[c,l],o,"linear"),i(t,[{x:u.left,y:u.top+u.height/2},{x:u.left-g.nodeSpacing/2,y:u.top+u.height/2},{x:u.left-g.nodeSpacing/2,y:c.y},c],o)}else i(t,[{x:u.left,y:u.top+u.height/2},{x:u.left-g.nodeSpacing/2,y:u.top+u.height/2},{x:u.left-g.nodeSpacing/2,y:s.top+s.height/2},{x:s.left+s.width,y:s.top+s.height/2}],o);break;case"BT":s.top-u.top>g.nodeSpacing?(c={x:s.left+s.width/2,y:u.top+u.height+g.nodeSpacing},l={x:s.left+s.width/2,y:s.top},i(t,[c,l],o,"linear"),i(t,[{x:u.left+u.width/2,y:u.top+u.height},{x:u.left+u.width/2,y:u.top+u.height+g.nodeSpacing/2},{x:s.left+s.width/2,y:c.y-g.nodeSpacing/2},c],o)):i(t,[{x:u.left+u.width/2,y:u.top+u.height},{x:u.left+u.width/2,y:u.top+g.nodeSpacing/2},{x:s.left+s.width/2,y:s.top-g.nodeSpacing/2},{x:s.left+s.width/2,y:s.top}],o)}}function u(t,e){return t.select(e).node().cloneNode(!0)}function s(t,e,n,r){var i,a=Object.keys(y).length;if(h.isString(e))do{if(i=y[e],m.debug("in renderCommitHistory",i.id,i.seq),t.select("#node-"+e).size()>0)return;t.append(function(){return u(t,"#def-commit")}).attr("class","commit").attr("id",function(){return"node-"+i.id}).attr("transform",function(){switch(r){case"LR":return"translate("+(i.seq*g.nodeSpacing+g.leftMargin)+", "+l*g.branchOffset+")";case"BT":return"translate("+(l*g.branchOffset+g.leftMargin)+", "+(a-i.seq)*g.nodeSpacing+")"}}).attr("fill",g.nodeFillColor).attr("stroke",g.nodeStrokeColor).attr("stroke-width",g.nodeStrokeWidth);var o=h.find(n,["commit",i]);o&&(m.debug("found branch ",o.name),t.select("#node-"+i.id+" p").append("xhtml:span").attr("class","branch-label").text(o.name+", ")),t.select("#node-"+i.id+" p").append("xhtml:span").attr("class","commit-id").text(i.id),""!==i.message&&"BT"===r&&t.select("#node-"+i.id+" p").append("xhtml:span").attr("class","commit-msg").text(", "+i.message),e=i.parent}while(e&&y[e]);h.isArray(e)&&(m.debug("found merge commmit",e),s(t,e[0],n,r),l++,s(t,e[1],n,r),l--)}function c(t,e,n,r){for(r=r||0;e.seq>0&&!e.lineDrawn;)h.isString(e.parent)?(o(t,e.id,e.parent,n,r),e.lineDrawn=!0,e=y[e.parent]):h.isArray(e.parent)&&(o(t,e.id,e.parent[0],n,r),o(t,e.id,e.parent[1],n,r+1),c(t,y[e.parent[1]],n,r+1),e.lineDrawn=!0,e=y[e.parent[0]])}var l,d=n(168),h=n(16),f=n(167),_=n(10),p=n(2),m=p.Log,y={},g={nodeSpacing:150,nodeFillColor:"yellow",nodeStrokeWidth:2,nodeStrokeColor:"grey",lineStrokeWidth:4,branchOffset:50,lineColor:"grey",leftMargin:50,branchColors:["#442f74","#983351","#609732","#AA9A39"],nodeRadius:10,nodeLabel:{width:75,height:100,x:-25,y:0}},v={};e.setConf=function(t){v=t},e.draw=function(t,e,n){try{var i;i=f.parser,i.yy=d,m.debug("in gitgraph renderer",t,e,n),i.parse(t+"\n"),g=h.extend(g,v,d.getOptions()),m.debug("effective options",g);var a=d.getDirection();y=d.getCommits();var o=d.getBranchesAsObjArray();"BT"===a&&(g.nodeLabel.x=o.length*g.branchOffset,g.nodeLabel.width="100%",g.nodeLabel.y=-2*g.nodeRadius);var u=_.select("#"+e);r(u),l=1,h.each(o,function(t){s(u,t.commit.id,o,a),c(u,t.commit,a),l++}),u.attr("height",function(){return"BT"===a?Object.keys(y).length*g.nodeSpacing:(o.length+1)*g.branchOffset})}catch(t){m.error("Error while rendering gitgraph"),m.error(t.message)}}},function(t,e,n){(function(t,r){var i;!function(a){var o="object"==typeof e&&e,u=("object"==typeof t&&t&&t.exports,"object"==typeof r&&r);var s=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,c=/[\x01-\x7F]/g,l=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,d=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"­":"shy","‌":"zwnj","‍":"zwj","‎":"lrm","⁣":"ic","⁢":"it","⁡":"af","‏":"rlm","​":"ZeroWidthSpace","⁠":"NoBreak","̑":"DownBreve","⃛":"tdot","⃜":"DotDot","\t":"Tab","\n":"NewLine"," ":"puncsp"," ":"MediumSpace"," ":"thinsp"," ":"hairsp"," ":"emsp13"," ":"ensp"," ":"emsp14"," ":"emsp"," ":"numsp"," ":"nbsp","  ":"ThickSpace","‾":"oline",_:"lowbar","‐":"dash","–":"ndash","—":"mdash","―":"horbar",",":"comma",";":"semi","⁏":"bsemi",":":"colon","⩴":"Colone","!":"excl","¡":"iexcl","?":"quest","¿":"iquest",".":"period","‥":"nldr","…":"mldr","·":"middot","'":"apos","‘":"lsquo","’":"rsquo","‚":"sbquo","‹":"lsaquo","›":"rsaquo",'"':"quot","“":"ldquo","”":"rdquo","„":"bdquo","«":"laquo","»":"raquo","(":"lpar",")":"rpar","[":"lsqb","]":"rsqb","{":"lcub","}":"rcub","⌈":"lceil","⌉":"rceil","⌊":"lfloor","⌋":"rfloor","⦅":"lopar","⦆":"ropar","⦋":"lbrke","⦌":"rbrke","⦍":"lbrkslu","⦎":"rbrksld","⦏":"lbrksld","⦐":"rbrkslu","⦑":"langd","⦒":"rangd","⦓":"lparlt","⦔":"rpargt","⦕":"gtlPar","⦖":"ltrPar","⟦":"lobrk","⟧":"robrk","⟨":"lang","⟩":"rang","⟪":"Lang","⟫":"Rang","⟬":"loang","⟭":"roang","❲":"lbbrk","❳":"rbbrk","‖":"Vert","§":"sect","¶":"para","@":"commat","*":"ast","/":"sol",undefined:null,"&":"amp","#":"num","%":"percnt","‰":"permil","‱":"pertenk","†":"dagger","‡":"Dagger","•":"bull","⁃":"hybull","′":"prime","″":"Prime","‴":"tprime","⁗":"qprime","‵":"bprime","⁁":"caret","`":"grave","´":"acute","˜":"tilde","^":"Hat","¯":"macr","˘":"breve","˙":"dot","¨":"die","˚":"ring","˝":"dblac","¸":"cedil","˛":"ogon","ˆ":"circ","ˇ":"caron","°":"deg","©":"copy","®":"reg","℗":"copysr","℘":"wp","℞":"rx","℧":"mho","℩":"iiota","←":"larr","↚":"nlarr","→":"rarr","↛":"nrarr","↑":"uarr","↓":"darr","↔":"harr","↮":"nharr","↕":"varr","↖":"nwarr","↗":"nearr","↘":"searr","↙":"swarr","↝":"rarrw","↝̸":"nrarrw","↞":"Larr","↟":"Uarr","↠":"Rarr","↡":"Darr","↢":"larrtl","↣":"rarrtl","↤":"mapstoleft","↥":"mapstoup","↦":"map","↧":"mapstodown","↩":"larrhk","↪":"rarrhk","↫":"larrlp","↬":"rarrlp","↭":"harrw","↰":"lsh","↱":"rsh","↲":"ldsh","↳":"rdsh","↵":"crarr","↶":"cularr","↷":"curarr","↺":"olarr","↻":"orarr","↼":"lharu","↽":"lhard","↾":"uharr","↿":"uharl","⇀":"rharu","⇁":"rhard","⇂":"dharr","⇃":"dharl","⇄":"rlarr","⇅":"udarr","⇆":"lrarr","⇇":"llarr","⇈":"uuarr","⇉":"rrarr","⇊":"ddarr","⇋":"lrhar","⇌":"rlhar","⇐":"lArr","⇍":"nlArr","⇑":"uArr","⇒":"rArr","⇏":"nrArr","⇓":"dArr","⇔":"iff","⇎":"nhArr","⇕":"vArr","⇖":"nwArr","⇗":"neArr","⇘":"seArr","⇙":"swArr","⇚":"lAarr","⇛":"rAarr","⇝":"zigrarr","⇤":"larrb","⇥":"rarrb","⇵":"duarr","⇽":"loarr","⇾":"roarr","⇿":"hoarr","∀":"forall","∁":"comp","∂":"part","∂̸":"npart","∃":"exist","∄":"nexist","∅":"empty","∇":"Del","∈":"in","∉":"notin","∋":"ni","∌":"notni","϶":"bepsi","∏":"prod","∐":"coprod","∑":"sum","+":"plus","±":"pm","÷":"div","×":"times","<":"lt","≮":"nlt","<⃒":"nvlt","=":"equals","≠":"ne","=⃥":"bne","⩵":"Equal",">":"gt","≯":"ngt",">⃒":"nvgt","¬":"not","|":"vert","¦":"brvbar","−":"minus","∓":"mp","∔":"plusdo","⁄":"frasl","∖":"setmn","∗":"lowast","∘":"compfn","√":"Sqrt","∝":"prop","∞":"infin","∟":"angrt","∠":"ang","∠⃒":"nang","∡":"angmsd","∢":"angsph","∣":"mid","∤":"nmid","∥":"par","∦":"npar","∧":"and","∨":"or","∩":"cap","∩︀":"caps","∪":"cup","∪︀":"cups","∫":"int","∬":"Int","∭":"tint","⨌":"qint","∮":"oint","∯":"Conint","∰":"Cconint","∱":"cwint","∲":"cwconint","∳":"awconint","∴":"there4","∵":"becaus","∶":"ratio","∷":"Colon","∸":"minusd","∺":"mDDot","∻":"homtht","∼":"sim","≁":"nsim","∼⃒":"nvsim","∽":"bsim","∽̱":"race","∾":"ac","∾̳":"acE","∿":"acd","≀":"wr","≂":"esim","≂̸":"nesim","≃":"sime","≄":"nsime","≅":"cong","≇":"ncong","≆":"simne","≈":"ap","≉":"nap","≊":"ape","≋":"apid","≋̸":"napid","≌":"bcong","≍":"CupCap","≭":"NotCupCap","≍⃒":"nvap","≎":"bump","≎̸":"nbump","≏":"bumpe","≏̸":"nbumpe","≐":"doteq","≐̸":"nedot","≑":"eDot","≒":"efDot","≓":"erDot","≔":"colone","≕":"ecolon","≖":"ecir","≗":"cire","≙":"wedgeq","≚":"veeeq","≜":"trie","≟":"equest","≡":"equiv","≢":"nequiv","≡⃥":"bnequiv","≤":"le","≰":"nle","≤⃒":"nvle","≥":"ge","≱":"nge","≥⃒":"nvge","≦":"lE","≦̸":"nlE","≧":"gE","≧̸":"ngE","≨︀":"lvnE","≨":"lnE","≩":"gnE","≩︀":"gvnE","≪":"ll","≪̸":"nLtv","≪⃒":"nLt","≫":"gg","≫̸":"nGtv","≫⃒":"nGt","≬":"twixt","≲":"lsim","≴":"nlsim","≳":"gsim","≵":"ngsim","≶":"lg","≸":"ntlg","≷":"gl","≹":"ntgl","≺":"pr","⊀":"npr","≻":"sc","⊁":"nsc","≼":"prcue","⋠":"nprcue","≽":"sccue","⋡":"nsccue","≾":"prsim","≿":"scsim","≿̸":"NotSucceedsTilde","⊂":"sub","⊄":"nsub","⊂⃒":"vnsub","⊃":"sup","⊅":"nsup","⊃⃒":"vnsup","⊆":"sube","⊈":"nsube","⊇":"supe","⊉":"nsupe","⊊︀":"vsubne","⊊":"subne","⊋︀":"vsupne","⊋":"supne","⊍":"cupdot","⊎":"uplus","⊏":"sqsub","⊏̸":"NotSquareSubset","⊐":"sqsup","⊐̸":"NotSquareSuperset","⊑":"sqsube","⋢":"nsqsube","⊒":"sqsupe","⋣":"nsqsupe","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊕":"oplus","⊖":"ominus","⊗":"otimes","⊘":"osol","⊙":"odot","⊚":"ocir","⊛":"oast","⊝":"odash","⊞":"plusb","⊟":"minusb","⊠":"timesb","⊡":"sdotb","⊢":"vdash","⊬":"nvdash","⊣":"dashv","⊤":"top","⊥":"bot","⊧":"models","⊨":"vDash","⊭":"nvDash","⊩":"Vdash","⊮":"nVdash","⊪":"Vvdash","⊫":"VDash","⊯":"nVDash","⊰":"prurel","⊲":"vltri","⋪":"nltri","⊳":"vrtri","⋫":"nrtri","⊴":"ltrie","⋬":"nltrie","⊴⃒":"nvltrie","⊵":"rtrie","⋭":"nrtrie","⊵⃒":"nvrtrie","⊶":"origof","⊷":"imof","⊸":"mumap","⊹":"hercon","⊺":"intcal","⊻":"veebar","⊽":"barvee","⊾":"angrtvb","⊿":"lrtri","⋀":"Wedge","⋁":"Vee","⋂":"xcap","⋃":"xcup","⋄":"diam","⋅":"sdot","⋆":"Star","⋇":"divonx","⋈":"bowtie","⋉":"ltimes","⋊":"rtimes","⋋":"lthree","⋌":"rthree","⋍":"bsime","⋎":"cuvee","⋏":"cuwed","⋐":"Sub","⋑":"Sup","⋒":"Cap","⋓":"Cup","⋔":"fork","⋕":"epar","⋖":"ltdot","⋗":"gtdot","⋘":"Ll","⋘̸":"nLl","⋙":"Gg","⋙̸":"nGg","⋚︀":"lesg","⋚":"leg","⋛":"gel","⋛︀":"gesl","⋞":"cuepr","⋟":"cuesc","⋦":"lnsim","⋧":"gnsim","⋨":"prnsim","⋩":"scnsim","⋮":"vellip","⋯":"ctdot","⋰":"utdot","⋱":"dtdot","⋲":"disin","⋳":"isinsv","⋴":"isins","⋵":"isindot","⋵̸":"notindot","⋶":"notinvc","⋷":"notinvb","⋹":"isinE","⋹̸":"notinE","⋺":"nisd","⋻":"xnis","⋼":"nis","⋽":"notnivc","⋾":"notnivb","⌅":"barwed","⌆":"Barwed","⌌":"drcrop","⌍":"dlcrop","⌎":"urcrop","⌏":"ulcrop","⌐":"bnot","⌒":"profline","⌓":"profsurf","⌕":"telrec","⌖":"target","⌜":"ulcorn","⌝":"urcorn","⌞":"dlcorn","⌟":"drcorn","⌢":"frown","⌣":"smile","⌭":"cylcty","⌮":"profalar","⌶":"topbot","⌽":"ovbar","⌿":"solbar","⍼":"angzarr","⎰":"lmoust","⎱":"rmoust","⎴":"tbrk","⎵":"bbrk","⎶":"bbrktbrk","⏜":"OverParenthesis","⏝":"UnderParenthesis","⏞":"OverBrace","⏟":"UnderBrace","⏢":"trpezium","⏧":"elinters","␣":"blank","─":"boxh","│":"boxv","┌":"boxdr","┐":"boxdl","└":"boxur","┘":"boxul","├":"boxvr","┤":"boxvl","┬":"boxhd","┴":"boxhu","┼":"boxvh","═":"boxH","║":"boxV","╒":"boxdR","╓":"boxDr","╔":"boxDR","╕":"boxdL","╖":"boxDl","╗":"boxDL","╘":"boxuR","╙":"boxUr","╚":"boxUR","╛":"boxuL","╜":"boxUl","╝":"boxUL","╞":"boxvR","╟":"boxVr","╠":"boxVR","╡":"boxvL","╢":"boxVl","╣":"boxVL","╤":"boxHd","╥":"boxhD","╦":"boxHD","╧":"boxHu","╨":"boxhU","╩":"boxHU","╪":"boxvH","╫":"boxVh","╬":"boxVH","▀":"uhblk","▄":"lhblk","█":"block","░":"blk14","▒":"blk12","▓":"blk34","□":"squ","▪":"squf","▫":"EmptyVerySmallSquare","▭":"rect","▮":"marker","▱":"fltns","△":"xutri","▴":"utrif","▵":"utri","▸":"rtrif","▹":"rtri","▽":"xdtri","▾":"dtrif","▿":"dtri","◂":"ltrif","◃":"ltri","◊":"loz","○":"cir","◬":"tridot","◯":"xcirc","◸":"ultri","◹":"urtri","◺":"lltri","◻":"EmptySmallSquare","◼":"FilledSmallSquare","★":"starf","☆":"star","☎":"phone","♀":"female","♂":"male","♠":"spades","♣":"clubs","♥":"hearts","♦":"diams","♪":"sung","✓":"check","✗":"cross","✠":"malt","✶":"sext","❘":"VerticalSeparator","⟈":"bsolhsub","⟉":"suphsol","⟵":"xlarr","⟶":"xrarr","⟷":"xharr","⟸":"xlArr","⟹":"xrArr","⟺":"xhArr","⟼":"xmap","⟿":"dzigrarr","⤂":"nvlArr","⤃":"nvrArr","⤄":"nvHarr","⤅":"Map","⤌":"lbarr","⤍":"rbarr","⤎":"lBarr","⤏":"rBarr","⤐":"RBarr","⤑":"DDotrahd","⤒":"UpArrowBar","⤓":"DownArrowBar","⤖":"Rarrtl","⤙":"latail","⤚":"ratail","⤛":"lAtail","⤜":"rAtail","⤝":"larrfs","⤞":"rarrfs","⤟":"larrbfs","⤠":"rarrbfs","⤣":"nwarhk","⤤":"nearhk","⤥":"searhk","⤦":"swarhk","⤧":"nwnear","⤨":"toea","⤩":"tosa","⤪":"swnwar","⤳":"rarrc","⤳̸":"nrarrc","⤵":"cudarrr","⤶":"ldca","⤷":"rdca","⤸":"cudarrl","⤹":"larrpl","⤼":"curarrm","⤽":"cularrp","⥅":"rarrpl","⥈":"harrcir","⥉":"Uarrocir","⥊":"lurdshar","⥋":"ldrushar","⥎":"LeftRightVector","⥏":"RightUpDownVector","⥐":"DownLeftRightVector","⥑":"LeftUpDownVector","⥒":"LeftVectorBar","⥓":"RightVectorBar","⥔":"RightUpVectorBar","⥕":"RightDownVectorBar","⥖":"DownLeftVectorBar","⥗":"DownRightVectorBar","⥘":"LeftUpVectorBar","⥙":"LeftDownVectorBar","⥚":"LeftTeeVector","⥛":"RightTeeVector","⥜":"RightUpTeeVector","⥝":"RightDownTeeVector","⥞":"DownLeftTeeVector","⥟":"DownRightTeeVector","⥠":"LeftUpTeeVector","⥡":"LeftDownTeeVector","⥢":"lHar","⥣":"uHar","⥤":"rHar","⥥":"dHar","⥦":"luruhar","⥧":"ldrdhar","⥨":"ruluhar","⥩":"rdldhar","⥪":"lharul","⥫":"llhard","⥬":"rharul","⥭":"lrhard","⥮":"udhar","⥯":"duhar","⥰":"RoundImplies","⥱":"erarr","⥲":"simrarr","⥳":"larrsim","⥴":"rarrsim","⥵":"rarrap","⥶":"ltlarr","⥸":"gtrarr","⥹":"subrarr","⥻":"suplarr","⥼":"lfisht","⥽":"rfisht","⥾":"ufisht","⥿":"dfisht","⦚":"vzigzag","⦜":"vangrt","⦝":"angrtvbd","⦤":"ange","⦥":"range","⦦":"dwangle","⦧":"uwangle","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","⦰":"bemptyv","⦱":"demptyv","⦲":"cemptyv","⦳":"raemptyv","⦴":"laemptyv","⦵":"ohbar","⦶":"omid","⦷":"opar","⦹":"operp","⦻":"olcross","⦼":"odsold","⦾":"olcir","⦿":"ofcir","⧀":"olt","⧁":"ogt","⧂":"cirscir","⧃":"cirE","⧄":"solb","⧅":"bsolb","⧉":"boxbox","⧍":"trisb","⧎":"rtriltri","⧏":"LeftTriangleBar","⧏̸":"NotLeftTriangleBar","⧐":"RightTriangleBar","⧐̸":"NotRightTriangleBar","⧜":"iinfin","⧝":"infintie","⧞":"nvinfin","⧣":"eparsl","⧤":"smeparsl","⧥":"eqvparsl","⧫":"lozf","⧴":"RuleDelayed","⧶":"dsol","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨄":"xuplus","⨆":"xsqcup","⨍":"fpartint","⨐":"cirfnint","⨑":"awint","⨒":"rppolint","⨓":"scpolint","⨔":"npolint","⨕":"pointint","⨖":"quatint","⨗":"intlarhk","⨢":"pluscir","⨣":"plusacir","⨤":"simplus","⨥":"plusdu","⨦":"plussim","⨧":"plustwo","⨩":"mcomma","⨪":"minusdu","⨭":"loplus","⨮":"roplus","⨯":"Cross","⨰":"timesd","⨱":"timesbar","⨳":"smashp","⨴":"lotimes","⨵":"rotimes","⨶":"otimesas","⨷":"Otimes","⨸":"odiv","⨹":"triplus","⨺":"triminus","⨻":"tritime","⨼":"iprod","⨿":"amalg","⩀":"capdot","⩂":"ncup","⩃":"ncap","⩄":"capand","⩅":"cupor","⩆":"cupcap","⩇":"capcup","⩈":"cupbrcap","⩉":"capbrcup","⩊":"cupcup","⩋":"capcap","⩌":"ccups","⩍":"ccaps","⩐":"ccupssm","⩓":"And","⩔":"Or","⩕":"andand","⩖":"oror","⩗":"orslope","⩘":"andslope","⩚":"andv","⩛":"orv","⩜":"andd","⩝":"ord","⩟":"wedbar","⩦":"sdote","⩪":"simdot","⩭":"congdot","⩭̸":"ncongdot","⩮":"easter","⩯":"apacir","⩰":"apE","⩰̸":"napE","⩱":"eplus","⩲":"pluse","⩳":"Esim","⩷":"eDDot","⩸":"equivDD","⩹":"ltcir","⩺":"gtcir","⩻":"ltquest","⩼":"gtquest","⩽":"les","⩽̸":"nles","⩾":"ges","⩾̸":"nges","⩿":"lesdot","⪀":"gesdot","⪁":"lesdoto","⪂":"gesdoto","⪃":"lesdotor","⪄":"gesdotol","⪅":"lap","⪆":"gap","⪇":"lne","⪈":"gne","⪉":"lnap","⪊":"gnap","⪋":"lEg","⪌":"gEl","⪍":"lsime","⪎":"gsime","⪏":"lsimg","⪐":"gsiml","⪑":"lgE","⪒":"glE","⪓":"lesges","⪔":"gesles","⪕":"els","⪖":"egs","⪗":"elsdot","⪘":"egsdot","⪙":"el","⪚":"eg","⪝":"siml","⪞":"simg","⪟":"simlE","⪠":"simgE","⪡":"LessLess","⪡̸":"NotNestedLessLess","⪢":"GreaterGreater","⪢̸":"NotNestedGreaterGreater","⪤":"glj","⪥":"gla","⪦":"ltcc","⪧":"gtcc","⪨":"lescc","⪩":"gescc","⪪":"smt","⪫":"lat","⪬":"smte","⪬︀":"smtes","⪭":"late","⪭︀":"lates","⪮":"bumpE","⪯":"pre","⪯̸":"npre","⪰":"sce","⪰̸":"nsce","⪳":"prE","⪴":"scE","⪵":"prnE","⪶":"scnE","⪷":"prap","⪸":"scap","⪹":"prnap","⪺":"scnap","⪻":"Pr","⪼":"Sc","⪽":"subdot","⪾":"supdot","⪿":"subplus","⫀":"supplus","⫁":"submult","⫂":"supmult","⫃":"subedot","⫄":"supedot","⫅":"subE","⫅̸":"nsubE","⫆":"supE","⫆̸":"nsupE","⫇":"subsim","⫈":"supsim","⫋︀":"vsubnE","⫋":"subnE","⫌︀":"vsupnE","⫌":"supnE","⫏":"csub","⫐":"csup","⫑":"csube","⫒":"csupe","⫓":"subsup","⫔":"supsub","⫕":"subsub","⫖":"supsup","⫗":"suphsub","⫘":"supdsub","⫙":"forkv","⫚":"topfork","⫛":"mlcp","⫤":"Dashv","⫦":"Vdashl","⫧":"Barv","⫨":"vBar","⫩":"vBarv","⫫":"Vbar","⫬":"Not","⫭":"bNot","⫮":"rnmid","⫯":"cirmid","⫰":"midcir","⫱":"topcir","⫲":"nhpar","⫳":"parsim","⫽":"parsl","⫽⃥":"nparsl","♭":"flat","♮":"natur","♯":"sharp","¤":"curren","¢":"cent",$:"dollar","£":"pound","¥":"yen","€":"euro","¹":"sup1","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","²":"sup2","⅔":"frac23","⅖":"frac25","³":"sup3","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","𝒶":"ascr","𝕒":"aopf","𝔞":"afr","𝔸":"Aopf","𝔄":"Afr","𝒜":"Ascr","ª":"ordf","á":"aacute","Á":"Aacute","à":"agrave","À":"Agrave","ă":"abreve","Ă":"Abreve","â":"acirc","Â":"Acirc","å":"aring","Å":"angst","ä":"auml","Ä":"Auml","ã":"atilde","Ã":"Atilde","ą":"aogon","Ą":"Aogon","ā":"amacr","Ā":"Amacr","æ":"aelig","Æ":"AElig","𝒷":"bscr","𝕓":"bopf","𝔟":"bfr","𝔹":"Bopf","ℬ":"Bscr","𝔅":"Bfr","𝔠":"cfr","𝒸":"cscr","𝕔":"copf","ℭ":"Cfr","𝒞":"Cscr","ℂ":"Copf","ć":"cacute","Ć":"Cacute","ĉ":"ccirc","Ĉ":"Ccirc","č":"ccaron","Č":"Ccaron","ċ":"cdot","Ċ":"Cdot","ç":"ccedil","Ç":"Ccedil","℅":"incare","𝔡":"dfr","ⅆ":"dd","𝕕":"dopf","𝒹":"dscr","𝒟":"Dscr","𝔇":"Dfr","ⅅ":"DD","𝔻":"Dopf","ď":"dcaron","Ď":"Dcaron","đ":"dstrok","Đ":"Dstrok","ð":"eth","Ð":"ETH","ⅇ":"ee","ℯ":"escr","𝔢":"efr","𝕖":"eopf","ℰ":"Escr","𝔈":"Efr","𝔼":"Eopf","é":"eacute","É":"Eacute","è":"egrave","È":"Egrave","ê":"ecirc","Ê":"Ecirc","ě":"ecaron","Ě":"Ecaron","ë":"euml","Ë":"Euml","ė":"edot","Ė":"Edot","ę":"eogon","Ę":"Eogon","ē":"emacr","Ē":"Emacr","𝔣":"ffr","𝕗":"fopf","𝒻":"fscr","𝔉":"Ffr","𝔽":"Fopf","ℱ":"Fscr","ff":"fflig","ffi":"ffilig","ffl":"ffllig","fi":"filig",fj:"fjlig","fl":"fllig","ƒ":"fnof","ℊ":"gscr","𝕘":"gopf","𝔤":"gfr","𝒢":"Gscr","𝔾":"Gopf","𝔊":"Gfr","ǵ":"gacute","ğ":"gbreve","Ğ":"Gbreve","ĝ":"gcirc","Ĝ":"Gcirc","ġ":"gdot","Ġ":"Gdot","Ģ":"Gcedil","𝔥":"hfr","ℎ":"planckh","𝒽":"hscr","𝕙":"hopf","ℋ":"Hscr","ℌ":"Hfr","ℍ":"Hopf","ĥ":"hcirc","Ĥ":"Hcirc","ℏ":"hbar","ħ":"hstrok","Ħ":"Hstrok","𝕚":"iopf","𝔦":"ifr","𝒾":"iscr","ⅈ":"ii","𝕀":"Iopf","ℐ":"Iscr","ℑ":"Im","í":"iacute","Í":"Iacute","ì":"igrave","Ì":"Igrave","î":"icirc","Î":"Icirc","ï":"iuml","Ï":"Iuml","ĩ":"itilde","Ĩ":"Itilde","İ":"Idot","į":"iogon","Į":"Iogon","ī":"imacr","Ī":"Imacr","ij":"ijlig","IJ":"IJlig","ı":"imath","𝒿":"jscr","𝕛":"jopf","𝔧":"jfr","𝒥":"Jscr","𝔍":"Jfr","𝕁":"Jopf","ĵ":"jcirc","Ĵ":"Jcirc","ȷ":"jmath","𝕜":"kopf","𝓀":"kscr","𝔨":"kfr","𝒦":"Kscr","𝕂":"Kopf","𝔎":"Kfr","ķ":"kcedil","Ķ":"Kcedil","𝔩":"lfr","𝓁":"lscr","ℓ":"ell","𝕝":"lopf","ℒ":"Lscr","𝔏":"Lfr","𝕃":"Lopf","ĺ":"lacute","Ĺ":"Lacute","ľ":"lcaron","Ľ":"Lcaron","ļ":"lcedil","Ļ":"Lcedil","ł":"lstrok","Ł":"Lstrok","ŀ":"lmidot","Ŀ":"Lmidot","𝔪":"mfr","𝕞":"mopf","𝓂":"mscr","𝔐":"Mfr","𝕄":"Mopf","ℳ":"Mscr","𝔫":"nfr","𝕟":"nopf","𝓃":"nscr","ℕ":"Nopf","𝒩":"Nscr","𝔑":"Nfr","ń":"nacute","Ń":"Nacute","ň":"ncaron","Ň":"Ncaron","ñ":"ntilde","Ñ":"Ntilde","ņ":"ncedil","Ņ":"Ncedil","№":"numero","ŋ":"eng","Ŋ":"ENG","𝕠":"oopf","𝔬":"ofr","ℴ":"oscr","𝒪":"Oscr","𝔒":"Ofr","𝕆":"Oopf","º":"ordm","ó":"oacute","Ó":"Oacute","ò":"ograve","Ò":"Ograve","ô":"ocirc","Ô":"Ocirc","ö":"ouml","Ö":"Ouml","ő":"odblac","Ő":"Odblac","õ":"otilde","Õ":"Otilde","ø":"oslash","Ø":"Oslash","ō":"omacr","Ō":"Omacr","œ":"oelig","Œ":"OElig","𝔭":"pfr","𝓅":"pscr","𝕡":"popf","ℙ":"Popf","𝔓":"Pfr","𝒫":"Pscr","𝕢":"qopf","𝔮":"qfr","𝓆":"qscr","𝒬":"Qscr","𝔔":"Qfr","ℚ":"Qopf","ĸ":"kgreen","𝔯":"rfr","𝕣":"ropf","𝓇":"rscr","ℛ":"Rscr","ℜ":"Re","ℝ":"Ropf","ŕ":"racute","Ŕ":"Racute","ř":"rcaron","Ř":"Rcaron","ŗ":"rcedil","Ŗ":"Rcedil","𝕤":"sopf","𝓈":"sscr","𝔰":"sfr","𝕊":"Sopf","𝔖":"Sfr","𝒮":"Sscr","Ⓢ":"oS","ś":"sacute","Ś":"Sacute","ŝ":"scirc","Ŝ":"Scirc","š":"scaron","Š":"Scaron","ş":"scedil","Ş":"Scedil","ß":"szlig","𝔱":"tfr","𝓉":"tscr","𝕥":"topf","𝒯":"Tscr","𝔗":"Tfr","𝕋":"Topf","ť":"tcaron","Ť":"Tcaron","ţ":"tcedil","Ţ":"Tcedil","™":"trade","ŧ":"tstrok","Ŧ":"Tstrok","𝓊":"uscr","𝕦":"uopf","𝔲":"ufr","𝕌":"Uopf","𝔘":"Ufr","𝒰":"Uscr","ú":"uacute","Ú":"Uacute","ù":"ugrave","Ù":"Ugrave","ŭ":"ubreve","Ŭ":"Ubreve","û":"ucirc","Û":"Ucirc","ů":"uring","Ů":"Uring","ü":"uuml","Ü":"Uuml","ű":"udblac","Ű":"Udblac","ũ":"utilde","Ũ":"Utilde","ų":"uogon","Ų":"Uogon","ū":"umacr","Ū":"Umacr","𝔳":"vfr","𝕧":"vopf","𝓋":"vscr","𝔙":"Vfr","𝕍":"Vopf","𝒱":"Vscr","𝕨":"wopf","𝓌":"wscr","𝔴":"wfr","𝒲":"Wscr","𝕎":"Wopf","𝔚":"Wfr","ŵ":"wcirc","Ŵ":"Wcirc","𝔵":"xfr","𝓍":"xscr","𝕩":"xopf","𝕏":"Xopf","𝔛":"Xfr","𝒳":"Xscr","𝔶":"yfr","𝓎":"yscr","𝕪":"yopf","𝒴":"Yscr","𝔜":"Yfr","𝕐":"Yopf","ý":"yacute","Ý":"Yacute","ŷ":"ycirc","Ŷ":"Ycirc","ÿ":"yuml","Ÿ":"Yuml","𝓏":"zscr","𝔷":"zfr","𝕫":"zopf","ℨ":"Zfr","ℤ":"Zopf","𝒵":"Zscr","ź":"zacute","Ź":"Zacute","ž":"zcaron","Ž":"Zcaron","ż":"zdot","Ż":"Zdot","Ƶ":"imped","þ":"thorn","Þ":"THORN","ʼn":"napos","α":"alpha","Α":"Alpha","β":"beta","Β":"Beta","γ":"gamma","Γ":"Gamma","δ":"delta","Δ":"Delta","ε":"epsi","ϵ":"epsiv","Ε":"Epsilon","ϝ":"gammad","Ϝ":"Gammad","ζ":"zeta","Ζ":"Zeta","η":"eta","Η":"Eta","θ":"theta","ϑ":"thetav","Θ":"Theta","ι":"iota","Ι":"Iota","κ":"kappa","ϰ":"kappav","Κ":"Kappa","λ":"lambda","Λ":"Lambda","μ":"mu","µ":"micro","Μ":"Mu","ν":"nu","Ν":"Nu","ξ":"xi","Ξ":"Xi","ο":"omicron","Ο":"Omicron","π":"pi","ϖ":"piv","Π":"Pi","ρ":"rho","ϱ":"rhov","Ρ":"Rho","σ":"sigma","Σ":"Sigma","ς":"sigmaf","τ":"tau","Τ":"Tau","υ":"upsi","Υ":"Upsilon","ϒ":"Upsi","φ":"phi","ϕ":"phiv","Φ":"Phi","χ":"chi","Χ":"Chi","ψ":"psi","Ψ":"Psi","ω":"omega","Ω":"ohm","а":"acy","А":"Acy","б":"bcy","Б":"Bcy","в":"vcy","В":"Vcy","г":"gcy","Г":"Gcy","ѓ":"gjcy","Ѓ":"GJcy","д":"dcy","Д":"Dcy","ђ":"djcy","Ђ":"DJcy","е":"iecy","Е":"IEcy","ё":"iocy","Ё":"IOcy","є":"jukcy","Є":"Jukcy","ж":"zhcy","Ж":"ZHcy","з":"zcy","З":"Zcy","ѕ":"dscy","Ѕ":"DScy","и":"icy","И":"Icy","і":"iukcy","І":"Iukcy","ї":"yicy","Ї":"YIcy","й":"jcy","Й":"Jcy","ј":"jsercy","Ј":"Jsercy","к":"kcy","К":"Kcy","ќ":"kjcy","Ќ":"KJcy","л":"lcy","Л":"Lcy","љ":"ljcy","Љ":"LJcy","м":"mcy","М":"Mcy","н":"ncy","Н":"Ncy","њ":"njcy","Њ":"NJcy","о":"ocy","О":"Ocy","п":"pcy","П":"Pcy","р":"rcy","Р":"Rcy","с":"scy","С":"Scy","т":"tcy","Т":"Tcy","ћ":"tshcy","Ћ":"TSHcy","у":"ucy","У":"Ucy","ў":"ubrcy","Ў":"Ubrcy","ф":"fcy","Ф":"Fcy","х":"khcy","Х":"KHcy","ц":"tscy","Ц":"TScy","ч":"chcy","Ч":"CHcy","џ":"dzcy","Џ":"DZcy","ш":"shcy","Ш":"SHcy","щ":"shchcy","Щ":"SHCHcy","ъ":"hardcy","Ъ":"HARDcy","ы":"ycy","Ы":"Ycy","ь":"softcy","Ь":"SOFTcy","э":"ecy","Э":"Ecy","ю":"yucy","Ю":"YUcy","я":"yacy","Я":"YAcy","ℵ":"aleph","ℶ":"beth","ℷ":"gimel","ℸ":"daleth"},f=/["&'<>`]/g,_={'"':"&quot;","&":"&amp;","'":"&#x27;","<":"&lt;",">":"&gt;","`":"&#x60;"},p=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,m=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|Agrave|Atilde|Ccedil|Eacute|Egrave|Iacute|Igrave|Ntilde|Oacute|Ograve|Oslash|Otilde|Uacute|Ugrave|Yacute|aacute|agrave|atilde|brvbar|ccedil|curren|divide|eacute|egrave|frac12|frac14|frac34|iacute|igrave|iquest|middot|ntilde|oacute|ograve|oslash|otilde|plusmn|uacute|ugrave|yacute|AElig|Acirc|Aring|Ecirc|Icirc|Ocirc|THORN|Ucirc|acirc|acute|aelig|aring|cedil|ecirc|icirc|iexcl|laquo|micro|ocirc|pound|raquo|szlig|thorn|times|ucirc|Auml|COPY|Euml|Iuml|Ouml|QUOT|Uuml|auml|cent|copy|euml|iuml|macr|nbsp|ordf|ordm|ouml|para|quot|sect|sup1|sup2|sup3|uuml|yuml|AMP|ETH|REG|amp|deg|eth|not|reg|shy|uml|yen|GT|LT|gt|lt)([=a-zA-Z0-9])?/g,g={aacute:"á",Aacute:"Á",abreve:"ă",Abreve:"Ă",ac:"∾",acd:"∿",acE:"∾̳",acirc:"â",Acirc:"Â",acute:"´",acy:"а",Acy:"А",aelig:"æ",AElig:"Æ",af:"⁡",afr:"𝔞",Afr:"𝔄",agrave:"à",Agrave:"À",alefsym:"ℵ",aleph:"ℵ",alpha:"α",Alpha:"Α",amacr:"ā",Amacr:"Ā",amalg:"⨿",amp:"&",AMP:"&",and:"∧",And:"⩓",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",aogon:"ą",Aogon:"Ą",aopf:"𝕒",Aopf:"𝔸",ap:"≈",apacir:"⩯",ape:"≊",apE:"⩰",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",aring:"å",Aring:"Å",ascr:"𝒶",Ascr:"𝒜",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",atilde:"ã",Atilde:"Ã",auml:"ä",Auml:"Ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",Bcy:"Б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",beta:"β",Beta:"Β",beth:"ℶ",between:"≬",bfr:"𝔟",Bfr:"𝔅",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bNot:"⫭",bopf:"𝕓",Bopf:"𝔹",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxhD:"╥",boxHd:"╤",boxHD:"╦",boxhu:"┴",boxhU:"╨",boxHu:"╧",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpe:"≏",bumpE:"⪮",bumpeq:"≏",Bumpeq:"≎",cacute:"ć",Cacute:"Ć",cap:"∩",Cap:"⋒",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",ccaron:"č",Ccaron:"Č",ccedil:"ç",Ccedil:"Ç",ccirc:"ĉ",Ccirc:"Ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",Cdot:"Ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",chcy:"ч",CHcy:"Ч",check:"✓",checkmark:"✓",chi:"χ",Chi:"Χ",cir:"○",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cire:"≗",cirE:"⧃",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",colone:"≔",Colone:"⩴",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",cscr:"𝒸",Cscr:"𝒞",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",Cup:"⋓",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",dArr:"⇓",Darr:"↡",dash:"‐",dashv:"⊣",Dashv:"⫤",dbkarow:"⤏",dblac:"˝",dcaron:"ď",Dcaron:"Ď",dcy:"д",Dcy:"Д",dd:"ⅆ",DD:"ⅅ",ddagger:"‡",ddarr:"⇊",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",delta:"δ",Delta:"Δ",demptyv:"⦱",dfisht:"⥿",dfr:"𝔡",Dfr:"𝔇",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",DJcy:"Ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"𝕕",Dopf:"𝔻",dot:"˙",Dot:"¨",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",downarrow:"↓",Downarrow:"⇓",DownArrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"𝒹",Dscr:"𝒟",dscy:"ѕ",DScy:"Ѕ",dsol:"⧶",dstrok:"đ",Dstrok:"Đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",DZcy:"Џ",dzigrarr:"⟿",eacute:"é",Eacute:"É",easter:"⩮",ecaron:"ě",Ecaron:"Ě",ecir:"≖",ecirc:"ê",Ecirc:"Ê",ecolon:"≕",ecy:"э",Ecy:"Э",eDDot:"⩷",edot:"ė",eDot:"≑",Edot:"Ė",ee:"ⅇ",efDot:"≒",efr:"𝔢",Efr:"𝔈",eg:"⪚",egrave:"è",Egrave:"È",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",Emacr:"Ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp:" ",emsp13:" ",emsp14:" ",eng:"ŋ",ENG:"Ŋ",ensp:" ",eogon:"ę",Eogon:"Ę",eopf:"𝕖",Eopf:"𝔼",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",Epsilon:"Ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",esim:"≂",Esim:"⩳",eta:"η",Eta:"Η",eth:"ð",ETH:"Ð",euml:"ë",Euml:"Ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",fcy:"ф",Fcy:"Ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"𝔣",Ffr:"𝔉",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"𝕗",Fopf:"𝔽",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",gamma:"γ",Gamma:"Γ",gammad:"ϝ",Gammad:"Ϝ",gap:"⪆",gbreve:"ğ",Gbreve:"Ğ",Gcedil:"Ģ",gcirc:"ĝ",Gcirc:"Ĝ",gcy:"г",Gcy:"Г",gdot:"ġ",Gdot:"Ġ",ge:"≥",gE:"≧",gel:"⋛",gEl:"⪌",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"𝔤",Gfr:"𝔊",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",GJcy:"Ѓ",gl:"≷",gla:"⪥",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"𝕘",Gopf:"𝔾",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",gscr:"ℊ",Gscr:"𝒢",gsim:"≳",gsime:"⪎",gsiml:"⪐",gt:">",Gt:"≫",GT:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",hardcy:"ъ",HARDcy:"Ъ",harr:"↔",hArr:"⇔",harrcir:"⥈",harrw:"↭",Hat:"^",hbar:"ℏ",hcirc:"ĥ",Hcirc:"Ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",hstrok:"ħ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",iacute:"í",Iacute:"Í",ic:"⁣",icirc:"î",Icirc:"Î",icy:"и",Icy:"И",Idot:"İ",iecy:"е",IEcy:"Е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",igrave:"ì",Igrave:"Ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",IJlig:"IJ",Im:"ℑ",imacr:"ī",Imacr:"Ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",Implies:"⇒",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",Int:"∬",intcal:"⊺",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",iocy:"ё",IOcy:"Ё",iogon:"į",Iogon:"Į",iopf:"𝕚",Iopf:"𝕀",iota:"ι",Iota:"Ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",Itilde:"Ĩ",iukcy:"і",Iukcy:"І",iuml:"ï",Iuml:"Ï",jcirc:"ĵ",Jcirc:"Ĵ",jcy:"й",Jcy:"Й",jfr:"𝔧",Jfr:"𝔍",jmath:"ȷ",jopf:"𝕛",Jopf:"𝕁",jscr:"𝒿",Jscr:"𝒥",jsercy:"ј",Jsercy:"Ј",jukcy:"є",Jukcy:"Є",kappa:"κ",Kappa:"Κ",kappav:"ϰ",kcedil:"ķ",Kcedil:"Ķ",kcy:"к",Kcy:"К",kfr:"𝔨",Kfr:"𝔎",kgreen:"ĸ",khcy:"х",KHcy:"Х",kjcy:"ќ",KJcy:"Ќ",kopf:"𝕜",Kopf:"𝕂",kscr:"𝓀",Kscr:"𝒦",lAarr:"⇚",lacute:"ĺ",Lacute:"Ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",Lambda:"Λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larr:"←",lArr:"⇐",Larr:"↞",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",lAtail:"⤛",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",Lcaron:"Ľ",lcedil:"ļ",Lcedil:"Ļ",lceil:"⌈",lcub:"{",lcy:"л",Lcy:"Л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",leftarrow:"←",Leftarrow:"⇐",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",Leftrightarrow:"⇔",LeftRightArrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",leg:"⋚",lEg:"⪋",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"𝔩",Lfr:"𝔏",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",LJcy:"Љ",ll:"≪",Ll:"⋘",llarr:"⇇",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",lmidot:"ŀ",Lmidot:"Ŀ",lmoust:"⎰",lmoustache:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",Longleftarrow:"⟸",LongLeftArrow:"⟵",longleftrightarrow:"⟷",Longleftrightarrow:"⟺",LongLeftRightArrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",Longrightarrow:"⟹",LongRightArrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"𝕝",Lopf:"𝕃",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",Lstrok:"Ł",lt:"<",Lt:"≪",LT:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",map:"↦",Map:"⤅",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",Mcy:"М",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",mfr:"𝔪",Mfr:"𝔐",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"𝕞",Mopf:"𝕄",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",mu:"μ",Mu:"Μ",multimap:"⊸",mumap:"⊸",nabla:"∇",nacute:"ń",Nacute:"Ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",Ncaron:"Ň",ncedil:"ņ",Ncedil:"Ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",Ncy:"Н",ndash:"–",ne:"≠",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",nfr:"𝔫",Nfr:"𝔑",nge:"≱",ngE:"≧̸",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",ngt:"≯",nGt:"≫⃒",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",NJcy:"Њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nle:"≰",nlE:"≦̸",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nlt:"≮",nLt:"≪⃒",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",not:"¬",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrarr:"↛",nrArr:"⇏",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"𝓃",Nscr:"𝒩",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsube:"⊈",nsubE:"⫅̸",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupe:"⊉",nsupE:"⫆̸",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntilde:"ñ",Ntilde:"Ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",Nu:"Ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",oacute:"ó",Oacute:"Ó",oast:"⊛",ocir:"⊚",ocirc:"ô",Ocirc:"Ô",ocy:"о",Ocy:"О",odash:"⊝",odblac:"ő",Odblac:"Ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",OElig:"Œ",ofcir:"⦿",ofr:"𝔬",Ofr:"𝔒",ogon:"˛",ograve:"ò",Ograve:"Ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",Omacr:"Ō",omega:"ω",Omega:"Ω",omicron:"ο",Omicron:"Ο",omid:"⦶",ominus:"⊖",oopf:"𝕠",Oopf:"𝕆",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",or:"∨",Or:"⩔",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",oscr:"ℴ",Oscr:"𝒪",oslash:"ø",Oslash:"Ø",osol:"⊘",otilde:"õ",Otilde:"Õ",otimes:"⊗",Otimes:"⨷",otimesas:"⨶",ouml:"ö",Ouml:"Ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",pcy:"п",Pcy:"П",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"𝔭",Pfr:"𝔓",phi:"φ",Phi:"Φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",Pi:"Π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",pr:"≺",Pr:"⪻",prap:"⪷",prcue:"≼",pre:"⪯",prE:"⪳",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportion:"∷",Proportional:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"𝓅",Pscr:"𝒫",psi:"ψ",Psi:"Ψ",puncsp:" ",qfr:"𝔮",Qfr:"𝔔",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",qscr:"𝓆",Qscr:"𝒬",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",racute:"ŕ",Racute:"Ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarr:"→",rArr:"⇒",Rarr:"↠",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",Rarrtl:"⤖",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",Rcaron:"Ř",rcedil:"ŗ",Rcedil:"Ŗ",rceil:"⌉",rcub:"}",rcy:"р",Rcy:"Р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",Re:"ℜ",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",Rho:"Ρ",rhov:"ϱ",RightAngleBracket:"⟩",rightarrow:"→",Rightarrow:"⇒",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",sacute:"ś",Sacute:"Ś",sbquo:"‚",sc:"≻",Sc:"⪼",scap:"⪸",scaron:"š",Scaron:"Š",sccue:"≽",sce:"⪰",scE:"⪴",scedil:"ş",Scedil:"Ş",scirc:"ŝ",Scirc:"Ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",Scy:"С",sdot:"⋅",sdotb:"⊡",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"𝔰",Sfr:"𝔖",sfrown:"⌢",sharp:"♯",shchcy:"щ",SHCHcy:"Щ",shcy:"ш",SHcy:"Ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",sigma:"σ",Sigma:"Σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",SOFTcy:"Ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"𝕤",Sopf:"𝕊",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squf:"▪",srarr:"→",sscr:"𝓈",Sscr:"𝒮",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",Star:"⋆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",sube:"⊆",subE:"⫅",subedot:"⫃",submult:"⫁",subne:"⊊",subnE:"⫋",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup:"⊃",Sup:"⋑",sup1:"¹",sup2:"²",sup3:"³",supdot:"⪾",supdsub:"⫘",supe:"⊇",supE:"⫆",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supne:"⊋",supnE:"⫌",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:"\t",target:"⌖",tau:"τ",Tau:"Τ",tbrk:"⎴",tcaron:"ť",Tcaron:"Ť",tcedil:"ţ",Tcedil:"Ţ",tcy:"т",Tcy:"Т",tdot:"⃛",telrec:"⌕",tfr:"𝔱",Tfr:"𝔗",there4:"∴",therefore:"∴",Therefore:"∴",theta:"θ",Theta:"Θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",thinsp:" ",ThinSpace:" ",thkap:"≈",thksim:"∼",thorn:"þ",THORN:"Þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"𝕥",Topf:"𝕋",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"𝓉",Tscr:"𝒯",tscy:"ц",TScy:"Ц",tshcy:"ћ",TSHcy:"Ћ",tstrok:"ŧ",Tstrok:"Ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uacute:"ú",Uacute:"Ú",uarr:"↑",uArr:"⇑",Uarr:"↟",Uarrocir:"⥉",ubrcy:"ў",Ubrcy:"Ў",ubreve:"ŭ",Ubreve:"Ŭ",ucirc:"û",Ucirc:"Û",ucy:"у",Ucy:"У",udarr:"⇅",udblac:"ű",Udblac:"Ű",udhar:"⥮",ufisht:"⥾",ufr:"𝔲",Ufr:"𝔘",ugrave:"ù",Ugrave:"Ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",Umacr:"Ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",uogon:"ų",Uogon:"Ų",uopf:"𝕦",Uopf:"𝕌",uparrow:"↑",Uparrow:"⇑",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",updownarrow:"↕",Updownarrow:"⇕",UpDownArrow:"↕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",upsilon:"υ",Upsilon:"Υ",UpTee:"⊥",UpTeeArrow:"↥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",Uring:"Ů",urtri:"◹",uscr:"𝓊",Uscr:"𝒰",utdot:"⋰",utilde:"ũ",Utilde:"Ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uuml:"ü",Uuml:"Ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",vcy:"в",Vcy:"В",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",vee:"∨",Vee:"⋁",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",vfr:"𝔳",Vfr:"𝔙",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"𝕧",Vopf:"𝕍",vprop:"∝",vrtri:"⊳",vscr:"𝓋",Vscr:"𝒱",vsubne:"⊊︀",vsubnE:"⫋︀",vsupne:"⊋︀",vsupnE:"⫌︀",Vvdash:"⊪",vzigzag:"⦚",wcirc:"ŵ",Wcirc:"Ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",wfr:"𝔴",Wfr:"𝔚",wopf:"𝕨",Wopf:"𝕎",wp:"℘",wr:"≀",wreath:"≀",wscr:"𝓌",Wscr:"𝒲",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"𝔵",Xfr:"𝔛",xharr:"⟷",xhArr:"⟺",xi:"ξ",Xi:"Ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"𝕩",Xopf:"𝕏",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",xscr:"𝓍",Xscr:"𝒳",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacute:"ý",Yacute:"Ý",yacy:"я",YAcy:"Я",ycirc:"ŷ",Ycirc:"Ŷ",ycy:"ы",Ycy:"Ы",yen:"¥",yfr:"𝔶",Yfr:"𝔜",yicy:"ї",YIcy:"Ї",yopf:"𝕪",Yopf:"𝕐",yscr:"𝓎",Yscr:"𝒴",yucy:"ю",YUcy:"Ю",yuml:"ÿ",Yuml:"Ÿ",zacute:"ź",Zacute:"Ź",zcaron:"ž",Zcaron:"Ž",zcy:"з",Zcy:"З",zdot:"ż",Zdot:"Ż",zeetrf:"ℨ",ZeroWidthSpace:"​",zeta:"ζ",Zeta:"Ζ",zfr:"𝔷",Zfr:"ℨ",zhcy:"ж",ZHcy:"Ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",zscr:"𝓏",Zscr:"𝒵",zwj:"‍",zwnj:"‌"},v={aacute:"á",Aacute:"Á",acirc:"â",Acirc:"Â",acute:"´",aelig:"æ",AElig:"Æ",agrave:"à",Agrave:"À",amp:"&",AMP:"&",aring:"å",Aring:"Å",atilde:"ã",Atilde:"Ã",auml:"ä",Auml:"Ä",brvbar:"¦",ccedil:"ç",Ccedil:"Ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",eacute:"é",Eacute:"É",ecirc:"ê",Ecirc:"Ê",egrave:"è",Egrave:"È",eth:"ð",ETH:"Ð",euml:"ë",Euml:"Ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",iacute:"í",Iacute:"Í",icirc:"î",Icirc:"Î",iexcl:"¡",igrave:"ì",Igrave:"Ì",iquest:"¿",iuml:"ï",Iuml:"Ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",ntilde:"ñ",Ntilde:"Ñ",oacute:"ó",Oacute:"Ó",ocirc:"ô",Ocirc:"Ô",ograve:"ò",Ograve:"Ò",ordf:"ª",ordm:"º",oslash:"ø",Oslash:"Ø",otilde:"õ",Otilde:"Õ",ouml:"ö",Ouml:"Ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",thorn:"þ",THORN:"Þ",times:"×",uacute:"ú",Uacute:"Ú",ucirc:"û",Ucirc:"Û",ugrave:"ù",Ugrave:"Ù",uml:"¨",uuml:"ü",Uuml:"Ü",yacute:"ý",Yacute:"Ý",yen:"¥",yuml:"ÿ"},M={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},b=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],L=String.fromCharCode,k={},w=k.hasOwnProperty,D=function(t,e){return w.call(t,e)},x=function(t,e){for(var n=-1,r=t.length;++n<r;)if(t[n]==e)return!0;return!1},Y=function(t,e){if(!t)return e;var n,r={};for(n in e)r[n]=D(t,n)?t[n]:e[n];return r},T=function(t,e){var n="";return t>=55296&&t<=57343||t>1114111?(e&&S("character reference outside the permissible Unicode range"),"�"):D(M,t)?(e&&S("disallowed character reference"),M[t]):(e&&x(b,t)&&S("disallowed character reference"),t>65535&&(t-=65536,n+=L(t>>>10&1023|55296),t=56320|1023&t),n+=L(t))},A=function(t){return"&#x"+t.toString(16).toUpperCase()+";"},E=function(t){return"&#"+t+";"},S=function(t){throw Error("Parse error: "+t)},F=function(t,e){e=Y(e,F.options),e.strict&&m.test(t)&&S("forbidden code point");var n=e.encodeEverything,r=e.useNamedReferences,i=e.allowUnsafeSymbols,a=e.decimal?E:A,o=function(t){return a(t.charCodeAt(0))};return n?(t=t.replace(c,function(t){return r&&D(h,t)?"&"+h[t]+";":o(t)}),r&&(t=t.replace(/&gt;\u20D2/g,"&nvgt;").replace(/&lt;\u20D2/g,"&nvlt;").replace(/&#x66;&#x6A;/g,"&fjlig;")),r&&(t=t.replace(d,function(t){return"&"+h[t]+";"}))):r?(i||(t=t.replace(f,function(t){return"&"+h[t]+";"})),t=t.replace(/&gt;\u20D2/g,"&nvgt;").replace(/&lt;\u20D2/g,"&nvlt;"),t=t.replace(d,function(t){return"&"+h[t]+";"})):i||(t=t.replace(f,o)),t.replace(s,function(t){var e=t.charCodeAt(0),n=t.charCodeAt(1);return a(1024*(e-55296)+n-56320+65536)}).replace(l,o)};F.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1,decimal:!1};var C=function(t,e){e=Y(e,C.options);var n=e.strict;return n&&p.test(t)&&S("malformed character reference"),t.replace(y,function(t,r,i,a,o,u,s,c){var l,d,h,f,_,p;return r?(h=r,d=i,n&&!d&&S("character reference was not terminated by a semicolon"),l=parseInt(h,10),T(l,n)):a?(f=a,d=o,n&&!d&&S("character reference was not terminated by a semicolon"),l=parseInt(f,16),T(l,n)):u?(_=u,D(g,_)?g[_]:(n&&S("named character reference was not terminated by a semicolon"),t)):(_=s,p=c,p&&e.isAttributeValue?(n&&"="==p&&S("`&` did not start a character reference"),t):(n&&S("named character reference was not terminated by a semicolon"),v[_]+(p||"")))})};C.options={isAttributeValue:!1,strict:!1};var j=function(t){return t.replace(f,function(t){return _[t]})},H={version:"1.1.1",encode:F,decode:C,escape:j,unescape:C};void 0!==(i=function(){return H}.call(e,n,e,t))&&(t.exports=i)}()}).call(e,n(4)(t),n(9))}]); \ No newline at end of file
diff --git a/www/wiki/extensions/Mermaid/res/mermaid/7.0.5/mermaid.neutral.min.css b/www/wiki/extensions/Mermaid/res/mermaid/7.0.5/mermaid.neutral.min.css
new file mode 100644
index 00000000..e9570979
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/res/mermaid/7.0.5/mermaid.neutral.min.css
@@ -0,0 +1 @@
+.mermaid .label{color:#333}.node circle,.node ellipse,.node polygon,.node rect{fill:#eee;stroke:#999;stroke-width:1px}.edgePath .path{stroke:#666;stroke-width:1.5px}.edgeLabel{background-color:#fff}.cluster rect{fill:#eaf2fb!important;rx:4!important;stroke:#26a!important;stroke-width:1px!important}.cluster text{fill:#333}.actor{stroke:#999;fill:#eee}text.actor{fill:#333;stroke:none}.actor-line{stroke:#666}.messageLine0{marker-end:"url(#arrowhead)"}.messageLine0,.messageLine1{stroke-width:1.5;stroke-dasharray:"2 2";stroke:#333}#arrowhead{fill:#333}#crosshead path{fill:#333!important;stroke:#333!important}.messageText{fill:#333;stroke:none}.labelBox{stroke:#999;fill:#eee}.labelText,.loopText{fill:#fff;stroke:none}.loopLine{stroke-width:2;stroke-dasharray:"2 2";marker-end:"url(#arrowhead)";stroke:#999}.note{stroke:#770;fill:#ffa}.noteText{fill:#000;stroke:none;font-family:Arial,Helvetica,sans-serif;font-size:14px}.section{stroke:none;opacity:.2}.section0,.section2{fill:#7fb2e6}.section1,.section3{fill:#fff;opacity:.2}.sectionTitle0,.sectionTitle1,.sectionTitle2,.sectionTitle3{fill:#333}.sectionTitle{text-anchor:start;font-size:11px;text-height:14px}.grid .tick{stroke:#e5e5e5;opacity:.3;shape-rendering:crispEdges}.grid path{stroke-width:0}.today{fill:none;stroke:#d42;stroke-width:2px}.task{stroke-width:2}.taskText{text-anchor:middle;font-size:11px}.taskTextOutsideRight{fill:#333;text-anchor:start;font-size:11px}.taskTextOutsideLeft{fill:#333;text-anchor:end;font-size:11px}.taskText0,.taskText1,.taskText2,.taskText3{fill:#fff}.task0,.task1,.task2,.task3{fill:#26a;stroke:#194c7f}.taskTextOutside0,.taskTextOutside1,.taskTextOutside2,.taskTextOutside3{fill:#333}.active0,.active1,.active2,.active3{fill:#eee;stroke:#194c7f}.activeText0,.activeText1,.activeText2,.activeText3{fill:#333!important}.done0,.done1,.done2,.done3{stroke:#666;fill:#bbb;stroke-width:2}.doneText0,.doneText1,.doneText2,.doneText3{fill:#333!important}.crit0,.crit1,.crit2,.crit3{stroke:#b1361b;fill:#d42;stroke-width:2}.activeCrit0,.activeCrit1,.activeCrit2,.activeCrit3{stroke:#b1361b;fill:#eee;stroke-width:2}.doneCrit0,.doneCrit1,.doneCrit2,.doneCrit3{stroke:#b1361b;fill:#bbb;stroke-width:2;cursor:pointer}.activeCritText0,.activeCritText1,.activeCritText2,.activeCritText3,.doneCritText0,.doneCritText1,.doneCritText2,.doneCritText3{fill:#333!important}.titleText{text-anchor:middle;font-size:18px;fill:#333}g.classGroup text{fill:#999;stroke:none;font-family:trebuchet ms,verdana,arial;font-size:10px}g.classGroup rect{fill:#eee;stroke:#999}g.classGroup line{stroke:#999;stroke-width:1}svg .classLabel .box{stroke:none;stroke-width:0;fill:#eee;opacity:.5}svg .classLabel .label{fill:#999;font-size:10px}.relation{stroke:#999;stroke-width:1;fill:none}#compositionEnd,#compositionStart,.composition{fill:#999;stroke:#999;stroke-width:1}#aggregationEnd,#aggregationStart,.aggregation{fill:#eee;stroke:#999;stroke-width:1}#dependencyEnd,#dependencyStart,#extensionEnd,#extensionStart{fill:#999;stroke:#999;stroke-width:1}.node text{font-size:14px}.node text,div.mermaidTooltip{font-family:Arial,Helvetica,sans-serif}div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-size:12px;background:#eaf2fb;border:1px solid #26a;border-radius:2px;pointer-events:none;z-index:100} \ No newline at end of file
diff --git a/www/wiki/extensions/Mermaid/res/mermaid/7.0.5/mermaidAPI.min.js b/www/wiki/extensions/Mermaid/res/mermaid/7.0.5/mermaidAPI.min.js
new file mode 100644
index 00000000..4d8b8b58
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/res/mermaid/7.0.5/mermaidAPI.min.js
@@ -0,0 +1 @@
+module.exports=function(t){function e(n){if(r[n])return r[n].exports;var i=r[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,e),i.l=!0,i.exports}var r={};return e.m=t,e.c=r,e.d=function(t,r,n){e.o(t,r)||Object.defineProperty(t,r,{configurable:!1,enumerable:!0,get:n})},e.n=function(t){var r=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(r,"a",r),r},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=21)}([function(t,e,r){"use strict";function n(t){var e=t.getUTCHours(),r=t.getUTCMinutes(),n=t.getSeconds(),i=t.getMilliseconds();return e<10&&(e="0"+e),r<10&&(r="0"+r),n<10&&(n="0"+n),i<100&&(i="0"+i),i<10&&(i="00"+i),e+":"+r+":"+n+" ("+i+")"}function i(t){return"%c "+n(new Date)+" :%c"+t+": "}var s=function(){},a=function(){},u=function(){},o=function(){},c=function(){};e.setLogLevel=function(t){t<6&&(e.Log.fatal=console.log.bind(console,i("FATAL"),"color:grey;","color: red;")),t<5&&(e.Log.error=console.log.bind(console,i("ERROR"),"color:grey;","color: red;")),t<4&&(e.Log.warn=console.log.bind(console,i("WARN"),"color:grey;","color: orange;")),t<3&&(e.Log.info=console.log.bind(console,i("INFO"),"color:grey;","color: info;")),t<2&&(e.Log.debug=console.log.bind(console,i("DEBUG"),"color:grey;","color: green;"))},e.Log={debug:s,info:a,warn:u,error:o,fatal:c}},function(t,e,r){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=r(22);t.exports=i,function(){var t=!1;if(t="tspans",i.selection.prototype.textwrap)return!1;void 0===t&&(t=!1),i.selection.prototype.textwrap=i.selection.enter.prototype.textwrap=function(e,r){r=parseInt(r)||0;var s,a=this,u=function(t){var e=t[0][0];if("rect"!==e.tagName.toString())return!1;var r={};return r.x=i.select(e).attr("x")||0,r.y=i.select(e).attr("y")||0,r.width=i.select(e).attr("width")||0,r.height=i.select(e).attr("height")||0,r.attr=t.attr,r},o=function(t){if(t.attr||(t.attr=function(t){if(this[t])return this[t]}),"object"===(void 0===t?"undefined":n(t))&&void 0!==t.x&&void 0!==t.y&&void 0!==t.width&&void 0!==t.height)return t;if("function"==typeof Array.isArray&&Array.isArray(t)||"[object Array]"===Object.prototype.toString.call(t)){return u(t)}return!1}(e);if(r&&(o=function(t,e){var r=t;return 0!==e&&(r.x=parseInt(r.x)+e,r.y=parseInt(r.y)+e,r.width-=2*e,r.height-=2*e),r}(o,r)),0!==a.length&&i&&e&&o){e=o;var c,l=function(t){var r=i.select(t[0].parentNode),n=r.select("text"),a=n.style("line-height"),u=n.text();n.remove();var o=r.append("foreignObject");o.attr("requiredFeatures","http://www.w3.org/TR/SVG11/feature#Extensibility").attr("x",e.x).attr("y",e.y).attr("width",e.width).attr("height",e.height);var c=o.append("xhtml:div").attr("class","wrapped");c.style("height",e.height).style("width",e.width).html(u),a&&c.style("line-height",a),s=r.select("foreignObject")},h=function(t){var n,a=t[0],u=a.parentNode,o=i.select(a),c=a.getBBox().height,l=a.getBBox().width,h=c,y=o.style("line-height");if(n=y&&parseInt(y)?parseInt(y.replace("px","")):h,l>e.width){var d=o.text();if(o.text(""),d){var p,g;if(-1!==d.indexOf(" "))p=" ",g=d.split(" ");else{p="";var f=d.length,m=Math.ceil(l/e.width),A=Math.floor(f/m);A*m>=f||m++,g=[];for(var b,E,x=0;x<m;x++)E=x*A,b=d.substr(E,A),g.push(b)}var k=[],_=0,v={};for(x=0;x<g.length;x++){var F,D=g[x],C=o.text(),T=a.getComputedTextLength();F=C?C+p+D:D,o.text(F);var w=a.getComputedTextLength();if(w>e.width&&C&&""!==C&&(_+=T,v={string:C,width:T,offset:_},k.push(v),o.text(""),o.text(D),x===g.length-1&&(F=D,o.text(F),w=a.getComputedTextLength())),x===g.length-1){o.text("");var S=F;S&&""!==S&&(w-_>0&&(w-=_),v={string:S,width:w,offset:_},k.push(v))}}var B;for(o.text(""),x=0;x<k.length;x++)b=k[x].string,x*n<e.height-1.5*n&&(B=o.append("tspan").text(b),B.attr("dy",function(t){if(x>0)return n}),B.attr("x",function(){var t=e.x;return r&&(t+=r),t}))}}o.attr("y",function(){var t=e.y;return n&&(t+=n),r&&(t+=r),t}),o.attr("x",function(){var t=e.x;return r&&(t+=r),t}),s=i.select(u).selectAll("text")};t&&("foreignobjects"===t?c=l:"tspans"===t&&(c=h)),t||(c="undefined"!=typeof SVGForeignObjectElement?l:h);for(var y=0;y<a.length;y++){c(a[y])}return s}return a||!1}}()},function(t,e){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,e){t.exports=require("fs")},function(t,e){t.exports=require("path")},function(t,e,r){"use strict";var n,i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},s=r(0),a=s.Log,u=r(6),o=r(1),c={},l=[],h=[],y=[],d={},p=0,g=[];e.addVertex=function(t,e,r,n){var i;void 0!==t&&0!==t.trim().length&&(void 0===c[t]&&(c[t]={id:t,styles:[],classes:[]}),void 0!==e&&(i=e.trim(),'"'===i[0]&&'"'===i[i.length-1]&&(i=i.substring(1,i.length-1)),c[t].text=i),void 0!==r&&(c[t].type=r),void 0!==r&&(c[t].type=r),void 0!==n&&null!==n&&n.forEach(function(e){c[t].styles.push(e)}))},e.addLink=function(t,e,r,n){a.info("Got edge...",t,e);var i={start:t,end:e,type:void 0,text:""};n=r.text,void 0!==n&&(i.text=n.trim(),'"'===i.text[0]&&'"'===i.text[i.text.length-1]&&(i.text=i.text.substring(1,i.text.length-1))),void 0!==r&&(i.type=r.type,i.stroke=r.stroke),l.push(i)},e.updateLinkInterpolate=function(t,e){"default"===t?l.defaultInterpolate=e:l[t].interpolate=e},e.updateLink=function(t,e){"default"===t?l.defaultStyle=e:(-1===u.isSubstringInArray("fill",e)&&e.push("fill:none"),l[t].style=e)},e.addClass=function(t,e){void 0===h[t]&&(h[t]={id:t,styles:[]}),void 0!==e&&null!==e&&e.forEach(function(e){h[t].styles.push(e)})},e.setDirection=function(t){n=t},e.setClass=function(t,e){t.indexOf(",")>0?t.split(",").forEach(function(t){void 0!==c[t]&&c[t].classes.push(e)}):void 0!==c[t]&&c[t].classes.push(e)};var f=function(t,e){void 0!==e&&(d[t]=e)},m=function(t,e){void 0!==e&&void 0!==c[t]&&g.push(function(r){var n=o.select(r).select("#"+t);null!==n&&n.on("click",function(){window[e](t)})})},A=function(t,e){void 0!==e&&void 0!==c[t]&&g.push(function(r){var n=o.select(r).select("#"+t);null!==n&&n.on("click",function(){window.open(e,"newTab")})})};e.getTooltip=function(t){return d[t]},e.setClickEvent=function(t,e,r,n){t.indexOf(",")>0?t.split(",").forEach(function(t){f(t,n),m(t,e),A(t,r)}):(f(t,n),m(t,e),A(t,r))},e.bindFunctions=function(t){g.forEach(function(e){e(t)})},e.getDirection=function(){return n},e.getVertices=function(){return c},e.getEdges=function(){return l},e.getClasses=function(){return h};var b=function(t){var e=o.select(".mermaidTooltip");null===e[0][0]&&(e=o.select("body").append("div").attr("class","mermaidTooltip").style("opacity",0)),o.select(t).select("svg").selectAll("g.node").on("mouseover",function(){var t=o.select(this);if(null!==t.attr("title")){var r=this.getBoundingClientRect();e.transition().duration(200).style("opacity",".9"),e.html(t.attr("title")).style("left",r.left+(r.right-r.left)/2+"px").style("top",r.top-14+document.body.scrollTop+"px"),t.classed("hover",!0)}}).on("mouseout",function(){e.transition().duration(500).style("opacity",0),o.select(this).classed("hover",!1)})};g.push(b),e.clear=function(){c={},h={},l=[],g=[],g.push(b),y=[],p=0,d=[]},e.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},e.addSubGraph=function(t,e){var r=[];r=function(t){var e={boolean:{},number:{},string:{}},r=[];return t.filter(function(t){var n=void 0===t?"undefined":i(t);return" "!==t&&(n in e?!e[n].hasOwnProperty(t)&&(e[n][t]=!0):!(r.indexOf(t)>=0)&&r.push(t))})}(r.concat.apply(r,t));var n={id:"subGraph"+p,nodes:r,title:e};return y.push(n),p+=1,n.id};var E=function(t){var e;for(e=0;e<y.length;e++)if(y[e].id===t)return e;return-1},x=-1,k=[],_=function t(e,r){var n=y[r].nodes;if(!((x+=1)>2e3)){if(k[x]=r,y[r].id===e)return{result:!0,count:0};for(var i=0,s=1;i<n.length;){var a=E(n[i]);if(a>=0){var u=t(e,a);if(u.result)return{result:!0,count:s+u.count};s+=u.count}i+=1}return{result:!1,count:s}}};e.getDepthFirstPos=function(t){return k[t]},e.indexNodes=function(){x=-1,y.length>0&&_("none",y.length-1)},e.getSubGraphs=function(){return y},e.parseError=function(t,e){global.mermaidAPI.parseError(t,e)}},function(t,e,r){"use strict";var n=r(0),i=n.Log,s=function(t){return t=t.replace(/^\s*%%.*\n/g,"\n"),t.match(/^\s*sequenceDiagram/)?"sequenceDiagram":t.match(/^\s*digraph/)?"dotGraph":t.match(/^\s*info/)?"info":t.match(/^\s*gantt/)?"gantt":t.match(/^\s*classDiagram/)?(i.debug("Detected classDiagram syntax"),"classDiagram"):t.match(/^\s*gitGraph/)?(i.debug("Detected gitGraph syntax"),"gitGraph"):"graph"};e.detectType=s;var a=function(t,e){for(var r,n="",s=document.styleSheets,a=0;a<s.length;a++)if("mermaid-svg-internal-css"!==s[a].title)try{var u=s[a].cssRules;if(null!==u)for(var o=0;o<u.length;o++)if(r=u[o],void 0!==r.style){var c;c=t.querySelectorAll(r.selectorText),c.length>0&&(n+=r.selectorText+" { "+r.style.cssText+"}\n")}}catch(t){void 0!==r&&i.warn('Invalid CSS selector "'+r.selectorText+'"',t)}var l="",h="";for(var y in e)e.hasOwnProperty(y)&&void 0!==y&&("default"===y?(e.default.styles instanceof Array&&(l+="#"+t.id.trim()+" .node>rect { "+e[y].styles.join("; ")+"; }\n"),e.default.nodeLabelStyles instanceof Array&&(l+="#"+t.id.trim()+" .node text { "+e[y].nodeLabelStyles.join("; ")+"; }\n"),e.default.edgeLabelStyles instanceof Array&&(l+="#"+t.id.trim()+" .edgeLabel text { "+e[y].edgeLabelStyles.join("; ")+"; }\n"),e.default.clusterStyles instanceof Array&&(l+="#"+t.id.trim()+" .cluster rect { "+e[y].clusterStyles.join("; ")+"; }\n")):e[y].styles instanceof Array&&(h+="#"+t.id.trim()+" ."+y+">rect, ."+y+">polygon, ."+y+">circle, ."+y+">ellipse { "+e[y].styles.join("; ")+"; }\n"));if(""!==n||""!==l||""!==h){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* <![CDATA[ */\n",""!==l&&(d.innerHTML+=l),""!==n&&(d.innerHTML+=n),""!==h&&(d.innerHTML+=h),d.innerHTML+="/* ]]> */\n",t.insertBefore(d,t.firstChild)}};e.cloneCssStyles=a;var u=function(t,e){for(var r=0;r<e.length;r++)if(e[r].match(t))return r;return-1};e.isSubstringInArray=u},function(t,e,r){"use strict";(function(t){var n=function(){function t(){this.yy={}}var e=function(t,e,r,n){for(r=r||{},n=t.length;n--;r[t[n]]=e);return r},r=[1,4],n=[1,3],i=[1,5],s=[1,8,9,10,11,13,18,30,46,71,72,73,74,75,81,86,88,89,91,92,94,95,96,97,98],a=[2,2],u=[1,12],o=[1,13],c=[1,14],l=[1,15],h=[1,31],y=[1,33],d=[1,22],p=[1,34],g=[1,24],f=[1,25],m=[1,26],A=[1,27],b=[1,28],E=[1,38],x=[1,40],k=[1,35],_=[1,39],v=[1,45],F=[1,44],D=[1,36],C=[1,37],T=[1,41],w=[1,42],S=[1,43],B=[1,8,9,10,11,13,18,30,32,46,71,72,73,74,75,81,86,88,89,91,92,94,95,96,97,98],L=[1,53],I=[1,52],O=[1,54],P=[1,72],N=[1,80],M=[1,81],R=[1,66],$=[1,65],j=[1,85],V=[1,84],U=[1,82],G=[1,83],H=[1,73],Y=[1,68],W=[1,67],q=[1,63],z=[1,75],X=[1,76],K=[1,77],Z=[1,78],Q=[1,79],J=[1,70],tt=[1,69],et=[8,9,11],rt=[8,9,11,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64],nt=[1,115],it=[8,9,10,11,13,15,18,36,38,40,42,46,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,86,88,89,91,92,94,95,96,97,98],st=[8,9,10,11,12,13,15,16,17,18,30,32,36,37,38,39,40,41,42,43,46,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,71,72,73,74,75,78,81,84,86,88,89,91,92,94,95,96,97,98],at=[1,117],ut=[1,118],ot=[8,9,10,11,13,18,30,32,46,71,72,73,74,75,81,86,88,89,91,92,94,95,96,97,98],ct=[8,9,10,11,12,13,15,16,17,18,30,32,37,39,41,43,46,50,51,52,53,54,56,57,58,59,60,61,62,63,64,65,71,72,73,74,75,78,81,84,86,88,89,91,92,94,95,96,97,98],lt=[13,18,46,81,86,88,89,91,92,94,95,96,97,98],ht=[13,18,46,49,65,81,86,88,89,91,92,94,95,96,97,98],yt=[1,191],dt=[1,188],pt=[1,195],gt=[1,192],ft=[1,189],mt=[1,196],At=[1,186],bt=[1,187],Et=[1,190],xt=[1,193],kt=[1,194],_t=[1,213],vt=[8,9,11,86],Ft=[8,9,10,11,46,71,80,81,84,86,88,89,90,91,92],Dt={trace:function(){},yy:{},symbols_:{error:2,mermaidDoc:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,DIR:13,FirstStmtSeperator:14,TAGEND:15,TAGSTART:16,UP:17,DOWN:18,ending:19,endToken:20,spaceList:21,spaceListNewline:22,verticeStatement:23,separator:24,styleStatement:25,linkStyleStatement:26,classDefStatement:27,classStatement:28,clickStatement:29,subgraph:30,text:31,end:32,vertex:33,link:34,alphaNum:35,SQS:36,SQE:37,PS:38,PE:39,"(-":40,"-)":41,DIAMOND_START:42,DIAMOND_STOP:43,alphaNumStatement:44,alphaNumToken:45,MINUS:46,linkStatement:47,arrowText:48,TESTSTR:49,"--":50,ARROW_POINT:51,ARROW_CIRCLE:52,ARROW_CROSS:53,ARROW_OPEN:54,"-.":55,DOTTED_ARROW_POINT:56,DOTTED_ARROW_CIRCLE:57,DOTTED_ARROW_CROSS:58,DOTTED_ARROW_OPEN:59,"==":60,THICK_ARROW_POINT:61,THICK_ARROW_CIRCLE:62,THICK_ARROW_CROSS:63,THICK_ARROW_OPEN:64,PIPE:65,textToken:66,STR:67,commentText:68,commentToken:69,keywords:70,STYLE:71,LINKSTYLE:72,CLASSDEF:73,CLASS:74,CLICK:75,textNoTags:76,textNoTagsToken:77,DEFAULT:78,stylesOpt:79,HEX:80,NUM:81,INTERPOLATE:82,commentStatement:83,PCT:84,style:85,COMMA:86,styleComponent:87,ALPHA:88,COLON:89,UNIT:90,BRKT:91,DOT:92,graphCodeTokens:93,PUNCTUATION:94,UNICODE_TEXT:95,PLUS:96,EQUALS:97,MULT:98,TAG_START:99,TAG_END:100,QUOTE:101,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"DIR",15:"TAGEND",16:"TAGSTART",17:"UP",18:"DOWN",30:"subgraph",32:"end",36:"SQS",37:"SQE",38:"PS",39:"PE",40:"(-",41:"-)",42:"DIAMOND_START",43:"DIAMOND_STOP",46:"MINUS",49:"TESTSTR",50:"--",51:"ARROW_POINT",52:"ARROW_CIRCLE",53:"ARROW_CROSS",54:"ARROW_OPEN",55:"-.",56:"DOTTED_ARROW_POINT",57:"DOTTED_ARROW_CIRCLE",58:"DOTTED_ARROW_CROSS",59:"DOTTED_ARROW_OPEN",60:"==",61:"THICK_ARROW_POINT",62:"THICK_ARROW_CIRCLE",63:"THICK_ARROW_CROSS",64:"THICK_ARROW_OPEN",65:"PIPE",67:"STR",71:"STYLE",72:"LINKSTYLE",73:"CLASSDEF",74:"CLASS",75:"CLICK",78:"DEFAULT",80:"HEX",81:"NUM",82:"INTERPOLATE",84:"PCT",86:"COMMA",88:"ALPHA",89:"COLON",90:"UNIT",91:"BRKT",92:"DOT",94:"PUNCTUATION",95:"UNICODE_TEXT",96:"PLUS",97:"EQUALS",98:"MULT",99:"TAG_START",100:"TAG_END",101:"QUOTE"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,4],[4,4],[4,4],[4,4],[4,4],[19,2],[19,1],[20,1],[20,1],[20,1],[14,1],[14,1],[14,2],[22,2],[22,2],[22,1],[22,1],[21,2],[21,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,5],[7,4],[24,1],[24,1],[24,1],[23,3],[23,1],[33,4],[33,5],[33,6],[33,7],[33,4],[33,5],[33,4],[33,5],[33,4],[33,5],[33,4],[33,5],[33,1],[33,2],[35,1],[35,2],[44,1],[44,1],[44,1],[44,1],[34,2],[34,3],[34,3],[34,1],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[48,3],[31,1],[31,2],[31,1],[68,1],[68,2],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[76,1],[76,2],[27,5],[27,5],[28,5],[29,5],[29,7],[29,5],[29,7],[25,5],[25,5],[26,5],[26,5],[26,9],[26,9],[26,7],[26,7],[83,3],[79,1],[79,3],[85,1],[85,2],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[69,1],[69,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[77,1],[77,1],[77,1],[77,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1]],performAction:function(t,e,r,n,i,s,a){var u=s.length-1;switch(i){case 2:this.$=[];break;case 3:s[u]!==[]&&s[u-1].push(s[u]),this.$=s[u-1];break;case 4:case 57:case 59:case 60:case 92:case 94:case 95:case 108:this.$=s[u];break;case 11:n.setDirection(s[u-1]),this.$=s[u-1];break;case 12:n.setDirection("LR"),this.$=s[u-1];break;case 13:n.setDirection("RL"),this.$=s[u-1];break;case 14:n.setDirection("BT"),this.$=s[u-1];break;case 15:n.setDirection("TB"),this.$=s[u-1];break;case 30:this.$=s[u-1];break;case 31:case 32:case 33:case 34:case 35:this.$=[];break;case 36:this.$=n.addSubGraph(s[u-1],s[u-3]);break;case 37:this.$=n.addSubGraph(s[u-1],void 0);break;case 41:n.addLink(s[u-2],s[u],s[u-1]),this.$=[s[u-2],s[u]];break;case 42:this.$=[s[u]];break;case 43:this.$=s[u-3],n.addVertex(s[u-3],s[u-1],"square");break;case 44:this.$=s[u-4],n.addVertex(s[u-4],s[u-2],"square");break;case 45:this.$=s[u-5],n.addVertex(s[u-5],s[u-2],"circle");break;case 46:this.$=s[u-6],n.addVertex(s[u-6],s[u-3],"circle");break;case 47:this.$=s[u-3],n.addVertex(s[u-3],s[u-1],"ellipse");break;case 48:this.$=s[u-4],n.addVertex(s[u-4],s[u-2],"ellipse");break;case 49:this.$=s[u-3],n.addVertex(s[u-3],s[u-1],"round");break;case 50:this.$=s[u-4],n.addVertex(s[u-4],s[u-2],"round");break;case 51:this.$=s[u-3],n.addVertex(s[u-3],s[u-1],"diamond");break;case 52:this.$=s[u-4],n.addVertex(s[u-4],s[u-2],"diamond");break;case 53:this.$=s[u-3],n.addVertex(s[u-3],s[u-1],"odd");break;case 54:this.$=s[u-4],n.addVertex(s[u-4],s[u-2],"odd");break;case 55:this.$=s[u],n.addVertex(s[u]);break;case 56:this.$=s[u-1],n.addVertex(s[u-1]);break;case 58:case 93:case 96:case 109:this.$=s[u-1]+""+s[u];break;case 61:this.$="v";break;case 62:this.$="-";break;case 63:s[u-1].text=s[u],this.$=s[u-1];break;case 64:case 65:s[u-2].text=s[u-1],this.$=s[u-2];break;case 66:this.$=s[u];break;case 67:this.$={type:"arrow",stroke:"normal",text:s[u-1]};break;case 68:this.$={type:"arrow_circle",stroke:"normal",text:s[u-1]};break;case 69:this.$={type:"arrow_cross",stroke:"normal",text:s[u-1]};break;case 70:this.$={type:"arrow_open",stroke:"normal",text:s[u-1]};break;case 71:this.$={type:"arrow",stroke:"dotted",text:s[u-1]};break;case 72:this.$={type:"arrow_circle",stroke:"dotted",text:s[u-1]};break;case 73:this.$={type:"arrow_cross",stroke:"dotted",text:s[u-1]};break;case 74:this.$={type:"arrow_open",stroke:"dotted",text:s[u-1]};break;case 75:this.$={type:"arrow",stroke:"thick",text:s[u-1]};break;case 76:this.$={type:"arrow_circle",stroke:"thick",text:s[u-1]};break;case 77:this.$={type:"arrow_cross",stroke:"thick",text:s[u-1]};break;case 78:this.$={type:"arrow_open",stroke:"thick",text:s[u-1]};break;case 79:this.$={type:"arrow",stroke:"normal"};break;case 80:this.$={type:"arrow_circle",stroke:"normal"};break;case 81:this.$={type:"arrow_cross",stroke:"normal"};break;case 82:this.$={type:"arrow_open",stroke:"normal"};break;case 83:this.$={type:"arrow",stroke:"dotted"};break;case 84:this.$={type:"arrow_circle",stroke:"dotted"};break;case 85:this.$={type:"arrow_cross",stroke:"dotted"};break;case 86:this.$={type:"arrow_open",stroke:"dotted"};break;case 87:this.$={type:"arrow",stroke:"thick"};break;case 88:this.$={type:"arrow_circle",stroke:"thick"};break;case 89:this.$={type:"arrow_cross",stroke:"thick"};break;case 90:this.$={type:"arrow_open",stroke:"thick"};break;case 91:this.$=s[u-1];break;case 110:case 111:this.$=s[u-4],n.addClass(s[u-2],s[u]);break;case 112:this.$=s[u-4],n.setClass(s[u-2],s[u]);break;case 113:this.$=s[u-4],n.setClickEvent(s[u-2],s[u],void 0,void 0);break;case 114:this.$=s[u-6],n.setClickEvent(s[u-4],s[u-2],void 0,s[u]);break;case 115:this.$=s[u-4],n.setClickEvent(s[u-2],void 0,s[u],void 0);break;case 116:this.$=s[u-6],n.setClickEvent(s[u-4],void 0,s[u-2],s[u]);break;case 117:this.$=s[u-4],n.addVertex(s[u-2],void 0,void 0,s[u]);break;case 118:case 119:case 120:this.$=s[u-4],n.updateLink(s[u-2],s[u]);break;case 121:case 122:this.$=s[u-8],n.updateLinkInterpolate(s[u-6],s[u-2]),n.updateLink(s[u-6],s[u]);break;case 123:case 124:this.$=s[u-6],n.updateLinkInterpolate(s[u-4],s[u]);break;case 126:this.$=[s[u]];break;case 127:s[u-2].push(s[u]),this.$=s[u-2];break;case 129:this.$=s[u-1]+s[u]}},table:[{3:1,4:2,9:r,10:n,12:i},{1:[3]},e(s,a,{5:6}),{4:7,9:r,10:n,12:i},{4:8,9:r,10:n,12:i},{10:[1,9]},{1:[2,1],6:10,7:11,8:u,9:o,10:c,11:l,13:h,18:y,23:16,25:17,26:18,27:19,28:20,29:21,30:d,33:23,35:29,44:30,45:32,46:p,71:g,72:f,73:m,74:A,75:b,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},e(s,[2,9]),e(s,[2,10]),{13:[1,46],15:[1,47],16:[1,48],17:[1,49],18:[1,50]},e(B,[2,3]),e(B,[2,4]),e(B,[2,5]),e(B,[2,6]),e(B,[2,7]),e(B,[2,8]),{8:L,9:I,11:O,24:51},{8:L,9:I,11:O,24:55},{8:L,9:I,11:O,24:56},{8:L,9:I,11:O,24:57},{8:L,9:I,11:O,24:58},{8:L,9:I,11:O,24:59},{8:L,9:I,10:P,11:O,12:N,13:M,15:R,16:$,17:j,18:V,24:61,30:U,31:60,32:G,45:71,46:H,50:Y,60:W,66:62,67:q,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},e(et,[2,42],{34:86,47:87,50:[1,88],51:[1,91],52:[1,92],53:[1,93],54:[1,94],55:[1,89],56:[1,95],57:[1,96],58:[1,97],59:[1,98],60:[1,90],61:[1,99],62:[1,100],63:[1,101],64:[1,102]}),{10:[1,103]},{10:[1,104]},{10:[1,105]},{10:[1,106]},{10:[1,107]},e(rt,[2,55],{45:32,21:113,44:114,10:nt,13:h,15:[1,112],18:y,36:[1,108],38:[1,109],40:[1,110],42:[1,111],46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S}),e(it,[2,57]),e(it,[2,59]),e(it,[2,60]),e(it,[2,61]),e(it,[2,62]),e(st,[2,154]),e(st,[2,155]),e(st,[2,156]),e(st,[2,157]),e(st,[2,158]),e(st,[2,159]),e(st,[2,160]),e(st,[2,161]),e(st,[2,162]),e(st,[2,163]),e(st,[2,164]),{8:at,9:ut,10:nt,14:116,21:119},{8:at,9:ut,10:nt,14:120,21:119},{8:at,9:ut,10:nt,14:121,21:119},{8:at,9:ut,10:nt,14:122,21:119},{8:at,9:ut,10:nt,14:123,21:119},e(B,[2,30]),e(B,[2,38]),e(B,[2,39]),e(B,[2,40]),e(B,[2,31]),e(B,[2,32]),e(B,[2,33]),e(B,[2,34]),e(B,[2,35]),{8:L,9:I,10:P,11:O,12:N,13:M,15:R,16:$,17:j,18:V,24:124,30:U,32:G,45:71,46:H,50:Y,60:W,66:125,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},e(ot,a,{5:126}),e(ct,[2,92]),e(ct,[2,94]),e(ct,[2,143]),e(ct,[2,144]),e(ct,[2,145]),e(ct,[2,146]),e(ct,[2,147]),e(ct,[2,148]),e(ct,[2,149]),e(ct,[2,150]),e(ct,[2,151]),e(ct,[2,152]),e(ct,[2,153]),e(ct,[2,97]),e(ct,[2,98]),e(ct,[2,99]),e(ct,[2,100]),e(ct,[2,101]),e(ct,[2,102]),e(ct,[2,103]),e(ct,[2,104]),e(ct,[2,105]),e(ct,[2,106]),e(ct,[2,107]),{13:h,18:y,33:127,35:29,44:30,45:32,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},e(lt,[2,66],{48:128,49:[1,129],65:[1,130]}),{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,31:131,32:G,45:71,46:H,50:Y,60:W,66:62,67:q,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,31:132,32:G,45:71,46:H,50:Y,60:W,66:62,67:q,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,31:133,32:G,45:71,46:H,50:Y,60:W,66:62,67:q,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},e(ht,[2,79]),e(ht,[2,80]),e(ht,[2,81]),e(ht,[2,82]),e(ht,[2,83]),e(ht,[2,84]),e(ht,[2,85]),e(ht,[2,86]),e(ht,[2,87]),e(ht,[2,88]),e(ht,[2,89]),e(ht,[2,90]),{13:h,18:y,35:134,44:30,45:32,46:p,80:[1,135],81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{78:[1,136],81:[1,137]},{13:h,18:y,35:139,44:30,45:32,46:p,78:[1,138],81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{13:h,18:y,35:140,44:30,45:32,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{13:h,18:y,35:141,44:30,45:32,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,31:142,32:G,45:71,46:H,50:Y,60:W,66:62,67:q,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,31:144,32:G,38:[1,143],45:71,46:H,50:Y,60:W,66:62,67:q,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,31:145,32:G,45:71,46:H,50:Y,60:W,66:62,67:q,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,31:146,32:G,45:71,46:H,50:Y,60:W,66:62,67:q,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,31:147,32:G,45:71,46:H,50:Y,60:W,66:62,67:q,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},e(rt,[2,56]),e(it,[2,58]),e(rt,[2,29],{21:148,10:nt}),e(s,[2,11]),e(s,[2,21]),e(s,[2,22]),{9:[1,149]},e(s,[2,12]),e(s,[2,13]),e(s,[2,14]),e(s,[2,15]),e(ot,a,{5:150}),e(ct,[2,93]),{6:10,7:11,8:u,9:o,10:c,11:l,13:h,18:y,23:16,25:17,26:18,27:19,28:20,29:21,30:d,32:[1,151],33:23,35:29,44:30,45:32,46:p,71:g,72:f,73:m,74:A,75:b,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},e(et,[2,41]),e(lt,[2,63],{10:[1,152]}),{10:[1,153]},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,31:154,32:G,45:71,46:H,50:Y,60:W,66:62,67:q,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,32:G,45:71,46:H,50:Y,51:[1,155],52:[1,156],53:[1,157],54:[1,158],60:W,66:125,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,32:G,45:71,46:H,50:Y,56:[1,159],57:[1,160],58:[1,161],59:[1,162],60:W,66:125,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,32:G,45:71,46:H,50:Y,60:W,61:[1,163],62:[1,164],63:[1,165],64:[1,166],66:125,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:[1,167],13:h,18:y,44:114,45:32,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:[1,168]},{10:[1,169]},{10:[1,170]},{10:[1,171]},{10:[1,172],13:h,18:y,44:114,45:32,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:[1,173],13:h,18:y,44:114,45:32,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:[1,174],13:h,18:y,44:114,45:32,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,32:G,37:[1,175],45:71,46:H,50:Y,60:W,66:125,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,31:176,32:G,45:71,46:H,50:Y,60:W,66:62,67:q,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,32:G,39:[1,177],45:71,46:H,50:Y,60:W,66:125,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,32:G,41:[1,178],45:71,46:H,50:Y,60:W,66:125,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,32:G,43:[1,179],45:71,46:H,50:Y,60:W,66:125,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,32:G,37:[1,180],45:71,46:H,50:Y,60:W,66:125,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},e(rt,[2,28]),e(s,[2,23]),{6:10,7:11,8:u,9:o,10:c,11:l,13:h,18:y,23:16,25:17,26:18,27:19,28:20,29:21,30:d,32:[1,181],33:23,35:29,44:30,45:32,46:p,71:g,72:f,73:m,74:A,75:b,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},e(B,[2,37]),e(lt,[2,65]),e(lt,[2,64]),{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,32:G,45:71,46:H,50:Y,60:W,65:[1,182],66:125,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},e(lt,[2,67]),e(lt,[2,68]),e(lt,[2,69]),e(lt,[2,70]),e(lt,[2,71]),e(lt,[2,72]),e(lt,[2,73]),e(lt,[2,74]),e(lt,[2,75]),e(lt,[2,76]),e(lt,[2,77]),e(lt,[2,78]),{10:yt,46:dt,71:pt,79:183,80:gt,81:ft,84:mt,85:184,87:185,88:At,89:bt,90:Et,91:xt,92:kt},{10:yt,46:dt,71:pt,79:197,80:gt,81:ft,84:mt,85:184,87:185,88:At,89:bt,90:Et,91:xt,92:kt},{10:yt,46:dt,71:pt,79:198,80:gt,81:ft,82:[1,199],84:mt,85:184,87:185,88:At,89:bt,90:Et,91:xt,92:kt},{10:yt,46:dt,71:pt,79:200,80:gt,81:ft,82:[1,201],84:mt,85:184,87:185,88:At,89:bt,90:Et,91:xt,92:kt},{10:yt,46:dt,71:pt,79:202,80:gt,81:ft,84:mt,85:184,87:185,88:At,89:bt,90:Et,91:xt,92:kt},{10:yt,46:dt,71:pt,79:203,80:gt,81:ft,84:mt,85:184,87:185,88:At,89:bt,90:Et,91:xt,92:kt},{13:h,18:y,35:204,44:30,45:32,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{13:h,18:y,35:205,44:30,45:32,46:p,67:[1,206],81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},e(rt,[2,43],{21:207,10:nt}),{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,32:G,39:[1,208],45:71,46:H,50:Y,60:W,66:125,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},e(rt,[2,49],{21:209,10:nt}),e(rt,[2,47],{21:210,10:nt}),e(rt,[2,51],{21:211,10:nt}),e(rt,[2,53],{21:212,10:nt}),e(B,[2,36]),e([10,13,18,46,81,86,88,89,91,92,94,95,96,97,98],[2,91]),e(et,[2,117],{86:_t}),e(vt,[2,126],{87:214,10:yt,46:dt,71:pt,80:gt,81:ft,84:mt,88:At,89:bt,90:Et,91:xt,92:kt}),e(Ft,[2,128]),e(Ft,[2,130]),e(Ft,[2,131]),e(Ft,[2,132]),e(Ft,[2,133]),e(Ft,[2,134]),e(Ft,[2,135]),e(Ft,[2,136]),e(Ft,[2,137]),e(Ft,[2,138]),e(Ft,[2,139]),e(Ft,[2,140]),e(et,[2,118],{86:_t}),e(et,[2,119],{86:_t}),{10:[1,215]},e(et,[2,120],{86:_t}),{10:[1,216]},e(et,[2,110],{86:_t}),e(et,[2,111],{86:_t}),e(et,[2,112],{45:32,44:114,13:h,18:y,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S}),e(et,[2,113],{45:32,44:114,10:[1,217],13:h,18:y,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S}),e(et,[2,115],{10:[1,218]}),e(rt,[2,44]),{39:[1,219]},e(rt,[2,50]),e(rt,[2,48]),e(rt,[2,52]),e(rt,[2,54]),{10:yt,46:dt,71:pt,80:gt,81:ft,84:mt,85:220,87:185,88:At,89:bt,90:Et,91:xt,92:kt},e(Ft,[2,129]),{13:h,18:y,35:221,44:30,45:32,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{13:h,18:y,35:222,44:30,45:32,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{67:[1,223]},{67:[1,224]},e(rt,[2,45],{21:225,10:nt}),e(vt,[2,127],{87:214,10:yt,46:dt,71:pt,80:gt,81:ft,84:mt,88:At,89:bt,90:Et,91:xt,92:kt}),e(et,[2,123],{45:32,44:114,10:[1,226],13:h,18:y,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S}),e(et,[2,124],{45:32,44:114,10:[1,227],13:h,18:y,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S}),e(et,[2,114]),e(et,[2,116]),e(rt,[2,46]),{10:yt,46:dt,71:pt,79:228,80:gt,81:ft,84:mt,85:184,87:185,88:At,89:bt,90:Et,91:xt,92:kt},{10:yt,46:dt,71:pt,79:229,80:gt,81:ft,84:mt,85:184,87:185,88:At,89:bt,90:Et,91:xt,92:kt},e(et,[2,121],{86:_t}),e(et,[2,122],{86:_t})],defaultActions:{},parseError:function(t,e){if(!e.recoverable){var r=function(t,e){this.message=t,this.hash=e};throw r.prototype=Error,new r(t,e)}this.trace(t)},parse:function(t){var e=this,r=[0],n=[null],i=[],s=this.table,a="",u=0,o=0,c=0,l=i.slice.call(arguments,1),h=Object.create(this.lexer),y={yy:{}};for(var d in this.yy)Object.prototype.hasOwnProperty.call(this.yy,d)&&(y.yy[d]=this.yy[d]);h.setInput(t,y.yy),y.yy.lexer=h,y.yy.parser=this,void 0===h.yylloc&&(h.yylloc={});var p=h.yylloc;i.push(p);var g=h.options&&h.options.ranges;"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var f,m,A,b,E,x,k,_,v,F={};;){if(A=r[r.length-1],this.defaultActions[A]?b=this.defaultActions[A]:(null!==f&&void 0!==f||(f=function(){var t;return t=h.lex()||1,"number"!=typeof t&&(t=e.symbols_[t]||t),t}()),b=s[A]&&s[A][f]),void 0===b||!b.length||!b[0]){var D="";v=[];for(x in s[A])this.terminals_[x]&&x>2&&v.push("'"+this.terminals_[x]+"'");D=h.showPosition?"Parse error on line "+(u+1)+":\n"+h.showPosition()+"\nExpecting "+v.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(u+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(D,{text:h.match,token:this.terminals_[f]||f,line:h.yylineno,loc:p,expected:v})}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+A+", token: "+f);switch(b[0]){case 1:r.push(f),n.push(h.yytext),i.push(h.yylloc),r.push(b[1]),f=null,m?(f=m,m=null):(o=h.yyleng,a=h.yytext,u=h.yylineno,p=h.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[b[1]][1],F.$=n[n.length-k],F._$={first_line:i[i.length-(k||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(k||1)].first_column,last_column:i[i.length-1].last_column},g&&(F._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),void 0!==(E=this.performAction.apply(F,[a,o,u,y.yy,b[1],n,i].concat(l))))return E;k&&(r=r.slice(0,-1*k*2),n=n.slice(0,-1*k),i=i.slice(0,-1*k)),r.push(this.productions_[b[1]][0]),n.push(F.$),i.push(F._$),_=s[r[r.length-2]][r[r.length-1]],r.push(_);break;case 3:return!0}}return!0}},Ct=function(){return{EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,r=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var r,n,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),n=t[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var s in i)this[s]=i[s];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),s=0;s<i.length;s++)if((r=this._input.match(this.rules[i[s]]))&&(!e||r[0].length>e[0].length)){if(e=r,n=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,i[s])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[n]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return t=this.conditionStack.length-1-Math.abs(t||0),t>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(t,e,r,n){switch(r){case 0:break;case 1:this.begin("string");break;case 2:this.popState();break;case 3:return"STR";case 4:return 71;case 5:return 78;case 6:return 72;case 7:return 82;case 8:return 73;case 9:return 74;case 10:return 75;case 11:return 12;case 12:return 30;case 13:return 32;case 14:case 15:case 16:case 17:case 18:case 19:return 13;case 20:return 81;case 21:return 91;case 22:return 89;case 23:return 8;case 24:return 86;case 25:return 98;case 26:return 16;case 27:return 15;case 28:return 17;case 29:return 18;case 30:return 53;case 31:return 51;case 32:return 52;case 33:return 54;case 34:return 58;case 35:return 56;case 36:return 57;case 37:return 59;case 38:return 58;case 39:return 56;case 40:return 57;case 41:return 59;case 42:return 63;case 43:return 61;case 44:return 62;case 45:return 64;case 46:return 50;case 47:return 55;case 48:return 60;case 49:return 40;case 50:return 41;case 51:return 46;case 52:return 92;case 53:return 96;case 54:return 84;case 55:case 56:return 97;case 57:return 88;case 58:return 94;case 59:return 95;case 60:return 65;case 61:return 38;case 62:return 39;case 63:return 36;case 64:return 37;case 65:return 42;case 66:return 43;case 67:return 101;case 68:return 9;case 69:return 10;case 70:return 11}},rules:[/^(?:%%[^\n]*)/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:\s*--[x]\s*)/,/^(?:\s*-->\s*)/,/^(?:\s*--[o]\s*)/,/^(?:\s*---\s*)/,/^(?:\s*-\.-[x]\s*)/,/^(?:\s*-\.->\s*)/,/^(?:\s*-\.-[o]\s*)/,/^(?:\s*-\.-\s*)/,/^(?:\s*.-[x]\s*)/,/^(?:\s*\.->\s*)/,/^(?:\s*\.-[o]\s*)/,/^(?:\s*\.-\s*)/,/^(?:\s*==[x]\s*)/,/^(?:\s*==>\s*)/,/^(?:\s*==[o]\s*)/,/^(?:\s*==[\=]\s*)/,/^(?:\s*--\s*)/,/^(?:\s*-\.\s*)/,/^(?:\s*==\s*)/,/^(?:\(-)/,/^(?:-\))/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:[A-Za-z]+)/,/^(?:[!"#$%&'*+,-.`?\\_\/])/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n+)/,/^(?:\s)/,/^(?:$)/],conditions:{string:{rules:[2,3],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70],inclusive:!0}}}}();return Dt.lexer=Ct,t.prototype=Dt,Dt.Parser=t,new t}();e.parser=n,e.Parser=n.Parser,e.parse=function(){return n.parse.apply(n,arguments)},e.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),process.exit(1));var n=r(3).readFileSync(r(4).normalize(t[1]),"utf8");return e.parser.parse(n)},void 0!==t&&r.c[r.s]===t&&e.main(process.argv.slice(1))}).call(e,r(2)(t))},function(t,e,r){"use strict";(function(t){var n=function(){function t(){this.yy={}}var e=function(t,e,r,n){for(r=r||{},n=t.length;n--;r[t[n]]=e);return r},r=[1,5],n=[1,6],i=[1,12],s=[1,13],a=[1,14],u=[1,15],o=[1,16],c=[1,17],l=[1,18],h=[1,19],y=[1,20],d=[1,21],p=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],f=[1,37],m=[1,33],A=[1,34],b=[1,35],E=[1,36],x=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],k=[10,28],_=[10,28,37,57,58],v=[2,49],F=[1,45],D=[1,48],C=[1,49],T=[1,52],w=[2,65],S=[1,65],B=[1,66],L=[1,67],I=[1,68],O=[1,69],P=[1,70],N=[1,71],M=[1,72],R=[1,73],$=[8,16,17,18,19,20,21,22,23,24,25,26,47],j=[10,28,37],V={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(t,e,r,n,i,s,a){var u=s.length-1;switch(i){case 1:this.$=s[u-1];break;case 2:this.$=s[u-4];break;case 3:this.$=s[u-5];break;case 4:this.$=s[u-3];break;case 8:case 10:case 11:this.$=s[u];break;case 9:this.$=s[u-1]+""+s[u];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=s[u];break;case 17:this.$="<br>";break;case 39:this.$="oy";break;case 40:n.addLink(s[u-1],s[u].id,s[u].op),this.$="oy";break;case 42:n.addLink(s[u-1],s[u].id,s[u].op),this.$={op:s[u-2],id:s[u-1]};break;case 44:this.$={op:s[u-1],id:s[u]};break;case 48:n.addVertex(s[u-1]),this.$=s[u-1];break;case 49:n.addVertex(s[u]),this.$=s[u];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p},{6:23,12:r,13:n},e(g,[2,5]),e(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:f,9:25,12:m,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:A,36:b,42:32,47:E},e([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p}),e(x,[2,8]),e(x,[2,10]),e(x,[2,11]),e(x,[2,12]),e(x,[2,13]),e(x,[2,14]),e(x,[2,15]),e(x,[2,16]),e(x,[2,17]),e(x,[2,18]),e(x,[2,19]),e(x,[2,20]),{7:39,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p},{7:30,8:f,9:40,12:m,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:A,36:b,42:32,47:E},{10:[1,41]},{10:[2,21],28:[1,42]},e(k,[2,23]),e(k,[2,24]),e(k,[2,25]),e(_,v,{44:44,32:[1,43],45:F}),e(k,[2,27],{41:46,43:47,57:D,58:C}),e(k,[2,47],{43:47,34:50,41:51,37:T,57:D,58:C}),{34:53,37:T},{34:54,37:T},{34:55,37:T},{7:56,8:[1,57],14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p},{7:30,8:f,9:58,12:m,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:A,36:b,42:32,47:E},e(x,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:f,9:61,12:m,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:A,36:b,42:32,47:E},{7:62,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p},e(_,[2,48]),e(_,w,{14:10,15:11,7:63,46:64,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p,48:S,49:B,50:L,51:I,52:O,53:P,54:N,55:M,56:R}),e(k,[2,41],{34:74,37:T}),{7:77,8:f,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p,33:76,42:75,47:E},e($,[2,66]),e($,[2,67]),e(k,[2,46]),e(k,[2,40],{34:78,37:T}),{7:81,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p,38:79,39:[1,80]},e(k,[2,28]),e(k,[2,29]),e(k,[2,30]),{8:[1,82]},{7:30,8:f,9:83,12:m,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:A,36:b,42:32,47:E},{10:[1,84]},{7:30,8:f,9:85,12:m,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:A,36:b,42:32,47:E},{5:[2,2]},{10:[2,22]},e(k,[2,26]),e(_,[2,51],{45:[1,86]}),e(_,[2,52]),e(_,[2,56]),e(_,[2,57]),e(_,[2,58]),e(_,[2,59]),e(_,[2,60]),e(_,[2,61]),e(_,[2,62]),e(_,[2,63]),e(_,[2,64]),e(k,[2,38]),e(j,[2,44],{43:47,41:87,57:D,58:C}),e(j,[2,45],{43:47,41:88,57:D,58:C}),e(_,v,{44:44,45:F}),e(k,[2,39]),{39:[1,89]},e(k,[2,34],{34:90,37:T}),{32:[1,91]},{7:30,8:f,9:92,12:m,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:A,36:b,42:32,47:E},{10:[1,93]},e(_,[2,55]),{10:[1,94]},e(_,w,{46:95,48:S,49:B,50:L,51:I,52:O,53:P,54:N,55:M,56:R}),e(j,[2,42]),e(j,[2,43]),e(k,[2,33],{34:96,37:T}),e(k,[2,32]),{7:97,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p},{10:[1,98]},e(_,[2,54]),{5:[2,3]},e(_,[2,50]),e(k,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},e(_,[2,53]),{7:81,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p,38:101},{7:81,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(t,e){if(!e.recoverable){var r=function(t,e){this.message=t,this.hash=e};throw r.prototype=Error,new r(t,e)}this.trace(t)},parse:function(t){var e=this,r=[0],n=[null],i=[],s=this.table,a="",u=0,o=0,c=0,l=i.slice.call(arguments,1),h=Object.create(this.lexer),y={yy:{}};for(var d in this.yy)Object.prototype.hasOwnProperty.call(this.yy,d)&&(y.yy[d]=this.yy[d]);h.setInput(t,y.yy),y.yy.lexer=h,y.yy.parser=this,void 0===h.yylloc&&(h.yylloc={});var p=h.yylloc;i.push(p);var g=h.options&&h.options.ranges;"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var f,m,A,b,E,x,k,_,v,F={};;){if(A=r[r.length-1],this.defaultActions[A]?b=this.defaultActions[A]:(null!==f&&void 0!==f||(f=function(){var t;return t=h.lex()||1,"number"!=typeof t&&(t=e.symbols_[t]||t),t}()),b=s[A]&&s[A][f]),void 0===b||!b.length||!b[0]){var D="";v=[];for(x in s[A])this.terminals_[x]&&x>2&&v.push("'"+this.terminals_[x]+"'");D=h.showPosition?"Parse error on line "+(u+1)+":\n"+h.showPosition()+"\nExpecting "+v.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(u+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(D,{text:h.match,token:this.terminals_[f]||f,line:h.yylineno,loc:p,expected:v})}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+A+", token: "+f);switch(b[0]){case 1:r.push(f),n.push(h.yytext),i.push(h.yylloc),r.push(b[1]),f=null,m?(f=m,m=null):(o=h.yyleng,a=h.yytext,u=h.yylineno,p=h.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[b[1]][1],F.$=n[n.length-k],F._$={first_line:i[i.length-(k||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(k||1)].first_column,last_column:i[i.length-1].last_column},g&&(F._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),void 0!==(E=this.performAction.apply(F,[a,o,u,y.yy,b[1],n,i].concat(l))))return E;k&&(r=r.slice(0,-1*k*2),n=n.slice(0,-1*k),i=i.slice(0,-1*k)),r.push(this.productions_[b[1]][0]),n.push(F.$),i.push(F._$),_=s[r[r.length-2]][r[r.length-1]],r.push(_);break;case 3:return!0}}return!0}},U=function(){return{EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,r=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var r,n,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),n=t[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var s in i)this[s]=i[s];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),s=0;s<i.length;s++)if((r=this._input.match(this.rules[i[s]]))&&(!e||r[0].length>e[0].length)){if(e=r,n=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,i[s])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[n]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return t=this.conditionStack.length-1-Math.abs(t||0),t>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(t,e,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:case 11:case 12:case 13:case 14:case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\s)/,/^(?:\n)/,/^(?:$)/],conditions:{INITIAL:{rules:[0,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,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],inclusive:!0}}}}();return V.lexer=U,t.prototype=V,V.Parser=t,new t}();e.parser=n,e.Parser=n.Parser,e.parse=function(){return n.parse.apply(n,arguments)},e.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),process.exit(1));var n=r(3).readFileSync(r(4).normalize(t[1]),"utf8");return e.parser.parse(n)},void 0!==t&&r.c[r.s]===t&&e.main(process.argv.slice(1))}).call(e,r(2)(t))},function(t,e,r){"use strict";(function(t){var n=function(){function t(){this.yy={}}var e=function(t,e,r,n){for(r=r||{},n=t.length;n--;r[t[n]]=e);return r},r=[1,2],n=[1,3],i=[1,4],s=[2,4],a=[1,9],u=[1,11],o=[1,12],c=[1,14],l=[1,15],h=[1,17],y=[1,18],d=[1,19],p=[1,20],g=[1,21],f=[1,23],m=[1,24],A=[1,4,5,10,15,16,18,20,21,22,23,24,25,27,28,39],b=[1,32],E=[4,5,10,15,16,18,20,21,22,23,25,28,39],x=[4,5,10,15,16,18,20,21,22,23,25,27,28,39],k=[37,38,39],_={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,participant:10,actor:11,AS:12,restOfLine:13,signal:14,activate:15,deactivate:16,note_statement:17,title:18,text2:19,loop:20,end:21,opt:22,alt:23,else:24,par:25,par_sections:26,and:27,note:28,placement:29,over:30,actor_pair:31,spaceList:32,",":33,left_of:34,right_of:35,signaltype:36,"+":37,"-":38,ACTOR:39,SOLID_OPEN_ARROW:40,DOTTED_OPEN_ARROW:41,SOLID_ARROW:42,DOTTED_ARROW:43,SOLID_CROSS:44,DOTTED_CROSS:45,TXT:46,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",10:"participant",12:"AS",13:"restOfLine",15:"activate",16:"deactivate",18:"title",20:"loop",21:"end",22:"opt",23:"alt",24:"else",25:"par",27:"and",28:"note",30:"over",33:",",34:"left_of",35:"right_of",37:"+",38:"-",39:"ACTOR",40:"SOLID_OPEN_ARROW",41:"DOTTED_OPEN_ARROW",42:"SOLID_ARROW",43:"DOTTED_ARROW",44:"SOLID_CROSS",45:"DOTTED_CROSS",46:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,5],[9,3],[9,2],[9,3],[9,3],[9,2],[9,3],[9,4],[9,4],[9,7],[9,4],[26,1],[26,4],[17,4],[17,4],[32,2],[32,1],[31,3],[31,1],[29,1],[29,1],[14,5],[14,5],[14,4],[11,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[19,1]],performAction:function(t,e,r,n,i,s,a){var u=s.length-1;switch(i){case 3:return n.apply(s[u]),s[u];case 4:this.$=[];break;case 5:s[u-1].push(s[u]),this.$=s[u-1];break;case 6:case 7:this.$=s[u];break;case 8:this.$=[];break;case 9:s[u-3].description=s[u-1],this.$=s[u-3];break;case 10:this.$=s[u-1];break;case 12:this.$={type:"activeStart",signalType:n.LINETYPE.ACTIVE_START,actor:s[u-1]};break;case 13:this.$={type:"activeEnd",signalType:n.LINETYPE.ACTIVE_END,actor:s[u-1]};break;case 15:this.$=[{type:"setTitle",text:s[u-1]}];break;case 16:s[u-1].unshift({type:"loopStart",loopText:s[u-2],signalType:n.LINETYPE.LOOP_START}),s[u-1].push({type:"loopEnd",loopText:s[u-2],signalType:n.LINETYPE.LOOP_END}),this.$=s[u-1];break;case 17:s[u-1].unshift({type:"optStart",optText:s[u-2],signalType:n.LINETYPE.OPT_START}),s[u-1].push({type:"optEnd",optText:s[u-2],signalType:n.LINETYPE.OPT_END}),this.$=s[u-1];break;case 18:s[u-4].unshift({type:"altStart",altText:s[u-5],signalType:n.LINETYPE.ALT_START}),s[u-4].push({type:"else",altText:s[u-2],signalType:n.LINETYPE.ALT_ELSE}),s[u-4]=s[u-4].concat(s[u-1]),s[u-4].push({type:"altEnd",signalType:n.LINETYPE.ALT_END}),this.$=s[u-4];break;case 19:s[u-1].unshift({type:"parStart",parText:s[u-2],signalType:n.LINETYPE.PAR_START}),s[u-1].push({type:"parEnd",signalType:n.LINETYPE.PAR_END}),this.$=s[u-1];break;case 21:this.$=s[u-3].concat([{type:"and",parText:s[u-1],signalType:n.LINETYPE.PAR_AND},s[u]]);break;case 22:this.$=[s[u-1],{type:"addNote",placement:s[u-2],actor:s[u-1].actor,text:s[u]}];break;case 23:s[u-2]=[].concat(s[u-1],s[u-1]).slice(0,2),s[u-2][0]=s[u-2][0].actor,s[u-2][1]=s[u-2][1].actor,this.$=[s[u-1],{type:"addNote",placement:n.PLACEMENT.OVER,actor:s[u-2].slice(0,2),text:s[u]}];break;case 26:this.$=[s[u-2],s[u]];break;case 27:this.$=s[u];break;case 28:this.$=n.PLACEMENT.LEFTOF;break;case 29:this.$=n.PLACEMENT.RIGHTOF;break;case 30:this.$=[s[u-4],s[u-1],{type:"addMessage",from:s[u-4].actor,to:s[u-1].actor,signalType:s[u-3],msg:s[u]},{type:"activeStart",signalType:n.LINETYPE.ACTIVE_START,actor:s[u-1]}];break;case 31:this.$=[s[u-4],s[u-1],{type:"addMessage",from:s[u-4].actor,to:s[u-1].actor,signalType:s[u-3],msg:s[u]},{type:"activeEnd",signalType:n.LINETYPE.ACTIVE_END,actor:s[u-4]}];break;case 32:this.$=[s[u-3],s[u-1],{type:"addMessage",from:s[u-3].actor,to:s[u-1].actor,signalType:s[u-2],msg:s[u]}];break;case 33:this.$={type:"addActor",actor:s[u]};break;case 34:this.$=n.LINETYPE.SOLID_OPEN;break;case 35:this.$=n.LINETYPE.DOTTED_OPEN;break;case 36:this.$=n.LINETYPE.SOLID;break;case 37:this.$=n.LINETYPE.DOTTED;break;case 38:this.$=n.LINETYPE.SOLID_CROSS;break;case 39:this.$=n.LINETYPE.DOTTED_CROSS;break;case 40:this.$=s[u].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:r,5:n,6:i},{1:[3]},{3:5,4:r,5:n,6:i},{3:6,4:r,5:n,6:i},e([1,4,5,10,15,16,18,20,22,23,25,28,39],s,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:u,8:8,9:10,10:o,11:22,14:13,15:c,16:l,17:16,18:h,20:y,22:d,23:p,25:g,28:f,39:m},e(A,[2,5]),{9:25,10:o,11:22,14:13,15:c,16:l,17:16,18:h,20:y,22:d,23:p,25:g,28:f,39:m},e(A,[2,7]),e(A,[2,8]),{11:26,39:m},{5:[1,27]},{11:28,39:m},{11:29,39:m},{5:[1,30]},{19:31,46:b},{13:[1,33]},{13:[1,34]},{13:[1,35]},{13:[1,36]},{36:37,40:[1,38],41:[1,39],42:[1,40],43:[1,41],44:[1,42],45:[1,43]},{29:44,30:[1,45],34:[1,46],35:[1,47]},e([5,12,33,40,41,42,43,44,45,46],[2,33]),e(A,[2,6]),{5:[1,49],12:[1,48]},e(A,[2,11]),{5:[1,50]},{5:[1,51]},e(A,[2,14]),{5:[1,52]},{5:[2,40]},e(E,s,{7:53}),e(E,s,{7:54}),e([4,5,10,15,16,18,20,22,23,24,25,28,39],s,{7:55}),e(x,s,{26:56,7:57}),{11:60,37:[1,58],38:[1,59],39:m},e(k,[2,34]),e(k,[2,35]),e(k,[2,36]),e(k,[2,37]),e(k,[2,38]),e(k,[2,39]),{11:61,39:m},{11:63,31:62,39:m},{39:[2,28]},{39:[2,29]},{13:[1,64]},e(A,[2,10]),e(A,[2,12]),e(A,[2,13]),e(A,[2,15]),{4:a,5:u,8:8,9:10,10:o,11:22,14:13,15:c,16:l,17:16,18:h,20:y,21:[1,65],22:d,23:p,25:g,28:f,39:m},{4:a,5:u,8:8,9:10,10:o,11:22,14:13,15:c,16:l,17:16,18:h,20:y,21:[1,66],22:d,23:p,25:g,28:f,39:m},{4:a,5:u,8:8,9:10,10:o,11:22,14:13,15:c,16:l,17:16,18:h,20:y,22:d,23:p,24:[1,67],25:g,28:f,39:m},{21:[1,68]},{4:a,5:u,8:8,9:10,10:o,11:22,14:13,15:c,16:l,17:16,18:h,20:y,21:[2,20],22:d,23:p,25:g,27:[1,69],28:f,39:m},{11:70,39:m},{11:71,39:m},{19:72,46:b},{19:73,46:b},{19:74,46:b},{33:[1,75],46:[2,27]},{5:[1,76]},e(A,[2,16]),e(A,[2,17]),{13:[1,77]},e(A,[2,19]),{13:[1,78]},{19:79,46:b},{19:80,46:b},{5:[2,32]},{5:[2,22]},{5:[2,23]},{11:81,39:m},e(A,[2,9]),e(E,s,{7:82}),e(x,s,{7:57,26:83}),{5:[2,30]},{5:[2,31]},{46:[2,26]},{4:a,5:u,8:8,9:10,10:o,11:22,14:13,15:c,16:l,17:16,18:h,20:y,21:[1,84],22:d,23:p,25:g,28:f,39:m},{21:[2,21]},e(A,[2,18])],defaultActions:{5:[2,1],6:[2,2],32:[2,40],46:[2,28],47:[2,29],72:[2,32],73:[2,22],74:[2,23],79:[2,30],80:[2,31],81:[2,26],83:[2,21]},parseError:function(t,e){if(!e.recoverable){var r=new Error(t);throw r.hash=e,r}this.trace(t)},parse:function(t){var e=this,r=[0],n=[null],i=[],s=this.table,a="",u=0,o=0,c=0,l=i.slice.call(arguments,1),h=Object.create(this.lexer),y={yy:{}};for(var d in this.yy)Object.prototype.hasOwnProperty.call(this.yy,d)&&(y.yy[d]=this.yy[d]);h.setInput(t,y.yy),y.yy.lexer=h,y.yy.parser=this,void 0===h.yylloc&&(h.yylloc={});var p=h.yylloc;i.push(p);var g=h.options&&h.options.ranges;"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var f,m,A,b,E,x,k,_,v,F={};;){if(A=r[r.length-1],this.defaultActions[A]?b=this.defaultActions[A]:(null!==f&&void 0!==f||(f=function(){var t;return t=h.lex()||1,"number"!=typeof t&&(t=e.symbols_[t]||t),t}()),b=s[A]&&s[A][f]),void 0===b||!b.length||!b[0]){var D="";v=[];for(x in s[A])this.terminals_[x]&&x>2&&v.push("'"+this.terminals_[x]+"'");D=h.showPosition?"Parse error on line "+(u+1)+":\n"+h.showPosition()+"\nExpecting "+v.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(u+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(D,{text:h.match,token:this.terminals_[f]||f,line:h.yylineno,loc:p,expected:v})}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+A+", token: "+f);switch(b[0]){case 1:r.push(f),n.push(h.yytext),i.push(h.yylloc),r.push(b[1]),f=null,m?(f=m,m=null):(o=h.yyleng,a=h.yytext,u=h.yylineno,p=h.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[b[1]][1],F.$=n[n.length-k],F._$={first_line:i[i.length-(k||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(k||1)].first_column,last_column:i[i.length-1].last_column},g&&(F._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),void 0!==(E=this.performAction.apply(F,[a,o,u,y.yy,b[1],n,i].concat(l))))return E;k&&(r=r.slice(0,-1*k*2),n=n.slice(0,-1*k),i=i.slice(0,-1*k)),r.push(this.productions_[b[1]][0]),n.push(F.$),i.push(F._$),_=s[r[r.length-2]][r[r.length-1]],r.push(_);break;case 3:return!0}}return!0}},v=function(){return{EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,r=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var r,n,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),n=t[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var s in i)this[s]=i[s];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),s=0;s<i.length;s++)if((r=this._input.match(this.rules[i[s]]))&&(!e||r[0].length>e[0].length)){if(e=r,n=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,i[s])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[n]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return t=this.conditionStack.length-1-Math.abs(t||0),t>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,r,n){switch(r){case 0:return 5;case 1:case 2:case 3:case 4:break;case 5:return this.begin("ID"),10;case 6:return this.begin("ALIAS"),39;case 7:return this.popState(),this.popState(),this.begin("LINE"),12;case 8:return this.popState(),this.popState(),5;case 9:return this.begin("LINE"),20;case 10:return this.begin("LINE"),22;case 11:return this.begin("LINE"),23;case 12:return this.begin("LINE"),24;case 13:return this.begin("LINE"),25;case 14:return this.begin("LINE"),27;case 15:return this.popState(),13;case 16:return 21;case 17:return 34;case 18:return 35;case 19:return 30;case 20:return 28;case 21:return this.begin("ID"),15;case 22:return this.begin("ID"),16;case 23:return 18;case 24:return 6;case 25:return 33;case 26:return 5;case 27:return e.yytext=e.yytext.trim(),39;case 28:return 42;case 29:return 43;case 30:return 40;case 31:return 41;case 32:return 44;case 33:return 45;case 34:return 46;case 35:return 37;case 36:return 38;case 37:return 5;case 38:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:[^\->:\n,;]+?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:and\b)/i,/^(?:[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\+\->:\n,;]+)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?::[^#\n;]+)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[2,3,15],inclusive:!1},ALIAS:{rules:[2,3,7,8],inclusive:!1},ID:{rules:[2,3,6],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,9,10,11,12,13,14,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],inclusive:!0}}}}();return _.lexer=v,t.prototype=_,_.Parser=t,new t}();e.parser=n,e.Parser=n.Parser,e.parse=function(){return n.parse.apply(n,arguments)},e.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),process.exit(1));var n=r(3).readFileSync(r(4).normalize(t[1]),"utf8");return e.parser.parse(n)},void 0!==t&&r.c[r.s]===t&&e.main(process.argv.slice(1))}).call(e,r(2)(t))},function(t,e,r){"use strict";var n={},i=[],s=[],a="",u=r(0),o=u.Log;e.addActor=function(t,e,r){var i=n[t];i&&e===i.name&&null==r||(null==r&&(r=e),n[t]={name:e,description:r})},e.addMessage=function(t,e,r,n){i.push({from:t,to:e,message:r,answer:n})},e.addSignal=function(t,e,r,n){o.debug("Adding message from="+t+" to="+e+" message="+r+" type="+n),i.push({from:t,to:e,message:r,type:n})},e.getMessages=function(){return i},e.getActors=function(){return n},e.getActor=function(t){return n[t]},e.getActorKeys=function(){return Object.keys(n)},e.getTitle=function(){return a},e.clear=function(){n={},i=[]},e.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21},e.ARROWTYPE={FILLED:0,OPEN:1},e.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},e.addNote=function(t,r,n){var a={actor:t,placement:r,message:n},u=[].concat(t,t);s.push(a),i.push({from:u[0],to:u[1],message:n,type:e.LINETYPE.NOTE,placement:r})},e.setTitle=function(t){a=t},e.parseError=function(t,e){global.mermaidAPI.parseError(t,e)},e.apply=function(t){if(t instanceof Array)t.forEach(function(t){e.apply(t)});else switch(t.type){case"addActor":e.addActor(t.actor,t.actor,t.description);break;case"activeStart":case"activeEnd":e.addSignal(t.actor,void 0,void 0,t.signalType);break;case"addNote":e.addNote(t.actor,t.placement,t.text);break;case"addMessage":e.addSignal(t.from,t.to,t.msg,t.signalType);break;case"loopStart":e.addSignal(void 0,void 0,t.loopText,t.signalType);break;case"loopEnd":e.addSignal(void 0,void 0,void 0,t.signalType);break;case"optStart":e.addSignal(void 0,void 0,t.optText,t.signalType);break;case"optEnd":e.addSignal(void 0,void 0,void 0,t.signalType);break;case"altStart":case"else":e.addSignal(void 0,void 0,t.altText,t.signalType);break;case"altEnd":e.addSignal(void 0,void 0,void 0,t.signalType);break;case"setTitle":e.setTitle(t.text);break;case"parStart":case"and":e.addSignal(void 0,void 0,t.parText,t.signalType);break;case"parEnd":e.addSignal(void 0,void 0,void 0,t.signalType)}}},function(t,e,r){"use strict";var n=r(0),i=n.Log,s="",a=!1;e.setMessage=function(t){i.debug("Setting message to: "+t),s=t},e.getMessage=function(){return s},e.setInfo=function(t){a=t},e.getInfo=function(){return a},e.parseError=function(t,e){global.mermaidAPI.parseError(t,e)}},function(t,e,r){"use strict";(function(t){var n=function(){function t(){this.yy={}}var e=function(t,e,r,n){for(r=r||{},n=t.length;n--;r[t[n]]=e);return r},r=[6,9,10,12],n={trace:function(){},yy:{},symbols_:{error:2,start:3,info:4,document:5,EOF:6,line:7,statement:8,NL:9,showInfo:10,message:11,say:12,TXT:13,$accept:0,$end:1},terminals_:{2:"error",4:"info",6:"EOF",9:"NL",10:"showInfo",12:"say",13:"TXT"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,1],[8,1],[11,2]],performAction:function(t,e,r,n,i,s,a){var u=s.length-1;switch(i){case 1:return n;case 4:break;case 6:n.setInfo(!0);break;case 7:n.setMessage(s[u]);break;case 8:this.$=s[u-1].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},e(r,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:9,12:[1,10]},{1:[2,1]},e(r,[2,3]),e(r,[2,4]),e(r,[2,5]),e(r,[2,6]),e(r,[2,7]),{13:[1,11]},e(r,[2,8])],defaultActions:{4:[2,1]},parseError:function(t,e){if(!e.recoverable){var r=function(t,e){this.message=t,this.hash=e};throw r.prototype=Error,new r(t,e)}this.trace(t)},parse:function(t){var e=this,r=[0],n=[null],i=[],s=this.table,a="",u=0,o=0,c=0,l=i.slice.call(arguments,1),h=Object.create(this.lexer),y={yy:{}};for(var d in this.yy)Object.prototype.hasOwnProperty.call(this.yy,d)&&(y.yy[d]=this.yy[d]);h.setInput(t,y.yy),y.yy.lexer=h,y.yy.parser=this,void 0===h.yylloc&&(h.yylloc={});var p=h.yylloc;i.push(p);var g=h.options&&h.options.ranges;"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var f,m,A,b,E,x,k,_,v,F={};;){if(A=r[r.length-1],this.defaultActions[A]?b=this.defaultActions[A]:(null!==f&&void 0!==f||(f=function(){var t;return t=h.lex()||1,"number"!=typeof t&&(t=e.symbols_[t]||t),t}()),b=s[A]&&s[A][f]),void 0===b||!b.length||!b[0]){var D="";v=[];for(x in s[A])this.terminals_[x]&&x>2&&v.push("'"+this.terminals_[x]+"'");D=h.showPosition?"Parse error on line "+(u+1)+":\n"+h.showPosition()+"\nExpecting "+v.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(u+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(D,{text:h.match,token:this.terminals_[f]||f,line:h.yylineno,loc:p,expected:v})}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+A+", token: "+f);switch(b[0]){case 1:r.push(f),n.push(h.yytext),i.push(h.yylloc),r.push(b[1]),f=null,m?(f=m,m=null):(o=h.yyleng,a=h.yytext,u=h.yylineno,p=h.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[b[1]][1],F.$=n[n.length-k],F._$={first_line:i[i.length-(k||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(k||1)].first_column,last_column:i[i.length-1].last_column},g&&(F._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),void 0!==(E=this.performAction.apply(F,[a,o,u,y.yy,b[1],n,i].concat(l))))return E;k&&(r=r.slice(0,-1*k*2),n=n.slice(0,-1*k),i=i.slice(0,-1*k)),r.push(this.productions_[b[1]][0]),n.push(F.$),i.push(F._$),_=s[r[r.length-2]][r[r.length-1]],r.push(_);break;case 3:return!0}}return!0}},i=function(){return{EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,r=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var r,n,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),n=t[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var s in i)this[s]=i[s];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),s=0;s<i.length;s++)if((r=this._input.match(this.rules[i[s]]))&&(!e||r[0].length>e[0].length)){if(e=r,n=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,i[s])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[n]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return t=this.conditionStack.length-1-Math.abs(t||0),t>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,r,n){switch(r){case 0:return 9;case 1:return 10;case 2:return 4;case 3:return 12;case 4:return 13;case 5:return 6;case 6:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:showInfo\b)/i,/^(?:info\b)/i,/^(?:say\b)/i,/^(?::[^#\n;]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6],inclusive:!0}}}}();return n.lexer=i,t.prototype=n,n.Parser=t,new t}();e.parser=n,e.Parser=n.Parser,e.parse=function(){return n.parse.apply(n,arguments)},e.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),process.exit(1));var n=r(3).readFileSync(r(4).normalize(t[1]),"utf8");return e.parser.parse(n)},void 0!==t&&r.c[r.s]===t&&e.main(process.argv.slice(1))}).call(e,r(2)(t))},function(t,e,r){"use strict";(function(t){var n=function(){function t(){this.yy={}}var e=function(t,e,r,n){for(r=r||{},n=t.length;n--;r[t[n]]=e);return r},r=[6,8,10,11,12,13,14],n=[1,9],i=[1,10],s=[1,11],a=[1,12],u={trace:function(){},yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,dateFormat:11,title:12,section:13,taskTxt:14,taskData:15,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",11:"dateFormat",12:"title",13:"section",14:"taskTxt",15:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,1],[9,1],[9,2]],performAction:function(t,e,r,n,i,s,a){var u=s.length-1;switch(i){case 1:return s[u-1];case 2:this.$=[];break;case 3:s[u-1].push(s[u]),this.$=s[u-1];break;case 4:case 5:this.$=s[u];break;case 6:case 7:this.$=[];break;case 8:n.setDateFormat(s[u].substr(11)),this.$=s[u].substr(11);break;case 9:n.setTitle(s[u].substr(6)),this.$=s[u].substr(6);break;case 10:n.addSection(s[u].substr(8)),this.$=s[u].substr(8);break;case 11:n.addTask(s[u-1],s[u]),this.$="task"}},table:[{3:1,4:[1,2]},{1:[3]},e(r,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:n,12:i,13:s,14:a},e(r,[2,7],{1:[2,1]}),e(r,[2,3]),{9:13,11:n,12:i,13:s,14:a},e(r,[2,5]),e(r,[2,6]),e(r,[2,8]),e(r,[2,9]),e(r,[2,10]),{15:[1,14]},e(r,[2,4]),e(r,[2,11])],defaultActions:{},parseError:function(t,e){if(!e.recoverable){var r=function(t,e){this.message=t,this.hash=e};throw r.prototype=Error,new r(t,e)}this.trace(t)},parse:function(t){var e=this,r=[0],n=[null],i=[],s=this.table,a="",u=0,o=0,c=0,l=i.slice.call(arguments,1),h=Object.create(this.lexer),y={yy:{}};for(var d in this.yy)Object.prototype.hasOwnProperty.call(this.yy,d)&&(y.yy[d]=this.yy[d]);h.setInput(t,y.yy),y.yy.lexer=h,y.yy.parser=this,void 0===h.yylloc&&(h.yylloc={});var p=h.yylloc;i.push(p);var g=h.options&&h.options.ranges;"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var f,m,A,b,E,x,k,_,v,F={};;){if(A=r[r.length-1],this.defaultActions[A]?b=this.defaultActions[A]:(null!==f&&void 0!==f||(f=function(){var t;return t=h.lex()||1,"number"!=typeof t&&(t=e.symbols_[t]||t),t}()),b=s[A]&&s[A][f]),void 0===b||!b.length||!b[0]){var D="";v=[];for(x in s[A])this.terminals_[x]&&x>2&&v.push("'"+this.terminals_[x]+"'");D=h.showPosition?"Parse error on line "+(u+1)+":\n"+h.showPosition()+"\nExpecting "+v.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(u+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(D,{text:h.match,token:this.terminals_[f]||f,line:h.yylineno,loc:p,expected:v})}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+A+", token: "+f);switch(b[0]){case 1:r.push(f),n.push(h.yytext),i.push(h.yylloc),r.push(b[1]),f=null,m?(f=m,m=null):(o=h.yyleng,a=h.yytext,u=h.yylineno,p=h.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[b[1]][1],F.$=n[n.length-k],F._$={first_line:i[i.length-(k||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(k||1)].first_column,last_column:i[i.length-1].last_column},g&&(F._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),void 0!==(E=this.performAction.apply(F,[a,o,u,y.yy,b[1],n,i].concat(l))))return E;k&&(r=r.slice(0,-1*k*2),n=n.slice(0,-1*k),i=i.slice(0,-1*k)),r.push(this.productions_[b[1]][0]),n.push(F.$),i.push(F._$),_=s[r[r.length-2]][r[r.length-1]],r.push(_);break;case 3:return!0}}return!0}},o=function(){return{EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,r=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var r,n,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),n=t[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var s in i)this[s]=i[s];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),s=0;s<i.length;s++)if((r=this._input.match(this.rules[i[s]]))&&(!e||r[0].length>e[0].length)){if(e=r,n=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,i[s])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[n]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return t=this.conditionStack.length-1-Math.abs(t||0),t>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,r,n){switch(r){case 0:return 10;case 1:case 2:case 3:break;case 4:return 4;case 5:return 11;case 6:return"date";case 7:return 12;case 8:return 13;case 9:return 14;case 10:return 15;case 11:return":";case 12:return 6;case 13:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13],inclusive:!0}}}}();return u.lexer=o,t.prototype=u,u.Parser=t,new t}();e.parser=n,e.Parser=n.Parser,e.parse=function(){return n.parse.apply(n,arguments)},e.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),process.exit(1));var n=r(3).readFileSync(r(4).normalize(t[1]),"utf8");return e.parser.parse(n)},void 0!==t&&r.c[r.s]===t&&e.main(process.argv.slice(1))}).call(e,r(2)(t))},function(t,e,r){"use strict";var n=r(15),i=r(0),s=i.Log,a="",u="",o=[],c=[],l="";e.clear=function(){o=[],c=[],l="",u="",g=0,h=void 0,y=void 0,b=[]},e.setDateFormat=function(t){a=t},e.getDateFormat=function(){return a},e.setTitle=function(t){u=t},e.getTitle=function(){return u},e.addSection=function(t){l=t,o.push(t)},e.getTasks=function(){for(var t=x(),e=0;!t&&e<10;)t=x(),e++;return c=b};var h,y,d=function(t,r,i){i=i.trim();var a=/^after\s+([\d\w-]+)/,u=a.exec(i.trim());if(null!==u){var o=e.findTaskById(u[1]);if(void 0===o){var c=new Date;return c.setHours(0,0,0,0),c}return o.endTime}return n(i,r.trim(),!0).isValid()?n(i,r.trim(),!0).toDate():(s.debug("Invalid date:"+i),s.debug("With date format:"+r.trim()),new Date)},p=function(t,e,r){if(r=r.trim(),n(r,e.trim(),!0).isValid())return n(r,e.trim()).toDate();var i=n(t),s=/^([\d]+)([wdhms])/,a=s.exec(r.trim());if(null!==a){switch(a[2]){case"s":i.add(a[1],"seconds");break;case"m":i.add(a[1],"minutes");break;case"h":i.add(a[1],"hours");break;case"d":i.add(a[1],"days");break;case"w":i.add(a[1],"weeks")}return i.toDate()}return i.toDate()},g=0,f=function(t){return void 0===t?"task"+(g+=1):t},m=function(t,r){var n;n=":"===r.substr(0,1)?r.substr(1,r.length):r;for(var i=n.split(","),s={},a=e.getDateFormat(),u=!0;u;)u=!1,i[0].match(/^\s*active\s*$/)&&(s.active=!0,i.shift(1),u=!0),i[0].match(/^\s*done\s*$/)&&(s.done=!0,i.shift(1),u=!0),i[0].match(/^\s*crit\s*$/)&&(s.crit=!0,i.shift(1),u=!0);var o;for(o=0;o<i.length;o++)i[o]=i[o].trim();switch(i.length){case 1:s.id=f(),s.startTime=t.endTime,s.endTime=p(s.startTime,a,i[0]);break;case 2:s.id=f(),s.startTime=d(0,a,i[0]),s.endTime=p(s.startTime,a,i[1]);break;case 3:s.id=f(i[0]),s.startTime=d(0,a,i[1]),s.endTime=p(s.startTime,a,i[2])}return s},A=function(t,e){var r;r=":"===e.substr(0,1)?e.substr(1,e.length):e;for(var n=r.split(","),i={},s=!0;s;)s=!1,n[0].match(/^\s*active\s*$/)&&(i.active=!0,n.shift(1),s=!0),n[0].match(/^\s*done\s*$/)&&(i.done=!0,n.shift(1),s=!0),n[0].match(/^\s*crit\s*$/)&&(i.crit=!0,n.shift(1),s=!0);var a;for(a=0;a<n.length;a++)n[a]=n[a].trim();switch(n.length){case 1:i.id=f(),i.startTime={type:"prevTaskEnd",id:t},i.endTime={data:n[0]};break;case 2:i.id=f(),i.startTime={type:"getStartDate",startData:n[0]},i.endTime={data:n[1]};break;case 3:i.id=f(n[0]),i.startTime={type:"getStartDate",startData:n[1]},i.endTime={data:n[2]}}return i},b=[],E={};e.addTask=function(t,e){var r={section:l,type:l,processed:!1,raw:{data:e},task:t},n=A(y,e);r.raw.startTime=n.startTime,r.raw.endTime=n.endTime,r.id=n.id,r.prevTaskId=y,r.active=n.active,r.done=n.done,r.crit=n.crit;var i=b.push(r);y=r.id,E[r.id]=i-1},e.findTaskById=function(t){var e=E[t];return b[e]},e.addTaskOrg=function(t,e){var r={section:l,type:l,description:t,task:t},n=m(h,e);r.startTime=n.startTime,r.endTime=n.endTime,r.id=n.id,r.active=n.active,r.done=n.done,r.crit=n.crit,h=r,c.push(r)};var x=function(){var t,r=e.getDateFormat(),n=!0;for(t=0;t<b.length;t++)!function(t){var n=b[t],i="";switch(b[t].raw.startTime.type){case"prevTaskEnd":var s=e.findTaskById(n.prevTaskId);n.startTime=s.endTime;break;case"getStartDate":i=d(0,r,b[t].raw.startTime.startData),i&&(b[t].startTime=i)}b[t].startTime&&(b[t].endTime=p(b[t].startTime,r,b[t].raw.endTime.data),b[t].endTime&&(b[t].processed=!0)),b[t].processed}(t),n=n&&b[t].processed;return n};e.parseError=function(t,e){global.mermaidAPI.parseError(t,e)}},function(t,e){t.exports=require("moment")},function(t,e,r){"use strict";(function(t){var n=function(){function t(){this.yy={}}var e=function(t,e,r,n){for(r=r||{},n=t.length;n--;r[t[n]]=e);return r},r=[1,11],n=[1,12],i=[1,13],s=[1,15],a=[1,16],u=[1,17],o=[6,8],c=[1,26],l=[1,27],h=[1,28],y=[1,29],d=[1,30],p=[1,31],g=[6,8,13,17,23,26,27,28,29,30,31],f=[6,8,13,17,23,26,27,28,29,30,31,45,46,47],m=[23,45,46,47],A=[23,30,31,45,46,47],b=[23,26,27,28,29,45,46,47],E=[6,8,13],x=[1,46],k={trace:function(){},yy:{},symbols_:{error:2,mermaidDoc:3,graphConfig:4,CLASS_DIAGRAM:5,NEWLINE:6,statements:7,EOF:8,statement:9,className:10,alphaNumToken:11,relationStatement:12,LABEL:13,classStatement:14,methodStatement:15,CLASS:16,STRUCT_START:17,members:18,STRUCT_STOP:19,MEMBER:20,SEPARATOR:21,relation:22,STR:23,relationType:24,lineType:25,AGGREGATION:26,EXTENSION:27,COMPOSITION:28,DEPENDENCY:29,LINE:30,DOTTED_LINE:31,commentToken:32,textToken:33,graphCodeTokens:34,textNoTagsToken:35,TAGSTART:36,TAGEND:37,"==":38,"--":39,PCT:40,DEFAULT:41,SPACE:42,MINUS:43,keywords:44,UNICODE_TEXT:45,NUM:46,ALPHA:47,$accept:0,$end:1},terminals_:{2:"error",5:"CLASS_DIAGRAM",6:"NEWLINE",8:"EOF",13:"LABEL",16:"CLASS",17:"STRUCT_START",19:"STRUCT_STOP",20:"MEMBER",21:"SEPARATOR",23:"STR",26:"AGGREGATION",27:"EXTENSION",28:"COMPOSITION",29:"DEPENDENCY",30:"LINE",31:"DOTTED_LINE",34:"graphCodeTokens",36:"TAGSTART",37:"TAGEND",38:"==",39:"--",40:"PCT",41:"DEFAULT",42:"SPACE",43:"MINUS",44:"keywords",45:"UNICODE_TEXT",46:"NUM",47:"ALPHA"},productions_:[0,[3,1],[4,4],[7,1],[7,3],[10,2],[10,1],[9,1],[9,2],[9,1],[9,1],[14,2],[14,5],[18,1],[18,2],[15,1],[15,2],[15,1],[15,1],[12,3],[12,4],[12,4],[12,5],[22,3],[22,2],[22,2],[22,1],[24,1],[24,1],[24,1],[24,1],[25,1],[25,1],[32,1],[32,1],[33,1],[33,1],[33,1],[33,1],[33,1],[33,1],[33,1],[35,1],[35,1],[35,1],[35,1],[11,1],[11,1],[11,1]],performAction:function(t,e,r,n,i,s,a){var u=s.length-1;switch(i){case 5:this.$=s[u-1]+s[u];break;case 6:this.$=s[u];break;case 7:n.addRelation(s[u]);break;case 8:s[u-1].title=n.cleanupLabel(s[u]),n.addRelation(s[u-1]);break;case 12:n.addMembers(s[u-3],s[u-1]);break;case 13:this.$=[s[u]];break;case 14:s[u].push(s[u-1]),this.$=s[u];break;case 15:break;case 16:n.addMembers(s[u-1],n.cleanupLabel(s[u]));break;case 17:console.warn("Member",s[u]);break;case 18:break;case 19:this.$={id1:s[u-2],id2:s[u],relation:s[u-1],relationTitle1:"none",relationTitle2:"none"};break;case 20:this.$={id1:s[u-3],id2:s[u],relation:s[u-1],relationTitle1:s[u-2],relationTitle2:"none"};break;case 21:this.$={id1:s[u-3],id2:s[u],relation:s[u-2],relationTitle1:"none",relationTitle2:s[u-1]};break;case 22:this.$={id1:s[u-4],id2:s[u],relation:s[u-2],relationTitle1:s[u-3],relationTitle2:s[u-1]};break;case 23:this.$={type1:s[u-2],type2:s[u],lineType:s[u-1]};break;case 24:this.$={type1:"none",type2:s[u],lineType:s[u-1]};break;case 25:this.$={type1:s[u-1],type2:"none",lineType:s[u]};break;case 26:this.$={type1:"none",type2:"none",lineType:s[u]};break;case 27:this.$=n.relationType.AGGREGATION;break;case 28:this.$=n.relationType.EXTENSION;break;case 29:this.$=n.relationType.COMPOSITION;break;case 30:this.$=n.relationType.DEPENDENCY;break;case 31:this.$=n.lineType.LINE;break;case 32:this.$=n.lineType.DOTTED_LINE}},table:[{3:1,4:2,5:[1,3]},{1:[3]},{1:[2,1]},{6:[1,4]},{7:5,9:6,10:10,11:14,12:7,14:8,15:9,16:r,20:n,21:i,45:s,46:a,47:u},{8:[1,18]},{6:[1,19],8:[2,3]},e(o,[2,7],{13:[1,20]}),e(o,[2,9]),e(o,[2,10]),e(o,[2,15],{22:21,24:24,25:25,13:[1,23],23:[1,22],26:c,27:l,28:h,29:y,30:d,31:p}),{10:32,11:14,45:s,46:a,47:u},e(o,[2,17]),e(o,[2,18]),e(g,[2,6],{11:14,10:33,45:s,46:a,47:u}),e(f,[2,46]),e(f,[2,47]),e(f,[2,48]),{1:[2,2]},{7:34,9:6,10:10,11:14,12:7,14:8,15:9,16:r,20:n,21:i,45:s,46:a,47:u},e(o,[2,8]),{10:35,11:14,23:[1,36],45:s,46:a,47:u},{22:37,24:24,25:25,26:c,27:l,28:h,29:y,30:d,31:p},e(o,[2,16]),{25:38,30:d,31:p},e(m,[2,26],{24:39,26:c,27:l,28:h,29:y}),e(A,[2,27]),e(A,[2,28]),e(A,[2,29]),e(A,[2,30]),e(b,[2,31]),e(b,[2,32]),e(o,[2,11],{17:[1,40]}),e(g,[2,5]),{8:[2,4]},e(E,[2,19]),{10:41,11:14,45:s,46:a,47:u},{10:42,11:14,23:[1,43],45:s,46:a,47:u},e(m,[2,25],{24:44,26:c,27:l,28:h,29:y}),e(m,[2,24]),{18:45,20:x},e(E,[2,21]),e(E,[2,20]),{10:47,11:14,45:s,46:a,47:u},e(m,[2,23]),{19:[1,48]},{18:49,19:[2,13],20:x},e(E,[2,22]),e(o,[2,12]),{19:[2,14]}],defaultActions:{2:[2,1],18:[2,2],34:[2,4],49:[2,14]},parseError:function(t,e){if(!e.recoverable){var r=function(t,e){this.message=t,this.hash=e};throw r.prototype=Error,new r(t,e)}this.trace(t)},parse:function(t){var e=this,r=[0],n=[null],i=[],s=this.table,a="",u=0,o=0,c=0,l=i.slice.call(arguments,1),h=Object.create(this.lexer),y={yy:{}};for(var d in this.yy)Object.prototype.hasOwnProperty.call(this.yy,d)&&(y.yy[d]=this.yy[d]);h.setInput(t,y.yy),y.yy.lexer=h,y.yy.parser=this,void 0===h.yylloc&&(h.yylloc={});var p=h.yylloc;i.push(p);var g=h.options&&h.options.ranges;"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var f,m,A,b,E,x,k,_,v,F={};;){if(A=r[r.length-1],this.defaultActions[A]?b=this.defaultActions[A]:(null!==f&&void 0!==f||(f=function(){var t;return t=h.lex()||1,"number"!=typeof t&&(t=e.symbols_[t]||t),t}()),b=s[A]&&s[A][f]),void 0===b||!b.length||!b[0]){var D="";v=[];for(x in s[A])this.terminals_[x]&&x>2&&v.push("'"+this.terminals_[x]+"'");D=h.showPosition?"Parse error on line "+(u+1)+":\n"+h.showPosition()+"\nExpecting "+v.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(u+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(D,{text:h.match,token:this.terminals_[f]||f,line:h.yylineno,loc:p,expected:v})}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+A+", token: "+f);switch(b[0]){case 1:r.push(f),n.push(h.yytext),i.push(h.yylloc),r.push(b[1]),f=null,m?(f=m,m=null):(o=h.yyleng,a=h.yytext,u=h.yylineno,p=h.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[b[1]][1],F.$=n[n.length-k],F._$={first_line:i[i.length-(k||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(k||1)].first_column,last_column:i[i.length-1].last_column},g&&(F._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),void 0!==(E=this.performAction.apply(F,[a,o,u,y.yy,b[1],n,i].concat(l))))return E;k&&(r=r.slice(0,-1*k*2),n=n.slice(0,-1*k),i=i.slice(0,-1*k)),r.push(this.productions_[b[1]][0]),n.push(F.$),i.push(F._$),_=s[r[r.length-2]][r[r.length-1]],r.push(_);break;case 3:return!0}}return!0}},_=function(){return{EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,r=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var r,n,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),n=t[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var s in i)this[s]=i[s];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),s=0;s<i.length;s++)if((r=this._input.match(this.rules[i[s]]))&&(!e||r[0].length>e[0].length)){if(e=r,n=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,i[s])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[n]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return t=this.conditionStack.length-1-Math.abs(t||0),t>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(t,e,r,n){switch(r){case 0:break;case 1:return 6;case 2:break;case 3:return 5;case 4:return this.begin("struct"),17;case 5:return this.popState(),19;case 6:break;case 7:return"MEMBER";case 8:return 16;case 9:this.begin("string");break;case 10:this.popState();break;case 11:return"STR";case 12:case 13:return 27;case 14:case 15:return 29;case 16:return 28;case 17:return 26;case 18:return 30;case 19:return 31;case 20:return 13;case 21:return 43;case 22:return"DOT";case 23:return"PLUS";case 24:return 40;case 25:case 26:return"EQUALS";case 27:return 47;case 28:return"PUNCTUATION";case 29:return 46;case 30:return 45;case 31:return 42;case 32:return 8}},rules:[/^(?:%%[^\n]*)/,/^(?:\n+)/,/^(?:\s+)/,/^(?:classDiagram\b)/,/^(?:[\{])/,/^(?:\})/,/^(?:[\n])/,/^(?:[^\{\}\n]*)/,/^(?:class\b)/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:--)/,/^(?:\.\.)/,/^(?::[^#\n;]+)/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:[A-Za-z]+)/,/^(?:[!"#$%&'*+,-.`?\\_\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:$)/],conditions:{string:{rules:[10,11],inclusive:!1},struct:{rules:[5,6,7],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,8,9,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32],inclusive:!0}}}}();return k.lexer=_,t.prototype=k,k.Parser=t,new t}();e.parser=n,e.Parser=n.Parser,e.parse=function(){return n.parse.apply(n,arguments)},e.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),process.exit(1));var n=r(3).readFileSync(r(4).normalize(t[1]),"utf8");return e.parser.parse(n)},void 0!==t&&r.c[r.s]===t&&e.main(process.argv.slice(1))}).call(e,r(2)(t))},function(t,e,r){"use strict";var n,i=r(0),s=i.Log,a=[];n={},e.addClass=function(t){void 0===n[t]&&(n[t]={id:t,methods:[],members:[]})},e.clear=function(){a=[],n={}},t.exports.getClass=function(t){return n[t]},t.exports.getClasses=function(){return n},t.exports.getRelations=function(){return a},e.addRelation=function(t){s.warn("Adding relation: "+JSON.stringify(t)),e.addClass(t.id1),e.addClass(t.id2),a.push(t)},e.addMembers=function(t,e){var r=n[t];"string"==typeof e&&(")"===e.substr(-1)?r.methods.push(e):r.members.push(e))},e.cleanupLabel=function(t){return":"===t.substring(0,1)?t.substr(2).trim():t.trim()},e.lineType={LINE:0,DOTTED_LINE:1},e.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3}},function(t,e,r){"use strict";(function(t){var n=function(){function t(){this.yy={}}var e=function(t,e,r,n){for(r=r||{},n=t.length;n--;r[t[n]]=e);return r},r=[2,3],n=[1,7],i=[7,12,15,17,19,20,21],s=[7,11,12,15,17,19,20,21],a=[2,20],u=[1,32],o={trace:function(){},yy:{},symbols_:{error:2,start:3,GG:4,":":5,document:6,EOF:7,DIR:8,options:9,body:10,OPT:11,NL:12,line:13,statement:14,COMMIT:15,commit_arg:16,BRANCH:17,ID:18,CHECKOUT:19,MERGE:20,RESET:21,reset_arg:22,STR:23,HEAD:24,reset_parents:25,CARET:26,$accept:0,$end:1},terminals_:{2:"error",4:"GG",5:":",7:"EOF",8:"DIR",11:"OPT",12:"NL",15:"COMMIT",17:"BRANCH",18:"ID",19:"CHECKOUT",20:"MERGE",21:"RESET",23:"STR",24:"HEAD",26:"CARET"},productions_:[0,[3,4],[3,5],[6,0],[6,2],[9,2],[9,1],[10,0],[10,2],[13,2],[13,1],[14,2],[14,2],[14,2],[14,2],[14,2],[16,0],[16,1],[22,2],[22,2],[25,0],[25,2]],performAction:function(t,e,r,n,i,s,a){var u=s.length-1;switch(i){case 1:return s[u-1];case 2:return n.setDirection(s[u-3]),s[u-1];case 4:n.setOptions(s[u-1]),this.$=s[u];break;case 5:s[u-1]+=s[u],this.$=s[u-1];break;case 7:this.$=[];break;case 8:s[u-1].push(s[u]),this.$=s[u-1];break;case 9:this.$=s[u-1];break;case 11:n.commit(s[u]);break;case 12:n.branch(s[u]);break;case 13:n.checkout(s[u]);break;case 14:n.merge(s[u]);break;case 15:n.reset(s[u]);break;case 16:this.$="";break;case 17:this.$=s[u];break;case 18:this.$=s[u-1]+":"+s[u];break;case 19:this.$=s[u-1]+":"+n.count,n.count=0;break;case 20:n.count=0;break;case 21:n.count+=1}},table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3],8:[1,4]},{6:5,7:r,9:6,12:n},{5:[1,8]},{7:[1,9]},e(i,[2,7],{10:10,11:[1,11]}),e(s,[2,6]),{6:12,7:r,9:6,12:n},{1:[2,1]},{7:[2,4],12:[1,15],13:13,14:14,15:[1,16],17:[1,17],19:[1,18],20:[1,19],21:[1,20]},e(s,[2,5]),{7:[1,21]},e(i,[2,8]),{12:[1,22]},e(i,[2,10]),{12:[2,16],16:23,23:[1,24]},{18:[1,25]},{18:[1,26]},{18:[1,27]},{18:[1,30],22:28,24:[1,29]},{1:[2,2]},e(i,[2,9]),{12:[2,11]},{12:[2,17]},{12:[2,12]},{12:[2,13]},{12:[2,14]},{12:[2,15]},{12:a,25:31,26:u},{12:a,25:33,26:u},{12:[2,18]},{12:a,25:34,26:u},{12:[2,19]},{12:[2,21]}],defaultActions:{9:[2,1],21:[2,2],23:[2,11],24:[2,17],25:[2,12],26:[2,13],27:[2,14],28:[2,15],31:[2,18],33:[2,19],34:[2,21]},parseError:function(t,e){if(!e.recoverable){var r=function(t,e){this.message=t,this.hash=e};throw r.prototype=Error,new r(t,e)}this.trace(t)},parse:function(t){var e=this,r=[0],n=[null],i=[],s=this.table,a="",u=0,o=0,c=0,l=i.slice.call(arguments,1),h=Object.create(this.lexer),y={yy:{}};for(var d in this.yy)Object.prototype.hasOwnProperty.call(this.yy,d)&&(y.yy[d]=this.yy[d]);h.setInput(t,y.yy),y.yy.lexer=h,y.yy.parser=this,void 0===h.yylloc&&(h.yylloc={});var p=h.yylloc;i.push(p);var g=h.options&&h.options.ranges;"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var f,m,A,b,E,x,k,_,v,F={};;){if(A=r[r.length-1],this.defaultActions[A]?b=this.defaultActions[A]:(null!==f&&void 0!==f||(f=function(){var t;return t=h.lex()||1,"number"!=typeof t&&(t=e.symbols_[t]||t),t}()),b=s[A]&&s[A][f]),void 0===b||!b.length||!b[0]){var D="";v=[];for(x in s[A])this.terminals_[x]&&x>2&&v.push("'"+this.terminals_[x]+"'");D=h.showPosition?"Parse error on line "+(u+1)+":\n"+h.showPosition()+"\nExpecting "+v.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(u+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(D,{text:h.match,token:this.terminals_[f]||f,line:h.yylineno,loc:p,expected:v})}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+A+", token: "+f);switch(b[0]){case 1:r.push(f),n.push(h.yytext),i.push(h.yylloc),r.push(b[1]),f=null,m?(f=m,m=null):(o=h.yyleng,a=h.yytext,u=h.yylineno,p=h.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[b[1]][1],F.$=n[n.length-k],F._$={first_line:i[i.length-(k||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(k||1)].first_column,last_column:i[i.length-1].last_column},g&&(F._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),void 0!==(E=this.performAction.apply(F,[a,o,u,y.yy,b[1],n,i].concat(l))))return E;k&&(r=r.slice(0,-1*k*2),n=n.slice(0,-1*k),i=i.slice(0,-1*k)),r.push(this.productions_[b[1]][0]),n.push(F.$),i.push(F._$),_=s[r[r.length-2]][r[r.length-1]],r.push(_);break;case 3:return!0}}return!0}},c=function(){return{EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,r=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var r,n,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),n=t[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var s in i)this[s]=i[s];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),s=0;s<i.length;s++)if((r=this._input.match(this.rules[i[s]]))&&(!e||r[0].length>e[0].length)){if(e=r,n=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,i[s])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[n]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return t=this.conditionStack.length-1-Math.abs(t||0),t>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,r,n){switch(r){case 0:return 12;case 1:case 2:case 3:break;case 4:return 4;case 5:return 15;case 6:return 17;case 7:return 20;case 8:return 21;case 9:return 19;case 10:case 11:return 8;case 12:return 5;case 13:return 26;case 14:this.begin("options");break;case 15:this.popState();break;case 16:return 11;case 17:this.begin("string");break;case 18:this.popState();break;case 19:return 23;case 20:return 18;case 21:return 7}},rules:[/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:gitGraph\b)/i,/^(?:commit\b)/i,/^(?:branch\b)/i,/^(?:merge\b)/i,/^(?:reset\b)/i,/^(?:checkout\b)/i,/^(?:LR\b)/i,/^(?:BT\b)/i,/^(?::)/i,/^(?:\^)/i,/^(?:options\r?\n)/i,/^(?:end\r?\n)/i,/^(?:[^\n]+\r?\n)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[a-zA-Z][a-zA-Z0-9_]+)/i,/^(?:$)/i],conditions:{options:{rules:[15,16],inclusive:!1},string:{rules:[18,19],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,17,20,21],inclusive:!0}}}}();return o.lexer=c,t.prototype=o,o.Parser=t,new t}();e.parser=n,e.Parser=n.Parser,e.parse=function(){return n.parse.apply(n,arguments)},e.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),process.exit(1));var n=r(3).readFileSync(r(4).normalize(t[1]),"utf8");return e.parser.parse(n)},void 0!==t&&r.c[r.s]===t&&e.main(process.argv.slice(1))}).call(e,r(2)(t))},function(t,e,r){"use strict";function n(t,e){return Math.floor(Math.random()*(e-t))+t}function i(){for(var t="",e=0;e<7;e++)t+="0123456789abcdef"[n(0,16)];return t}function s(t,e){for(l.debug("Entering isfastforwardable:",t.id,e.id);t.seq<=e.seq&&t!==e&&null!=e.parent;){if(Array.isArray(e.parent))return l.debug("In merge commit:",e.parent),s(t,y[e.parent[0]])||s(t,y[e.parent[1]]);e=y[e.parent]}return l.debug(t.id,e.id),t.id===e.id}function a(t,e){return t.seq>e.seq&&s(e,t)}function u(t,e,r){var n=t.indexOf(e);-1===n?t.push(r):t.splice(n,1,r)}function o(t){var e=h.maxBy(t,"seq"),r="";t.forEach(function(t){r+=t===e?"\t*":"\t|"});var n=[r,e.id,e.seq];if(h.each(p,function(t,r){t===e.id&&n.push(r)}),l.debug(n.join(" ")),Array.isArray(e.parent)){var i=y[e.parent[0]];u(t,e,i),t.push(y[e.parent[1]])}else{if(null==e.parent)return;var s=y[e.parent];u(t,e,s)}t=h.uniqBy(t,"id"),o(t)}var c=r(0),l=c.Log,h=r(20),y={},d=null,p={master:d},g="master",f="LR",m=0;e.setDirection=function(t){f=t};var A={};e.setOptions=function(t){l.debug("options str",t),t=t&&t.trim(),t=t||"{}";try{A=JSON.parse(t)}catch(t){l.error("error while parsing gitGraph options",t.message)}},e.getOptions=function(){return A},e.commit=function(t){var e={id:i(),message:t,seq:m++,parent:null==d?null:d.id};d=e,y[e.id]=e,p[g]=e.id,l.debug("in pushCommit "+e.id)},e.branch=function(t){p[t]=null!=d?d.id:null,l.debug("in createBranch")},e.merge=function(t){var e=y[p[g]],r=y[p[t]];if(a(e,r))return void l.debug("Already merged");if(s(e,r))p[g]=p[t],d=y[p[g]];else{var n={id:i(),message:"merged branch "+t+" into "+g,seq:m++,parent:[null==d?null:d.id,p[t]]};d=n,y[n.id]=n,p[g]=n.id}l.debug(p),l.debug("in mergeBranch")},e.checkout=function(t){l.debug("in checkout"),g=t;var e=p[g];d=y[e]},e.reset=function(t){l.debug("in reset",t);var e=t.split(":")[0],r=parseInt(t.split(":")[1]),n="HEAD"===e?d:y[p[e]];for(l.debug(n,r);r>0;)if(n=y[n.parent],r--,!n){var i="Critical error - unique parent commit not found during reset";throw l.error(i),i}d=n,p[g]=n.id},e.prettyPrint=function(){l.debug(y),o([e.getCommitsArray()[0]])},e.clear=function(){y={},d=null,p={master:d},g="master",m=0},e.getBranchesAsObjArray=function(){return h.map(p,function(t,e){return{name:e,commit:y[t]}})},e.getBranches=function(){return p},e.getCommits=function(){return y},e.getCommitsArray=function(){var t=Object.keys(y).map(function(t){return y[t]});return t.forEach(function(t){l.debug(t.id)}),h.orderBy(t,["seq"],["desc"])},e.getCurrentBranch=function(){return g},e.getDirection=function(){return f},e.getHead=function(){return d}},function(t,e){t.exports=require("lodash")},function(t,e,r){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=r(0),s=i.Log,a=r(5),u=r(6),o=r(23),c=r(25),l=r(27),h=r(12),y=r(7),d=r(8),p=r(9),g=r(10),f=r(11),m=r(28),A=r(13),b=r(14),E=r(16),x=r(29),k=r(17),_=r(18),v=r(31),F=r(19),D=r(1),C={logLevel:5,cloneCssStyles:!0,startOnLoad:!0,arrowMarkerAbsolute:!1,flowchart:{htmlLabels:!0,useMaxWidth:!0},sequenceDiagram:{diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,mirrorActors:!0,bottomMarginAdj:1,useMaxWidth:!0},gantt:{titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,leftPadding:75,gridLineStartPadding:35,fontSize:11,fontFamily:'"Open-Sans", "sans-serif"',numberSectionStyles:3,axisFormatter:[["%I:%M",function(t){return t.getHours()}],["w. %U",function(t){return 1===t.getDay()}],["%a %d",function(t){return t.getDay()&&1!==t.getDate()}],["%b %d",function(t){return 1!==t.getDate()}],["%m-%y",function(t){return t.getMonth()}]]},classDiagram:{},gitGraph:{},info:{}};i.setLogLevel(C.logLevel);var T=function(t){var e,r=u.detectType(t);switch(r){case"gitGraph":e=_,e.parser.yy=F;break;case"graph":e=y,e.parser.yy=a;break;case"dotGraph":e=d,e.parser.yy=a;break;case"sequenceDiagram":e=p,e.parser.yy=g;break;case"info":e=h,e.parser.yy=f;break;case"gantt":e=A,e.parser.yy=b;break;case"classDiagram":e=E,e.parser.yy=k}try{return e.parse(t),!0}catch(t){return!1}};e.parse=T,e.version=function(){return r(32).version},e.encodeEntities=function(t){var e=t;return e=e.replace(/style.*:\S*#.*;/g,function(t){return t.substring(0,t.length-1)}),e=e.replace(/classDef.*:\S*#.*;/g,function(t){return t.substring(0,t.length-1)}),e=e.replace(/#\w+;/g,function(t){var e=t.substring(1,t.length-1);return/^\+?\d+$/.test(e)?"fl°°"+e+"¶ß":"fl°"+e+"¶ß"})},e.decodeEntities=function(t){var e=t;return e=e.replace(/fl°°/g,function(){return"&#"}),e=e.replace(/fl°/g,function(){return"&"}),e=e.replace(/¶ß/g,function(){return";"})};var w=function(t,r,n,i){if(void 0!==i)i.innerHTML="",D.select(i).append("div").attr("id","d"+t).append("svg").attr("id",t).attr("width","100%").attr("xmlns","http://www.w3.org/2000/svg").append("g");else{var h=document.querySelector("#d"+t);h&&(h.innerHTML=""),D.select("body").append("div").attr("id","d"+t).append("svg").attr("id",t).attr("width","100%").attr("xmlns","http://www.w3.org/2000/svg").append("g")}window.txt=r,r=e.encodeEntities(r);var y=D.select("#d"+t).node(),d=u.detectType(r),p={};switch(d){case"gitGraph":C.flowchart.arrowMarkerAbsolute=C.arrowMarkerAbsolute,v.setConf(C.gitGraph),v.draw(r,t,!1);break;case"graph":C.flowchart.arrowMarkerAbsolute=C.arrowMarkerAbsolute,o.setConf(C.flowchart),o.draw(r,t,!1),C.cloneCssStyles&&(p=o.getClasses(r,!1),u.cloneCssStyles(y.firstChild,p));break;case"dotGraph":C.flowchart.arrowMarkerAbsolute=C.arrowMarkerAbsolute,o.setConf(C.flowchart),o.draw(r,t,!0),C.cloneCssStyles&&(p=o.getClasses(r,!0),u.cloneCssStyles(y.firstChild,p));break;case"sequenceDiagram":C.sequenceDiagram.arrowMarkerAbsolute=C.arrowMarkerAbsolute,c.setConf(C.sequenceDiagram),c.draw(r,t),C.cloneCssStyles&&u.cloneCssStyles(y.firstChild,[]);break;case"gantt":C.gantt.arrowMarkerAbsolute=C.arrowMarkerAbsolute,m.setConf(C.gantt),m.draw(r,t),C.cloneCssStyles&&u.cloneCssStyles(y.firstChild,[]);break;case"classDiagram":C.classDiagram.arrowMarkerAbsolute=C.arrowMarkerAbsolute,x.setConf(C.classDiagram),x.draw(r,t),C.cloneCssStyles&&u.cloneCssStyles(y.firstChild,[]);break;case"info":C.info.arrowMarkerAbsolute=C.arrowMarkerAbsolute,l.draw(r,t,e.version()),C.cloneCssStyles&&u.cloneCssStyles(y.firstChild,[])}D.select("#d"+t).selectAll("foreignobject div").attr("xmlns","http://www.w3.org/1999/xhtml");var g="";C.arrowMarkerAbsolute&&(g=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,g=g.replace(/\(/g,"\\("),g=g.replace(/\)/g,"\\)"));var f=D.select("#d"+t).node().innerHTML.replace(/url\(#arrowhead/g,"url("+g+"#arrowhead","g");f=e.decodeEntities(f),void 0!==n?n(f,a.bindFunctions):s.warn("CB = undefined!");var A=D.select("#d"+t).node();return null!==A&&"function"==typeof A.remove&&D.select("#d"+t).node().remove(),f};e.render=function(t,e,r,n){try{if(1===arguments.length&&(e=t,t="mermaidId0"),"undefined"!=typeof document)return w(t,e,r,n)}catch(t){s.warn(t)}};var S=function(t){var e,r=Object.keys(t);for(e=0;e<r.length;e++)if("object"===n(t[r[e]])){var i,a=Object.keys(t[r[e]]);for(i=0;i<a.length;i++)s.debug("Setting conf ",r[e],"-",a[i]),void 0===C[r[e]]&&(C[r[e]]={}),s.debug("Setting config: "+r[e]+" "+a[i]+" to "+t[r[e]][a[i]]),C[r[e]][a[i]]=t[r[e]][a[i]]}else C[r[e]]=t[r[e]]};e.initialize=function(t){s.debug("Initializing mermaidAPI"),"object"===(void 0===t?"undefined":n(t))&&S(t),i.setLogLevel(C.logLevel)},e.getConfig=function(){return C},e.parseError=function(t,e){"undefined"!=typeof mermaid?global.mermaid.parseError(t,e):(s.debug("Mermaid Syntax error:"),s.debug(t))},global.mermaidAPI={render:e.render,parse:e.parse,initialize:e.initialize,detectType:u.detectType,parseError:e.parseError,getConfig:e.getConfig}},function(t,e){t.exports=require("d3")},function(t,e,r){"use strict";var n=r(5),i=r(7),s=r(8),a=r(1),u=r(24),o=r(0),c=o.Log,l={};t.exports.setConf=function(t){var e,r=Object.keys(t);for(e=0;e<r.length;e++)l[r[e]]=t[r[e]]},e.addVertices=function(t,e){var r=function(t,e){var r;for(r=0;r<e.length;r++)void 0!==e[r]&&(t=t+e[r]+";");return t};Object.keys(t).forEach(function(n){var i,s=t[n],a="";s.classes.length>0&&(a=s.classes.join(" "));var u="";u=r(u,s.styles),i=void 0===s.text?s.id:s.text;var o="";if(l.htmlLabels)o="html",i=i.replace(/fa:fa[\w-]+/g,function(t){return'<i class="fa '+t.substring(3)+'"></i>'});else{var c=document.createElementNS("http://www.w3.org/2000/svg","text"),h=i.split(/<br>/),y=0;for(y=0;y<h.length;y++){var d=document.createElementNS("http://www.w3.org/2000/svg","tspan");d.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),d.setAttribute("dy","1em"),d.setAttribute("x","1"),d.textContent=h[y],c.appendChild(d)}o="svg",i=c}var p=0,g="";switch(s.type){case"round":p=5,g="rect";break;case"square":g="rect";break;case"diamond":g="question";break;case"odd":case"odd_right":g="rect_left_inv_arrow";break;case"circle":g="circle";break;case"ellipse":g="ellipse";break;case"group":g="rect",i=l.htmlLabels?"":document.createElementNS("http://www.w3.org/2000/svg","text");break;default:g="rect"}e.setNode(s.id,{labelType:o,shape:g,label:i,rx:p,ry:p,class:a,style:u,id:s.id})})},e.addEdges=function(t,e){var r,n=0;void 0!==t.defaultStyle&&(r=t.defaultStyle.toString().replace(/,/g,";")),t.forEach(function(i){n++;var s={};"arrow_open"===i.type?s.arrowhead="none":s.arrowhead="normal";var a="";if(void 0!==i.style)i.style.forEach(function(t){a=a+t+";"});else switch(i.stroke){case"normal":a="fill:none",void 0!==r&&(a=r);break;case"dotted":a="stroke: #333; fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":a="stroke: #333; stroke-width: 3.5px;fill:none"}s.style=a,void 0!==i.interpolate?s.lineInterpolate=i.interpolate:void 0!==t.defaultInterpolate&&(s.lineInterpolate=t.defaultInterpolate),void 0===i.text?void 0!==i.style&&(s.arrowheadStyle="fill: #333"):(s.arrowheadStyle="fill: #333",void 0===i.style?(s.labelpos="c",l.htmlLabels?(s.labelType="html",s.label='<span class="edgeLabel">'+i.text+"</span>"):(s.labelType="text",s.style="stroke: #333; stroke-width: 1.5px;fill:none",s.label=i.text.replace(/<br>/g,"\n"))):s.label=i.text.replace(/<br>/g,"\n")),e.setEdge(i.start,i.end,s,n)})},e.getClasses=function(t,e){var r;n.clear(),r=e?s.parser:i.parser,r.yy=n,r.parse(t);var a=n.getClasses();return void 0===a.default&&(a.default={id:"default"},a.default.styles=[],a.default.clusterStyles=["rx:4px","fill: rgb(255, 255, 222)","rx: 4px","stroke: rgb(170, 170, 51)","stroke-width: 1px"],a.default.nodeLabelStyles=["fill:#000","stroke:none","font-weight:300",'font-family:"Helvetica Neue",Helvetica,Arial,sans-serf',"font-size:14px"],a.default.edgeLabelStyles=["fill:#000","stroke:none","font-weight:300",'font-family:"Helvetica Neue",Helvetica,Arial,sans-serf',"font-size:14px"]),a},e.draw=function(t,r,o){c.debug("Drawing flowchart");var h;n.clear(),h=o?s.parser:i.parser,h.yy=n;try{h.parse(t)}catch(t){c.debug("Parsing failed")}var y;void 0===(y=n.getDirection())&&(y="TD");var d,p=new u.graphlib.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:y,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),g=n.getSubGraphs(),f=0;for(f=g.length-1;f>=0;f--)d=g[f],n.addVertex(d.id,d.title,"group",void 0);var m=n.getVertices(),A=n.getEdges();f=0;var b;for(f=g.length-1;f>=0;f--)for(d=g[f],a.selectAll("cluster").append("text"),b=0;b<d.nodes.length;b++)p.setParent(d.nodes[b],d.id);e.addVertices(m,p),e.addEdges(A,p);var E=u.render,x=new E;x.shapes().question=function(t,e,r){var n=e.width,i=e.height,s=.8*(n+i),a=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}],o=t.insert("polygon",":first-child").attr("points",a.map(function(t){return t.x+","+t.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-s/2+","+2*s/4+")");return r.intersect=function(t){return u.intersect.polygon(r,a,t)},o},x.shapes().rect_left_inv_arrow=function(t,e,r){var n=e.width,i=e.height,s=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],a=t.insert("polygon",":first-child").attr("points",s.map(function(t){return t.x+","+t.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(t){return u.intersect.polygon(r,s,t)},a},x.shapes().rect_right_inv_arrow=function(t,e,r){var n=e.width,i=e.height,s=[{x:0,y:0},{x:n+i/2,y:0},{x:n,y:-i/2},{x:n+i/2,y:-i},{x:0,y:-i}],a=t.insert("polygon",":first-child").attr("points",s.map(function(t){return t.x+","+t.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(t){return u.intersect.polygon(r,s,t)},a},x.arrows().none=function(t,e,r,n){var i=t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),s=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");u.util.applyStyle(s,r[n+"Style"])},x.arrows().normal=function(t,e,r,n){t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowheadPath").style("stroke-width",1).style("stroke-dasharray","1,0")};var k=a.select("#"+r),_=a.select("#"+r+" g");for(x(_,p),_.selectAll("g.node").attr("title",function(){return n.getTooltip(this.id)}),l.useMaxWidth?(k.attr("height","100%"),k.attr("width",l.width),k.attr("viewBox","0 0 "+(p.graph().width+20)+" "+(p.graph().height+20)),k.attr("style","max-width:"+(p.graph().width+20)+"px;")):(k.attr("height",p.graph().height),void 0===l.width?k.attr("width",p.graph().width):k.attr("width",l.width),k.attr("viewBox","0 0 "+(p.graph().width+20)+" "+(p.graph().height+20))),n.indexNodes("subGraph"+f),f=0;f<g.length;f++)if(d=g[f],"undefined"!==d.title){var v=document.querySelectorAll("#"+r+" #"+d.id+" rect"),F=document.querySelectorAll("#"+r+" #"+d.id),D=v[0].x.baseVal.value,C=v[0].y.baseVal.value,T=v[0].width.baseVal.value,w=a.select(F[0]),S=w.append("text");S.attr("x",D+T/2),S.attr("y",C+14),S.attr("fill","black"),S.attr("stroke","none"),S.attr("id",r+"Text"),S.style("text-anchor","middle"),void 0===d.title?S.text("Undef"):S.text(d.title)}if(!l.htmlLabels){var B,L=document.querySelectorAll("#"+r+" .edgeLabel .label");for(B=0;B<L.length;B++){var I=L[f],O=I.getBBox(),P=document.createElementNS("http://www.w3.org/2000/svg","rect");P.setAttribute("rx",0),P.setAttribute("ry",0),P.setAttribute("width",O.width),P.setAttribute("height",O.height),P.setAttribute("style","fill:#e8e8e8;"),I.insertBefore(P,I.firstChild)}}}},function(t,e){t.exports=require("dagre-d3-renderer")},function(t,e,r){"use strict";var n=r(9).parser;n.yy=r(10);var i=r(26),s=r(1),a=r(0),u=a.Log,o={diagramMarginX:50,diagramMarginY:30,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,mirrorActors:!1,bottomMarginAdj:1,activationWidth:10,textPlacement:"tspan"};e.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],activations:[],init:function(){this.sequenceItems=[],this.activations=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(t,e,r,n){void 0===t[e]?t[e]=r:t[e]=n(r,t[e])},updateBounds:function(t,r,n,i){function s(s){return function(c){u++;var l=a.sequenceItems.length-u+1;a.updateVal(c,"starty",r-l*o.boxMargin,Math.min),a.updateVal(c,"stopy",i+l*o.boxMargin,Math.max),a.updateVal(e.bounds.data,"startx",t-l*o.boxMargin,Math.min),a.updateVal(e.bounds.data,"stopx",n+l*o.boxMargin,Math.max),"activation"!==s&&(a.updateVal(c,"startx",t-l*o.boxMargin,Math.min),a.updateVal(c,"stopx",n+l*o.boxMargin,Math.max),a.updateVal(e.bounds.data,"starty",r-l*o.boxMargin,Math.min),a.updateVal(e.bounds.data,"stopy",i+l*o.boxMargin,Math.max))}}var a=this,u=0;this.sequenceItems.forEach(s()),this.activations.forEach(s("activation"))},insert:function(t,r,n,i){var s,a,u,o;s=Math.min(t,n),u=Math.max(t,n),a=Math.min(r,i),o=Math.max(r,i),this.updateVal(e.bounds.data,"startx",s,Math.min),this.updateVal(e.bounds.data,"starty",a,Math.min),this.updateVal(e.bounds.data,"stopx",u,Math.max),this.updateVal(e.bounds.data,"stopy",o,Math.max),this.updateBounds(s,a,u,o)},newActivation:function(t,e){var r=n.yy.getActors()[t.from.actor],s=h(t.from.actor).length,a=r.x+o.width/2+(s-1)*o.activationWidth/2;this.activations.push({startx:a,starty:this.verticalPos+2,stopx:a+o.activationWidth,stopy:void 0,actor:t.from.actor,anchored:i.anchorElement(e)})},endActivation:function(t){var e=this.activations.map(function(t){return t.actor}).lastIndexOf(t.from.actor);return this.activations.splice(e,1)[0]},newLoop:function(t){this.sequenceItems.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t})},endLoop:function(){return this.sequenceItems.pop()},addSectionToLoop:function(t){var r=this.sequenceItems.pop();r.sections=r.sections||[],r.sectionTitles=r.sectionTitles||[],r.sections.push(e.bounds.getVerticalPos()),r.sectionTitles.push(t),this.sequenceItems.push(r)},bumpVerticalPos:function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var c=function(t,r,n,s,a){var u=i.getNoteRect();u.x=r,u.y=n,u.width=a||o.width,u.class="note";var c=t.append("g"),l=i.drawRect(c,u),h=i.getTextObj();h.x=r-4,h.y=n-13,h.textMargin=o.noteMargin,h.dy="1em",h.text=s.message,h.class="noteText";var y=i.drawText(c,h,u.width-o.noteMargin),d=y[0][0].getBBox().height;!a&&d>o.width?(y.remove(),c=t.append("g"),y=i.drawText(c,h,2*u.width-o.noteMargin),d=y[0][0].getBBox().height,l.attr("width",2*u.width),e.bounds.insert(r,n,r+2*u.width,n+2*o.noteMargin+d)):e.bounds.insert(r,n,r+u.width,n+2*o.noteMargin+d),l.attr("height",d+2*o.noteMargin),e.bounds.bumpVerticalPos(d+2*o.noteMargin)},l=function(t,r,i,s,a){var u,c=t.append("g"),l=r+(i-r)/2,h=c.append("text").attr("x",l).attr("y",s-7).style("text-anchor","middle").attr("class","messageText").text(a.message);u=void 0!==h[0][0].getBBox?h[0][0].getBBox().width:h[0][0].getBoundingClientRect();var y;if(r===i){y=c.append("path").attr("d","M "+r+","+s+" C "+(r+60)+","+(s-10)+" "+(r+60)+","+(s+30)+" "+r+","+(s+20)),e.bounds.bumpVerticalPos(30);var d=Math.max(u/2,100);e.bounds.insert(r-d,e.bounds.getVerticalPos()-10,i+d,e.bounds.getVerticalPos())}else y=c.append("line"),y.attr("x1",r),y.attr("y1",s),y.attr("x2",i),y.attr("y2",s),e.bounds.insert(r,e.bounds.getVerticalPos()-10,i,e.bounds.getVerticalPos());a.type===n.yy.LINETYPE.DOTTED||a.type===n.yy.LINETYPE.DOTTED_CROSS||a.type===n.yy.LINETYPE.DOTTED_OPEN?(y.style("stroke-dasharray","3, 3"),y.attr("class","messageLine1")):y.attr("class","messageLine0");var p="";o.arrowMarkerAbsolute&&(p=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,p=p.replace(/\(/g,"\\("),p=p.replace(/\)/g,"\\)")),y.attr("stroke-width",2),y.attr("stroke","black"),y.style("fill","none"),a.type!==n.yy.LINETYPE.SOLID&&a.type!==n.yy.LINETYPE.DOTTED||y.attr("marker-end","url("+p+"#arrowhead)"),a.type!==n.yy.LINETYPE.SOLID_CROSS&&a.type!==n.yy.LINETYPE.DOTTED_CROSS||y.attr("marker-end","url("+p+"#crosshead)")};t.exports.drawActors=function(t,r,n,s){var a;for(a=0;a<n.length;a++){var u=n[a];r[u].x=a*o.actorMargin+a*o.width,r[u].y=s,r[u].width=o.diagramMarginX,r[u].height=o.diagramMarginY,i.drawActor(t,r[u].x,s,r[u].description,o),e.bounds.insert(r[u].x,s,r[u].x+o.width,o.height)}e.bounds.bumpVerticalPos(o.height)},t.exports.setConf=function(t){Object.keys(t).forEach(function(e){o[e]=t[e]})};var h=function(e){return t.exports.bounds.activations.filter(function(t){return t.actor===e})},y=function(t){var e=n.yy.getActors(),r=h(t);return[r.reduce(function(t,e){return Math.min(t,e.startx)},e[t].x+o.width/2),r.reduce(function(t,e){return Math.max(t,e.stopx)},e[t].x+o.width/2)]};t.exports.draw=function(r,a){function h(t,r){var n=e.bounds.endActivation(t);n.starty+18>r&&(n.starty=r-6,r+=12),i.drawActivation(f,n,r,o),e.bounds.insert(n.startx,r-10,n.stopx,r)}n.yy.clear(),n.parse(r+"\n"),e.bounds.init();var d,p,g,f=s.select("#"+a),m=n.yy.getActors(),A=n.yy.getActorKeys(),b=n.yy.getMessages(),E=n.yy.getTitle();t.exports.drawActors(f,m,A,0),i.insertArrowHead(f),i.insertArrowCrossHead(f),b.forEach(function(t){var r;switch(t.type){case n.yy.LINETYPE.NOTE:e.bounds.bumpVerticalPos(o.boxMargin),d=m[t.from].x,p=m[t.to].x,t.placement===n.yy.PLACEMENT.RIGHTOF?c(f,d+(o.width+o.actorMargin)/2,e.bounds.getVerticalPos(),t):t.placement===n.yy.PLACEMENT.LEFTOF?c(f,d-(o.width+o.actorMargin)/2,e.bounds.getVerticalPos(),t):t.to===t.from?c(f,d,e.bounds.getVerticalPos(),t):(g=Math.abs(d-p)+o.actorMargin,c(f,(d+p+o.width-g)/2,e.bounds.getVerticalPos(),t,g));break;case n.yy.LINETYPE.ACTIVE_START:e.bounds.newActivation(t,f);break;case n.yy.LINETYPE.ACTIVE_END:h(t,e.bounds.getVerticalPos());break;case n.yy.LINETYPE.LOOP_START:e.bounds.bumpVerticalPos(o.boxMargin),e.bounds.newLoop(t.message),e.bounds.bumpVerticalPos(o.boxMargin+o.boxTextMargin);break;case n.yy.LINETYPE.LOOP_END:r=e.bounds.endLoop(),i.drawLoop(f,r,"loop",o),e.bounds.bumpVerticalPos(o.boxMargin);break;case n.yy.LINETYPE.OPT_START:e.bounds.bumpVerticalPos(o.boxMargin),e.bounds.newLoop(t.message),e.bounds.bumpVerticalPos(o.boxMargin+o.boxTextMargin);break;case n.yy.LINETYPE.OPT_END:r=e.bounds.endLoop(),i.drawLoop(f,r,"opt",o),e.bounds.bumpVerticalPos(o.boxMargin);break;case n.yy.LINETYPE.ALT_START:e.bounds.bumpVerticalPos(o.boxMargin),e.bounds.newLoop(t.message),e.bounds.bumpVerticalPos(o.boxMargin+o.boxTextMargin);break;case n.yy.LINETYPE.ALT_ELSE:e.bounds.bumpVerticalPos(o.boxMargin),r=e.bounds.addSectionToLoop(t.message),e.bounds.bumpVerticalPos(o.boxMargin);break;case n.yy.LINETYPE.ALT_END:r=e.bounds.endLoop(),i.drawLoop(f,r,"alt",o),e.bounds.bumpVerticalPos(o.boxMargin);break;case n.yy.LINETYPE.PAR_START:e.bounds.bumpVerticalPos(o.boxMargin),e.bounds.newLoop(t.message),e.bounds.bumpVerticalPos(o.boxMargin+o.boxTextMargin);break;case n.yy.LINETYPE.PAR_AND:e.bounds.bumpVerticalPos(o.boxMargin),r=e.bounds.addSectionToLoop(t.message),e.bounds.bumpVerticalPos(o.boxMargin);break;case n.yy.LINETYPE.PAR_END:r=e.bounds.endLoop(),i.drawLoop(f,r,"par",o),e.bounds.bumpVerticalPos(o.boxMargin);break;default:try{e.bounds.bumpVerticalPos(o.messageMargin);var s=y(t.from),a=y(t.to),u=s[0]<=a[0]?1:0,A=s[0]<a[0]?0:1;d=s[u],p=a[A];var b=e.bounds.getVerticalPos();l(f,d,p,b,t);var E=s.concat(a);e.bounds.insert(Math.min.apply(null,E),b,Math.max.apply(null,E),b)}catch(t){console.error("error while drawing message",t)}}}),o.mirrorActors&&(e.bounds.bumpVerticalPos(2*o.boxMargin),t.exports.drawActors(f,m,A,e.bounds.getVerticalPos()));var x=e.bounds.getBounds();u.debug("For line height fix Querying: #"+a+" .actor-line"),s.selectAll("#"+a+" .actor-line").attr("y2",x.stopy);var k=x.stopy-x.starty+2*o.diagramMarginY;o.mirrorActors&&(k=k-o.boxMargin+o.bottomMarginAdj);var _=x.stopx-x.startx+2*o.diagramMarginX;E&&f.append("text").text(E).attr("x",(x.stopx-x.startx)/2-2*o.diagramMarginX).attr("y",-25),o.useMaxWidth?(f.attr("height","100%"),f.attr("width","100%"),f.attr("style","max-width:"+_+"px;")):(f.attr("height",k),f.attr("width",_));var v=E?40:0;f.attr("viewBox",x.startx-o.diagramMarginX+" -"+(o.diagramMarginY+v)+" "+_+" "+(k+v))}},function(t,e,r){"use strict";e.drawRect=function(t,e){var r=t.append("rect");return r.attr("x",e.x),r.attr("y",e.y),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("width",e.width),r.attr("height",e.height),r.attr("rx",e.rx),r.attr("ry",e.ry),void 0!==e.class&&r.attr("class",e.class),r},e.drawText=function(t,e,r){var n=e.text.replace(/<br\/?>/gi," "),i=t.append("text");i.attr("x",e.x),i.attr("y",e.y),i.style("text-anchor",e.anchor),i.attr("fill",e.fill),void 0!==e.class&&i.attr("class",e.class);var s=i.append("tspan");return s.attr("x",e.x+2*e.textMargin),s.attr("fill",e.fill),s.text(n),void 0!==i.textwrap&&i.textwrap({x:e.x,y:e.y,width:r,height:1800},e.textMargin),i},e.drawLabel=function(t,r){var n=t.append("polygon");n.attr("points",function(t,e,r,n,i){return t+","+e+" "+(t+r)+","+e+" "+(t+r)+","+(e+n-i)+" "+(t+r-1.2*i)+","+(e+n)+" "+t+","+(e+n)}(r.x,r.y,50,20,7)),n.attr("class","labelBox"),r.y=r.y+r.labelMargin,r.x=r.x+.5*r.labelMargin,e.drawText(t,r)};var n=-1;e.drawActor=function(t,r,s,a,u){var o=r+u.width/2,c=t.append("g");0===s&&(n++,c.append("line").attr("id","actor"+n).attr("x1",o).attr("y1",5).attr("x2",o).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999"));var l=e.getNoteRect();l.x=r,l.y=s,l.fill="#eaeaea",l.width=u.width,l.height=u.height,l.class="actor",l.rx=3,l.ry=3,e.drawRect(c,l),i(u)(a,c,l.x,l.y,l.width,l.height,{class:"actor"})},e.anchorElement=function(t){return t.append("g")},e.drawActivation=function(t,r,n){var i=e.getNoteRect(),s=r.anchored;i.x=r.startx,i.y=r.starty,i.fill="#f4f4f4",i.width=r.stopx-r.startx,i.height=n-r.starty,e.drawRect(s,i)},e.drawLoop=function(t,r,n,i){var s=t.append("g"),a=function(t,e,r,n){return s.append("line").attr("x1",t).attr("y1",e).attr("x2",r).attr("y2",n).attr("class","loopLine")};a(r.startx,r.starty,r.stopx,r.starty),a(r.stopx,r.starty,r.stopx,r.stopy),a(r.startx,r.stopy,r.stopx,r.stopy),a(r.startx,r.starty,r.startx,r.stopy),void 0!==r.sections&&r.sections.forEach(function(t){a(r.startx,t,r.stopx,t).style("stroke-dasharray","3, 3")});var u=e.getTextObj();u.text=n,u.x=r.startx,u.y=r.starty,u.labelMargin=15,u.class="labelText",e.drawLabel(s,u),u=e.getTextObj(),u.text="[ "+r.title+" ]",u.x=r.startx+(r.stopx-r.startx)/2,u.y=r.starty+1.5*i.boxMargin,u.anchor="middle",u.class="loopText",e.drawText(s,u),void 0!==r.sectionTitles&&r.sectionTitles.forEach(function(t,n){""!==t&&(u.text="[ "+t+" ]",u.y=r.sections[n]+1.5*i.boxMargin,e.drawText(s,u))})},e.insertArrowHead=function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},e.insertArrowCrossHead=function(t){var e=t.append("defs"),r=e.append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);r.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),r.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},e.getTextObj=function(){return{x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0}},e.getNoteRect=function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}};var i=function(){function t(t,e,r,i,s,a,u){n(e.append("text").attr("x",r+s/2).attr("y",i+a/2+5).style("text-anchor","middle").text(t),u)}function e(t,e,r,i,s,a,u){var o=e.append("text").attr("x",r+s/2).attr("y",i).style("text-anchor","middle");if(o.append("tspan").attr("x",r+s/2).attr("dy","0").text(t),void 0!==o.textwrap){o.textwrap({x:r+s/2,y:i,width:s,height:a},0);var c=o.selectAll("tspan");c.length>0&&c[0].length>0&&(c=c[0],o.attr("y",i+(a/2-o[0][0].getBBox().height*(1-1/c.length)/2)).attr("dominant-baseline","central").attr("alignment-baseline","central"))}n(o,u)}function r(t,r,i,s,a,u,o){var c=r.append("switch"),l=c.append("foreignObject").attr("x",i).attr("y",s).attr("width",a).attr("height",u),h=l.append("div").style("display","table").style("height","100%").style("width","100%");h.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(t),e(t,c,i,s,a,u,o),n(h,o)}function n(t,e){for(var r in e)e.hasOwnProperty(r)&&t.attr(r,e[r])}return function(n){return"fo"===n.textPlacement?r:"old"===n.textPlacement?t:e}}()},function(t,e,r){"use strict";var n=r(11),i=r(12),s=r(1),a=r(0),u=a.Log;e.draw=function(t,e,r){var a;a=i.parser,a.yy=n,u.debug("Renering example diagram"),a.parse(t);var o=s.select("#"+e);o.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size","32px").style("text-anchor","middle").text("mermaid "+r),o.attr("height",100),o.attr("width",400)}},function(t,e,r){"use strict";var n=r(13).parser;n.yy=r(14);var i,s=r(1),a=r(15),u={titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,fontFamily:'"Open-Sans", "sans-serif"'};t.exports.setConf=function(t){Object.keys(t).forEach(function(e){u[e]=t[e]})};var o;t.exports.draw=function(t,e){function r(t,e,r,n,i,s,a,o){m.append("g").selectAll("rect").data(t).enter().append("rect").attr("x",0).attr("y",function(t,n){return n*e+r-2}).attr("width",function(){return a-u.rightPadding/2}).attr("height",e).attr("class",function(t){for(var e=0;e<x.length;e++)if(t.type===x[e])return"section section"+e%u.numberSectionStyles;return"section section0"});var c=m.append("g").selectAll("rect").data(t).enter();c.append("rect").attr("rx",3).attr("ry",3).attr("x",function(t){return E(t.startTime)+n}).attr("y",function(t,n){return n*e+r}).attr("width",function(t){return E(t.endTime)-E(t.startTime)}).attr("height",i).attr("class",function(t){for(var e="task ",r=0,n=0;n<x.length;n++)t.type===x[n]&&(r=n%u.numberSectionStyles);return t.active?t.crit?e+" activeCrit"+r:e+" active"+r:t.done?t.crit?e+" doneCrit"+r:e+" done"+r:t.crit?e+" crit"+r:e+" task"+r}),c.append("text").text(function(t){return t.task}).attr("font-size",u.fontSize).attr("x",function(t){var e=E(t.startTime),r=E(t.endTime),i=this.getBBox().width;return i>r-e?r+i+1.5*u.leftPadding>a?e+n-5:r+n+5:(r-e)/2+e+n}).attr("y",function(t,n){return n*e+u.barHeight/2+(u.fontSize/2-2)+r}).attr("text-height",i).attr("class",function(t){for(var e=E(t.startTime),r=E(t.endTime),n=this.getBBox().width,i=0,s=0;s<x.length;s++)t.type===x[s]&&(i=s%u.numberSectionStyles);var o="";return t.active&&(o=t.crit?"activeCritText"+i:"activeText"+i),t.done?o=t.crit?o+" doneCritText"+i:o+" doneText"+i:t.crit&&(o=o+" critText"+i),n>r-e?r+n+1.5*u.leftPadding>a?"taskTextOutsideLeft taskTextOutside"+i+" "+o:"taskTextOutsideRight taskTextOutside"+i+" "+o:"taskText taskText"+i+" "+o})}function c(t,e,r,n){var a,o=[[".%L",function(t){return t.getMilliseconds()}],[":%S",function(t){return t.getSeconds()}],["h1 %I:%M",function(t){return t.getMinutes()}]],c=[["%Y",function(){return!0}]],l=[["%I:%M",function(t){return t.getHours()}],["%a %d",function(t){return t.getDay()&&1!==t.getDate()}],["%b %d",function(t){return 1!==t.getDate()}],["%B",function(t){return t.getMonth()}]];void 0!==u.axisFormatter&&(l=[],u.axisFormatter.forEach(function(t){var e=[];e[0]=t[0],e[1]=t[1],l.push(e)})),a=o.concat(l).concat(c);var h=s.svg.axis().scale(E).orient("bottom").tickSize(-n+e+u.gridLineStartPadding,0,0).tickFormat(s.time.format.multi(a));i>7&&i<230&&(h=h.ticks(s.time.monday.range)),m.append("g").attr("class","grid").attr("transform","translate("+t+", "+(n-50)+")").call(h).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em")}function l(t,e){for(var r=[],n=0,i=0;i<x.length;i++)r[i]=[x[i],d(x[i],_)];m.append("g").selectAll("text").data(r).enter().append("text").text(function(t){return t[0]}).attr("x",10).attr("y",function(i,s){if(!(s>0))return i[1]*t/2+e;for(var a=0;a<s;a++)return n+=r[s-1][1],i[1]*t/2+n*t+e}).attr("class",function(t){for(var e=0;e<x.length;e++)if(t[0]===x[e])return"sectionTitle sectionTitle"+e%u.numberSectionStyles;return"sectionTitle"})}function h(t,e,r,n){var i=m.append("g").attr("class","today"),s=new Date;i.append("line").attr("x1",E(s)+t).attr("x2",E(s)+t).attr("y1",u.titleTopMargin).attr("y2",n-u.titleTopMargin).attr("class","today")}function y(t){for(var e=t.length,r={};e;)r[t[--e]]=(r[t[e]]||0)+1;return r}function d(t,e){return y(e)[t]||0}n.yy.clear(),n.parse(t);var p=document.getElementById(e);o=p.parentElement.offsetWidth,void 0===o&&(o=1200),void 0!==u.useWidth&&(o=u.useWidth);var g=n.yy.getTasks(),f=g.length*(u.barHeight+u.barGap)+2*u.topPadding;p.setAttribute("height","100%"),p.setAttribute("viewBox","0 0 "+o+" "+f);var m=s.select("#"+e),A=s.min(g,function(t){return t.startTime}),b=s.max(g,function(t){return t.endTime}),E=s.time.scale().domain([s.min(g,function(t){return t.startTime}),s.max(g,function(t){return t.endTime})]).rangeRound([0,o-u.leftPadding-u.rightPadding]),x=[];i=a.duration(b-A).asDays();for(var k=0;k<g.length;k++)x.push(g[k].type);var _=x;x=function(t){for(var e={},r=[],n=0,i=t.length;n<i;++n)e.hasOwnProperty(t[n])||(e[t[n]]=!0,r.push(t[n]));return r}(x),function(t,e,n){var i=u.barHeight,a=i+u.barGap,o=u.topPadding,y=u.leftPadding,d=s.scale.linear().domain([0,x.length]).range(["#00B9FA","#F95002"]).interpolate(s.interpolateHcl);c(y,o,e,n),r(t,a,o,y,i,d,e,n),l(a,o),h(y,o,e,n)}(g,o,f),void 0!==u.useWidth&&p.setAttribute("width",o),m.append("text").text(n.yy.getTitle()).attr("x",o/2).attr("y",u.titleTopMargin).attr("class","titleText")}},function(t,e,r){"use strict";var n=r(16).parser,i=r(17);n.yy=i;var s,a=r(1),u=r(0),o=u.Log,c=r(30);s={};var l=0,h={dividerMargin:10,padding:5,textHeight:10},y=function(t){var e,r=Object.keys(s);for(e=0;e<r.length;e++)if(s[r[e]].label===t)return r[e]},d=function(t){t.append("defs").append("marker").attr("id","extensionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id","extensionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),t.append("defs").append("marker").attr("id","compositionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","compositionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","aggregationStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","aggregationEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","dependencyStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},p=0,g=function(t,e,r){var n=function(t){switch(t){case i.relationType.AGGREGATION:return"aggregation";case i.relationType.EXTENSION:return"extension";case i.relationType.COMPOSITION:return"composition";case i.relationType.DEPENDENCY:return"dependency"}},s=e.points,u=a.svg.line().x(function(t){return t.x}).y(function(t){return t.y}).interpolate("basis"),o=t.append("path").attr("d",u(s)).attr("id","edge"+p).attr("class","relation"),c="";h.arrowMarkerAbsolute&&(c=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,c=c.replace(/\(/g,"\\("),c=c.replace(/\)/g,"\\)")),"none"!==r.relation.type1&&o.attr("marker-start","url("+c+"#"+n(r.relation.type1)+"Start)"),"none"!==r.relation.type2&&o.attr("marker-end","url("+c+"#"+n(r.relation.type2)+"End)");var l,y,d=e.points.length;if(d%2!=0){var g=e.points[Math.floor(d/2)],f=e.points[Math.ceil(d/2)];l=(g.x+f.x)/2,y=(g.y+f.y)/2}else{var m=e.points[Math.floor(d/2)];l=m.x,y=m.y}if(void 0!==r.title){var A=t.append("g").attr("class","classLabel"),b=A.append("text").attr("class","label").attr("x",l).attr("y",y).attr("fill","red").attr("text-anchor","middle").text(r.title);window.label=b;var E=b.node().getBBox();A.insert("rect",":first-child").attr("class","box").attr("x",E.x-h.padding/2).attr("y",E.y-h.padding/2).attr("width",E.width+h.padding).attr("height",E.height+h.padding)}p++},f=function(t,e){o.info("Rendering class "+e);var r=function(t,e,r){var n=t.append("tspan").attr("x",h.padding).text(e);r||n.attr("dy",h.textHeight)},n="classId"+l,i={id:n,label:e.id,width:0,height:0},a=t.append("g").attr("id",n).attr("class","classGroup"),u=a.append("text").attr("x",h.padding).attr("y",h.textHeight+h.padding).text(e.id),c=u.node().getBBox().height,y=a.append("line").attr("x1",0).attr("y1",h.padding+c+h.dividerMargin/2).attr("y2",h.padding+c+h.dividerMargin/2),d=a.append("text").attr("x",h.padding).attr("y",c+h.dividerMargin+h.textHeight).attr("fill","white").attr("class","classText"),p=!0;e.members.forEach(function(t){r(d,t,p),p=!1});var g=d.node().getBBox(),f=a.append("line").attr("x1",0).attr("y1",h.padding+c+h.dividerMargin+g.height).attr("y2",h.padding+c+h.dividerMargin+g.height),m=a.append("text").attr("x",h.padding).attr("y",c+2*h.dividerMargin+g.height+h.textHeight).attr("fill","white").attr("class","classText");p=!0,e.methods.forEach(function(t){r(m,t,p),p=!1});var A=a.node().getBBox();return a.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",A.width+2*h.padding).attr("height",A.height+h.padding+.5*h.dividerMargin),y.attr("x2",A.width+2*h.padding),f.attr("x2",A.width+2*h.padding),i.width=A.width+2*h.padding,i.height=A.height+h.padding+.5*h.dividerMargin,s[n]=i,l++,i};t.exports.setConf=function(t){Object.keys(t).forEach(function(e){h[e]=t[e]})},t.exports.draw=function(t,e){n.yy.clear(),n.parse(t),o.info("Rendering diagram "+t);var r=a.select("#"+e);d(r);var s=new c.graphlib.Graph({multigraph:!0});s.setGraph({isMultiGraph:!0}),s.setDefaultEdgeLabel(function(){return{}});var u,l=i.getClasses(),h=Object.keys(l);for(u=0;u<h.length;u++){var p=l[h[u]],m=f(r,p);s.setNode(m.id,m),o.info("Org height: "+m.height)}i.getRelations().forEach(function(t){o.info("tjoho"+y(t.id1)+y(t.id2)+JSON.stringify(t)),s.setEdge(y(t.id1),y(t.id2),{relation:t})}),c.layout(s),s.nodes().forEach(function(t){void 0!==t&&(o.debug("Node "+t+": "+JSON.stringify(s.node(t))),a.select("#"+t).attr("transform","translate("+(s.node(t).x-s.node(t).width/2)+","+(s.node(t).y-s.node(t).height/2)+" )"))}),s.edges().forEach(function(t){o.debug("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(s.edge(t))),g(r,s.edge(t),s.edge(t).relation)}),r.attr("height","100%"),r.attr("width","100%"),r.attr("viewBox","0 0 "+(s.graph().width+20)+" "+(s.graph().height+20))}},function(t,e){t.exports=require("dagre")},function(t,e,r){"use strict";function n(t){t.append("defs").append("g").attr("id","def-commit").append("circle").attr("r",A.nodeRadius).attr("cx",0).attr("cy",0),t.select("#def-commit").append("foreignObject").attr("width",A.nodeLabel.width).attr("height",A.nodeLabel.height).attr("x",A.nodeLabel.x).attr("y",A.nodeLabel.y).attr("class","node-label").attr("requiredFeatures","http://www.w3.org/TR/SVG11/feature#Extensibility").append("xhtml:p").html("")}function i(t,e,r,n){n=n||"basis";var i=A.branchColors[r%A.branchColors.length],s=p.svg.line().x(function(t){return Math.round(t.x)}).y(function(t){return Math.round(t.y)}).interpolate(n);t.append("svg:path").attr("d",s(e)).style("stroke",i).style("stroke-width",A.lineStrokeWidth).style("fill","none")}function s(t,e){e=e||t.node().getBBox();var r=t.node().getCTM();return{left:r.e+e.x*r.a,top:r.f+e.y*r.d,width:e.width,height:e.height}}function a(t,e,r,n,a){f.debug("svgDrawLineForCommits: ",e,r);var u=s(t.select("#node-"+e+" circle")),o=s(t.select("#node-"+r+" circle"));switch(n){case"LR":if(u.left-o.left>A.nodeSpacing){var c={x:u.left-A.nodeSpacing,y:o.top+o.height/2},l={x:o.left+o.width,y:o.top+o.height/2};i(t,[c,l],a,"linear"),i(t,[{x:u.left,y:u.top+u.height/2},{x:u.left-A.nodeSpacing/2,y:u.top+u.height/2},{x:u.left-A.nodeSpacing/2,y:c.y},c],a)}else i(t,[{x:u.left,y:u.top+u.height/2},{x:u.left-A.nodeSpacing/2,y:u.top+u.height/2},{x:u.left-A.nodeSpacing/2,y:o.top+o.height/2},{x:o.left+o.width,y:o.top+o.height/2}],a);break;case"BT":o.top-u.top>A.nodeSpacing?(c={x:o.left+o.width/2,y:u.top+u.height+A.nodeSpacing},l={x:o.left+o.width/2,y:o.top},i(t,[c,l],a,"linear"),i(t,[{x:u.left+u.width/2,y:u.top+u.height},{x:u.left+u.width/2,y:u.top+u.height+A.nodeSpacing/2},{x:o.left+o.width/2,y:c.y-A.nodeSpacing/2},c],a)):i(t,[{x:u.left+u.width/2,y:u.top+u.height},{x:u.left+u.width/2,y:u.top+A.nodeSpacing/2},{x:o.left+o.width/2,y:o.top-A.nodeSpacing/2},{x:o.left+o.width/2,y:o.top}],a)}}function u(t,e){return t.select(e).node().cloneNode(!0)}function o(t,e,r,n){var i,s=Object.keys(m).length;if(y.isString(e))do{if(i=m[e],f.debug("in renderCommitHistory",i.id,i.seq),t.select("#node-"+e).size()>0)return;t.append(function(){return u(t,"#def-commit")}).attr("class","commit").attr("id",function(){return"node-"+i.id}).attr("transform",function(){switch(n){case"LR":return"translate("+(i.seq*A.nodeSpacing+A.leftMargin)+", "+l*A.branchOffset+")";case"BT":return"translate("+(l*A.branchOffset+A.leftMargin)+", "+(s-i.seq)*A.nodeSpacing+")"}}).attr("fill",A.nodeFillColor).attr("stroke",A.nodeStrokeColor).attr("stroke-width",A.nodeStrokeWidth);var a=y.find(r,["commit",i]);a&&(f.debug("found branch ",a.name),t.select("#node-"+i.id+" p").append("xhtml:span").attr("class","branch-label").text(a.name+", ")),t.select("#node-"+i.id+" p").append("xhtml:span").attr("class","commit-id").text(i.id),""!==i.message&&"BT"===n&&t.select("#node-"+i.id+" p").append("xhtml:span").attr("class","commit-msg").text(", "+i.message),e=i.parent}while(e&&m[e]);y.isArray(e)&&(f.debug("found merge commmit",e),o(t,e[0],r,n),l++,o(t,e[1],r,n),l--)}function c(t,e,r,n){for(n=n||0;e.seq>0&&!e.lineDrawn;)y.isString(e.parent)?(a(t,e.id,e.parent,r,n),e.lineDrawn=!0,e=m[e.parent]):y.isArray(e.parent)&&(a(t,e.id,e.parent[0],r,n),a(t,e.id,e.parent[1],r,n+1),c(t,m[e.parent[1]],r,n+1),e.lineDrawn=!0,e=m[e.parent[0]])}var l,h=r(19),y=r(20),d=r(18),p=r(1),g=r(0),f=g.Log,m={},A={nodeSpacing:150,nodeFillColor:"yellow",nodeStrokeWidth:2,nodeStrokeColor:"grey",lineStrokeWidth:4,branchOffset:50,lineColor:"grey",leftMargin:50,branchColors:["#442f74","#983351","#609732","#AA9A39"],nodeRadius:10,nodeLabel:{width:75,height:100,x:-25,y:0}},b={};e.setConf=function(t){b=t},e.draw=function(t,e,r){try{var i;i=d.parser,i.yy=h,f.debug("in gitgraph renderer",t,e,r),i.parse(t+"\n"),A=y.extend(A,b,h.getOptions()),f.debug("effective options",A);var s=h.getDirection();m=h.getCommits();var a=h.getBranchesAsObjArray();"BT"===s&&(A.nodeLabel.x=a.length*A.branchOffset,A.nodeLabel.width="100%",A.nodeLabel.y=-2*A.nodeRadius);var u=p.select("#"+e);n(u),l=1,y.each(a,function(t){o(u,t.commit.id,a,s),c(u,t.commit,s),l++}),u.attr("height",function(){return"BT"===s?Object.keys(m).length*A.nodeSpacing:(a.length+1)*A.branchOffset})}catch(t){f.error("Error while rendering gitgraph"),f.error(t.message)}}},function(t,e){t.exports={name:"mermaid",version:"7.0.5",description:"Markdownish syntax for generating flowcharts, sequence diagrams, class diagrams, gantt charts and git graphs.",main:"src/mermaid.js",keywords:["diagram","markdown","flowchart","sequence diagram","gantt","class diagram","git graph"],bin:{mermaid:"./bin/mermaid.js"},scripts:{build:"node -r babel-register ./node_modules/.bin/webpack --progress --colors",watch:"yarn build -- --watch",release:"yarn build -- -p --config webpack.config.prod.js",upgrade:"yarn-upgrade-all && yarn remove d3 && yarn add d3@3.5.17",lint:"node_modules/.bin/standard",karma:"node node_modules/karma/bin/karma start karma.conf.js --single-run",tape:"node node_modules/tape/bin/tape test/cli_test-*.js",test:"yarn lint && yarn tape && yarn karma",live:"live-server ./test/examples",jison:"gulp jison_legacy",live_server:"gulp live-server",prepublishOnly:"yarn build && yarn release && yarn test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"Knut Sveidqvist",license:"MIT",standard:{ignore:["**/parser/*.js","dist/**/*.js"]},dependencies:{chalk:"^2.1.0",d3:"3.5.17",dagre:"^0.7.4","dagre-d3-renderer":"^0.1.6",he:"^1.1.1",lodash:"^4.17.4",minimist:"^1.2.0",mkdirp:"^0.5.1",moment:"^2.18.1",semver:"^5.4.1",which:"^1.3.0"},devDependencies:{async:"^2.5.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-plugin-transform-remove-strict-mode":"^0.0.2","babel-preset-env":"^1.6.0","babel-preset-es2015":"^6.24.1",clone:"^2.1.1","codeclimate-test-reporter":"^0.5.0","css-loader":"^0.28.7",dox:"^0.9.0","event-stream":"^3.3.4","extract-text-webpack-plugin":"^3.0.0","front-matter":"^2.2.0",gulp:"^3.9.1","gulp-bower":"^0.0.13","gulp-bump":"^2.7.0","gulp-concat":"^2.6.1","gulp-data":"^1.2.1","gulp-dox":"^0.1.6","gulp-ext-replace":"^0.3.0","gulp-filelog":"^0.4.1","gulp-front-matter":"^1.3.0","gulp-hogan":"^2.0.0","gulp-if":"^2.0.2","gulp-insert":"^0.5.0","gulp-istanbul":"^1.1.2","gulp-jasmine":"^2.4.2","gulp-jasmine-browser":"^1.9.0","gulp-jison":"^1.2.0","gulp-less":"^3.3.2","gulp-livereload":"^3.8.1","gulp-marked":"^1.0.0","gulp-mdvars":"^2.0.0","gulp-qunit":"^1.5.0","gulp-rename":"^1.2.2","gulp-shell":"^0.6.3","gulp-tag-version":"^1.3.0","gulp-util":"^3.0.8","gulp-vartree":"^2.0.1","hogan.js":"^3.0.2","inject-loader":"^3.0.1",jasmine:"^2.8.0","jasmine-es6":"^0.4.1",jison:"^0.4.17",jsdom:"^11.2.0",karma:"^1.7.1","karma-chrome-launcher":"^2.2.0","karma-jasmine":"^1.1.0","karma-webpack":"^2.0.4",less:"^2.7.2","less-loader":"^4.0.5","live-server":"^1.2.0","map-stream":"^0.0.7",marked:"^0.3.6","mock-browser":"^0.92.14","phantomjs-prebuilt":"^2.1.15","require-dir":"^0.3.2",rimraf:"^2.6.1",standard:"^10.0.3","style-loader":"^0.18.2",tape:"^4.8.0",webpack:"^3.5.5","webpack-node-externals":"^1.6.0","yarn-upgrade-all":"^0.1.8"},files:["bin","dist","lib","src"]}}]); \ No newline at end of file
diff --git a/www/wiki/extensions/Mermaid/res/mermaid/8.0.0/mermaid.dark.min.css b/www/wiki/extensions/Mermaid/res/mermaid/8.0.0/mermaid.dark.min.css
new file mode 100644
index 00000000..e8912f71
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/res/mermaid/8.0.0/mermaid.dark.min.css
@@ -0,0 +1 @@
+.mermaid .label{color:#323d47}.node circle,.node ellipse,.node polygon,.node rect{fill:#bdd5ea;stroke:#81b1db;stroke-width:1px}.arrowheadPath{fill:#d3d3d3}.edgePath .path{stroke:#d3d3d3}.edgeLabel{background-color:#e8e8e8}.cluster rect{fill:#6d6d65!important;rx:4!important;stroke:hsla(0,0%,100%,.25)!important;stroke-width:1px!important}.cluster text{fill:#f9fffe}.actor{stroke:#81b1db;fill:#bdd5ea}text.actor{fill:#000;stroke:none}.actor-line{stroke:#d3d3d3}.messageLine0{marker-end:"url(#arrowhead)"}.messageLine0,.messageLine1{stroke-width:1.5;stroke-dasharray:"2 2";stroke:#d3d3d3}#arrowhead,#crosshead path{fill:#d3d3d3!important}#crosshead path{stroke:#d3d3d3!important}.messageText{fill:#d3d3d3;stroke:none}.labelBox{stroke:#81b1db;fill:#bdd5ea}.labelText{fill:#323d47;stroke:none}.loopText{fill:#d3d3d3;stroke:none}.loopLine{stroke-width:2;stroke-dasharray:"2 2";marker-end:"url(#arrowhead)";stroke:#81b1db}.note{stroke:hsla(0,0%,100%,.25);fill:#fff5ad}.noteText{fill:#000;stroke:none;font-family:trebuchet ms,verdana,arial;font-size:14px}.section{stroke:none;opacity:.2}.section0{fill:hsla(0,0%,100%,.3)}.section2{fill:#eae8b9}.section1,.section3{fill:#fff;opacity:.2}.sectionTitle0,.sectionTitle1,.sectionTitle2,.sectionTitle3{fill:#f9fffe}.sectionTitle{text-anchor:start;font-size:11px;text-height:14px}.grid .tick{stroke:hsla(0,0%,100%,.3);opacity:.3;shape-rendering:crispEdges}.grid .tick text{fill:#d3d3d3;opacity:.5}.grid path{stroke-width:0}.today{fill:none;stroke:#db5757;stroke-width:2px}.task{stroke-width:1}.taskText{text-anchor:middle;font-size:11px}.taskTextOutsideRight{fill:#323d47;text-anchor:start;font-size:11px}.taskTextOutsideLeft{fill:#323d47;text-anchor:end;font-size:11px}.taskText0,.taskText1,.taskText2,.taskText3{fill:#323d47}.task0,.task1,.task2,.task3{fill:#bdd5ea;stroke:hsla(0,0%,100%,.5)}.taskTextOutside0,.taskTextOutside1,.taskTextOutside2,.taskTextOutside3{fill:#d3d3d3}.active0,.active1,.active2,.active3{fill:#81b1db;stroke:hsla(0,0%,100%,.5)}.activeText0,.activeText1,.activeText2,.activeText3{fill:#323d47!important}.done0,.done1,.done2,.done3{fill:#d3d3d3}.doneText0,.doneText1,.doneText2,.doneText3{fill:#323d47!important}.crit0,.crit1,.crit2,.crit3{stroke:#e83737;fill:#e83737;stroke-width:2}.activeCrit0,.activeCrit1,.activeCrit2,.activeCrit3{stroke:#e83737;fill:#81b1db;stroke-width:2}.doneCrit0,.doneCrit1,.doneCrit2,.doneCrit3{stroke:#e83737;fill:#d3d3d3;stroke-width:1;cursor:pointer;shape-rendering:crispEdges}.doneCritText0,.doneCritText1,.doneCritText2,.doneCritText3{fill:#d3d3d3!important}.activeCritText0,.activeCritText1,.activeCritText2,.activeCritText3{fill:#323d47!important}.titleText{text-anchor:middle;font-size:18px;fill:#d3d3d3}g.classGroup text{fill:purple;stroke:none;font-family:trebuchet ms,verdana,arial;font-size:10px}g.classGroup rect{fill:#bdd5ea;stroke:purple}g.classGroup line{stroke:purple;stroke-width:1}svg .classLabel .box{stroke:none;stroke-width:0;fill:#bdd5ea;opacity:.5}svg .classLabel .label{fill:purple;font-size:10px}.relation{stroke:purple;stroke-width:1;fill:none}#compositionEnd,#compositionStart,.composition{fill:purple;stroke:purple;stroke-width:1}#aggregationEnd,#aggregationStart,.aggregation{fill:#bdd5ea;stroke:purple;stroke-width:1}#dependencyEnd,#dependencyStart,#extensionEnd,#extensionStart{fill:purple;stroke:purple;stroke-width:1}.branch-label,.commit-id,.commit-msg{fill:#d3d3d3;color:#d3d3d3}.node text{font-size:14px}.node text,div.mermaidTooltip{font-family:trebuchet ms,verdana,arial}div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-size:12px;background:#6d6d65;border:1px solid hsla(0,0%,100%,.25);border-radius:2px;pointer-events:none;z-index:100} \ No newline at end of file
diff --git a/www/wiki/extensions/Mermaid/res/mermaid/8.0.0/mermaid.forest.min.css b/www/wiki/extensions/Mermaid/res/mermaid/8.0.0/mermaid.forest.min.css
new file mode 100644
index 00000000..f8a2fca3
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/res/mermaid/8.0.0/mermaid.forest.min.css
@@ -0,0 +1 @@
+.mermaid .label{font-family:trebuchet ms,verdana,arial;color:#333}.node circle,.node ellipse,.node polygon,.node rect{fill:#cde498;stroke:#13540c;stroke-width:1px}.arrowheadPath{fill:green}.edgePath .path{stroke:green;stroke-width:1.5px}.edgeLabel{background-color:#e8e8e8}.cluster rect{fill:#cdffb2!important;rx:4!important;stroke:#6eaa49!important;stroke-width:1px!important}.cluster text{fill:#333}.actor{stroke:#13540c;fill:#cde498}text.actor{fill:#000;stroke:none}.actor-line{stroke:grey}.messageLine0{marker-end:"url(#arrowhead)"}.messageLine0,.messageLine1{stroke-width:1.5;stroke-dasharray:"2 2";stroke:#333}#arrowhead{fill:#333}#crosshead path{fill:#333!important;stroke:#333!important}.messageText{fill:#333;stroke:none}.labelBox{stroke:#326932;fill:#cde498}.labelText,.loopText{fill:#000;stroke:none}.loopLine{stroke-width:2;stroke-dasharray:"2 2";marker-end:"url(#arrowhead)";stroke:#326932}.note{stroke:#6eaa49;fill:#fff5ad}.noteText{fill:#000;stroke:none;font-family:trebuchet ms,verdana,arial;font-size:14px}.section{stroke:none;opacity:.2}.section0,.section2{fill:#6eaa49}.section1,.section3{fill:#fff;opacity:.2}.sectionTitle0,.sectionTitle1,.sectionTitle2,.sectionTitle3{fill:#333}.sectionTitle{text-anchor:start;font-size:11px;text-height:14px}.grid .tick{stroke:#d3d3d3;opacity:.3;shape-rendering:crispEdges}.grid path{stroke-width:0}.today{fill:none;stroke:red;stroke-width:2px}.task{stroke-width:2}.taskText{text-anchor:middle;font-size:11px}.taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px}.taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}.taskText0,.taskText1,.taskText2,.taskText3{fill:#fff}.task0,.task1,.task2,.task3{fill:#487e3a;stroke:#13540c}.taskTextOutside0,.taskTextOutside1,.taskTextOutside2,.taskTextOutside3{fill:#000}.active0,.active1,.active2,.active3{fill:#cde498;stroke:#13540c}.activeText0,.activeText1,.activeText2,.activeText3{fill:#000!important}.done0,.done1,.done2,.done3{stroke:grey;fill:#d3d3d3;stroke-width:2}.doneText0,.doneText1,.doneText2,.doneText3{fill:#000!important}.crit0,.crit1,.crit2,.crit3{stroke:#f88;fill:red;stroke-width:2}.activeCrit0,.activeCrit1,.activeCrit2,.activeCrit3{stroke:#f88;fill:#cde498;stroke-width:2}.doneCrit0,.doneCrit1,.doneCrit2,.doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}.activeCritText0,.activeCritText1,.activeCritText2,.activeCritText3,.doneCritText0,.doneCritText1,.doneCritText2,.doneCritText3{fill:#000!important}.titleText{text-anchor:middle;font-size:18px;fill:#000}g.classGroup text{fill:#13540c;stroke:none;font-family:trebuchet ms,verdana,arial;font-size:10px}g.classGroup rect{fill:#cde498;stroke:#13540c}g.classGroup line{stroke:#13540c;stroke-width:1}svg .classLabel .box{stroke:none;stroke-width:0;fill:#cde498;opacity:.5}svg .classLabel .label{fill:#13540c;font-size:10px}.relation{stroke:#13540c;stroke-width:1;fill:none}#compositionEnd,#compositionStart,.composition{fill:#13540c;stroke:#13540c;stroke-width:1}#aggregationEnd,#aggregationStart,.aggregation{fill:#cde498;stroke:#13540c;stroke-width:1}#dependencyEnd,#dependencyStart,#extensionEnd,#extensionStart{fill:#13540c;stroke:#13540c;stroke-width:1}.node text{font-size:14px}.node text,div.mermaidTooltip{font-family:trebuchet ms,verdana,arial}div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-size:12px;background:#cdffb2;border:1px solid #6eaa49;border-radius:2px;pointer-events:none;z-index:100} \ No newline at end of file
diff --git a/www/wiki/extensions/Mermaid/res/mermaid/8.0.0/mermaid.min.css b/www/wiki/extensions/Mermaid/res/mermaid/8.0.0/mermaid.min.css
new file mode 100644
index 00000000..a485f4ce
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/res/mermaid/8.0.0/mermaid.min.css
@@ -0,0 +1 @@
+.mermaid .label{color:#333}.node circle,.node ellipse,.node polygon,.node rect{fill:#ececff;stroke:#ccf;stroke-width:1px}.arrowheadPath{fill:#333}.edgePath .path{stroke:#333}.edgeLabel{background-color:#e8e8e8}.cluster rect{fill:#ffffde!important;rx:4!important;stroke:#aa3!important;stroke-width:1px!important}.cluster text{fill:#333}.actor{stroke:#ccf;fill:#ececff}text.actor{fill:#000;stroke:none}.actor-line{stroke:grey}.messageLine0{marker-end:"url(#arrowhead)"}.messageLine0,.messageLine1{stroke-width:1.5;stroke-dasharray:"2 2";stroke:#333}#arrowhead{fill:#333}#crosshead path{fill:#333!important;stroke:#333!important}.messageText{fill:#333;stroke:none}.labelBox{stroke:#ccf;fill:#ececff}.labelText,.loopText{fill:#000;stroke:none}.loopLine{stroke-width:2;stroke-dasharray:"2 2";marker-end:"url(#arrowhead)";stroke:#ccf}.note{stroke:#aa3;fill:#fff5ad}.noteText{fill:#000;stroke:none;font-family:trebuchet ms,verdana,arial;font-size:14px}.section{stroke:none;opacity:.2}.section0{fill:rgba(102,102,255,.49)}.section2{fill:#fff400}.section1,.section3{fill:#fff;opacity:.2}.sectionTitle0,.sectionTitle1,.sectionTitle2,.sectionTitle3{fill:#333}.sectionTitle{text-anchor:start;font-size:11px;text-height:14px}.grid .tick{stroke:#d3d3d3;opacity:.3;shape-rendering:crispEdges}.grid path{stroke-width:0}.today{fill:none;stroke:red;stroke-width:2px}.task{stroke-width:2}.taskText{text-anchor:middle;font-size:11px}.taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px}.taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}.taskText0,.taskText1,.taskText2,.taskText3{fill:#fff}.task0,.task1,.task2,.task3{fill:#8a90dd;stroke:#534fbc}.taskTextOutside0,.taskTextOutside1,.taskTextOutside2,.taskTextOutside3{fill:#000}.active0,.active1,.active2,.active3{fill:#bfc7ff;stroke:#534fbc}.activeText0,.activeText1,.activeText2,.activeText3{fill:#000!important}.done0,.done1,.done2,.done3{stroke:grey;fill:#d3d3d3;stroke-width:2}.doneText0,.doneText1,.doneText2,.doneText3{fill:#000!important}.crit0,.crit1,.crit2,.crit3{stroke:#f88;fill:red;stroke-width:2}.activeCrit0,.activeCrit1,.activeCrit2,.activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}.doneCrit0,.doneCrit1,.doneCrit2,.doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}.activeCritText0,.activeCritText1,.activeCritText2,.activeCritText3,.doneCritText0,.doneCritText1,.doneCritText2,.doneCritText3{fill:#000!important}.titleText{text-anchor:middle;font-size:18px;fill:#000}g.classGroup text{fill:#9370db;stroke:none;font-family:trebuchet ms,verdana,arial;font-size:10px}g.classGroup rect{fill:#ececff;stroke:#9370db}g.classGroup line{stroke:#9370db;stroke-width:1}svg .classLabel .box{stroke:none;stroke-width:0;fill:#ececff;opacity:.5}svg .classLabel .label{fill:#9370db;font-size:10px}.relation{stroke:#9370db;stroke-width:1;fill:none}#compositionEnd,#compositionStart,.composition{fill:#9370db;stroke:#9370db;stroke-width:1}#aggregationEnd,#aggregationStart,.aggregation{fill:#ececff;stroke:#9370db;stroke-width:1}#dependencyEnd,#dependencyStart,#extensionEnd,#extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}.node text{font-size:14px}.node text,div.mermaidTooltip{font-family:trebuchet ms,verdana,arial}div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100} \ No newline at end of file
diff --git a/www/wiki/extensions/Mermaid/res/mermaid/8.0.0/mermaid.min.js b/www/wiki/extensions/Mermaid/res/mermaid/8.0.0/mermaid.min.js
new file mode 100644
index 00000000..09183e98
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/res/mermaid/8.0.0/mermaid.min.js
@@ -0,0 +1,9 @@
+!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.mermaid=e():t.mermaid=e()}(window,function(){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},n.r=function(t){Object.defineProperty(t,"__esModule",{value:!0})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=182)}([function(t,e,n){(function(t){t.exports=function(){"use strict";var e,r;function i(){return e.apply(null,arguments)}function a(t){return t instanceof Array||"[object Array]"===Object.prototype.toString.call(t)}function o(t){return null!=t&&"[object Object]"===Object.prototype.toString.call(t)}function s(t){return void 0===t}function u(t){return"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t)}function c(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function l(t,e){var n,r=[];for(n=0;n<t.length;++n)r.push(e(t[n],n));return r}function d(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function f(t,e){for(var n in e)d(e,n)&&(t[n]=e[n]);return d(e,"toString")&&(t.toString=e.toString),d(e,"valueOf")&&(t.valueOf=e.valueOf),t}function h(t,e,n,r){return Se(t,e,n,r,!0).utc()}function _(t){return null==t._pf&&(t._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null,rfc2822:!1,weekdayMismatch:!1}),t._pf}function p(t){if(null==t._isValid){var e=_(t),n=r.call(e.parsedDateParts,function(t){return null!=t}),i=!isNaN(t._d.getTime())&&e.overflow<0&&!e.empty&&!e.invalidMonth&&!e.invalidWeekday&&!e.weekdayMismatch&&!e.nullInput&&!e.invalidFormat&&!e.userInvalidated&&(!e.meridiem||e.meridiem&&n);if(t._strict&&(i=i&&0===e.charsLeftOver&&0===e.unusedTokens.length&&void 0===e.bigHour),null!=Object.isFrozen&&Object.isFrozen(t))return i;t._isValid=i}return t._isValid}function m(t){var e=h(NaN);return null!=t?f(_(e),t):_(e).userInvalidated=!0,e}r=Array.prototype.some?Array.prototype.some:function(t){for(var e=Object(this),n=e.length>>>0,r=0;r<n;r++)if(r in e&&t.call(this,e[r],r,e))return!0;return!1};var y=i.momentProperties=[];function g(t,e){var n,r,i;if(s(e._isAMomentObject)||(t._isAMomentObject=e._isAMomentObject),s(e._i)||(t._i=e._i),s(e._f)||(t._f=e._f),s(e._l)||(t._l=e._l),s(e._strict)||(t._strict=e._strict),s(e._tzm)||(t._tzm=e._tzm),s(e._isUTC)||(t._isUTC=e._isUTC),s(e._offset)||(t._offset=e._offset),s(e._pf)||(t._pf=_(e)),s(e._locale)||(t._locale=e._locale),y.length>0)for(n=0;n<y.length;n++)r=y[n],s(i=e[r])||(t[r]=i);return t}var v=!1;function M(t){g(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===v&&(v=!0,i.updateOffset(this),v=!1)}function b(t){return t instanceof M||null!=t&&null!=t._isAMomentObject}function k(t){return t<0?Math.ceil(t)||0:Math.floor(t)}function L(t){var e=+t,n=0;return 0!==e&&isFinite(e)&&(n=k(e)),n}function w(t,e,n){var r,i=Math.min(t.length,e.length),a=Math.abs(t.length-e.length),o=0;for(r=0;r<i;r++)(n&&t[r]!==e[r]||!n&&L(t[r])!==L(e[r]))&&o++;return o+a}function x(t){!1===i.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function T(t,e){var n=!0;return f(function(){if(null!=i.deprecationHandler&&i.deprecationHandler(null,t),n){for(var r,a=[],o=0;o<arguments.length;o++){if(r="","object"==typeof arguments[o]){for(var s in r+="\n["+o+"] ",arguments[0])r+=s+": "+arguments[0][s]+", ";r=r.slice(0,-2)}else r=arguments[o];a.push(r)}x(t+"\nArguments: "+Array.prototype.slice.call(a).join("")+"\n"+(new Error).stack),n=!1}return e.apply(this,arguments)},e)}var D,Y={};function S(t,e){null!=i.deprecationHandler&&i.deprecationHandler(t,e),Y[t]||(x(e),Y[t]=!0)}function E(t){return t instanceof Function||"[object Function]"===Object.prototype.toString.call(t)}function A(t,e){var n,r=f({},t);for(n in e)d(e,n)&&(o(t[n])&&o(e[n])?(r[n]={},f(r[n],t[n]),f(r[n],e[n])):null!=e[n]?r[n]=e[n]:delete r[n]);for(n in t)d(t,n)&&!d(e,n)&&o(t[n])&&(r[n]=f({},r[n]));return r}function C(t){null!=t&&this.set(t)}i.suppressDeprecationWarnings=!1,i.deprecationHandler=null,D=Object.keys?Object.keys:function(t){var e,n=[];for(e in t)d(t,e)&&n.push(e);return n};var j={};function O(t,e){var n=t.toLowerCase();j[n]=j[n+"s"]=j[e]=t}function H(t){return"string"==typeof t?j[t]||j[t.toLowerCase()]:void 0}function P(t){var e,n,r={};for(n in t)d(t,n)&&(e=H(n))&&(r[e]=t[n]);return r}var F={};function N(t,e){F[t]=e}function B(t,e,n){var r=""+Math.abs(t),i=e-r.length,a=t>=0;return(a?n?"+":"":"-")+Math.pow(10,Math.max(0,i)).toString().substr(1)+r}var R=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,I=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,z={},W={};function q(t,e,n,r){var i=r;"string"==typeof r&&(i=function(){return this[r]()}),t&&(W[t]=i),e&&(W[e[0]]=function(){return B(i.apply(this,arguments),e[1],e[2])}),n&&(W[n]=function(){return this.localeData().ordinal(i.apply(this,arguments),t)})}function U(t,e){return t.isValid()?(e=V(e,t.localeData()),z[e]=z[e]||function(t){var e,n,r,i=t.match(R);for(e=0,n=i.length;e<n;e++)W[i[e]]?i[e]=W[i[e]]:i[e]=(r=i[e]).match(/\[[\s\S]/)?r.replace(/^\[|\]$/g,""):r.replace(/\\/g,"");return function(e){var r,a="";for(r=0;r<n;r++)a+=E(i[r])?i[r].call(e,t):i[r];return a}}(e),z[e](t)):t.localeData().invalidDate()}function V(t,e){var n=5;function r(t){return e.longDateFormat(t)||t}for(I.lastIndex=0;n>=0&&I.test(t);)t=t.replace(I,r),I.lastIndex=0,n-=1;return t}var $=/\d/,G=/\d\d/,J=/\d{3}/,X=/\d{4}/,Z=/[+-]?\d{6}/,K=/\d\d?/,Q=/\d\d\d\d?/,tt=/\d\d\d\d\d\d?/,et=/\d{1,3}/,nt=/\d{1,4}/,rt=/[+-]?\d{1,6}/,it=/\d+/,at=/[+-]?\d+/,ot=/Z|[+-]\d\d:?\d\d/gi,st=/Z|[+-]\d\d(?::?\d\d)?/gi,ut=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,ct={};function lt(t,e,n){ct[t]=E(e)?e:function(t,r){return t&&n?n:e}}function dt(t,e){return d(ct,t)?ct[t](e._strict,e._locale):new RegExp(ft(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,n,r,i){return e||n||r||i})))}function ft(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var ht={};function _t(t,e){var n,r=e;for("string"==typeof t&&(t=[t]),u(e)&&(r=function(t,n){n[e]=L(t)}),n=0;n<t.length;n++)ht[t[n]]=r}function pt(t,e){_t(t,function(t,n,r,i){r._w=r._w||{},e(t,r._w,r,i)})}function mt(t,e,n){null!=e&&d(ht,t)&&ht[t](e,n._a,n,t)}var yt=0,gt=1,vt=2,Mt=3,bt=4,kt=5,Lt=6,wt=7,xt=8;function Tt(t){return Dt(t)?366:365}function Dt(t){return t%4==0&&t%100!=0||t%400==0}q("Y",0,0,function(){var t=this.year();return t<=9999?""+t:"+"+t}),q(0,["YY",2],0,function(){return this.year()%100}),q(0,["YYYY",4],0,"year"),q(0,["YYYYY",5],0,"year"),q(0,["YYYYYY",6,!0],0,"year"),O("year","y"),N("year",1),lt("Y",at),lt("YY",K,G),lt("YYYY",nt,X),lt("YYYYY",rt,Z),lt("YYYYYY",rt,Z),_t(["YYYYY","YYYYYY"],yt),_t("YYYY",function(t,e){e[yt]=2===t.length?i.parseTwoDigitYear(t):L(t)}),_t("YY",function(t,e){e[yt]=i.parseTwoDigitYear(t)}),_t("Y",function(t,e){e[yt]=parseInt(t,10)}),i.parseTwoDigitYear=function(t){return L(t)+(L(t)>68?1900:2e3)};var Yt,St=Et("FullYear",!0);function Et(t,e){return function(n){return null!=n?(Ct(this,t,n),i.updateOffset(this,e),this):At(this,t)}}function At(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function Ct(t,e,n){t.isValid()&&!isNaN(n)&&("FullYear"===e&&Dt(t.year())&&1===t.month()&&29===t.date()?t._d["set"+(t._isUTC?"UTC":"")+e](n,t.month(),jt(n,t.month())):t._d["set"+(t._isUTC?"UTC":"")+e](n))}function jt(t,e){if(isNaN(t)||isNaN(e))return NaN;var n,r=(e%(n=12)+n)%n;return t+=(e-r)/12,1===r?Dt(t)?29:28:31-r%7%2}Yt=Array.prototype.indexOf?Array.prototype.indexOf:function(t){var e;for(e=0;e<this.length;++e)if(this[e]===t)return e;return-1},q("M",["MM",2],"Mo",function(){return this.month()+1}),q("MMM",0,0,function(t){return this.localeData().monthsShort(this,t)}),q("MMMM",0,0,function(t){return this.localeData().months(this,t)}),O("month","M"),N("month",8),lt("M",K),lt("MM",K,G),lt("MMM",function(t,e){return e.monthsShortRegex(t)}),lt("MMMM",function(t,e){return e.monthsRegex(t)}),_t(["M","MM"],function(t,e){e[gt]=L(t)-1}),_t(["MMM","MMMM"],function(t,e,n,r){var i=n._locale.monthsParse(t,r,n._strict);null!=i?e[gt]=i:_(n).invalidMonth=t});var Ot=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,Ht="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),Pt="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_");function Ft(t,e){var n;if(!t.isValid())return t;if("string"==typeof e)if(/^\d+$/.test(e))e=L(e);else if(!u(e=t.localeData().monthsParse(e)))return t;return n=Math.min(t.date(),jt(t.year(),e)),t._d["set"+(t._isUTC?"UTC":"")+"Month"](e,n),t}function Nt(t){return null!=t?(Ft(this,t),i.updateOffset(this,!0),this):At(this,"Month")}var Bt=ut,Rt=ut;function It(){function t(t,e){return e.length-t.length}var e,n,r=[],i=[],a=[];for(e=0;e<12;e++)n=h([2e3,e]),r.push(this.monthsShort(n,"")),i.push(this.months(n,"")),a.push(this.months(n,"")),a.push(this.monthsShort(n,""));for(r.sort(t),i.sort(t),a.sort(t),e=0;e<12;e++)r[e]=ft(r[e]),i[e]=ft(i[e]);for(e=0;e<24;e++)a[e]=ft(a[e]);this._monthsRegex=new RegExp("^("+a.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+i.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+r.join("|")+")","i")}function zt(t){var e=new Date(Date.UTC.apply(null,arguments));return t<100&&t>=0&&isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t),e}function Wt(t,e,n){var r=7+e-n,i=(7+zt(t,0,r).getUTCDay()-e)%7;return-i+r-1}function qt(t,e,n,r,i){var a,o,s=(7+n-r)%7,u=Wt(t,r,i),c=1+7*(e-1)+s+u;return c<=0?o=Tt(a=t-1)+c:c>Tt(t)?(a=t+1,o=c-Tt(t)):(a=t,o=c),{year:a,dayOfYear:o}}function Ut(t,e,n){var r,i,a=Wt(t.year(),e,n),o=Math.floor((t.dayOfYear()-a-1)/7)+1;return o<1?(i=t.year()-1,r=o+Vt(i,e,n)):o>Vt(t.year(),e,n)?(r=o-Vt(t.year(),e,n),i=t.year()+1):(i=t.year(),r=o),{week:r,year:i}}function Vt(t,e,n){var r=Wt(t,e,n),i=Wt(t+1,e,n);return(Tt(t)-r+i)/7}q("w",["ww",2],"wo","week"),q("W",["WW",2],"Wo","isoWeek"),O("week","w"),O("isoWeek","W"),N("week",5),N("isoWeek",5),lt("w",K),lt("ww",K,G),lt("W",K),lt("WW",K,G),pt(["w","ww","W","WW"],function(t,e,n,r){e[r.substr(0,1)]=L(t)}),q("d",0,"do","day"),q("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),q("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),q("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),q("e",0,0,"weekday"),q("E",0,0,"isoWeekday"),O("day","d"),O("weekday","e"),O("isoWeekday","E"),N("day",11),N("weekday",11),N("isoWeekday",11),lt("d",K),lt("e",K),lt("E",K),lt("dd",function(t,e){return e.weekdaysMinRegex(t)}),lt("ddd",function(t,e){return e.weekdaysShortRegex(t)}),lt("dddd",function(t,e){return e.weekdaysRegex(t)}),pt(["dd","ddd","dddd"],function(t,e,n,r){var i=n._locale.weekdaysParse(t,r,n._strict);null!=i?e.d=i:_(n).invalidWeekday=t}),pt(["d","e","E"],function(t,e,n,r){e[r]=L(t)});var $t="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Gt="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Jt="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Xt=ut,Zt=ut,Kt=ut;function Qt(){function t(t,e){return e.length-t.length}var e,n,r,i,a,o=[],s=[],u=[],c=[];for(e=0;e<7;e++)n=h([2e3,1]).day(e),r=this.weekdaysMin(n,""),i=this.weekdaysShort(n,""),a=this.weekdays(n,""),o.push(r),s.push(i),u.push(a),c.push(r),c.push(i),c.push(a);for(o.sort(t),s.sort(t),u.sort(t),c.sort(t),e=0;e<7;e++)s[e]=ft(s[e]),u[e]=ft(u[e]),c[e]=ft(c[e]);this._weekdaysRegex=new RegExp("^("+c.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+s.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+o.join("|")+")","i")}function te(){return this.hours()%12||12}function ee(t,e){q(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function ne(t,e){return e._meridiemParse}q("H",["HH",2],0,"hour"),q("h",["hh",2],0,te),q("k",["kk",2],0,function(){return this.hours()||24}),q("hmm",0,0,function(){return""+te.apply(this)+B(this.minutes(),2)}),q("hmmss",0,0,function(){return""+te.apply(this)+B(this.minutes(),2)+B(this.seconds(),2)}),q("Hmm",0,0,function(){return""+this.hours()+B(this.minutes(),2)}),q("Hmmss",0,0,function(){return""+this.hours()+B(this.minutes(),2)+B(this.seconds(),2)}),ee("a",!0),ee("A",!1),O("hour","h"),N("hour",13),lt("a",ne),lt("A",ne),lt("H",K),lt("h",K),lt("k",K),lt("HH",K,G),lt("hh",K,G),lt("kk",K,G),lt("hmm",Q),lt("hmmss",tt),lt("Hmm",Q),lt("Hmmss",tt),_t(["H","HH"],Mt),_t(["k","kk"],function(t,e,n){var r=L(t);e[Mt]=24===r?0:r}),_t(["a","A"],function(t,e,n){n._isPm=n._locale.isPM(t),n._meridiem=t}),_t(["h","hh"],function(t,e,n){e[Mt]=L(t),_(n).bigHour=!0}),_t("hmm",function(t,e,n){var r=t.length-2;e[Mt]=L(t.substr(0,r)),e[bt]=L(t.substr(r)),_(n).bigHour=!0}),_t("hmmss",function(t,e,n){var r=t.length-4,i=t.length-2;e[Mt]=L(t.substr(0,r)),e[bt]=L(t.substr(r,2)),e[kt]=L(t.substr(i)),_(n).bigHour=!0}),_t("Hmm",function(t,e,n){var r=t.length-2;e[Mt]=L(t.substr(0,r)),e[bt]=L(t.substr(r))}),_t("Hmmss",function(t,e,n){var r=t.length-4,i=t.length-2;e[Mt]=L(t.substr(0,r)),e[bt]=L(t.substr(r,2)),e[kt]=L(t.substr(i))});var re,ie=Et("Hours",!0),ae={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:Ht,monthsShort:Pt,week:{dow:0,doy:6},weekdays:$t,weekdaysMin:Jt,weekdaysShort:Gt,meridiemParse:/[ap]\.?m?\.?/i},oe={},se={};function ue(t){return t?t.toLowerCase().replace("_","-"):t}function ce(e){var r=null;if(!oe[e]&&void 0!==t&&t&&t.exports)try{r=re._abbr,n(178)("./"+e),le(r)}catch(t){}return oe[e]}function le(t,e){var n;return t&&((n=s(e)?fe(t):de(t,e))?re=n:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+t+" not found. Did you forget to load it?")),re._abbr}function de(t,e){if(null!==e){var n,r=ae;if(e.abbr=t,null!=oe[t])S("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),r=oe[t]._config;else if(null!=e.parentLocale)if(null!=oe[e.parentLocale])r=oe[e.parentLocale]._config;else{if(null==(n=ce(e.parentLocale)))return se[e.parentLocale]||(se[e.parentLocale]=[]),se[e.parentLocale].push({name:t,config:e}),null;r=n._config}return oe[t]=new C(A(r,e)),se[t]&&se[t].forEach(function(t){de(t.name,t.config)}),le(t),oe[t]}return delete oe[t],null}function fe(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return re;if(!a(t)){if(e=ce(t))return e;t=[t]}return function(t){for(var e,n,r,i,a=0;a<t.length;){for(i=ue(t[a]).split("-"),e=i.length,n=(n=ue(t[a+1]))?n.split("-"):null;e>0;){if(r=ce(i.slice(0,e).join("-")))return r;if(n&&n.length>=e&&w(i,n,!0)>=e-1)break;e--}a++}return re}(t)}function he(t){var e,n=t._a;return n&&-2===_(t).overflow&&(e=n[gt]<0||n[gt]>11?gt:n[vt]<1||n[vt]>jt(n[yt],n[gt])?vt:n[Mt]<0||n[Mt]>24||24===n[Mt]&&(0!==n[bt]||0!==n[kt]||0!==n[Lt])?Mt:n[bt]<0||n[bt]>59?bt:n[kt]<0||n[kt]>59?kt:n[Lt]<0||n[Lt]>999?Lt:-1,_(t)._overflowDayOfYear&&(e<yt||e>vt)&&(e=vt),_(t)._overflowWeeks&&-1===e&&(e=wt),_(t)._overflowWeekday&&-1===e&&(e=xt),_(t).overflow=e),t}function _e(t,e,n){return null!=t?t:null!=e?e:n}function pe(t){var e,n,r,a,o,s=[];if(!t._d){for(r=function(t){var e=new Date(i.now());return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}(t),t._w&&null==t._a[vt]&&null==t._a[gt]&&function(t){var e,n,r,i,a,o,s,u;if(null!=(e=t._w).GG||null!=e.W||null!=e.E)a=1,o=4,n=_e(e.GG,t._a[yt],Ut(Ee(),1,4).year),r=_e(e.W,1),((i=_e(e.E,1))<1||i>7)&&(u=!0);else{a=t._locale._week.dow,o=t._locale._week.doy;var c=Ut(Ee(),a,o);n=_e(e.gg,t._a[yt],c.year),r=_e(e.w,c.week),null!=e.d?((i=e.d)<0||i>6)&&(u=!0):null!=e.e?(i=e.e+a,(e.e<0||e.e>6)&&(u=!0)):i=a}r<1||r>Vt(n,a,o)?_(t)._overflowWeeks=!0:null!=u?_(t)._overflowWeekday=!0:(s=qt(n,r,i,a,o),t._a[yt]=s.year,t._dayOfYear=s.dayOfYear)}(t),null!=t._dayOfYear&&(o=_e(t._a[yt],r[yt]),(t._dayOfYear>Tt(o)||0===t._dayOfYear)&&(_(t)._overflowDayOfYear=!0),n=zt(o,0,t._dayOfYear),t._a[gt]=n.getUTCMonth(),t._a[vt]=n.getUTCDate()),e=0;e<3&&null==t._a[e];++e)t._a[e]=s[e]=r[e];for(;e<7;e++)t._a[e]=s[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[Mt]&&0===t._a[bt]&&0===t._a[kt]&&0===t._a[Lt]&&(t._nextDay=!0,t._a[Mt]=0),t._d=(t._useUTC?zt:function(t,e,n,r,i,a,o){var s=new Date(t,e,n,r,i,a,o);return t<100&&t>=0&&isFinite(s.getFullYear())&&s.setFullYear(t),s}).apply(null,s),a=t._useUTC?t._d.getUTCDay():t._d.getDay(),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[Mt]=24),t._w&&void 0!==t._w.d&&t._w.d!==a&&(_(t).weekdayMismatch=!0)}}var me=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,ye=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,ge=/Z|[+-]\d\d(?::?\d\d)?/,ve=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],Me=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],be=/^\/?Date\((\-?\d+)/i;function ke(t){var e,n,r,i,a,o,s=t._i,u=me.exec(s)||ye.exec(s);if(u){for(_(t).iso=!0,e=0,n=ve.length;e<n;e++)if(ve[e][1].exec(u[1])){i=ve[e][0],r=!1!==ve[e][2];break}if(null==i)return void(t._isValid=!1);if(u[3]){for(e=0,n=Me.length;e<n;e++)if(Me[e][1].exec(u[3])){a=(u[2]||" ")+Me[e][0];break}if(null==a)return void(t._isValid=!1)}if(!r&&null!=a)return void(t._isValid=!1);if(u[4]){if(!ge.exec(u[4]))return void(t._isValid=!1);o="Z"}t._f=i+(a||"")+(o||""),De(t)}else t._isValid=!1}var Le=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/;function we(t,e,n,r,i,a){var o=[function(t){var e=parseInt(t,10);return e<=49?2e3+e:e<=999?1900+e:e}(t),Pt.indexOf(e),parseInt(n,10),parseInt(r,10),parseInt(i,10)];return a&&o.push(parseInt(a,10)),o}var xe={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function Te(t){var e=Le.exec(t._i.replace(/\([^)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim());if(e){var n=we(e[4],e[3],e[2],e[5],e[6],e[7]);if(!function(t,e,n){if(t){var r=Gt.indexOf(t),i=new Date(e[0],e[1],e[2]).getDay();if(r!==i)return _(n).weekdayMismatch=!0,n._isValid=!1,!1}return!0}(e[1],n,t))return;t._a=n,t._tzm=function(t,e,n){if(t)return xe[t];if(e)return 0;var r=parseInt(n,10),i=r%100,a=(r-i)/100;return 60*a+i}(e[8],e[9],e[10]),t._d=zt.apply(null,t._a),t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),_(t).rfc2822=!0}else t._isValid=!1}function De(t){if(t._f!==i.ISO_8601)if(t._f!==i.RFC_2822){t._a=[],_(t).empty=!0;var e,n,r,a,o,s=""+t._i,u=s.length,c=0;for(r=V(t._f,t._locale).match(R)||[],e=0;e<r.length;e++)a=r[e],(n=(s.match(dt(a,t))||[])[0])&&((o=s.substr(0,s.indexOf(n))).length>0&&_(t).unusedInput.push(o),s=s.slice(s.indexOf(n)+n.length),c+=n.length),W[a]?(n?_(t).empty=!1:_(t).unusedTokens.push(a),mt(a,n,t)):t._strict&&!n&&_(t).unusedTokens.push(a);_(t).charsLeftOver=u-c,s.length>0&&_(t).unusedInput.push(s),t._a[Mt]<=12&&!0===_(t).bigHour&&t._a[Mt]>0&&(_(t).bigHour=void 0),_(t).parsedDateParts=t._a.slice(0),_(t).meridiem=t._meridiem,t._a[Mt]=(l=t._locale,d=t._a[Mt],null==(f=t._meridiem)?d:null!=l.meridiemHour?l.meridiemHour(d,f):null!=l.isPM?((h=l.isPM(f))&&d<12&&(d+=12),h||12!==d||(d=0),d):d),pe(t),he(t)}else Te(t);else ke(t);var l,d,f,h}function Ye(t){var e=t._i,n=t._f;return t._locale=t._locale||fe(t._l),null===e||void 0===n&&""===e?m({nullInput:!0}):("string"==typeof e&&(t._i=e=t._locale.preparse(e)),b(e)?new M(he(e)):(c(e)?t._d=e:a(n)?function(t){var e,n,r,i,a;if(0===t._f.length)return _(t).invalidFormat=!0,void(t._d=new Date(NaN));for(i=0;i<t._f.length;i++)a=0,e=g({},t),null!=t._useUTC&&(e._useUTC=t._useUTC),e._f=t._f[i],De(e),p(e)&&(a+=_(e).charsLeftOver,a+=10*_(e).unusedTokens.length,_(e).score=a,(null==r||a<r)&&(r=a,n=e));f(t,n||e)}(t):n?De(t):function(t){var e=t._i;s(e)?t._d=new Date(i.now()):c(e)?t._d=new Date(e.valueOf()):"string"==typeof e?function(t){var e=be.exec(t._i);null===e?(ke(t),!1===t._isValid&&(delete t._isValid,Te(t),!1===t._isValid&&(delete t._isValid,i.createFromInputFallback(t)))):t._d=new Date(+e[1])}(t):a(e)?(t._a=l(e.slice(0),function(t){return parseInt(t,10)}),pe(t)):o(e)?function(t){if(!t._d){var e=P(t._i);t._a=l([e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],function(t){return t&&parseInt(t,10)}),pe(t)}}(t):u(e)?t._d=new Date(e):i.createFromInputFallback(t)}(t),p(t)||(t._d=null),t))}function Se(t,e,n,r,i){var s,u={};return!0!==n&&!1!==n||(r=n,n=void 0),(o(t)&&function(t){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(t).length;var e;for(e in t)if(t.hasOwnProperty(e))return!1;return!0}(t)||a(t)&&0===t.length)&&(t=void 0),u._isAMomentObject=!0,u._useUTC=u._isUTC=i,u._l=n,u._i=t,u._f=e,u._strict=r,(s=new M(he(Ye(u))))._nextDay&&(s.add(1,"d"),s._nextDay=void 0),s}function Ee(t,e,n,r){return Se(t,e,n,r,!1)}i.createFromInputFallback=T("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))}),i.ISO_8601=function(){},i.RFC_2822=function(){};var Ae=T("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var t=Ee.apply(null,arguments);return this.isValid()&&t.isValid()?t<this?this:t:m()}),Ce=T("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var t=Ee.apply(null,arguments);return this.isValid()&&t.isValid()?t>this?this:t:m()});function je(t,e){var n,r;if(1===e.length&&a(e[0])&&(e=e[0]),!e.length)return Ee();for(n=e[0],r=1;r<e.length;++r)e[r].isValid()&&!e[r][t](n)||(n=e[r]);return n}var Oe=["year","quarter","month","week","day","hour","minute","second","millisecond"];function He(t){var e=P(t),n=e.year||0,r=e.quarter||0,i=e.month||0,a=e.week||0,o=e.day||0,s=e.hour||0,u=e.minute||0,c=e.second||0,l=e.millisecond||0;this._isValid=function(t){for(var e in t)if(-1===Yt.call(Oe,e)||null!=t[e]&&isNaN(t[e]))return!1;for(var n=!1,r=0;r<Oe.length;++r)if(t[Oe[r]]){if(n)return!1;parseFloat(t[Oe[r]])!==L(t[Oe[r]])&&(n=!0)}return!0}(e),this._milliseconds=+l+1e3*c+6e4*u+1e3*s*60*60,this._days=+o+7*a,this._months=+i+3*r+12*n,this._data={},this._locale=fe(),this._bubble()}function Pe(t){return t instanceof He}function Fe(t){return t<0?-1*Math.round(-1*t):Math.round(t)}function Ne(t,e){q(t,0,0,function(){var t=this.utcOffset(),n="+";return t<0&&(t=-t,n="-"),n+B(~~(t/60),2)+e+B(~~t%60,2)})}Ne("Z",":"),Ne("ZZ",""),lt("Z",st),lt("ZZ",st),_t(["Z","ZZ"],function(t,e,n){n._useUTC=!0,n._tzm=Re(st,t)});var Be=/([\+\-]|\d\d)/gi;function Re(t,e){var n=(e||"").match(t);if(null===n)return null;var r=n[n.length-1]||[],i=(r+"").match(Be)||["-",0,0],a=60*i[1]+L(i[2]);return 0===a?0:"+"===i[0]?a:-a}function Ie(t,e){var n,r;return e._isUTC?(n=e.clone(),r=(b(t)||c(t)?t.valueOf():Ee(t).valueOf())-n.valueOf(),n._d.setTime(n._d.valueOf()+r),i.updateOffset(n,!1),n):Ee(t).local()}function ze(t){return 15*-Math.round(t._d.getTimezoneOffset()/15)}function We(){return!!this.isValid()&&this._isUTC&&0===this._offset}i.updateOffset=function(){};var qe=/^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Ue=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function Ve(t,e){var n,r,i,a,o,s,c=t,l=null;return Pe(t)?c={ms:t._milliseconds,d:t._days,M:t._months}:u(t)?(c={},e?c[e]=t:c.milliseconds=t):(l=qe.exec(t))?(n="-"===l[1]?-1:1,c={y:0,d:L(l[vt])*n,h:L(l[Mt])*n,m:L(l[bt])*n,s:L(l[kt])*n,ms:L(Fe(1e3*l[Lt]))*n}):(l=Ue.exec(t))?(n="-"===l[1]?-1:(l[1],1),c={y:$e(l[2],n),M:$e(l[3],n),w:$e(l[4],n),d:$e(l[5],n),h:$e(l[6],n),m:$e(l[7],n),s:$e(l[8],n)}):null==c?c={}:"object"==typeof c&&("from"in c||"to"in c)&&(a=Ee(c.from),o=Ee(c.to),i=a.isValid()&&o.isValid()?(o=Ie(o,a),a.isBefore(o)?s=Ge(a,o):((s=Ge(o,a)).milliseconds=-s.milliseconds,s.months=-s.months),s):{milliseconds:0,months:0},(c={}).ms=i.milliseconds,c.M=i.months),r=new He(c),Pe(t)&&d(t,"_locale")&&(r._locale=t._locale),r}function $e(t,e){var n=t&&parseFloat(t.replace(",","."));return(isNaN(n)?0:n)*e}function Ge(t,e){var n={milliseconds:0,months:0};return n.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(n.months,"M").isAfter(e)&&--n.months,n.milliseconds=+e-+t.clone().add(n.months,"M"),n}function Je(t,e){return function(n,r){var i;return null===r||isNaN(+r)||(S(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),i=n,n=r,r=i),Xe(this,Ve(n="string"==typeof n?+n:n,r),t),this}}function Xe(t,e,n,r){var a=e._milliseconds,o=Fe(e._days),s=Fe(e._months);t.isValid()&&(r=null==r||r,s&&Ft(t,At(t,"Month")+s*n),o&&Ct(t,"Date",At(t,"Date")+o*n),a&&t._d.setTime(t._d.valueOf()+a*n),r&&i.updateOffset(t,o||s))}Ve.fn=He.prototype,Ve.invalid=function(){return Ve(NaN)};var Ze=Je(1,"add"),Ke=Je(-1,"subtract");function Qe(t,e){var n,r,i=12*(e.year()-t.year())+(e.month()-t.month()),a=t.clone().add(i,"months");return e-a<0?(n=t.clone().add(i-1,"months"),r=(e-a)/(a-n)):(n=t.clone().add(i+1,"months"),r=(e-a)/(n-a)),-(i+r)||0}function tn(t){var e;return void 0===t?this._locale._abbr:(null!=(e=fe(t))&&(this._locale=e),this)}i.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",i.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var en=T("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(t){return void 0===t?this.localeData():this.locale(t)});function nn(){return this._locale}function rn(t,e){q(0,[t,t.length],0,e)}function an(t,e,n,r,i){var a;return null==t?Ut(this,r,i).year:(a=Vt(t,r,i),e>a&&(e=a),function(t,e,n,r,i){var a=qt(t,e,n,r,i),o=zt(a.year,0,a.dayOfYear);return this.year(o.getUTCFullYear()),this.month(o.getUTCMonth()),this.date(o.getUTCDate()),this}.call(this,t,e,n,r,i))}q(0,["gg",2],0,function(){return this.weekYear()%100}),q(0,["GG",2],0,function(){return this.isoWeekYear()%100}),rn("gggg","weekYear"),rn("ggggg","weekYear"),rn("GGGG","isoWeekYear"),rn("GGGGG","isoWeekYear"),O("weekYear","gg"),O("isoWeekYear","GG"),N("weekYear",1),N("isoWeekYear",1),lt("G",at),lt("g",at),lt("GG",K,G),lt("gg",K,G),lt("GGGG",nt,X),lt("gggg",nt,X),lt("GGGGG",rt,Z),lt("ggggg",rt,Z),pt(["gggg","ggggg","GGGG","GGGGG"],function(t,e,n,r){e[r.substr(0,2)]=L(t)}),pt(["gg","GG"],function(t,e,n,r){e[r]=i.parseTwoDigitYear(t)}),q("Q",0,"Qo","quarter"),O("quarter","Q"),N("quarter",7),lt("Q",$),_t("Q",function(t,e){e[gt]=3*(L(t)-1)}),q("D",["DD",2],"Do","date"),O("date","D"),N("date",9),lt("D",K),lt("DD",K,G),lt("Do",function(t,e){return t?e._dayOfMonthOrdinalParse||e._ordinalParse:e._dayOfMonthOrdinalParseLenient}),_t(["D","DD"],vt),_t("Do",function(t,e){e[vt]=L(t.match(K)[0])});var on=Et("Date",!0);q("DDD",["DDDD",3],"DDDo","dayOfYear"),O("dayOfYear","DDD"),N("dayOfYear",4),lt("DDD",et),lt("DDDD",J),_t(["DDD","DDDD"],function(t,e,n){n._dayOfYear=L(t)}),q("m",["mm",2],0,"minute"),O("minute","m"),N("minute",14),lt("m",K),lt("mm",K,G),_t(["m","mm"],bt);var sn=Et("Minutes",!1);q("s",["ss",2],0,"second"),O("second","s"),N("second",15),lt("s",K),lt("ss",K,G),_t(["s","ss"],kt);var un,cn=Et("Seconds",!1);for(q("S",0,0,function(){return~~(this.millisecond()/100)}),q(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),q(0,["SSS",3],0,"millisecond"),q(0,["SSSS",4],0,function(){return 10*this.millisecond()}),q(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),q(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),q(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),q(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),q(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),O("millisecond","ms"),N("millisecond",16),lt("S",et,$),lt("SS",et,G),lt("SSS",et,J),un="SSSS";un.length<=9;un+="S")lt(un,it);function ln(t,e){e[Lt]=L(1e3*("0."+t))}for(un="S";un.length<=9;un+="S")_t(un,ln);var dn=Et("Milliseconds",!1);q("z",0,0,"zoneAbbr"),q("zz",0,0,"zoneName");var fn=M.prototype;function hn(t){return t}fn.add=Ze,fn.calendar=function(t,e){var n=t||Ee(),r=Ie(n,this).startOf("day"),a=i.calendarFormat(this,r)||"sameElse",o=e&&(E(e[a])?e[a].call(this,n):e[a]);return this.format(o||this.localeData().calendar(a,this,Ee(n)))},fn.clone=function(){return new M(this)},fn.diff=function(t,e,n){var r,i,a;if(!this.isValid())return NaN;if(!(r=Ie(t,this)).isValid())return NaN;switch(i=6e4*(r.utcOffset()-this.utcOffset()),e=H(e)){case"year":a=Qe(this,r)/12;break;case"month":a=Qe(this,r);break;case"quarter":a=Qe(this,r)/3;break;case"second":a=(this-r)/1e3;break;case"minute":a=(this-r)/6e4;break;case"hour":a=(this-r)/36e5;break;case"day":a=(this-r-i)/864e5;break;case"week":a=(this-r-i)/6048e5;break;default:a=this-r}return n?a:k(a)},fn.endOf=function(t){return void 0===(t=H(t))||"millisecond"===t?this:("date"===t&&(t="day"),this.startOf(t).add(1,"isoWeek"===t?"week":t).subtract(1,"ms"))},fn.format=function(t){t||(t=this.isUtc()?i.defaultFormatUtc:i.defaultFormat);var e=U(this,t);return this.localeData().postformat(e)},fn.from=function(t,e){return this.isValid()&&(b(t)&&t.isValid()||Ee(t).isValid())?Ve({to:this,from:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()},fn.fromNow=function(t){return this.from(Ee(),t)},fn.to=function(t,e){return this.isValid()&&(b(t)&&t.isValid()||Ee(t).isValid())?Ve({from:this,to:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()},fn.toNow=function(t){return this.to(Ee(),t)},fn.get=function(t){return E(this[t=H(t)])?this[t]():this},fn.invalidAt=function(){return _(this).overflow},fn.isAfter=function(t,e){var n=b(t)?t:Ee(t);return!(!this.isValid()||!n.isValid())&&("millisecond"===(e=H(s(e)?"millisecond":e))?this.valueOf()>n.valueOf():n.valueOf()<this.clone().startOf(e).valueOf())},fn.isBefore=function(t,e){var n=b(t)?t:Ee(t);return!(!this.isValid()||!n.isValid())&&("millisecond"===(e=H(s(e)?"millisecond":e))?this.valueOf()<n.valueOf():this.clone().endOf(e).valueOf()<n.valueOf())},fn.isBetween=function(t,e,n,r){return("("===(r=r||"()")[0]?this.isAfter(t,n):!this.isBefore(t,n))&&(")"===r[1]?this.isBefore(e,n):!this.isAfter(e,n))},fn.isSame=function(t,e){var n,r=b(t)?t:Ee(t);return!(!this.isValid()||!r.isValid())&&("millisecond"===(e=H(e||"millisecond"))?this.valueOf()===r.valueOf():(n=r.valueOf(),this.clone().startOf(e).valueOf()<=n&&n<=this.clone().endOf(e).valueOf()))},fn.isSameOrAfter=function(t,e){return this.isSame(t,e)||this.isAfter(t,e)},fn.isSameOrBefore=function(t,e){return this.isSame(t,e)||this.isBefore(t,e)},fn.isValid=function(){return p(this)},fn.lang=en,fn.locale=tn,fn.localeData=nn,fn.max=Ce,fn.min=Ae,fn.parsingFlags=function(){return f({},_(this))},fn.set=function(t,e){if("object"==typeof t)for(var n=function(t){var e=[];for(var n in t)e.push({unit:n,priority:F[n]});return e.sort(function(t,e){return t.priority-e.priority}),e}(t=P(t)),r=0;r<n.length;r++)this[n[r].unit](t[n[r].unit]);else if(E(this[t=H(t)]))return this[t](e);return this},fn.startOf=function(t){switch(t=H(t)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":case"date":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===t&&this.weekday(0),"isoWeek"===t&&this.isoWeekday(1),"quarter"===t&&this.month(3*Math.floor(this.month()/3)),this},fn.subtract=Ke,fn.toArray=function(){var t=this;return[t.year(),t.month(),t.date(),t.hour(),t.minute(),t.second(),t.millisecond()]},fn.toObject=function(){var t=this;return{years:t.year(),months:t.month(),date:t.date(),hours:t.hours(),minutes:t.minutes(),seconds:t.seconds(),milliseconds:t.milliseconds()}},fn.toDate=function(){return new Date(this.valueOf())},fn.toISOString=function(t){if(!this.isValid())return null;var e=!0!==t,n=e?this.clone().utc():this;return n.year()<0||n.year()>9999?U(n,e?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):E(Date.prototype.toISOString)?e?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",U(n,"Z")):U(n,e?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},fn.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var t="moment",e="";this.isLocal()||(t=0===this.utcOffset()?"moment.utc":"moment.parseZone",e="Z");var n="["+t+'("]',r=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",i=e+'[")]';return this.format(n+r+"-MM-DD[T]HH:mm:ss.SSS"+i)},fn.toJSON=function(){return this.isValid()?this.toISOString():null},fn.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},fn.unix=function(){return Math.floor(this.valueOf()/1e3)},fn.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},fn.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},fn.year=St,fn.isLeapYear=function(){return Dt(this.year())},fn.weekYear=function(t){return an.call(this,t,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},fn.isoWeekYear=function(t){return an.call(this,t,this.isoWeek(),this.isoWeekday(),1,4)},fn.quarter=fn.quarters=function(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)},fn.month=Nt,fn.daysInMonth=function(){return jt(this.year(),this.month())},fn.week=fn.weeks=function(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")},fn.isoWeek=fn.isoWeeks=function(t){var e=Ut(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")},fn.weeksInYear=function(){var t=this.localeData()._week;return Vt(this.year(),t.dow,t.doy)},fn.isoWeeksInYear=function(){return Vt(this.year(),1,4)},fn.date=on,fn.day=fn.days=function(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=function(t,e){return"string"!=typeof t?t:isNaN(t)?"number"==typeof(t=e.weekdaysParse(t))?t:null:parseInt(t,10)}(t,this.localeData()),this.add(t-e,"d")):e},fn.weekday=function(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")},fn.isoWeekday=function(t){if(!this.isValid())return null!=t?this:NaN;if(null!=t){var e=function(t,e){return"string"==typeof t?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}(t,this.localeData());return this.day(this.day()%7?e:e-7)}return this.day()||7},fn.dayOfYear=function(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")},fn.hour=fn.hours=ie,fn.minute=fn.minutes=sn,fn.second=fn.seconds=cn,fn.millisecond=fn.milliseconds=dn,fn.utcOffset=function(t,e,n){var r,a=this._offset||0;if(!this.isValid())return null!=t?this:NaN;if(null!=t){if("string"==typeof t){if(null===(t=Re(st,t)))return this}else Math.abs(t)<16&&!n&&(t*=60);return!this._isUTC&&e&&(r=ze(this)),this._offset=t,this._isUTC=!0,null!=r&&this.add(r,"m"),a!==t&&(!e||this._changeInProgress?Xe(this,Ve(t-a,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,i.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?a:ze(this)},fn.utc=function(t){return this.utcOffset(0,t)},fn.local=function(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(ze(this),"m")),this},fn.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var t=Re(ot,this._i);null!=t?this.utcOffset(t):this.utcOffset(0,!0)}return this},fn.hasAlignedHourOffset=function(t){return!!this.isValid()&&(t=t?Ee(t).utcOffset():0,(this.utcOffset()-t)%60==0)},fn.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},fn.isLocal=function(){return!!this.isValid()&&!this._isUTC},fn.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},fn.isUtc=We,fn.isUTC=We,fn.zoneAbbr=function(){return this._isUTC?"UTC":""},fn.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},fn.dates=T("dates accessor is deprecated. Use date instead.",on),fn.months=T("months accessor is deprecated. Use month instead",Nt),fn.years=T("years accessor is deprecated. Use year instead",St),fn.zone=T("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()}),fn.isDSTShifted=T("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function(){if(!s(this._isDSTShifted))return this._isDSTShifted;var t={};if(g(t,this),(t=Ye(t))._a){var e=t._isUTC?h(t._a):Ee(t._a);this._isDSTShifted=this.isValid()&&w(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted});var _n=C.prototype;function pn(t,e,n,r){var i=fe(),a=h().set(r,e);return i[n](a,t)}function mn(t,e,n){if(u(t)&&(e=t,t=void 0),t=t||"",null!=e)return pn(t,e,n,"month");var r,i=[];for(r=0;r<12;r++)i[r]=pn(t,r,n,"month");return i}function yn(t,e,n,r){"boolean"==typeof t?(u(e)&&(n=e,e=void 0),e=e||""):(n=e=t,t=!1,u(e)&&(n=e,e=void 0),e=e||"");var i,a=fe(),o=t?a._week.dow:0;if(null!=n)return pn(e,(n+o)%7,r,"day");var s=[];for(i=0;i<7;i++)s[i]=pn(e,(i+o)%7,r,"day");return s}_n.calendar=function(t,e,n){var r=this._calendar[t]||this._calendar.sameElse;return E(r)?r.call(e,n):r},_n.longDateFormat=function(t){var e=this._longDateFormat[t],n=this._longDateFormat[t.toUpperCase()];return e||!n?e:(this._longDateFormat[t]=n.replace(/MMMM|MM|DD|dddd/g,function(t){return t.slice(1)}),this._longDateFormat[t])},_n.invalidDate=function(){return this._invalidDate},_n.ordinal=function(t){return this._ordinal.replace("%d",t)},_n.preparse=hn,_n.postformat=hn,_n.relativeTime=function(t,e,n,r){var i=this._relativeTime[n];return E(i)?i(t,e,n,r):i.replace(/%d/i,t)},_n.pastFuture=function(t,e){var n=this._relativeTime[t>0?"future":"past"];return E(n)?n(e):n.replace(/%s/i,e)},_n.set=function(t){var e,n;for(n in t)E(e=t[n])?this[n]=e:this["_"+n]=e;this._config=t,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},_n.months=function(t,e){return t?a(this._months)?this._months[t.month()]:this._months[(this._months.isFormat||Ot).test(e)?"format":"standalone"][t.month()]:a(this._months)?this._months:this._months.standalone},_n.monthsShort=function(t,e){return t?a(this._monthsShort)?this._monthsShort[t.month()]:this._monthsShort[Ot.test(e)?"format":"standalone"][t.month()]:a(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},_n.monthsParse=function(t,e,n){var r,i,a;if(this._monthsParseExact)return function(t,e,n){var r,i,a,o=t.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],r=0;r<12;++r)a=h([2e3,r]),this._shortMonthsParse[r]=this.monthsShort(a,"").toLocaleLowerCase(),this._longMonthsParse[r]=this.months(a,"").toLocaleLowerCase();return n?"MMM"===e?-1!==(i=Yt.call(this._shortMonthsParse,o))?i:null:-1!==(i=Yt.call(this._longMonthsParse,o))?i:null:"MMM"===e?-1!==(i=Yt.call(this._shortMonthsParse,o))?i:-1!==(i=Yt.call(this._longMonthsParse,o))?i:null:-1!==(i=Yt.call(this._longMonthsParse,o))?i:-1!==(i=Yt.call(this._shortMonthsParse,o))?i:null}.call(this,t,e,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),r=0;r<12;r++){if(i=h([2e3,r]),n&&!this._longMonthsParse[r]&&(this._longMonthsParse[r]=new RegExp("^"+this.months(i,"").replace(".","")+"$","i"),this._shortMonthsParse[r]=new RegExp("^"+this.monthsShort(i,"").replace(".","")+"$","i")),n||this._monthsParse[r]||(a="^"+this.months(i,"")+"|^"+this.monthsShort(i,""),this._monthsParse[r]=new RegExp(a.replace(".",""),"i")),n&&"MMMM"===e&&this._longMonthsParse[r].test(t))return r;if(n&&"MMM"===e&&this._shortMonthsParse[r].test(t))return r;if(!n&&this._monthsParse[r].test(t))return r}},_n.monthsRegex=function(t){return this._monthsParseExact?(d(this,"_monthsRegex")||It.call(this),t?this._monthsStrictRegex:this._monthsRegex):(d(this,"_monthsRegex")||(this._monthsRegex=Rt),this._monthsStrictRegex&&t?this._monthsStrictRegex:this._monthsRegex)},_n.monthsShortRegex=function(t){return this._monthsParseExact?(d(this,"_monthsRegex")||It.call(this),t?this._monthsShortStrictRegex:this._monthsShortRegex):(d(this,"_monthsShortRegex")||(this._monthsShortRegex=Bt),this._monthsShortStrictRegex&&t?this._monthsShortStrictRegex:this._monthsShortRegex)},_n.week=function(t){return Ut(t,this._week.dow,this._week.doy).week},_n.firstDayOfYear=function(){return this._week.doy},_n.firstDayOfWeek=function(){return this._week.dow},_n.weekdays=function(t,e){return t?a(this._weekdays)?this._weekdays[t.day()]:this._weekdays[this._weekdays.isFormat.test(e)?"format":"standalone"][t.day()]:a(this._weekdays)?this._weekdays:this._weekdays.standalone},_n.weekdaysMin=function(t){return t?this._weekdaysMin[t.day()]:this._weekdaysMin},_n.weekdaysShort=function(t){return t?this._weekdaysShort[t.day()]:this._weekdaysShort},_n.weekdaysParse=function(t,e,n){var r,i,a;if(this._weekdaysParseExact)return function(t,e,n){var r,i,a,o=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],r=0;r<7;++r)a=h([2e3,1]).day(r),this._minWeekdaysParse[r]=this.weekdaysMin(a,"").toLocaleLowerCase(),this._shortWeekdaysParse[r]=this.weekdaysShort(a,"").toLocaleLowerCase(),this._weekdaysParse[r]=this.weekdays(a,"").toLocaleLowerCase();return n?"dddd"===e?-1!==(i=Yt.call(this._weekdaysParse,o))?i:null:"ddd"===e?-1!==(i=Yt.call(this._shortWeekdaysParse,o))?i:null:-1!==(i=Yt.call(this._minWeekdaysParse,o))?i:null:"dddd"===e?-1!==(i=Yt.call(this._weekdaysParse,o))?i:-1!==(i=Yt.call(this._shortWeekdaysParse,o))?i:-1!==(i=Yt.call(this._minWeekdaysParse,o))?i:null:"ddd"===e?-1!==(i=Yt.call(this._shortWeekdaysParse,o))?i:-1!==(i=Yt.call(this._weekdaysParse,o))?i:-1!==(i=Yt.call(this._minWeekdaysParse,o))?i:null:-1!==(i=Yt.call(this._minWeekdaysParse,o))?i:-1!==(i=Yt.call(this._weekdaysParse,o))?i:-1!==(i=Yt.call(this._shortWeekdaysParse,o))?i:null}.call(this,t,e,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),r=0;r<7;r++){if(i=h([2e3,1]).day(r),n&&!this._fullWeekdaysParse[r]&&(this._fullWeekdaysParse[r]=new RegExp("^"+this.weekdays(i,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[r]=new RegExp("^"+this.weekdaysShort(i,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[r]=new RegExp("^"+this.weekdaysMin(i,"").replace(".",".?")+"$","i")),this._weekdaysParse[r]||(a="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[r]=new RegExp(a.replace(".",""),"i")),n&&"dddd"===e&&this._fullWeekdaysParse[r].test(t))return r;if(n&&"ddd"===e&&this._shortWeekdaysParse[r].test(t))return r;if(n&&"dd"===e&&this._minWeekdaysParse[r].test(t))return r;if(!n&&this._weekdaysParse[r].test(t))return r}},_n.weekdaysRegex=function(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Qt.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(d(this,"_weekdaysRegex")||(this._weekdaysRegex=Xt),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)},_n.weekdaysShortRegex=function(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Qt.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(d(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Zt),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},_n.weekdaysMinRegex=function(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Qt.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(d(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Kt),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},_n.isPM=function(t){return"p"===(t+"").toLowerCase().charAt(0)},_n.meridiem=function(t,e,n){return t>11?n?"pm":"PM":n?"am":"AM"},le("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,n=1===L(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+n}}),i.lang=T("moment.lang is deprecated. Use moment.locale instead.",le),i.langData=T("moment.langData is deprecated. Use moment.localeData instead.",fe);var gn=Math.abs;function vn(t,e,n,r){var i=Ve(e,n);return t._milliseconds+=r*i._milliseconds,t._days+=r*i._days,t._months+=r*i._months,t._bubble()}function Mn(t){return t<0?Math.floor(t):Math.ceil(t)}function bn(t){return 4800*t/146097}function kn(t){return 146097*t/4800}function Ln(t){return function(){return this.as(t)}}var wn=Ln("ms"),xn=Ln("s"),Tn=Ln("m"),Dn=Ln("h"),Yn=Ln("d"),Sn=Ln("w"),En=Ln("M"),An=Ln("y");function Cn(t){return function(){return this.isValid()?this._data[t]:NaN}}var jn=Cn("milliseconds"),On=Cn("seconds"),Hn=Cn("minutes"),Pn=Cn("hours"),Fn=Cn("days"),Nn=Cn("months"),Bn=Cn("years"),Rn=Math.round,In={ss:44,s:45,m:45,h:22,d:26,M:11},zn=Math.abs;function Wn(t){return(t>0)-(t<0)||+t}function qn(){if(!this.isValid())return this.localeData().invalidDate();var t,e,n=zn(this._milliseconds)/1e3,r=zn(this._days),i=zn(this._months);t=k(n/60),e=k(t/60),n%=60,t%=60;var a=k(i/12),o=i%=12,s=r,u=e,c=t,l=n?n.toFixed(3).replace(/\.?0+$/,""):"",d=this.asSeconds();if(!d)return"P0D";var f=d<0?"-":"",h=Wn(this._months)!==Wn(d)?"-":"",_=Wn(this._days)!==Wn(d)?"-":"",p=Wn(this._milliseconds)!==Wn(d)?"-":"";return f+"P"+(a?h+a+"Y":"")+(o?h+o+"M":"")+(s?_+s+"D":"")+(u||c||l?"T":"")+(u?p+u+"H":"")+(c?p+c+"M":"")+(l?p+l+"S":"")}var Un=He.prototype;return Un.isValid=function(){return this._isValid},Un.abs=function(){var t=this._data;return this._milliseconds=gn(this._milliseconds),this._days=gn(this._days),this._months=gn(this._months),t.milliseconds=gn(t.milliseconds),t.seconds=gn(t.seconds),t.minutes=gn(t.minutes),t.hours=gn(t.hours),t.months=gn(t.months),t.years=gn(t.years),this},Un.add=function(t,e){return vn(this,t,e,1)},Un.subtract=function(t,e){return vn(this,t,e,-1)},Un.as=function(t){if(!this.isValid())return NaN;var e,n,r=this._milliseconds;if("month"===(t=H(t))||"year"===t)return e=this._days+r/864e5,n=this._months+bn(e),"month"===t?n:n/12;switch(e=this._days+Math.round(kn(this._months)),t){case"week":return e/7+r/6048e5;case"day":return e+r/864e5;case"hour":return 24*e+r/36e5;case"minute":return 1440*e+r/6e4;case"second":return 86400*e+r/1e3;case"millisecond":return Math.floor(864e5*e)+r;default:throw new Error("Unknown unit "+t)}},Un.asMilliseconds=wn,Un.asSeconds=xn,Un.asMinutes=Tn,Un.asHours=Dn,Un.asDays=Yn,Un.asWeeks=Sn,Un.asMonths=En,Un.asYears=An,Un.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*L(this._months/12):NaN},Un._bubble=function(){var t,e,n,r,i,a=this._milliseconds,o=this._days,s=this._months,u=this._data;return a>=0&&o>=0&&s>=0||a<=0&&o<=0&&s<=0||(a+=864e5*Mn(kn(s)+o),o=0,s=0),u.milliseconds=a%1e3,t=k(a/1e3),u.seconds=t%60,e=k(t/60),u.minutes=e%60,n=k(e/60),u.hours=n%24,o+=k(n/24),i=k(bn(o)),s+=i,o-=Mn(kn(i)),r=k(s/12),s%=12,u.days=o,u.months=s,u.years=r,this},Un.clone=function(){return Ve(this)},Un.get=function(t){return t=H(t),this.isValid()?this[t+"s"]():NaN},Un.milliseconds=jn,Un.seconds=On,Un.minutes=Hn,Un.hours=Pn,Un.days=Fn,Un.weeks=function(){return k(this.days()/7)},Un.months=Nn,Un.years=Bn,Un.humanize=function(t){if(!this.isValid())return this.localeData().invalidDate();var e=this.localeData(),n=function(t,e,n){var r=Ve(t).abs(),i=Rn(r.as("s")),a=Rn(r.as("m")),o=Rn(r.as("h")),s=Rn(r.as("d")),u=Rn(r.as("M")),c=Rn(r.as("y")),l=i<=In.ss&&["s",i]||i<In.s&&["ss",i]||a<=1&&["m"]||a<In.m&&["mm",a]||o<=1&&["h"]||o<In.h&&["hh",o]||s<=1&&["d"]||s<In.d&&["dd",s]||u<=1&&["M"]||u<In.M&&["MM",u]||c<=1&&["y"]||["yy",c];return l[2]=e,l[3]=+t>0,l[4]=n,function(t,e,n,r,i){return i.relativeTime(e||1,!!n,t,r)}.apply(null,l)}(this,!t,e);return t&&(n=e.pastFuture(+this,n)),e.postformat(n)},Un.toISOString=qn,Un.toString=qn,Un.toJSON=qn,Un.locale=tn,Un.localeData=nn,Un.toIsoString=T("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",qn),Un.lang=en,q("X",0,0,"unix"),q("x",0,0,"valueOf"),lt("x",at),lt("X",/[+-]?\d+(\.\d{1,3})?/),_t("X",function(t,e,n){n._d=new Date(1e3*parseFloat(t,10))}),_t("x",function(t,e,n){n._d=new Date(L(t))}),i.version="2.21.0",e=Ee,i.fn=fn,i.min=function(){return je("isBefore",[].slice.call(arguments,0))},i.max=function(){return je("isAfter",[].slice.call(arguments,0))},i.now=function(){return Date.now?Date.now():+new Date},i.utc=h,i.unix=function(t){return Ee(1e3*t)},i.months=function(t,e){return mn(t,e,"months")},i.isDate=c,i.locale=le,i.invalid=m,i.duration=Ve,i.isMoment=b,i.weekdays=function(t,e,n){return yn(t,e,n,"weekdays")},i.parseZone=function(){return Ee.apply(null,arguments).parseZone()},i.localeData=fe,i.isDuration=Pe,i.monthsShort=function(t,e){return mn(t,e,"monthsShort")},i.weekdaysMin=function(t,e,n){return yn(t,e,n,"weekdaysMin")},i.defineLocale=de,i.updateLocale=function(t,e){if(null!=e){var n,r,i=ae;null!=(r=ce(t))&&(i=r._config),e=A(i,e),(n=new C(e)).parentLocale=oe[t],oe[t]=n,le(t)}else null!=oe[t]&&(null!=oe[t].parentLocale?oe[t]=oe[t].parentLocale:null!=oe[t]&&delete oe[t]);return oe[t]},i.locales=function(){return D(oe)},i.weekdaysShort=function(t,e,n){return yn(t,e,n,"weekdaysShort")},i.normalizeUnits=H,i.relativeTimeRounding=function(t){return void 0===t?Rn:"function"==typeof t&&(Rn=t,!0)},i.relativeTimeThreshold=function(t,e){return void 0!==In[t]&&(void 0===e?In[t]:(In[t]=e,"s"===t&&(In.ss=e-1),!0))},i.calendarFormat=function(t,e){var n=t.diff(e,"days",!0);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"},i.prototype=fn,i.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"YYYY-[W]WW",MONTH:"YYYY-MM"},i}()}).call(this,n(4)(t))},function(t,e,n){var r;try{r=n(8)}catch(t){}r||(r=window._),t.exports=r},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.setLogLevel=e.logger=e.LEVELS=void 0;var r,i=n(0),a=(r=i)&&r.__esModule?r:{default:r};var o=e.LEVELS={debug:1,info:2,warn:3,error:4,fatal:5},s=e.logger={debug:function(){},info:function(){},warn:function(){},error:function(){},fatal:function(){}},u=(e.setLogLevel=function(t){s.debug=function(){},s.info=function(){},s.warn=function(){},s.error=function(){},s.fatal=function(){},t<=o.fatal&&(s.fatal=console.log.bind(console,"",u("FATAL"))),t<=o.error&&(s.error=console.log.bind(console,"",u("ERROR"))),t<=o.warn&&(s.warn=console.log.bind(console,"",u("WARN"))),t<=o.info&&(s.info=console.log.bind(console,"",u("INFO"))),t<=o.debug&&(s.debug=console.log.bind(console,"",u("DEBUG")))},function(t){return(0,a.default)().format("HH:mm:ss.SSS")+" : "+t+" : "})},function(t,e,n){"use strict";n.r(e);var r=function(t,e){return t<e?-1:t>e?1:t>=e?0:NaN},i=function(t){var e;return 1===t.length&&(e=t,t=function(t,n){return r(e(t),n)}),{left:function(e,n,r,i){for(null==r&&(r=0),null==i&&(i=e.length);r<i;){var a=r+i>>>1;t(e[a],n)<0?r=a+1:i=a}return r},right:function(e,n,r,i){for(null==r&&(r=0),null==i&&(i=e.length);r<i;){var a=r+i>>>1;t(e[a],n)>0?i=a:r=a+1}return r}}};var a=i(r),o=a.right,s=a.left,u=o,c=function(t,e){null==e&&(e=l);for(var n=0,r=t.length-1,i=t[0],a=new Array(r<0?0:r);n<r;)a[n]=e(i,i=t[++n]);return a};function l(t,e){return[t,e]}var d=function(t,e,n){var r,i,a,o,s=t.length,u=e.length,c=new Array(s*u);for(null==n&&(n=l),r=a=0;r<s;++r)for(o=t[r],i=0;i<u;++i,++a)c[a]=n(o,e[i]);return c},f=function(t,e){return e<t?-1:e>t?1:e>=t?0:NaN},h=function(t){return null===t?NaN:+t},_=function(t,e){var n,r,i=t.length,a=0,o=-1,s=0,u=0;if(null==e)for(;++o<i;)isNaN(n=h(t[o]))||(u+=(r=n-s)*(n-(s+=r/++a)));else for(;++o<i;)isNaN(n=h(e(t[o],o,t)))||(u+=(r=n-s)*(n-(s+=r/++a)));if(a>1)return u/(a-1)},p=function(t,e){var n=_(t,e);return n?Math.sqrt(n):n},m=function(t,e){var n,r,i,a=t.length,o=-1;if(null==e){for(;++o<a;)if(null!=(n=t[o])&&n>=n)for(r=i=n;++o<a;)null!=(n=t[o])&&(r>n&&(r=n),i<n&&(i=n))}else for(;++o<a;)if(null!=(n=e(t[o],o,t))&&n>=n)for(r=i=n;++o<a;)null!=(n=e(t[o],o,t))&&(r>n&&(r=n),i<n&&(i=n));return[r,i]},y=Array.prototype,g=y.slice,v=y.map,M=function(t){return function(){return t}},b=function(t){return t},k=function(t,e,n){t=+t,e=+e,n=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+n;for(var r=-1,i=0|Math.max(0,Math.ceil((e-t)/n)),a=new Array(i);++r<i;)a[r]=t+r*n;return a},L=Math.sqrt(50),w=Math.sqrt(10),x=Math.sqrt(2),T=function(t,e,n){var r,i,a,o,s=-1;if(n=+n,(t=+t)===(e=+e)&&n>0)return[t];if((r=e<t)&&(i=t,t=e,e=i),0===(o=D(t,e,n))||!isFinite(o))return[];if(o>0)for(t=Math.ceil(t/o),e=Math.floor(e/o),a=new Array(i=Math.ceil(e-t+1));++s<i;)a[s]=(t+s)*o;else for(t=Math.floor(t*o),e=Math.ceil(e*o),a=new Array(i=Math.ceil(t-e+1));++s<i;)a[s]=(t-s)/o;return r&&a.reverse(),a};function D(t,e,n){var r=(e-t)/Math.max(0,n),i=Math.floor(Math.log(r)/Math.LN10),a=r/Math.pow(10,i);return i>=0?(a>=L?10:a>=w?5:a>=x?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(a>=L?10:a>=w?5:a>=x?2:1)}function Y(t,e,n){var r=Math.abs(e-t)/Math.max(0,n),i=Math.pow(10,Math.floor(Math.log(r)/Math.LN10)),a=r/i;return a>=L?i*=10:a>=w?i*=5:a>=x&&(i*=2),e<t?-i:i}var S=function(t){return Math.ceil(Math.log(t.length)/Math.LN2)+1},E=function(){var t=b,e=m,n=S;function r(r){var i,a,o=r.length,s=new Array(o);for(i=0;i<o;++i)s[i]=t(r[i],i,r);var c=e(s),l=c[0],d=c[1],f=n(s,l,d);Array.isArray(f)||(f=Y(l,d,f),f=k(Math.ceil(l/f)*f,Math.floor(d/f)*f,f));for(var h=f.length;f[0]<=l;)f.shift(),--h;for(;f[h-1]>d;)f.pop(),--h;var _,p=new Array(h+1);for(i=0;i<=h;++i)(_=p[i]=[]).x0=i>0?f[i-1]:l,_.x1=i<h?f[i]:d;for(i=0;i<o;++i)l<=(a=s[i])&&a<=d&&p[u(f,a,0,h)].push(r[i]);return p}return r.value=function(e){return arguments.length?(t="function"==typeof e?e:M(e),r):t},r.domain=function(t){return arguments.length?(e="function"==typeof t?t:M([t[0],t[1]]),r):e},r.thresholds=function(t){return arguments.length?(n="function"==typeof t?t:Array.isArray(t)?M(g.call(t)):M(t),r):n},r},A=function(t,e,n){if(null==n&&(n=h),r=t.length){if((e=+e)<=0||r<2)return+n(t[0],0,t);if(e>=1)return+n(t[r-1],r-1,t);var r,i=(r-1)*e,a=Math.floor(i),o=+n(t[a],a,t);return o+(+n(t[a+1],a+1,t)-o)*(i-a)}},C=function(t,e,n){return t=v.call(t,h).sort(r),Math.ceil((n-e)/(2*(A(t,.75)-A(t,.25))*Math.pow(t.length,-1/3)))},j=function(t,e,n){return Math.ceil((n-e)/(3.5*p(t)*Math.pow(t.length,-1/3)))},O=function(t,e){var n,r,i=t.length,a=-1;if(null==e){for(;++a<i;)if(null!=(n=t[a])&&n>=n)for(r=n;++a<i;)null!=(n=t[a])&&n>r&&(r=n)}else for(;++a<i;)if(null!=(n=e(t[a],a,t))&&n>=n)for(r=n;++a<i;)null!=(n=e(t[a],a,t))&&n>r&&(r=n);return r},H=function(t,e){var n,r=t.length,i=r,a=-1,o=0;if(null==e)for(;++a<r;)isNaN(n=h(t[a]))?--i:o+=n;else for(;++a<r;)isNaN(n=h(e(t[a],a,t)))?--i:o+=n;if(i)return o/i},P=function(t,e){var n,i=t.length,a=-1,o=[];if(null==e)for(;++a<i;)isNaN(n=h(t[a]))||o.push(n);else for(;++a<i;)isNaN(n=h(e(t[a],a,t)))||o.push(n);return A(o.sort(r),.5)},F=function(t){for(var e,n,r,i=t.length,a=-1,o=0;++a<i;)o+=t[a].length;for(n=new Array(o);--i>=0;)for(e=(r=t[i]).length;--e>=0;)n[--o]=r[e];return n},N=function(t,e){var n,r,i=t.length,a=-1;if(null==e){for(;++a<i;)if(null!=(n=t[a])&&n>=n)for(r=n;++a<i;)null!=(n=t[a])&&r>n&&(r=n)}else for(;++a<i;)if(null!=(n=e(t[a],a,t))&&n>=n)for(r=n;++a<i;)null!=(n=e(t[a],a,t))&&r>n&&(r=n);return r},B=function(t,e){for(var n=e.length,r=new Array(n);n--;)r[n]=t[e[n]];return r},R=function(t,e){if(n=t.length){var n,i,a=0,o=0,s=t[o];for(null==e&&(e=r);++a<n;)(e(i=t[a],s)<0||0!==e(s,s))&&(s=i,o=a);return 0===e(s,s)?o:void 0}},I=function(t,e,n){for(var r,i,a=(null==n?t.length:n)-(e=null==e?0:+e);a;)i=Math.random()*a--|0,r=t[a+e],t[a+e]=t[i+e],t[i+e]=r;return t},z=function(t,e){var n,r=t.length,i=-1,a=0;if(null==e)for(;++i<r;)(n=+t[i])&&(a+=n);else for(;++i<r;)(n=+e(t[i],i,t))&&(a+=n);return a},W=function(t){if(!(i=t.length))return[];for(var e=-1,n=N(t,q),r=new Array(n);++e<n;)for(var i,a=-1,o=r[e]=new Array(i);++a<i;)o[a]=t[a][e];return r};function q(t){return t.length}var U=function(){return W(arguments)},V=Array.prototype.slice,$=function(t){return t},G=1,J=2,X=3,Z=4,K=1e-6;function Q(t){return"translate("+(t+.5)+",0)"}function tt(t){return"translate(0,"+(t+.5)+")"}function et(){return!this.__axis}function nt(t,e){var n=[],r=null,i=null,a=6,o=6,s=3,u=t===G||t===Z?-1:1,c=t===Z||t===J?"x":"y",l=t===G||t===X?Q:tt;function d(d){var f=null==r?e.ticks?e.ticks.apply(e,n):e.domain():r,h=null==i?e.tickFormat?e.tickFormat.apply(e,n):$:i,_=Math.max(a,0)+s,p=e.range(),m=+p[0]+.5,y=+p[p.length-1]+.5,g=(e.bandwidth?function(t){var e=Math.max(0,t.bandwidth()-1)/2;return t.round()&&(e=Math.round(e)),function(n){return+t(n)+e}}:function(t){return function(e){return+t(e)}})(e.copy()),v=d.selection?d.selection():d,M=v.selectAll(".domain").data([null]),b=v.selectAll(".tick").data(f,e).order(),k=b.exit(),L=b.enter().append("g").attr("class","tick"),w=b.select("line"),x=b.select("text");M=M.merge(M.enter().insert("path",".tick").attr("class","domain").attr("stroke","#000")),b=b.merge(L),w=w.merge(L.append("line").attr("stroke","#000").attr(c+"2",u*a)),x=x.merge(L.append("text").attr("fill","#000").attr(c,u*_).attr("dy",t===G?"0em":t===X?"0.71em":"0.32em")),d!==v&&(M=M.transition(d),b=b.transition(d),w=w.transition(d),x=x.transition(d),k=k.transition(d).attr("opacity",K).attr("transform",function(t){return isFinite(t=g(t))?l(t):this.getAttribute("transform")}),L.attr("opacity",K).attr("transform",function(t){var e=this.parentNode.__axis;return l(e&&isFinite(e=e(t))?e:g(t))})),k.remove(),M.attr("d",t===Z||t==J?"M"+u*o+","+m+"H0.5V"+y+"H"+u*o:"M"+m+","+u*o+"V0.5H"+y+"V"+u*o),b.attr("opacity",1).attr("transform",function(t){return l(g(t))}),w.attr(c+"2",u*a),x.attr(c,u*_).text(h),v.filter(et).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===J?"start":t===Z?"end":"middle"),v.each(function(){this.__axis=g})}return d.scale=function(t){return arguments.length?(e=t,d):e},d.ticks=function(){return n=V.call(arguments),d},d.tickArguments=function(t){return arguments.length?(n=null==t?[]:V.call(t),d):n.slice()},d.tickValues=function(t){return arguments.length?(r=null==t?null:V.call(t),d):r&&r.slice()},d.tickFormat=function(t){return arguments.length?(i=t,d):i},d.tickSize=function(t){return arguments.length?(a=o=+t,d):a},d.tickSizeInner=function(t){return arguments.length?(a=+t,d):a},d.tickSizeOuter=function(t){return arguments.length?(o=+t,d):o},d.tickPadding=function(t){return arguments.length?(s=+t,d):s},d}function rt(t){return nt(G,t)}function it(t){return nt(J,t)}function at(t){return nt(X,t)}function ot(t){return nt(Z,t)}var st={value:function(){}};function ut(){for(var t,e=0,n=arguments.length,r={};e<n;++e){if(!(t=arguments[e]+"")||t in r)throw new Error("illegal type: "+t);r[t]=[]}return new ct(r)}function ct(t){this._=t}function lt(t,e){for(var n,r=0,i=t.length;r<i;++r)if((n=t[r]).name===e)return n.value}function dt(t,e,n){for(var r=0,i=t.length;r<i;++r)if(t[r].name===e){t[r]=st,t=t.slice(0,r).concat(t.slice(r+1));break}return null!=n&&t.push({name:e,value:n}),t}ct.prototype=ut.prototype={constructor:ct,on:function(t,e){var n,r,i=this._,a=(r=i,(t+"").trim().split(/^|\s+/).map(function(t){var e="",n=t.indexOf(".");if(n>=0&&(e=t.slice(n+1),t=t.slice(0,n)),t&&!r.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:e}})),o=-1,s=a.length;if(!(arguments.length<2)){if(null!=e&&"function"!=typeof e)throw new Error("invalid callback: "+e);for(;++o<s;)if(n=(t=a[o]).type)i[n]=dt(i[n],t.name,e);else if(null==e)for(n in i)i[n]=dt(i[n],t.name,null);return this}for(;++o<s;)if((n=(t=a[o]).type)&&(n=lt(i[n],t.name)))return n},copy:function(){var t={},e=this._;for(var n in e)t[n]=e[n].slice();return new ct(t)},call:function(t,e){if((n=arguments.length-2)>0)for(var n,r,i=new Array(n),a=0;a<n;++a)i[a]=arguments[a+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(a=0,n=(r=this._[t]).length;a<n;++a)r[a].value.apply(e,i)},apply:function(t,e,n){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var r=this._[t],i=0,a=r.length;i<a;++i)r[i].value.apply(e,n)}};var ft=ut,ht="http://www.w3.org/1999/xhtml",_t={svg:"http://www.w3.org/2000/svg",xhtml:ht,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},pt=function(t){var e=t+="",n=e.indexOf(":");return n>=0&&"xmlns"!==(e=t.slice(0,n))&&(t=t.slice(n+1)),_t.hasOwnProperty(e)?{space:_t[e],local:t}:t};var mt=function(t){var e=pt(t);return(e.local?function(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}:function(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===ht&&e.documentElement.namespaceURI===ht?e.createElement(t):e.createElementNS(n,t)}})(e)};function yt(){}var gt=function(t){return null==t?yt:function(){return this.querySelector(t)}};function vt(){return[]}var Mt=function(t){return null==t?vt:function(){return this.querySelectorAll(t)}},bt=function(t){return function(){return this.matches(t)}};if("undefined"!=typeof document){var kt=document.documentElement;if(!kt.matches){var Lt=kt.webkitMatchesSelector||kt.msMatchesSelector||kt.mozMatchesSelector||kt.oMatchesSelector;bt=function(t){return function(){return Lt.call(this,t)}}}}var wt=bt,xt=function(t){return new Array(t.length)};function Tt(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}Tt.prototype={constructor:Tt,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};var Dt="$";function Yt(t,e,n,r,i,a){for(var o,s=0,u=e.length,c=a.length;s<c;++s)(o=e[s])?(o.__data__=a[s],r[s]=o):n[s]=new Tt(t,a[s]);for(;s<u;++s)(o=e[s])&&(i[s]=o)}function St(t,e,n,r,i,a,o){var s,u,c,l={},d=e.length,f=a.length,h=new Array(d);for(s=0;s<d;++s)(u=e[s])&&(h[s]=c=Dt+o.call(u,u.__data__,s,e),c in l?i[s]=u:l[c]=u);for(s=0;s<f;++s)(u=l[c=Dt+o.call(t,a[s],s,a)])?(r[s]=u,u.__data__=a[s],l[c]=null):n[s]=new Tt(t,a[s]);for(s=0;s<d;++s)(u=e[s])&&l[h[s]]===u&&(i[s]=u)}function Et(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}var At=function(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView};function Ct(t,e){return t.style.getPropertyValue(e)||At(t).getComputedStyle(t,null).getPropertyValue(e)}function jt(t){return t.trim().split(/^|\s+/)}function Ot(t){return t.classList||new Ht(t)}function Ht(t){this._node=t,this._names=jt(t.getAttribute("class")||"")}function Pt(t,e){for(var n=Ot(t),r=-1,i=e.length;++r<i;)n.add(e[r])}function Ft(t,e){for(var n=Ot(t),r=-1,i=e.length;++r<i;)n.remove(e[r])}Ht.prototype={add:function(t){this._names.indexOf(t)<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function Nt(){this.textContent=""}function Bt(){this.innerHTML=""}function Rt(){this.nextSibling&&this.parentNode.appendChild(this)}function It(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function zt(){return null}function Wt(){var t=this.parentNode;t&&t.removeChild(this)}function qt(){return this.parentNode.insertBefore(this.cloneNode(!1),this.nextSibling)}function Ut(){return this.parentNode.insertBefore(this.cloneNode(!0),this.nextSibling)}var Vt={},$t=null;"undefined"!=typeof document&&("onmouseenter"in document.documentElement||(Vt={mouseenter:"mouseover",mouseleave:"mouseout"}));function Gt(t,e,n){return t=Jt(t,e,n),function(e){var n=e.relatedTarget;n&&(n===this||8&n.compareDocumentPosition(this))||t.call(this,e)}}function Jt(t,e,n){return function(r){var i=$t;$t=r;try{t.call(this,this.__data__,e,n)}finally{$t=i}}}function Xt(t){return function(){var e=this.__on;if(e){for(var n,r=0,i=-1,a=e.length;r<a;++r)n=e[r],t.type&&n.type!==t.type||n.name!==t.name?e[++i]=n:this.removeEventListener(n.type,n.listener,n.capture);++i?e.length=i:delete this.__on}}}function Zt(t,e,n){var r=Vt.hasOwnProperty(t.type)?Gt:Jt;return function(i,a,o){var s,u=this.__on,c=r(e,a,o);if(u)for(var l=0,d=u.length;l<d;++l)if((s=u[l]).type===t.type&&s.name===t.name)return this.removeEventListener(s.type,s.listener,s.capture),this.addEventListener(s.type,s.listener=c,s.capture=n),void(s.value=e);this.addEventListener(t.type,c,n),s={type:t.type,name:t.name,value:e,listener:c,capture:n},u?u.push(s):this.__on=[s]}}function Kt(t,e,n,r){var i=$t;t.sourceEvent=$t,$t=t;try{return e.apply(n,r)}finally{$t=i}}function Qt(t,e,n){var r=At(t),i=r.CustomEvent;"function"==typeof i?i=new i(e,n):(i=r.document.createEvent("Event"),n?(i.initEvent(e,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(e,!1,!1)),t.dispatchEvent(i)}var te=[null];function ee(t,e){this._groups=t,this._parents=e}function ne(){return new ee([[document.documentElement]],te)}ee.prototype=ne.prototype={constructor:ee,select:function(t){"function"!=typeof t&&(t=gt(t));for(var e=this._groups,n=e.length,r=new Array(n),i=0;i<n;++i)for(var a,o,s=e[i],u=s.length,c=r[i]=new Array(u),l=0;l<u;++l)(a=s[l])&&(o=t.call(a,a.__data__,l,s))&&("__data__"in a&&(o.__data__=a.__data__),c[l]=o);return new ee(r,this._parents)},selectAll:function(t){"function"!=typeof t&&(t=Mt(t));for(var e=this._groups,n=e.length,r=[],i=[],a=0;a<n;++a)for(var o,s=e[a],u=s.length,c=0;c<u;++c)(o=s[c])&&(r.push(t.call(o,o.__data__,c,s)),i.push(o));return new ee(r,i)},filter:function(t){"function"!=typeof t&&(t=wt(t));for(var e=this._groups,n=e.length,r=new Array(n),i=0;i<n;++i)for(var a,o=e[i],s=o.length,u=r[i]=[],c=0;c<s;++c)(a=o[c])&&t.call(a,a.__data__,c,o)&&u.push(a);return new ee(r,this._parents)},data:function(t,e){if(!t)return _=new Array(this.size()),l=-1,this.each(function(t){_[++l]=t}),_;var n,r=e?St:Yt,i=this._parents,a=this._groups;"function"!=typeof t&&(n=t,t=function(){return n});for(var o=a.length,s=new Array(o),u=new Array(o),c=new Array(o),l=0;l<o;++l){var d=i[l],f=a[l],h=f.length,_=t.call(d,d&&d.__data__,l,i),p=_.length,m=u[l]=new Array(p),y=s[l]=new Array(p);r(d,f,m,y,c[l]=new Array(h),_,e);for(var g,v,M=0,b=0;M<p;++M)if(g=m[M]){for(M>=b&&(b=M+1);!(v=y[b])&&++b<p;);g._next=v||null}}return(s=new ee(s,i))._enter=u,s._exit=c,s},enter:function(){return new ee(this._enter||this._groups.map(xt),this._parents)},exit:function(){return new ee(this._exit||this._groups.map(xt),this._parents)},merge:function(t){for(var e=this._groups,n=t._groups,r=e.length,i=n.length,a=Math.min(r,i),o=new Array(r),s=0;s<a;++s)for(var u,c=e[s],l=n[s],d=c.length,f=o[s]=new Array(d),h=0;h<d;++h)(u=c[h]||l[h])&&(f[h]=u);for(;s<r;++s)o[s]=e[s];return new ee(o,this._parents)},order:function(){for(var t=this._groups,e=-1,n=t.length;++e<n;)for(var r,i=t[e],a=i.length-1,o=i[a];--a>=0;)(r=i[a])&&(o&&o!==r.nextSibling&&o.parentNode.insertBefore(r,o),o=r);return this},sort:function(t){function e(e,n){return e&&n?t(e.__data__,n.__data__):!e-!n}t||(t=Et);for(var n=this._groups,r=n.length,i=new Array(r),a=0;a<r;++a){for(var o,s=n[a],u=s.length,c=i[a]=new Array(u),l=0;l<u;++l)(o=s[l])&&(c[l]=o);c.sort(e)}return new ee(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()),e=-1;return this.each(function(){t[++e]=this}),t},node:function(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r=t[e],i=0,a=r.length;i<a;++i){var o=r[i];if(o)return o}return null},size:function(){var t=0;return this.each(function(){++t}),t},empty:function(){return!this.node()},each:function(t){for(var e=this._groups,n=0,r=e.length;n<r;++n)for(var i,a=e[n],o=0,s=a.length;o<s;++o)(i=a[o])&&t.call(i,i.__data__,o,a);return this},attr:function(t,e){var n=pt(t);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((null==e?n.local?function(t){return function(){this.removeAttributeNS(t.space,t.local)}}:function(t){return function(){this.removeAttribute(t)}}:"function"==typeof e?n.local?function(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,n)}}:function(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttribute(t):this.setAttribute(t,n)}}:n.local?function(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}:function(t,e){return function(){this.setAttribute(t,e)}})(n,e))},style:function(t,e,n){return arguments.length>1?this.each((null==e?function(t){return function(){this.style.removeProperty(t)}}:"function"==typeof e?function(t,e,n){return function(){var r=e.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,n)}}:function(t,e,n){return function(){this.style.setProperty(t,e,n)}})(t,e,null==n?"":n)):Ct(this.node(),t)},property:function(t,e){return arguments.length>1?this.each((null==e?function(t){return function(){delete this[t]}}:"function"==typeof e?function(t,e){return function(){var n=e.apply(this,arguments);null==n?delete this[t]:this[t]=n}}:function(t,e){return function(){this[t]=e}})(t,e)):this.node()[t]},classed:function(t,e){var n=jt(t+"");if(arguments.length<2){for(var r=Ot(this.node()),i=-1,a=n.length;++i<a;)if(!r.contains(n[i]))return!1;return!0}return this.each(("function"==typeof e?function(t,e){return function(){(e.apply(this,arguments)?Pt:Ft)(this,t)}}:e?function(t){return function(){Pt(this,t)}}:function(t){return function(){Ft(this,t)}})(n,e))},text:function(t){return arguments.length?this.each(null==t?Nt:("function"==typeof t?function(t){return function(){var e=t.apply(this,arguments);this.textContent=null==e?"":e}}:function(t){return function(){this.textContent=t}})(t)):this.node().textContent},html:function(t){return arguments.length?this.each(null==t?Bt:("function"==typeof t?function(t){return function(){var e=t.apply(this,arguments);this.innerHTML=null==e?"":e}}:function(t){return function(){this.innerHTML=t}})(t)):this.node().innerHTML},raise:function(){return this.each(Rt)},lower:function(){return this.each(It)},append:function(t){var e="function"==typeof t?t:mt(t);return this.select(function(){return this.appendChild(e.apply(this,arguments))})},insert:function(t,e){var n="function"==typeof t?t:mt(t),r=null==e?zt:"function"==typeof e?e:gt(e);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})},remove:function(){return this.each(Wt)},clone:function(t){return this.select(t?Ut:qt)},datum:function(t){return arguments.length?this.property("__data__",t):this.node().__data__},on:function(t,e,n){var r,i,a=function(t){return t.trim().split(/^|\s+/).map(function(t){var e="",n=t.indexOf(".");return n>=0&&(e=t.slice(n+1),t=t.slice(0,n)),{type:t,name:e}})}(t+""),o=a.length;if(!(arguments.length<2)){for(s=e?Zt:Xt,null==n&&(n=!1),r=0;r<o;++r)this.each(s(a[r],e,n));return this}var s=this.node().__on;if(s)for(var u,c=0,l=s.length;c<l;++c)for(r=0,u=s[c];r<o;++r)if((i=a[r]).type===u.type&&i.name===u.name)return u.value},dispatch:function(t,e){return this.each(("function"==typeof e?function(t,e){return function(){return Qt(this,t,e.apply(this,arguments))}}:function(t,e){return function(){return Qt(this,t,e)}})(t,e))}};var re=ne,ie=function(t){return"string"==typeof t?new ee([[document.querySelector(t)]],[document.documentElement]):new ee([[t]],te)},ae=function(t){return ie(mt(t).call(document.documentElement))},oe=0;function se(){return new ue}function ue(){this._="@"+(++oe).toString(36)}ue.prototype=se.prototype={constructor:ue,get:function(t){for(var e=this._;!(e in t);)if(!(t=t.parentNode))return;return t[e]},set:function(t,e){return t[this._]=e},remove:function(t){return this._ in t&&delete t[this._]},toString:function(){return this._}};var ce=function(){for(var t,e=$t;t=e.sourceEvent;)e=t;return e},le=function(t,e){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,[(r=r.matrixTransform(t.getScreenCTM().inverse())).x,r.y]}var i=t.getBoundingClientRect();return[e.clientX-i.left-t.clientLeft,e.clientY-i.top-t.clientTop]},de=function(t){var e=ce();return e.changedTouches&&(e=e.changedTouches[0]),le(t,e)},fe=function(t){return"string"==typeof t?new ee([document.querySelectorAll(t)],[document.documentElement]):new ee([null==t?[]:t],te)},he=function(t,e,n){arguments.length<3&&(n=e,e=ce().changedTouches);for(var r,i=0,a=e?e.length:0;i<a;++i)if((r=e[i]).identifier===n)return le(t,r);return null},_e=function(t,e){null==e&&(e=ce().touches);for(var n=0,r=e?e.length:0,i=new Array(r);n<r;++n)i[n]=le(t,e[n]);return i};function pe(){$t.stopImmediatePropagation()}var me=function(){$t.preventDefault(),$t.stopImmediatePropagation()},ye=function(t){var e=t.document.documentElement,n=ie(t).on("dragstart.drag",me,!0);"onselectstart"in e?n.on("selectstart.drag",me,!0):(e.__noselect=e.style.MozUserSelect,e.style.MozUserSelect="none")};function ge(t,e){var n=t.document.documentElement,r=ie(t).on("dragstart.drag",null);e&&(r.on("click.drag",me,!0),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in n?r.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}var ve=function(t){return function(){return t}};function Me(t,e,n,r,i,a,o,s,u,c){this.target=t,this.type=e,this.subject=n,this.identifier=r,this.active=i,this.x=a,this.y=o,this.dx=s,this.dy=u,this._=c}function be(){return!$t.button}function ke(){return this.parentNode}function Le(t){return null==t?{x:$t.x,y:$t.y}:t}function we(){return"ontouchstart"in this}Me.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};var xe=function(){var t,e,n,r,i=be,a=ke,o=Le,s=we,u={},c=ft("start","drag","end"),l=0,d=0;function f(t){t.on("mousedown.drag",h).filter(s).on("touchstart.drag",m).on("touchmove.drag",y).on("touchend.drag touchcancel.drag",g).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(){if(!r&&i.apply(this,arguments)){var o=v("mouse",a.apply(this,arguments),de,this,arguments);o&&(ie($t.view).on("mousemove.drag",_,!0).on("mouseup.drag",p,!0),ye($t.view),pe(),n=!1,t=$t.clientX,e=$t.clientY,o("start"))}}function _(){if(me(),!n){var r=$t.clientX-t,i=$t.clientY-e;n=r*r+i*i>d}u.mouse("drag")}function p(){ie($t.view).on("mousemove.drag mouseup.drag",null),ge($t.view,n),me(),u.mouse("end")}function m(){if(i.apply(this,arguments)){var t,e,n=$t.changedTouches,r=a.apply(this,arguments),o=n.length;for(t=0;t<o;++t)(e=v(n[t].identifier,r,he,this,arguments))&&(pe(),e("start"))}}function y(){var t,e,n=$t.changedTouches,r=n.length;for(t=0;t<r;++t)(e=u[n[t].identifier])&&(me(),e("drag"))}function g(){var t,e,n=$t.changedTouches,i=n.length;for(r&&clearTimeout(r),r=setTimeout(function(){r=null},500),t=0;t<i;++t)(e=u[n[t].identifier])&&(pe(),e("end"))}function v(t,e,n,r,i){var a,s,d,h=n(e,t),_=c.copy();if(Kt(new Me(f,"beforestart",a,t,l,h[0],h[1],0,0,_),function(){return null!=($t.subject=a=o.apply(r,i))&&(s=a.x-h[0]||0,d=a.y-h[1]||0,!0)}))return function o(c){var p,m=h;switch(c){case"start":u[t]=o,p=l++;break;case"end":delete u[t],--l;case"drag":h=n(e,t),p=l}Kt(new Me(f,c,a,t,p,h[0]+s,h[1]+d,h[0]-m[0],h[1]-m[1],_),_.apply,_,[c,r,i])}}return f.filter=function(t){return arguments.length?(i="function"==typeof t?t:ve(!!t),f):i},f.container=function(t){return arguments.length?(a="function"==typeof t?t:ve(t),f):a},f.subject=function(t){return arguments.length?(o="function"==typeof t?t:ve(t),f):o},f.touchable=function(t){return arguments.length?(s="function"==typeof t?t:ve(!!t),f):s},f.on=function(){var t=c.on.apply(c,arguments);return t===c?f:t},f.clickDistance=function(t){return arguments.length?(d=(t=+t)*t,f):Math.sqrt(d)},f},Te=function(t,e,n){t.prototype=e.prototype=n,n.constructor=t};function De(t,e){var n=Object.create(t.prototype);for(var r in e)n[r]=e[r];return n}function Ye(){}var Se="\\s*([+-]?\\d+)\\s*",Ee="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",Ae="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",Ce=/^#([0-9a-f]{3})$/,je=/^#([0-9a-f]{6})$/,Oe=new RegExp("^rgb\\("+[Se,Se,Se]+"\\)$"),He=new RegExp("^rgb\\("+[Ae,Ae,Ae]+"\\)$"),Pe=new RegExp("^rgba\\("+[Se,Se,Se,Ee]+"\\)$"),Fe=new RegExp("^rgba\\("+[Ae,Ae,Ae,Ee]+"\\)$"),Ne=new RegExp("^hsl\\("+[Ee,Ae,Ae]+"\\)$"),Be=new RegExp("^hsla\\("+[Ee,Ae,Ae,Ee]+"\\)$"),Re={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 Ie(t){var e;return t=(t+"").trim().toLowerCase(),(e=Ce.exec(t))?new Ve((e=parseInt(e[1],16))>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):(e=je.exec(t))?ze(parseInt(e[1],16)):(e=Oe.exec(t))?new Ve(e[1],e[2],e[3],1):(e=He.exec(t))?new Ve(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=Pe.exec(t))?We(e[1],e[2],e[3],e[4]):(e=Fe.exec(t))?We(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=Ne.exec(t))?$e(e[1],e[2]/100,e[3]/100,1):(e=Be.exec(t))?$e(e[1],e[2]/100,e[3]/100,e[4]):Re.hasOwnProperty(t)?ze(Re[t]):"transparent"===t?new Ve(NaN,NaN,NaN,0):null}function ze(t){return new Ve(t>>16&255,t>>8&255,255&t,1)}function We(t,e,n,r){return r<=0&&(t=e=n=NaN),new Ve(t,e,n,r)}function qe(t){return t instanceof Ye||(t=Ie(t)),t?new Ve((t=t.rgb()).r,t.g,t.b,t.opacity):new Ve}function Ue(t,e,n,r){return 1===arguments.length?qe(t):new Ve(t,e,n,null==r?1:r)}function Ve(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}function $e(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new Je(t,e,n,r)}function Ge(t,e,n,r){return 1===arguments.length?function(t){if(t instanceof Je)return new Je(t.h,t.s,t.l,t.opacity);if(t instanceof Ye||(t=Ie(t)),!t)return new Je;if(t instanceof Je)return t;var e=(t=t.rgb()).r/255,n=t.g/255,r=t.b/255,i=Math.min(e,n,r),a=Math.max(e,n,r),o=NaN,s=a-i,u=(a+i)/2;return s?(o=e===a?(n-r)/s+6*(n<r):n===a?(r-e)/s+2:(e-n)/s+4,s/=u<.5?a+i:2-a-i,o*=60):s=u>0&&u<1?0:o,new Je(o,s,u,t.opacity)}(t):new Je(t,e,n,null==r?1:r)}function Je(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}function Xe(t,e,n){return 255*(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)}Te(Ye,Ie,{displayable:function(){return this.rgb().displayable()},toString:function(){return this.rgb()+""}}),Te(Ve,Ue,De(Ye,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new Ve(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new Ve(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&0<=this.g&&this.g<=255&&0<=this.b&&this.b<=255&&0<=this.opacity&&this.opacity<=1},toString:function(){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+")")}})),Te(Je,Ge,De(Ye,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new Je(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new Je(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,i=2*n-r;return new Ve(Xe(t>=240?t-240:t+120,i,r),Xe(t,i,r),Xe(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}}));var Ze=Math.PI/180,Ke=180/Math.PI,Qe=.95047,tn=1,en=1.08883,nn=4/29,rn=6/29,an=3*rn*rn,on=rn*rn*rn;function sn(t){if(t instanceof cn)return new cn(t.l,t.a,t.b,t.opacity);if(t instanceof pn){var e=t.h*Ze;return new cn(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}t instanceof Ve||(t=qe(t));var n=hn(t.r),r=hn(t.g),i=hn(t.b),a=ln((.4124564*n+.3575761*r+.1804375*i)/Qe),o=ln((.2126729*n+.7151522*r+.072175*i)/tn);return new cn(116*o-16,500*(a-o),200*(o-ln((.0193339*n+.119192*r+.9503041*i)/en)),t.opacity)}function un(t,e,n,r){return 1===arguments.length?sn(t):new cn(t,e,n,null==r?1:r)}function cn(t,e,n,r){this.l=+t,this.a=+e,this.b=+n,this.opacity=+r}function ln(t){return t>on?Math.pow(t,1/3):t/an+nn}function dn(t){return t>rn?t*t*t:an*(t-nn)}function fn(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function hn(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function _n(t,e,n,r){return 1===arguments.length?function(t){if(t instanceof pn)return new pn(t.h,t.c,t.l,t.opacity);t instanceof cn||(t=sn(t));var e=Math.atan2(t.b,t.a)*Ke;return new pn(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}(t):new pn(t,e,n,null==r?1:r)}function pn(t,e,n,r){this.h=+t,this.c=+e,this.l=+n,this.opacity=+r}Te(cn,un,De(Ye,{brighter:function(t){return new cn(this.l+18*(null==t?1:t),this.a,this.b,this.opacity)},darker:function(t){return new cn(this.l-18*(null==t?1:t),this.a,this.b,this.opacity)},rgb:function(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,n=isNaN(this.b)?t:t-this.b/200;return t=tn*dn(t),new Ve(fn(3.2404542*(e=Qe*dn(e))-1.5371385*t-.4985314*(n=en*dn(n))),fn(-.969266*e+1.8760108*t+.041556*n),fn(.0556434*e-.2040259*t+1.0572252*n),this.opacity)}})),Te(pn,_n,De(Ye,{brighter:function(t){return new pn(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker:function(t){return new pn(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb:function(){return sn(this).rgb()}}));var mn=-.29227,yn=-.90649,gn=1.97294,vn=gn*yn,Mn=1.78277*gn,bn=1.78277*mn- -.14861*yn;function kn(t,e,n,r){return 1===arguments.length?function(t){if(t instanceof Ln)return new Ln(t.h,t.s,t.l,t.opacity);t instanceof Ve||(t=qe(t));var e=t.r/255,n=t.g/255,r=t.b/255,i=(bn*r+vn*e-Mn*n)/(bn+vn-Mn),a=r-i,o=(gn*(n-i)-mn*a)/yn,s=Math.sqrt(o*o+a*a)/(gn*i*(1-i)),u=s?Math.atan2(o,a)*Ke-120:NaN;return new Ln(u<0?u+360:u,s,i,t.opacity)}(t):new Ln(t,e,n,null==r?1:r)}function Ln(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}function wn(t,e,n,r,i){var a=t*t,o=a*t;return((1-3*t+3*a-o)*e+(4-6*a+3*o)*n+(1+3*t+3*a-3*o)*r+o*i)/6}Te(Ln,kn,De(Ye,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new Ln(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new Ln(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*Ze,e=+this.l,n=isNaN(this.s)?0:this.s*e*(1-e),r=Math.cos(t),i=Math.sin(t);return new Ve(255*(e+n*(-.14861*r+1.78277*i)),255*(e+n*(mn*r+yn*i)),255*(e+n*(gn*r)),this.opacity)}}));var xn=function(t){var e=t.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),i=t[r],a=t[r+1],o=r>0?t[r-1]:2*i-a,s=r<e-1?t[r+2]:2*a-i;return wn((n-r/e)*e,o,i,a,s)}},Tn=function(t){var e=t.length;return function(n){var r=Math.floor(((n%=1)<0?++n:n)*e),i=t[(r+e-1)%e],a=t[r%e],o=t[(r+1)%e],s=t[(r+2)%e];return wn((n-r/e)*e,i,a,o,s)}},Dn=function(t){return function(){return t}};function Yn(t,e){return function(n){return t+n*e}}function Sn(t,e){var n=e-t;return n?Yn(t,n>180||n<-180?n-360*Math.round(n/360):n):Dn(isNaN(t)?e:t)}function En(t){return 1==(t=+t)?An:function(e,n){return n-e?function(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(r){return Math.pow(t+r*e,n)}}(e,n,t):Dn(isNaN(e)?n:e)}}function An(t,e){var n=e-t;return n?Yn(t,n):Dn(isNaN(t)?e:t)}var Cn=function t(e){var n=En(e);function r(t,e){var r=n((t=Ue(t)).r,(e=Ue(e)).r),i=n(t.g,e.g),a=n(t.b,e.b),o=An(t.opacity,e.opacity);return function(e){return t.r=r(e),t.g=i(e),t.b=a(e),t.opacity=o(e),t+""}}return r.gamma=t,r}(1);function jn(t){return function(e){var n,r,i=e.length,a=new Array(i),o=new Array(i),s=new Array(i);for(n=0;n<i;++n)r=Ue(e[n]),a[n]=r.r||0,o[n]=r.g||0,s[n]=r.b||0;return a=t(a),o=t(o),s=t(s),r.opacity=1,function(t){return r.r=a(t),r.g=o(t),r.b=s(t),r+""}}}var On=jn(xn),Hn=jn(Tn),Pn=function(t,e){var n,r=e?e.length:0,i=t?Math.min(r,t.length):0,a=new Array(i),o=new Array(r);for(n=0;n<i;++n)a[n]=$n(t[n],e[n]);for(;n<r;++n)o[n]=e[n];return function(t){for(n=0;n<i;++n)o[n]=a[n](t);return o}},Fn=function(t,e){var n=new Date;return e-=t=+t,function(r){return n.setTime(t+e*r),n}},Nn=function(t,e){return e-=t=+t,function(n){return t+e*n}},Bn=function(t,e){var n,r={},i={};for(n in null!==t&&"object"==typeof t||(t={}),null!==e&&"object"==typeof e||(e={}),e)n in t?r[n]=$n(t[n],e[n]):i[n]=e[n];return function(t){for(n in r)i[n]=r[n](t);return i}},Rn=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,In=new RegExp(Rn.source,"g");var zn,Wn,qn,Un,Vn=function(t,e){var n,r,i,a=Rn.lastIndex=In.lastIndex=0,o=-1,s=[],u=[];for(t+="",e+="";(n=Rn.exec(t))&&(r=In.exec(e));)(i=r.index)>a&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(n=n[0])===(r=r[0])?s[o]?s[o]+=r:s[++o]=r:(s[++o]=null,u.push({i:o,x:Nn(n,r)})),a=In.lastIndex;return a<e.length&&(i=e.slice(a),s[o]?s[o]+=i:s[++o]=i),s.length<2?u[0]?function(t){return function(e){return t(e)+""}}(u[0].x):function(t){return function(){return t}}(e):(e=u.length,function(t){for(var n,r=0;r<e;++r)s[(n=u[r]).i]=n.x(t);return s.join("")})},$n=function(t,e){var n,r=typeof e;return null==e||"boolean"===r?Dn(e):("number"===r?Nn:"string"===r?(n=Ie(e))?(e=n,Cn):Vn:e instanceof Ie?Cn:e instanceof Date?Fn:Array.isArray(e)?Pn:"function"!=typeof e.valueOf&&"function"!=typeof e.toString||isNaN(e)?Bn:Nn)(t,e)},Gn=function(t,e){return e-=t=+t,function(n){return Math.round(t+e*n)}},Jn=180/Math.PI,Xn={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1},Zn=function(t,e,n,r,i,a){var o,s,u;return(o=Math.sqrt(t*t+e*e))&&(t/=o,e/=o),(u=t*n+e*r)&&(n-=t*u,r-=e*u),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,u/=s),t*r<e*n&&(t=-t,e=-e,u=-u,o=-o),{translateX:i,translateY:a,rotate:Math.atan2(e,t)*Jn,skewX:Math.atan(u)*Jn,scaleX:o,scaleY:s}};function Kn(t,e,n,r){function i(t){return t.length?t.pop()+" ":""}return function(a,o){var s=[],u=[];return a=t(a),o=t(o),function(t,r,i,a,o,s){if(t!==i||r!==a){var u=o.push("translate(",null,e,null,n);s.push({i:u-4,x:Nn(t,i)},{i:u-2,x:Nn(r,a)})}else(i||a)&&o.push("translate("+i+e+a+n)}(a.translateX,a.translateY,o.translateX,o.translateY,s,u),function(t,e,n,a){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),a.push({i:n.push(i(n)+"rotate(",null,r)-2,x:Nn(t,e)})):e&&n.push(i(n)+"rotate("+e+r)}(a.rotate,o.rotate,s,u),function(t,e,n,a){t!==e?a.push({i:n.push(i(n)+"skewX(",null,r)-2,x:Nn(t,e)}):e&&n.push(i(n)+"skewX("+e+r)}(a.skewX,o.skewX,s,u),function(t,e,n,r,a,o){if(t!==n||e!==r){var s=a.push(i(a)+"scale(",null,",",null,")");o.push({i:s-4,x:Nn(t,n)},{i:s-2,x:Nn(e,r)})}else 1===n&&1===r||a.push(i(a)+"scale("+n+","+r+")")}(a.scaleX,a.scaleY,o.scaleX,o.scaleY,s,u),a=o=null,function(t){for(var e,n=-1,r=u.length;++n<r;)s[(e=u[n]).i]=e.x(t);return s.join("")}}}var Qn=Kn(function(t){return"none"===t?Xn:(zn||(zn=document.createElement("DIV"),Wn=document.documentElement,qn=document.defaultView),zn.style.transform=t,t=qn.getComputedStyle(Wn.appendChild(zn),null).getPropertyValue("transform"),Wn.removeChild(zn),t=t.slice(7,-1).split(","),Zn(+t[0],+t[1],+t[2],+t[3],+t[4],+t[5]))},"px, ","px)","deg)"),tr=Kn(function(t){return null==t?Xn:(Un||(Un=document.createElementNS("http://www.w3.org/2000/svg","g")),Un.setAttribute("transform",t),(t=Un.transform.baseVal.consolidate())?(t=t.matrix,Zn(t.a,t.b,t.c,t.d,t.e,t.f)):Xn)},", ",")",")"),er=Math.SQRT2;function nr(t){return((t=Math.exp(t))+1/t)/2}var rr=function(t,e){var n,r,i=t[0],a=t[1],o=t[2],s=e[0],u=e[1],c=e[2],l=s-i,d=u-a,f=l*l+d*d;if(f<1e-12)r=Math.log(c/o)/er,n=function(t){return[i+t*l,a+t*d,o*Math.exp(er*t*r)]};else{var h=Math.sqrt(f),_=(c*c-o*o+4*f)/(2*o*2*h),p=(c*c-o*o-4*f)/(2*c*2*h),m=Math.log(Math.sqrt(_*_+1)-_),y=Math.log(Math.sqrt(p*p+1)-p);r=(y-m)/er,n=function(t){var e,n=t*r,s=nr(m),u=o/(2*h)*(s*(e=er*n+m,((e=Math.exp(2*e))-1)/(e+1))-function(t){return((t=Math.exp(t))-1/t)/2}(m));return[i+u*l,a+u*d,o*s/nr(er*n+m)]}}return n.duration=1e3*r,n};function ir(t){return function(e,n){var r=t((e=Ge(e)).h,(n=Ge(n)).h),i=An(e.s,n.s),a=An(e.l,n.l),o=An(e.opacity,n.opacity);return function(t){return e.h=r(t),e.s=i(t),e.l=a(t),e.opacity=o(t),e+""}}}var ar=ir(Sn),or=ir(An);function sr(t,e){var n=An((t=un(t)).l,(e=un(e)).l),r=An(t.a,e.a),i=An(t.b,e.b),a=An(t.opacity,e.opacity);return function(e){return t.l=n(e),t.a=r(e),t.b=i(e),t.opacity=a(e),t+""}}function ur(t){return function(e,n){var r=t((e=_n(e)).h,(n=_n(n)).h),i=An(e.c,n.c),a=An(e.l,n.l),o=An(e.opacity,n.opacity);return function(t){return e.h=r(t),e.c=i(t),e.l=a(t),e.opacity=o(t),e+""}}}var cr=ur(Sn),lr=ur(An);function dr(t){return function e(n){function r(e,r){var i=t((e=kn(e)).h,(r=kn(r)).h),a=An(e.s,r.s),o=An(e.l,r.l),s=An(e.opacity,r.opacity);return function(t){return e.h=i(t),e.s=a(t),e.l=o(Math.pow(t,n)),e.opacity=s(t),e+""}}return n=+n,r.gamma=e,r}(1)}var fr,hr,_r=dr(Sn),pr=dr(An),mr=function(t,e){for(var n=new Array(e),r=0;r<e;++r)n[r]=t(r/(e-1));return n},yr=0,gr=0,vr=0,Mr=1e3,br=0,kr=0,Lr=0,wr="object"==typeof performance&&performance.now?performance:Date,xr="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function Tr(){return kr||(xr(Dr),kr=wr.now()+Lr)}function Dr(){kr=0}function Yr(){this._call=this._time=this._next=null}function Sr(t,e,n){var r=new Yr;return r.restart(t,e,n),r}function Er(){Tr(),++yr;for(var t,e=fr;e;)(t=kr-e._time)>=0&&e._call.call(null,t),e=e._next;--yr}function Ar(){kr=(br=wr.now())+Lr,yr=gr=0;try{Er()}finally{yr=0,function(){var t,e,n=fr,r=1/0;for(;n;)n._call?(r>n._time&&(r=n._time),t=n,n=n._next):(e=n._next,n._next=null,n=t?t._next=e:fr=e);hr=t,jr(r)}(),kr=0}}function Cr(){var t=wr.now(),e=t-br;e>Mr&&(Lr-=e,br=t)}function jr(t){yr||(gr&&(gr=clearTimeout(gr)),t-kr>24?(t<1/0&&(gr=setTimeout(Ar,t-wr.now()-Lr)),vr&&(vr=clearInterval(vr))):(vr||(br=wr.now(),vr=setInterval(Cr,Mr)),yr=1,xr(Ar)))}Yr.prototype=Sr.prototype={constructor:Yr,restart:function(t,e,n){if("function"!=typeof t)throw new TypeError("callback is not a function");n=(null==n?Tr():+n)+(null==e?0:+e),this._next||hr===this||(hr?hr._next=this:fr=this,hr=this),this._call=t,this._time=n,jr()},stop:function(){this._call&&(this._call=null,this._time=1/0,jr())}};var Or=function(t,e,n){var r=new Yr;return e=null==e?0:+e,r.restart(function(n){r.stop(),t(n+e)},e,n),r},Hr=function(t,e,n){var r=new Yr,i=e;return null==e?(r.restart(t,e,n),r):(e=+e,n=null==n?Tr():+n,r.restart(function a(o){o+=i,r.restart(a,i+=e,n),t(o)},e,n),r)},Pr=ft("start","end","interrupt"),Fr=[],Nr=0,Br=1,Rr=2,Ir=3,zr=4,Wr=5,qr=6,Ur=function(t,e,n,r,i,a){var o=t.__transition;if(o){if(n in o)return}else t.__transition={};!function(t,e,n){var r,i=t.__transition;function a(u){var c,l,d,f;if(n.state!==Br)return s();for(c in i)if((f=i[c]).name===n.name){if(f.state===Ir)return Or(a);f.state===zr?(f.state=qr,f.timer.stop(),f.on.call("interrupt",t,t.__data__,f.index,f.group),delete i[c]):+c<e&&(f.state=qr,f.timer.stop(),delete i[c])}if(Or(function(){n.state===Ir&&(n.state=zr,n.timer.restart(o,n.delay,n.time),o(u))}),n.state=Rr,n.on.call("start",t,t.__data__,n.index,n.group),n.state===Rr){for(n.state=Ir,r=new Array(d=n.tween.length),c=0,l=-1;c<d;++c)(f=n.tween[c].value.call(t,t.__data__,n.index,n.group))&&(r[++l]=f);r.length=l+1}}function o(e){for(var i=e<n.duration?n.ease.call(null,e/n.duration):(n.timer.restart(s),n.state=Wr,1),a=-1,o=r.length;++a<o;)r[a].call(null,i);n.state===Wr&&(n.on.call("end",t,t.__data__,n.index,n.group),s())}function s(){for(var r in n.state=qr,n.timer.stop(),delete i[e],i)return;delete t.__transition}i[e]=n,n.timer=Sr(function(t){n.state=Br,n.timer.restart(a,n.delay,n.time),n.delay<=t&&a(t-n.delay)},0,n.time)}(t,n,{name:e,index:r,group:i,on:Pr,tween:Fr,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:Nr})};function Vr(t,e){var n=Gr(t,e);if(n.state>Nr)throw new Error("too late; already scheduled");return n}function $r(t,e){var n=Gr(t,e);if(n.state>Rr)throw new Error("too late; already started");return n}function Gr(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}var Jr=function(t,e){var n,r,i,a=t.__transition,o=!0;if(a){for(i in e=null==e?null:e+"",a)(n=a[i]).name===e?(r=n.state>Rr&&n.state<Wr,n.state=qr,n.timer.stop(),r&&n.on.call("interrupt",t,t.__data__,n.index,n.group),delete a[i]):o=!1;o&&delete t.__transition}};function Xr(t,e,n){var r=t._id;return t.each(function(){var t=$r(this,r);(t.value||(t.value={}))[e]=n.apply(this,arguments)}),function(t){return Gr(t,r).value[e]}}var Zr=function(t,e){var n;return("number"==typeof e?Nn:e instanceof Ie?Cn:(n=Ie(e))?(e=n,Cn):Vn)(t,e)};var Kr=re.prototype.constructor;var Qr=0;function ti(t,e,n,r){this._groups=t,this._parents=e,this._name=n,this._id=r}function ei(t){return re().transition(t)}function ni(){return++Qr}var ri=re.prototype;function ii(t){return+t}function ai(t){return t*t}function oi(t){return t*(2-t)}function si(t){return((t*=2)<=1?t*t:--t*(2-t)+1)/2}function ui(t){return t*t*t}function ci(t){return--t*t*t+1}function li(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}ti.prototype=ei.prototype={constructor:ti,select:function(t){var e=this._name,n=this._id;"function"!=typeof t&&(t=gt(t));for(var r=this._groups,i=r.length,a=new Array(i),o=0;o<i;++o)for(var s,u,c=r[o],l=c.length,d=a[o]=new Array(l),f=0;f<l;++f)(s=c[f])&&(u=t.call(s,s.__data__,f,c))&&("__data__"in s&&(u.__data__=s.__data__),d[f]=u,Ur(d[f],e,n,f,d,Gr(s,n)));return new ti(a,this._parents,e,n)},selectAll:function(t){var e=this._name,n=this._id;"function"!=typeof t&&(t=Mt(t));for(var r=this._groups,i=r.length,a=[],o=[],s=0;s<i;++s)for(var u,c=r[s],l=c.length,d=0;d<l;++d)if(u=c[d]){for(var f,h=t.call(u,u.__data__,d,c),_=Gr(u,n),p=0,m=h.length;p<m;++p)(f=h[p])&&Ur(f,e,n,p,h,_);a.push(h),o.push(u)}return new ti(a,o,e,n)},filter:function(t){"function"!=typeof t&&(t=wt(t));for(var e=this._groups,n=e.length,r=new Array(n),i=0;i<n;++i)for(var a,o=e[i],s=o.length,u=r[i]=[],c=0;c<s;++c)(a=o[c])&&t.call(a,a.__data__,c,o)&&u.push(a);return new ti(r,this._parents,this._name,this._id)},merge:function(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,n=t._groups,r=e.length,i=n.length,a=Math.min(r,i),o=new Array(r),s=0;s<a;++s)for(var u,c=e[s],l=n[s],d=c.length,f=o[s]=new Array(d),h=0;h<d;++h)(u=c[h]||l[h])&&(f[h]=u);for(;s<r;++s)o[s]=e[s];return new ti(o,this._parents,this._name,this._id)},selection:function(){return new Kr(this._groups,this._parents)},transition:function(){for(var t=this._name,e=this._id,n=ni(),r=this._groups,i=r.length,a=0;a<i;++a)for(var o,s=r[a],u=s.length,c=0;c<u;++c)if(o=s[c]){var l=Gr(o,e);Ur(o,t,n,c,s,{time:l.time+l.delay+l.duration,delay:0,duration:l.duration,ease:l.ease})}return new ti(r,this._parents,t,n)},call:ri.call,nodes:ri.nodes,node:ri.node,size:ri.size,empty:ri.empty,each:ri.each,on:function(t,e){var n=this._id;return arguments.length<2?Gr(this.node(),n).on.on(t):this.each(function(t,e,n){var r,i,a=function(t){return(t+"").trim().split(/^|\s+/).every(function(t){var e=t.indexOf(".");return e>=0&&(t=t.slice(0,e)),!t||"start"===t})}(e)?Vr:$r;return function(){var o=a(this,t),s=o.on;s!==r&&(i=(r=s).copy()).on(e,n),o.on=i}}(n,t,e))},attr:function(t,e){var n=pt(t),r="transform"===n?tr:Zr;return this.attrTween(t,"function"==typeof e?(n.local?function(t,e,n){var r,i,a;return function(){var o,s=n(this);if(null!=s)return(o=this.getAttributeNS(t.space,t.local))===s?null:o===r&&s===i?a:a=e(r=o,i=s);this.removeAttributeNS(t.space,t.local)}}:function(t,e,n){var r,i,a;return function(){var o,s=n(this);if(null!=s)return(o=this.getAttribute(t))===s?null:o===r&&s===i?a:a=e(r=o,i=s);this.removeAttribute(t)}})(n,r,Xr(this,"attr."+t,e)):null==e?(n.local?function(t){return function(){this.removeAttributeNS(t.space,t.local)}}:function(t){return function(){this.removeAttribute(t)}})(n):(n.local?function(t,e,n){var r,i;return function(){var a=this.getAttributeNS(t.space,t.local);return a===n?null:a===r?i:i=e(r=a,n)}}:function(t,e,n){var r,i;return function(){var a=this.getAttribute(t);return a===n?null:a===r?i:i=e(r=a,n)}})(n,r,e+""))},attrTween:function(t,e){var n="attr."+t;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(null==e)return this.tween(n,null);if("function"!=typeof e)throw new Error;var r=pt(t);return this.tween(n,(r.local?function(t,e){function n(){var n=this,r=e.apply(n,arguments);return r&&function(e){n.setAttributeNS(t.space,t.local,r(e))}}return n._value=e,n}:function(t,e){function n(){var n=this,r=e.apply(n,arguments);return r&&function(e){n.setAttribute(t,r(e))}}return n._value=e,n})(r,e))},style:function(t,e,n){var r="transform"==(t+="")?Qn:Zr;return null==e?this.styleTween(t,function(t,e){var n,r,i;return function(){var a=Ct(this,t),o=(this.style.removeProperty(t),Ct(this,t));return a===o?null:a===n&&o===r?i:i=e(n=a,r=o)}}(t,r)).on("end.style."+t,function(t){return function(){this.style.removeProperty(t)}}(t)):this.styleTween(t,"function"==typeof e?function(t,e,n){var r,i,a;return function(){var o=Ct(this,t),s=n(this);return null==s&&(this.style.removeProperty(t),s=Ct(this,t)),o===s?null:o===r&&s===i?a:a=e(r=o,i=s)}}(t,r,Xr(this,"style."+t,e)):function(t,e,n){var r,i;return function(){var a=Ct(this,t);return a===n?null:a===r?i:i=e(r=a,n)}}(t,r,e+""),n)},styleTween:function(t,e,n){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==e)return this.tween(r,null);if("function"!=typeof e)throw new Error;return this.tween(r,function(t,e,n){function r(){var r=this,i=e.apply(r,arguments);return i&&function(e){r.style.setProperty(t,i(e),n)}}return r._value=e,r}(t,e,null==n?"":n))},text:function(t){return this.tween("text","function"==typeof t?function(t){return function(){var e=t(this);this.textContent=null==e?"":e}}(Xr(this,"text",t)):function(t){return function(){this.textContent=t}}(null==t?"":t+""))},remove:function(){return this.on("end.remove",(t=this._id,function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}));var t},tween:function(t,e){var n=this._id;if(t+="",arguments.length<2){for(var r,i=Gr(this.node(),n).tween,a=0,o=i.length;a<o;++a)if((r=i[a]).name===t)return r.value;return null}return this.each((null==e?function(t,e){var n,r;return function(){var i=$r(this,t),a=i.tween;if(a!==n)for(var o=0,s=(r=n=a).length;o<s;++o)if(r[o].name===e){(r=r.slice()).splice(o,1);break}i.tween=r}}:function(t,e,n){var r,i;if("function"!=typeof n)throw new Error;return function(){var a=$r(this,t),o=a.tween;if(o!==r){i=(r=o).slice();for(var s={name:e,value:n},u=0,c=i.length;u<c;++u)if(i[u].name===e){i[u]=s;break}u===c&&i.push(s)}a.tween=i}})(n,t,e))},delay:function(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?function(t,e){return function(){Vr(this,t).delay=+e.apply(this,arguments)}}:function(t,e){return e=+e,function(){Vr(this,t).delay=e}})(e,t)):Gr(this.node(),e).delay},duration:function(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?function(t,e){return function(){$r(this,t).duration=+e.apply(this,arguments)}}:function(t,e){return e=+e,function(){$r(this,t).duration=e}})(e,t)):Gr(this.node(),e).duration},ease:function(t){var e=this._id;return arguments.length?this.each(function(t,e){if("function"!=typeof e)throw new Error;return function(){$r(this,t).ease=e}}(e,t)):Gr(this.node(),e).ease}};var di=function t(e){function n(t){return Math.pow(t,e)}return e=+e,n.exponent=t,n}(3),fi=function t(e){function n(t){return 1-Math.pow(1-t,e)}return e=+e,n.exponent=t,n}(3),hi=function t(e){function n(t){return((t*=2)<=1?Math.pow(t,e):2-Math.pow(2-t,e))/2}return e=+e,n.exponent=t,n}(3),_i=Math.PI,pi=_i/2;function mi(t){return 1-Math.cos(t*pi)}function yi(t){return Math.sin(t*pi)}function gi(t){return(1-Math.cos(_i*t))/2}function vi(t){return Math.pow(2,10*t-10)}function Mi(t){return 1-Math.pow(2,-10*t)}function bi(t){return((t*=2)<=1?Math.pow(2,10*t-10):2-Math.pow(2,10-10*t))/2}function ki(t){return 1-Math.sqrt(1-t*t)}function Li(t){return Math.sqrt(1- --t*t)}function wi(t){return((t*=2)<=1?1-Math.sqrt(1-t*t):Math.sqrt(1-(t-=2)*t)+1)/2}var xi=4/11,Ti=6/11,Di=8/11,Yi=.75,Si=9/11,Ei=10/11,Ai=.9375,Ci=21/22,ji=63/64,Oi=1/xi/xi;function Hi(t){return 1-Pi(1-t)}function Pi(t){return(t=+t)<xi?Oi*t*t:t<Di?Oi*(t-=Ti)*t+Yi:t<Ei?Oi*(t-=Si)*t+Ai:Oi*(t-=Ci)*t+ji}function Fi(t){return((t*=2)<=1?1-Pi(1-t):Pi(t-1)+1)/2}var Ni=function t(e){function n(t){return t*t*((e+1)*t-e)}return e=+e,n.overshoot=t,n}(1.70158),Bi=function t(e){function n(t){return--t*t*((e+1)*t+e)+1}return e=+e,n.overshoot=t,n}(1.70158),Ri=function t(e){function n(t){return((t*=2)<1?t*t*((e+1)*t-e):(t-=2)*t*((e+1)*t+e)+2)/2}return e=+e,n.overshoot=t,n}(1.70158),Ii=2*Math.PI,zi=function t(e,n){var r=Math.asin(1/(e=Math.max(1,e)))*(n/=Ii);function i(t){return e*Math.pow(2,10*--t)*Math.sin((r-t)/n)}return i.amplitude=function(e){return t(e,n*Ii)},i.period=function(n){return t(e,n)},i}(1,.3),Wi=function t(e,n){var r=Math.asin(1/(e=Math.max(1,e)))*(n/=Ii);function i(t){return 1-e*Math.pow(2,-10*(t=+t))*Math.sin((t+r)/n)}return i.amplitude=function(e){return t(e,n*Ii)},i.period=function(n){return t(e,n)},i}(1,.3),qi=function t(e,n){var r=Math.asin(1/(e=Math.max(1,e)))*(n/=Ii);function i(t){return((t=2*t-1)<0?e*Math.pow(2,10*t)*Math.sin((r-t)/n):2-e*Math.pow(2,-10*t)*Math.sin((r+t)/n))/2}return i.amplitude=function(e){return t(e,n*Ii)},i.period=function(n){return t(e,n)},i}(1,.3),Ui={time:null,delay:0,duration:250,ease:li};function Vi(t,e){for(var n;!(n=t.__transition)||!(n=n[e]);)if(!(t=t.parentNode))return Ui.time=Tr(),Ui;return n}re.prototype.interrupt=function(t){return this.each(function(){Jr(this,t)})},re.prototype.transition=function(t){var e,n;t instanceof ti?(e=t._id,t=t._name):(e=ni(),(n=Ui).time=Tr(),t=null==t?null:t+"");for(var r=this._groups,i=r.length,a=0;a<i;++a)for(var o,s=r[a],u=s.length,c=0;c<u;++c)(o=s[c])&&Ur(o,t,e,c,s,n||Vi(o,e));return new ti(r,this._parents,t,e)};var $i=[null],Gi=function(t,e){var n,r,i=t.__transition;if(i)for(r in e=null==e?null:e+"",i)if((n=i[r]).state>Br&&n.name===e)return new ti([[t]],$i,e,+r);return null},Ji=function(t){return function(){return t}},Xi=function(t,e,n){this.target=t,this.type=e,this.selection=n};function Zi(){$t.stopImmediatePropagation()}var Ki=function(){$t.preventDefault(),$t.stopImmediatePropagation()},Qi={name:"drag"},ta={name:"space"},ea={name:"handle"},na={name:"center"},ra={name:"x",handles:["e","w"].map(da),input:function(t,e){return t&&[[t[0],e[0][1]],[t[1],e[1][1]]]},output:function(t){return t&&[t[0][0],t[1][0]]}},ia={name:"y",handles:["n","s"].map(da),input:function(t,e){return t&&[[e[0][0],t[0]],[e[1][0],t[1]]]},output:function(t){return t&&[t[0][1],t[1][1]]}},aa={name:"xy",handles:["n","e","s","w","nw","ne","se","sw"].map(da),input:function(t){return t},output:function(t){return t}},oa={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"},sa={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},ua={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},ca={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},la={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1};function da(t){return{type:t}}function fa(){return!$t.button}function ha(){var t=this.ownerSVGElement||this;return[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]}function _a(t){for(;!t.__brush;)if(!(t=t.parentNode))return;return t.__brush}function pa(t){return t[0][0]===t[1][0]||t[0][1]===t[1][1]}function ma(t){var e=t.__brush;return e?e.dim.output(e.selection):null}function ya(){return Ma(ra)}function ga(){return Ma(ia)}var va=function(){return Ma(aa)};function Ma(t){var e,n=ha,r=fa,i=ft(o,"start","brush","end"),a=6;function o(e){var n=e.property("__brush",d).selectAll(".overlay").data([da("overlay")]);n.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",oa.overlay).merge(n).each(function(){var t=_a(this).extent;ie(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])}),e.selectAll(".selection").data([da("selection")]).enter().append("rect").attr("class","selection").attr("cursor",oa.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var r=e.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 oa[t.type]}),e.each(s).attr("fill","none").attr("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush touchstart.brush",l)}function s(){var t=ie(this),e=_a(this).selection;e?(t.selectAll(".selection").style("display",null).attr("x",e[0][0]).attr("y",e[0][1]).attr("width",e[1][0]-e[0][0]).attr("height",e[1][1]-e[0][1]),t.selectAll(".handle").style("display",null).attr("x",function(t){return"e"===t.type[t.type.length-1]?e[1][0]-a/2:e[0][0]-a/2}).attr("y",function(t){return"s"===t.type[0]?e[1][1]-a/2:e[0][1]-a/2}).attr("width",function(t){return"n"===t.type||"s"===t.type?e[1][0]-e[0][0]+a:a}).attr("height",function(t){return"e"===t.type||"w"===t.type?e[1][1]-e[0][1]+a:a})):t.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}function u(t,e){return t.__brush.emitter||new c(t,e)}function c(t,e){this.that=t,this.args=e,this.state=t.__brush,this.active=0}function l(){if($t.touches){if($t.changedTouches.length<$t.touches.length)return Ki()}else if(e)return;if(r.apply(this,arguments)){var n,i,a,o,c,l,d,f,h,_,p,m,y,g=this,v=$t.target.__data__.type,M="selection"===($t.metaKey?v="overlay":v)?Qi:$t.altKey?na:ea,b=t===ia?null:ca[v],k=t===ra?null:la[v],L=_a(g),w=L.extent,x=L.selection,T=w[0][0],D=w[0][1],Y=w[1][0],S=w[1][1],E=b&&k&&$t.shiftKey,A=de(g),C=A,j=u(g,arguments).beforestart();"overlay"===v?L.selection=x=[[n=t===ia?T:A[0],a=t===ra?D:A[1]],[c=t===ia?Y:n,d=t===ra?S:a]]:(n=x[0][0],a=x[0][1],c=x[1][0],d=x[1][1]),i=n,o=a,l=c,f=d;var O=ie(g).attr("pointer-events","none"),H=O.selectAll(".overlay").attr("cursor",oa[v]);if($t.touches)O.on("touchmove.brush",F,!0).on("touchend.brush touchcancel.brush",B,!0);else{var P=ie($t.view).on("keydown.brush",function(){switch($t.keyCode){case 16:E=b&&k;break;case 18:M===ea&&(b&&(c=l-h*b,n=i+h*b),k&&(d=f-_*k,a=o+_*k),M=na,N());break;case 32:M!==ea&&M!==na||(b<0?c=l-h:b>0&&(n=i-h),k<0?d=f-_:k>0&&(a=o-_),M=ta,H.attr("cursor",oa.selection),N());break;default:return}Ki()},!0).on("keyup.brush",function(){switch($t.keyCode){case 16:E&&(m=y=E=!1,N());break;case 18:M===na&&(b<0?c=l:b>0&&(n=i),k<0?d=f:k>0&&(a=o),M=ea,N());break;case 32:M===ta&&($t.altKey?(b&&(c=l-h*b,n=i+h*b),k&&(d=f-_*k,a=o+_*k),M=na):(b<0?c=l:b>0&&(n=i),k<0?d=f:k>0&&(a=o),M=ea),H.attr("cursor",oa[v]),N());break;default:return}Ki()},!0).on("mousemove.brush",F,!0).on("mouseup.brush",B,!0);ye($t.view)}Zi(),Jr(g),s.call(g),j.start()}function F(){var t=de(g);!E||m||y||(Math.abs(t[0]-C[0])>Math.abs(t[1]-C[1])?y=!0:m=!0),C=t,p=!0,Ki(),N()}function N(){var t;switch(h=C[0]-A[0],_=C[1]-A[1],M){case ta:case Qi:b&&(h=Math.max(T-n,Math.min(Y-c,h)),i=n+h,l=c+h),k&&(_=Math.max(D-a,Math.min(S-d,_)),o=a+_,f=d+_);break;case ea:b<0?(h=Math.max(T-n,Math.min(Y-n,h)),i=n+h,l=c):b>0&&(h=Math.max(T-c,Math.min(Y-c,h)),i=n,l=c+h),k<0?(_=Math.max(D-a,Math.min(S-a,_)),o=a+_,f=d):k>0&&(_=Math.max(D-d,Math.min(S-d,_)),o=a,f=d+_);break;case na:b&&(i=Math.max(T,Math.min(Y,n-h*b)),l=Math.max(T,Math.min(Y,c+h*b))),k&&(o=Math.max(D,Math.min(S,a-_*k)),f=Math.max(D,Math.min(S,d+_*k)))}l<i&&(b*=-1,t=n,n=c,c=t,t=i,i=l,l=t,v in sa&&H.attr("cursor",oa[v=sa[v]])),f<o&&(k*=-1,t=a,a=d,d=t,t=o,o=f,f=t,v in ua&&H.attr("cursor",oa[v=ua[v]])),L.selection&&(x=L.selection),m&&(i=x[0][0],l=x[1][0]),y&&(o=x[0][1],f=x[1][1]),x[0][0]===i&&x[0][1]===o&&x[1][0]===l&&x[1][1]===f||(L.selection=[[i,o],[l,f]],s.call(g),j.brush())}function B(){if(Zi(),$t.touches){if($t.touches.length)return;e&&clearTimeout(e),e=setTimeout(function(){e=null},500),O.on("touchmove.brush touchend.brush touchcancel.brush",null)}else ge($t.view,p),P.on("keydown.brush keyup.brush mousemove.brush mouseup.brush",null);O.attr("pointer-events","all"),H.attr("cursor",oa.overlay),L.selection&&(x=L.selection),pa(x)&&(L.selection=null,s.call(g)),j.end()}}function d(){var e=this.__brush||{selection:null};return e.extent=n.apply(this,arguments),e.dim=t,e}return o.move=function(e,n){e.selection?e.on("start.brush",function(){u(this,arguments).beforestart().start()}).on("interrupt.brush end.brush",function(){u(this,arguments).end()}).tween("brush",function(){var e=this,r=e.__brush,i=u(e,arguments),a=r.selection,o=t.input("function"==typeof n?n.apply(this,arguments):n,r.extent),c=$n(a,o);function l(t){r.selection=1===t&&pa(o)?null:c(t),s.call(e),i.brush()}return a&&o?l:l(1)}):e.each(function(){var e=arguments,r=this.__brush,i=t.input("function"==typeof n?n.apply(this,e):n,r.extent),a=u(this,e).beforestart();Jr(this),r.selection=null==i||pa(i)?null:i,s.call(this),a.start().brush().end()})},c.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},brush:function(){return this.emit("brush"),this},end:function(){return 0==--this.active&&(delete this.state.emitter,this.emit("end")),this},emit:function(e){Kt(new Xi(o,e,t.output(this.state.selection)),i.apply,i,[e,this.that,this.args])}},o.extent=function(t){return arguments.length?(n="function"==typeof t?t:Ji([[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]]),o):n},o.filter=function(t){return arguments.length?(r="function"==typeof t?t:Ji(!!t),o):r},o.handleSize=function(t){return arguments.length?(a=+t,o):a},o.on=function(){var t=i.on.apply(i,arguments);return t===i?o:t},o}var ba=Math.cos,ka=Math.sin,La=Math.PI,wa=La/2,xa=2*La,Ta=Math.max;var Da=function(){var t=0,e=null,n=null,r=null;function i(i){var a,o,s,u,c,l,d=i.length,f=[],h=k(d),_=[],p=[],m=p.groups=new Array(d),y=new Array(d*d);for(a=0,c=-1;++c<d;){for(o=0,l=-1;++l<d;)o+=i[c][l];f.push(o),_.push(k(d)),a+=o}for(e&&h.sort(function(t,n){return e(f[t],f[n])}),n&&_.forEach(function(t,e){t.sort(function(t,r){return n(i[e][t],i[e][r])})}),u=(a=Ta(0,xa-t*d)/a)?t:xa/d,o=0,c=-1;++c<d;){for(s=o,l=-1;++l<d;){var g=h[c],v=_[g][l],M=i[g][v],b=o,L=o+=M*a;y[v*d+g]={index:g,subindex:v,startAngle:b,endAngle:L,value:M}}m[g]={index:g,startAngle:s,endAngle:o,value:f[g]},o+=u}for(c=-1;++c<d;)for(l=c-1;++l<d;){var w=y[l*d+c],x=y[c*d+l];(w.value||x.value)&&p.push(w.value<x.value?{source:x,target:w}:{source:w,target:x})}return r?p.sort(r):p}return i.padAngle=function(e){return arguments.length?(t=Ta(0,e),i):t},i.sortGroups=function(t){return arguments.length?(e=t,i):e},i.sortSubgroups=function(t){return arguments.length?(n=t,i):n},i.sortChords=function(t){return arguments.length?(null==t?r=null:(e=t,r=function(t,n){return e(t.source.value+t.target.value,n.source.value+n.target.value)})._=t,i):r&&r._;var e},i},Ya=Array.prototype.slice,Sa=function(t){return function(){return t}},Ea=Math.PI,Aa=2*Ea,Ca=Aa-1e-6;function ja(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function Oa(){return new ja}ja.prototype=Oa.prototype={constructor:ja,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},quadraticCurveTo:function(t,e,n,r){this._+="Q"+ +t+","+ +e+","+(this._x1=+n)+","+(this._y1=+r)},bezierCurveTo:function(t,e,n,r,i,a){this._+="C"+ +t+","+ +e+","+ +n+","+ +r+","+(this._x1=+i)+","+(this._y1=+a)},arcTo:function(t,e,n,r,i){t=+t,e=+e,n=+n,r=+r,i=+i;var a=this._x1,o=this._y1,s=n-t,u=r-e,c=a-t,l=o-e,d=c*c+l*l;if(i<0)throw new Error("negative radius: "+i);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(d>1e-6)if(Math.abs(l*s-u*c)>1e-6&&i){var f=n-a,h=r-o,_=s*s+u*u,p=f*f+h*h,m=Math.sqrt(_),y=Math.sqrt(d),g=i*Math.tan((Ea-Math.acos((_+d-p)/(2*m*y)))/2),v=g/y,M=g/m;Math.abs(v-1)>1e-6&&(this._+="L"+(t+v*c)+","+(e+v*l)),this._+="A"+i+","+i+",0,0,"+ +(l*f>c*h)+","+(this._x1=t+M*s)+","+(this._y1=e+M*u)}else this._+="L"+(this._x1=t)+","+(this._y1=e);else;},arc:function(t,e,n,r,i,a){t=+t,e=+e;var o=(n=+n)*Math.cos(r),s=n*Math.sin(r),u=t+o,c=e+s,l=1^a,d=a?r-i:i-r;if(n<0)throw new Error("negative radius: "+n);null===this._x1?this._+="M"+u+","+c:(Math.abs(this._x1-u)>1e-6||Math.abs(this._y1-c)>1e-6)&&(this._+="L"+u+","+c),n&&(d<0&&(d=d%Aa+Aa),d>Ca?this._+="A"+n+","+n+",0,1,"+l+","+(t-o)+","+(e-s)+"A"+n+","+n+",0,1,"+l+","+(this._x1=u)+","+(this._y1=c):d>1e-6&&(this._+="A"+n+","+n+",0,"+ +(d>=Ea)+","+l+","+(this._x1=t+n*Math.cos(i))+","+(this._y1=e+n*Math.sin(i))))},rect:function(t,e,n,r){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +n+"v"+ +r+"h"+-n+"Z"},toString:function(){return this._}};var Ha=Oa;function Pa(t){return t.source}function Fa(t){return t.target}function Na(t){return t.radius}function Ba(t){return t.startAngle}function Ra(t){return t.endAngle}var Ia=function(){var t=Pa,e=Fa,n=Na,r=Ba,i=Ra,a=null;function o(){var o,s=Ya.call(arguments),u=t.apply(this,s),c=e.apply(this,s),l=+n.apply(this,(s[0]=u,s)),d=r.apply(this,s)-wa,f=i.apply(this,s)-wa,h=l*ba(d),_=l*ka(d),p=+n.apply(this,(s[0]=c,s)),m=r.apply(this,s)-wa,y=i.apply(this,s)-wa;if(a||(a=o=Ha()),a.moveTo(h,_),a.arc(0,0,l,d,f),d===m&&f===y||(a.quadraticCurveTo(0,0,p*ba(m),p*ka(m)),a.arc(0,0,p,m,y)),a.quadraticCurveTo(0,0,h,_),a.closePath(),o)return a=null,o+""||null}return o.radius=function(t){return arguments.length?(n="function"==typeof t?t:Sa(+t),o):n},o.startAngle=function(t){return arguments.length?(r="function"==typeof t?t:Sa(+t),o):r},o.endAngle=function(t){return arguments.length?(i="function"==typeof t?t:Sa(+t),o):i},o.source=function(e){return arguments.length?(t=e,o):t},o.target=function(t){return arguments.length?(e=t,o):e},o.context=function(t){return arguments.length?(a=null==t?null:t,o):a},o};function za(){}function Wa(t,e){var n=new za;if(t instanceof za)t.each(function(t,e){n.set(e,t)});else if(Array.isArray(t)){var r,i=-1,a=t.length;if(null==e)for(;++i<a;)n.set(i,t[i]);else for(;++i<a;)n.set(e(r=t[i],i,t),r)}else if(t)for(var o in t)n.set(o,t[o]);return n}za.prototype=Wa.prototype={constructor:za,has:function(t){return"$"+t in this},get:function(t){return this["$"+t]},set:function(t,e){return this["$"+t]=e,this},remove:function(t){var e="$"+t;return e in this&&delete this[e]},clear:function(){for(var t in this)"$"===t[0]&&delete this[t]},keys:function(){var t=[];for(var e in this)"$"===e[0]&&t.push(e.slice(1));return t},values:function(){var t=[];for(var e in this)"$"===e[0]&&t.push(this[e]);return t},entries:function(){var t=[];for(var e in this)"$"===e[0]&&t.push({key:e.slice(1),value:this[e]});return t},size:function(){var t=0;for(var e in this)"$"===e[0]&&++t;return t},empty:function(){for(var t in this)if("$"===t[0])return!1;return!0},each:function(t){for(var e in this)"$"===e[0]&&t(this[e],e.slice(1),this)}};var qa=Wa,Ua=function(){var t,e,n,r=[],i=[];function a(n,i,o,s){if(i>=r.length)return null!=t&&n.sort(t),null!=e?e(n):n;for(var u,c,l,d=-1,f=n.length,h=r[i++],_=qa(),p=o();++d<f;)(l=_.get(u=h(c=n[d])+""))?l.push(c):_.set(u,[c]);return _.each(function(t,e){s(p,e,a(t,i,o,s))}),p}return n={object:function(t){return a(t,0,Va,$a)},map:function(t){return a(t,0,Ga,Ja)},entries:function(t){return function t(n,a){if(++a>r.length)return n;var o,s=i[a-1];return null!=e&&a>=r.length?o=n.entries():(o=[],n.each(function(e,n){o.push({key:n,values:t(e,a)})})),null!=s?o.sort(function(t,e){return s(t.key,e.key)}):o}(a(t,0,Ga,Ja),0)},key:function(t){return r.push(t),n},sortKeys:function(t){return i[r.length-1]=t,n},sortValues:function(e){return t=e,n},rollup:function(t){return e=t,n}}};function Va(){return{}}function $a(t,e,n){t[e]=n}function Ga(){return qa()}function Ja(t,e,n){t.set(e,n)}function Xa(){}var Za=qa.prototype;function Ka(t,e){var n=new Xa;if(t instanceof Xa)t.each(function(t){n.add(t)});else if(t){var r=-1,i=t.length;if(null==e)for(;++r<i;)n.add(t[r]);else for(;++r<i;)n.add(e(t[r],r,t))}return n}Xa.prototype=Ka.prototype={constructor:Xa,has:Za.has,add:function(t){return this["$"+(t+="")]=t,this},remove:Za.remove,clear:Za.clear,values:Za.keys,size:Za.size,empty:Za.empty,each:Za.each};var Qa=Ka,to=function(t){var e=[];for(var n in t)e.push(n);return e},eo=function(t){var e=[];for(var n in t)e.push(t[n]);return e},no=function(t){var e=[];for(var n in t)e.push({key:n,value:t[n]});return e},ro={},io={},ao=34,oo=10,so=13;function uo(t){return new Function("d","return {"+t.map(function(t,e){return JSON.stringify(t)+": d["+e+"]"}).join(",")+"}")}var co=function(t){var e=new RegExp('["'+t+"\n\r]"),n=t.charCodeAt(0);function r(t,e){var r,i=[],a=t.length,o=0,s=0,u=a<=0,c=!1;function l(){if(u)return io;if(c)return c=!1,ro;var e,r,i=o;if(t.charCodeAt(i)===ao){for(;o++<a&&t.charCodeAt(o)!==ao||t.charCodeAt(++o)===ao;);return(e=o)>=a?u=!0:(r=t.charCodeAt(o++))===oo?c=!0:r===so&&(c=!0,t.charCodeAt(o)===oo&&++o),t.slice(i+1,e-1).replace(/""/g,'"')}for(;o<a;){if((r=t.charCodeAt(e=o++))===oo)c=!0;else if(r===so)c=!0,t.charCodeAt(o)===oo&&++o;else if(r!==n)continue;return t.slice(i,e)}return u=!0,t.slice(i,a)}for(t.charCodeAt(a-1)===oo&&--a,t.charCodeAt(a-1)===so&&--a;(r=l())!==io;){for(var d=[];r!==ro&&r!==io;)d.push(r),r=l();e&&null==(d=e(d,s++))||i.push(d)}return i}function i(e){return e.map(a).join(t)}function a(t){return null==t?"":e.test(t+="")?'"'+t.replace(/"/g,'""')+'"':t}return{parse:function(t,e){var n,i,a=r(t,function(t,r){if(n)return n(t,r-1);i=t,n=e?function(t,e){var n=uo(t);return function(r,i){return e(n(r),i,t)}}(t,e):uo(t)});return a.columns=i||[],a},parseRows:r,format:function(e,n){return null==n&&(n=function(t){var e=Object.create(null),n=[];return t.forEach(function(t){for(var r in t)r in e||n.push(e[r]=r)}),n}(e)),[n.map(a).join(t)].concat(e.map(function(e){return n.map(function(t){return a(e[t])}).join(t)})).join("\n")},formatRows:function(t){return t.map(i).join("\n")}}},lo=co(","),fo=lo.parse,ho=lo.parseRows,_o=lo.format,po=lo.formatRows,mo=co("\t"),yo=mo.parse,go=mo.parseRows,vo=mo.format,Mo=mo.formatRows,bo=function(t,e){var n;function r(){var r,i,a=n.length,o=0,s=0;for(r=0;r<a;++r)o+=(i=n[r]).x,s+=i.y;for(o=o/a-t,s=s/a-e,r=0;r<a;++r)(i=n[r]).x-=o,i.y-=s}return null==t&&(t=0),null==e&&(e=0),r.initialize=function(t){n=t},r.x=function(e){return arguments.length?(t=+e,r):t},r.y=function(t){return arguments.length?(e=+t,r):e},r},ko=function(t){return function(){return t}},Lo=function(){return 1e-6*(Math.random()-.5)};function wo(t,e,n,r){if(isNaN(e)||isNaN(n))return t;var i,a,o,s,u,c,l,d,f,h=t._root,_={data:r},p=t._x0,m=t._y0,y=t._x1,g=t._y1;if(!h)return t._root=_,t;for(;h.length;)if((c=e>=(a=(p+y)/2))?p=a:y=a,(l=n>=(o=(m+g)/2))?m=o:g=o,i=h,!(h=h[d=l<<1|c]))return i[d]=_,t;if(s=+t._x.call(null,h.data),u=+t._y.call(null,h.data),e===s&&n===u)return _.next=h,i?i[d]=_:t._root=_,t;do{i=i?i[d]=new Array(4):t._root=new Array(4),(c=e>=(a=(p+y)/2))?p=a:y=a,(l=n>=(o=(m+g)/2))?m=o:g=o}while((d=l<<1|c)==(f=(u>=o)<<1|s>=a));return i[f]=h,i[d]=_,t}var xo=function(t,e,n,r,i){this.node=t,this.x0=e,this.y0=n,this.x1=r,this.y1=i};function To(t){return t[0]}function Do(t){return t[1]}function Yo(t,e,n){var r=new So(null==e?To:e,null==n?Do:n,NaN,NaN,NaN,NaN);return null==t?r:r.addAll(t)}function So(t,e,n,r,i,a){this._x=t,this._y=e,this._x0=n,this._y0=r,this._x1=i,this._y1=a,this._root=void 0}function Eo(t){for(var e={data:t.data},n=e;t=t.next;)n=n.next={data:t.data};return e}var Ao=Yo.prototype=So.prototype;function Co(t){return t.x+t.vx}function jo(t){return t.y+t.vy}Ao.copy=function(){var t,e,n=new So(this._x,this._y,this._x0,this._y0,this._x1,this._y1),r=this._root;if(!r)return n;if(!r.length)return n._root=Eo(r),n;for(t=[{source:r,target:n._root=new Array(4)}];r=t.pop();)for(var i=0;i<4;++i)(e=r.source[i])&&(e.length?t.push({source:e,target:r.target[i]=new Array(4)}):r.target[i]=Eo(e));return n},Ao.add=function(t){var e=+this._x.call(null,t),n=+this._y.call(null,t);return wo(this.cover(e,n),e,n,t)},Ao.addAll=function(t){var e,n,r,i,a=t.length,o=new Array(a),s=new Array(a),u=1/0,c=1/0,l=-1/0,d=-1/0;for(n=0;n<a;++n)isNaN(r=+this._x.call(null,e=t[n]))||isNaN(i=+this._y.call(null,e))||(o[n]=r,s[n]=i,r<u&&(u=r),r>l&&(l=r),i<c&&(c=i),i>d&&(d=i));for(l<u&&(u=this._x0,l=this._x1),d<c&&(c=this._y0,d=this._y1),this.cover(u,c).cover(l,d),n=0;n<a;++n)wo(this,o[n],s[n],t[n]);return this},Ao.cover=function(t,e){if(isNaN(t=+t)||isNaN(e=+e))return this;var n=this._x0,r=this._y0,i=this._x1,a=this._y1;if(isNaN(n))i=(n=Math.floor(t))+1,a=(r=Math.floor(e))+1;else{if(!(n>t||t>i||r>e||e>a))return this;var o,s,u=i-n,c=this._root;switch(s=(e<(r+a)/2)<<1|t<(n+i)/2){case 0:do{(o=new Array(4))[s]=c,c=o}while(a=r+(u*=2),t>(i=n+u)||e>a);break;case 1:do{(o=new Array(4))[s]=c,c=o}while(a=r+(u*=2),(n=i-u)>t||e>a);break;case 2:do{(o=new Array(4))[s]=c,c=o}while(r=a-(u*=2),t>(i=n+u)||r>e);break;case 3:do{(o=new Array(4))[s]=c,c=o}while(r=a-(u*=2),(n=i-u)>t||r>e)}this._root&&this._root.length&&(this._root=c)}return this._x0=n,this._y0=r,this._x1=i,this._y1=a,this},Ao.data=function(){var t=[];return this.visit(function(e){if(!e.length)do{t.push(e.data)}while(e=e.next)}),t},Ao.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]]},Ao.find=function(t,e,n){var r,i,a,o,s,u,c,l=this._x0,d=this._y0,f=this._x1,h=this._y1,_=[],p=this._root;for(p&&_.push(new xo(p,l,d,f,h)),null==n?n=1/0:(l=t-n,d=e-n,f=t+n,h=e+n,n*=n);u=_.pop();)if(!(!(p=u.node)||(i=u.x0)>f||(a=u.y0)>h||(o=u.x1)<l||(s=u.y1)<d))if(p.length){var m=(i+o)/2,y=(a+s)/2;_.push(new xo(p[3],m,y,o,s),new xo(p[2],i,y,m,s),new xo(p[1],m,a,o,y),new xo(p[0],i,a,m,y)),(c=(e>=y)<<1|t>=m)&&(u=_[_.length-1],_[_.length-1]=_[_.length-1-c],_[_.length-1-c]=u)}else{var g=t-+this._x.call(null,p.data),v=e-+this._y.call(null,p.data),M=g*g+v*v;if(M<n){var b=Math.sqrt(n=M);l=t-b,d=e-b,f=t+b,h=e+b,r=p.data}}return r},Ao.remove=function(t){if(isNaN(a=+this._x.call(null,t))||isNaN(o=+this._y.call(null,t)))return this;var e,n,r,i,a,o,s,u,c,l,d,f,h=this._root,_=this._x0,p=this._y0,m=this._x1,y=this._y1;if(!h)return this;if(h.length)for(;;){if((c=a>=(s=(_+m)/2))?_=s:m=s,(l=o>=(u=(p+y)/2))?p=u:y=u,e=h,!(h=h[d=l<<1|c]))return this;if(!h.length)break;(e[d+1&3]||e[d+2&3]||e[d+3&3])&&(n=e,f=d)}for(;h.data!==t;)if(r=h,!(h=h.next))return this;return(i=h.next)&&delete h.next,r?(i?r.next=i:delete r.next,this):e?(i?e[d]=i:delete e[d],(h=e[0]||e[1]||e[2]||e[3])&&h===(e[3]||e[2]||e[1]||e[0])&&!h.length&&(n?n[f]=h:this._root=h),this):(this._root=i,this)},Ao.removeAll=function(t){for(var e=0,n=t.length;e<n;++e)this.remove(t[e]);return this},Ao.root=function(){return this._root},Ao.size=function(){var t=0;return this.visit(function(e){if(!e.length)do{++t}while(e=e.next)}),t},Ao.visit=function(t){var e,n,r,i,a,o,s=[],u=this._root;for(u&&s.push(new xo(u,this._x0,this._y0,this._x1,this._y1));e=s.pop();)if(!t(u=e.node,r=e.x0,i=e.y0,a=e.x1,o=e.y1)&&u.length){var c=(r+a)/2,l=(i+o)/2;(n=u[3])&&s.push(new xo(n,c,l,a,o)),(n=u[2])&&s.push(new xo(n,r,l,c,o)),(n=u[1])&&s.push(new xo(n,c,i,a,l)),(n=u[0])&&s.push(new xo(n,r,i,c,l))}return this},Ao.visitAfter=function(t){var e,n=[],r=[];for(this._root&&n.push(new xo(this._root,this._x0,this._y0,this._x1,this._y1));e=n.pop();){var i=e.node;if(i.length){var a,o=e.x0,s=e.y0,u=e.x1,c=e.y1,l=(o+u)/2,d=(s+c)/2;(a=i[0])&&n.push(new xo(a,o,s,l,d)),(a=i[1])&&n.push(new xo(a,l,s,u,d)),(a=i[2])&&n.push(new xo(a,o,d,l,c)),(a=i[3])&&n.push(new xo(a,l,d,u,c))}r.push(e)}for(;e=r.pop();)t(e.node,e.x0,e.y0,e.x1,e.y1);return this},Ao.x=function(t){return arguments.length?(this._x=t,this):this._x},Ao.y=function(t){return arguments.length?(this._y=t,this):this._y};var Oo=function(t){var e,n,r=1,i=1;function a(){for(var t,a,s,u,c,l,d,f=e.length,h=0;h<i;++h)for(a=Yo(e,Co,jo).visitAfter(o),t=0;t<f;++t)s=e[t],l=n[s.index],d=l*l,u=s.x+s.vx,c=s.y+s.vy,a.visit(_);function _(t,e,n,i,a){var o=t.data,f=t.r,h=l+f;if(!o)return e>u+h||i<u-h||n>c+h||a<c-h;if(o.index>s.index){var _=u-o.x-o.vx,p=c-o.y-o.vy,m=_*_+p*p;m<h*h&&(0===_&&(m+=(_=Lo())*_),0===p&&(m+=(p=Lo())*p),m=(h-(m=Math.sqrt(m)))/m*r,s.vx+=(_*=m)*(h=(f*=f)/(d+f)),s.vy+=(p*=m)*h,o.vx-=_*(h=1-h),o.vy-=p*h)}}}function o(t){if(t.data)return t.r=n[t.data.index];for(var e=t.r=0;e<4;++e)t[e]&&t[e].r>t.r&&(t.r=t[e].r)}function s(){if(e){var r,i,a=e.length;for(n=new Array(a),r=0;r<a;++r)i=e[r],n[i.index]=+t(i,r,e)}}return"function"!=typeof t&&(t=ko(null==t?1:+t)),a.initialize=function(t){e=t,s()},a.iterations=function(t){return arguments.length?(i=+t,a):i},a.strength=function(t){return arguments.length?(r=+t,a):r},a.radius=function(e){return arguments.length?(t="function"==typeof e?e:ko(+e),s(),a):t},a};function Ho(t){return t.index}function Po(t,e){var n=t.get(e);if(!n)throw new Error("missing: "+e);return n}var Fo=function(t){var e,n,r,i,a,o=Ho,s=function(t){return 1/Math.min(i[t.source.index],i[t.target.index])},u=ko(30),c=1;function l(r){for(var i=0,o=t.length;i<c;++i)for(var s,u,l,d,f,h,_,p=0;p<o;++p)u=(s=t[p]).source,d=(l=s.target).x+l.vx-u.x-u.vx||Lo(),f=l.y+l.vy-u.y-u.vy||Lo(),d*=h=((h=Math.sqrt(d*d+f*f))-n[p])/h*r*e[p],f*=h,l.vx-=d*(_=a[p]),l.vy-=f*_,u.vx+=d*(_=1-_),u.vy+=f*_}function d(){if(r){var s,u,c=r.length,l=t.length,d=qa(r,o);for(s=0,i=new Array(c);s<l;++s)(u=t[s]).index=s,"object"!=typeof u.source&&(u.source=Po(d,u.source)),"object"!=typeof u.target&&(u.target=Po(d,u.target)),i[u.source.index]=(i[u.source.index]||0)+1,i[u.target.index]=(i[u.target.index]||0)+1;for(s=0,a=new Array(l);s<l;++s)u=t[s],a[s]=i[u.source.index]/(i[u.source.index]+i[u.target.index]);e=new Array(l),f(),n=new Array(l),h()}}function f(){if(r)for(var n=0,i=t.length;n<i;++n)e[n]=+s(t[n],n,t)}function h(){if(r)for(var e=0,i=t.length;e<i;++e)n[e]=+u(t[e],e,t)}return null==t&&(t=[]),l.initialize=function(t){r=t,d()},l.links=function(e){return arguments.length?(t=e,d(),l):t},l.id=function(t){return arguments.length?(o=t,l):o},l.iterations=function(t){return arguments.length?(c=+t,l):c},l.strength=function(t){return arguments.length?(s="function"==typeof t?t:ko(+t),f(),l):s},l.distance=function(t){return arguments.length?(u="function"==typeof t?t:ko(+t),h(),l):u},l};function No(t){return t.x}function Bo(t){return t.y}var Ro,Io=10,zo=Math.PI*(3-Math.sqrt(5)),Wo=function(t){var e,n=1,r=.001,i=1-Math.pow(r,1/300),a=0,o=.6,s=qa(),u=Sr(l),c=ft("tick","end");function l(){d(),c.call("tick",e),n<r&&(u.stop(),c.call("end",e))}function d(){var e,r,u=t.length;for(n+=(a-n)*i,s.each(function(t){t(n)}),e=0;e<u;++e)null==(r=t[e]).fx?r.x+=r.vx*=o:(r.x=r.fx,r.vx=0),null==r.fy?r.y+=r.vy*=o:(r.y=r.fy,r.vy=0)}function f(){for(var e,n=0,r=t.length;n<r;++n){if((e=t[n]).index=n,isNaN(e.x)||isNaN(e.y)){var i=Io*Math.sqrt(n),a=n*zo;e.x=i*Math.cos(a),e.y=i*Math.sin(a)}(isNaN(e.vx)||isNaN(e.vy))&&(e.vx=e.vy=0)}}function h(e){return e.initialize&&e.initialize(t),e}return null==t&&(t=[]),f(),e={tick:d,restart:function(){return u.restart(l),e},stop:function(){return u.stop(),e},nodes:function(n){return arguments.length?(t=n,f(),s.each(h),e):t},alpha:function(t){return arguments.length?(n=+t,e):n},alphaMin:function(t){return arguments.length?(r=+t,e):r},alphaDecay:function(t){return arguments.length?(i=+t,e):+i},alphaTarget:function(t){return arguments.length?(a=+t,e):a},velocityDecay:function(t){return arguments.length?(o=1-t,e):1-o},force:function(t,n){return arguments.length>1?(null==n?s.remove(t):s.set(t,h(n)),e):s.get(t)},find:function(e,n,r){var i,a,o,s,u,c=0,l=t.length;for(null==r?r=1/0:r*=r,c=0;c<l;++c)(o=(i=e-(s=t[c]).x)*i+(a=n-s.y)*a)<r&&(u=s,r=o);return u},on:function(t,n){return arguments.length>1?(c.on(t,n),e):c.on(t)}}},qo=function(){var t,e,n,r,i=ko(-30),a=1,o=1/0,s=.81;function u(r){var i,a=t.length,o=Yo(t,No,Bo).visitAfter(l);for(n=r,i=0;i<a;++i)e=t[i],o.visit(d)}function c(){if(t){var e,n,a=t.length;for(r=new Array(a),e=0;e<a;++e)n=t[e],r[n.index]=+i(n,e,t)}}function l(t){var e,n,i,a,o,s=0,u=0;if(t.length){for(i=a=o=0;o<4;++o)(e=t[o])&&(n=Math.abs(e.value))&&(s+=e.value,u+=n,i+=n*e.x,a+=n*e.y);t.x=i/u,t.y=a/u}else{(e=t).x=e.data.x,e.y=e.data.y;do{s+=r[e.data.index]}while(e=e.next)}t.value=s}function d(t,i,u,c){if(!t.value)return!0;var l=t.x-e.x,d=t.y-e.y,f=c-i,h=l*l+d*d;if(f*f/s<h)return h<o&&(0===l&&(h+=(l=Lo())*l),0===d&&(h+=(d=Lo())*d),h<a&&(h=Math.sqrt(a*h)),e.vx+=l*t.value*n/h,e.vy+=d*t.value*n/h),!0;if(!(t.length||h>=o)){(t.data!==e||t.next)&&(0===l&&(h+=(l=Lo())*l),0===d&&(h+=(d=Lo())*d),h<a&&(h=Math.sqrt(a*h)));do{t.data!==e&&(f=r[t.data.index]*n/h,e.vx+=l*f,e.vy+=d*f)}while(t=t.next)}}return u.initialize=function(e){t=e,c()},u.strength=function(t){return arguments.length?(i="function"==typeof t?t:ko(+t),c(),u):i},u.distanceMin=function(t){return arguments.length?(a=t*t,u):Math.sqrt(a)},u.distanceMax=function(t){return arguments.length?(o=t*t,u):Math.sqrt(o)},u.theta=function(t){return arguments.length?(s=t*t,u):Math.sqrt(s)},u},Uo=function(t,e,n){var r,i,a,o=ko(.1);function s(t){for(var o=0,s=r.length;o<s;++o){var u=r[o],c=u.x-e||1e-6,l=u.y-n||1e-6,d=Math.sqrt(c*c+l*l),f=(a[o]-d)*i[o]*t/d;u.vx+=c*f,u.vy+=l*f}}function u(){if(r){var e,n=r.length;for(i=new Array(n),a=new Array(n),e=0;e<n;++e)a[e]=+t(r[e],e,r),i[e]=isNaN(a[e])?0:+o(r[e],e,r)}}return"function"!=typeof t&&(t=ko(+t)),null==e&&(e=0),null==n&&(n=0),s.initialize=function(t){r=t,u()},s.strength=function(t){return arguments.length?(o="function"==typeof t?t:ko(+t),u(),s):o},s.radius=function(e){return arguments.length?(t="function"==typeof e?e:ko(+e),u(),s):t},s.x=function(t){return arguments.length?(e=+t,s):e},s.y=function(t){return arguments.length?(n=+t,s):n},s},Vo=function(t){var e,n,r,i=ko(.1);function a(t){for(var i,a=0,o=e.length;a<o;++a)(i=e[a]).vx+=(r[a]-i.x)*n[a]*t}function o(){if(e){var a,o=e.length;for(n=new Array(o),r=new Array(o),a=0;a<o;++a)n[a]=isNaN(r[a]=+t(e[a],a,e))?0:+i(e[a],a,e)}}return"function"!=typeof t&&(t=ko(null==t?0:+t)),a.initialize=function(t){e=t,o()},a.strength=function(t){return arguments.length?(i="function"==typeof t?t:ko(+t),o(),a):i},a.x=function(e){return arguments.length?(t="function"==typeof e?e:ko(+e),o(),a):t},a},$o=function(t){var e,n,r,i=ko(.1);function a(t){for(var i,a=0,o=e.length;a<o;++a)(i=e[a]).vy+=(r[a]-i.y)*n[a]*t}function o(){if(e){var a,o=e.length;for(n=new Array(o),r=new Array(o),a=0;a<o;++a)n[a]=isNaN(r[a]=+t(e[a],a,e))?0:+i(e[a],a,e)}}return"function"!=typeof t&&(t=ko(null==t?0:+t)),a.initialize=function(t){e=t,o()},a.strength=function(t){return arguments.length?(i="function"==typeof t?t:ko(+t),o(),a):i},a.y=function(e){return arguments.length?(t="function"==typeof e?e:ko(+e),o(),a):t},a},Go=function(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var n,r=t.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+t.slice(n+1)]},Jo=function(t){return(t=Go(Math.abs(t)))?t[1]:NaN},Xo=function(t,e){var n=Go(t,e);if(!n)return t+"";var r=n[0],i=n[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")},Zo={"":function(t,e){t=t.toPrecision(e);t:for(var n,r=t.length,i=1,a=-1;i<r;++i)switch(t[i]){case".":a=n=i;break;case"0":0===a&&(a=i),n=i;break;case"e":break t;default:a>0&&(a=0)}return a>0?t.slice(0,a)+t.slice(n+1):t},"%":function(t,e){return(100*t).toFixed(e)},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,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},g:function(t,e){return t.toPrecision(e)},o:function(t){return Math.round(t).toString(8)},p:function(t,e){return Xo(100*t,e)},r:Xo,s:function(t,e){var n=Go(t,e);if(!n)return t+"";var r=n[0],i=n[1],a=i-(Ro=3*Math.max(-8,Math.min(8,Math.floor(i/3))))+1,o=r.length;return a===o?r:a>o?r+new Array(a-o+1).join("0"):a>0?r.slice(0,a)+"."+r.slice(a):"0."+new Array(1-a).join("0")+Go(t,Math.max(0,e+a-1))[0]},X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}},Ko=/^(?:(.)?([<>=^]))?([+\-\( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?([a-z%])?$/i;function Qo(t){return new ts(t)}function ts(t){if(!(e=Ko.exec(t)))throw new Error("invalid format: "+t);var e,n=e[1]||" ",r=e[2]||">",i=e[3]||"-",a=e[4]||"",o=!!e[5],s=e[6]&&+e[6],u=!!e[7],c=e[8]&&+e[8].slice(1),l=e[9]||"";"n"===l?(u=!0,l="g"):Zo[l]||(l=""),(o||"0"===n&&"="===r)&&(o=!0,n="0",r="="),this.fill=n,this.align=r,this.sign=i,this.symbol=a,this.zero=o,this.width=s,this.comma=u,this.precision=c,this.type=l}Qo.prototype=ts.prototype,ts.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(null==this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(null==this.precision?"":"."+Math.max(0,0|this.precision))+this.type};var es,ns,rs,is=function(t){return t},as=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"],os=function(t){var e,n,r=t.grouping&&t.thousands?(e=t.grouping,n=t.thousands,function(t,r){for(var i=t.length,a=[],o=0,s=e[0],u=0;i>0&&s>0&&(u+s+1>r&&(s=Math.max(1,r-u)),a.push(t.substring(i-=s,i+s)),!((u+=s+1)>r));)s=e[o=(o+1)%e.length];return a.reverse().join(n)}):is,i=t.currency,a=t.decimal,o=t.numerals?function(t){return function(e){return e.replace(/[0-9]/g,function(e){return t[+e]})}}(t.numerals):is,s=t.percent||"%";function u(t){var e=(t=Qo(t)).fill,n=t.align,u=t.sign,c=t.symbol,l=t.zero,d=t.width,f=t.comma,h=t.precision,_=t.type,p="$"===c?i[0]:"#"===c&&/[boxX]/.test(_)?"0"+_.toLowerCase():"",m="$"===c?i[1]:/[%p]/.test(_)?s:"",y=Zo[_],g=!_||/[defgprs%]/.test(_);function v(t){var i,s,c,v=p,M=m;if("c"===_)M=y(t)+M,t="";else{var b=(t=+t)<0;if(t=y(Math.abs(t),h),b&&0==+t&&(b=!1),v=(b?"("===u?u:"-":"-"===u||"("===u?"":u)+v,M=("s"===_?as[8+Ro/3]:"")+M+(b&&"("===u?")":""),g)for(i=-1,s=t.length;++i<s;)if(48>(c=t.charCodeAt(i))||c>57){M=(46===c?a+t.slice(i+1):t.slice(i))+M,t=t.slice(0,i);break}}f&&!l&&(t=r(t,1/0));var k=v.length+t.length+M.length,L=k<d?new Array(d-k+1).join(e):"";switch(f&&l&&(t=r(L+t,L.length?d-M.length:1/0),L=""),n){case"<":t=v+t+M+L;break;case"=":t=v+L+t+M;break;case"^":t=L.slice(0,k=L.length>>1)+v+t+M+L.slice(k);break;default:t=L+v+t+M}return o(t)}return h=null==h?_?6:12:/[gprs]/.test(_)?Math.max(1,Math.min(21,h)):Math.max(0,Math.min(20,h)),v.toString=function(){return t+""},v}return{format:u,formatPrefix:function(t,e){var n=u(((t=Qo(t)).type="f",t)),r=3*Math.max(-8,Math.min(8,Math.floor(Jo(e)/3))),i=Math.pow(10,-r),a=as[8+r/3];return function(t){return n(i*t)+a}}}};function ss(t){return es=os(t),ns=es.format,rs=es.formatPrefix,es}ss({decimal:".",thousands:",",grouping:[3],currency:["$",""]});var us=function(t){return Math.max(0,-Jo(Math.abs(t)))},cs=function(t,e){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(Jo(e)/3)))-Jo(Math.abs(t)))},ls=function(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,Jo(e)-Jo(t))+1},ds=function(){return new fs};function fs(){this.reset()}fs.prototype={constructor:fs,reset:function(){this.s=this.t=0},add:function(t){_s(hs,t,this.t),_s(this,hs.s,this.s),this.s?this.t+=hs.t:this.s=hs.t},valueOf:function(){return this.s}};var hs=new fs;function _s(t,e,n){var r=t.s=e+n,i=r-e,a=r-i;t.t=e-a+(n-i)}var ps=1e-6,ms=Math.PI,ys=ms/2,gs=ms/4,vs=2*ms,Ms=180/ms,bs=ms/180,ks=Math.abs,Ls=Math.atan,ws=Math.atan2,xs=Math.cos,Ts=Math.ceil,Ds=Math.exp,Ys=(Math.floor,Math.log),Ss=Math.pow,Es=Math.sin,As=Math.sign||function(t){return t>0?1:t<0?-1:0},Cs=Math.sqrt,js=Math.tan;function Os(t){return t>1?0:t<-1?ms:Math.acos(t)}function Hs(t){return t>1?ys:t<-1?-ys:Math.asin(t)}function Ps(t){return(t=Es(t/2))*t}function Fs(){}function Ns(t,e){t&&Rs.hasOwnProperty(t.type)&&Rs[t.type](t,e)}var Bs={Feature:function(t,e){Ns(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,r=-1,i=n.length;++r<i;)Ns(n[r].geometry,e)}},Rs={Sphere:function(t,e){e.sphere()},Point:function(t,e){t=t.coordinates,e.point(t[0],t[1],t[2])},MultiPoint:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)t=n[r],e.point(t[0],t[1],t[2])},LineString:function(t,e){Is(t.coordinates,e,0)},MultiLineString:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)Is(n[r],e,0)},Polygon:function(t,e){zs(t.coordinates,e)},MultiPolygon:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)zs(n[r],e)},GeometryCollection:function(t,e){for(var n=t.geometries,r=-1,i=n.length;++r<i;)Ns(n[r],e)}};function Is(t,e,n){var r,i=-1,a=t.length-n;for(e.lineStart();++i<a;)r=t[i],e.point(r[0],r[1],r[2]);e.lineEnd()}function zs(t,e){var n=-1,r=t.length;for(e.polygonStart();++n<r;)Is(t[n],e,1);e.polygonEnd()}var Ws,qs,Us,Vs,$s,Gs=function(t,e){t&&Bs.hasOwnProperty(t.type)?Bs[t.type](t,e):Ns(t,e)},Js=ds(),Xs=ds(),Zs={point:Fs,lineStart:Fs,lineEnd:Fs,polygonStart:function(){Js.reset(),Zs.lineStart=Ks,Zs.lineEnd=Qs},polygonEnd:function(){var t=+Js;Xs.add(t<0?vs+t:t),this.lineStart=this.lineEnd=this.point=Fs},sphere:function(){Xs.add(vs)}};function Ks(){Zs.point=tu}function Qs(){eu(Ws,qs)}function tu(t,e){Zs.point=eu,Ws=t,qs=e,Us=t*=bs,Vs=xs(e=(e*=bs)/2+gs),$s=Es(e)}function eu(t,e){e=(e*=bs)/2+gs;var n=(t*=bs)-Us,r=n>=0?1:-1,i=r*n,a=xs(e),o=Es(e),s=$s*o,u=Vs*a+s*xs(i),c=s*r*Es(i);Js.add(ws(c,u)),Us=t,Vs=a,$s=o}var nu=function(t){return Xs.reset(),Gs(t,Zs),2*Xs};function ru(t){return[ws(t[1],t[0]),Hs(t[2])]}function iu(t){var e=t[0],n=t[1],r=xs(n);return[r*xs(e),r*Es(e),Es(n)]}function au(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function ou(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function su(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function uu(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function cu(t){var e=Cs(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}var lu,du,fu,hu,_u,pu,mu,yu,gu,vu,Mu=ds(),bu={point:ku,lineStart:wu,lineEnd:xu,polygonStart:function(){bu.point=Tu,bu.lineStart=Du,bu.lineEnd=Yu,Mu.reset(),Zs.polygonStart()},polygonEnd:function(){Zs.polygonEnd(),bu.point=ku,bu.lineStart=wu,bu.lineEnd=xu,Js<0?(lu=-(fu=180),du=-(hu=90)):Mu>ps?hu=90:Mu<-ps&&(du=-90),vu[0]=lu,vu[1]=fu}};function ku(t,e){gu.push(vu=[lu=t,fu=t]),e<du&&(du=e),e>hu&&(hu=e)}function Lu(t,e){var n=iu([t*bs,e*bs]);if(yu){var r=ou(yu,n),i=ou([r[1],-r[0],0],r);cu(i),i=ru(i);var a,o=t-_u,s=o>0?1:-1,u=i[0]*Ms*s,c=ks(o)>180;c^(s*_u<u&&u<s*t)?(a=i[1]*Ms)>hu&&(hu=a):c^(s*_u<(u=(u+360)%360-180)&&u<s*t)?(a=-i[1]*Ms)<du&&(du=a):(e<du&&(du=e),e>hu&&(hu=e)),c?t<_u?Su(lu,t)>Su(lu,fu)&&(fu=t):Su(t,fu)>Su(lu,fu)&&(lu=t):fu>=lu?(t<lu&&(lu=t),t>fu&&(fu=t)):t>_u?Su(lu,t)>Su(lu,fu)&&(fu=t):Su(t,fu)>Su(lu,fu)&&(lu=t)}else gu.push(vu=[lu=t,fu=t]);e<du&&(du=e),e>hu&&(hu=e),yu=n,_u=t}function wu(){bu.point=Lu}function xu(){vu[0]=lu,vu[1]=fu,bu.point=ku,yu=null}function Tu(t,e){if(yu){var n=t-_u;Mu.add(ks(n)>180?n+(n>0?360:-360):n)}else pu=t,mu=e;Zs.point(t,e),Lu(t,e)}function Du(){Zs.lineStart()}function Yu(){Tu(pu,mu),Zs.lineEnd(),ks(Mu)>ps&&(lu=-(fu=180)),vu[0]=lu,vu[1]=fu,yu=null}function Su(t,e){return(e-=t)<0?e+360:e}function Eu(t,e){return t[0]-e[0]}function Au(t,e){return t[0]<=t[1]?t[0]<=e&&e<=t[1]:e<t[0]||t[1]<e}var Cu,ju,Ou,Hu,Pu,Fu,Nu,Bu,Ru,Iu,zu,Wu,qu,Uu,Vu,$u,Gu=function(t){var e,n,r,i,a,o,s;if(hu=fu=-(lu=du=1/0),gu=[],Gs(t,bu),n=gu.length){for(gu.sort(Eu),e=1,a=[r=gu[0]];e<n;++e)Au(r,(i=gu[e])[0])||Au(r,i[1])?(Su(r[0],i[1])>Su(r[0],r[1])&&(r[1]=i[1]),Su(i[0],r[1])>Su(r[0],r[1])&&(r[0]=i[0])):a.push(r=i);for(o=-1/0,e=0,r=a[n=a.length-1];e<=n;r=i,++e)i=a[e],(s=Su(r[1],i[0]))>o&&(o=s,lu=i[0],fu=r[1])}return gu=vu=null,lu===1/0||du===1/0?[[NaN,NaN],[NaN,NaN]]:[[lu,du],[fu,hu]]},Ju={sphere:Fs,point:Xu,lineStart:Ku,lineEnd:ec,polygonStart:function(){Ju.lineStart=nc,Ju.lineEnd=rc},polygonEnd:function(){Ju.lineStart=Ku,Ju.lineEnd=ec}};function Xu(t,e){t*=bs;var n=xs(e*=bs);Zu(n*xs(t),n*Es(t),Es(e))}function Zu(t,e,n){Ou+=(t-Ou)/++Cu,Hu+=(e-Hu)/Cu,Pu+=(n-Pu)/Cu}function Ku(){Ju.point=Qu}function Qu(t,e){t*=bs;var n=xs(e*=bs);Uu=n*xs(t),Vu=n*Es(t),$u=Es(e),Ju.point=tc,Zu(Uu,Vu,$u)}function tc(t,e){t*=bs;var n=xs(e*=bs),r=n*xs(t),i=n*Es(t),a=Es(e),o=ws(Cs((o=Vu*a-$u*i)*o+(o=$u*r-Uu*a)*o+(o=Uu*i-Vu*r)*o),Uu*r+Vu*i+$u*a);ju+=o,Fu+=o*(Uu+(Uu=r)),Nu+=o*(Vu+(Vu=i)),Bu+=o*($u+($u=a)),Zu(Uu,Vu,$u)}function ec(){Ju.point=Xu}function nc(){Ju.point=ic}function rc(){ac(Wu,qu),Ju.point=Xu}function ic(t,e){Wu=t,qu=e,t*=bs,e*=bs,Ju.point=ac;var n=xs(e);Uu=n*xs(t),Vu=n*Es(t),$u=Es(e),Zu(Uu,Vu,$u)}function ac(t,e){t*=bs;var n=xs(e*=bs),r=n*xs(t),i=n*Es(t),a=Es(e),o=Vu*a-$u*i,s=$u*r-Uu*a,u=Uu*i-Vu*r,c=Cs(o*o+s*s+u*u),l=Hs(c),d=c&&-l/c;Ru+=d*o,Iu+=d*s,zu+=d*u,ju+=l,Fu+=l*(Uu+(Uu=r)),Nu+=l*(Vu+(Vu=i)),Bu+=l*($u+($u=a)),Zu(Uu,Vu,$u)}var oc=function(t){Cu=ju=Ou=Hu=Pu=Fu=Nu=Bu=Ru=Iu=zu=0,Gs(t,Ju);var e=Ru,n=Iu,r=zu,i=e*e+n*n+r*r;return i<1e-12&&(e=Fu,n=Nu,r=Bu,ju<ps&&(e=Ou,n=Hu,r=Pu),(i=e*e+n*n+r*r)<1e-12)?[NaN,NaN]:[ws(n,e)*Ms,Hs(r/Cs(i))*Ms]},sc=function(t){return function(){return t}},uc=function(t,e){function n(n,r){return n=t(n,r),e(n[0],n[1])}return t.invert&&e.invert&&(n.invert=function(n,r){return(n=e.invert(n,r))&&t.invert(n[0],n[1])}),n};function cc(t,e){return[t>ms?t-vs:t<-ms?t+vs:t,e]}function lc(t,e,n){return(t%=vs)?e||n?uc(fc(t),hc(e,n)):fc(t):e||n?hc(e,n):cc}function dc(t){return function(e,n){return[(e+=t)>ms?e-vs:e<-ms?e+vs:e,n]}}function fc(t){var e=dc(t);return e.invert=dc(-t),e}function hc(t,e){var n=xs(t),r=Es(t),i=xs(e),a=Es(e);function o(t,e){var o=xs(e),s=xs(t)*o,u=Es(t)*o,c=Es(e),l=c*n+s*r;return[ws(u*i-l*a,s*n-c*r),Hs(l*i+u*a)]}return o.invert=function(t,e){var o=xs(e),s=xs(t)*o,u=Es(t)*o,c=Es(e),l=c*i-u*a;return[ws(u*i+c*a,s*n+l*r),Hs(l*n-s*r)]},o}cc.invert=cc;var _c=function(t){function e(e){return(e=t(e[0]*bs,e[1]*bs))[0]*=Ms,e[1]*=Ms,e}return t=lc(t[0]*bs,t[1]*bs,t.length>2?t[2]*bs:0),e.invert=function(e){return(e=t.invert(e[0]*bs,e[1]*bs))[0]*=Ms,e[1]*=Ms,e},e};function pc(t,e,n,r,i,a){if(n){var o=xs(e),s=Es(e),u=r*n;null==i?(i=e+r*vs,a=e-u/2):(i=mc(o,i),a=mc(o,a),(r>0?i<a:i>a)&&(i+=r*vs));for(var c,l=i;r>0?l>a:l<a;l-=u)c=ru([o,-s*xs(l),-s*Es(l)]),t.point(c[0],c[1])}}function mc(t,e){(e=iu(e))[0]-=t,cu(e);var n=Os(-e[1]);return((-e[2]<0?-n:n)+vs-ps)%vs}var yc=function(){var t,e,n=sc([0,0]),r=sc(90),i=sc(6),a={point:function(n,r){t.push(n=e(n,r)),n[0]*=Ms,n[1]*=Ms}};function o(){var o=n.apply(this,arguments),s=r.apply(this,arguments)*bs,u=i.apply(this,arguments)*bs;return t=[],e=lc(-o[0]*bs,-o[1]*bs,0).invert,pc(a,s,u,1),o={type:"Polygon",coordinates:[t]},t=e=null,o}return o.center=function(t){return arguments.length?(n="function"==typeof t?t:sc([+t[0],+t[1]]),o):n},o.radius=function(t){return arguments.length?(r="function"==typeof t?t:sc(+t),o):r},o.precision=function(t){return arguments.length?(i="function"==typeof t?t:sc(+t),o):i},o},gc=function(){var t,e=[];return{point:function(e,n){t.push([e,n])},lineStart:function(){e.push(t=[])},lineEnd:Fs,rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))},result:function(){var n=e;return e=[],t=null,n}}},vc=function(t,e){return ks(t[0]-e[0])<ps&&ks(t[1]-e[1])<ps};function Mc(t,e,n,r){this.x=t,this.z=e,this.o=n,this.e=r,this.v=!1,this.n=this.p=null}var bc=function(t,e,n,r,i){var a,o,s=[],u=[];if(t.forEach(function(t){if(!((e=t.length-1)<=0)){var e,n,r=t[0],o=t[e];if(vc(r,o)){for(i.lineStart(),a=0;a<e;++a)i.point((r=t[a])[0],r[1]);i.lineEnd()}else s.push(n=new Mc(r,t,null,!0)),u.push(n.o=new Mc(r,null,n,!1)),s.push(n=new Mc(o,t,null,!1)),u.push(n.o=new Mc(o,null,n,!0))}}),s.length){for(u.sort(e),kc(s),kc(u),a=0,o=u.length;a<o;++a)u[a].e=n=!n;for(var c,l,d=s[0];;){for(var f=d,h=!0;f.v;)if((f=f.n)===d)return;c=f.z,i.lineStart();do{if(f.v=f.o.v=!0,f.e){if(h)for(a=0,o=c.length;a<o;++a)i.point((l=c[a])[0],l[1]);else r(f.x,f.n.x,1,i);f=f.n}else{if(h)for(c=f.p.z,a=c.length-1;a>=0;--a)i.point((l=c[a])[0],l[1]);else r(f.x,f.p.x,-1,i);f=f.p}c=(f=f.o).z,h=!h}while(!f.v);i.lineEnd()}}};function kc(t){if(e=t.length){for(var e,n,r=0,i=t[0];++r<e;)i.n=n=t[r],n.p=i,i=n;i.n=n=t[0],n.p=i}}var Lc=ds(),wc=function(t,e){var n=e[0],r=e[1],i=[Es(n),-xs(n),0],a=0,o=0;Lc.reset();for(var s=0,u=t.length;s<u;++s)if(l=(c=t[s]).length)for(var c,l,d=c[l-1],f=d[0],h=d[1]/2+gs,_=Es(h),p=xs(h),m=0;m<l;++m,f=g,_=M,p=b,d=y){var y=c[m],g=y[0],v=y[1]/2+gs,M=Es(v),b=xs(v),k=g-f,L=k>=0?1:-1,w=L*k,x=w>ms,T=_*M;if(Lc.add(ws(T*L*Es(w),p*b+T*xs(w))),a+=x?k+L*vs:k,x^f>=n^g>=n){var D=ou(iu(d),iu(y));cu(D);var Y=ou(i,D);cu(Y);var S=(x^k>=0?-1:1)*Hs(Y[2]);(r>S||r===S&&(D[0]||D[1]))&&(o+=x^k>=0?1:-1)}}return(a<-ps||a<ps&&Lc<-ps)^1&o},xc=function(t,e,n,r){return function(i){var a,o,s,u=e(i),c=gc(),l=e(c),d=!1,f={point:h,lineStart:p,lineEnd:m,polygonStart:function(){f.point=y,f.lineStart=g,f.lineEnd=v,o=[],a=[]},polygonEnd:function(){f.point=h,f.lineStart=p,f.lineEnd=m,o=F(o);var t=wc(a,r);o.length?(d||(i.polygonStart(),d=!0),bc(o,Dc,t,n,i)):t&&(d||(i.polygonStart(),d=!0),i.lineStart(),n(null,null,1,i),i.lineEnd()),d&&(i.polygonEnd(),d=!1),o=a=null},sphere:function(){i.polygonStart(),i.lineStart(),n(null,null,1,i),i.lineEnd(),i.polygonEnd()}};function h(e,n){t(e,n)&&i.point(e,n)}function _(t,e){u.point(t,e)}function p(){f.point=_,u.lineStart()}function m(){f.point=h,u.lineEnd()}function y(t,e){s.push([t,e]),l.point(t,e)}function g(){l.lineStart(),s=[]}function v(){y(s[0][0],s[0][1]),l.lineEnd();var t,e,n,r,u=l.clean(),f=c.result(),h=f.length;if(s.pop(),a.push(s),s=null,h)if(1&u){if((e=(n=f[0]).length-1)>0){for(d||(i.polygonStart(),d=!0),i.lineStart(),t=0;t<e;++t)i.point((r=n[t])[0],r[1]);i.lineEnd()}}else h>1&&2&u&&f.push(f.pop().concat(f.shift())),o.push(f.filter(Tc))}return f}};function Tc(t){return t.length>1}function Dc(t,e){return((t=t.x)[0]<0?t[1]-ys-ps:ys-t[1])-((e=e.x)[0]<0?e[1]-ys-ps:ys-e[1])}var Yc=xc(function(){return!0},function(t){var e,n=NaN,r=NaN,i=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(a,o){var s=a>0?ms:-ms,u=ks(a-n);ks(u-ms)<ps?(t.point(n,r=(r+o)/2>0?ys:-ys),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(s,r),t.point(a,r),e=0):i!==s&&u>=ms&&(ks(n-i)<ps&&(n-=i*ps),ks(a-s)<ps&&(a-=s*ps),r=function(t,e,n,r){var i,a,o=Es(t-n);return ks(o)>ps?Ls((Es(e)*(a=xs(r))*Es(n)-Es(r)*(i=xs(e))*Es(t))/(i*a*o)):(e+r)/2}(n,r,a,o),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(s,r),e=0),t.point(n=a,r=o),i=s},lineEnd:function(){t.lineEnd(),n=r=NaN},clean:function(){return 2-e}}},function(t,e,n,r){var i;if(null==t)i=n*ys,r.point(-ms,i),r.point(0,i),r.point(ms,i),r.point(ms,0),r.point(ms,-i),r.point(0,-i),r.point(-ms,-i),r.point(-ms,0),r.point(-ms,i);else if(ks(t[0]-e[0])>ps){var a=t[0]<e[0]?ms:-ms;i=n*a/2,r.point(-a,i),r.point(0,i),r.point(a,i)}else r.point(e[0],e[1])},[-ms,-ys]);var Sc=function(t){var e=xs(t),n=6*bs,r=e>0,i=ks(e)>ps;function a(t,n){return xs(t)*xs(n)>e}function o(t,n,r){var i=[1,0,0],a=ou(iu(t),iu(n)),o=au(a,a),s=a[0],u=o-s*s;if(!u)return!r&&t;var c=e*o/u,l=-e*s/u,d=ou(i,a),f=uu(i,c);su(f,uu(a,l));var h=d,_=au(f,h),p=au(h,h),m=_*_-p*(au(f,f)-1);if(!(m<0)){var y=Cs(m),g=uu(h,(-_-y)/p);if(su(g,f),g=ru(g),!r)return g;var v,M=t[0],b=n[0],k=t[1],L=n[1];b<M&&(v=M,M=b,b=v);var w=b-M,x=ks(w-ms)<ps;if(!x&&L<k&&(v=k,k=L,L=v),x||w<ps?x?k+L>0^g[1]<(ks(g[0]-M)<ps?k:L):k<=g[1]&&g[1]<=L:w>ms^(M<=g[0]&&g[0]<=b)){var T=uu(h,(-_+y)/p);return su(T,f),[g,ru(T)]}}}function s(e,n){var i=r?t:ms-t,a=0;return e<-i?a|=1:e>i&&(a|=2),n<-i?a|=4:n>i&&(a|=8),a}return xc(a,function(t){var e,n,u,c,l;return{lineStart:function(){c=u=!1,l=1},point:function(d,f){var h,_=[d,f],p=a(d,f),m=r?p?0:s(d,f):p?s(d+(d<0?ms:-ms),f):0;if(!e&&(c=u=p)&&t.lineStart(),p!==u&&(!(h=o(e,_))||vc(e,h)||vc(_,h))&&(_[0]+=ps,_[1]+=ps,p=a(_[0],_[1])),p!==u)l=0,p?(t.lineStart(),h=o(_,e),t.point(h[0],h[1])):(h=o(e,_),t.point(h[0],h[1]),t.lineEnd()),e=h;else if(i&&e&&r^p){var y;m&n||!(y=o(_,e,!0))||(l=0,r?(t.lineStart(),t.point(y[0][0],y[0][1]),t.point(y[1][0],y[1][1]),t.lineEnd()):(t.point(y[1][0],y[1][1]),t.lineEnd(),t.lineStart(),t.point(y[0][0],y[0][1])))}!p||e&&vc(e,_)||t.point(_[0],_[1]),e=_,u=p,n=m},lineEnd:function(){u&&t.lineEnd(),e=null},clean:function(){return l|(c&&u)<<1}}},function(e,r,i,a){pc(a,t,n,i,e,r)},r?[0,-t]:[-ms,t-ms])},Ec=function(t,e,n,r,i,a){var o,s=t[0],u=t[1],c=0,l=1,d=e[0]-s,f=e[1]-u;if(o=n-s,d||!(o>0)){if(o/=d,d<0){if(o<c)return;o<l&&(l=o)}else if(d>0){if(o>l)return;o>c&&(c=o)}if(o=i-s,d||!(o<0)){if(o/=d,d<0){if(o>l)return;o>c&&(c=o)}else if(d>0){if(o<c)return;o<l&&(l=o)}if(o=r-u,f||!(o>0)){if(o/=f,f<0){if(o<c)return;o<l&&(l=o)}else if(f>0){if(o>l)return;o>c&&(c=o)}if(o=a-u,f||!(o<0)){if(o/=f,f<0){if(o>l)return;o>c&&(c=o)}else if(f>0){if(o<c)return;o<l&&(l=o)}return c>0&&(t[0]=s+c*d,t[1]=u+c*f),l<1&&(e[0]=s+l*d,e[1]=u+l*f),!0}}}}},Ac=1e9,Cc=-Ac;function jc(t,e,n,r){function i(i,a){return t<=i&&i<=n&&e<=a&&a<=r}function a(i,a,s,c){var l=0,d=0;if(null==i||(l=o(i,s))!==(d=o(a,s))||u(i,a)<0^s>0)do{c.point(0===l||3===l?t:n,l>1?r:e)}while((l=(l+s+4)%4)!==d);else c.point(a[0],a[1])}function o(r,i){return ks(r[0]-t)<ps?i>0?0:3:ks(r[0]-n)<ps?i>0?2:1:ks(r[1]-e)<ps?i>0?1:0:i>0?3:2}function s(t,e){return u(t.x,e.x)}function u(t,e){var n=o(t,1),r=o(e,1);return n!==r?n-r:0===n?e[1]-t[1]:1===n?t[0]-e[0]:2===n?t[1]-e[1]:e[0]-t[0]}return function(o){var u,c,l,d,f,h,_,p,m,y,g,v=o,M=gc(),b={point:k,lineStart:function(){b.point=L,c&&c.push(l=[]);y=!0,m=!1,_=p=NaN},lineEnd:function(){u&&(L(d,f),h&&m&&M.rejoin(),u.push(M.result()));b.point=k,m&&v.lineEnd()},polygonStart:function(){v=M,u=[],c=[],g=!0},polygonEnd:function(){var e=function(){for(var e=0,n=0,i=c.length;n<i;++n)for(var a,o,s=c[n],u=1,l=s.length,d=s[0],f=d[0],h=d[1];u<l;++u)a=f,o=h,d=s[u],f=d[0],h=d[1],o<=r?h>r&&(f-a)*(r-o)>(h-o)*(t-a)&&++e:h<=r&&(f-a)*(r-o)<(h-o)*(t-a)&&--e;return e}(),n=g&&e,i=(u=F(u)).length;(n||i)&&(o.polygonStart(),n&&(o.lineStart(),a(null,null,1,o),o.lineEnd()),i&&bc(u,s,e,a,o),o.polygonEnd());v=o,u=c=l=null}};function k(t,e){i(t,e)&&v.point(t,e)}function L(a,o){var s=i(a,o);if(c&&l.push([a,o]),y)d=a,f=o,h=s,y=!1,s&&(v.lineStart(),v.point(a,o));else if(s&&m)v.point(a,o);else{var u=[_=Math.max(Cc,Math.min(Ac,_)),p=Math.max(Cc,Math.min(Ac,p))],M=[a=Math.max(Cc,Math.min(Ac,a)),o=Math.max(Cc,Math.min(Ac,o))];Ec(u,M,t,e,n,r)?(m||(v.lineStart(),v.point(u[0],u[1])),v.point(M[0],M[1]),s||v.lineEnd(),g=!1):s&&(v.lineStart(),v.point(a,o),g=!1)}_=a,p=o,m=s}return b}}var Oc,Hc,Pc,Fc=function(){var t,e,n,r=0,i=0,a=960,o=500;return n={stream:function(n){return t&&e===n?t:t=jc(r,i,a,o)(e=n)},extent:function(s){return arguments.length?(r=+s[0][0],i=+s[0][1],a=+s[1][0],o=+s[1][1],t=e=null,n):[[r,i],[a,o]]}}},Nc=ds(),Bc={sphere:Fs,point:Fs,lineStart:function(){Bc.point=Ic,Bc.lineEnd=Rc},lineEnd:Fs,polygonStart:Fs,polygonEnd:Fs};function Rc(){Bc.point=Bc.lineEnd=Fs}function Ic(t,e){Oc=t*=bs,Hc=Es(e*=bs),Pc=xs(e),Bc.point=zc}function zc(t,e){t*=bs;var n=Es(e*=bs),r=xs(e),i=ks(t-Oc),a=xs(i),o=r*Es(i),s=Pc*n-Hc*r*a,u=Hc*n+Pc*r*a;Nc.add(ws(Cs(o*o+s*s),u)),Oc=t,Hc=n,Pc=r}var Wc=function(t){return Nc.reset(),Gs(t,Bc),+Nc},qc=[null,null],Uc={type:"LineString",coordinates:qc},Vc=function(t,e){return qc[0]=t,qc[1]=e,Wc(Uc)},$c={Feature:function(t,e){return Jc(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,r=-1,i=n.length;++r<i;)if(Jc(n[r].geometry,e))return!0;return!1}},Gc={Sphere:function(){return!0},Point:function(t,e){return Xc(t.coordinates,e)},MultiPoint:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)if(Xc(n[r],e))return!0;return!1},LineString:function(t,e){return Zc(t.coordinates,e)},MultiLineString:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)if(Zc(n[r],e))return!0;return!1},Polygon:function(t,e){return Kc(t.coordinates,e)},MultiPolygon:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)if(Kc(n[r],e))return!0;return!1},GeometryCollection:function(t,e){for(var n=t.geometries,r=-1,i=n.length;++r<i;)if(Jc(n[r],e))return!0;return!1}};function Jc(t,e){return!(!t||!Gc.hasOwnProperty(t.type))&&Gc[t.type](t,e)}function Xc(t,e){return 0===Vc(t,e)}function Zc(t,e){var n=Vc(t[0],t[1]);return Vc(t[0],e)+Vc(e,t[1])<=n+ps}function Kc(t,e){return!!wc(t.map(Qc),tl(e))}function Qc(t){return(t=t.map(tl)).pop(),t}function tl(t){return[t[0]*bs,t[1]*bs]}var el=function(t,e){return(t&&$c.hasOwnProperty(t.type)?$c[t.type]:Jc)(t,e)};function nl(t,e,n){var r=k(t,e-ps,n).concat(e);return function(t){return r.map(function(e){return[t,e]})}}function rl(t,e,n){var r=k(t,e-ps,n).concat(e);return function(t){return r.map(function(e){return[e,t]})}}function il(){var t,e,n,r,i,a,o,s,u,c,l,d,f=10,h=f,_=90,p=360,m=2.5;function y(){return{type:"MultiLineString",coordinates:g()}}function g(){return k(Ts(r/_)*_,n,_).map(l).concat(k(Ts(s/p)*p,o,p).map(d)).concat(k(Ts(e/f)*f,t,f).filter(function(t){return ks(t%_)>ps}).map(u)).concat(k(Ts(a/h)*h,i,h).filter(function(t){return ks(t%p)>ps}).map(c))}return y.lines=function(){return g().map(function(t){return{type:"LineString",coordinates:t}})},y.outline=function(){return{type:"Polygon",coordinates:[l(r).concat(d(o).slice(1),l(n).reverse().slice(1),d(s).reverse().slice(1))]}},y.extent=function(t){return arguments.length?y.extentMajor(t).extentMinor(t):y.extentMinor()},y.extentMajor=function(t){return arguments.length?(r=+t[0][0],n=+t[1][0],s=+t[0][1],o=+t[1][1],r>n&&(t=r,r=n,n=t),s>o&&(t=s,s=o,o=t),y.precision(m)):[[r,s],[n,o]]},y.extentMinor=function(n){return arguments.length?(e=+n[0][0],t=+n[1][0],a=+n[0][1],i=+n[1][1],e>t&&(n=e,e=t,t=n),a>i&&(n=a,a=i,i=n),y.precision(m)):[[e,a],[t,i]]},y.step=function(t){return arguments.length?y.stepMajor(t).stepMinor(t):y.stepMinor()},y.stepMajor=function(t){return arguments.length?(_=+t[0],p=+t[1],y):[_,p]},y.stepMinor=function(t){return arguments.length?(f=+t[0],h=+t[1],y):[f,h]},y.precision=function(f){return arguments.length?(m=+f,u=nl(a,i,90),c=rl(e,t,m),l=nl(s,o,90),d=rl(r,n,m),y):m},y.extentMajor([[-180,-90+ps],[180,90-ps]]).extentMinor([[-180,-80-ps],[180,80+ps]])}function al(){return il()()}var ol,sl,ul,cl,ll=function(t,e){var n=t[0]*bs,r=t[1]*bs,i=e[0]*bs,a=e[1]*bs,o=xs(r),s=Es(r),u=xs(a),c=Es(a),l=o*xs(n),d=o*Es(n),f=u*xs(i),h=u*Es(i),_=2*Hs(Cs(Ps(a-r)+o*u*Ps(i-n))),p=Es(_),m=_?function(t){var e=Es(t*=_)/p,n=Es(_-t)/p,r=n*l+e*f,i=n*d+e*h,a=n*s+e*c;return[ws(i,r)*Ms,ws(a,Cs(r*r+i*i))*Ms]}:function(){return[n*Ms,r*Ms]};return m.distance=_,m},dl=function(t){return t},fl=ds(),hl=ds(),_l={point:Fs,lineStart:Fs,lineEnd:Fs,polygonStart:function(){_l.lineStart=pl,_l.lineEnd=gl},polygonEnd:function(){_l.lineStart=_l.lineEnd=_l.point=Fs,fl.add(ks(hl)),hl.reset()},result:function(){var t=fl/2;return fl.reset(),t}};function pl(){_l.point=ml}function ml(t,e){_l.point=yl,ol=ul=t,sl=cl=e}function yl(t,e){hl.add(cl*t-ul*e),ul=t,cl=e}function gl(){yl(ol,sl)}var vl=_l,Ml=1/0,bl=Ml,kl=-Ml,Ll=kl;var wl,xl,Tl,Dl,Yl={point:function(t,e){t<Ml&&(Ml=t);t>kl&&(kl=t);e<bl&&(bl=e);e>Ll&&(Ll=e)},lineStart:Fs,lineEnd:Fs,polygonStart:Fs,polygonEnd:Fs,result:function(){var t=[[Ml,bl],[kl,Ll]];return kl=Ll=-(bl=Ml=1/0),t}},Sl=0,El=0,Al=0,Cl=0,jl=0,Ol=0,Hl=0,Pl=0,Fl=0,Nl={point:Bl,lineStart:Rl,lineEnd:Wl,polygonStart:function(){Nl.lineStart=ql,Nl.lineEnd=Ul},polygonEnd:function(){Nl.point=Bl,Nl.lineStart=Rl,Nl.lineEnd=Wl},result:function(){var t=Fl?[Hl/Fl,Pl/Fl]:Ol?[Cl/Ol,jl/Ol]:Al?[Sl/Al,El/Al]:[NaN,NaN];return Sl=El=Al=Cl=jl=Ol=Hl=Pl=Fl=0,t}};function Bl(t,e){Sl+=t,El+=e,++Al}function Rl(){Nl.point=Il}function Il(t,e){Nl.point=zl,Bl(Tl=t,Dl=e)}function zl(t,e){var n=t-Tl,r=e-Dl,i=Cs(n*n+r*r);Cl+=i*(Tl+t)/2,jl+=i*(Dl+e)/2,Ol+=i,Bl(Tl=t,Dl=e)}function Wl(){Nl.point=Bl}function ql(){Nl.point=Vl}function Ul(){$l(wl,xl)}function Vl(t,e){Nl.point=$l,Bl(wl=Tl=t,xl=Dl=e)}function $l(t,e){var n=t-Tl,r=e-Dl,i=Cs(n*n+r*r);Cl+=i*(Tl+t)/2,jl+=i*(Dl+e)/2,Ol+=i,Hl+=(i=Dl*t-Tl*e)*(Tl+t),Pl+=i*(Dl+e),Fl+=3*i,Bl(Tl=t,Dl=e)}var Gl=Nl;function Jl(t){this._context=t}Jl.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,e){switch(this._point){case 0:this._context.moveTo(t,e),this._point=1;break;case 1:this._context.lineTo(t,e);break;default:this._context.moveTo(t+this._radius,e),this._context.arc(t,e,this._radius,0,vs)}},result:Fs};var Xl,Zl,Kl,Ql,td,ed=ds(),nd={point:Fs,lineStart:function(){nd.point=rd},lineEnd:function(){Xl&&id(Zl,Kl),nd.point=Fs},polygonStart:function(){Xl=!0},polygonEnd:function(){Xl=null},result:function(){var t=+ed;return ed.reset(),t}};function rd(t,e){nd.point=id,Zl=Ql=t,Kl=td=e}function id(t,e){Ql-=t,td-=e,ed.add(Cs(Ql*Ql+td*td)),Ql=t,td=e}var ad=nd;function od(){this._string=[]}function sd(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}od.prototype={_radius:4.5,_circle:sd(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,e){switch(this._point){case 0:this._string.push("M",t,",",e),this._point=1;break;case 1:this._string.push("L",t,",",e);break;default:null==this._circle&&(this._circle=sd(this._radius)),this._string.push("M",t,",",e,this._circle)}},result:function(){if(this._string.length){var t=this._string.join("");return this._string=[],t}return null}};var ud=function(t,e){var n,r,i=4.5;function a(t){return t&&("function"==typeof i&&r.pointRadius(+i.apply(this,arguments)),Gs(t,n(r))),r.result()}return a.area=function(t){return Gs(t,n(vl)),vl.result()},a.measure=function(t){return Gs(t,n(ad)),ad.result()},a.bounds=function(t){return Gs(t,n(Yl)),Yl.result()},a.centroid=function(t){return Gs(t,n(Gl)),Gl.result()},a.projection=function(e){return arguments.length?(n=null==e?(t=null,dl):(t=e).stream,a):t},a.context=function(t){return arguments.length?(r=null==t?(e=null,new od):new Jl(e=t),"function"!=typeof i&&r.pointRadius(i),a):e},a.pointRadius=function(t){return arguments.length?(i="function"==typeof t?t:(r.pointRadius(+t),+t),a):i},a.projection(t).context(e)},cd=function(t){return{stream:ld(t)}};function ld(t){return function(e){var n=new dd;for(var r in t)n[r]=t[r];return n.stream=e,n}}function dd(){}function fd(t,e,n){var r=t.clipExtent&&t.clipExtent();return t.scale(150).translate([0,0]),null!=r&&t.clipExtent(null),Gs(n,t.stream(Yl)),e(Yl.result()),null!=r&&t.clipExtent(r),t}function hd(t,e,n){return fd(t,function(n){var r=e[1][0]-e[0][0],i=e[1][1]-e[0][1],a=Math.min(r/(n[1][0]-n[0][0]),i/(n[1][1]-n[0][1])),o=+e[0][0]+(r-a*(n[1][0]+n[0][0]))/2,s=+e[0][1]+(i-a*(n[1][1]+n[0][1]))/2;t.scale(150*a).translate([o,s])},n)}function _d(t,e,n){return hd(t,[[0,0],e],n)}function pd(t,e,n){return fd(t,function(n){var r=+e,i=r/(n[1][0]-n[0][0]),a=(r-i*(n[1][0]+n[0][0]))/2,o=-i*n[0][1];t.scale(150*i).translate([a,o])},n)}function md(t,e,n){return fd(t,function(n){var r=+e,i=r/(n[1][1]-n[0][1]),a=-i*n[0][0],o=(r-i*(n[1][1]+n[0][1]))/2;t.scale(150*i).translate([a,o])},n)}dd.prototype={constructor:dd,point:function(t,e){this.stream.point(t,e)},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 yd=16,gd=xs(30*bs),vd=function(t,e){return+e?function(t,e){function n(r,i,a,o,s,u,c,l,d,f,h,_,p,m){var y=c-r,g=l-i,v=y*y+g*g;if(v>4*e&&p--){var M=o+f,b=s+h,k=u+_,L=Cs(M*M+b*b+k*k),w=Hs(k/=L),x=ks(ks(k)-1)<ps||ks(a-d)<ps?(a+d)/2:ws(b,M),T=t(x,w),D=T[0],Y=T[1],S=D-r,E=Y-i,A=g*S-y*E;(A*A/v>e||ks((y*S+g*E)/v-.5)>.3||o*f+s*h+u*_<gd)&&(n(r,i,a,o,s,u,D,Y,x,M/=L,b/=L,k,p,m),m.point(D,Y),n(D,Y,x,M,b,k,c,l,d,f,h,_,p,m))}}return function(e){var r,i,a,o,s,u,c,l,d,f,h,_,p={point:m,lineStart:y,lineEnd:v,polygonStart:function(){e.polygonStart(),p.lineStart=M},polygonEnd:function(){e.polygonEnd(),p.lineStart=y}};function m(n,r){n=t(n,r),e.point(n[0],n[1])}function y(){l=NaN,p.point=g,e.lineStart()}function g(r,i){var a=iu([r,i]),o=t(r,i);n(l,d,c,f,h,_,l=o[0],d=o[1],c=r,f=a[0],h=a[1],_=a[2],yd,e),e.point(l,d)}function v(){p.point=m,e.lineEnd()}function M(){y(),p.point=b,p.lineEnd=k}function b(t,e){g(r=t,e),i=l,a=d,o=f,s=h,u=_,p.point=g}function k(){n(l,d,c,f,h,_,i,a,r,o,s,u,yd,e),p.lineEnd=v,v()}return p}}(t,e):function(t){return ld({point:function(e,n){e=t(e,n),this.stream.point(e[0],e[1])}})}(t)};var Md=ld({point:function(t,e){this.stream.point(t*bs,e*bs)}});function bd(t){return kd(function(){return t})()}function kd(t){var e,n,r,i,a,o,s,u,c,l,d=150,f=480,h=250,_=0,p=0,m=0,y=0,g=0,v=null,M=Yc,b=null,k=dl,L=.5,w=vd(D,L);function x(t){return[(t=a(t[0]*bs,t[1]*bs))[0]*d+n,r-t[1]*d]}function T(t){return(t=a.invert((t[0]-n)/d,(r-t[1])/d))&&[t[0]*Ms,t[1]*Ms]}function D(t,i){return[(t=e(t,i))[0]*d+n,r-t[1]*d]}function Y(){a=uc(i=lc(m,y,g),e);var t=e(_,p);return n=f-t[0]*d,r=h+t[1]*d,S()}function S(){return c=l=null,x}return x.stream=function(t){return c&&l===t?c:c=Md(function(t){return ld({point:function(e,n){var r=t(e,n);return this.stream.point(r[0],r[1])}})}(i)(M(w(k(l=t)))))},x.preclip=function(t){return arguments.length?(M=t,v=void 0,S()):M},x.postclip=function(t){return arguments.length?(k=t,b=o=s=u=null,S()):k},x.clipAngle=function(t){return arguments.length?(M=+t?Sc(v=t*bs):(v=null,Yc),S()):v*Ms},x.clipExtent=function(t){return arguments.length?(k=null==t?(b=o=s=u=null,dl):jc(b=+t[0][0],o=+t[0][1],s=+t[1][0],u=+t[1][1]),S()):null==b?null:[[b,o],[s,u]]},x.scale=function(t){return arguments.length?(d=+t,Y()):d},x.translate=function(t){return arguments.length?(f=+t[0],h=+t[1],Y()):[f,h]},x.center=function(t){return arguments.length?(_=t[0]%360*bs,p=t[1]%360*bs,Y()):[_*Ms,p*Ms]},x.rotate=function(t){return arguments.length?(m=t[0]%360*bs,y=t[1]%360*bs,g=t.length>2?t[2]%360*bs:0,Y()):[m*Ms,y*Ms,g*Ms]},x.precision=function(t){return arguments.length?(w=vd(D,L=t*t),S()):Cs(L)},x.fitExtent=function(t,e){return hd(x,t,e)},x.fitSize=function(t,e){return _d(x,t,e)},x.fitWidth=function(t,e){return pd(x,t,e)},x.fitHeight=function(t,e){return md(x,t,e)},function(){return e=t.apply(this,arguments),x.invert=e.invert&&T,Y()}}function Ld(t){var e=0,n=ms/3,r=kd(t),i=r(e,n);return i.parallels=function(t){return arguments.length?r(e=t[0]*bs,n=t[1]*bs):[e*Ms,n*Ms]},i}function wd(t,e){var n=Es(t),r=(n+Es(e))/2;if(ks(r)<ps)return function(t){var e=xs(t);function n(t,n){return[t*e,Es(n)/e]}return n.invert=function(t,n){return[t/e,Hs(n*e)]},n}(t);var i=1+n*(2*r-n),a=Cs(i)/r;function o(t,e){var n=Cs(i-2*r*Es(e))/r;return[n*Es(t*=r),a-n*xs(t)]}return o.invert=function(t,e){var n=a-e;return[ws(t,ks(n))/r*As(n),Hs((i-(t*t+n*n)*r*r)/(2*r))]},o}var xd=function(){return Ld(wd).scale(155.424).center([0,33.6442])},Td=function(){return xd().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])};var Dd=function(){var t,e,n,r,i,a,o=Td(),s=xd().rotate([154,0]).center([-2,58.5]).parallels([55,65]),u=xd().rotate([157,0]).center([-3,19.9]).parallels([8,18]),c={point:function(t,e){a=[t,e]}};function l(t){var e=t[0],o=t[1];return a=null,n.point(e,o),a||(r.point(e,o),a)||(i.point(e,o),a)}function d(){return t=e=null,l}return l.invert=function(t){var e=o.scale(),n=o.translate(),r=(t[0]-n[0])/e,i=(t[1]-n[1])/e;return(i>=.12&&i<.234&&r>=-.425&&r<-.214?s:i>=.166&&i<.234&&r>=-.214&&r<-.115?u:o).invert(t)},l.stream=function(n){return t&&e===n?t:(r=[o.stream(e=n),s.stream(n),u.stream(n)],i=r.length,t={point:function(t,e){for(var n=-1;++n<i;)r[n].point(t,e)},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},l.precision=function(t){return arguments.length?(o.precision(t),s.precision(t),u.precision(t),d()):o.precision()},l.scale=function(t){return arguments.length?(o.scale(t),s.scale(.35*t),u.scale(t),l.translate(o.translate())):o.scale()},l.translate=function(t){if(!arguments.length)return o.translate();var e=o.scale(),a=+t[0],l=+t[1];return n=o.translate(t).clipExtent([[a-.455*e,l-.238*e],[a+.455*e,l+.238*e]]).stream(c),r=s.translate([a-.307*e,l+.201*e]).clipExtent([[a-.425*e+ps,l+.12*e+ps],[a-.214*e-ps,l+.234*e-ps]]).stream(c),i=u.translate([a-.205*e,l+.212*e]).clipExtent([[a-.214*e+ps,l+.166*e+ps],[a-.115*e-ps,l+.234*e-ps]]).stream(c),d()},l.fitExtent=function(t,e){return hd(l,t,e)},l.fitSize=function(t,e){return _d(l,t,e)},l.fitWidth=function(t,e){return pd(l,t,e)},l.fitHeight=function(t,e){return md(l,t,e)},l.scale(1070)};function Yd(t){return function(e,n){var r=xs(e),i=xs(n),a=t(r*i);return[a*i*Es(e),a*Es(n)]}}function Sd(t){return function(e,n){var r=Cs(e*e+n*n),i=t(r),a=Es(i),o=xs(i);return[ws(e*a,r*o),Hs(r&&n*a/r)]}}var Ed=Yd(function(t){return Cs(2/(1+t))});Ed.invert=Sd(function(t){return 2*Hs(t/2)});var Ad=function(){return bd(Ed).scale(124.75).clipAngle(179.999)},Cd=Yd(function(t){return(t=Os(t))&&t/Es(t)});Cd.invert=Sd(function(t){return t});var jd=function(){return bd(Cd).scale(79.4188).clipAngle(179.999)};function Od(t,e){return[t,Ys(js((ys+e)/2))]}Od.invert=function(t,e){return[t,2*Ls(Ds(e))-ys]};var Hd=function(){return Pd(Od).scale(961/vs)};function Pd(t){var e,n,r,i=bd(t),a=i.center,o=i.scale,s=i.translate,u=i.clipExtent,c=null;function l(){var a=ms*o(),s=i(_c(i.rotate()).invert([0,0]));return u(null==c?[[s[0]-a,s[1]-a],[s[0]+a,s[1]+a]]:t===Od?[[Math.max(s[0]-a,c),e],[Math.min(s[0]+a,n),r]]:[[c,Math.max(s[1]-a,e)],[n,Math.min(s[1]+a,r)]])}return i.scale=function(t){return arguments.length?(o(t),l()):o()},i.translate=function(t){return arguments.length?(s(t),l()):s()},i.center=function(t){return arguments.length?(a(t),l()):a()},i.clipExtent=function(t){return arguments.length?(null==t?c=e=n=r=null:(c=+t[0][0],e=+t[0][1],n=+t[1][0],r=+t[1][1]),l()):null==c?null:[[c,e],[n,r]]},l()}function Fd(t){return js((ys+t)/2)}function Nd(t,e){var n=xs(t),r=t===e?Es(t):Ys(n/xs(e))/Ys(Fd(e)/Fd(t)),i=n*Ss(Fd(t),r)/r;if(!r)return Od;function a(t,e){i>0?e<-ys+ps&&(e=-ys+ps):e>ys-ps&&(e=ys-ps);var n=i/Ss(Fd(e),r);return[n*Es(r*t),i-n*xs(r*t)]}return a.invert=function(t,e){var n=i-e,a=As(r)*Cs(t*t+n*n);return[ws(t,ks(n))/r*As(n),2*Ls(Ss(i/a,1/r))-ys]},a}var Bd=function(){return Ld(Nd).scale(109.5).parallels([30,30])};function Rd(t,e){return[t,e]}Rd.invert=Rd;var Id=function(){return bd(Rd).scale(152.63)};function zd(t,e){var n=xs(t),r=t===e?Es(t):(n-xs(e))/(e-t),i=n/r+t;if(ks(r)<ps)return Rd;function a(t,e){var n=i-e,a=r*t;return[n*Es(a),i-n*xs(a)]}return a.invert=function(t,e){var n=i-e;return[ws(t,ks(n))/r*As(n),i-As(r)*Cs(t*t+n*n)]},a}var Wd=function(){return Ld(zd).scale(131.154).center([0,13.9389])};function qd(t,e){var n=xs(e),r=xs(t)*n;return[n*Es(t)/r,Es(e)/r]}qd.invert=Sd(Ls);var Ud=function(){return bd(qd).scale(144.049).clipAngle(60)};function Vd(t,e,n,r){return 1===t&&1===e&&0===n&&0===r?dl:ld({point:function(i,a){this.stream.point(i*t+n,a*e+r)}})}var $d=function(){var t,e,n,r,i,a,o=1,s=0,u=0,c=1,l=1,d=dl,f=null,h=dl;function _(){return r=i=null,a}return a={stream:function(t){return r&&i===t?r:r=d(h(i=t))},postclip:function(r){return arguments.length?(h=r,f=t=e=n=null,_()):h},clipExtent:function(r){return arguments.length?(h=null==r?(f=t=e=n=null,dl):jc(f=+r[0][0],t=+r[0][1],e=+r[1][0],n=+r[1][1]),_()):null==f?null:[[f,t],[e,n]]},scale:function(t){return arguments.length?(d=Vd((o=+t)*c,o*l,s,u),_()):o},translate:function(t){return arguments.length?(d=Vd(o*c,o*l,s=+t[0],u=+t[1]),_()):[s,u]},reflectX:function(t){return arguments.length?(d=Vd(o*(c=t?-1:1),o*l,s,u),_()):c<0},reflectY:function(t){return arguments.length?(d=Vd(o*c,o*(l=t?-1:1),s,u),_()):l<0},fitExtent:function(t,e){return hd(a,t,e)},fitSize:function(t,e){return _d(a,t,e)},fitWidth:function(t,e){return pd(a,t,e)},fitHeight:function(t,e){return md(a,t,e)}}};function Gd(t,e){var n=e*e,r=n*n;return[t*(.8707-.131979*n+r*(r*(.003971*n-.001529*r)-.013791)),e*(1.007226+n*(.015085+r*(.028874*n-.044475-.005916*r)))]}Gd.invert=function(t,e){var n,r=e,i=25;do{var a=r*r,o=a*a;r-=n=(r*(1.007226+a*(.015085+o*(.028874*a-.044475-.005916*o)))-e)/(1.007226+a*(.045255+o*(.259866*a-.311325-.005916*11*o)))}while(ks(n)>ps&&--i>0);return[t/(.8707+(a=r*r)*(a*(a*a*a*(.003971-.001529*a)-.013791)-.131979)),r]};var Jd=function(){return bd(Gd).scale(175.295)};function Xd(t,e){return[xs(e)*Es(t),Es(e)]}Xd.invert=Sd(Hs);var Zd=function(){return bd(Xd).scale(249.5).clipAngle(90+ps)};function Kd(t,e){var n=xs(e),r=1+xs(t)*n;return[n*Es(t)/r,Es(e)/r]}Kd.invert=Sd(function(t){return 2*Ls(t)});var Qd=function(){return bd(Kd).scale(250).clipAngle(142)};function tf(t,e){return[Ys(js((ys+e)/2)),-t]}tf.invert=function(t,e){return[-e,2*Ls(Ds(t))-ys]};var ef=function(){var t=Pd(tf),e=t.center,n=t.rotate;return t.center=function(t){return arguments.length?e([-t[1],t[0]]):[(t=e())[1],-t[0]]},t.rotate=function(t){return arguments.length?n([t[0],t[1],t.length>2?t[2]+90:90]):[(t=n())[0],t[1],t[2]-90]},n([0,0,90]).scale(159.155)};function nf(t,e){return t.parent===e.parent?1:2}function rf(t,e){return t+e.x}function af(t,e){return Math.max(t,e.y)}var of=function(){var t=nf,e=1,n=1,r=!1;function i(i){var a,o=0;i.eachAfter(function(e){var n=e.children;n?(e.x=function(t){return t.reduce(rf,0)/t.length}(n),e.y=function(t){return 1+t.reduce(af,0)}(n)):(e.x=a?o+=t(e,a):0,e.y=0,a=e)});var s=function(t){for(var e;e=t.children;)t=e[0];return t}(i),u=function(t){for(var e;e=t.children;)t=e[e.length-1];return t}(i),c=s.x-t(s,u)/2,l=u.x+t(u,s)/2;return i.eachAfter(r?function(t){t.x=(t.x-i.x)*e,t.y=(i.y-t.y)*n}:function(t){t.x=(t.x-c)/(l-c)*e,t.y=(1-(i.y?t.y/i.y:1))*n})}return i.separation=function(e){return arguments.length?(t=e,i):t},i.size=function(t){return arguments.length?(r=!1,e=+t[0],n=+t[1],i):r?null:[e,n]},i.nodeSize=function(t){return arguments.length?(r=!0,e=+t[0],n=+t[1],i):r?[e,n]:null},i};function sf(t){var e=0,n=t.children,r=n&&n.length;if(r)for(;--r>=0;)e+=n[r].value;else e=1;t.value=e}function uf(t,e){var n,r,i,a,o,s=new ff(t),u=+t.value&&(s.value=t.value),c=[s];for(null==e&&(e=cf);n=c.pop();)if(u&&(n.value=+n.data.value),(i=e(n.data))&&(o=i.length))for(n.children=new Array(o),a=o-1;a>=0;--a)c.push(r=n.children[a]=new ff(i[a])),r.parent=n,r.depth=n.depth+1;return s.eachBefore(df)}function cf(t){return t.children}function lf(t){t.data=t.data.data}function df(t){var e=0;do{t.height=e}while((t=t.parent)&&t.height<++e)}function ff(t){this.data=t,this.depth=this.height=0,this.parent=null}ff.prototype=uf.prototype={constructor:ff,count:function(){return this.eachAfter(sf)},each:function(t){var e,n,r,i,a=this,o=[a];do{for(e=o.reverse(),o=[];a=e.pop();)if(t(a),n=a.children)for(r=0,i=n.length;r<i;++r)o.push(n[r])}while(o.length);return this},eachAfter:function(t){for(var e,n,r,i=this,a=[i],o=[];i=a.pop();)if(o.push(i),e=i.children)for(n=0,r=e.length;n<r;++n)a.push(e[n]);for(;i=o.pop();)t(i);return this},eachBefore:function(t){for(var e,n,r=this,i=[r];r=i.pop();)if(t(r),e=r.children)for(n=e.length-1;n>=0;--n)i.push(e[n]);return this},sum:function(t){return this.eachAfter(function(e){for(var n=+t(e.data)||0,r=e.children,i=r&&r.length;--i>=0;)n+=r[i].value;e.value=n})},sort:function(t){return this.eachBefore(function(e){e.children&&e.children.sort(t)})},path:function(t){for(var e=this,n=function(t,e){if(t===e)return t;var n=t.ancestors(),r=e.ancestors(),i=null;for(t=n.pop(),e=r.pop();t===e;)i=t,t=n.pop(),e=r.pop();return i}(e,t),r=[e];e!==n;)e=e.parent,r.push(e);for(var i=r.length;t!==n;)r.splice(i,0,t),t=t.parent;return r},ancestors:function(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e},descendants:function(){var t=[];return this.each(function(e){t.push(e)}),t},leaves:function(){var t=[];return this.eachBefore(function(e){e.children||t.push(e)}),t},links:function(){var t=this,e=[];return t.each(function(n){n!==t&&e.push({source:n.parent,target:n})}),e},copy:function(){return uf(this).eachBefore(lf)}};var hf=Array.prototype.slice;var _f=function(t){for(var e,n,r=0,i=(t=function(t){for(var e,n,r=t.length;r;)n=Math.random()*r--|0,e=t[r],t[r]=t[n],t[n]=e;return t}(hf.call(t))).length,a=[];r<i;)e=t[r],n&&yf(n,e)?++r:(n=vf(a=pf(a,e)),r=0);return n};function pf(t,e){var n,r;if(gf(e,t))return[e];for(n=0;n<t.length;++n)if(mf(e,t[n])&&gf(Mf(t[n],e),t))return[t[n],e];for(n=0;n<t.length-1;++n)for(r=n+1;r<t.length;++r)if(mf(Mf(t[n],t[r]),e)&&mf(Mf(t[n],e),t[r])&&mf(Mf(t[r],e),t[n])&&gf(bf(t[n],t[r],e),t))return[t[n],t[r],e];throw new Error}function mf(t,e){var n=t.r-e.r,r=e.x-t.x,i=e.y-t.y;return n<0||n*n<r*r+i*i}function yf(t,e){var n=t.r-e.r+1e-6,r=e.x-t.x,i=e.y-t.y;return n>0&&n*n>r*r+i*i}function gf(t,e){for(var n=0;n<e.length;++n)if(!yf(t,e[n]))return!1;return!0}function vf(t){switch(t.length){case 1:return{x:(e=t[0]).x,y:e.y,r:e.r};case 2:return Mf(t[0],t[1]);case 3:return bf(t[0],t[1],t[2])}var e}function Mf(t,e){var n=t.x,r=t.y,i=t.r,a=e.x,o=e.y,s=e.r,u=a-n,c=o-r,l=s-i,d=Math.sqrt(u*u+c*c);return{x:(n+a+u/d*l)/2,y:(r+o+c/d*l)/2,r:(d+i+s)/2}}function bf(t,e,n){var r=t.x,i=t.y,a=t.r,o=e.x,s=e.y,u=e.r,c=n.x,l=n.y,d=n.r,f=r-o,h=r-c,_=i-s,p=i-l,m=u-a,y=d-a,g=r*r+i*i-a*a,v=g-o*o-s*s+u*u,M=g-c*c-l*l+d*d,b=h*_-f*p,k=(_*M-p*v)/(2*b)-r,L=(p*m-_*y)/b,w=(h*v-f*M)/(2*b)-i,x=(f*y-h*m)/b,T=L*L+x*x-1,D=2*(a+k*L+w*x),Y=k*k+w*w-a*a,S=-(T?(D+Math.sqrt(D*D-4*T*Y))/(2*T):Y/D);return{x:r+k+L*S,y:i+w+x*S,r:S}}function kf(t,e,n){var r=t.x,i=t.y,a=e.r+n.r,o=t.r+n.r,s=e.x-r,u=e.y-i,c=s*s+u*u;if(c){var l=.5+((o*=o)-(a*=a))/(2*c),d=Math.sqrt(Math.max(0,2*a*(o+c)-(o-=c)*o-a*a))/(2*c);n.x=r+l*s+d*u,n.y=i+l*u-d*s}else n.x=r+o,n.y=i}function Lf(t,e){var n=e.x-t.x,r=e.y-t.y,i=t.r+e.r;return i*i-1e-6>n*n+r*r}function wf(t){var e=t._,n=t.next._,r=e.r+n.r,i=(e.x*n.r+n.x*e.r)/r,a=(e.y*n.r+n.y*e.r)/r;return i*i+a*a}function xf(t){this._=t,this.next=null,this.previous=null}function Tf(t){if(!(i=t.length))return 0;var e,n,r,i,a,o,s,u,c,l,d;if((e=t[0]).x=0,e.y=0,!(i>1))return e.r;if(n=t[1],e.x=-n.r,n.x=e.r,n.y=0,!(i>2))return e.r+n.r;kf(n,e,r=t[2]),e=new xf(e),n=new xf(n),r=new xf(r),e.next=r.previous=n,n.next=e.previous=r,r.next=n.previous=e;t:for(s=3;s<i;++s){kf(e._,n._,r=t[s]),r=new xf(r),u=n.next,c=e.previous,l=n._.r,d=e._.r;do{if(l<=d){if(Lf(u._,r._)){n=u,e.next=n,n.previous=e,--s;continue t}l+=u._.r,u=u.next}else{if(Lf(c._,r._)){(e=c).next=n,n.previous=e,--s;continue t}d+=c._.r,c=c.previous}}while(u!==c.next);for(r.previous=e,r.next=n,e.next=n.previous=n=r,a=wf(e);(r=r.next)!==n;)(o=wf(r))<a&&(e=r,a=o);n=e.next}for(e=[n._],r=n;(r=r.next)!==n;)e.push(r._);for(r=_f(e),s=0;s<i;++s)(e=t[s]).x-=r.x,e.y-=r.y;return r.r}var Df=function(t){return Tf(t),t};function Yf(t){if("function"!=typeof t)throw new Error;return t}function Sf(){return 0}var Ef=function(t){return function(){return t}};function Af(t){return Math.sqrt(t.value)}var Cf=function(){var t=null,e=1,n=1,r=Sf;function i(i){return i.x=e/2,i.y=n/2,t?i.eachBefore(jf(t)).eachAfter(Of(r,.5)).eachBefore(Hf(1)):i.eachBefore(jf(Af)).eachAfter(Of(Sf,1)).eachAfter(Of(r,i.r/Math.min(e,n))).eachBefore(Hf(Math.min(e,n)/(2*i.r))),i}return i.radius=function(e){return arguments.length?(t=null==(n=e)?null:Yf(n),i):t;var n},i.size=function(t){return arguments.length?(e=+t[0],n=+t[1],i):[e,n]},i.padding=function(t){return arguments.length?(r="function"==typeof t?t:Ef(+t),i):r},i};function jf(t){return function(e){e.children||(e.r=Math.max(0,+t(e)||0))}}function Of(t,e){return function(n){if(r=n.children){var r,i,a,o=r.length,s=t(n)*e||0;if(s)for(i=0;i<o;++i)r[i].r+=s;if(a=Tf(r),s)for(i=0;i<o;++i)r[i].r-=s;n.r=a+s}}}function Hf(t){return function(e){var n=e.parent;e.r*=t,n&&(e.x=n.x+t*e.x,e.y=n.y+t*e.y)}}var Pf=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)},Ff=function(t,e,n,r,i){for(var a,o=t.children,s=-1,u=o.length,c=t.value&&(r-e)/t.value;++s<u;)(a=o[s]).y0=n,a.y1=i,a.x0=e,a.x1=e+=a.value*c},Nf=function(){var t=1,e=1,n=0,r=!1;function i(i){var a=i.height+1;return i.x0=i.y0=n,i.x1=t,i.y1=e/a,i.eachBefore(function(t,e){return function(r){r.children&&Ff(r,r.x0,t*(r.depth+1)/e,r.x1,t*(r.depth+2)/e);var i=r.x0,a=r.y0,o=r.x1-n,s=r.y1-n;o<i&&(i=o=(i+o)/2),s<a&&(a=s=(a+s)/2),r.x0=i,r.y0=a,r.x1=o,r.y1=s}}(e,a)),r&&i.eachBefore(Pf),i}return i.round=function(t){return arguments.length?(r=!!t,i):r},i.size=function(n){return arguments.length?(t=+n[0],e=+n[1],i):[t,e]},i.padding=function(t){return arguments.length?(n=+t,i):n},i},Bf="$",Rf={depth:-1},If={};function zf(t){return t.id}function Wf(t){return t.parentId}var qf=function(){var t=zf,e=Wf;function n(n){var r,i,a,o,s,u,c,l=n.length,d=new Array(l),f={};for(i=0;i<l;++i)r=n[i],s=d[i]=new ff(r),null!=(u=t(r,i,n))&&(u+="")&&(f[c=Bf+(s.id=u)]=c in f?If:s);for(i=0;i<l;++i)if(s=d[i],null!=(u=e(n[i],i,n))&&(u+="")){if(!(o=f[Bf+u]))throw new Error("missing: "+u);if(o===If)throw new Error("ambiguous: "+u);o.children?o.children.push(s):o.children=[s],s.parent=o}else{if(a)throw new Error("multiple roots");a=s}if(!a)throw new Error("no root");if(a.parent=Rf,a.eachBefore(function(t){t.depth=t.parent.depth+1,--l}).eachBefore(df),a.parent=null,l>0)throw new Error("cycle");return a}return n.id=function(e){return arguments.length?(t=Yf(e),n):t},n.parentId=function(t){return arguments.length?(e=Yf(t),n):e},n};function Uf(t,e){return t.parent===e.parent?1:2}function Vf(t){var e=t.children;return e?e[0]:t.t}function $f(t){var e=t.children;return e?e[e.length-1]:t.t}function Gf(t,e,n){var r=n/(e.i-t.i);e.c-=r,e.s+=n,t.c+=r,e.z+=n,e.m+=n}function Jf(t,e,n){return t.a.parent===e.parent?t.a:n}function Xf(t,e){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=e}Xf.prototype=Object.create(ff.prototype);var Zf=function(){var t=Uf,e=1,n=1,r=null;function i(i){var u=function(t){for(var e,n,r,i,a,o=new Xf(t,0),s=[o];e=s.pop();)if(r=e._.children)for(e.children=new Array(a=r.length),i=a-1;i>=0;--i)s.push(n=e.children[i]=new Xf(r[i],i)),n.parent=e;return(o.parent=new Xf(null,0)).children=[o],o}(i);if(u.eachAfter(a),u.parent.m=-u.z,u.eachBefore(o),r)i.eachBefore(s);else{var c=i,l=i,d=i;i.eachBefore(function(t){t.x<c.x&&(c=t),t.x>l.x&&(l=t),t.depth>d.depth&&(d=t)});var f=c===l?1:t(c,l)/2,h=f-c.x,_=e/(l.x+f+h),p=n/(d.depth||1);i.eachBefore(function(t){t.x=(t.x+h)*_,t.y=t.depth*p})}return i}function a(e){var n=e.children,r=e.parent.children,i=e.i?r[e.i-1]:null;if(n){!function(t){for(var e,n=0,r=0,i=t.children,a=i.length;--a>=0;)(e=i[a]).z+=n,e.m+=n,n+=e.s+(r+=e.c)}(e);var a=(n[0].z+n[n.length-1].z)/2;i?(e.z=i.z+t(e._,i._),e.m=e.z-a):e.z=a}else i&&(e.z=i.z+t(e._,i._));e.parent.A=function(e,n,r){if(n){for(var i,a=e,o=e,s=n,u=a.parent.children[0],c=a.m,l=o.m,d=s.m,f=u.m;s=$f(s),a=Vf(a),s&&a;)u=Vf(u),(o=$f(o)).a=e,(i=s.z+d-a.z-c+t(s._,a._))>0&&(Gf(Jf(s,e,r),e,i),c+=i,l+=i),d+=s.m,c+=a.m,f+=u.m,l+=o.m;s&&!$f(o)&&(o.t=s,o.m+=d-l),a&&!Vf(u)&&(u.t=a,u.m+=c-f,r=e)}return r}(e,i,e.parent.A||r[0])}function o(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function s(t){t.x*=e,t.y=t.depth*n}return i.separation=function(e){return arguments.length?(t=e,i):t},i.size=function(t){return arguments.length?(r=!1,e=+t[0],n=+t[1],i):r?null:[e,n]},i.nodeSize=function(t){return arguments.length?(r=!0,e=+t[0],n=+t[1],i):r?[e,n]:null},i},Kf=function(t,e,n,r,i){for(var a,o=t.children,s=-1,u=o.length,c=t.value&&(i-n)/t.value;++s<u;)(a=o[s]).x0=e,a.x1=r,a.y0=n,a.y1=n+=a.value*c},Qf=(1+Math.sqrt(5))/2;function th(t,e,n,r,i,a){for(var o,s,u,c,l,d,f,h,_,p,m,y=[],g=e.children,v=0,M=0,b=g.length,k=e.value;v<b;){u=i-n,c=a-r;do{l=g[M++].value}while(!l&&M<b);for(d=f=l,m=l*l*(p=Math.max(c/u,u/c)/(k*t)),_=Math.max(f/m,m/d);M<b;++M){if(l+=s=g[M].value,s<d&&(d=s),s>f&&(f=s),m=l*l*p,(h=Math.max(f/m,m/d))>_){l-=s;break}_=h}y.push(o={value:l,dice:u<c,children:g.slice(v,M)}),o.dice?Ff(o,n,r,i,k?r+=c*l/k:a):Kf(o,n,r,k?n+=u*l/k:i,a),k-=l,v=M}return y}var eh=function t(e){function n(t,n,r,i,a){th(e,t,n,r,i,a)}return n.ratio=function(e){return t((e=+e)>1?e:1)},n}(Qf),nh=function(){var t=eh,e=!1,n=1,r=1,i=[0],a=Sf,o=Sf,s=Sf,u=Sf,c=Sf;function l(t){return t.x0=t.y0=0,t.x1=n,t.y1=r,t.eachBefore(d),i=[0],e&&t.eachBefore(Pf),t}function d(e){var n=i[e.depth],r=e.x0+n,l=e.y0+n,d=e.x1-n,f=e.y1-n;d<r&&(r=d=(r+d)/2),f<l&&(l=f=(l+f)/2),e.x0=r,e.y0=l,e.x1=d,e.y1=f,e.children&&(n=i[e.depth+1]=a(e)/2,r+=c(e)-n,l+=o(e)-n,d-=s(e)-n,f-=u(e)-n,d<r&&(r=d=(r+d)/2),f<l&&(l=f=(l+f)/2),t(e,r,l,d,f))}return l.round=function(t){return arguments.length?(e=!!t,l):e},l.size=function(t){return arguments.length?(n=+t[0],r=+t[1],l):[n,r]},l.tile=function(e){return arguments.length?(t=Yf(e),l):t},l.padding=function(t){return arguments.length?l.paddingInner(t).paddingOuter(t):l.paddingInner()},l.paddingInner=function(t){return arguments.length?(a="function"==typeof t?t:Ef(+t),l):a},l.paddingOuter=function(t){return arguments.length?l.paddingTop(t).paddingRight(t).paddingBottom(t).paddingLeft(t):l.paddingTop()},l.paddingTop=function(t){return arguments.length?(o="function"==typeof t?t:Ef(+t),l):o},l.paddingRight=function(t){return arguments.length?(s="function"==typeof t?t:Ef(+t),l):s},l.paddingBottom=function(t){return arguments.length?(u="function"==typeof t?t:Ef(+t),l):u},l.paddingLeft=function(t){return arguments.length?(c="function"==typeof t?t:Ef(+t),l):c},l},rh=function(t,e,n,r,i){var a,o,s=t.children,u=s.length,c=new Array(u+1);for(c[0]=o=a=0;a<u;++a)c[a+1]=o+=s[a].value;!function t(e,n,r,i,a,o,u){if(e>=n-1){var l=s[e];return l.x0=i,l.y0=a,l.x1=o,void(l.y1=u)}var d=c[e],f=r/2+d,h=e+1,_=n-1;for(;h<_;){var p=h+_>>>1;c[p]<f?h=p+1:_=p}f-c[h-1]<c[h]-f&&e+1<h&&--h;var m=c[h]-d,y=r-m;if(o-i>u-a){var g=(i*y+o*m)/r;t(e,h,m,i,a,g,u),t(h,n,y,g,a,o,u)}else{var v=(a*y+u*m)/r;t(e,h,m,i,a,o,v),t(h,n,y,i,v,o,u)}}(0,u,t.value,e,n,r,i)},ih=function(t,e,n,r,i){(1&t.depth?Kf:Ff)(t,e,n,r,i)},ah=function t(e){function n(t,n,r,i,a){if((o=t._squarify)&&o.ratio===e)for(var o,s,u,c,l,d=-1,f=o.length,h=t.value;++d<f;){for(u=(s=o[d]).children,c=s.value=0,l=u.length;c<l;++c)s.value+=u[c].value;s.dice?Ff(s,n,r,i,r+=(a-r)*s.value/h):Kf(s,n,r,n+=(i-n)*s.value/h,a),h-=s.value}else t._squarify=o=th(e,t,n,r,i,a),o.ratio=e}return n.ratio=function(e){return t((e=+e)>1?e:1)},n}(Qf),oh=function(t){for(var e,n=-1,r=t.length,i=t[r-1],a=0;++n<r;)e=i,i=t[n],a+=e[1]*i[0]-e[0]*i[1];return a/2},sh=function(t){for(var e,n,r=-1,i=t.length,a=0,o=0,s=t[i-1],u=0;++r<i;)e=s,s=t[r],u+=n=e[0]*s[1]-s[0]*e[1],a+=(e[0]+s[0])*n,o+=(e[1]+s[1])*n;return[a/(u*=3),o/u]},uh=function(t,e,n){return(e[0]-t[0])*(n[1]-t[1])-(e[1]-t[1])*(n[0]-t[0])};function ch(t,e){return t[0]-e[0]||t[1]-e[1]}function lh(t){for(var e=t.length,n=[0,1],r=2,i=2;i<e;++i){for(;r>1&&uh(t[n[r-2]],t[n[r-1]],t[i])<=0;)--r;n[r++]=i}return n.slice(0,r)}var dh=function(t){if((n=t.length)<3)return null;var e,n,r=new Array(n),i=new Array(n);for(e=0;e<n;++e)r[e]=[+t[e][0],+t[e][1],e];for(r.sort(ch),e=0;e<n;++e)i[e]=[r[e][0],-r[e][1]];var a=lh(r),o=lh(i),s=o[0]===a[0],u=o[o.length-1]===a[a.length-1],c=[];for(e=a.length-1;e>=0;--e)c.push(t[r[a[e]][2]]);for(e=+s;e<o.length-u;++e)c.push(t[r[o[e]][2]]);return c},fh=function(t,e){for(var n,r,i=t.length,a=t[i-1],o=e[0],s=e[1],u=a[0],c=a[1],l=!1,d=0;d<i;++d)n=(a=t[d])[0],(r=a[1])>s!=c>s&&o<(u-n)*(s-r)/(c-r)+n&&(l=!l),u=n,c=r;return l},hh=function(t){for(var e,n,r=-1,i=t.length,a=t[i-1],o=a[0],s=a[1],u=0;++r<i;)e=o,n=s,e-=o=(a=t[r])[0],n-=s=a[1],u+=Math.sqrt(e*e+n*n);return u},_h=[].slice,ph={};function mh(t){this._size=t,this._call=this._error=null,this._tasks=[],this._data=[],this._waiting=this._active=this._ended=this._start=0}function yh(t){if(!t._start)try{!function(t){for(;t._start=t._waiting&&t._active<t._size;){var e=t._ended+t._active,n=t._tasks[e],r=n.length-1,i=n[r];n[r]=gh(t,e),--t._waiting,++t._active,n=i.apply(null,n),t._tasks[e]&&(t._tasks[e]=n||ph)}}(t)}catch(e){if(t._tasks[t._ended+t._active-1])vh(t,e);else if(!t._data)throw e}}function gh(t,e){return function(n,r){t._tasks[e]&&(--t._active,++t._ended,t._tasks[e]=null,null==t._error&&(null!=n?vh(t,n):(t._data[e]=r,t._waiting?yh(t):Mh(t))))}}function vh(t,e){var n,r=t._tasks.length;for(t._error=e,t._data=void 0,t._waiting=NaN;--r>=0;)if((n=t._tasks[r])&&(t._tasks[r]=null,n.abort))try{n.abort()}catch(e){}t._active=NaN,Mh(t)}function Mh(t){if(!t._active&&t._call){var e=t._data;t._data=void 0,t._call(t._error,e)}}function bh(t){if(null==t)t=1/0;else if(!((t=+t)>=1))throw new Error("invalid concurrency");return new mh(t)}mh.prototype=bh.prototype={constructor:mh,defer:function(t){if("function"!=typeof t)throw new Error("invalid callback");if(this._call)throw new Error("defer after await");if(null!=this._error)return this;var e=_h.call(arguments,1);return e.push(t),++this._waiting,this._tasks.push(e),yh(this),this},abort:function(){return null==this._error&&vh(this,new Error("abort")),this},await:function(t){if("function"!=typeof t)throw new Error("invalid callback");if(this._call)throw new Error("multiple await");return this._call=function(e,n){t.apply(null,[e].concat(n))},Mh(this),this},awaitAll:function(t){if("function"!=typeof t)throw new Error("invalid callback");if(this._call)throw new Error("multiple await");return this._call=t,Mh(this),this}};var kh=function(){return Math.random()},Lh=function t(e){function n(t,n){return t=null==t?0:+t,n=null==n?1:+n,1===arguments.length?(n=t,t=0):n-=t,function(){return e()*n+t}}return n.source=t,n}(kh),wh=function t(e){function n(t,n){var r,i;return t=null==t?0:+t,n=null==n?1:+n,function(){var a;if(null!=r)a=r,r=null;else do{r=2*e()-1,a=2*e()-1,i=r*r+a*a}while(!i||i>1);return t+n*a*Math.sqrt(-2*Math.log(i)/i)}}return n.source=t,n}(kh),xh=function t(e){function n(){var t=wh.source(e).apply(this,arguments);return function(){return Math.exp(t())}}return n.source=t,n}(kh),Th=function t(e){function n(t){return function(){for(var n=0,r=0;r<t;++r)n+=e();return n}}return n.source=t,n}(kh),Dh=function t(e){function n(t){var n=Th.source(e)(t);return function(){return n()/t}}return n.source=t,n}(kh),Yh=function t(e){function n(t){return function(){return-Math.log(1-e())/t}}return n.source=t,n}(kh),Sh=function(t,e){var n,r,i,a,o=ft("beforesend","progress","load","error"),s=qa(),u=new XMLHttpRequest,c=null,l=null,d=0;function f(t){var e,r=u.status;if(!r&&function(t){var e=t.responseType;return e&&"text"!==e?t.response:t.responseText}(u)||r>=200&&r<300||304===r){if(i)try{e=i.call(n,u)}catch(t){return void o.call("error",n,t)}else e=u;o.call("load",n,e)}else o.call("error",n,t)}if("undefined"==typeof XDomainRequest||"withCredentials"in u||!/^(http(s)?:)?\/\//.test(t)||(u=new XDomainRequest),"onload"in u?u.onload=u.onerror=u.ontimeout=f:u.onreadystatechange=function(t){u.readyState>3&&f(t)},u.onprogress=function(t){o.call("progress",n,t)},n={header:function(t,e){return t=(t+"").toLowerCase(),arguments.length<2?s.get(t):(null==e?s.remove(t):s.set(t,e+""),n)},mimeType:function(t){return arguments.length?(r=null==t?null:t+"",n):r},responseType:function(t){return arguments.length?(a=t,n):a},timeout:function(t){return arguments.length?(d=+t,n):d},user:function(t){return arguments.length<1?c:(c=null==t?null:t+"",n)},password:function(t){return arguments.length<1?l:(l=null==t?null:t+"",n)},response:function(t){return i=t,n},get:function(t,e){return n.send("GET",t,e)},post:function(t,e){return n.send("POST",t,e)},send:function(e,i,f){return u.open(e,t,!0,c,l),null==r||s.has("accept")||s.set("accept",r+",*/*"),u.setRequestHeader&&s.each(function(t,e){u.setRequestHeader(e,t)}),null!=r&&u.overrideMimeType&&u.overrideMimeType(r),null!=a&&(u.responseType=a),d>0&&(u.timeout=d),null==f&&"function"==typeof i&&(f=i,i=null),null!=f&&1===f.length&&(f=function(t){return function(e,n){t(null==e?n:null)}}(f)),null!=f&&n.on("error",f).on("load",function(t){f(null,t)}),o.call("beforesend",n,u),u.send(null==i?null:i),n},abort:function(){return u.abort(),n},on:function(){var t=o.on.apply(o,arguments);return t===o?n:t}},null!=e){if("function"!=typeof e)throw new Error("invalid callback: "+e);return n.get(e)}return n};var Eh=function(t,e){return function(n,r){var i=Sh(n).mimeType(t).response(e);if(null!=r){if("function"!=typeof r)throw new Error("invalid callback: "+r);return i.get(r)}return i}},Ah=Eh("text/html",function(t){return document.createRange().createContextualFragment(t.responseText)}),Ch=Eh("application/json",function(t){return JSON.parse(t.responseText)}),jh=Eh("text/plain",function(t){return t.responseText}),Oh=Eh("application/xml",function(t){var e=t.responseXML;if(!e)throw new Error("parse error");return e}),Hh=function(t,e){return function(n,r,i){arguments.length<3&&(i=r,r=null);var a=Sh(n).mimeType(t);return a.row=function(t){return arguments.length?a.response(function(t,e){return function(n){return t(n.responseText,e)}}(e,r=t)):r},a.row(r),i?a.get(i):a}};var Ph=Hh("text/csv",fo),Fh=Hh("text/tab-separated-values",yo),Nh=Array.prototype,Bh=Nh.map,Rh=Nh.slice,Ih={name:"implicit"};function zh(t){var e=qa(),n=[],r=Ih;function i(i){var a=i+"",o=e.get(a);if(!o){if(r!==Ih)return r;e.set(a,o=n.push(i))}return t[(o-1)%t.length]}return t=null==t?[]:Rh.call(t),i.domain=function(t){if(!arguments.length)return n.slice();n=[],e=qa();for(var r,a,o=-1,s=t.length;++o<s;)e.has(a=(r=t[o])+"")||e.set(a,n.push(r));return i},i.range=function(e){return arguments.length?(t=Rh.call(e),i):t.slice()},i.unknown=function(t){return arguments.length?(r=t,i):r},i.copy=function(){return zh().domain(n).range(t).unknown(r)},i}function Wh(){var t,e,n=zh().unknown(void 0),r=n.domain,i=n.range,a=[0,1],o=!1,s=0,u=0,c=.5;function l(){var n=r().length,l=a[1]<a[0],d=a[l-0],f=a[1-l];t=(f-d)/Math.max(1,n-s+2*u),o&&(t=Math.floor(t)),d+=(f-d-t*(n-s))*c,e=t*(1-s),o&&(d=Math.round(d),e=Math.round(e));var h=k(n).map(function(e){return d+t*e});return i(l?h.reverse():h)}return delete n.unknown,n.domain=function(t){return arguments.length?(r(t),l()):r()},n.range=function(t){return arguments.length?(a=[+t[0],+t[1]],l()):a.slice()},n.rangeRound=function(t){return a=[+t[0],+t[1]],o=!0,l()},n.bandwidth=function(){return e},n.step=function(){return t},n.round=function(t){return arguments.length?(o=!!t,l()):o},n.padding=function(t){return arguments.length?(s=u=Math.max(0,Math.min(1,t)),l()):s},n.paddingInner=function(t){return arguments.length?(s=Math.max(0,Math.min(1,t)),l()):s},n.paddingOuter=function(t){return arguments.length?(u=Math.max(0,Math.min(1,t)),l()):u},n.align=function(t){return arguments.length?(c=Math.max(0,Math.min(1,t)),l()):c},n.copy=function(){return Wh().domain(r()).range(a).round(o).paddingInner(s).paddingOuter(u).align(c)},l()}function qh(){return function t(e){var n=e.copy;return e.padding=e.paddingOuter,delete e.paddingInner,delete e.paddingOuter,e.copy=function(){return t(n())},e}(Wh().paddingInner(1))}var Uh=function(t){return function(){return t}},Vh=function(t){return+t},$h=[0,1];function Gh(t,e){return(e-=t=+t)?function(n){return(n-t)/e}:Uh(e)}function Jh(t,e,n,r){var i=t[0],a=t[1],o=e[0],s=e[1];return a<i?(i=n(a,i),o=r(s,o)):(i=n(i,a),o=r(o,s)),function(t){return o(i(t))}}function Xh(t,e,n,r){var i=Math.min(t.length,e.length)-1,a=new Array(i),o=new Array(i),s=-1;for(t[i]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++s<i;)a[s]=n(t[s],t[s+1]),o[s]=r(e[s],e[s+1]);return function(e){var n=u(t,e,1,i)-1;return o[n](a[n](e))}}function Zh(t,e){return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp())}function Kh(t,e){var n,r,i,a=$h,o=$h,s=$n,u=!1;function c(){return n=Math.min(a.length,o.length)>2?Xh:Jh,r=i=null,l}function l(e){return(r||(r=n(a,o,u?function(t){return function(e,n){var r=t(e=+e,n=+n);return function(t){return t<=e?0:t>=n?1:r(t)}}}(t):t,s)))(+e)}return l.invert=function(t){return(i||(i=n(o,a,Gh,u?function(t){return function(e,n){var r=t(e=+e,n=+n);return function(t){return t<=0?e:t>=1?n:r(t)}}}(e):e)))(+t)},l.domain=function(t){return arguments.length?(a=Bh.call(t,Vh),c()):a.slice()},l.range=function(t){return arguments.length?(o=Rh.call(t),c()):o.slice()},l.rangeRound=function(t){return o=Rh.call(t),s=Gn,c()},l.clamp=function(t){return arguments.length?(u=!!t,c()):u},l.interpolate=function(t){return arguments.length?(s=t,c()):s},c()}var Qh=function(t,e,n){var r,i=t[0],a=t[t.length-1],o=Y(i,a,null==e?10:e);switch((n=Qo(null==n?",f":n)).type){case"s":var s=Math.max(Math.abs(i),Math.abs(a));return null!=n.precision||isNaN(r=cs(o,s))||(n.precision=r),rs(n,s);case"":case"e":case"g":case"p":case"r":null!=n.precision||isNaN(r=ls(o,Math.max(Math.abs(i),Math.abs(a))))||(n.precision=r-("e"===n.type));break;case"f":case"%":null!=n.precision||isNaN(r=us(o))||(n.precision=r-2*("%"===n.type))}return ns(n)};function t_(t){var e=t.domain;return t.ticks=function(t){var n=e();return T(n[0],n[n.length-1],null==t?10:t)},t.tickFormat=function(t,n){return Qh(e(),t,n)},t.nice=function(n){null==n&&(n=10);var r,i=e(),a=0,o=i.length-1,s=i[a],u=i[o];return u<s&&(r=s,s=u,u=r,r=a,a=o,o=r),(r=D(s,u,n))>0?r=D(s=Math.floor(s/r)*r,u=Math.ceil(u/r)*r,n):r<0&&(r=D(s=Math.ceil(s*r)/r,u=Math.floor(u*r)/r,n)),r>0?(i[a]=Math.floor(s/r)*r,i[o]=Math.ceil(u/r)*r,e(i)):r<0&&(i[a]=Math.ceil(s*r)/r,i[o]=Math.floor(u*r)/r,e(i)),t},t}function e_(){var t=Kh(Gh,Nn);return t.copy=function(){return Zh(t,e_())},t_(t)}function n_(){var t=[0,1];function e(t){return+t}return e.invert=e,e.domain=e.range=function(n){return arguments.length?(t=Bh.call(n,Vh),e):t.slice()},e.copy=function(){return n_().domain(t)},t_(e)}var r_=function(t,e){var n,r=0,i=(t=t.slice()).length-1,a=t[r],o=t[i];return o<a&&(n=r,r=i,i=n,n=a,a=o,o=n),t[r]=e.floor(a),t[i]=e.ceil(o),t};function i_(t,e){return(e=Math.log(e/t))?function(n){return Math.log(n/t)/e}:Uh(e)}function a_(t,e){return t<0?function(n){return-Math.pow(-e,n)*Math.pow(-t,1-n)}:function(n){return Math.pow(e,n)*Math.pow(t,1-n)}}function o_(t){return isFinite(t)?+("1e"+t):t<0?0:t}function s_(t){return 10===t?o_:t===Math.E?Math.exp:function(e){return Math.pow(t,e)}}function u_(t){return t===Math.E?Math.log:10===t&&Math.log10||2===t&&Math.log2||(t=Math.log(t),function(e){return Math.log(e)/t})}function c_(t){return function(e){return-t(-e)}}function l_(){var t=Kh(i_,a_).domain([1,10]),e=t.domain,n=10,r=u_(10),i=s_(10);function a(){return r=u_(n),i=s_(n),e()[0]<0&&(r=c_(r),i=c_(i)),t}return t.base=function(t){return arguments.length?(n=+t,a()):n},t.domain=function(t){return arguments.length?(e(t),a()):e()},t.ticks=function(t){var a,o=e(),s=o[0],u=o[o.length-1];(a=u<s)&&(f=s,s=u,u=f);var c,l,d,f=r(s),h=r(u),_=null==t?10:+t,p=[];if(!(n%1)&&h-f<_){if(f=Math.round(f)-1,h=Math.round(h)+1,s>0){for(;f<h;++f)for(l=1,c=i(f);l<n;++l)if(!((d=c*l)<s)){if(d>u)break;p.push(d)}}else for(;f<h;++f)for(l=n-1,c=i(f);l>=1;--l)if(!((d=c*l)<s)){if(d>u)break;p.push(d)}}else p=T(f,h,Math.min(h-f,_)).map(i);return a?p.reverse():p},t.tickFormat=function(e,a){if(null==a&&(a=10===n?".0e":","),"function"!=typeof a&&(a=ns(a)),e===1/0)return a;null==e&&(e=10);var o=Math.max(1,n*e/t.ticks().length);return function(t){var e=t/i(Math.round(r(t)));return e*n<n-.5&&(e*=n),e<=o?a(t):""}},t.nice=function(){return e(r_(e(),{floor:function(t){return i(Math.floor(r(t)))},ceil:function(t){return i(Math.ceil(r(t)))}}))},t.copy=function(){return Zh(t,l_().base(n))},t}function d_(t,e){return t<0?-Math.pow(-t,e):Math.pow(t,e)}function f_(){var t=1,e=Kh(function(e,n){return(n=d_(n,t)-(e=d_(e,t)))?function(r){return(d_(r,t)-e)/n}:Uh(n)},function(e,n){return n=d_(n,t)-(e=d_(e,t)),function(r){return d_(e+n*r,1/t)}}),n=e.domain;return e.exponent=function(e){return arguments.length?(t=+e,n(n())):t},e.copy=function(){return Zh(e,f_().exponent(t))},t_(e)}function h_(){return f_().exponent(.5)}function __(){var t=[],e=[],n=[];function i(){var r=0,i=Math.max(1,e.length);for(n=new Array(i-1);++r<i;)n[r-1]=A(t,r/i);return a}function a(t){if(!isNaN(t=+t))return e[u(n,t)]}return a.invertExtent=function(r){var i=e.indexOf(r);return i<0?[NaN,NaN]:[i>0?n[i-1]:t[0],i<n.length?n[i]:t[t.length-1]]},a.domain=function(e){if(!arguments.length)return t.slice();t=[];for(var n,a=0,o=e.length;a<o;++a)null==(n=e[a])||isNaN(n=+n)||t.push(n);return t.sort(r),i()},a.range=function(t){return arguments.length?(e=Rh.call(t),i()):e.slice()},a.quantiles=function(){return n.slice()},a.copy=function(){return __().domain(t).range(e)},a}function p_(){var t=0,e=1,n=1,r=[.5],i=[0,1];function a(t){if(t<=t)return i[u(r,t,0,n)]}function o(){var i=-1;for(r=new Array(n);++i<n;)r[i]=((i+1)*e-(i-n)*t)/(n+1);return a}return a.domain=function(n){return arguments.length?(t=+n[0],e=+n[1],o()):[t,e]},a.range=function(t){return arguments.length?(n=(i=Rh.call(t)).length-1,o()):i.slice()},a.invertExtent=function(a){var o=i.indexOf(a);return o<0?[NaN,NaN]:o<1?[t,r[0]]:o>=n?[r[n-1],e]:[r[o-1],r[o]]},a.copy=function(){return p_().domain([t,e]).range(i)},t_(a)}function m_(){var t=[.5],e=[0,1],n=1;function r(r){if(r<=r)return e[u(t,r,0,n)]}return r.domain=function(i){return arguments.length?(t=Rh.call(i),n=Math.min(t.length,e.length-1),r):t.slice()},r.range=function(i){return arguments.length?(e=Rh.call(i),n=Math.min(t.length,e.length-1),r):e.slice()},r.invertExtent=function(n){var r=e.indexOf(n);return[t[r-1],t[r]]},r.copy=function(){return m_().domain(t).range(e)},r}var y_=new Date,g_=new Date;function v_(t,e,n,r){function i(e){return t(e=new Date(+e)),e}return i.floor=i,i.ceil=function(n){return t(n=new Date(n-1)),e(n,1),t(n),n},i.round=function(t){var e=i(t),n=i.ceil(t);return t-e<n-t?e:n},i.offset=function(t,n){return e(t=new Date(+t),null==n?1:Math.floor(n)),t},i.range=function(n,r,a){var o,s=[];if(n=i.ceil(n),a=null==a?1:Math.floor(a),!(n<r&&a>0))return s;do{s.push(o=new Date(+n)),e(n,a),t(n)}while(o<n&&n<r);return s},i.filter=function(n){return v_(function(e){if(e>=e)for(;t(e),!n(e);)e.setTime(e-1)},function(t,r){if(t>=t)if(r<0)for(;++r<=0;)for(;e(t,-1),!n(t););else for(;--r>=0;)for(;e(t,1),!n(t););})},n&&(i.count=function(e,r){return y_.setTime(+e),g_.setTime(+r),t(y_),t(g_),Math.floor(n(y_,g_))},i.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?i.filter(r?function(e){return r(e)%t==0}:function(e){return i.count(0,e)%t==0}):i:null}),i}var M_=v_(function(){},function(t,e){t.setTime(+t+e)},function(t,e){return e-t});M_.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?v_(function(e){e.setTime(Math.floor(e/t)*t)},function(e,n){e.setTime(+e+n*t)},function(e,n){return(n-e)/t}):M_:null};var b_=M_,k_=M_.range,L_=6e4,w_=6048e5,x_=v_(function(t){t.setTime(1e3*Math.floor(t/1e3))},function(t,e){t.setTime(+t+1e3*e)},function(t,e){return(e-t)/1e3},function(t){return t.getUTCSeconds()}),T_=x_,D_=x_.range,Y_=v_(function(t){t.setTime(Math.floor(t/L_)*L_)},function(t,e){t.setTime(+t+e*L_)},function(t,e){return(e-t)/L_},function(t){return t.getMinutes()}),S_=Y_,E_=Y_.range,A_=v_(function(t){var e=t.getTimezoneOffset()*L_%36e5;e<0&&(e+=36e5),t.setTime(36e5*Math.floor((+t-e)/36e5)+e)},function(t,e){t.setTime(+t+36e5*e)},function(t,e){return(e-t)/36e5},function(t){return t.getHours()}),C_=A_,j_=A_.range,O_=v_(function(t){t.setHours(0,0,0,0)},function(t,e){t.setDate(t.getDate()+e)},function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*L_)/864e5},function(t){return t.getDate()-1}),H_=O_,P_=O_.range;function F_(t){return v_(function(e){e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},function(t,e){t.setDate(t.getDate()+7*e)},function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*L_)/w_})}var N_=F_(0),B_=F_(1),R_=F_(2),I_=F_(3),z_=F_(4),W_=F_(5),q_=F_(6),U_=N_.range,V_=B_.range,$_=R_.range,G_=I_.range,J_=z_.range,X_=W_.range,Z_=q_.range,K_=v_(function(t){t.setDate(1),t.setHours(0,0,0,0)},function(t,e){t.setMonth(t.getMonth()+e)},function(t,e){return e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear())},function(t){return t.getMonth()}),Q_=K_,tp=K_.range,ep=v_(function(t){t.setMonth(0,1),t.setHours(0,0,0,0)},function(t,e){t.setFullYear(t.getFullYear()+e)},function(t,e){return e.getFullYear()-t.getFullYear()},function(t){return t.getFullYear()});ep.every=function(t){return isFinite(t=Math.floor(t))&&t>0?v_(function(e){e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},function(e,n){e.setFullYear(e.getFullYear()+n*t)}):null};var np=ep,rp=ep.range,ip=v_(function(t){t.setUTCSeconds(0,0)},function(t,e){t.setTime(+t+e*L_)},function(t,e){return(e-t)/L_},function(t){return t.getUTCMinutes()}),ap=ip,op=ip.range,sp=v_(function(t){t.setUTCMinutes(0,0,0)},function(t,e){t.setTime(+t+36e5*e)},function(t,e){return(e-t)/36e5},function(t){return t.getUTCHours()}),up=sp,cp=sp.range,lp=v_(function(t){t.setUTCHours(0,0,0,0)},function(t,e){t.setUTCDate(t.getUTCDate()+e)},function(t,e){return(e-t)/864e5},function(t){return t.getUTCDate()-1}),dp=lp,fp=lp.range;function hp(t){return v_(function(e){e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},function(t,e){t.setUTCDate(t.getUTCDate()+7*e)},function(t,e){return(e-t)/w_})}var _p=hp(0),pp=hp(1),mp=hp(2),yp=hp(3),gp=hp(4),vp=hp(5),Mp=hp(6),bp=_p.range,kp=pp.range,Lp=mp.range,wp=yp.range,xp=gp.range,Tp=vp.range,Dp=Mp.range,Yp=v_(function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)},function(t,e){t.setUTCMonth(t.getUTCMonth()+e)},function(t,e){return e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear())},function(t){return t.getUTCMonth()}),Sp=Yp,Ep=Yp.range,Ap=v_(function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},function(t,e){t.setUTCFullYear(t.getUTCFullYear()+e)},function(t,e){return e.getUTCFullYear()-t.getUTCFullYear()},function(t){return t.getUTCFullYear()});Ap.every=function(t){return isFinite(t=Math.floor(t))&&t>0?v_(function(e){e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},function(e,n){e.setUTCFullYear(e.getUTCFullYear()+n*t)}):null};var Cp=Ap,jp=Ap.range;function Op(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function Hp(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function Pp(t){return{y:t,m:0,d:1,H:0,M:0,S:0,L:0}}function Fp(t){var e=t.dateTime,n=t.date,r=t.time,i=t.periods,a=t.days,o=t.shortDays,s=t.months,u=t.shortMonths,c=Jp(i),l=Xp(i),d=Jp(a),f=Xp(a),h=Jp(o),_=Xp(o),p=Jp(s),m=Xp(s),y=Jp(u),g=Xp(u),v={a:function(t){return o[t.getDay()]},A:function(t){return a[t.getDay()]},b:function(t){return u[t.getMonth()]},B:function(t){return s[t.getMonth()]},c:null,d:mm,e:mm,f:bm,H:ym,I:gm,j:vm,L:Mm,m:km,M:Lm,p:function(t){return i[+(t.getHours()>=12)]},Q:Zm,s:Km,S:wm,u:xm,U:Tm,V:Dm,w:Ym,W:Sm,x:null,X:null,y:Em,Y:Am,Z:Cm,"%":Xm},M={a:function(t){return o[t.getUTCDay()]},A:function(t){return a[t.getUTCDay()]},b:function(t){return u[t.getUTCMonth()]},B:function(t){return s[t.getUTCMonth()]},c:null,d:jm,e:jm,f:Nm,H:Om,I:Hm,j:Pm,L:Fm,m:Bm,M:Rm,p:function(t){return i[+(t.getUTCHours()>=12)]},Q:Zm,s:Km,S:Im,u:zm,U:Wm,V:qm,w:Um,W:Vm,x:null,X:null,y:$m,Y:Gm,Z:Jm,"%":Xm},b={a:function(t,e,n){var r=h.exec(e.slice(n));return r?(t.w=_[r[0].toLowerCase()],n+r[0].length):-1},A:function(t,e,n){var r=d.exec(e.slice(n));return r?(t.w=f[r[0].toLowerCase()],n+r[0].length):-1},b:function(t,e,n){var r=y.exec(e.slice(n));return r?(t.m=g[r[0].toLowerCase()],n+r[0].length):-1},B:function(t,e,n){var r=p.exec(e.slice(n));return r?(t.m=m[r[0].toLowerCase()],n+r[0].length):-1},c:function(t,n,r){return w(t,e,n,r)},d:om,e:om,f:fm,H:um,I:um,j:sm,L:dm,m:am,M:cm,p:function(t,e,n){var r=c.exec(e.slice(n));return r?(t.p=l[r[0].toLowerCase()],n+r[0].length):-1},Q:_m,s:pm,S:lm,u:Kp,U:Qp,V:tm,w:Zp,W:em,x:function(t,e,r){return w(t,n,e,r)},X:function(t,e,n){return w(t,r,e,n)},y:rm,Y:nm,Z:im,"%":hm};function k(t,e){return function(n){var r,i,a,o=[],s=-1,u=0,c=t.length;for(n instanceof Date||(n=new Date(+n));++s<c;)37===t.charCodeAt(s)&&(o.push(t.slice(u,s)),null!=(i=Wp[r=t.charAt(++s)])?r=t.charAt(++s):i="e"===r?" ":"0",(a=e[r])&&(r=a(n,i)),o.push(r),u=s+1);return o.push(t.slice(u,s)),o.join("")}}function L(t,e){return function(n){var r,i,a=Pp(1900);if(w(a,t,n+="",0)!=n.length)return null;if("Q"in a)return new Date(a.Q);if("p"in a&&(a.H=a.H%12+12*a.p),"V"in a){if(a.V<1||a.V>53)return null;"w"in a||(a.w=1),"Z"in a?(r=(i=(r=Hp(Pp(a.y))).getUTCDay())>4||0===i?pp.ceil(r):pp(r),r=dp.offset(r,7*(a.V-1)),a.y=r.getUTCFullYear(),a.m=r.getUTCMonth(),a.d=r.getUTCDate()+(a.w+6)%7):(r=(i=(r=e(Pp(a.y))).getDay())>4||0===i?B_.ceil(r):B_(r),r=H_.offset(r,7*(a.V-1)),a.y=r.getFullYear(),a.m=r.getMonth(),a.d=r.getDate()+(a.w+6)%7)}else("W"in a||"U"in a)&&("w"in a||(a.w="u"in a?a.u%7:"W"in a?1:0),i="Z"in a?Hp(Pp(a.y)).getUTCDay():e(Pp(a.y)).getDay(),a.m=0,a.d="W"in a?(a.w+6)%7+7*a.W-(i+5)%7:a.w+7*a.U-(i+6)%7);return"Z"in a?(a.H+=a.Z/100|0,a.M+=a.Z%100,Hp(a)):e(a)}}function w(t,e,n,r){for(var i,a,o=0,s=e.length,u=n.length;o<s;){if(r>=u)return-1;if(37===(i=e.charCodeAt(o++))){if(i=e.charAt(o++),!(a=b[i in Wp?e.charAt(o++):i])||(r=a(t,n,r))<0)return-1}else if(i!=n.charCodeAt(r++))return-1}return r}return v.x=k(n,v),v.X=k(r,v),v.c=k(e,v),M.x=k(n,M),M.X=k(r,M),M.c=k(e,M),{format:function(t){var e=k(t+="",v);return e.toString=function(){return t},e},parse:function(t){var e=L(t+="",Op);return e.toString=function(){return t},e},utcFormat:function(t){var e=k(t+="",M);return e.toString=function(){return t},e},utcParse:function(t){var e=L(t,Hp);return e.toString=function(){return t},e}}}var Np,Bp,Rp,Ip,zp,Wp={"-":"",_:" ",0:"0"},qp=/^\s*\d+/,Up=/^%/,Vp=/[\\^$*+?|[\]().{}]/g;function $p(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",a=i.length;return r+(a<n?new Array(n-a+1).join(e)+i:i)}function Gp(t){return t.replace(Vp,"\\$&")}function Jp(t){return new RegExp("^(?:"+t.map(Gp).join("|")+")","i")}function Xp(t){for(var e={},n=-1,r=t.length;++n<r;)e[t[n].toLowerCase()]=n;return e}function Zp(t,e,n){var r=qp.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function Kp(t,e,n){var r=qp.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function Qp(t,e,n){var r=qp.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function tm(t,e,n){var r=qp.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function em(t,e,n){var r=qp.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function nm(t,e,n){var r=qp.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function rm(t,e,n){var r=qp.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function im(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function am(t,e,n){var r=qp.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function om(t,e,n){var r=qp.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function sm(t,e,n){var r=qp.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function um(t,e,n){var r=qp.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function cm(t,e,n){var r=qp.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function lm(t,e,n){var r=qp.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function dm(t,e,n){var r=qp.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function fm(t,e,n){var r=qp.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function hm(t,e,n){var r=Up.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function _m(t,e,n){var r=qp.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function pm(t,e,n){var r=qp.exec(e.slice(n));return r?(t.Q=1e3*+r[0],n+r[0].length):-1}function mm(t,e){return $p(t.getDate(),e,2)}function ym(t,e){return $p(t.getHours(),e,2)}function gm(t,e){return $p(t.getHours()%12||12,e,2)}function vm(t,e){return $p(1+H_.count(np(t),t),e,3)}function Mm(t,e){return $p(t.getMilliseconds(),e,3)}function bm(t,e){return Mm(t,e)+"000"}function km(t,e){return $p(t.getMonth()+1,e,2)}function Lm(t,e){return $p(t.getMinutes(),e,2)}function wm(t,e){return $p(t.getSeconds(),e,2)}function xm(t){var e=t.getDay();return 0===e?7:e}function Tm(t,e){return $p(N_.count(np(t),t),e,2)}function Dm(t,e){var n=t.getDay();return t=n>=4||0===n?z_(t):z_.ceil(t),$p(z_.count(np(t),t)+(4===np(t).getDay()),e,2)}function Ym(t){return t.getDay()}function Sm(t,e){return $p(B_.count(np(t),t),e,2)}function Em(t,e){return $p(t.getFullYear()%100,e,2)}function Am(t,e){return $p(t.getFullYear()%1e4,e,4)}function Cm(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+$p(e/60|0,"0",2)+$p(e%60,"0",2)}function jm(t,e){return $p(t.getUTCDate(),e,2)}function Om(t,e){return $p(t.getUTCHours(),e,2)}function Hm(t,e){return $p(t.getUTCHours()%12||12,e,2)}function Pm(t,e){return $p(1+dp.count(Cp(t),t),e,3)}function Fm(t,e){return $p(t.getUTCMilliseconds(),e,3)}function Nm(t,e){return Fm(t,e)+"000"}function Bm(t,e){return $p(t.getUTCMonth()+1,e,2)}function Rm(t,e){return $p(t.getUTCMinutes(),e,2)}function Im(t,e){return $p(t.getUTCSeconds(),e,2)}function zm(t){var e=t.getUTCDay();return 0===e?7:e}function Wm(t,e){return $p(_p.count(Cp(t),t),e,2)}function qm(t,e){var n=t.getUTCDay();return t=n>=4||0===n?gp(t):gp.ceil(t),$p(gp.count(Cp(t),t)+(4===Cp(t).getUTCDay()),e,2)}function Um(t){return t.getUTCDay()}function Vm(t,e){return $p(pp.count(Cp(t),t),e,2)}function $m(t,e){return $p(t.getUTCFullYear()%100,e,2)}function Gm(t,e){return $p(t.getUTCFullYear()%1e4,e,4)}function Jm(){return"+0000"}function Xm(){return"%"}function Zm(t){return+t}function Km(t){return Math.floor(+t/1e3)}function Qm(t){return Np=Fp(t),Bp=Np.format,Rp=Np.parse,Ip=Np.utcFormat,zp=Np.utcParse,Np}Qm({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"]});var ty=Date.prototype.toISOString?function(t){return t.toISOString()}:Ip("%Y-%m-%dT%H:%M:%S.%LZ");var ey=+new Date("2000-01-01T00:00:00.000Z")?function(t){var e=new Date(t);return isNaN(e)?null:e}:zp("%Y-%m-%dT%H:%M:%S.%LZ"),ny=1e3,ry=60*ny,iy=60*ry,ay=24*iy,oy=7*ay,sy=30*ay,uy=365*ay;function cy(t){return new Date(t)}function ly(t){return t instanceof Date?+t:+new Date(+t)}function dy(t,e,n,r,a,o,s,u,c){var l=Kh(Gh,Nn),d=l.invert,f=l.domain,h=c(".%L"),_=c(":%S"),p=c("%I:%M"),m=c("%I %p"),y=c("%a %d"),g=c("%b %d"),v=c("%B"),M=c("%Y"),b=[[s,1,ny],[s,5,5*ny],[s,15,15*ny],[s,30,30*ny],[o,1,ry],[o,5,5*ry],[o,15,15*ry],[o,30,30*ry],[a,1,iy],[a,3,3*iy],[a,6,6*iy],[a,12,12*iy],[r,1,ay],[r,2,2*ay],[n,1,oy],[e,1,sy],[e,3,3*sy],[t,1,uy]];function k(i){return(s(i)<i?h:o(i)<i?_:a(i)<i?p:r(i)<i?m:e(i)<i?n(i)<i?y:g:t(i)<i?v:M)(i)}function L(e,n,r,a){if(null==e&&(e=10),"number"==typeof e){var o=Math.abs(r-n)/e,s=i(function(t){return t[2]}).right(b,o);s===b.length?(a=Y(n/uy,r/uy,e),e=t):s?(a=(s=b[o/b[s-1][2]<b[s][2]/o?s-1:s])[1],e=s[0]):(a=Math.max(Y(n,r,e),1),e=u)}return null==a?e:e.every(a)}return l.invert=function(t){return new Date(d(t))},l.domain=function(t){return arguments.length?f(Bh.call(t,ly)):f().map(cy)},l.ticks=function(t,e){var n,r=f(),i=r[0],a=r[r.length-1],o=a<i;return o&&(n=i,i=a,a=n),n=(n=L(t,i,a,e))?n.range(i,a+1):[],o?n.reverse():n},l.tickFormat=function(t,e){return null==e?k:c(e)},l.nice=function(t,e){var n=f();return(t=L(t,n[0],n[n.length-1],e))?f(r_(n,t)):l},l.copy=function(){return Zh(l,dy(t,e,n,r,a,o,s,u,c))},l}var fy=function(){return dy(np,Q_,N_,H_,C_,S_,T_,b_,Bp).domain([new Date(2e3,0,1),new Date(2e3,0,2)])},hy=function(){return dy(Cp,Sp,_p,dp,up,ap,T_,b_,Ip).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)])},_y=function(t){return t.match(/.{6}/g).map(function(t){return"#"+t})},py=_y("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"),my=_y("393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6"),yy=_y("3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9"),gy=_y("1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5"),vy=pr(kn(300,.5,0),kn(-240,.5,1)),My=pr(kn(-100,.75,.35),kn(80,1.5,.8)),by=pr(kn(260,.75,.35),kn(80,1.5,.8)),ky=kn(),Ly=function(t){(t<0||t>1)&&(t-=Math.floor(t));var e=Math.abs(t-.5);return ky.h=360*t-100,ky.s=1.5-1.5*e,ky.l=.8-.9*e,ky+""};function wy(t){var e=t.length;return function(n){return t[Math.max(0,Math.min(e-1,Math.floor(n*e)))]}}var xy=wy(_y("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725")),Ty=wy(_y("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),Dy=wy(_y("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),Yy=wy(_y("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));function Sy(t){var e=0,n=1,r=!1;function i(i){var a=(i-e)/(n-e);return t(r?Math.max(0,Math.min(1,a)):a)}return i.domain=function(t){return arguments.length?(e=+t[0],n=+t[1],i):[e,n]},i.clamp=function(t){return arguments.length?(r=!!t,i):r},i.interpolator=function(e){return arguments.length?(t=e,i):t},i.copy=function(){return Sy(t).domain([e,n]).clamp(r)},t_(i)}var Ey=function(t){return function(){return t}},Ay=Math.abs,Cy=Math.atan2,jy=Math.cos,Oy=Math.max,Hy=Math.min,Py=Math.sin,Fy=Math.sqrt,Ny=1e-12,By=Math.PI,Ry=By/2,Iy=2*By;function zy(t){return t>=1?Ry:t<=-1?-Ry:Math.asin(t)}function Wy(t){return t.innerRadius}function qy(t){return t.outerRadius}function Uy(t){return t.startAngle}function Vy(t){return t.endAngle}function $y(t){return t&&t.padAngle}function Gy(t,e,n,r,i,a,o){var s=t-n,u=e-r,c=(o?a:-a)/Fy(s*s+u*u),l=c*u,d=-c*s,f=t+l,h=e+d,_=n+l,p=r+d,m=(f+_)/2,y=(h+p)/2,g=_-f,v=p-h,M=g*g+v*v,b=i-a,k=f*p-_*h,L=(v<0?-1:1)*Fy(Oy(0,b*b*M-k*k)),w=(k*v-g*L)/M,x=(-k*g-v*L)/M,T=(k*v+g*L)/M,D=(-k*g+v*L)/M,Y=w-m,S=x-y,E=T-m,A=D-y;return Y*Y+S*S>E*E+A*A&&(w=T,x=D),{cx:w,cy:x,x01:-l,y01:-d,x11:w*(i/b-1),y11:x*(i/b-1)}}var Jy=function(){var t=Wy,e=qy,n=Ey(0),r=null,i=Uy,a=Vy,o=$y,s=null;function u(){var u,c,l,d=+t.apply(this,arguments),f=+e.apply(this,arguments),h=i.apply(this,arguments)-Ry,_=a.apply(this,arguments)-Ry,p=Ay(_-h),m=_>h;if(s||(s=u=Ha()),f<d&&(c=f,f=d,d=c),f>Ny)if(p>Iy-Ny)s.moveTo(f*jy(h),f*Py(h)),s.arc(0,0,f,h,_,!m),d>Ny&&(s.moveTo(d*jy(_),d*Py(_)),s.arc(0,0,d,_,h,m));else{var y,g,v=h,M=_,b=h,k=_,L=p,w=p,x=o.apply(this,arguments)/2,T=x>Ny&&(r?+r.apply(this,arguments):Fy(d*d+f*f)),D=Hy(Ay(f-d)/2,+n.apply(this,arguments)),Y=D,S=D;if(T>Ny){var E=zy(T/d*Py(x)),A=zy(T/f*Py(x));(L-=2*E)>Ny?(b+=E*=m?1:-1,k-=E):(L=0,b=k=(h+_)/2),(w-=2*A)>Ny?(v+=A*=m?1:-1,M-=A):(w=0,v=M=(h+_)/2)}var C=f*jy(v),j=f*Py(v),O=d*jy(k),H=d*Py(k);if(D>Ny){var P=f*jy(M),F=f*Py(M),N=d*jy(b),B=d*Py(b);if(p<By){var R=L>Ny?function(t,e,n,r,i,a,o,s){var u=n-t,c=r-e,l=o-i,d=s-a,f=(l*(e-a)-d*(t-i))/(d*u-l*c);return[t+f*u,e+f*c]}(C,j,N,B,P,F,O,H):[O,H],I=C-R[0],z=j-R[1],W=P-R[0],q=F-R[1],U=1/Py(((l=(I*W+z*q)/(Fy(I*I+z*z)*Fy(W*W+q*q)))>1?0:l<-1?By:Math.acos(l))/2),V=Fy(R[0]*R[0]+R[1]*R[1]);Y=Hy(D,(d-V)/(U-1)),S=Hy(D,(f-V)/(U+1))}}w>Ny?S>Ny?(y=Gy(N,B,C,j,f,S,m),g=Gy(P,F,O,H,f,S,m),s.moveTo(y.cx+y.x01,y.cy+y.y01),S<D?s.arc(y.cx,y.cy,S,Cy(y.y01,y.x01),Cy(g.y01,g.x01),!m):(s.arc(y.cx,y.cy,S,Cy(y.y01,y.x01),Cy(y.y11,y.x11),!m),s.arc(0,0,f,Cy(y.cy+y.y11,y.cx+y.x11),Cy(g.cy+g.y11,g.cx+g.x11),!m),s.arc(g.cx,g.cy,S,Cy(g.y11,g.x11),Cy(g.y01,g.x01),!m))):(s.moveTo(C,j),s.arc(0,0,f,v,M,!m)):s.moveTo(C,j),d>Ny&&L>Ny?Y>Ny?(y=Gy(O,H,P,F,d,-Y,m),g=Gy(C,j,N,B,d,-Y,m),s.lineTo(y.cx+y.x01,y.cy+y.y01),Y<D?s.arc(y.cx,y.cy,Y,Cy(y.y01,y.x01),Cy(g.y01,g.x01),!m):(s.arc(y.cx,y.cy,Y,Cy(y.y01,y.x01),Cy(y.y11,y.x11),!m),s.arc(0,0,d,Cy(y.cy+y.y11,y.cx+y.x11),Cy(g.cy+g.y11,g.cx+g.x11),m),s.arc(g.cx,g.cy,Y,Cy(g.y11,g.x11),Cy(g.y01,g.x01),!m))):s.arc(0,0,d,k,b,m):s.lineTo(O,H)}else s.moveTo(0,0);if(s.closePath(),u)return s=null,u+""||null}return u.centroid=function(){var n=(+t.apply(this,arguments)+ +e.apply(this,arguments))/2,r=(+i.apply(this,arguments)+ +a.apply(this,arguments))/2-By/2;return[jy(r)*n,Py(r)*n]},u.innerRadius=function(e){return arguments.length?(t="function"==typeof e?e:Ey(+e),u):t},u.outerRadius=function(t){return arguments.length?(e="function"==typeof t?t:Ey(+t),u):e},u.cornerRadius=function(t){return arguments.length?(n="function"==typeof t?t:Ey(+t),u):n},u.padRadius=function(t){return arguments.length?(r=null==t?null:"function"==typeof t?t:Ey(+t),u):r},u.startAngle=function(t){return arguments.length?(i="function"==typeof t?t:Ey(+t),u):i},u.endAngle=function(t){return arguments.length?(a="function"==typeof t?t:Ey(+t),u):a},u.padAngle=function(t){return arguments.length?(o="function"==typeof t?t:Ey(+t),u):o},u.context=function(t){return arguments.length?(s=null==t?null:t,u):s},u};function Xy(t){this._context=t}Xy.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,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e)}}};var Zy=function(t){return new Xy(t)};function Ky(t){return t[0]}function Qy(t){return t[1]}var tg=function(){var t=Ky,e=Qy,n=Ey(!0),r=null,i=Zy,a=null;function o(o){var s,u,c,l=o.length,d=!1;for(null==r&&(a=i(c=Ha())),s=0;s<=l;++s)!(s<l&&n(u=o[s],s,o))===d&&((d=!d)?a.lineStart():a.lineEnd()),d&&a.point(+t(u,s,o),+e(u,s,o));if(c)return a=null,c+""||null}return o.x=function(e){return arguments.length?(t="function"==typeof e?e:Ey(+e),o):t},o.y=function(t){return arguments.length?(e="function"==typeof t?t:Ey(+t),o):e},o.defined=function(t){return arguments.length?(n="function"==typeof t?t:Ey(!!t),o):n},o.curve=function(t){return arguments.length?(i=t,null!=r&&(a=i(r)),o):i},o.context=function(t){return arguments.length?(null==t?r=a=null:a=i(r=t),o):r},o},eg=function(){var t=Ky,e=null,n=Ey(0),r=Qy,i=Ey(!0),a=null,o=Zy,s=null;function u(u){var c,l,d,f,h,_=u.length,p=!1,m=new Array(_),y=new Array(_);for(null==a&&(s=o(h=Ha())),c=0;c<=_;++c){if(!(c<_&&i(f=u[c],c,u))===p)if(p=!p)l=c,s.areaStart(),s.lineStart();else{for(s.lineEnd(),s.lineStart(),d=c-1;d>=l;--d)s.point(m[d],y[d]);s.lineEnd(),s.areaEnd()}p&&(m[c]=+t(f,c,u),y[c]=+n(f,c,u),s.point(e?+e(f,c,u):m[c],r?+r(f,c,u):y[c]))}if(h)return s=null,h+""||null}function c(){return tg().defined(i).curve(o).context(a)}return u.x=function(n){return arguments.length?(t="function"==typeof n?n:Ey(+n),e=null,u):t},u.x0=function(e){return arguments.length?(t="function"==typeof e?e:Ey(+e),u):t},u.x1=function(t){return arguments.length?(e=null==t?null:"function"==typeof t?t:Ey(+t),u):e},u.y=function(t){return arguments.length?(n="function"==typeof t?t:Ey(+t),r=null,u):n},u.y0=function(t){return arguments.length?(n="function"==typeof t?t:Ey(+t),u):n},u.y1=function(t){return arguments.length?(r=null==t?null:"function"==typeof t?t:Ey(+t),u):r},u.lineX0=u.lineY0=function(){return c().x(t).y(n)},u.lineY1=function(){return c().x(t).y(r)},u.lineX1=function(){return c().x(e).y(n)},u.defined=function(t){return arguments.length?(i="function"==typeof t?t:Ey(!!t),u):i},u.curve=function(t){return arguments.length?(o=t,null!=a&&(s=o(a)),u):o},u.context=function(t){return arguments.length?(null==t?a=s=null:s=o(a=t),u):a},u},ng=function(t,e){return e<t?-1:e>t?1:e>=t?0:NaN},rg=function(t){return t},ig=function(){var t=rg,e=ng,n=null,r=Ey(0),i=Ey(Iy),a=Ey(0);function o(o){var s,u,c,l,d,f=o.length,h=0,_=new Array(f),p=new Array(f),m=+r.apply(this,arguments),y=Math.min(Iy,Math.max(-Iy,i.apply(this,arguments)-m)),g=Math.min(Math.abs(y)/f,a.apply(this,arguments)),v=g*(y<0?-1:1);for(s=0;s<f;++s)(d=p[_[s]=s]=+t(o[s],s,o))>0&&(h+=d);for(null!=e?_.sort(function(t,n){return e(p[t],p[n])}):null!=n&&_.sort(function(t,e){return n(o[t],o[e])}),s=0,c=h?(y-f*v)/h:0;s<f;++s,m=l)u=_[s],l=m+((d=p[u])>0?d*c:0)+v,p[u]={data:o[u],index:s,value:d,startAngle:m,endAngle:l,padAngle:g};return p}return o.value=function(e){return arguments.length?(t="function"==typeof e?e:Ey(+e),o):t},o.sortValues=function(t){return arguments.length?(e=t,n=null,o):e},o.sort=function(t){return arguments.length?(n=t,e=null,o):n},o.startAngle=function(t){return arguments.length?(r="function"==typeof t?t:Ey(+t),o):r},o.endAngle=function(t){return arguments.length?(i="function"==typeof t?t:Ey(+t),o):i},o.padAngle=function(t){return arguments.length?(a="function"==typeof t?t:Ey(+t),o):a},o},ag=sg(Zy);function og(t){this._curve=t}function sg(t){function e(e){return new og(t(e))}return e._curve=t,e}function ug(t){var e=t.curve;return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t.curve=function(t){return arguments.length?e(sg(t)):e()._curve},t}og.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(t,e){this._curve.point(e*Math.sin(t),e*-Math.cos(t))}};var cg=function(){return ug(tg().curve(ag))},lg=function(){var t=eg().curve(ag),e=t.curve,n=t.lineX0,r=t.lineX1,i=t.lineY0,a=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 ug(n())},delete t.lineX0,t.lineEndAngle=function(){return ug(r())},delete t.lineX1,t.lineInnerRadius=function(){return ug(i())},delete t.lineY0,t.lineOuterRadius=function(){return ug(a())},delete t.lineY1,t.curve=function(t){return arguments.length?e(sg(t)):e()._curve},t},dg=function(t,e){return[(e=+e)*Math.cos(t-=Math.PI/2),e*Math.sin(t)]},fg=Array.prototype.slice;function hg(t){return t.source}function _g(t){return t.target}function pg(t){var e=hg,n=_g,r=Ky,i=Qy,a=null;function o(){var o,s=fg.call(arguments),u=e.apply(this,s),c=n.apply(this,s);if(a||(a=o=Ha()),t(a,+r.apply(this,(s[0]=u,s)),+i.apply(this,s),+r.apply(this,(s[0]=c,s)),+i.apply(this,s)),o)return a=null,o+""||null}return o.source=function(t){return arguments.length?(e=t,o):e},o.target=function(t){return arguments.length?(n=t,o):n},o.x=function(t){return arguments.length?(r="function"==typeof t?t:Ey(+t),o):r},o.y=function(t){return arguments.length?(i="function"==typeof t?t:Ey(+t),o):i},o.context=function(t){return arguments.length?(a=null==t?null:t,o):a},o}function mg(t,e,n,r,i){t.moveTo(e,n),t.bezierCurveTo(e=(e+r)/2,n,e,i,r,i)}function yg(t,e,n,r,i){t.moveTo(e,n),t.bezierCurveTo(e,n=(n+i)/2,r,n,r,i)}function gg(t,e,n,r,i){var a=dg(e,n),o=dg(e,n=(n+i)/2),s=dg(r,n),u=dg(r,i);t.moveTo(a[0],a[1]),t.bezierCurveTo(o[0],o[1],s[0],s[1],u[0],u[1])}function vg(){return pg(mg)}function Mg(){return pg(yg)}function bg(){var t=pg(gg);return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t}var kg={draw:function(t,e){var n=Math.sqrt(e/By);t.moveTo(n,0),t.arc(0,0,n,0,Iy)}},Lg={draw:function(t,e){var n=Math.sqrt(e/5)/2;t.moveTo(-3*n,-n),t.lineTo(-n,-n),t.lineTo(-n,-3*n),t.lineTo(n,-3*n),t.lineTo(n,-n),t.lineTo(3*n,-n),t.lineTo(3*n,n),t.lineTo(n,n),t.lineTo(n,3*n),t.lineTo(-n,3*n),t.lineTo(-n,n),t.lineTo(-3*n,n),t.closePath()}},wg=Math.sqrt(1/3),xg=2*wg,Tg={draw:function(t,e){var n=Math.sqrt(e/xg),r=n*wg;t.moveTo(0,-n),t.lineTo(r,0),t.lineTo(0,n),t.lineTo(-r,0),t.closePath()}},Dg=Math.sin(By/10)/Math.sin(7*By/10),Yg=Math.sin(Iy/10)*Dg,Sg=-Math.cos(Iy/10)*Dg,Eg={draw:function(t,e){var n=Math.sqrt(.8908130915292852*e),r=Yg*n,i=Sg*n;t.moveTo(0,-n),t.lineTo(r,i);for(var a=1;a<5;++a){var o=Iy*a/5,s=Math.cos(o),u=Math.sin(o);t.lineTo(u*n,-s*n),t.lineTo(s*r-u*i,u*r+s*i)}t.closePath()}},Ag={draw:function(t,e){var n=Math.sqrt(e),r=-n/2;t.rect(r,r,n,n)}},Cg=Math.sqrt(3),jg={draw:function(t,e){var n=-Math.sqrt(e/(3*Cg));t.moveTo(0,2*n),t.lineTo(-Cg*n,-n),t.lineTo(Cg*n,-n),t.closePath()}},Og=Math.sqrt(3)/2,Hg=1/Math.sqrt(12),Pg=3*(Hg/2+1),Fg={draw:function(t,e){var n=Math.sqrt(e/Pg),r=n/2,i=n*Hg,a=r,o=n*Hg+n,s=-a,u=o;t.moveTo(r,i),t.lineTo(a,o),t.lineTo(s,u),t.lineTo(-.5*r-Og*i,Og*r+-.5*i),t.lineTo(-.5*a-Og*o,Og*a+-.5*o),t.lineTo(-.5*s-Og*u,Og*s+-.5*u),t.lineTo(-.5*r+Og*i,-.5*i-Og*r),t.lineTo(-.5*a+Og*o,-.5*o-Og*a),t.lineTo(-.5*s+Og*u,-.5*u-Og*s),t.closePath()}},Ng=[kg,Lg,Tg,Ag,Eg,jg,Fg],Bg=function(){var t=Ey(kg),e=Ey(64),n=null;function r(){var r;if(n||(n=r=Ha()),t.apply(this,arguments).draw(n,+e.apply(this,arguments)),r)return n=null,r+""||null}return r.type=function(e){return arguments.length?(t="function"==typeof e?e:Ey(e),r):t},r.size=function(t){return arguments.length?(e="function"==typeof t?t:Ey(+t),r):e},r.context=function(t){return arguments.length?(n=null==t?null:t,r):n},r},Rg=function(){};function Ig(t,e,n){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+e)/6,(t._y0+4*t._y1+n)/6)}function zg(t){this._context=t}zg.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:Ig(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,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);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:Ig(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};var Wg=function(t){return new zg(t)};function qg(t){this._context=t}qg.prototype={areaStart:Rg,areaEnd:Rg,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,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:Ig(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};var Ug=function(t){return new qg(t)};function Vg(t){this._context=t}Vg.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,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+t)/6,r=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:Ig(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};var $g=function(t){return new Vg(t)};function Gg(t,e){this._basis=new zg(t),this._beta=e}Gg.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,n=t.length-1;if(n>0)for(var r,i=t[0],a=e[0],o=t[n]-i,s=e[n]-a,u=-1;++u<=n;)r=u/n,this._basis.point(this._beta*t[u]+(1-this._beta)*(i+r*o),this._beta*e[u]+(1-this._beta)*(a+r*s));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};var Jg=function t(e){function n(t){return 1===e?new zg(t):new Gg(t,e)}return n.beta=function(e){return t(+e)},n}(.85);function Xg(t,e,n){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-e),t._y2+t._k*(t._y1-n),t._x2,t._y2)}function Zg(t,e){this._context=t,this._k=(1-e)/6}Zg.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:Xg(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:Xg(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var Kg=function t(e){function n(t){return new Zg(t,e)}return n.tension=function(e){return t(+e)},n}(0);function Qg(t,e){this._context=t,this._k=(1-e)/6}Qg.prototype={areaStart:Rg,areaEnd:Rg,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,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:Xg(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var tv=function t(e){function n(t){return new Qg(t,e)}return n.tension=function(e){return t(+e)},n}(0);function ev(t,e){this._context=t,this._k=(1-e)/6}ev.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,e){switch(t=+t,e=+e,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:Xg(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var nv=function t(e){function n(t){return new ev(t,e)}return n.tension=function(e){return t(+e)},n}(0);function rv(t,e,n){var r=t._x1,i=t._y1,a=t._x2,o=t._y2;if(t._l01_a>Ny){var s=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,u=3*t._l01_a*(t._l01_a+t._l12_a);r=(r*s-t._x0*t._l12_2a+t._x2*t._l01_2a)/u,i=(i*s-t._y0*t._l12_2a+t._y2*t._l01_2a)/u}if(t._l23_a>Ny){var c=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,l=3*t._l23_a*(t._l23_a+t._l12_a);a=(a*c+t._x1*t._l23_2a-e*t._l12_2a)/l,o=(o*c+t._y1*t._l23_2a-n*t._l12_2a)/l}t._context.bezierCurveTo(r,i,a,o,t._x2,t._y2)}function iv(t,e){this._context=t,this._alpha=e}iv.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,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:rv(this,t,e)}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=e}};var av=function t(e){function n(t){return e?new iv(t,e):new Zg(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function ov(t,e){this._context=t,this._alpha=e}ov.prototype={areaStart:Rg,areaEnd:Rg,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,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:rv(this,t,e)}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=e}};var sv=function t(e){function n(t){return e?new ov(t,e):new Qg(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function uv(t,e){this._context=t,this._alpha=e}uv.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,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+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:rv(this,t,e)}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=e}};var cv=function t(e){function n(t){return e?new uv(t,e):new ev(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function lv(t){this._context=t}lv.prototype={areaStart:Rg,areaEnd:Rg,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}};var dv=function(t){return new lv(t)};function fv(t){return t<0?-1:1}function hv(t,e,n){var r=t._x1-t._x0,i=e-t._x1,a=(t._y1-t._y0)/(r||i<0&&-0),o=(n-t._y1)/(i||r<0&&-0),s=(a*i+o*r)/(r+i);return(fv(a)+fv(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function _v(t,e){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-e)/2:e}function pv(t,e,n){var r=t._x0,i=t._y0,a=t._x1,o=t._y1,s=(a-r)/3;t._context.bezierCurveTo(r+s,i+s*e,a-s,o-s*n,a,o)}function mv(t){this._context=t}function yv(t){this._context=new gv(t)}function gv(t){this._context=t}function vv(t){return new mv(t)}function Mv(t){return new yv(t)}function bv(t){this._context=t}function kv(t){var e,n,r=t.length-1,i=new Array(r),a=new Array(r),o=new Array(r);for(i[0]=0,a[0]=2,o[0]=t[0]+2*t[1],e=1;e<r-1;++e)i[e]=1,a[e]=4,o[e]=4*t[e]+2*t[e+1];for(i[r-1]=2,a[r-1]=7,o[r-1]=8*t[r-1]+t[r],e=1;e<r;++e)n=i[e]/a[e-1],a[e]-=n,o[e]-=n*o[e-1];for(i[r-1]=o[r-1]/a[r-1],e=r-2;e>=0;--e)i[e]=(o[e]-i[e+1])/a[e];for(a[r-1]=(t[r]+i[r-1])/2,e=0;e<r-1;++e)a[e]=2*t[e+1]-i[e+1];return[i,a]}mv.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:pv(this,this._t0,_v(this,this._t0))}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var n=NaN;if(e=+e,(t=+t)!==this._x1||e!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,pv(this,_v(this,n=hv(this,t,e)),n);break;default:pv(this,this._t0,n=hv(this,t,e))}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=n}}},(yv.prototype=Object.create(mv.prototype)).point=function(t,e){mv.prototype.point.call(this,e,t)},gv.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,n,r,i,a){this._context.bezierCurveTo(e,t,r,n,a,i)}},bv.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,n=t.length;if(n)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),2===n)this._context.lineTo(t[1],e[1]);else for(var r=kv(t),i=kv(e),a=0,o=1;o<n;++a,++o)this._context.bezierCurveTo(r[0][a],i[0][a],r[1][a],i[1][a],t[o],e[o]);(this._line||0!==this._line&&1===n)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(t,e){this._x.push(+t),this._y.push(+e)}};var Lv=function(t){return new bv(t)};function wv(t,e){this._context=t,this._t=e}wv.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,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var n=this._x*(1-this._t)+t*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,e)}}this._x=t,this._y=e}};var xv=function(t){return new wv(t,.5)};function Tv(t){return new wv(t,0)}function Dv(t){return new wv(t,1)}var Yv=function(t,e){if((i=t.length)>1)for(var n,r,i,a=1,o=t[e[0]],s=o.length;a<i;++a)for(r=o,o=t[e[a]],n=0;n<s;++n)o[n][1]+=o[n][0]=isNaN(r[n][1])?r[n][0]:r[n][1]},Sv=function(t){for(var e=t.length,n=new Array(e);--e>=0;)n[e]=e;return n};function Ev(t,e){return t[e]}var Av=function(){var t=Ey([]),e=Sv,n=Yv,r=Ev;function i(i){var a,o,s=t.apply(this,arguments),u=i.length,c=s.length,l=new Array(c);for(a=0;a<c;++a){for(var d,f=s[a],h=l[a]=new Array(u),_=0;_<u;++_)h[_]=d=[0,+r(i[_],f,_,i)],d.data=i[_];h.key=f}for(a=0,o=e(l);a<c;++a)l[o[a]].index=a;return n(l,o),l}return i.keys=function(e){return arguments.length?(t="function"==typeof e?e:Ey(fg.call(e)),i):t},i.value=function(t){return arguments.length?(r="function"==typeof t?t:Ey(+t),i):r},i.order=function(t){return arguments.length?(e=null==t?Sv:"function"==typeof t?t:Ey(fg.call(t)),i):e},i.offset=function(t){return arguments.length?(n=null==t?Yv:t,i):n},i},Cv=function(t,e){if((r=t.length)>0){for(var n,r,i,a=0,o=t[0].length;a<o;++a){for(i=n=0;n<r;++n)i+=t[n][a][1]||0;if(i)for(n=0;n<r;++n)t[n][a][1]/=i}Yv(t,e)}},jv=function(t,e){if((s=t.length)>1)for(var n,r,i,a,o,s,u=0,c=t[e[0]].length;u<c;++u)for(a=o=0,n=0;n<s;++n)(i=(r=t[e[n]][u])[1]-r[0])>=0?(r[0]=a,r[1]=a+=i):i<0?(r[1]=o,r[0]=o+=i):r[0]=a},Ov=function(t,e){if((n=t.length)>0){for(var n,r=0,i=t[e[0]],a=i.length;r<a;++r){for(var o=0,s=0;o<n;++o)s+=t[o][r][1]||0;i[r][1]+=i[r][0]=-s/2}Yv(t,e)}},Hv=function(t,e){if((i=t.length)>0&&(r=(n=t[e[0]]).length)>0){for(var n,r,i,a=0,o=1;o<r;++o){for(var s=0,u=0,c=0;s<i;++s){for(var l=t[e[s]],d=l[o][1]||0,f=(d-(l[o-1][1]||0))/2,h=0;h<s;++h){var _=t[e[h]];f+=(_[o][1]||0)-(_[o-1][1]||0)}u+=d,c+=f*d}n[o-1][1]+=n[o-1][0]=a,u&&(a-=c/u)}n[o-1][1]+=n[o-1][0]=a,Yv(t,e)}},Pv=function(t){var e=t.map(Fv);return Sv(t).sort(function(t,n){return e[t]-e[n]})};function Fv(t){for(var e,n=0,r=-1,i=t.length;++r<i;)(e=+t[r][1])&&(n+=e);return n}var Nv=function(t){return Pv(t).reverse()},Bv=function(t){var e,n,r=t.length,i=t.map(Fv),a=Sv(t).sort(function(t,e){return i[e]-i[t]}),o=0,s=0,u=[],c=[];for(e=0;e<r;++e)n=a[e],o<s?(o+=i[n],u.push(n)):(s+=i[n],c.push(n));return c.reverse().concat(u)},Rv=function(t){return Sv(t).reverse()},Iv=function(t){return function(){return t}};function zv(t){return t[0]}function Wv(t){return t[1]}function qv(){this._=null}function Uv(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function Vv(t,e){var n=e,r=e.R,i=n.U;i?i.L===n?i.L=r:i.R=r:t._=r,r.U=i,n.U=r,n.R=r.L,n.R&&(n.R.U=n),r.L=n}function $v(t,e){var n=e,r=e.L,i=n.U;i?i.L===n?i.L=r:i.R=r:t._=r,r.U=i,n.U=r,n.L=r.R,n.L&&(n.L.U=n),r.R=n}function Gv(t){for(;t.L;)t=t.L;return t}qv.prototype={constructor:qv,insert:function(t,e){var n,r,i;if(t){if(e.P=t,e.N=t.N,t.N&&(t.N.P=e),t.N=e,t.R){for(t=t.R;t.L;)t=t.L;t.L=e}else t.R=e;n=t}else this._?(t=Gv(this._),e.P=null,e.N=t,t.P=t.L=e,n=t):(e.P=e.N=null,this._=e,n=null);for(e.L=e.R=null,e.U=n,e.C=!0,t=e;n&&n.C;)n===(r=n.U).L?(i=r.R)&&i.C?(n.C=i.C=!1,r.C=!0,t=r):(t===n.R&&(Vv(this,n),n=(t=n).U),n.C=!1,r.C=!0,$v(this,r)):(i=r.L)&&i.C?(n.C=i.C=!1,r.C=!0,t=r):(t===n.L&&($v(this,n),n=(t=n).U),n.C=!1,r.C=!0,Vv(this,r)),n=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 e,n,r,i=t.U,a=t.L,o=t.R;if(n=a?o?Gv(o):a:o,i?i.L===t?i.L=n:i.R=n:this._=n,a&&o?(r=n.C,n.C=t.C,n.L=a,a.U=n,n!==o?(i=n.U,n.U=t.U,t=n.R,i.L=t,n.R=o,o.U=n):(n.U=i,i=n,t=n.R)):(r=t.C,t=n),t&&(t.U=i),!r)if(t&&t.C)t.C=!1;else{do{if(t===this._)break;if(t===i.L){if((e=i.R).C&&(e.C=!1,i.C=!0,Vv(this,i),e=i.R),e.L&&e.L.C||e.R&&e.R.C){e.R&&e.R.C||(e.L.C=!1,e.C=!0,$v(this,e),e=i.R),e.C=i.C,i.C=e.R.C=!1,Vv(this,i),t=this._;break}}else if((e=i.L).C&&(e.C=!1,i.C=!0,$v(this,i),e=i.L),e.L&&e.L.C||e.R&&e.R.C){e.L&&e.L.C||(e.R.C=!1,e.C=!0,Vv(this,e),e=i.L),e.C=i.C,i.C=e.L.C=!1,$v(this,i),t=this._;break}e.C=!0,t=i,i=i.U}while(!t.C);t&&(t.C=!1)}}};var Jv=qv;function Xv(t,e,n,r){var i=[null,null],a=gM.push(i)-1;return i.left=t,i.right=e,n&&Kv(i,t,e,n),r&&Kv(i,e,t,r),mM[t.index].halfedges.push(a),mM[e.index].halfedges.push(a),i}function Zv(t,e,n){var r=[e,n];return r.left=t,r}function Kv(t,e,n,r){t[0]||t[1]?t.left===n?t[1]=r:t[0]=r:(t[0]=r,t.left=e,t.right=n)}function Qv(t,e,n,r,i){var a,o=t[0],s=t[1],u=o[0],c=o[1],l=0,d=1,f=s[0]-u,h=s[1]-c;if(a=e-u,f||!(a>0)){if(a/=f,f<0){if(a<l)return;a<d&&(d=a)}else if(f>0){if(a>d)return;a>l&&(l=a)}if(a=r-u,f||!(a<0)){if(a/=f,f<0){if(a>d)return;a>l&&(l=a)}else if(f>0){if(a<l)return;a<d&&(d=a)}if(a=n-c,h||!(a>0)){if(a/=h,h<0){if(a<l)return;a<d&&(d=a)}else if(h>0){if(a>d)return;a>l&&(l=a)}if(a=i-c,h||!(a<0)){if(a/=h,h<0){if(a>d)return;a>l&&(l=a)}else if(h>0){if(a<l)return;a<d&&(d=a)}return!(l>0||d<1)||(l>0&&(t[0]=[u+l*f,c+l*h]),d<1&&(t[1]=[u+d*f,c+d*h]),!0)}}}}}function tM(t,e,n,r,i){var a=t[1];if(a)return!0;var o,s,u=t[0],c=t.left,l=t.right,d=c[0],f=c[1],h=l[0],_=l[1],p=(d+h)/2,m=(f+_)/2;if(_===f){if(p<e||p>=r)return;if(d>h){if(u){if(u[1]>=i)return}else u=[p,n];a=[p,i]}else{if(u){if(u[1]<n)return}else u=[p,i];a=[p,n]}}else if(s=m-(o=(d-h)/(_-f))*p,o<-1||o>1)if(d>h){if(u){if(u[1]>=i)return}else u=[(n-s)/o,n];a=[(i-s)/o,i]}else{if(u){if(u[1]<n)return}else u=[(i-s)/o,i];a=[(n-s)/o,n]}else if(f<_){if(u){if(u[0]>=r)return}else u=[e,o*e+s];a=[r,o*r+s]}else{if(u){if(u[0]<e)return}else u=[r,o*r+s];a=[e,o*e+s]}return t[0]=u,t[1]=a,!0}function eM(t,e){var n=t.site,r=e.left,i=e.right;return n===i&&(i=r,r=n),i?Math.atan2(i[1]-r[1],i[0]-r[0]):(n===r?(r=e[1],i=e[0]):(r=e[0],i=e[1]),Math.atan2(r[0]-i[0],i[1]-r[1]))}function nM(t,e){return e[+(e.left!==t.site)]}function rM(t,e){return e[+(e.left===t.site)]}var iM,aM=[];function oM(t){var e=t.P,n=t.N;if(e&&n){var r=e.site,i=t.site,a=n.site;if(r!==a){var o=i[0],s=i[1],u=r[0]-o,c=r[1]-s,l=a[0]-o,d=a[1]-s,f=2*(u*d-c*l);if(!(f>=-MM)){var h=u*u+c*c,_=l*l+d*d,p=(d*h-c*_)/f,m=(u*_-l*h)/f,y=aM.pop()||new function(){Uv(this),this.x=this.y=this.arc=this.site=this.cy=null};y.arc=t,y.site=i,y.x=p+o,y.y=(y.cy=m+s)+Math.sqrt(p*p+m*m),t.circle=y;for(var g=null,v=yM._;v;)if(y.y<v.y||y.y===v.y&&y.x<=v.x){if(!v.L){g=v.P;break}v=v.L}else{if(!v.R){g=v;break}v=v.R}yM.insert(g,y),g||(iM=y)}}}}function sM(t){var e=t.circle;e&&(e.P||(iM=e.N),yM.remove(e),aM.push(e),Uv(e),t.circle=null)}var uM=[];function cM(t){var e=uM.pop()||new function(){Uv(this),this.edge=this.site=this.circle=null};return e.site=t,e}function lM(t){sM(t),pM.remove(t),uM.push(t),Uv(t)}function dM(t){var e=t.circle,n=e.x,r=e.cy,i=[n,r],a=t.P,o=t.N,s=[t];lM(t);for(var u=a;u.circle&&Math.abs(n-u.circle.x)<vM&&Math.abs(r-u.circle.cy)<vM;)a=u.P,s.unshift(u),lM(u),u=a;s.unshift(u),sM(u);for(var c=o;c.circle&&Math.abs(n-c.circle.x)<vM&&Math.abs(r-c.circle.cy)<vM;)o=c.N,s.push(c),lM(c),c=o;s.push(c),sM(c);var l,d=s.length;for(l=1;l<d;++l)c=s[l],u=s[l-1],Kv(c.edge,u.site,c.site,i);u=s[0],(c=s[d-1]).edge=Xv(u.site,c.site,null,i),oM(u),oM(c)}function fM(t){for(var e,n,r,i,a=t[0],o=t[1],s=pM._;s;)if((r=hM(s,o)-a)>vM)s=s.L;else{if(!((i=a-_M(s,o))>vM)){r>-vM?(e=s.P,n=s):i>-vM?(e=s,n=s.N):e=n=s;break}if(!s.R){e=s;break}s=s.R}!function(t){mM[t.index]={site:t,halfedges:[]}}(t);var u=cM(t);if(pM.insert(e,u),e||n){if(e===n)return sM(e),n=cM(e.site),pM.insert(u,n),u.edge=n.edge=Xv(e.site,u.site),oM(e),void oM(n);if(n){sM(e),sM(n);var c=e.site,l=c[0],d=c[1],f=t[0]-l,h=t[1]-d,_=n.site,p=_[0]-l,m=_[1]-d,y=2*(f*m-h*p),g=f*f+h*h,v=p*p+m*m,M=[(m*g-h*v)/y+l,(f*v-p*g)/y+d];Kv(n.edge,c,_,M),u.edge=Xv(c,t,null,M),n.edge=Xv(t,_,null,M),oM(e),oM(n)}else u.edge=Xv(e.site,u.site)}}function hM(t,e){var n=t.site,r=n[0],i=n[1],a=i-e;if(!a)return r;var o=t.P;if(!o)return-1/0;var s=(n=o.site)[0],u=n[1],c=u-e;if(!c)return s;var l=s-r,d=1/a-1/c,f=l/c;return d?(-f+Math.sqrt(f*f-2*d*(l*l/(-2*c)-u+c/2+i-a/2)))/d+r:(r+s)/2}function _M(t,e){var n=t.N;if(n)return hM(n,e);var r=t.site;return r[1]===e?r[0]:1/0}var pM,mM,yM,gM,vM=1e-6,MM=1e-12;function bM(t,e){return e[1]-t[1]||e[0]-t[0]}function kM(t,e){var n,r,i,a=t.sort(bM).pop();for(gM=[],mM=new Array(t.length),pM=new Jv,yM=new Jv;;)if(i=iM,a&&(!i||a[1]<i.y||a[1]===i.y&&a[0]<i.x))a[0]===n&&a[1]===r||(fM(a),n=a[0],r=a[1]),a=t.pop();else{if(!i)break;dM(i.arc)}if(function(){for(var t,e,n,r,i=0,a=mM.length;i<a;++i)if((t=mM[i])&&(r=(e=t.halfedges).length)){var o=new Array(r),s=new Array(r);for(n=0;n<r;++n)o[n]=n,s[n]=eM(t,gM[e[n]]);for(o.sort(function(t,e){return s[e]-s[t]}),n=0;n<r;++n)s[n]=e[o[n]];for(n=0;n<r;++n)e[n]=s[n]}}(),e){var o=+e[0][0],s=+e[0][1],u=+e[1][0],c=+e[1][1];!function(t,e,n,r){for(var i,a=gM.length;a--;)tM(i=gM[a],t,e,n,r)&&Qv(i,t,e,n,r)&&(Math.abs(i[0][0]-i[1][0])>vM||Math.abs(i[0][1]-i[1][1])>vM)||delete gM[a]}(o,s,u,c),function(t,e,n,r){var i,a,o,s,u,c,l,d,f,h,_,p,m=mM.length,y=!0;for(i=0;i<m;++i)if(a=mM[i]){for(o=a.site,s=(u=a.halfedges).length;s--;)gM[u[s]]||u.splice(s,1);for(s=0,c=u.length;s<c;)_=(h=rM(a,gM[u[s]]))[0],p=h[1],d=(l=nM(a,gM[u[++s%c]]))[0],f=l[1],(Math.abs(_-d)>vM||Math.abs(p-f)>vM)&&(u.splice(s,0,gM.push(Zv(o,h,Math.abs(_-t)<vM&&r-p>vM?[t,Math.abs(d-t)<vM?f:r]:Math.abs(p-r)<vM&&n-_>vM?[Math.abs(f-r)<vM?d:n,r]:Math.abs(_-n)<vM&&p-e>vM?[n,Math.abs(d-n)<vM?f:e]:Math.abs(p-e)<vM&&_-t>vM?[Math.abs(f-e)<vM?d:t,e]:null))-1),++c);c&&(y=!1)}if(y){var g,v,M,b=1/0;for(i=0,y=null;i<m;++i)(a=mM[i])&&(M=(g=(o=a.site)[0]-t)*g+(v=o[1]-e)*v)<b&&(b=M,y=a);if(y){var k=[t,e],L=[t,r],w=[n,r],x=[n,e];y.halfedges.push(gM.push(Zv(o=y.site,k,L))-1,gM.push(Zv(o,L,w))-1,gM.push(Zv(o,w,x))-1,gM.push(Zv(o,x,k))-1)}}for(i=0;i<m;++i)(a=mM[i])&&(a.halfedges.length||delete mM[i])}(o,s,u,c)}this.edges=gM,this.cells=mM,pM=yM=gM=mM=null}kM.prototype={constructor:kM,polygons:function(){var t=this.edges;return this.cells.map(function(e){var n=e.halfedges.map(function(n){return nM(e,t[n])});return n.data=e.site.data,n})},triangles:function(){var t=[],e=this.edges;return this.cells.forEach(function(n,r){if(a=(i=n.halfedges).length)for(var i,a,o,s,u,c,l=n.site,d=-1,f=e[i[a-1]],h=f.left===l?f.right:f.left;++d<a;)o=h,h=(f=e[i[d]]).left===l?f.right:f.left,o&&h&&r<o.index&&r<h.index&&(u=o,c=h,((s=l)[0]-c[0])*(u[1]-s[1])-(s[0]-u[0])*(c[1]-s[1])<0)&&t.push([l.data,o.data,h.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,e,n){for(var r,i,a=this,o=a._found||0,s=a.cells.length;!(i=a.cells[o]);)if(++o>=s)return null;var u=t-i.site[0],c=e-i.site[1],l=u*u+c*c;do{i=a.cells[r=o],o=null,i.halfedges.forEach(function(n){var r=a.edges[n],s=r.left;if(s!==i.site&&s||(s=r.right)){var u=t-s[0],c=e-s[1],d=u*u+c*c;d<l&&(l=d,o=s.index)}})}while(null!==o);return a._found=r,null==n||l<=n*n?i.site:null}};var LM=function(){var t=zv,e=Wv,n=null;function r(r){return new kM(r.map(function(n,i){var a=[Math.round(t(n,i,r)/vM)*vM,Math.round(e(n,i,r)/vM)*vM];return a.index=i,a.data=n,a}),n)}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(e){return arguments.length?(t="function"==typeof e?e:Iv(+e),r):t},r.y=function(t){return arguments.length?(e="function"==typeof t?t:Iv(+t),r):e},r.extent=function(t){return arguments.length?(n=null==t?null:[[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]],r):n&&[[n[0][0],n[0][1]],[n[1][0],n[1][1]]]},r.size=function(t){return arguments.length?(n=null==t?null:[[0,0],[+t[0],+t[1]]],r):n&&[n[1][0]-n[0][0],n[1][1]-n[0][1]]},r},wM=function(t){return function(){return t}};function xM(t,e,n){this.k=t,this.x=e,this.y=n}xM.prototype={constructor:xM,scale:function(t){return 1===t?this:new xM(this.k*t,this.x,this.y)},translate:function(t,e){return 0===t&0===e?this:new xM(this.k,this.x+this.k*t,this.y+this.k*e)},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 TM=new xM(1,0,0);function DM(t){return t.__zoom||TM}function YM(){$t.stopImmediatePropagation()}DM.prototype=xM.prototype;var SM=function(){$t.preventDefault(),$t.stopImmediatePropagation()};function EM(){return!$t.button}function AM(){var t,e,n=this;return n instanceof SVGElement?(t=(n=n.ownerSVGElement||n).width.baseVal.value,e=n.height.baseVal.value):(t=n.clientWidth,e=n.clientHeight),[[0,0],[t,e]]}function CM(){return this.__zoom||TM}function jM(){return-$t.deltaY*($t.deltaMode?120:1)/500}function OM(){return"ontouchstart"in this}function HM(t,e,n){var r=t.invertX(e[0][0])-n[0][0],i=t.invertX(e[1][0])-n[1][0],a=t.invertY(e[0][1])-n[0][1],o=t.invertY(e[1][1])-n[1][1];return t.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),o>a?(a+o)/2:Math.min(0,a)||Math.max(0,o))}var PM=function(){var t,e,n=EM,r=AM,i=HM,a=jM,o=OM,s=[0,1/0],u=[[-1/0,-1/0],[1/0,1/0]],c=250,l=rr,d=[],f=ft("start","zoom","end"),h=500,_=150,p=0;function m(t){t.property("__zoom",CM).on("wheel.zoom",L).on("mousedown.zoom",w).on("dblclick.zoom",x).filter(o).on("touchstart.zoom",T).on("touchmove.zoom",D).on("touchend.zoom touchcancel.zoom",Y).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function y(t,e){return(e=Math.max(s[0],Math.min(s[1],e)))===t.k?t:new xM(e,t.x,t.y)}function g(t,e,n){var r=e[0]-n[0]*t.k,i=e[1]-n[1]*t.k;return r===t.x&&i===t.y?t:new xM(t.k,r,i)}function v(t){return[(+t[0][0]+ +t[1][0])/2,(+t[0][1]+ +t[1][1])/2]}function M(t,e,n){t.on("start.zoom",function(){b(this,arguments).start()}).on("interrupt.zoom end.zoom",function(){b(this,arguments).end()}).tween("zoom",function(){var t=arguments,i=b(this,t),a=r.apply(this,t),o=n||v(a),s=Math.max(a[1][0]-a[0][0],a[1][1]-a[0][1]),u=this.__zoom,c="function"==typeof e?e.apply(this,t):e,d=l(u.invert(o).concat(s/u.k),c.invert(o).concat(s/c.k));return function(t){if(1===t)t=c;else{var e=d(t),n=s/e[2];t=new xM(n,o[0]-e[0]*n,o[1]-e[1]*n)}i.zoom(null,t)}})}function b(t,e){for(var n,r=0,i=d.length;r<i;++r)if((n=d[r]).that===t)return n;return new k(t,e)}function k(t,e){this.that=t,this.args=e,this.index=-1,this.active=0,this.extent=r.apply(t,e)}function L(){if(n.apply(this,arguments)){var t=b(this,arguments),e=this.__zoom,r=Math.max(s[0],Math.min(s[1],e.k*Math.pow(2,a.apply(this,arguments)))),o=de(this);if(t.wheel)t.mouse[0][0]===o[0]&&t.mouse[0][1]===o[1]||(t.mouse[1]=e.invert(t.mouse[0]=o)),clearTimeout(t.wheel);else{if(e.k===r)return;t.mouse=[o,e.invert(o)],Jr(this),t.start()}SM(),t.wheel=setTimeout(function(){t.wheel=null,t.end()},_),t.zoom("mouse",i(g(y(e,r),t.mouse[0],t.mouse[1]),t.extent,u))}}function w(){if(!e&&n.apply(this,arguments)){var t=b(this,arguments),r=ie($t.view).on("mousemove.zoom",function(){if(SM(),!t.moved){var e=$t.clientX-o,n=$t.clientY-s;t.moved=e*e+n*n>p}t.zoom("mouse",i(g(t.that.__zoom,t.mouse[0]=de(t.that),t.mouse[1]),t.extent,u))},!0).on("mouseup.zoom",function(){r.on("mousemove.zoom mouseup.zoom",null),ge($t.view,t.moved),SM(),t.end()},!0),a=de(this),o=$t.clientX,s=$t.clientY;ye($t.view),YM(),t.mouse=[a,this.__zoom.invert(a)],Jr(this),t.start()}}function x(){if(n.apply(this,arguments)){var t=this.__zoom,e=de(this),a=t.invert(e),o=t.k*($t.shiftKey?.5:2),s=i(g(y(t,o),e,a),r.apply(this,arguments),u);SM(),c>0?ie(this).transition().duration(c).call(M,s,e):ie(this).call(m.transform,s)}}function T(){if(n.apply(this,arguments)){var e,r,i,a,o=b(this,arguments),s=$t.changedTouches,u=s.length;for(YM(),r=0;r<u;++r)i=s[r],a=[a=he(this,s,i.identifier),this.__zoom.invert(a),i.identifier],o.touch0?o.touch1||(o.touch1=a):(o.touch0=a,e=!0);if(t&&(t=clearTimeout(t),!o.touch1))return o.end(),void((a=ie(this).on("dblclick.zoom"))&&a.apply(this,arguments));e&&(t=setTimeout(function(){t=null},h),Jr(this),o.start())}}function D(){var e,n,r,a,o=b(this,arguments),s=$t.changedTouches,c=s.length;for(SM(),t&&(t=clearTimeout(t)),e=0;e<c;++e)n=s[e],r=he(this,s,n.identifier),o.touch0&&o.touch0[2]===n.identifier?o.touch0[0]=r:o.touch1&&o.touch1[2]===n.identifier&&(o.touch1[0]=r);if(n=o.that.__zoom,o.touch1){var l=o.touch0[0],d=o.touch0[1],f=o.touch1[0],h=o.touch1[1],_=(_=f[0]-l[0])*_+(_=f[1]-l[1])*_,p=(p=h[0]-d[0])*p+(p=h[1]-d[1])*p;n=y(n,Math.sqrt(_/p)),r=[(l[0]+f[0])/2,(l[1]+f[1])/2],a=[(d[0]+h[0])/2,(d[1]+h[1])/2]}else{if(!o.touch0)return;r=o.touch0[0],a=o.touch0[1]}o.zoom("touch",i(g(n,r,a),o.extent,u))}function Y(){var t,n,r=b(this,arguments),i=$t.changedTouches,a=i.length;for(YM(),e&&clearTimeout(e),e=setTimeout(function(){e=null},h),t=0;t<a;++t)n=i[t],r.touch0&&r.touch0[2]===n.identifier?delete r.touch0:r.touch1&&r.touch1[2]===n.identifier&&delete r.touch1;r.touch1&&!r.touch0&&(r.touch0=r.touch1,delete r.touch1),r.touch0?r.touch0[1]=this.__zoom.invert(r.touch0[0]):r.end()}return m.transform=function(t,e){var n=t.selection?t.selection():t;n.property("__zoom",CM),t!==n?M(t,e):n.interrupt().each(function(){b(this,arguments).start().zoom(null,"function"==typeof e?e.apply(this,arguments):e).end()})},m.scaleBy=function(t,e){m.scaleTo(t,function(){return this.__zoom.k*("function"==typeof e?e.apply(this,arguments):e)})},m.scaleTo=function(t,e){m.transform(t,function(){var t=r.apply(this,arguments),n=this.__zoom,a=v(t),o=n.invert(a),s="function"==typeof e?e.apply(this,arguments):e;return i(g(y(n,s),a,o),t,u)})},m.translateBy=function(t,e,n){m.transform(t,function(){return i(this.__zoom.translate("function"==typeof e?e.apply(this,arguments):e,"function"==typeof n?n.apply(this,arguments):n),r.apply(this,arguments),u)})},m.translateTo=function(t,e,n){m.transform(t,function(){var t=r.apply(this,arguments),a=this.__zoom,o=v(t);return i(TM.translate(o[0],o[1]).scale(a.k).translate("function"==typeof e?-e.apply(this,arguments):-e,"function"==typeof n?-n.apply(this,arguments):-n),t,u)})},k.prototype={start:function(){return 1==++this.active&&(this.index=d.push(this)-1,this.emit("start")),this},zoom:function(t,e){return this.mouse&&"mouse"!==t&&(this.mouse[1]=e.invert(this.mouse[0])),this.touch0&&"touch"!==t&&(this.touch0[1]=e.invert(this.touch0[0])),this.touch1&&"touch"!==t&&(this.touch1[1]=e.invert(this.touch1[0])),this.that.__zoom=e,this.emit("zoom"),this},end:function(){return 0==--this.active&&(d.splice(this.index,1),this.index=-1,this.emit("end")),this},emit:function(t){Kt(new function(t,e,n){this.target=t,this.type=e,this.transform=n}(m,t,this.that.__zoom),f.apply,f,[t,this.that,this.args])}},m.wheelDelta=function(t){return arguments.length?(a="function"==typeof t?t:wM(+t),m):a},m.filter=function(t){return arguments.length?(n="function"==typeof t?t:wM(!!t),m):n},m.touchable=function(t){return arguments.length?(o="function"==typeof t?t:wM(!!t),m):o},m.extent=function(t){return arguments.length?(r="function"==typeof t?t:wM([[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]]),m):r},m.scaleExtent=function(t){return arguments.length?(s[0]=+t[0],s[1]=+t[1],m):[s[0],s[1]]},m.translateExtent=function(t){return arguments.length?(u[0][0]=+t[0][0],u[1][0]=+t[1][0],u[0][1]=+t[0][1],u[1][1]=+t[1][1],m):[[u[0][0],u[0][1]],[u[1][0],u[1][1]]]},m.constrain=function(t){return arguments.length?(i=t,m):i},m.duration=function(t){return arguments.length?(c=+t,m):c},m.interpolate=function(t){return arguments.length?(l=t,m):l},m.on=function(){var t=f.on.apply(f,arguments);return t===f?m:t},m.clickDistance=function(t){return arguments.length?(p=(t=+t)*t,m):Math.sqrt(p)},m};n.d(e,"version",function(){return"4.13.0"}),n.d(e,"bisect",function(){return u}),n.d(e,"bisectRight",function(){return o}),n.d(e,"bisectLeft",function(){return s}),n.d(e,"ascending",function(){return r}),n.d(e,"bisector",function(){return i}),n.d(e,"cross",function(){return d}),n.d(e,"descending",function(){return f}),n.d(e,"deviation",function(){return p}),n.d(e,"extent",function(){return m}),n.d(e,"histogram",function(){return E}),n.d(e,"thresholdFreedmanDiaconis",function(){return C}),n.d(e,"thresholdScott",function(){return j}),n.d(e,"thresholdSturges",function(){return S}),n.d(e,"max",function(){return O}),n.d(e,"mean",function(){return H}),n.d(e,"median",function(){return P}),n.d(e,"merge",function(){return F}),n.d(e,"min",function(){return N}),n.d(e,"pairs",function(){return c}),n.d(e,"permute",function(){return B}),n.d(e,"quantile",function(){return A}),n.d(e,"range",function(){return k}),n.d(e,"scan",function(){return R}),n.d(e,"shuffle",function(){return I}),n.d(e,"sum",function(){return z}),n.d(e,"ticks",function(){return T}),n.d(e,"tickIncrement",function(){return D}),n.d(e,"tickStep",function(){return Y}),n.d(e,"transpose",function(){return W}),n.d(e,"variance",function(){return _}),n.d(e,"zip",function(){return U}),n.d(e,"axisTop",function(){return rt}),n.d(e,"axisRight",function(){return it}),n.d(e,"axisBottom",function(){return at}),n.d(e,"axisLeft",function(){return ot}),n.d(e,"brush",function(){return va}),n.d(e,"brushX",function(){return ya}),n.d(e,"brushY",function(){return ga}),n.d(e,"brushSelection",function(){return ma}),n.d(e,"chord",function(){return Da}),n.d(e,"ribbon",function(){return Ia}),n.d(e,"nest",function(){return Ua}),n.d(e,"set",function(){return Qa}),n.d(e,"map",function(){return qa}),n.d(e,"keys",function(){return to}),n.d(e,"values",function(){return eo}),n.d(e,"entries",function(){return no}),n.d(e,"color",function(){return Ie}),n.d(e,"rgb",function(){return Ue}),n.d(e,"hsl",function(){return Ge}),n.d(e,"lab",function(){return un}),n.d(e,"hcl",function(){return _n}),n.d(e,"cubehelix",function(){return kn}),n.d(e,"dispatch",function(){return ft}),n.d(e,"drag",function(){return xe}),n.d(e,"dragDisable",function(){return ye}),n.d(e,"dragEnable",function(){return ge}),n.d(e,"dsvFormat",function(){return co}),n.d(e,"csvParse",function(){return fo}),n.d(e,"csvParseRows",function(){return ho}),n.d(e,"csvFormat",function(){return _o}),n.d(e,"csvFormatRows",function(){return po}),n.d(e,"tsvParse",function(){return yo}),n.d(e,"tsvParseRows",function(){return go}),n.d(e,"tsvFormat",function(){return vo}),n.d(e,"tsvFormatRows",function(){return Mo}),n.d(e,"easeLinear",function(){return ii}),n.d(e,"easeQuad",function(){return si}),n.d(e,"easeQuadIn",function(){return ai}),n.d(e,"easeQuadOut",function(){return oi}),n.d(e,"easeQuadInOut",function(){return si}),n.d(e,"easeCubic",function(){return li}),n.d(e,"easeCubicIn",function(){return ui}),n.d(e,"easeCubicOut",function(){return ci}),n.d(e,"easeCubicInOut",function(){return li}),n.d(e,"easePoly",function(){return hi}),n.d(e,"easePolyIn",function(){return di}),n.d(e,"easePolyOut",function(){return fi}),n.d(e,"easePolyInOut",function(){return hi}),n.d(e,"easeSin",function(){return gi}),n.d(e,"easeSinIn",function(){return mi}),n.d(e,"easeSinOut",function(){return yi}),n.d(e,"easeSinInOut",function(){return gi}),n.d(e,"easeExp",function(){return bi}),n.d(e,"easeExpIn",function(){return vi}),n.d(e,"easeExpOut",function(){return Mi}),n.d(e,"easeExpInOut",function(){return bi}),n.d(e,"easeCircle",function(){return wi}),n.d(e,"easeCircleIn",function(){return ki}),n.d(e,"easeCircleOut",function(){return Li}),n.d(e,"easeCircleInOut",function(){return wi}),n.d(e,"easeBounce",function(){return Pi}),n.d(e,"easeBounceIn",function(){return Hi}),n.d(e,"easeBounceOut",function(){return Pi}),n.d(e,"easeBounceInOut",function(){return Fi}),n.d(e,"easeBack",function(){return Ri}),n.d(e,"easeBackIn",function(){return Ni}),n.d(e,"easeBackOut",function(){return Bi}),n.d(e,"easeBackInOut",function(){return Ri}),n.d(e,"easeElastic",function(){return Wi}),n.d(e,"easeElasticIn",function(){return zi}),n.d(e,"easeElasticOut",function(){return Wi}),n.d(e,"easeElasticInOut",function(){return qi}),n.d(e,"forceCenter",function(){return bo}),n.d(e,"forceCollide",function(){return Oo}),n.d(e,"forceLink",function(){return Fo}),n.d(e,"forceManyBody",function(){return qo}),n.d(e,"forceRadial",function(){return Uo}),n.d(e,"forceSimulation",function(){return Wo}),n.d(e,"forceX",function(){return Vo}),n.d(e,"forceY",function(){return $o}),n.d(e,"formatDefaultLocale",function(){return ss}),n.d(e,"format",function(){return ns}),n.d(e,"formatPrefix",function(){return rs}),n.d(e,"formatLocale",function(){return os}),n.d(e,"formatSpecifier",function(){return Qo}),n.d(e,"precisionFixed",function(){return us}),n.d(e,"precisionPrefix",function(){return cs}),n.d(e,"precisionRound",function(){return ls}),n.d(e,"geoArea",function(){return nu}),n.d(e,"geoBounds",function(){return Gu}),n.d(e,"geoCentroid",function(){return oc}),n.d(e,"geoCircle",function(){return yc}),n.d(e,"geoClipAntimeridian",function(){return Yc}),n.d(e,"geoClipCircle",function(){return Sc}),n.d(e,"geoClipExtent",function(){return Fc}),n.d(e,"geoClipRectangle",function(){return jc}),n.d(e,"geoContains",function(){return el}),n.d(e,"geoDistance",function(){return Vc}),n.d(e,"geoGraticule",function(){return il}),n.d(e,"geoGraticule10",function(){return al}),n.d(e,"geoInterpolate",function(){return ll}),n.d(e,"geoLength",function(){return Wc}),n.d(e,"geoPath",function(){return ud}),n.d(e,"geoAlbers",function(){return Td}),n.d(e,"geoAlbersUsa",function(){return Dd}),n.d(e,"geoAzimuthalEqualArea",function(){return Ad}),n.d(e,"geoAzimuthalEqualAreaRaw",function(){return Ed}),n.d(e,"geoAzimuthalEquidistant",function(){return jd}),n.d(e,"geoAzimuthalEquidistantRaw",function(){return Cd}),n.d(e,"geoConicConformal",function(){return Bd}),n.d(e,"geoConicConformalRaw",function(){return Nd}),n.d(e,"geoConicEqualArea",function(){return xd}),n.d(e,"geoConicEqualAreaRaw",function(){return wd}),n.d(e,"geoConicEquidistant",function(){return Wd}),n.d(e,"geoConicEquidistantRaw",function(){return zd}),n.d(e,"geoEquirectangular",function(){return Id}),n.d(e,"geoEquirectangularRaw",function(){return Rd}),n.d(e,"geoGnomonic",function(){return Ud}),n.d(e,"geoGnomonicRaw",function(){return qd}),n.d(e,"geoIdentity",function(){return $d}),n.d(e,"geoProjection",function(){return bd}),n.d(e,"geoProjectionMutator",function(){return kd}),n.d(e,"geoMercator",function(){return Hd}),n.d(e,"geoMercatorRaw",function(){return Od}),n.d(e,"geoNaturalEarth1",function(){return Jd}),n.d(e,"geoNaturalEarth1Raw",function(){return Gd}),n.d(e,"geoOrthographic",function(){return Zd}),n.d(e,"geoOrthographicRaw",function(){return Xd}),n.d(e,"geoStereographic",function(){return Qd}),n.d(e,"geoStereographicRaw",function(){return Kd}),n.d(e,"geoTransverseMercator",function(){return ef}),n.d(e,"geoTransverseMercatorRaw",function(){return tf}),n.d(e,"geoRotation",function(){return _c}),n.d(e,"geoStream",function(){return Gs}),n.d(e,"geoTransform",function(){return cd}),n.d(e,"cluster",function(){return of}),n.d(e,"hierarchy",function(){return uf}),n.d(e,"pack",function(){return Cf}),n.d(e,"packSiblings",function(){return Df}),n.d(e,"packEnclose",function(){return _f}),n.d(e,"partition",function(){return Nf}),n.d(e,"stratify",function(){return qf}),n.d(e,"tree",function(){return Zf}),n.d(e,"treemap",function(){return nh}),n.d(e,"treemapBinary",function(){return rh}),n.d(e,"treemapDice",function(){return Ff}),n.d(e,"treemapSlice",function(){return Kf}),n.d(e,"treemapSliceDice",function(){return ih}),n.d(e,"treemapSquarify",function(){return eh}),n.d(e,"treemapResquarify",function(){return ah}),n.d(e,"interpolate",function(){return $n}),n.d(e,"interpolateArray",function(){return Pn}),n.d(e,"interpolateBasis",function(){return xn}),n.d(e,"interpolateBasisClosed",function(){return Tn}),n.d(e,"interpolateDate",function(){return Fn}),n.d(e,"interpolateNumber",function(){return Nn}),n.d(e,"interpolateObject",function(){return Bn}),n.d(e,"interpolateRound",function(){return Gn}),n.d(e,"interpolateString",function(){return Vn}),n.d(e,"interpolateTransformCss",function(){return Qn}),n.d(e,"interpolateTransformSvg",function(){return tr}),n.d(e,"interpolateZoom",function(){return rr}),n.d(e,"interpolateRgb",function(){return Cn}),n.d(e,"interpolateRgbBasis",function(){return On}),n.d(e,"interpolateRgbBasisClosed",function(){return Hn}),n.d(e,"interpolateHsl",function(){return ar}),n.d(e,"interpolateHslLong",function(){return or}),n.d(e,"interpolateLab",function(){return sr}),n.d(e,"interpolateHcl",function(){return cr}),n.d(e,"interpolateHclLong",function(){return lr}),n.d(e,"interpolateCubehelix",function(){return _r}),n.d(e,"interpolateCubehelixLong",function(){return pr}),n.d(e,"quantize",function(){return mr}),n.d(e,"path",function(){return Ha}),n.d(e,"polygonArea",function(){return oh}),n.d(e,"polygonCentroid",function(){return sh}),n.d(e,"polygonHull",function(){return dh}),n.d(e,"polygonContains",function(){return fh}),n.d(e,"polygonLength",function(){return hh}),n.d(e,"quadtree",function(){return Yo}),n.d(e,"queue",function(){return bh}),n.d(e,"randomUniform",function(){return Lh}),n.d(e,"randomNormal",function(){return wh}),n.d(e,"randomLogNormal",function(){return xh}),n.d(e,"randomBates",function(){return Dh}),n.d(e,"randomIrwinHall",function(){return Th}),n.d(e,"randomExponential",function(){return Yh}),n.d(e,"request",function(){return Sh}),n.d(e,"html",function(){return Ah}),n.d(e,"json",function(){return Ch}),n.d(e,"text",function(){return jh}),n.d(e,"xml",function(){return Oh}),n.d(e,"csv",function(){return Ph}),n.d(e,"tsv",function(){return Fh}),n.d(e,"scaleBand",function(){return Wh}),n.d(e,"scalePoint",function(){return qh}),n.d(e,"scaleIdentity",function(){return n_}),n.d(e,"scaleLinear",function(){return e_}),n.d(e,"scaleLog",function(){return l_}),n.d(e,"scaleOrdinal",function(){return zh}),n.d(e,"scaleImplicit",function(){return Ih}),n.d(e,"scalePow",function(){return f_}),n.d(e,"scaleSqrt",function(){return h_}),n.d(e,"scaleQuantile",function(){return __}),n.d(e,"scaleQuantize",function(){return p_}),n.d(e,"scaleThreshold",function(){return m_}),n.d(e,"scaleTime",function(){return fy}),n.d(e,"scaleUtc",function(){return hy}),n.d(e,"schemeCategory10",function(){return py}),n.d(e,"schemeCategory20b",function(){return my}),n.d(e,"schemeCategory20c",function(){return yy}),n.d(e,"schemeCategory20",function(){return gy}),n.d(e,"interpolateCubehelixDefault",function(){return vy}),n.d(e,"interpolateRainbow",function(){return Ly}),n.d(e,"interpolateWarm",function(){return My}),n.d(e,"interpolateCool",function(){return by}),n.d(e,"interpolateViridis",function(){return xy}),n.d(e,"interpolateMagma",function(){return Ty}),n.d(e,"interpolateInferno",function(){return Dy}),n.d(e,"interpolatePlasma",function(){return Yy}),n.d(e,"scaleSequential",function(){return Sy}),n.d(e,"create",function(){return ae}),n.d(e,"creator",function(){return mt}),n.d(e,"local",function(){return se}),n.d(e,"matcher",function(){return wt}),n.d(e,"mouse",function(){return de}),n.d(e,"namespace",function(){return pt}),n.d(e,"namespaces",function(){return _t}),n.d(e,"clientPoint",function(){return le}),n.d(e,"select",function(){return ie}),n.d(e,"selectAll",function(){return fe}),n.d(e,"selection",function(){return re}),n.d(e,"selector",function(){return gt}),n.d(e,"selectorAll",function(){return Mt}),n.d(e,"style",function(){return Ct}),n.d(e,"touch",function(){return he}),n.d(e,"touches",function(){return _e}),n.d(e,"window",function(){return At}),n.d(e,"event",function(){return $t}),n.d(e,"customEvent",function(){return Kt}),n.d(e,"arc",function(){return Jy}),n.d(e,"area",function(){return eg}),n.d(e,"line",function(){return tg}),n.d(e,"pie",function(){return ig}),n.d(e,"areaRadial",function(){return lg}),n.d(e,"radialArea",function(){return lg}),n.d(e,"lineRadial",function(){return cg}),n.d(e,"radialLine",function(){return cg}),n.d(e,"pointRadial",function(){return dg}),n.d(e,"linkHorizontal",function(){return vg}),n.d(e,"linkVertical",function(){return Mg}),n.d(e,"linkRadial",function(){return bg}),n.d(e,"symbol",function(){return Bg}),n.d(e,"symbols",function(){return Ng}),n.d(e,"symbolCircle",function(){return kg}),n.d(e,"symbolCross",function(){return Lg}),n.d(e,"symbolDiamond",function(){return Tg}),n.d(e,"symbolSquare",function(){return Ag}),n.d(e,"symbolStar",function(){return Eg}),n.d(e,"symbolTriangle",function(){return jg}),n.d(e,"symbolWye",function(){return Fg}),n.d(e,"curveBasisClosed",function(){return Ug}),n.d(e,"curveBasisOpen",function(){return $g}),n.d(e,"curveBasis",function(){return Wg}),n.d(e,"curveBundle",function(){return Jg}),n.d(e,"curveCardinalClosed",function(){return tv}),n.d(e,"curveCardinalOpen",function(){return nv}),n.d(e,"curveCardinal",function(){return Kg}),n.d(e,"curveCatmullRomClosed",function(){return sv}),n.d(e,"curveCatmullRomOpen",function(){return cv}),n.d(e,"curveCatmullRom",function(){return av}),n.d(e,"curveLinearClosed",function(){return dv}),n.d(e,"curveLinear",function(){return Zy}),n.d(e,"curveMonotoneX",function(){return vv}),n.d(e,"curveMonotoneY",function(){return Mv}),n.d(e,"curveNatural",function(){return Lv}),n.d(e,"curveStep",function(){return xv}),n.d(e,"curveStepAfter",function(){return Dv}),n.d(e,"curveStepBefore",function(){return Tv}),n.d(e,"stack",function(){return Av}),n.d(e,"stackOffsetExpand",function(){return Cv}),n.d(e,"stackOffsetDiverging",function(){return jv}),n.d(e,"stackOffsetNone",function(){return Yv}),n.d(e,"stackOffsetSilhouette",function(){return Ov}),n.d(e,"stackOffsetWiggle",function(){return Hv}),n.d(e,"stackOrderAscending",function(){return Pv}),n.d(e,"stackOrderDescending",function(){return Nv}),n.d(e,"stackOrderInsideOut",function(){return Bv}),n.d(e,"stackOrderNone",function(){return Sv}),n.d(e,"stackOrderReverse",function(){return Rv}),n.d(e,"timeInterval",function(){return v_}),n.d(e,"timeMillisecond",function(){return b_}),n.d(e,"timeMilliseconds",function(){return k_}),n.d(e,"utcMillisecond",function(){return b_}),n.d(e,"utcMilliseconds",function(){return k_}),n.d(e,"timeSecond",function(){return T_}),n.d(e,"timeSeconds",function(){return D_}),n.d(e,"utcSecond",function(){return T_}),n.d(e,"utcSeconds",function(){return D_}),n.d(e,"timeMinute",function(){return S_}),n.d(e,"timeMinutes",function(){return E_}),n.d(e,"timeHour",function(){return C_}),n.d(e,"timeHours",function(){return j_}),n.d(e,"timeDay",function(){return H_}),n.d(e,"timeDays",function(){return P_}),n.d(e,"timeWeek",function(){return N_}),n.d(e,"timeWeeks",function(){return U_}),n.d(e,"timeSunday",function(){return N_}),n.d(e,"timeSundays",function(){return U_}),n.d(e,"timeMonday",function(){return B_}),n.d(e,"timeMondays",function(){return V_}),n.d(e,"timeTuesday",function(){return R_}),n.d(e,"timeTuesdays",function(){return $_}),n.d(e,"timeWednesday",function(){return I_}),n.d(e,"timeWednesdays",function(){return G_}),n.d(e,"timeThursday",function(){return z_}),n.d(e,"timeThursdays",function(){return J_}),n.d(e,"timeFriday",function(){return W_}),n.d(e,"timeFridays",function(){return X_}),n.d(e,"timeSaturday",function(){return q_}),n.d(e,"timeSaturdays",function(){return Z_}),n.d(e,"timeMonth",function(){return Q_}),n.d(e,"timeMonths",function(){return tp}),n.d(e,"timeYear",function(){return np}),n.d(e,"timeYears",function(){return rp}),n.d(e,"utcMinute",function(){return ap}),n.d(e,"utcMinutes",function(){return op}),n.d(e,"utcHour",function(){return up}),n.d(e,"utcHours",function(){return cp}),n.d(e,"utcDay",function(){return dp}),n.d(e,"utcDays",function(){return fp}),n.d(e,"utcWeek",function(){return _p}),n.d(e,"utcWeeks",function(){return bp}),n.d(e,"utcSunday",function(){return _p}),n.d(e,"utcSundays",function(){return bp}),n.d(e,"utcMonday",function(){return pp}),n.d(e,"utcMondays",function(){return kp}),n.d(e,"utcTuesday",function(){return mp}),n.d(e,"utcTuesdays",function(){return Lp}),n.d(e,"utcWednesday",function(){return yp}),n.d(e,"utcWednesdays",function(){return wp}),n.d(e,"utcThursday",function(){return gp}),n.d(e,"utcThursdays",function(){return xp}),n.d(e,"utcFriday",function(){return vp}),n.d(e,"utcFridays",function(){return Tp}),n.d(e,"utcSaturday",function(){return Mp}),n.d(e,"utcSaturdays",function(){return Dp}),n.d(e,"utcMonth",function(){return Sp}),n.d(e,"utcMonths",function(){return Ep}),n.d(e,"utcYear",function(){return Cp}),n.d(e,"utcYears",function(){return jp}),n.d(e,"timeFormatDefaultLocale",function(){return Qm}),n.d(e,"timeFormat",function(){return Bp}),n.d(e,"timeParse",function(){return Rp}),n.d(e,"utcFormat",function(){return Ip}),n.d(e,"utcParse",function(){return zp}),n.d(e,"timeFormatLocale",function(){return Fp}),n.d(e,"isoFormat",function(){return ty}),n.d(e,"isoParse",function(){return ey}),n.d(e,"now",function(){return Tr}),n.d(e,"timer",function(){return Sr}),n.d(e,"timerFlush",function(){return Er}),n.d(e,"timeout",function(){return Or}),n.d(e,"interval",function(){return Hr}),n.d(e,"transition",function(){return ei}),n.d(e,"active",function(){return Gi}),n.d(e,"interrupt",function(){return Jr}),n.d(e,"voronoi",function(){return LM}),n.d(e,"zoom",function(){return PM}),n.d(e,"zoomTransform",function(){return DM}),n.d(e,"zoomIdentity",function(){return TM})},function(t,e){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,e){var n,r,i=t.exports={};function a(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function s(t){if(n===setTimeout)return setTimeout(t,0);if((n===a||!n)&&setTimeout)return n=setTimeout,setTimeout(t,0);try{return n(t,0)}catch(e){try{return n.call(null,t,0)}catch(e){return n.call(this,t,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:a}catch(t){n=a}try{r="function"==typeof clearTimeout?clearTimeout:o}catch(t){r=o}}();var u,c=[],l=!1,d=-1;function f(){l&&u&&(l=!1,u.length?c=u.concat(c):d=-1,c.length&&h())}function h(){if(!l){var t=s(f);l=!0;for(var e=c.length;e;){for(u=c,c=[];++d<e;)u&&u[d].run();d=-1,e=c.length}u=null,l=!1,function(t){if(r===clearTimeout)return clearTimeout(t);if((r===o||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(t);try{r(t)}catch(e){try{return r.call(null,t)}catch(e){return r.call(this,t)}}}(t)}}function _(t,e){this.fun=t,this.array=e}function p(){}i.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)e[n-1]=arguments[n];c.push(new _(t,e)),1!==c.length||l||s(h)},_.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=p,i.addListener=p,i.once=p,i.off=p,i.removeListener=p,i.removeAllListeners=p,i.emit=p,i.prependListener=p,i.prependOnceListener=p,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,e,n){(function(t){function n(t,e){for(var n=0,r=t.length-1;r>=0;r--){var i=t[r];"."===i?t.splice(r,1):".."===i?(t.splice(r,1),n++):n&&(t.splice(r,1),n--)}if(e)for(;n--;n)t.unshift("..");return t}var r=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,i=function(t){return r.exec(t).slice(1)};function a(t,e){if(t.filter)return t.filter(e);for(var n=[],r=0;r<t.length;r++)e(t[r],r,t)&&n.push(t[r]);return n}e.resolve=function(){for(var e="",r=!1,i=arguments.length-1;i>=-1&&!r;i--){var o=i>=0?arguments[i]:t.cwd();if("string"!=typeof o)throw new TypeError("Arguments to path.resolve must be strings");o&&(e=o+"/"+e,r="/"===o.charAt(0))}return e=n(a(e.split("/"),function(t){return!!t}),!r).join("/"),(r?"/":"")+e||"."},e.normalize=function(t){var r=e.isAbsolute(t),i="/"===o(t,-1);return(t=n(a(t.split("/"),function(t){return!!t}),!r).join("/"))||r||(t="."),t&&i&&(t+="/"),(r?"/":"")+t},e.isAbsolute=function(t){return"/"===t.charAt(0)},e.join=function(){var t=Array.prototype.slice.call(arguments,0);return e.normalize(a(t,function(t,e){if("string"!=typeof t)throw new TypeError("Arguments to path.join must be strings");return t}).join("/"))},e.relative=function(t,n){function r(t){for(var e=0;e<t.length&&""===t[e];e++);for(var n=t.length-1;n>=0&&""===t[n];n--);return e>n?[]:t.slice(e,n-e+1)}t=e.resolve(t).substr(1),n=e.resolve(n).substr(1);for(var i=r(t.split("/")),a=r(n.split("/")),o=Math.min(i.length,a.length),s=o,u=0;u<o;u++)if(i[u]!==a[u]){s=u;break}var c=[];for(u=s;u<i.length;u++)c.push("..");return(c=c.concat(a.slice(s))).join("/")},e.sep="/",e.delimiter=":",e.dirname=function(t){var e=i(t),n=e[0],r=e[1];return n||r?(r&&(r=r.substr(0,r.length-1)),n+r):"."},e.basename=function(t,e){var n=i(t)[2];return e&&n.substr(-1*e.length)===e&&(n=n.substr(0,n.length-e.length)),n},e.extname=function(t){return i(t)[3]};var o="b"==="ab".substr(-1)?function(t,e,n){return t.substr(e,n)}:function(t,e,n){return e<0&&(e=t.length+e),t.substr(e,n)}}).call(this,n(5))},function(t,e){},function(t,e,n){(function(t,n){(function(){var r,i=200,a="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",o="Expected a function",s="__lodash_hash_undefined__",u=500,c="__lodash_placeholder__",l=1,d=2,f=4,h=1,_=2,p=1,m=2,y=4,g=8,v=16,M=32,b=64,k=128,L=256,w=512,x=30,T="...",D=800,Y=16,S=1,E=2,A=1/0,C=9007199254740991,j=1.7976931348623157e308,O=NaN,H=4294967295,P=H-1,F=H>>>1,N=[["ary",k],["bind",p],["bindKey",m],["curry",g],["curryRight",v],["flip",w],["partial",M],["partialRight",b],["rearg",L]],B="[object Arguments]",R="[object Array]",I="[object AsyncFunction]",z="[object Boolean]",W="[object Date]",q="[object DOMException]",U="[object Error]",V="[object Function]",$="[object GeneratorFunction]",G="[object Map]",J="[object Number]",X="[object Null]",Z="[object Object]",K="[object Proxy]",Q="[object RegExp]",tt="[object Set]",et="[object String]",nt="[object Symbol]",rt="[object Undefined]",it="[object WeakMap]",at="[object WeakSet]",ot="[object ArrayBuffer]",st="[object DataView]",ut="[object Float32Array]",ct="[object Float64Array]",lt="[object Int8Array]",dt="[object Int16Array]",ft="[object Int32Array]",ht="[object Uint8Array]",_t="[object Uint8ClampedArray]",pt="[object Uint16Array]",mt="[object Uint32Array]",yt=/\b__p \+= '';/g,gt=/\b(__p \+=) '' \+/g,vt=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Mt=/&(?:amp|lt|gt|quot|#39);/g,bt=/[&<>"']/g,kt=RegExp(Mt.source),Lt=RegExp(bt.source),wt=/<%-([\s\S]+?)%>/g,xt=/<%([\s\S]+?)%>/g,Tt=/<%=([\s\S]+?)%>/g,Dt=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Yt=/^\w*$/,St=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Et=/[\\^$.*+?()[\]{}|]/g,At=RegExp(Et.source),Ct=/^\s+|\s+$/g,jt=/^\s+/,Ot=/\s+$/,Ht=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Pt=/\{\n\/\* \[wrapped with (.+)\] \*/,Ft=/,? & /,Nt=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Bt=/\\(\\)?/g,Rt=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,It=/\w*$/,zt=/^[-+]0x[0-9a-f]+$/i,Wt=/^0b[01]+$/i,qt=/^\[object .+?Constructor\]$/,Ut=/^0o[0-7]+$/i,Vt=/^(?:0|[1-9]\d*)$/,$t=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Gt=/($^)/,Jt=/['\n\r\u2028\u2029\\]/g,Xt="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Zt="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Kt="[\\ud800-\\udfff]",Qt="["+Zt+"]",te="["+Xt+"]",ee="\\d+",ne="[\\u2700-\\u27bf]",re="[a-z\\xdf-\\xf6\\xf8-\\xff]",ie="[^\\ud800-\\udfff"+Zt+ee+"\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",ae="\\ud83c[\\udffb-\\udfff]",oe="[^\\ud800-\\udfff]",se="(?:\\ud83c[\\udde6-\\uddff]){2}",ue="[\\ud800-\\udbff][\\udc00-\\udfff]",ce="[A-Z\\xc0-\\xd6\\xd8-\\xde]",le="(?:"+re+"|"+ie+")",de="(?:"+ce+"|"+ie+")",fe="(?:"+te+"|"+ae+")"+"?",he="[\\ufe0e\\ufe0f]?"+fe+("(?:\\u200d(?:"+[oe,se,ue].join("|")+")[\\ufe0e\\ufe0f]?"+fe+")*"),_e="(?:"+[ne,se,ue].join("|")+")"+he,pe="(?:"+[oe+te+"?",te,se,ue,Kt].join("|")+")",me=RegExp("['’]","g"),ye=RegExp(te,"g"),ge=RegExp(ae+"(?="+ae+")|"+pe+he,"g"),ve=RegExp([ce+"?"+re+"+(?:['’](?:d|ll|m|re|s|t|ve))?(?="+[Qt,ce,"$"].join("|")+")",de+"+(?:['’](?:D|LL|M|RE|S|T|VE))?(?="+[Qt,ce+le,"$"].join("|")+")",ce+"?"+le+"+(?:['’](?:d|ll|m|re|s|t|ve))?",ce+"+(?:['’](?:D|LL|M|RE|S|T|VE))?","\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",ee,_e].join("|"),"g"),Me=RegExp("[\\u200d\\ud800-\\udfff"+Xt+"\\ufe0e\\ufe0f]"),be=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,ke=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Le=-1,we={};we[ut]=we[ct]=we[lt]=we[dt]=we[ft]=we[ht]=we[_t]=we[pt]=we[mt]=!0,we[B]=we[R]=we[ot]=we[z]=we[st]=we[W]=we[U]=we[V]=we[G]=we[J]=we[Z]=we[Q]=we[tt]=we[et]=we[it]=!1;var xe={};xe[B]=xe[R]=xe[ot]=xe[st]=xe[z]=xe[W]=xe[ut]=xe[ct]=xe[lt]=xe[dt]=xe[ft]=xe[G]=xe[J]=xe[Z]=xe[Q]=xe[tt]=xe[et]=xe[nt]=xe[ht]=xe[_t]=xe[pt]=xe[mt]=!0,xe[U]=xe[V]=xe[it]=!1;var Te={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},De=parseFloat,Ye=parseInt,Se="object"==typeof t&&t&&t.Object===Object&&t,Ee="object"==typeof self&&self&&self.Object===Object&&self,Ae=Se||Ee||Function("return this")(),Ce="object"==typeof e&&e&&!e.nodeType&&e,je=Ce&&"object"==typeof n&&n&&!n.nodeType&&n,Oe=je&&je.exports===Ce,He=Oe&&Se.process,Pe=function(){try{return He&&He.binding&&He.binding("util")}catch(t){}}(),Fe=Pe&&Pe.isArrayBuffer,Ne=Pe&&Pe.isDate,Be=Pe&&Pe.isMap,Re=Pe&&Pe.isRegExp,Ie=Pe&&Pe.isSet,ze=Pe&&Pe.isTypedArray;function We(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function qe(t,e,n,r){for(var i=-1,a=null==t?0:t.length;++i<a;){var o=t[i];e(r,o,n(o),t)}return r}function Ue(t,e){for(var n=-1,r=null==t?0:t.length;++n<r&&!1!==e(t[n],n,t););return t}function Ve(t,e){for(var n=null==t?0:t.length;n--&&!1!==e(t[n],n,t););return t}function $e(t,e){for(var n=-1,r=null==t?0:t.length;++n<r;)if(!e(t[n],n,t))return!1;return!0}function Ge(t,e){for(var n=-1,r=null==t?0:t.length,i=0,a=[];++n<r;){var o=t[n];e(o,n,t)&&(a[i++]=o)}return a}function Je(t,e){return!!(null==t?0:t.length)&&on(t,e,0)>-1}function Xe(t,e,n){for(var r=-1,i=null==t?0:t.length;++r<i;)if(n(e,t[r]))return!0;return!1}function Ze(t,e){for(var n=-1,r=null==t?0:t.length,i=Array(r);++n<r;)i[n]=e(t[n],n,t);return i}function Ke(t,e){for(var n=-1,r=e.length,i=t.length;++n<r;)t[i+n]=e[n];return t}function Qe(t,e,n,r){var i=-1,a=null==t?0:t.length;for(r&&a&&(n=t[++i]);++i<a;)n=e(n,t[i],i,t);return n}function tn(t,e,n,r){var i=null==t?0:t.length;for(r&&i&&(n=t[--i]);i--;)n=e(n,t[i],i,t);return n}function en(t,e){for(var n=-1,r=null==t?0:t.length;++n<r;)if(e(t[n],n,t))return!0;return!1}var nn=ln("length");function rn(t,e,n){var r;return n(t,function(t,n,i){if(e(t,n,i))return r=n,!1}),r}function an(t,e,n,r){for(var i=t.length,a=n+(r?1:-1);r?a--:++a<i;)if(e(t[a],a,t))return a;return-1}function on(t,e,n){return e==e?function(t,e,n){var r=n-1,i=t.length;for(;++r<i;)if(t[r]===e)return r;return-1}(t,e,n):an(t,un,n)}function sn(t,e,n,r){for(var i=n-1,a=t.length;++i<a;)if(r(t[i],e))return i;return-1}function un(t){return t!=t}function cn(t,e){var n=null==t?0:t.length;return n?hn(t,e)/n:O}function ln(t){return function(e){return null==e?r:e[t]}}function dn(t){return function(e){return null==t?r:t[e]}}function fn(t,e,n,r,i){return i(t,function(t,i,a){n=r?(r=!1,t):e(n,t,i,a)}),n}function hn(t,e){for(var n,i=-1,a=t.length;++i<a;){var o=e(t[i]);o!==r&&(n=n===r?o:n+o)}return n}function _n(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}function pn(t){return function(e){return t(e)}}function mn(t,e){return Ze(e,function(e){return t[e]})}function yn(t,e){return t.has(e)}function gn(t,e){for(var n=-1,r=t.length;++n<r&&on(e,t[n],0)>-1;);return n}function vn(t,e){for(var n=t.length;n--&&on(e,t[n],0)>-1;);return n}var Mn=dn({"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"}),bn=dn({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"});function kn(t){return"\\"+Te[t]}function Ln(t){return Me.test(t)}function wn(t){var e=-1,n=Array(t.size);return t.forEach(function(t,r){n[++e]=[r,t]}),n}function xn(t,e){return function(n){return t(e(n))}}function Tn(t,e){for(var n=-1,r=t.length,i=0,a=[];++n<r;){var o=t[n];o!==e&&o!==c||(t[n]=c,a[i++]=n)}return a}function Dn(t,e){return"__proto__"==e?r:t[e]}function Yn(t){var e=-1,n=Array(t.size);return t.forEach(function(t){n[++e]=t}),n}function Sn(t){var e=-1,n=Array(t.size);return t.forEach(function(t){n[++e]=[t,t]}),n}function En(t){return Ln(t)?function(t){var e=ge.lastIndex=0;for(;ge.test(t);)++e;return e}(t):nn(t)}function An(t){return Ln(t)?function(t){return t.match(ge)||[]}(t):function(t){return t.split("")}(t)}var Cn=dn({"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"});var jn=function t(e){var n,Xt=(e=null==e?Ae:jn.defaults(Ae.Object(),e,jn.pick(Ae,ke))).Array,Zt=e.Date,Kt=e.Error,Qt=e.Function,te=e.Math,ee=e.Object,ne=e.RegExp,re=e.String,ie=e.TypeError,ae=Xt.prototype,oe=Qt.prototype,se=ee.prototype,ue=e["__core-js_shared__"],ce=oe.toString,le=se.hasOwnProperty,de=0,fe=(n=/[^.]+$/.exec(ue&&ue.keys&&ue.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",he=se.toString,_e=ce.call(ee),pe=Ae._,ge=ne("^"+ce.call(le).replace(Et,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Me=Oe?e.Buffer:r,Te=e.Symbol,Se=e.Uint8Array,Ee=Me?Me.allocUnsafe:r,Ce=xn(ee.getPrototypeOf,ee),je=ee.create,He=se.propertyIsEnumerable,Pe=ae.splice,nn=Te?Te.isConcatSpreadable:r,dn=Te?Te.iterator:r,On=Te?Te.toStringTag:r,Hn=function(){try{var t=Ba(ee,"defineProperty");return t({},"",{}),t}catch(t){}}(),Pn=e.clearTimeout!==Ae.clearTimeout&&e.clearTimeout,Fn=Zt&&Zt.now!==Ae.Date.now&&Zt.now,Nn=e.setTimeout!==Ae.setTimeout&&e.setTimeout,Bn=te.ceil,Rn=te.floor,In=ee.getOwnPropertySymbols,zn=Me?Me.isBuffer:r,Wn=e.isFinite,qn=ae.join,Un=xn(ee.keys,ee),Vn=te.max,$n=te.min,Gn=Zt.now,Jn=e.parseInt,Xn=te.random,Zn=ae.reverse,Kn=Ba(e,"DataView"),Qn=Ba(e,"Map"),tr=Ba(e,"Promise"),er=Ba(e,"Set"),nr=Ba(e,"WeakMap"),rr=Ba(ee,"create"),ir=nr&&new nr,ar={},or=lo(Kn),sr=lo(Qn),ur=lo(tr),cr=lo(er),lr=lo(nr),dr=Te?Te.prototype:r,fr=dr?dr.valueOf:r,hr=dr?dr.toString:r;function _r(t){if(Ys(t)&&!ys(t)&&!(t instanceof gr)){if(t instanceof yr)return t;if(le.call(t,"__wrapped__"))return fo(t)}return new yr(t)}var pr=function(){function t(){}return function(e){if(!Ds(e))return{};if(je)return je(e);t.prototype=e;var n=new t;return t.prototype=r,n}}();function mr(){}function yr(t,e){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!e,this.__index__=0,this.__values__=r}function gr(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=H,this.__views__=[]}function vr(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function Mr(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function br(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function kr(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new br;++e<n;)this.add(t[e])}function Lr(t){var e=this.__data__=new Mr(t);this.size=e.size}function wr(t,e){var n=ys(t),r=!n&&ms(t),i=!n&&!r&&bs(t),a=!n&&!r&&!i&&Ps(t),o=n||r||i||a,s=o?_n(t.length,re):[],u=s.length;for(var c in t)!e&&!le.call(t,c)||o&&("length"==c||i&&("offset"==c||"parent"==c)||a&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||Va(c,u))||s.push(c);return s}function xr(t){var e=t.length;return e?t[ki(0,e-1)]:r}function Tr(t,e){return so(ra(t),Hr(e,0,t.length))}function Dr(t){return so(ra(t))}function Yr(t,e,n){(n===r||hs(t[e],n))&&(n!==r||e in t)||jr(t,e,n)}function Sr(t,e,n){var i=t[e];le.call(t,e)&&hs(i,n)&&(n!==r||e in t)||jr(t,e,n)}function Er(t,e){for(var n=t.length;n--;)if(hs(t[n][0],e))return n;return-1}function Ar(t,e,n,r){return Rr(t,function(t,i,a){e(r,t,n(t),a)}),r}function Cr(t,e){return t&&ia(e,iu(e),t)}function jr(t,e,n){"__proto__"==e&&Hn?Hn(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}function Or(t,e){for(var n=-1,i=e.length,a=Xt(i),o=null==t;++n<i;)a[n]=o?r:Qs(t,e[n]);return a}function Hr(t,e,n){return t==t&&(n!==r&&(t=t<=n?t:n),e!==r&&(t=t>=e?t:e)),t}function Pr(t,e,n,i,a,o){var s,u=e&l,c=e&d,h=e&f;if(n&&(s=a?n(t,i,a,o):n(t)),s!==r)return s;if(!Ds(t))return t;var _=ys(t);if(_){if(s=function(t){var e=t.length,n=new t.constructor(e);return e&&"string"==typeof t[0]&&le.call(t,"index")&&(n.index=t.index,n.input=t.input),n}(t),!u)return ra(t,s)}else{var p=za(t),m=p==V||p==$;if(bs(t))return Zi(t,u);if(p==Z||p==B||m&&!a){if(s=c||m?{}:qa(t),!u)return c?function(t,e){return ia(t,Ia(t),e)}(t,function(t,e){return t&&ia(e,au(e),t)}(s,t)):function(t,e){return ia(t,Ra(t),e)}(t,Cr(s,t))}else{if(!xe[p])return a?t:{};s=function(t,e,n){var r,i,a,o=t.constructor;switch(e){case ot:return Ki(t);case z:case W:return new o(+t);case st:return function(t,e){var n=e?Ki(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}(t,n);case ut:case ct:case lt:case dt:case ft:case ht:case _t:case pt:case mt:return Qi(t,n);case G:return new o;case J:case et:return new o(t);case Q:return(a=new(i=t).constructor(i.source,It.exec(i))).lastIndex=i.lastIndex,a;case tt:return new o;case nt:return r=t,fr?ee(fr.call(r)):{}}}(t,p,u)}}o||(o=new Lr);var y=o.get(t);if(y)return y;if(o.set(t,s),js(t))return t.forEach(function(r){s.add(Pr(r,e,n,r,t,o))}),s;if(Ss(t))return t.forEach(function(r,i){s.set(i,Pr(r,e,n,i,t,o))}),s;var g=_?r:(h?c?Ca:Aa:c?au:iu)(t);return Ue(g||t,function(r,i){g&&(r=t[i=r]),Sr(s,i,Pr(r,e,n,i,t,o))}),s}function Fr(t,e,n){var i=n.length;if(null==t)return!i;for(t=ee(t);i--;){var a=n[i],o=e[a],s=t[a];if(s===r&&!(a in t)||!o(s))return!1}return!0}function Nr(t,e,n){if("function"!=typeof t)throw new ie(o);return ro(function(){t.apply(r,n)},e)}function Br(t,e,n,r){var a=-1,o=Je,s=!0,u=t.length,c=[],l=e.length;if(!u)return c;n&&(e=Ze(e,pn(n))),r?(o=Xe,s=!1):e.length>=i&&(o=yn,s=!1,e=new kr(e));t:for(;++a<u;){var d=t[a],f=null==n?d:n(d);if(d=r||0!==d?d:0,s&&f==f){for(var h=l;h--;)if(e[h]===f)continue t;c.push(d)}else o(e,f,r)||c.push(d)}return c}_r.templateSettings={escape:wt,evaluate:xt,interpolate:Tt,variable:"",imports:{_:_r}},_r.prototype=mr.prototype,_r.prototype.constructor=_r,yr.prototype=pr(mr.prototype),yr.prototype.constructor=yr,gr.prototype=pr(mr.prototype),gr.prototype.constructor=gr,vr.prototype.clear=function(){this.__data__=rr?rr(null):{},this.size=0},vr.prototype.delete=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e},vr.prototype.get=function(t){var e=this.__data__;if(rr){var n=e[t];return n===s?r:n}return le.call(e,t)?e[t]:r},vr.prototype.has=function(t){var e=this.__data__;return rr?e[t]!==r:le.call(e,t)},vr.prototype.set=function(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=rr&&e===r?s:e,this},Mr.prototype.clear=function(){this.__data__=[],this.size=0},Mr.prototype.delete=function(t){var e=this.__data__,n=Er(e,t);return!(n<0||(n==e.length-1?e.pop():Pe.call(e,n,1),--this.size,0))},Mr.prototype.get=function(t){var e=this.__data__,n=Er(e,t);return n<0?r:e[n][1]},Mr.prototype.has=function(t){return Er(this.__data__,t)>-1},Mr.prototype.set=function(t,e){var n=this.__data__,r=Er(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this},br.prototype.clear=function(){this.size=0,this.__data__={hash:new vr,map:new(Qn||Mr),string:new vr}},br.prototype.delete=function(t){var e=Fa(this,t).delete(t);return this.size-=e?1:0,e},br.prototype.get=function(t){return Fa(this,t).get(t)},br.prototype.has=function(t){return Fa(this,t).has(t)},br.prototype.set=function(t,e){var n=Fa(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this},kr.prototype.add=kr.prototype.push=function(t){return this.__data__.set(t,s),this},kr.prototype.has=function(t){return this.__data__.has(t)},Lr.prototype.clear=function(){this.__data__=new Mr,this.size=0},Lr.prototype.delete=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n},Lr.prototype.get=function(t){return this.__data__.get(t)},Lr.prototype.has=function(t){return this.__data__.has(t)},Lr.prototype.set=function(t,e){var n=this.__data__;if(n instanceof Mr){var r=n.__data__;if(!Qn||r.length<i-1)return r.push([t,e]),this.size=++n.size,this;n=this.__data__=new br(r)}return n.set(t,e),this.size=n.size,this};var Rr=sa(Gr),Ir=sa(Jr,!0);function zr(t,e){var n=!0;return Rr(t,function(t,r,i){return n=!!e(t,r,i)}),n}function Wr(t,e,n){for(var i=-1,a=t.length;++i<a;){var o=t[i],s=e(o);if(null!=s&&(u===r?s==s&&!Hs(s):n(s,u)))var u=s,c=o}return c}function qr(t,e){var n=[];return Rr(t,function(t,r,i){e(t,r,i)&&n.push(t)}),n}function Ur(t,e,n,r,i){var a=-1,o=t.length;for(n||(n=Ua),i||(i=[]);++a<o;){var s=t[a];e>0&&n(s)?e>1?Ur(s,e-1,n,r,i):Ke(i,s):r||(i[i.length]=s)}return i}var Vr=ua(),$r=ua(!0);function Gr(t,e){return t&&Vr(t,e,iu)}function Jr(t,e){return t&&$r(t,e,iu)}function Xr(t,e){return Ge(e,function(e){return ws(t[e])})}function Zr(t,e){for(var n=0,i=(e=$i(e,t)).length;null!=t&&n<i;)t=t[co(e[n++])];return n&&n==i?t:r}function Kr(t,e,n){var r=e(t);return ys(t)?r:Ke(r,n(t))}function Qr(t){return null==t?t===r?rt:X:On&&On in ee(t)?function(t){var e=le.call(t,On),n=t[On];try{t[On]=r;var i=!0}catch(t){}var a=he.call(t);return i&&(e?t[On]=n:delete t[On]),a}(t):function(t){return he.call(t)}(t)}function ti(t,e){return t>e}function ei(t,e){return null!=t&&le.call(t,e)}function ni(t,e){return null!=t&&e in ee(t)}function ri(t,e,n){for(var i=n?Xe:Je,a=t[0].length,o=t.length,s=o,u=Xt(o),c=1/0,l=[];s--;){var d=t[s];s&&e&&(d=Ze(d,pn(e))),c=$n(d.length,c),u[s]=!n&&(e||a>=120&&d.length>=120)?new kr(s&&d):r}d=t[0];var f=-1,h=u[0];t:for(;++f<a&&l.length<c;){var _=d[f],p=e?e(_):_;if(_=n||0!==_?_:0,!(h?yn(h,p):i(l,p,n))){for(s=o;--s;){var m=u[s];if(!(m?yn(m,p):i(t[s],p,n)))continue t}h&&h.push(p),l.push(_)}}return l}function ii(t,e,n){var i=null==(t=eo(t,e=$i(e,t)))?t:t[co(Lo(e))];return null==i?r:We(i,t,n)}function ai(t){return Ys(t)&&Qr(t)==B}function oi(t,e,n,i,a){return t===e||(null==t||null==e||!Ys(t)&&!Ys(e)?t!=t&&e!=e:function(t,e,n,i,a,o){var s=ys(t),u=ys(e),c=s?R:za(t),l=u?R:za(e),d=(c=c==B?Z:c)==Z,f=(l=l==B?Z:l)==Z,p=c==l;if(p&&bs(t)){if(!bs(e))return!1;s=!0,d=!1}if(p&&!d)return o||(o=new Lr),s||Ps(t)?Sa(t,e,n,i,a,o):function(t,e,n,r,i,a,o){switch(n){case st:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case ot:return!(t.byteLength!=e.byteLength||!a(new Se(t),new Se(e)));case z:case W:case J:return hs(+t,+e);case U:return t.name==e.name&&t.message==e.message;case Q:case et:return t==e+"";case G:var s=wn;case tt:var u=r&h;if(s||(s=Yn),t.size!=e.size&&!u)return!1;var c=o.get(t);if(c)return c==e;r|=_,o.set(t,e);var l=Sa(s(t),s(e),r,i,a,o);return o.delete(t),l;case nt:if(fr)return fr.call(t)==fr.call(e)}return!1}(t,e,c,n,i,a,o);if(!(n&h)){var m=d&&le.call(t,"__wrapped__"),y=f&&le.call(e,"__wrapped__");if(m||y){var g=m?t.value():t,v=y?e.value():e;return o||(o=new Lr),a(g,v,n,i,o)}}return!!p&&(o||(o=new Lr),function(t,e,n,i,a,o){var s=n&h,u=Aa(t),c=u.length,l=Aa(e).length;if(c!=l&&!s)return!1;for(var d=c;d--;){var f=u[d];if(!(s?f in e:le.call(e,f)))return!1}var _=o.get(t);if(_&&o.get(e))return _==e;var p=!0;o.set(t,e),o.set(e,t);for(var m=s;++d<c;){f=u[d];var y=t[f],g=e[f];if(i)var v=s?i(g,y,f,e,t,o):i(y,g,f,t,e,o);if(!(v===r?y===g||a(y,g,n,i,o):v)){p=!1;break}m||(m="constructor"==f)}if(p&&!m){var M=t.constructor,b=e.constructor;M!=b&&"constructor"in t&&"constructor"in e&&!("function"==typeof M&&M instanceof M&&"function"==typeof b&&b instanceof b)&&(p=!1)}return o.delete(t),o.delete(e),p}(t,e,n,i,a,o))}(t,e,n,i,oi,a))}function si(t,e,n,i){var a=n.length,o=a,s=!i;if(null==t)return!o;for(t=ee(t);a--;){var u=n[a];if(s&&u[2]?u[1]!==t[u[0]]:!(u[0]in t))return!1}for(;++a<o;){var c=(u=n[a])[0],l=t[c],d=u[1];if(s&&u[2]){if(l===r&&!(c in t))return!1}else{var f=new Lr;if(i)var p=i(l,d,c,t,e,f);if(!(p===r?oi(d,l,h|_,i,f):p))return!1}}return!0}function ui(t){return!(!Ds(t)||fe&&fe in t)&&(ws(t)?ge:qt).test(lo(t))}function ci(t){return"function"==typeof t?t:null==t?Eu:"object"==typeof t?ys(t)?pi(t[0],t[1]):_i(t):Bu(t)}function li(t){if(!Za(t))return Un(t);var e=[];for(var n in ee(t))le.call(t,n)&&"constructor"!=n&&e.push(n);return e}function di(t){if(!Ds(t))return function(t){var e=[];if(null!=t)for(var n in ee(t))e.push(n);return e}(t);var e=Za(t),n=[];for(var r in t)("constructor"!=r||!e&&le.call(t,r))&&n.push(r);return n}function fi(t,e){return t<e}function hi(t,e){var n=-1,r=vs(t)?Xt(t.length):[];return Rr(t,function(t,i,a){r[++n]=e(t,i,a)}),r}function _i(t){var e=Na(t);return 1==e.length&&e[0][2]?Qa(e[0][0],e[0][1]):function(n){return n===t||si(n,t,e)}}function pi(t,e){return Ga(t)&&Ka(e)?Qa(co(t),e):function(n){var i=Qs(n,t);return i===r&&i===e?tu(n,t):oi(e,i,h|_)}}function mi(t,e,n,i,a){t!==e&&Vr(e,function(o,s){if(Ds(o))a||(a=new Lr),function(t,e,n,i,a,o,s){var u=Dn(t,n),c=Dn(e,n),l=s.get(c);if(l)Yr(t,n,l);else{var d=o?o(u,c,n+"",t,e,s):r,f=d===r;if(f){var h=ys(c),_=!h&&bs(c),p=!h&&!_&&Ps(c);d=c,h||_||p?ys(u)?d=u:Ms(u)?d=ra(u):_?(f=!1,d=Zi(c,!0)):p?(f=!1,d=Qi(c,!0)):d=[]:As(c)||ms(c)?(d=u,ms(u)?d=qs(u):(!Ds(u)||i&&ws(u))&&(d=qa(c))):f=!1}f&&(s.set(c,d),a(d,c,i,o,s),s.delete(c)),Yr(t,n,d)}}(t,e,s,n,mi,i,a);else{var u=i?i(Dn(t,s),o,s+"",t,e,a):r;u===r&&(u=o),Yr(t,s,u)}},au)}function yi(t,e){var n=t.length;if(n)return Va(e+=e<0?n:0,n)?t[e]:r}function gi(t,e,n){var r=-1;return e=Ze(e.length?e:[Eu],pn(Pa())),function(t,e){var n=t.length;for(t.sort(e);n--;)t[n]=t[n].value;return t}(hi(t,function(t,n,i){return{criteria:Ze(e,function(e){return e(t)}),index:++r,value:t}}),function(t,e){return function(t,e,n){for(var r=-1,i=t.criteria,a=e.criteria,o=i.length,s=n.length;++r<o;){var u=ta(i[r],a[r]);if(u){if(r>=s)return u;var c=n[r];return u*("desc"==c?-1:1)}}return t.index-e.index}(t,e,n)})}function vi(t,e,n){for(var r=-1,i=e.length,a={};++r<i;){var o=e[r],s=Zr(t,o);n(s,o)&&Di(a,$i(o,t),s)}return a}function Mi(t,e,n,r){var i=r?sn:on,a=-1,o=e.length,s=t;for(t===e&&(e=ra(e)),n&&(s=Ze(t,pn(n)));++a<o;)for(var u=0,c=e[a],l=n?n(c):c;(u=i(s,l,u,r))>-1;)s!==t&&Pe.call(s,u,1),Pe.call(t,u,1);return t}function bi(t,e){for(var n=t?e.length:0,r=n-1;n--;){var i=e[n];if(n==r||i!==a){var a=i;Va(i)?Pe.call(t,i,1):Bi(t,i)}}return t}function ki(t,e){return t+Rn(Xn()*(e-t+1))}function Li(t,e){var n="";if(!t||e<1||e>C)return n;do{e%2&&(n+=t),(e=Rn(e/2))&&(t+=t)}while(e);return n}function wi(t,e){return io(to(t,e,Eu),t+"")}function xi(t){return xr(hu(t))}function Ti(t,e){var n=hu(t);return so(n,Hr(e,0,n.length))}function Di(t,e,n,i){if(!Ds(t))return t;for(var a=-1,o=(e=$i(e,t)).length,s=o-1,u=t;null!=u&&++a<o;){var c=co(e[a]),l=n;if(a!=s){var d=u[c];(l=i?i(d,c,u):r)===r&&(l=Ds(d)?d:Va(e[a+1])?[]:{})}Sr(u,c,l),u=u[c]}return t}var Yi=ir?function(t,e){return ir.set(t,e),t}:Eu,Si=Hn?function(t,e){return Hn(t,"toString",{configurable:!0,enumerable:!1,value:Du(e),writable:!0})}:Eu;function Ei(t){return so(hu(t))}function Ai(t,e,n){var r=-1,i=t.length;e<0&&(e=-e>i?0:i+e),(n=n>i?i:n)<0&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var a=Xt(i);++r<i;)a[r]=t[r+e];return a}function Ci(t,e){var n;return Rr(t,function(t,r,i){return!(n=e(t,r,i))}),!!n}function ji(t,e,n){var r=0,i=null==t?r:t.length;if("number"==typeof e&&e==e&&i<=F){for(;r<i;){var a=r+i>>>1,o=t[a];null!==o&&!Hs(o)&&(n?o<=e:o<e)?r=a+1:i=a}return i}return Oi(t,e,Eu,n)}function Oi(t,e,n,i){e=n(e);for(var a=0,o=null==t?0:t.length,s=e!=e,u=null===e,c=Hs(e),l=e===r;a<o;){var d=Rn((a+o)/2),f=n(t[d]),h=f!==r,_=null===f,p=f==f,m=Hs(f);if(s)var y=i||p;else y=l?p&&(i||h):u?p&&h&&(i||!_):c?p&&h&&!_&&(i||!m):!_&&!m&&(i?f<=e:f<e);y?a=d+1:o=d}return $n(o,P)}function Hi(t,e){for(var n=-1,r=t.length,i=0,a=[];++n<r;){var o=t[n],s=e?e(o):o;if(!n||!hs(s,u)){var u=s;a[i++]=0===o?0:o}}return a}function Pi(t){return"number"==typeof t?t:Hs(t)?O:+t}function Fi(t){if("string"==typeof t)return t;if(ys(t))return Ze(t,Fi)+"";if(Hs(t))return hr?hr.call(t):"";var e=t+"";return"0"==e&&1/t==-A?"-0":e}function Ni(t,e,n){var r=-1,a=Je,o=t.length,s=!0,u=[],c=u;if(n)s=!1,a=Xe;else if(o>=i){var l=e?null:La(t);if(l)return Yn(l);s=!1,a=yn,c=new kr}else c=e?[]:u;t:for(;++r<o;){var d=t[r],f=e?e(d):d;if(d=n||0!==d?d:0,s&&f==f){for(var h=c.length;h--;)if(c[h]===f)continue t;e&&c.push(f),u.push(d)}else a(c,f,n)||(c!==u&&c.push(f),u.push(d))}return u}function Bi(t,e){return null==(t=eo(t,e=$i(e,t)))||delete t[co(Lo(e))]}function Ri(t,e,n,r){return Di(t,e,n(Zr(t,e)),r)}function Ii(t,e,n,r){for(var i=t.length,a=r?i:-1;(r?a--:++a<i)&&e(t[a],a,t););return n?Ai(t,r?0:a,r?a+1:i):Ai(t,r?a+1:0,r?i:a)}function zi(t,e){var n=t;return n instanceof gr&&(n=n.value()),Qe(e,function(t,e){return e.func.apply(e.thisArg,Ke([t],e.args))},n)}function Wi(t,e,n){var r=t.length;if(r<2)return r?Ni(t[0]):[];for(var i=-1,a=Xt(r);++i<r;)for(var o=t[i],s=-1;++s<r;)s!=i&&(a[i]=Br(a[i]||o,t[s],e,n));return Ni(Ur(a,1),e,n)}function qi(t,e,n){for(var i=-1,a=t.length,o=e.length,s={};++i<a;){var u=i<o?e[i]:r;n(s,t[i],u)}return s}function Ui(t){return Ms(t)?t:[]}function Vi(t){return"function"==typeof t?t:Eu}function $i(t,e){return ys(t)?t:Ga(t,e)?[t]:uo(Us(t))}var Gi=wi;function Ji(t,e,n){var i=t.length;return n=n===r?i:n,!e&&n>=i?t:Ai(t,e,n)}var Xi=Pn||function(t){return Ae.clearTimeout(t)};function Zi(t,e){if(e)return t.slice();var n=t.length,r=Ee?Ee(n):new t.constructor(n);return t.copy(r),r}function Ki(t){var e=new t.constructor(t.byteLength);return new Se(e).set(new Se(t)),e}function Qi(t,e){var n=e?Ki(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}function ta(t,e){if(t!==e){var n=t!==r,i=null===t,a=t==t,o=Hs(t),s=e!==r,u=null===e,c=e==e,l=Hs(e);if(!u&&!l&&!o&&t>e||o&&s&&c&&!u&&!l||i&&s&&c||!n&&c||!a)return 1;if(!i&&!o&&!l&&t<e||l&&n&&a&&!i&&!o||u&&n&&a||!s&&a||!c)return-1}return 0}function ea(t,e,n,r){for(var i=-1,a=t.length,o=n.length,s=-1,u=e.length,c=Vn(a-o,0),l=Xt(u+c),d=!r;++s<u;)l[s]=e[s];for(;++i<o;)(d||i<a)&&(l[n[i]]=t[i]);for(;c--;)l[s++]=t[i++];return l}function na(t,e,n,r){for(var i=-1,a=t.length,o=-1,s=n.length,u=-1,c=e.length,l=Vn(a-s,0),d=Xt(l+c),f=!r;++i<l;)d[i]=t[i];for(var h=i;++u<c;)d[h+u]=e[u];for(;++o<s;)(f||i<a)&&(d[h+n[o]]=t[i++]);return d}function ra(t,e){var n=-1,r=t.length;for(e||(e=Xt(r));++n<r;)e[n]=t[n];return e}function ia(t,e,n,i){var a=!n;n||(n={});for(var o=-1,s=e.length;++o<s;){var u=e[o],c=i?i(n[u],t[u],u,n,t):r;c===r&&(c=t[u]),a?jr(n,u,c):Sr(n,u,c)}return n}function aa(t,e){return function(n,r){var i=ys(n)?qe:Ar,a=e?e():{};return i(n,t,Pa(r,2),a)}}function oa(t){return wi(function(e,n){var i=-1,a=n.length,o=a>1?n[a-1]:r,s=a>2?n[2]:r;for(o=t.length>3&&"function"==typeof o?(a--,o):r,s&&$a(n[0],n[1],s)&&(o=a<3?r:o,a=1),e=ee(e);++i<a;){var u=n[i];u&&t(e,u,i,o)}return e})}function sa(t,e){return function(n,r){if(null==n)return n;if(!vs(n))return t(n,r);for(var i=n.length,a=e?i:-1,o=ee(n);(e?a--:++a<i)&&!1!==r(o[a],a,o););return n}}function ua(t){return function(e,n,r){for(var i=-1,a=ee(e),o=r(e),s=o.length;s--;){var u=o[t?s:++i];if(!1===n(a[u],u,a))break}return e}}function ca(t){return function(e){var n=Ln(e=Us(e))?An(e):r,i=n?n[0]:e.charAt(0),a=n?Ji(n,1).join(""):e.slice(1);return i[t]()+a}}function la(t){return function(e){return Qe(wu(mu(e).replace(me,"")),t,"")}}function da(t){return function(){var e=arguments;switch(e.length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3]);case 5:return new t(e[0],e[1],e[2],e[3],e[4]);case 6:return new t(e[0],e[1],e[2],e[3],e[4],e[5]);case 7:return new t(e[0],e[1],e[2],e[3],e[4],e[5],e[6])}var n=pr(t.prototype),r=t.apply(n,e);return Ds(r)?r:n}}function fa(t){return function(e,n,i){var a=ee(e);if(!vs(e)){var o=Pa(n,3);e=iu(e),n=function(t){return o(a[t],t,a)}}var s=t(e,n,i);return s>-1?a[o?e[s]:s]:r}}function ha(t){return Ea(function(e){var n=e.length,i=n,a=yr.prototype.thru;for(t&&e.reverse();i--;){var s=e[i];if("function"!=typeof s)throw new ie(o);if(a&&!u&&"wrapper"==Oa(s))var u=new yr([],!0)}for(i=u?i:n;++i<n;){var c=Oa(s=e[i]),l="wrapper"==c?ja(s):r;u=l&&Ja(l[0])&&l[1]==(k|g|M|L)&&!l[4].length&&1==l[9]?u[Oa(l[0])].apply(u,l[3]):1==s.length&&Ja(s)?u[c]():u.thru(s)}return function(){var t=arguments,r=t[0];if(u&&1==t.length&&ys(r))return u.plant(r).value();for(var i=0,a=n?e[i].apply(this,t):r;++i<n;)a=e[i].call(this,a);return a}})}function _a(t,e,n,i,a,o,s,u,c,l){var d=e&k,f=e&p,h=e&m,_=e&(g|v),y=e&w,M=h?r:da(t);return function p(){for(var m=arguments.length,g=Xt(m),v=m;v--;)g[v]=arguments[v];if(_)var b=Ha(p),k=function(t,e){for(var n=t.length,r=0;n--;)t[n]===e&&++r;return r}(g,b);if(i&&(g=ea(g,i,a,_)),o&&(g=na(g,o,s,_)),m-=k,_&&m<l){var L=Tn(g,b);return ba(t,e,_a,p.placeholder,n,g,L,u,c,l-m)}var w=f?n:this,x=h?w[t]:t;return m=g.length,u?g=function(t,e){for(var n=t.length,i=$n(e.length,n),a=ra(t);i--;){var o=e[i];t[i]=Va(o,n)?a[o]:r}return t}(g,u):y&&m>1&&g.reverse(),d&&c<m&&(g.length=c),this&&this!==Ae&&this instanceof p&&(x=M||da(x)),x.apply(w,g)}}function pa(t,e){return function(n,r){return function(t,e,n,r){return Gr(t,function(t,i,a){e(r,n(t),i,a)}),r}(n,t,e(r),{})}}function ma(t,e){return function(n,i){var a;if(n===r&&i===r)return e;if(n!==r&&(a=n),i!==r){if(a===r)return i;"string"==typeof n||"string"==typeof i?(n=Fi(n),i=Fi(i)):(n=Pi(n),i=Pi(i)),a=t(n,i)}return a}}function ya(t){return Ea(function(e){return e=Ze(e,pn(Pa())),wi(function(n){var r=this;return t(e,function(t){return We(t,r,n)})})})}function ga(t,e){var n=(e=e===r?" ":Fi(e)).length;if(n<2)return n?Li(e,t):e;var i=Li(e,Bn(t/En(e)));return Ln(e)?Ji(An(i),0,t).join(""):i.slice(0,t)}function va(t){return function(e,n,i){return i&&"number"!=typeof i&&$a(e,n,i)&&(n=i=r),e=Rs(e),n===r?(n=e,e=0):n=Rs(n),function(t,e,n,r){for(var i=-1,a=Vn(Bn((e-t)/(n||1)),0),o=Xt(a);a--;)o[r?a:++i]=t,t+=n;return o}(e,n,i=i===r?e<n?1:-1:Rs(i),t)}}function Ma(t){return function(e,n){return"string"==typeof e&&"string"==typeof n||(e=Ws(e),n=Ws(n)),t(e,n)}}function ba(t,e,n,i,a,o,s,u,c,l){var d=e&g;e|=d?M:b,(e&=~(d?b:M))&y||(e&=~(p|m));var f=[t,e,a,d?o:r,d?s:r,d?r:o,d?r:s,u,c,l],h=n.apply(r,f);return Ja(t)&&no(h,f),h.placeholder=i,ao(h,t,e)}function ka(t){var e=te[t];return function(t,n){if(t=Ws(t),n=null==n?0:$n(Is(n),292)){var r=(Us(t)+"e").split("e");return+((r=(Us(e(r[0]+"e"+(+r[1]+n)))+"e").split("e"))[0]+"e"+(+r[1]-n))}return e(t)}}var La=er&&1/Yn(new er([,-0]))[1]==A?function(t){return new er(t)}:Hu;function wa(t){return function(e){var n=za(e);return n==G?wn(e):n==tt?Sn(e):function(t,e){return Ze(e,function(e){return[e,t[e]]})}(e,t(e))}}function xa(t,e,n,i,a,s,u,l){var d=e&m;if(!d&&"function"!=typeof t)throw new ie(o);var f=i?i.length:0;if(f||(e&=~(M|b),i=a=r),u=u===r?u:Vn(Is(u),0),l=l===r?l:Is(l),f-=a?a.length:0,e&b){var h=i,_=a;i=a=r}var w=d?r:ja(t),x=[t,e,n,i,a,h,_,s,u,l];if(w&&function(t,e){var n=t[1],r=e[1],i=n|r,a=i<(p|m|k),o=r==k&&n==g||r==k&&n==L&&t[7].length<=e[8]||r==(k|L)&&e[7].length<=e[8]&&n==g;if(!a&&!o)return t;r&p&&(t[2]=e[2],i|=n&p?0:y);var s=e[3];if(s){var u=t[3];t[3]=u?ea(u,s,e[4]):s,t[4]=u?Tn(t[3],c):e[4]}(s=e[5])&&(u=t[5],t[5]=u?na(u,s,e[6]):s,t[6]=u?Tn(t[5],c):e[6]),(s=e[7])&&(t[7]=s),r&k&&(t[8]=null==t[8]?e[8]:$n(t[8],e[8])),null==t[9]&&(t[9]=e[9]),t[0]=e[0],t[1]=i}(x,w),t=x[0],e=x[1],n=x[2],i=x[3],a=x[4],!(l=x[9]=x[9]===r?d?0:t.length:Vn(x[9]-f,0))&&e&(g|v)&&(e&=~(g|v)),e&&e!=p)T=e==g||e==v?function(t,e,n){var i=da(t);return function a(){for(var o=arguments.length,s=Xt(o),u=o,c=Ha(a);u--;)s[u]=arguments[u];var l=o<3&&s[0]!==c&&s[o-1]!==c?[]:Tn(s,c);return(o-=l.length)<n?ba(t,e,_a,a.placeholder,r,s,l,r,r,n-o):We(this&&this!==Ae&&this instanceof a?i:t,this,s)}}(t,e,l):e!=M&&e!=(p|M)||a.length?_a.apply(r,x):function(t,e,n,r){var i=e&p,a=da(t);return function e(){for(var o=-1,s=arguments.length,u=-1,c=r.length,l=Xt(c+s),d=this&&this!==Ae&&this instanceof e?a:t;++u<c;)l[u]=r[u];for(;s--;)l[u++]=arguments[++o];return We(d,i?n:this,l)}}(t,e,n,i);else var T=function(t,e,n){var r=e&p,i=da(t);return function e(){return(this&&this!==Ae&&this instanceof e?i:t).apply(r?n:this,arguments)}}(t,e,n);return ao((w?Yi:no)(T,x),t,e)}function Ta(t,e,n,i){return t===r||hs(t,se[n])&&!le.call(i,n)?e:t}function Da(t,e,n,i,a,o){return Ds(t)&&Ds(e)&&(o.set(e,t),mi(t,e,r,Da,o),o.delete(e)),t}function Ya(t){return As(t)?r:t}function Sa(t,e,n,i,a,o){var s=n&h,u=t.length,c=e.length;if(u!=c&&!(s&&c>u))return!1;var l=o.get(t);if(l&&o.get(e))return l==e;var d=-1,f=!0,p=n&_?new kr:r;for(o.set(t,e),o.set(e,t);++d<u;){var m=t[d],y=e[d];if(i)var g=s?i(y,m,d,e,t,o):i(m,y,d,t,e,o);if(g!==r){if(g)continue;f=!1;break}if(p){if(!en(e,function(t,e){if(!yn(p,e)&&(m===t||a(m,t,n,i,o)))return p.push(e)})){f=!1;break}}else if(m!==y&&!a(m,y,n,i,o)){f=!1;break}}return o.delete(t),o.delete(e),f}function Ea(t){return io(to(t,r,go),t+"")}function Aa(t){return Kr(t,iu,Ra)}function Ca(t){return Kr(t,au,Ia)}var ja=ir?function(t){return ir.get(t)}:Hu;function Oa(t){for(var e=t.name+"",n=ar[e],r=le.call(ar,e)?n.length:0;r--;){var i=n[r],a=i.func;if(null==a||a==t)return i.name}return e}function Ha(t){return(le.call(_r,"placeholder")?_r:t).placeholder}function Pa(){var t=_r.iteratee||Au;return t=t===Au?ci:t,arguments.length?t(arguments[0],arguments[1]):t}function Fa(t,e){var n,r,i=t.__data__;return("string"==(r=typeof(n=e))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?i["string"==typeof e?"string":"hash"]:i.map}function Na(t){for(var e=iu(t),n=e.length;n--;){var r=e[n],i=t[r];e[n]=[r,i,Ka(i)]}return e}function Ba(t,e){var n=function(t,e){return null==t?r:t[e]}(t,e);return ui(n)?n:r}var Ra=In?function(t){return null==t?[]:(t=ee(t),Ge(In(t),function(e){return He.call(t,e)}))}:zu,Ia=In?function(t){for(var e=[];t;)Ke(e,Ra(t)),t=Ce(t);return e}:zu,za=Qr;function Wa(t,e,n){for(var r=-1,i=(e=$i(e,t)).length,a=!1;++r<i;){var o=co(e[r]);if(!(a=null!=t&&n(t,o)))break;t=t[o]}return a||++r!=i?a:!!(i=null==t?0:t.length)&&Ts(i)&&Va(o,i)&&(ys(t)||ms(t))}function qa(t){return"function"!=typeof t.constructor||Za(t)?{}:pr(Ce(t))}function Ua(t){return ys(t)||ms(t)||!!(nn&&t&&t[nn])}function Va(t,e){var n=typeof t;return!!(e=null==e?C:e)&&("number"==n||"symbol"!=n&&Vt.test(t))&&t>-1&&t%1==0&&t<e}function $a(t,e,n){if(!Ds(n))return!1;var r=typeof e;return!!("number"==r?vs(n)&&Va(e,n.length):"string"==r&&e in n)&&hs(n[e],t)}function Ga(t,e){if(ys(t))return!1;var n=typeof t;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=t&&!Hs(t))||Yt.test(t)||!Dt.test(t)||null!=e&&t in ee(e)}function Ja(t){var e=Oa(t),n=_r[e];if("function"!=typeof n||!(e in gr.prototype))return!1;if(t===n)return!0;var r=ja(n);return!!r&&t===r[0]}(Kn&&za(new Kn(new ArrayBuffer(1)))!=st||Qn&&za(new Qn)!=G||tr&&"[object Promise]"!=za(tr.resolve())||er&&za(new er)!=tt||nr&&za(new nr)!=it)&&(za=function(t){var e=Qr(t),n=e==Z?t.constructor:r,i=n?lo(n):"";if(i)switch(i){case or:return st;case sr:return G;case ur:return"[object Promise]";case cr:return tt;case lr:return it}return e});var Xa=ue?ws:Wu;function Za(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||se)}function Ka(t){return t==t&&!Ds(t)}function Qa(t,e){return function(n){return null!=n&&n[t]===e&&(e!==r||t in ee(n))}}function to(t,e,n){return e=Vn(e===r?t.length-1:e,0),function(){for(var r=arguments,i=-1,a=Vn(r.length-e,0),o=Xt(a);++i<a;)o[i]=r[e+i];i=-1;for(var s=Xt(e+1);++i<e;)s[i]=r[i];return s[e]=n(o),We(t,this,s)}}function eo(t,e){return e.length<2?t:Zr(t,Ai(e,0,-1))}var no=oo(Yi),ro=Nn||function(t,e){return Ae.setTimeout(t,e)},io=oo(Si);function ao(t,e,n){var r=e+"";return io(t,function(t,e){var n=e.length;if(!n)return t;var r=n-1;return e[r]=(n>1?"& ":"")+e[r],e=e.join(n>2?", ":" "),t.replace(Ht,"{\n/* [wrapped with "+e+"] */\n")}(r,function(t,e){return Ue(N,function(n){var r="_."+n[0];e&n[1]&&!Je(t,r)&&t.push(r)}),t.sort()}(function(t){var e=t.match(Pt);return e?e[1].split(Ft):[]}(r),n)))}function oo(t){var e=0,n=0;return function(){var i=Gn(),a=Y-(i-n);if(n=i,a>0){if(++e>=D)return arguments[0]}else e=0;return t.apply(r,arguments)}}function so(t,e){var n=-1,i=t.length,a=i-1;for(e=e===r?i:e;++n<e;){var o=ki(n,a),s=t[o];t[o]=t[n],t[n]=s}return t.length=e,t}var uo=function(t){var e=ss(t,function(t){return n.size===u&&n.clear(),t}),n=e.cache;return e}(function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(St,function(t,n,r,i){e.push(r?i.replace(Bt,"$1"):n||t)}),e});function co(t){if("string"==typeof t||Hs(t))return t;var e=t+"";return"0"==e&&1/t==-A?"-0":e}function lo(t){if(null!=t){try{return ce.call(t)}catch(t){}try{return t+""}catch(t){}}return""}function fo(t){if(t instanceof gr)return t.clone();var e=new yr(t.__wrapped__,t.__chain__);return e.__actions__=ra(t.__actions__),e.__index__=t.__index__,e.__values__=t.__values__,e}var ho=wi(function(t,e){return Ms(t)?Br(t,Ur(e,1,Ms,!0)):[]}),_o=wi(function(t,e){var n=Lo(e);return Ms(n)&&(n=r),Ms(t)?Br(t,Ur(e,1,Ms,!0),Pa(n,2)):[]}),po=wi(function(t,e){var n=Lo(e);return Ms(n)&&(n=r),Ms(t)?Br(t,Ur(e,1,Ms,!0),r,n):[]});function mo(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var i=null==n?0:Is(n);return i<0&&(i=Vn(r+i,0)),an(t,Pa(e,3),i)}function yo(t,e,n){var i=null==t?0:t.length;if(!i)return-1;var a=i-1;return n!==r&&(a=Is(n),a=n<0?Vn(i+a,0):$n(a,i-1)),an(t,Pa(e,3),a,!0)}function go(t){return null!=t&&t.length?Ur(t,1):[]}function vo(t){return t&&t.length?t[0]:r}var Mo=wi(function(t){var e=Ze(t,Ui);return e.length&&e[0]===t[0]?ri(e):[]}),bo=wi(function(t){var e=Lo(t),n=Ze(t,Ui);return e===Lo(n)?e=r:n.pop(),n.length&&n[0]===t[0]?ri(n,Pa(e,2)):[]}),ko=wi(function(t){var e=Lo(t),n=Ze(t,Ui);return(e="function"==typeof e?e:r)&&n.pop(),n.length&&n[0]===t[0]?ri(n,r,e):[]});function Lo(t){var e=null==t?0:t.length;return e?t[e-1]:r}var wo=wi(xo);function xo(t,e){return t&&t.length&&e&&e.length?Mi(t,e):t}var To=Ea(function(t,e){var n=null==t?0:t.length,r=Or(t,e);return bi(t,Ze(e,function(t){return Va(t,n)?+t:t}).sort(ta)),r});function Do(t){return null==t?t:Zn.call(t)}var Yo=wi(function(t){return Ni(Ur(t,1,Ms,!0))}),So=wi(function(t){var e=Lo(t);return Ms(e)&&(e=r),Ni(Ur(t,1,Ms,!0),Pa(e,2))}),Eo=wi(function(t){var e=Lo(t);return e="function"==typeof e?e:r,Ni(Ur(t,1,Ms,!0),r,e)});function Ao(t){if(!t||!t.length)return[];var e=0;return t=Ge(t,function(t){if(Ms(t))return e=Vn(t.length,e),!0}),_n(e,function(e){return Ze(t,ln(e))})}function Co(t,e){if(!t||!t.length)return[];var n=Ao(t);return null==e?n:Ze(n,function(t){return We(e,r,t)})}var jo=wi(function(t,e){return Ms(t)?Br(t,e):[]}),Oo=wi(function(t){return Wi(Ge(t,Ms))}),Ho=wi(function(t){var e=Lo(t);return Ms(e)&&(e=r),Wi(Ge(t,Ms),Pa(e,2))}),Po=wi(function(t){var e=Lo(t);return e="function"==typeof e?e:r,Wi(Ge(t,Ms),r,e)}),Fo=wi(Ao);var No=wi(function(t){var e=t.length,n=e>1?t[e-1]:r;return Co(t,n="function"==typeof n?(t.pop(),n):r)});function Bo(t){var e=_r(t);return e.__chain__=!0,e}function Ro(t,e){return e(t)}var Io=Ea(function(t){var e=t.length,n=e?t[0]:0,i=this.__wrapped__,a=function(e){return Or(e,t)};return!(e>1||this.__actions__.length)&&i instanceof gr&&Va(n)?((i=i.slice(n,+n+(e?1:0))).__actions__.push({func:Ro,args:[a],thisArg:r}),new yr(i,this.__chain__).thru(function(t){return e&&!t.length&&t.push(r),t})):this.thru(a)});var zo=aa(function(t,e,n){le.call(t,n)?++t[n]:jr(t,n,1)});var Wo=fa(mo),qo=fa(yo);function Uo(t,e){return(ys(t)?Ue:Rr)(t,Pa(e,3))}function Vo(t,e){return(ys(t)?Ve:Ir)(t,Pa(e,3))}var $o=aa(function(t,e,n){le.call(t,n)?t[n].push(e):jr(t,n,[e])});var Go=wi(function(t,e,n){var r=-1,i="function"==typeof e,a=vs(t)?Xt(t.length):[];return Rr(t,function(t){a[++r]=i?We(e,t,n):ii(t,e,n)}),a}),Jo=aa(function(t,e,n){jr(t,n,e)});function Xo(t,e){return(ys(t)?Ze:hi)(t,Pa(e,3))}var Zo=aa(function(t,e,n){t[n?0:1].push(e)},function(){return[[],[]]});var Ko=wi(function(t,e){if(null==t)return[];var n=e.length;return n>1&&$a(t,e[0],e[1])?e=[]:n>2&&$a(e[0],e[1],e[2])&&(e=[e[0]]),gi(t,Ur(e,1),[])}),Qo=Fn||function(){return Ae.Date.now()};function ts(t,e,n){return e=n?r:e,e=t&&null==e?t.length:e,xa(t,k,r,r,r,r,e)}function es(t,e){var n;if("function"!=typeof e)throw new ie(o);return t=Is(t),function(){return--t>0&&(n=e.apply(this,arguments)),t<=1&&(e=r),n}}var ns=wi(function(t,e,n){var r=p;if(n.length){var i=Tn(n,Ha(ns));r|=M}return xa(t,r,e,n,i)}),rs=wi(function(t,e,n){var r=p|m;if(n.length){var i=Tn(n,Ha(rs));r|=M}return xa(e,r,t,n,i)});function is(t,e,n){var i,a,s,u,c,l,d=0,f=!1,h=!1,_=!0;if("function"!=typeof t)throw new ie(o);function p(e){var n=i,o=a;return i=a=r,d=e,u=t.apply(o,n)}function m(t){var n=t-l;return l===r||n>=e||n<0||h&&t-d>=s}function y(){var t=Qo();if(m(t))return g(t);c=ro(y,function(t){var n=e-(t-l);return h?$n(n,s-(t-d)):n}(t))}function g(t){return c=r,_&&i?p(t):(i=a=r,u)}function v(){var t=Qo(),n=m(t);if(i=arguments,a=this,l=t,n){if(c===r)return function(t){return d=t,c=ro(y,e),f?p(t):u}(l);if(h)return c=ro(y,e),p(l)}return c===r&&(c=ro(y,e)),u}return e=Ws(e)||0,Ds(n)&&(f=!!n.leading,s=(h="maxWait"in n)?Vn(Ws(n.maxWait)||0,e):s,_="trailing"in n?!!n.trailing:_),v.cancel=function(){c!==r&&Xi(c),d=0,i=l=a=c=r},v.flush=function(){return c===r?u:g(Qo())},v}var as=wi(function(t,e){return Nr(t,1,e)}),os=wi(function(t,e,n){return Nr(t,Ws(e)||0,n)});function ss(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new ie(o);var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],a=n.cache;if(a.has(i))return a.get(i);var o=t.apply(this,r);return n.cache=a.set(i,o)||a,o};return n.cache=new(ss.Cache||br),n}function us(t){if("function"!=typeof t)throw new ie(o);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}ss.Cache=br;var cs=Gi(function(t,e){var n=(e=1==e.length&&ys(e[0])?Ze(e[0],pn(Pa())):Ze(Ur(e,1),pn(Pa()))).length;return wi(function(r){for(var i=-1,a=$n(r.length,n);++i<a;)r[i]=e[i].call(this,r[i]);return We(t,this,r)})}),ls=wi(function(t,e){var n=Tn(e,Ha(ls));return xa(t,M,r,e,n)}),ds=wi(function(t,e){var n=Tn(e,Ha(ds));return xa(t,b,r,e,n)}),fs=Ea(function(t,e){return xa(t,L,r,r,r,e)});function hs(t,e){return t===e||t!=t&&e!=e}var _s=Ma(ti),ps=Ma(function(t,e){return t>=e}),ms=ai(function(){return arguments}())?ai:function(t){return Ys(t)&&le.call(t,"callee")&&!He.call(t,"callee")},ys=Xt.isArray,gs=Fe?pn(Fe):function(t){return Ys(t)&&Qr(t)==ot};function vs(t){return null!=t&&Ts(t.length)&&!ws(t)}function Ms(t){return Ys(t)&&vs(t)}var bs=zn||Wu,ks=Ne?pn(Ne):function(t){return Ys(t)&&Qr(t)==W};function Ls(t){if(!Ys(t))return!1;var e=Qr(t);return e==U||e==q||"string"==typeof t.message&&"string"==typeof t.name&&!As(t)}function ws(t){if(!Ds(t))return!1;var e=Qr(t);return e==V||e==$||e==I||e==K}function xs(t){return"number"==typeof t&&t==Is(t)}function Ts(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=C}function Ds(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function Ys(t){return null!=t&&"object"==typeof t}var Ss=Be?pn(Be):function(t){return Ys(t)&&za(t)==G};function Es(t){return"number"==typeof t||Ys(t)&&Qr(t)==J}function As(t){if(!Ys(t)||Qr(t)!=Z)return!1;var e=Ce(t);if(null===e)return!0;var n=le.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&ce.call(n)==_e}var Cs=Re?pn(Re):function(t){return Ys(t)&&Qr(t)==Q};var js=Ie?pn(Ie):function(t){return Ys(t)&&za(t)==tt};function Os(t){return"string"==typeof t||!ys(t)&&Ys(t)&&Qr(t)==et}function Hs(t){return"symbol"==typeof t||Ys(t)&&Qr(t)==nt}var Ps=ze?pn(ze):function(t){return Ys(t)&&Ts(t.length)&&!!we[Qr(t)]};var Fs=Ma(fi),Ns=Ma(function(t,e){return t<=e});function Bs(t){if(!t)return[];if(vs(t))return Os(t)?An(t):ra(t);if(dn&&t[dn])return function(t){for(var e,n=[];!(e=t.next()).done;)n.push(e.value);return n}(t[dn]());var e=za(t);return(e==G?wn:e==tt?Yn:hu)(t)}function Rs(t){return t?(t=Ws(t))===A||t===-A?(t<0?-1:1)*j:t==t?t:0:0===t?t:0}function Is(t){var e=Rs(t),n=e%1;return e==e?n?e-n:e:0}function zs(t){return t?Hr(Is(t),0,H):0}function Ws(t){if("number"==typeof t)return t;if(Hs(t))return O;if(Ds(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=Ds(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(Ct,"");var n=Wt.test(t);return n||Ut.test(t)?Ye(t.slice(2),n?2:8):zt.test(t)?O:+t}function qs(t){return ia(t,au(t))}function Us(t){return null==t?"":Fi(t)}var Vs=oa(function(t,e){if(Za(e)||vs(e))ia(e,iu(e),t);else for(var n in e)le.call(e,n)&&Sr(t,n,e[n])}),$s=oa(function(t,e){ia(e,au(e),t)}),Gs=oa(function(t,e,n,r){ia(e,au(e),t,r)}),Js=oa(function(t,e,n,r){ia(e,iu(e),t,r)}),Xs=Ea(Or);var Zs=wi(function(t,e){t=ee(t);var n=-1,i=e.length,a=i>2?e[2]:r;for(a&&$a(e[0],e[1],a)&&(i=1);++n<i;)for(var o=e[n],s=au(o),u=-1,c=s.length;++u<c;){var l=s[u],d=t[l];(d===r||hs(d,se[l])&&!le.call(t,l))&&(t[l]=o[l])}return t}),Ks=wi(function(t){return t.push(r,Da),We(su,r,t)});function Qs(t,e,n){var i=null==t?r:Zr(t,e);return i===r?n:i}function tu(t,e){return null!=t&&Wa(t,e,ni)}var eu=pa(function(t,e,n){null!=e&&"function"!=typeof e.toString&&(e=he.call(e)),t[e]=n},Du(Eu)),nu=pa(function(t,e,n){null!=e&&"function"!=typeof e.toString&&(e=he.call(e)),le.call(t,e)?t[e].push(n):t[e]=[n]},Pa),ru=wi(ii);function iu(t){return vs(t)?wr(t):li(t)}function au(t){return vs(t)?wr(t,!0):di(t)}var ou=oa(function(t,e,n){mi(t,e,n)}),su=oa(function(t,e,n,r){mi(t,e,n,r)}),uu=Ea(function(t,e){var n={};if(null==t)return n;var r=!1;e=Ze(e,function(e){return e=$i(e,t),r||(r=e.length>1),e}),ia(t,Ca(t),n),r&&(n=Pr(n,l|d|f,Ya));for(var i=e.length;i--;)Bi(n,e[i]);return n});var cu=Ea(function(t,e){return null==t?{}:function(t,e){return vi(t,e,function(e,n){return tu(t,n)})}(t,e)});function lu(t,e){if(null==t)return{};var n=Ze(Ca(t),function(t){return[t]});return e=Pa(e),vi(t,n,function(t,n){return e(t,n[0])})}var du=wa(iu),fu=wa(au);function hu(t){return null==t?[]:mn(t,iu(t))}var _u=la(function(t,e,n){return e=e.toLowerCase(),t+(n?pu(e):e)});function pu(t){return Lu(Us(t).toLowerCase())}function mu(t){return(t=Us(t))&&t.replace($t,Mn).replace(ye,"")}var yu=la(function(t,e,n){return t+(n?"-":"")+e.toLowerCase()}),gu=la(function(t,e,n){return t+(n?" ":"")+e.toLowerCase()}),vu=ca("toLowerCase");var Mu=la(function(t,e,n){return t+(n?"_":"")+e.toLowerCase()});var bu=la(function(t,e,n){return t+(n?" ":"")+Lu(e)});var ku=la(function(t,e,n){return t+(n?" ":"")+e.toUpperCase()}),Lu=ca("toUpperCase");function wu(t,e,n){return t=Us(t),(e=n?r:e)===r?function(t){return be.test(t)}(t)?function(t){return t.match(ve)||[]}(t):function(t){return t.match(Nt)||[]}(t):t.match(e)||[]}var xu=wi(function(t,e){try{return We(t,r,e)}catch(t){return Ls(t)?t:new Kt(t)}}),Tu=Ea(function(t,e){return Ue(e,function(e){e=co(e),jr(t,e,ns(t[e],t))}),t});function Du(t){return function(){return t}}var Yu=ha(),Su=ha(!0);function Eu(t){return t}function Au(t){return ci("function"==typeof t?t:Pr(t,l))}var Cu=wi(function(t,e){return function(n){return ii(n,t,e)}}),ju=wi(function(t,e){return function(n){return ii(t,n,e)}});function Ou(t,e,n){var r=iu(e),i=Xr(e,r);null!=n||Ds(e)&&(i.length||!r.length)||(n=e,e=t,t=this,i=Xr(e,iu(e)));var a=!(Ds(n)&&"chain"in n&&!n.chain),o=ws(t);return Ue(i,function(n){var r=e[n];t[n]=r,o&&(t.prototype[n]=function(){var e=this.__chain__;if(a||e){var n=t(this.__wrapped__);return(n.__actions__=ra(this.__actions__)).push({func:r,args:arguments,thisArg:t}),n.__chain__=e,n}return r.apply(t,Ke([this.value()],arguments))})}),t}function Hu(){}var Pu=ya(Ze),Fu=ya($e),Nu=ya(en);function Bu(t){return Ga(t)?ln(co(t)):function(t){return function(e){return Zr(e,t)}}(t)}var Ru=va(),Iu=va(!0);function zu(){return[]}function Wu(){return!1}var qu=ma(function(t,e){return t+e},0),Uu=ka("ceil"),Vu=ma(function(t,e){return t/e},1),$u=ka("floor");var Gu,Ju=ma(function(t,e){return t*e},1),Xu=ka("round"),Zu=ma(function(t,e){return t-e},0);return _r.after=function(t,e){if("function"!=typeof e)throw new ie(o);return t=Is(t),function(){if(--t<1)return e.apply(this,arguments)}},_r.ary=ts,_r.assign=Vs,_r.assignIn=$s,_r.assignInWith=Gs,_r.assignWith=Js,_r.at=Xs,_r.before=es,_r.bind=ns,_r.bindAll=Tu,_r.bindKey=rs,_r.castArray=function(){if(!arguments.length)return[];var t=arguments[0];return ys(t)?t:[t]},_r.chain=Bo,_r.chunk=function(t,e,n){e=(n?$a(t,e,n):e===r)?1:Vn(Is(e),0);var i=null==t?0:t.length;if(!i||e<1)return[];for(var a=0,o=0,s=Xt(Bn(i/e));a<i;)s[o++]=Ai(t,a,a+=e);return s},_r.compact=function(t){for(var e=-1,n=null==t?0:t.length,r=0,i=[];++e<n;){var a=t[e];a&&(i[r++]=a)}return i},_r.concat=function(){var t=arguments.length;if(!t)return[];for(var e=Xt(t-1),n=arguments[0],r=t;r--;)e[r-1]=arguments[r];return Ke(ys(n)?ra(n):[n],Ur(e,1))},_r.cond=function(t){var e=null==t?0:t.length,n=Pa();return t=e?Ze(t,function(t){if("function"!=typeof t[1])throw new ie(o);return[n(t[0]),t[1]]}):[],wi(function(n){for(var r=-1;++r<e;){var i=t[r];if(We(i[0],this,n))return We(i[1],this,n)}})},_r.conforms=function(t){return function(t){var e=iu(t);return function(n){return Fr(n,t,e)}}(Pr(t,l))},_r.constant=Du,_r.countBy=zo,_r.create=function(t,e){var n=pr(t);return null==e?n:Cr(n,e)},_r.curry=function t(e,n,i){var a=xa(e,g,r,r,r,r,r,n=i?r:n);return a.placeholder=t.placeholder,a},_r.curryRight=function t(e,n,i){var a=xa(e,v,r,r,r,r,r,n=i?r:n);return a.placeholder=t.placeholder,a},_r.debounce=is,_r.defaults=Zs,_r.defaultsDeep=Ks,_r.defer=as,_r.delay=os,_r.difference=ho,_r.differenceBy=_o,_r.differenceWith=po,_r.drop=function(t,e,n){var i=null==t?0:t.length;return i?Ai(t,(e=n||e===r?1:Is(e))<0?0:e,i):[]},_r.dropRight=function(t,e,n){var i=null==t?0:t.length;return i?Ai(t,0,(e=i-(e=n||e===r?1:Is(e)))<0?0:e):[]},_r.dropRightWhile=function(t,e){return t&&t.length?Ii(t,Pa(e,3),!0,!0):[]},_r.dropWhile=function(t,e){return t&&t.length?Ii(t,Pa(e,3),!0):[]},_r.fill=function(t,e,n,i){var a=null==t?0:t.length;return a?(n&&"number"!=typeof n&&$a(t,e,n)&&(n=0,i=a),function(t,e,n,i){var a=t.length;for((n=Is(n))<0&&(n=-n>a?0:a+n),(i=i===r||i>a?a:Is(i))<0&&(i+=a),i=n>i?0:zs(i);n<i;)t[n++]=e;return t}(t,e,n,i)):[]},_r.filter=function(t,e){return(ys(t)?Ge:qr)(t,Pa(e,3))},_r.flatMap=function(t,e){return Ur(Xo(t,e),1)},_r.flatMapDeep=function(t,e){return Ur(Xo(t,e),A)},_r.flatMapDepth=function(t,e,n){return n=n===r?1:Is(n),Ur(Xo(t,e),n)},_r.flatten=go,_r.flattenDeep=function(t){return null!=t&&t.length?Ur(t,A):[]},_r.flattenDepth=function(t,e){return null!=t&&t.length?Ur(t,e=e===r?1:Is(e)):[]},_r.flip=function(t){return xa(t,w)},_r.flow=Yu,_r.flowRight=Su,_r.fromPairs=function(t){for(var e=-1,n=null==t?0:t.length,r={};++e<n;){var i=t[e];r[i[0]]=i[1]}return r},_r.functions=function(t){return null==t?[]:Xr(t,iu(t))},_r.functionsIn=function(t){return null==t?[]:Xr(t,au(t))},_r.groupBy=$o,_r.initial=function(t){return null!=t&&t.length?Ai(t,0,-1):[]},_r.intersection=Mo,_r.intersectionBy=bo,_r.intersectionWith=ko,_r.invert=eu,_r.invertBy=nu,_r.invokeMap=Go,_r.iteratee=Au,_r.keyBy=Jo,_r.keys=iu,_r.keysIn=au,_r.map=Xo,_r.mapKeys=function(t,e){var n={};return e=Pa(e,3),Gr(t,function(t,r,i){jr(n,e(t,r,i),t)}),n},_r.mapValues=function(t,e){var n={};return e=Pa(e,3),Gr(t,function(t,r,i){jr(n,r,e(t,r,i))}),n},_r.matches=function(t){return _i(Pr(t,l))},_r.matchesProperty=function(t,e){return pi(t,Pr(e,l))},_r.memoize=ss,_r.merge=ou,_r.mergeWith=su,_r.method=Cu,_r.methodOf=ju,_r.mixin=Ou,_r.negate=us,_r.nthArg=function(t){return t=Is(t),wi(function(e){return yi(e,t)})},_r.omit=uu,_r.omitBy=function(t,e){return lu(t,us(Pa(e)))},_r.once=function(t){return es(2,t)},_r.orderBy=function(t,e,n,i){return null==t?[]:(ys(e)||(e=null==e?[]:[e]),ys(n=i?r:n)||(n=null==n?[]:[n]),gi(t,e,n))},_r.over=Pu,_r.overArgs=cs,_r.overEvery=Fu,_r.overSome=Nu,_r.partial=ls,_r.partialRight=ds,_r.partition=Zo,_r.pick=cu,_r.pickBy=lu,_r.property=Bu,_r.propertyOf=function(t){return function(e){return null==t?r:Zr(t,e)}},_r.pull=wo,_r.pullAll=xo,_r.pullAllBy=function(t,e,n){return t&&t.length&&e&&e.length?Mi(t,e,Pa(n,2)):t},_r.pullAllWith=function(t,e,n){return t&&t.length&&e&&e.length?Mi(t,e,r,n):t},_r.pullAt=To,_r.range=Ru,_r.rangeRight=Iu,_r.rearg=fs,_r.reject=function(t,e){return(ys(t)?Ge:qr)(t,us(Pa(e,3)))},_r.remove=function(t,e){var n=[];if(!t||!t.length)return n;var r=-1,i=[],a=t.length;for(e=Pa(e,3);++r<a;){var o=t[r];e(o,r,t)&&(n.push(o),i.push(r))}return bi(t,i),n},_r.rest=function(t,e){if("function"!=typeof t)throw new ie(o);return wi(t,e=e===r?e:Is(e))},_r.reverse=Do,_r.sampleSize=function(t,e,n){return e=(n?$a(t,e,n):e===r)?1:Is(e),(ys(t)?Tr:Ti)(t,e)},_r.set=function(t,e,n){return null==t?t:Di(t,e,n)},_r.setWith=function(t,e,n,i){return i="function"==typeof i?i:r,null==t?t:Di(t,e,n,i)},_r.shuffle=function(t){return(ys(t)?Dr:Ei)(t)},_r.slice=function(t,e,n){var i=null==t?0:t.length;return i?(n&&"number"!=typeof n&&$a(t,e,n)?(e=0,n=i):(e=null==e?0:Is(e),n=n===r?i:Is(n)),Ai(t,e,n)):[]},_r.sortBy=Ko,_r.sortedUniq=function(t){return t&&t.length?Hi(t):[]},_r.sortedUniqBy=function(t,e){return t&&t.length?Hi(t,Pa(e,2)):[]},_r.split=function(t,e,n){return n&&"number"!=typeof n&&$a(t,e,n)&&(e=n=r),(n=n===r?H:n>>>0)?(t=Us(t))&&("string"==typeof e||null!=e&&!Cs(e))&&!(e=Fi(e))&&Ln(t)?Ji(An(t),0,n):t.split(e,n):[]},_r.spread=function(t,e){if("function"!=typeof t)throw new ie(o);return e=null==e?0:Vn(Is(e),0),wi(function(n){var r=n[e],i=Ji(n,0,e);return r&&Ke(i,r),We(t,this,i)})},_r.tail=function(t){var e=null==t?0:t.length;return e?Ai(t,1,e):[]},_r.take=function(t,e,n){return t&&t.length?Ai(t,0,(e=n||e===r?1:Is(e))<0?0:e):[]},_r.takeRight=function(t,e,n){var i=null==t?0:t.length;return i?Ai(t,(e=i-(e=n||e===r?1:Is(e)))<0?0:e,i):[]},_r.takeRightWhile=function(t,e){return t&&t.length?Ii(t,Pa(e,3),!1,!0):[]},_r.takeWhile=function(t,e){return t&&t.length?Ii(t,Pa(e,3)):[]},_r.tap=function(t,e){return e(t),t},_r.throttle=function(t,e,n){var r=!0,i=!0;if("function"!=typeof t)throw new ie(o);return Ds(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),is(t,e,{leading:r,maxWait:e,trailing:i})},_r.thru=Ro,_r.toArray=Bs,_r.toPairs=du,_r.toPairsIn=fu,_r.toPath=function(t){return ys(t)?Ze(t,co):Hs(t)?[t]:ra(uo(Us(t)))},_r.toPlainObject=qs,_r.transform=function(t,e,n){var r=ys(t),i=r||bs(t)||Ps(t);if(e=Pa(e,4),null==n){var a=t&&t.constructor;n=i?r?new a:[]:Ds(t)&&ws(a)?pr(Ce(t)):{}}return(i?Ue:Gr)(t,function(t,r,i){return e(n,t,r,i)}),n},_r.unary=function(t){return ts(t,1)},_r.union=Yo,_r.unionBy=So,_r.unionWith=Eo,_r.uniq=function(t){return t&&t.length?Ni(t):[]},_r.uniqBy=function(t,e){return t&&t.length?Ni(t,Pa(e,2)):[]},_r.uniqWith=function(t,e){return e="function"==typeof e?e:r,t&&t.length?Ni(t,r,e):[]},_r.unset=function(t,e){return null==t||Bi(t,e)},_r.unzip=Ao,_r.unzipWith=Co,_r.update=function(t,e,n){return null==t?t:Ri(t,e,Vi(n))},_r.updateWith=function(t,e,n,i){return i="function"==typeof i?i:r,null==t?t:Ri(t,e,Vi(n),i)},_r.values=hu,_r.valuesIn=function(t){return null==t?[]:mn(t,au(t))},_r.without=jo,_r.words=wu,_r.wrap=function(t,e){return ls(Vi(e),t)},_r.xor=Oo,_r.xorBy=Ho,_r.xorWith=Po,_r.zip=Fo,_r.zipObject=function(t,e){return qi(t||[],e||[],Sr)},_r.zipObjectDeep=function(t,e){return qi(t||[],e||[],Di)},_r.zipWith=No,_r.entries=du,_r.entriesIn=fu,_r.extend=$s,_r.extendWith=Gs,Ou(_r,_r),_r.add=qu,_r.attempt=xu,_r.camelCase=_u,_r.capitalize=pu,_r.ceil=Uu,_r.clamp=function(t,e,n){return n===r&&(n=e,e=r),n!==r&&(n=(n=Ws(n))==n?n:0),e!==r&&(e=(e=Ws(e))==e?e:0),Hr(Ws(t),e,n)},_r.clone=function(t){return Pr(t,f)},_r.cloneDeep=function(t){return Pr(t,l|f)},_r.cloneDeepWith=function(t,e){return Pr(t,l|f,e="function"==typeof e?e:r)},_r.cloneWith=function(t,e){return Pr(t,f,e="function"==typeof e?e:r)},_r.conformsTo=function(t,e){return null==e||Fr(t,e,iu(e))},_r.deburr=mu,_r.defaultTo=function(t,e){return null==t||t!=t?e:t},_r.divide=Vu,_r.endsWith=function(t,e,n){t=Us(t),e=Fi(e);var i=t.length,a=n=n===r?i:Hr(Is(n),0,i);return(n-=e.length)>=0&&t.slice(n,a)==e},_r.eq=hs,_r.escape=function(t){return(t=Us(t))&&Lt.test(t)?t.replace(bt,bn):t},_r.escapeRegExp=function(t){return(t=Us(t))&&At.test(t)?t.replace(Et,"\\$&"):t},_r.every=function(t,e,n){var i=ys(t)?$e:zr;return n&&$a(t,e,n)&&(e=r),i(t,Pa(e,3))},_r.find=Wo,_r.findIndex=mo,_r.findKey=function(t,e){return rn(t,Pa(e,3),Gr)},_r.findLast=qo,_r.findLastIndex=yo,_r.findLastKey=function(t,e){return rn(t,Pa(e,3),Jr)},_r.floor=$u,_r.forEach=Uo,_r.forEachRight=Vo,_r.forIn=function(t,e){return null==t?t:Vr(t,Pa(e,3),au)},_r.forInRight=function(t,e){return null==t?t:$r(t,Pa(e,3),au)},_r.forOwn=function(t,e){return t&&Gr(t,Pa(e,3))},_r.forOwnRight=function(t,e){return t&&Jr(t,Pa(e,3))},_r.get=Qs,_r.gt=_s,_r.gte=ps,_r.has=function(t,e){return null!=t&&Wa(t,e,ei)},_r.hasIn=tu,_r.head=vo,_r.identity=Eu,_r.includes=function(t,e,n,r){t=vs(t)?t:hu(t),n=n&&!r?Is(n):0;var i=t.length;return n<0&&(n=Vn(i+n,0)),Os(t)?n<=i&&t.indexOf(e,n)>-1:!!i&&on(t,e,n)>-1},_r.indexOf=function(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var i=null==n?0:Is(n);return i<0&&(i=Vn(r+i,0)),on(t,e,i)},_r.inRange=function(t,e,n){return e=Rs(e),n===r?(n=e,e=0):n=Rs(n),function(t,e,n){return t>=$n(e,n)&&t<Vn(e,n)}(t=Ws(t),e,n)},_r.invoke=ru,_r.isArguments=ms,_r.isArray=ys,_r.isArrayBuffer=gs,_r.isArrayLike=vs,_r.isArrayLikeObject=Ms,_r.isBoolean=function(t){return!0===t||!1===t||Ys(t)&&Qr(t)==z},_r.isBuffer=bs,_r.isDate=ks,_r.isElement=function(t){return Ys(t)&&1===t.nodeType&&!As(t)},_r.isEmpty=function(t){if(null==t)return!0;if(vs(t)&&(ys(t)||"string"==typeof t||"function"==typeof t.splice||bs(t)||Ps(t)||ms(t)))return!t.length;var e=za(t);if(e==G||e==tt)return!t.size;if(Za(t))return!li(t).length;for(var n in t)if(le.call(t,n))return!1;return!0},_r.isEqual=function(t,e){return oi(t,e)},_r.isEqualWith=function(t,e,n){var i=(n="function"==typeof n?n:r)?n(t,e):r;return i===r?oi(t,e,r,n):!!i},_r.isError=Ls,_r.isFinite=function(t){return"number"==typeof t&&Wn(t)},_r.isFunction=ws,_r.isInteger=xs,_r.isLength=Ts,_r.isMap=Ss,_r.isMatch=function(t,e){return t===e||si(t,e,Na(e))},_r.isMatchWith=function(t,e,n){return n="function"==typeof n?n:r,si(t,e,Na(e),n)},_r.isNaN=function(t){return Es(t)&&t!=+t},_r.isNative=function(t){if(Xa(t))throw new Kt(a);return ui(t)},_r.isNil=function(t){return null==t},_r.isNull=function(t){return null===t},_r.isNumber=Es,_r.isObject=Ds,_r.isObjectLike=Ys,_r.isPlainObject=As,_r.isRegExp=Cs,_r.isSafeInteger=function(t){return xs(t)&&t>=-C&&t<=C},_r.isSet=js,_r.isString=Os,_r.isSymbol=Hs,_r.isTypedArray=Ps,_r.isUndefined=function(t){return t===r},_r.isWeakMap=function(t){return Ys(t)&&za(t)==it},_r.isWeakSet=function(t){return Ys(t)&&Qr(t)==at},_r.join=function(t,e){return null==t?"":qn.call(t,e)},_r.kebabCase=yu,_r.last=Lo,_r.lastIndexOf=function(t,e,n){var i=null==t?0:t.length;if(!i)return-1;var a=i;return n!==r&&(a=(a=Is(n))<0?Vn(i+a,0):$n(a,i-1)),e==e?function(t,e,n){for(var r=n+1;r--;)if(t[r]===e)return r;return r}(t,e,a):an(t,un,a,!0)},_r.lowerCase=gu,_r.lowerFirst=vu,_r.lt=Fs,_r.lte=Ns,_r.max=function(t){return t&&t.length?Wr(t,Eu,ti):r},_r.maxBy=function(t,e){return t&&t.length?Wr(t,Pa(e,2),ti):r},_r.mean=function(t){return cn(t,Eu)},_r.meanBy=function(t,e){return cn(t,Pa(e,2))},_r.min=function(t){return t&&t.length?Wr(t,Eu,fi):r},_r.minBy=function(t,e){return t&&t.length?Wr(t,Pa(e,2),fi):r},_r.stubArray=zu,_r.stubFalse=Wu,_r.stubObject=function(){return{}},_r.stubString=function(){return""},_r.stubTrue=function(){return!0},_r.multiply=Ju,_r.nth=function(t,e){return t&&t.length?yi(t,Is(e)):r},_r.noConflict=function(){return Ae._===this&&(Ae._=pe),this},_r.noop=Hu,_r.now=Qo,_r.pad=function(t,e,n){t=Us(t);var r=(e=Is(e))?En(t):0;if(!e||r>=e)return t;var i=(e-r)/2;return ga(Rn(i),n)+t+ga(Bn(i),n)},_r.padEnd=function(t,e,n){t=Us(t);var r=(e=Is(e))?En(t):0;return e&&r<e?t+ga(e-r,n):t},_r.padStart=function(t,e,n){t=Us(t);var r=(e=Is(e))?En(t):0;return e&&r<e?ga(e-r,n)+t:t},_r.parseInt=function(t,e,n){return n||null==e?e=0:e&&(e=+e),Jn(Us(t).replace(jt,""),e||0)},_r.random=function(t,e,n){if(n&&"boolean"!=typeof n&&$a(t,e,n)&&(e=n=r),n===r&&("boolean"==typeof e?(n=e,e=r):"boolean"==typeof t&&(n=t,t=r)),t===r&&e===r?(t=0,e=1):(t=Rs(t),e===r?(e=t,t=0):e=Rs(e)),t>e){var i=t;t=e,e=i}if(n||t%1||e%1){var a=Xn();return $n(t+a*(e-t+De("1e-"+((a+"").length-1))),e)}return ki(t,e)},_r.reduce=function(t,e,n){var r=ys(t)?Qe:fn,i=arguments.length<3;return r(t,Pa(e,4),n,i,Rr)},_r.reduceRight=function(t,e,n){var r=ys(t)?tn:fn,i=arguments.length<3;return r(t,Pa(e,4),n,i,Ir)},_r.repeat=function(t,e,n){return e=(n?$a(t,e,n):e===r)?1:Is(e),Li(Us(t),e)},_r.replace=function(){var t=arguments,e=Us(t[0]);return t.length<3?e:e.replace(t[1],t[2])},_r.result=function(t,e,n){var i=-1,a=(e=$i(e,t)).length;for(a||(a=1,t=r);++i<a;){var o=null==t?r:t[co(e[i])];o===r&&(i=a,o=n),t=ws(o)?o.call(t):o}return t},_r.round=Xu,_r.runInContext=t,_r.sample=function(t){return(ys(t)?xr:xi)(t)},_r.size=function(t){if(null==t)return 0;if(vs(t))return Os(t)?En(t):t.length;var e=za(t);return e==G||e==tt?t.size:li(t).length},_r.snakeCase=Mu,_r.some=function(t,e,n){var i=ys(t)?en:Ci;return n&&$a(t,e,n)&&(e=r),i(t,Pa(e,3))},_r.sortedIndex=function(t,e){return ji(t,e)},_r.sortedIndexBy=function(t,e,n){return Oi(t,e,Pa(n,2))},_r.sortedIndexOf=function(t,e){var n=null==t?0:t.length;if(n){var r=ji(t,e);if(r<n&&hs(t[r],e))return r}return-1},_r.sortedLastIndex=function(t,e){return ji(t,e,!0)},_r.sortedLastIndexBy=function(t,e,n){return Oi(t,e,Pa(n,2),!0)},_r.sortedLastIndexOf=function(t,e){if(null!=t&&t.length){var n=ji(t,e,!0)-1;if(hs(t[n],e))return n}return-1},_r.startCase=bu,_r.startsWith=function(t,e,n){return t=Us(t),n=null==n?0:Hr(Is(n),0,t.length),e=Fi(e),t.slice(n,n+e.length)==e},_r.subtract=Zu,_r.sum=function(t){return t&&t.length?hn(t,Eu):0},_r.sumBy=function(t,e){return t&&t.length?hn(t,Pa(e,2)):0},_r.template=function(t,e,n){var i=_r.templateSettings;n&&$a(t,e,n)&&(e=r),t=Us(t),e=Gs({},e,i,Ta);var a,o,s=Gs({},e.imports,i.imports,Ta),u=iu(s),c=mn(s,u),l=0,d=e.interpolate||Gt,f="__p += '",h=ne((e.escape||Gt).source+"|"+d.source+"|"+(d===Tt?Rt:Gt).source+"|"+(e.evaluate||Gt).source+"|$","g"),_="//# sourceURL="+("sourceURL"in e?e.sourceURL:"lodash.templateSources["+ ++Le+"]")+"\n";t.replace(h,function(e,n,r,i,s,u){return r||(r=i),f+=t.slice(l,u).replace(Jt,kn),n&&(a=!0,f+="' +\n__e("+n+") +\n'"),s&&(o=!0,f+="';\n"+s+";\n__p += '"),r&&(f+="' +\n((__t = ("+r+")) == null ? '' : __t) +\n'"),l=u+e.length,e}),f+="';\n";var p=e.variable;p||(f="with (obj) {\n"+f+"\n}\n"),f=(o?f.replace(yt,""):f).replace(gt,"$1").replace(vt,"$1;"),f="function("+(p||"obj")+") {\n"+(p?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(a?", __e = _.escape":"")+(o?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+f+"return __p\n}";var m=xu(function(){return Qt(u,_+"return "+f).apply(r,c)});if(m.source=f,Ls(m))throw m;return m},_r.times=function(t,e){if((t=Is(t))<1||t>C)return[];var n=H,r=$n(t,H);e=Pa(e),t-=H;for(var i=_n(r,e);++n<t;)e(n);return i},_r.toFinite=Rs,_r.toInteger=Is,_r.toLength=zs,_r.toLower=function(t){return Us(t).toLowerCase()},_r.toNumber=Ws,_r.toSafeInteger=function(t){return t?Hr(Is(t),-C,C):0===t?t:0},_r.toString=Us,_r.toUpper=function(t){return Us(t).toUpperCase()},_r.trim=function(t,e,n){if((t=Us(t))&&(n||e===r))return t.replace(Ct,"");if(!t||!(e=Fi(e)))return t;var i=An(t),a=An(e);return Ji(i,gn(i,a),vn(i,a)+1).join("")},_r.trimEnd=function(t,e,n){if((t=Us(t))&&(n||e===r))return t.replace(Ot,"");if(!t||!(e=Fi(e)))return t;var i=An(t);return Ji(i,0,vn(i,An(e))+1).join("")},_r.trimStart=function(t,e,n){if((t=Us(t))&&(n||e===r))return t.replace(jt,"");if(!t||!(e=Fi(e)))return t;var i=An(t);return Ji(i,gn(i,An(e))).join("")},_r.truncate=function(t,e){var n=x,i=T;if(Ds(e)){var a="separator"in e?e.separator:a;n="length"in e?Is(e.length):n,i="omission"in e?Fi(e.omission):i}var o=(t=Us(t)).length;if(Ln(t)){var s=An(t);o=s.length}if(n>=o)return t;var u=n-En(i);if(u<1)return i;var c=s?Ji(s,0,u).join(""):t.slice(0,u);if(a===r)return c+i;if(s&&(u+=c.length-u),Cs(a)){if(t.slice(u).search(a)){var l,d=c;for(a.global||(a=ne(a.source,Us(It.exec(a))+"g")),a.lastIndex=0;l=a.exec(d);)var f=l.index;c=c.slice(0,f===r?u:f)}}else if(t.indexOf(Fi(a),u)!=u){var h=c.lastIndexOf(a);h>-1&&(c=c.slice(0,h))}return c+i},_r.unescape=function(t){return(t=Us(t))&&kt.test(t)?t.replace(Mt,Cn):t},_r.uniqueId=function(t){var e=++de;return Us(t)+e},_r.upperCase=ku,_r.upperFirst=Lu,_r.each=Uo,_r.eachRight=Vo,_r.first=vo,Ou(_r,(Gu={},Gr(_r,function(t,e){le.call(_r.prototype,e)||(Gu[e]=t)}),Gu),{chain:!1}),_r.VERSION="4.17.5",Ue(["bind","bindKey","curry","curryRight","partial","partialRight"],function(t){_r[t].placeholder=_r}),Ue(["drop","take"],function(t,e){gr.prototype[t]=function(n){n=n===r?1:Vn(Is(n),0);var i=this.__filtered__&&!e?new gr(this):this.clone();return i.__filtered__?i.__takeCount__=$n(n,i.__takeCount__):i.__views__.push({size:$n(n,H),type:t+(i.__dir__<0?"Right":"")}),i},gr.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}}),Ue(["filter","map","takeWhile"],function(t,e){var n=e+1,r=n==S||3==n;gr.prototype[t]=function(t){var e=this.clone();return e.__iteratees__.push({iteratee:Pa(t,3),type:n}),e.__filtered__=e.__filtered__||r,e}}),Ue(["head","last"],function(t,e){var n="take"+(e?"Right":"");gr.prototype[t]=function(){return this[n](1).value()[0]}}),Ue(["initial","tail"],function(t,e){var n="drop"+(e?"":"Right");gr.prototype[t]=function(){return this.__filtered__?new gr(this):this[n](1)}}),gr.prototype.compact=function(){return this.filter(Eu)},gr.prototype.find=function(t){return this.filter(t).head()},gr.prototype.findLast=function(t){return this.reverse().find(t)},gr.prototype.invokeMap=wi(function(t,e){return"function"==typeof t?new gr(this):this.map(function(n){return ii(n,t,e)})}),gr.prototype.reject=function(t){return this.filter(us(Pa(t)))},gr.prototype.slice=function(t,e){t=Is(t);var n=this;return n.__filtered__&&(t>0||e<0)?new gr(n):(t<0?n=n.takeRight(-t):t&&(n=n.drop(t)),e!==r&&(n=(e=Is(e))<0?n.dropRight(-e):n.take(e-t)),n)},gr.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},gr.prototype.toArray=function(){return this.take(H)},Gr(gr.prototype,function(t,e){var n=/^(?:filter|find|map|reject)|While$/.test(e),i=/^(?:head|last)$/.test(e),a=_r[i?"take"+("last"==e?"Right":""):e],o=i||/^find/.test(e);a&&(_r.prototype[e]=function(){var e=this.__wrapped__,s=i?[1]:arguments,u=e instanceof gr,c=s[0],l=u||ys(e),d=function(t){var e=a.apply(_r,Ke([t],s));return i&&f?e[0]:e};l&&n&&"function"==typeof c&&1!=c.length&&(u=l=!1);var f=this.__chain__,h=!!this.__actions__.length,_=o&&!f,p=u&&!h;if(!o&&l){e=p?e:new gr(this);var m=t.apply(e,s);return m.__actions__.push({func:Ro,args:[d],thisArg:r}),new yr(m,f)}return _&&p?t.apply(this,s):(m=this.thru(d),_?i?m.value()[0]:m.value():m)})}),Ue(["pop","push","shift","sort","splice","unshift"],function(t){var e=ae[t],n=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",r=/^(?:pop|shift)$/.test(t);_r.prototype[t]=function(){var t=arguments;if(r&&!this.__chain__){var i=this.value();return e.apply(ys(i)?i:[],t)}return this[n](function(n){return e.apply(ys(n)?n:[],t)})}}),Gr(gr.prototype,function(t,e){var n=_r[e];if(n){var r=n.name+"";(ar[r]||(ar[r]=[])).push({name:e,func:n})}}),ar[_a(r,m).name]=[{name:"wrapper",func:r}],gr.prototype.clone=function(){var t=new gr(this.__wrapped__);return t.__actions__=ra(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=ra(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=ra(this.__views__),t},gr.prototype.reverse=function(){if(this.__filtered__){var t=new gr(this);t.__dir__=-1,t.__filtered__=!0}else(t=this.clone()).__dir__*=-1;return t},gr.prototype.value=function(){var t=this.__wrapped__.value(),e=this.__dir__,n=ys(t),r=e<0,i=n?t.length:0,a=function(t,e,n){for(var r=-1,i=n.length;++r<i;){var a=n[r],o=a.size;switch(a.type){case"drop":t+=o;break;case"dropRight":e-=o;break;case"take":e=$n(e,t+o);break;case"takeRight":t=Vn(t,e-o)}}return{start:t,end:e}}(0,i,this.__views__),o=a.start,s=a.end,u=s-o,c=r?s:o-1,l=this.__iteratees__,d=l.length,f=0,h=$n(u,this.__takeCount__);if(!n||!r&&i==u&&h==u)return zi(t,this.__actions__);var _=[];t:for(;u--&&f<h;){for(var p=-1,m=t[c+=e];++p<d;){var y=l[p],g=y.iteratee,v=y.type,M=g(m);if(v==E)m=M;else if(!M){if(v==S)continue t;break t}}_[f++]=m}return _},_r.prototype.at=Io,_r.prototype.chain=function(){return Bo(this)},_r.prototype.commit=function(){return new yr(this.value(),this.__chain__)},_r.prototype.next=function(){this.__values__===r&&(this.__values__=Bs(this.value()));var t=this.__index__>=this.__values__.length;return{done:t,value:t?r:this.__values__[this.__index__++]}},_r.prototype.plant=function(t){for(var e,n=this;n instanceof mr;){var i=fo(n);i.__index__=0,i.__values__=r,e?a.__wrapped__=i:e=i;var a=i;n=n.__wrapped__}return a.__wrapped__=t,e},_r.prototype.reverse=function(){var t=this.__wrapped__;if(t instanceof gr){var e=t;return this.__actions__.length&&(e=new gr(this)),(e=e.reverse()).__actions__.push({func:Ro,args:[Do],thisArg:r}),new yr(e,this.__chain__)}return this.thru(Do)},_r.prototype.toJSON=_r.prototype.valueOf=_r.prototype.value=function(){return zi(this.__wrapped__,this.__actions__)},_r.prototype.first=_r.prototype.head,dn&&(_r.prototype[dn]=function(){return this}),_r}();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Ae._=jn,define(function(){return jn})):je?((je.exports=jn)._=jn,Ce._=jn):Ae._=jn}).call(this)}).call(this,n(151),n(4)(t))},function(t,e){t.exports=function(t){var e=[];return e.toString=function(){return this.map(function(e){var n=function(t,e){var n=t[1]||"",r=t[3];if(!r)return n;if(e&&"function"==typeof btoa){var i=(o=r,"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+" */"),a=r.sources.map(function(t){return"/*# sourceURL="+r.sourceRoot+t+" */"});return[n].concat(a).concat([i]).join("\n")}var o;return[n].join("\n")}(e,t);return e[2]?"@media "+e[2]+"{"+n+"}":n}).join("")},e.i=function(t,n){"string"==typeof t&&(t=[[null,t,""]]);for(var r={},i=0;i<this.length;i++){var a=this[i][0];"number"==typeof a&&(r[a]=!0)}for(i=0;i<t.length;i++){var o=t[i];"number"==typeof o[0]&&r[o[0]]||(n&&!o[2]?o[2]=n:n&&(o[2]="("+o[2]+") and ("+n+")"),e.push(o))}},e}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.interpolateToCurve=e.isSubstringInArray=e.detectType=void 0;var r=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(n(3));var i=e.detectType=function(t){return(t=t.replace(/^\s*%%.*\n/g,"\n")).match(/^\s*sequenceDiagram/)?"sequence":t.match(/^\s*gantt/)?"gantt":t.match(/^\s*classDiagram/)?"class":t.match(/^\s*gitGraph/)?"git":"flowchart"},a=e.isSubstringInArray=function(t,e){for(var n=0;n<e.length;n++)if(e[n].match(t))return n;return-1},o=e.interpolateToCurve=function(t,e){if(!t)return e;var n="curve"+(t.charAt(0).toUpperCase()+t.slice(1));return r[n]||e};e.default={detectType:i,isSubstringInArray:a,interpolateToCurve:o}},function(t,e,n){const r=n(1);t.exports=s;const i="\0",a="\0",o="";function s(t){this._isDirected=!r.has(t,"directed")||t.directed,this._isMultigraph=!!r.has(t,"multigraph")&&t.multigraph,this._isCompound=!!r.has(t,"compound")&&t.compound,this._label=void 0,this._defaultNodeLabelFn=r.constant(void 0),this._defaultEdgeLabelFn=r.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[a]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function u(t,e){t[e]?t[e]++:t[e]=1}function c(t,e){--t[e]||delete t[e]}function l(t,e,n,a){var s=""+e,u=""+n;if(!t&&s>u){var c=s;s=u,u=c}return s+o+u+o+(r.isUndefined(a)?i:a)}function d(t,e){return l(t,e.v,e.w,e.name)}s.prototype._nodeCount=0,s.prototype._edgeCount=0,s.prototype.isDirected=function(){return this._isDirected},s.prototype.isMultigraph=function(){return this._isMultigraph},s.prototype.isCompound=function(){return this._isCompound},s.prototype.setGraph=function(t){return this._label=t,this},s.prototype.graph=function(){return this._label},s.prototype.setDefaultNodeLabel=function(t){return r.isFunction(t)||(t=r.constant(t)),this._defaultNodeLabelFn=t,this},s.prototype.nodeCount=function(){return this._nodeCount},s.prototype.nodes=function(){return r.keys(this._nodes)},s.prototype.sources=function(){var t=this;return r.filter(this.nodes(),function(e){return r.isEmpty(t._in[e])})},s.prototype.sinks=function(){var t=this;return r.filter(this.nodes(),function(e){return r.isEmpty(t._out[e])})},s.prototype.setNodes=function(t,e){var n=arguments,i=this;return r.each(t,function(t){n.length>1?i.setNode(t,e):i.setNode(t)}),this},s.prototype.setNode=function(t,e){return r.has(this._nodes,t)?(arguments.length>1&&(this._nodes[t]=e),this):(this._nodes[t]=arguments.length>1?e:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]=a,this._children[t]={},this._children[a][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)},s.prototype.node=function(t){return this._nodes[t]},s.prototype.hasNode=function(t){return r.has(this._nodes,t)},s.prototype.removeNode=function(t){var e=this;if(r.has(this._nodes,t)){var n=function(t){e.removeEdge(e._edgeObjs[t])};delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],r.each(this.children(t),function(t){e.setParent(t)}),delete this._children[t]),r.each(r.keys(this._in[t]),n),delete this._in[t],delete this._preds[t],r.each(r.keys(this._out[t]),n),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this},s.prototype.setParent=function(t,e){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(r.isUndefined(e))e=a;else{for(var n=e+="";!r.isUndefined(n);n=this.parent(n))if(n===t)throw new Error("Setting "+e+" as parent of "+t+" would create a cycle");this.setNode(e)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=e,this._children[e][t]=!0,this},s.prototype._removeFromParentsChildList=function(t){delete this._children[this._parent[t]][t]},s.prototype.parent=function(t){if(this._isCompound){var e=this._parent[t];if(e!==a)return e}},s.prototype.children=function(t){if(r.isUndefined(t)&&(t=a),this._isCompound){var e=this._children[t];if(e)return r.keys(e)}else{if(t===a)return this.nodes();if(this.hasNode(t))return[]}},s.prototype.predecessors=function(t){var e=this._preds[t];if(e)return r.keys(e)},s.prototype.successors=function(t){var e=this._sucs[t];if(e)return r.keys(e)},s.prototype.neighbors=function(t){var e=this.predecessors(t);if(e)return r.union(e,this.successors(t))},s.prototype.isLeaf=function(t){return 0===(this.isDirected()?this.successors(t):this.neighbors(t)).length},s.prototype.filterNodes=function(t){var e=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});e.setGraph(this.graph());var n=this;r.each(this._nodes,function(n,r){t(r)&&e.setNode(r,n)}),r.each(this._edgeObjs,function(t){e.hasNode(t.v)&&e.hasNode(t.w)&&e.setEdge(t,n.edge(t))});var i={};return this._isCompound&&r.each(e.nodes(),function(t){e.setParent(t,function t(r){var a=n.parent(r);return void 0===a||e.hasNode(a)?(i[r]=a,a):a in i?i[a]:t(a)}(t))}),e},s.prototype.setDefaultEdgeLabel=function(t){return r.isFunction(t)||(t=r.constant(t)),this._defaultEdgeLabelFn=t,this},s.prototype.edgeCount=function(){return this._edgeCount},s.prototype.edges=function(){return r.values(this._edgeObjs)},s.prototype.setPath=function(t,e){const n=this,i=arguments;return r.reduce(t,function(t,r){return i.length>1?n.setEdge(t,r,e):n.setEdge(t,r),r}),this},s.prototype.setEdge=function(){let t,e,n,i,a=!1;const o=arguments[0];"object"==typeof o&&null!==o&&"v"in o?(t=o.v,e=o.w,n=o.name,2===arguments.length&&(i=arguments[1],a=!0)):(t=o,e=arguments[1],n=arguments[3],arguments.length>2&&(i=arguments[2],a=!0)),t=""+t,e=""+e,r.isUndefined(n)||(n=""+n);var s=l(this._isDirected,t,e,n);if(r.has(this._edgeLabels,s))return a&&(this._edgeLabels[s]=i),this;if(!r.isUndefined(n)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(t),this.setNode(e),this._edgeLabels[s]=a?i:this._defaultEdgeLabelFn(t,e,n);var c=function(t,e,n,r){var i=""+e,a=""+n;if(!t&&i>a){var o=i;i=a,a=o}var s={v:i,w:a};r&&(s.name=r);return s}(this._isDirected,t,e,n);return t=c.v,e=c.w,Object.freeze(c),this._edgeObjs[s]=c,u(this._preds[e],t),u(this._sucs[t],e),this._in[e][s]=c,this._out[t][s]=c,this._edgeCount++,this},s.prototype.edge=function(t,e,n){var r=1===arguments.length?d(this._isDirected,arguments[0]):l(this._isDirected,t,e,n);return this._edgeLabels[r]},s.prototype.hasEdge=function(t,e,n){var i=1===arguments.length?d(this._isDirected,arguments[0]):l(this._isDirected,t,e,n);return r.has(this._edgeLabels,i)},s.prototype.removeEdge=function(t,e,n){const r=1===arguments.length?d(this._isDirected,arguments[0]):l(this._isDirected,t,e,n),i=this._edgeObjs[r];return i&&(t=i.v,e=i.w,delete this._edgeLabels[r],delete this._edgeObjs[r],c(this._preds[e],t),c(this._sucs[t],e),delete this._in[e][r],delete this._out[t][r],this._edgeCount--),this},s.prototype.inEdges=function(t,e){var n=this._in[t];if(n){var i=r.values(n);return e?r.filter(i,function(t){return t.v===e}):i}},s.prototype.outEdges=function(t,e){var n=this._out[t];if(n){var i=r.values(n);return e?r.filter(i,function(t){return t.w===e}):i}},s.prototype.nodeEdges=function(t,e){var n=this.inEdges(t,e);if(n)return n.concat(this.outEdges(t,e))}},function(t,e,n){t.exports={Graph:n(11),json:n(176),alg:n(175)}},function(t,e,n){"use strict";(function(t,r){var i=function(){var t=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},e=[2,3],n=[1,7],r=[7,12,15,17,19,20,21],i=[7,11,12,15,17,19,20,21],a=[2,20],o=[1,32],s={trace:function(){},yy:{},symbols_:{error:2,start:3,GG:4,":":5,document:6,EOF:7,DIR:8,options:9,body:10,OPT:11,NL:12,line:13,statement:14,COMMIT:15,commit_arg:16,BRANCH:17,ID:18,CHECKOUT:19,MERGE:20,RESET:21,reset_arg:22,STR:23,HEAD:24,reset_parents:25,CARET:26,$accept:0,$end:1},terminals_:{2:"error",4:"GG",5:":",7:"EOF",8:"DIR",11:"OPT",12:"NL",15:"COMMIT",17:"BRANCH",18:"ID",19:"CHECKOUT",20:"MERGE",21:"RESET",23:"STR",24:"HEAD",26:"CARET"},productions_:[0,[3,4],[3,5],[6,0],[6,2],[9,2],[9,1],[10,0],[10,2],[13,2],[13,1],[14,2],[14,2],[14,2],[14,2],[14,2],[16,0],[16,1],[22,2],[22,2],[25,0],[25,2]],performAction:function(t,e,n,r,i,a,o){var s=a.length-1;switch(i){case 1:return a[s-1];case 2:return r.setDirection(a[s-3]),a[s-1];case 4:r.setOptions(a[s-1]),this.$=a[s];break;case 5:a[s-1]+=a[s],this.$=a[s-1];break;case 7:this.$=[];break;case 8:a[s-1].push(a[s]),this.$=a[s-1];break;case 9:this.$=a[s-1];break;case 11:r.commit(a[s]);break;case 12:r.branch(a[s]);break;case 13:r.checkout(a[s]);break;case 14:r.merge(a[s]);break;case 15:r.reset(a[s]);break;case 16:this.$="";break;case 17:this.$=a[s];break;case 18:this.$=a[s-1]+":"+a[s];break;case 19:this.$=a[s-1]+":"+r.count,r.count=0;break;case 20:r.count=0;break;case 21:r.count+=1}},table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3],8:[1,4]},{6:5,7:e,9:6,12:n},{5:[1,8]},{7:[1,9]},t(r,[2,7],{10:10,11:[1,11]}),t(i,[2,6]),{6:12,7:e,9:6,12:n},{1:[2,1]},{7:[2,4],12:[1,15],13:13,14:14,15:[1,16],17:[1,17],19:[1,18],20:[1,19],21:[1,20]},t(i,[2,5]),{7:[1,21]},t(r,[2,8]),{12:[1,22]},t(r,[2,10]),{12:[2,16],16:23,23:[1,24]},{18:[1,25]},{18:[1,26]},{18:[1,27]},{18:[1,30],22:28,24:[1,29]},{1:[2,2]},t(r,[2,9]),{12:[2,11]},{12:[2,17]},{12:[2,12]},{12:[2,13]},{12:[2,14]},{12:[2,15]},{12:a,25:31,26:o},{12:a,25:33,26:o},{12:[2,18]},{12:a,25:34,26:o},{12:[2,19]},{12:[2,21]}],defaultActions:{9:[2,1],21:[2,2],23:[2,11],24:[2,17],25:[2,12],26:[2,13],27:[2,14],28:[2,15],31:[2,18],33:[2,19],34:[2,21]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=this,n=[0],r=[],i=[null],a=[],o=this.table,s="",u=0,c=0,l=0,d=1,f=a.slice.call(arguments,1),h=Object.create(this.lexer),_={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(_.yy[p]=this.yy[p]);h.setInput(t,_.yy),_.yy.lexer=h,_.yy.parser=this,void 0===h.yylloc&&(h.yylloc={});var m=h.yylloc;a.push(m);var y=h.options&&h.options.ranges;"function"==typeof _.yy.parseError?this.parseError=_.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var g,v,M,b,k,L,w,x,T,D,Y={};;){if(M=n[n.length-1],this.defaultActions[M]?b=this.defaultActions[M]:(null!==g&&void 0!==g||(D=void 0,"number"!=typeof(D=r.pop()||h.lex()||d)&&(D instanceof Array&&(D=(r=D).pop()),D=e.symbols_[D]||D),g=D),b=o[M]&&o[M][g]),void 0===b||!b.length||!b[0]){var S="";for(L in T=[],o[M])this.terminals_[L]&&L>2&&T.push("'"+this.terminals_[L]+"'");S=h.showPosition?"Parse error on line "+(u+1)+":\n"+h.showPosition()+"\nExpecting "+T.join(", ")+", got '"+(this.terminals_[g]||g)+"'":"Parse error on line "+(u+1)+": Unexpected "+(g==d?"end of input":"'"+(this.terminals_[g]||g)+"'"),this.parseError(S,{text:h.match,token:this.terminals_[g]||g,line:h.yylineno,loc:m,expected:T})}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+M+", token: "+g);switch(b[0]){case 1:n.push(g),i.push(h.yytext),a.push(h.yylloc),n.push(b[1]),g=null,v?(g=v,v=null):(c=h.yyleng,s=h.yytext,u=h.yylineno,m=h.yylloc,l>0&&l--);break;case 2:if(w=this.productions_[b[1]][1],Y.$=i[i.length-w],Y._$={first_line:a[a.length-(w||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(w||1)].first_column,last_column:a[a.length-1].last_column},y&&(Y._$.range=[a[a.length-(w||1)].range[0],a[a.length-1].range[1]]),void 0!==(k=this.performAction.apply(Y,[s,c,u,_.yy,b[1],i,a].concat(f))))return k;w&&(n=n.slice(0,-1*w*2),i=i.slice(0,-1*w),a=a.slice(0,-1*w)),n.push(this.productions_[b[1]][0]),i.push(Y.$),a.push(Y._$),x=o[n[n.length-2]][n[n.length-1]],n.push(x);break;case 3:return!0}}return!0}},u={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,r){switch(n){case 0:return 12;case 1:case 2:case 3:break;case 4:return 4;case 5:return 15;case 6:return 17;case 7:return 20;case 8:return 21;case 9:return 19;case 10:case 11:return 8;case 12:return 5;case 13:return 26;case 14:this.begin("options");break;case 15:this.popState();break;case 16:return 11;case 17:this.begin("string");break;case 18:this.popState();break;case 19:return 23;case 20:return 18;case 21:return 7}},rules:[/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:gitGraph\b)/i,/^(?:commit\b)/i,/^(?:branch\b)/i,/^(?:merge\b)/i,/^(?:reset\b)/i,/^(?:checkout\b)/i,/^(?:LR\b)/i,/^(?:BT\b)/i,/^(?::)/i,/^(?:\^)/i,/^(?:options\r?\n)/i,/^(?:end\r?\n)/i,/^(?:[^\n]+\r?\n)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[a-zA-Z][a-zA-Z0-9_]+)/i,/^(?:$)/i],conditions:{options:{rules:[15,16],inclusive:!1},string:{rules:[18,19],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,17,20,21],inclusive:!0}}};function c(){this.yy={}}return s.lexer=u,c.prototype=s,s.Parser=c,new c}();e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(r){r[1]||(console.log("Usage: "+r[0]+" FILE"),t.exit(1));var i=n(7).readFileSync(n(6).normalize(r[1]),"utf8");return e.parser.parse(i)},void 0!==r&&n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(this,n(5),n(4)(t))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getHead=e.getDirection=e.getCurrentBranch=e.getCommitsArray=e.getCommits=e.getBranches=e.getBranchesAsObjArray=e.clear=e.prettyPrint=e.reset=e.checkout=e.merge=e.branch=e.commit=e.getOptions=e.setOptions=e.setDirection=void 0;var r,i=n(8),a=(r=i)&&r.__esModule?r:{default:r},o=n(2);var s={},u=null,c={master:u},l="master",d="LR",f=0;function h(){for(var t,e,n="",r=0;r<7;r++)n+="0123456789abcdef"[(t=0,e=16,Math.floor(Math.random()*(e-t))+t)];return n}function _(t,e){for(o.logger.debug("Entering isfastforwardable:",t.id,e.id);t.seq<=e.seq&&t!==e&&null!=e.parent;){if(Array.isArray(e.parent))return o.logger.debug("In merge commit:",e.parent),_(t,s[e.parent[0]])||_(t,s[e.parent[1]]);e=s[e.parent]}return o.logger.debug(t.id,e.id),t.id===e.id}var p=e.setDirection=function(t){d=t},m={},y=e.setOptions=function(t){o.logger.debug("options str",t),t=(t=t&&t.trim())||"{}";try{m=JSON.parse(t)}catch(t){o.logger.error("error while parsing gitGraph options",t.message)}},g=e.getOptions=function(){return m},v=e.commit=function(t){var e={id:h(),message:t,seq:f++,parent:null==u?null:u.id};u=e,s[e.id]=e,c[l]=e.id,o.logger.debug("in pushCommit "+e.id)},M=e.branch=function(t){c[t]=null!=u?u.id:null,o.logger.debug("in createBranch")},b=e.merge=function(t){var e=s[c[l]],n=s[c[t]];if(function(t,e){return t.seq>e.seq&&_(e,t)}(e,n))o.logger.debug("Already merged");else{if(_(e,n))c[l]=c[t],u=s[c[l]];else{var r={id:h(),message:"merged branch "+t+" into "+l,seq:f++,parent:[null==u?null:u.id,c[t]]};u=r,s[r.id]=r,c[l]=r.id}o.logger.debug(c),o.logger.debug("in mergeBranch")}},k=e.checkout=function(t){o.logger.debug("in checkout");var e=c[l=t];u=s[e]},L=e.reset=function(t){o.logger.debug("in reset",t);var e=t.split(":")[0],n=parseInt(t.split(":")[1]),r="HEAD"===e?u:s[c[e]];for(o.logger.debug(r,n);n>0;)if(n--,!(r=s[r.parent])){var i="Critical error - unique parent commit not found during reset";throw o.logger.error(i),i}u=r,c[l]=r.id};function w(t,e,n){var r=t.indexOf(e);-1===r?t.push(n):t.splice(r,1,n)}var x=e.prettyPrint=function(){o.logger.debug(s),function t(e){var n=a.default.maxBy(e,"seq"),r="";e.forEach(function(t){r+=t===n?"\t*":"\t|"});var i=[r,n.id,n.seq];if(a.default.each(c,function(t,e){t===n.id&&i.push(e)}),o.logger.debug(i.join(" ")),Array.isArray(n.parent)){var u=s[n.parent[0]];w(e,n,u),e.push(s[n.parent[1]])}else{if(null==n.parent)return;var l=s[n.parent];w(e,n,l)}t(e=a.default.uniqBy(e,"id"))}([E()[0]])},T=e.clear=function(){s={},c={master:u=null},l="master",f=0},D=e.getBranchesAsObjArray=function(){return a.default.map(c,function(t,e){return{name:e,commit:s[t]}})},Y=e.getBranches=function(){return c},S=e.getCommits=function(){return s},E=e.getCommitsArray=function(){var t=Object.keys(s).map(function(t){return s[t]});return t.forEach(function(t){o.logger.debug(t.id)}),a.default.orderBy(t,["seq"],["desc"])},A=e.getCurrentBranch=function(){return l},C=e.getDirection=function(){return d},j=e.getHead=function(){return u};e.default={setDirection:p,setOptions:y,getOptions:g,commit:v,branch:M,merge:b,checkout:k,reset:L,prettyPrint:x,clear:T,getBranchesAsObjArray:D,getBranches:Y,getCommits:S,getCommitsArray:E,getCurrentBranch:A,getDirection:C,getHead:j}},function(t,e,n){"use strict";(function(t,r){var i=function(){var t=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},e=[1,11],n=[1,12],r=[1,13],i=[1,15],a=[1,16],o=[1,17],s=[6,8],u=[1,26],c=[1,27],l=[1,28],d=[1,29],f=[1,30],h=[1,31],_=[6,8,13,17,23,26,27,28,29,30,31],p=[6,8,13,17,23,26,27,28,29,30,31,45,46,47],m=[23,45,46,47],y=[23,30,31,45,46,47],g=[23,26,27,28,29,45,46,47],v=[6,8,13],M=[1,46],b={trace:function(){},yy:{},symbols_:{error:2,mermaidDoc:3,graphConfig:4,CLASS_DIAGRAM:5,NEWLINE:6,statements:7,EOF:8,statement:9,className:10,alphaNumToken:11,relationStatement:12,LABEL:13,classStatement:14,methodStatement:15,CLASS:16,STRUCT_START:17,members:18,STRUCT_STOP:19,MEMBER:20,SEPARATOR:21,relation:22,STR:23,relationType:24,lineType:25,AGGREGATION:26,EXTENSION:27,COMPOSITION:28,DEPENDENCY:29,LINE:30,DOTTED_LINE:31,commentToken:32,textToken:33,graphCodeTokens:34,textNoTagsToken:35,TAGSTART:36,TAGEND:37,"==":38,"--":39,PCT:40,DEFAULT:41,SPACE:42,MINUS:43,keywords:44,UNICODE_TEXT:45,NUM:46,ALPHA:47,$accept:0,$end:1},terminals_:{2:"error",5:"CLASS_DIAGRAM",6:"NEWLINE",8:"EOF",13:"LABEL",16:"CLASS",17:"STRUCT_START",19:"STRUCT_STOP",20:"MEMBER",21:"SEPARATOR",23:"STR",26:"AGGREGATION",27:"EXTENSION",28:"COMPOSITION",29:"DEPENDENCY",30:"LINE",31:"DOTTED_LINE",34:"graphCodeTokens",36:"TAGSTART",37:"TAGEND",38:"==",39:"--",40:"PCT",41:"DEFAULT",42:"SPACE",43:"MINUS",44:"keywords",45:"UNICODE_TEXT",46:"NUM",47:"ALPHA"},productions_:[0,[3,1],[4,4],[7,1],[7,3],[10,2],[10,1],[9,1],[9,2],[9,1],[9,1],[14,2],[14,5],[18,1],[18,2],[15,1],[15,2],[15,1],[15,1],[12,3],[12,4],[12,4],[12,5],[22,3],[22,2],[22,2],[22,1],[24,1],[24,1],[24,1],[24,1],[25,1],[25,1],[32,1],[32,1],[33,1],[33,1],[33,1],[33,1],[33,1],[33,1],[33,1],[35,1],[35,1],[35,1],[35,1],[11,1],[11,1],[11,1]],performAction:function(t,e,n,r,i,a,o){var s=a.length-1;switch(i){case 5:this.$=a[s-1]+a[s];break;case 6:this.$=a[s];break;case 7:r.addRelation(a[s]);break;case 8:a[s-1].title=r.cleanupLabel(a[s]),r.addRelation(a[s-1]);break;case 12:r.addMembers(a[s-3],a[s-1]);break;case 13:this.$=[a[s]];break;case 14:a[s].push(a[s-1]),this.$=a[s];break;case 15:break;case 16:r.addMembers(a[s-1],r.cleanupLabel(a[s]));break;case 17:console.warn("Member",a[s]);break;case 18:break;case 19:this.$={id1:a[s-2],id2:a[s],relation:a[s-1],relationTitle1:"none",relationTitle2:"none"};break;case 20:this.$={id1:a[s-3],id2:a[s],relation:a[s-1],relationTitle1:a[s-2],relationTitle2:"none"};break;case 21:this.$={id1:a[s-3],id2:a[s],relation:a[s-2],relationTitle1:"none",relationTitle2:a[s-1]};break;case 22:this.$={id1:a[s-4],id2:a[s],relation:a[s-2],relationTitle1:a[s-3],relationTitle2:a[s-1]};break;case 23:this.$={type1:a[s-2],type2:a[s],lineType:a[s-1]};break;case 24:this.$={type1:"none",type2:a[s],lineType:a[s-1]};break;case 25:this.$={type1:a[s-1],type2:"none",lineType:a[s]};break;case 26:this.$={type1:"none",type2:"none",lineType:a[s]};break;case 27:this.$=r.relationType.AGGREGATION;break;case 28:this.$=r.relationType.EXTENSION;break;case 29:this.$=r.relationType.COMPOSITION;break;case 30:this.$=r.relationType.DEPENDENCY;break;case 31:this.$=r.lineType.LINE;break;case 32:this.$=r.lineType.DOTTED_LINE}},table:[{3:1,4:2,5:[1,3]},{1:[3]},{1:[2,1]},{6:[1,4]},{7:5,9:6,10:10,11:14,12:7,14:8,15:9,16:e,20:n,21:r,45:i,46:a,47:o},{8:[1,18]},{6:[1,19],8:[2,3]},t(s,[2,7],{13:[1,20]}),t(s,[2,9]),t(s,[2,10]),t(s,[2,15],{22:21,24:24,25:25,13:[1,23],23:[1,22],26:u,27:c,28:l,29:d,30:f,31:h}),{10:32,11:14,45:i,46:a,47:o},t(s,[2,17]),t(s,[2,18]),t(_,[2,6],{11:14,10:33,45:i,46:a,47:o}),t(p,[2,46]),t(p,[2,47]),t(p,[2,48]),{1:[2,2]},{7:34,9:6,10:10,11:14,12:7,14:8,15:9,16:e,20:n,21:r,45:i,46:a,47:o},t(s,[2,8]),{10:35,11:14,23:[1,36],45:i,46:a,47:o},{22:37,24:24,25:25,26:u,27:c,28:l,29:d,30:f,31:h},t(s,[2,16]),{25:38,30:f,31:h},t(m,[2,26],{24:39,26:u,27:c,28:l,29:d}),t(y,[2,27]),t(y,[2,28]),t(y,[2,29]),t(y,[2,30]),t(g,[2,31]),t(g,[2,32]),t(s,[2,11],{17:[1,40]}),t(_,[2,5]),{8:[2,4]},t(v,[2,19]),{10:41,11:14,45:i,46:a,47:o},{10:42,11:14,23:[1,43],45:i,46:a,47:o},t(m,[2,25],{24:44,26:u,27:c,28:l,29:d}),t(m,[2,24]),{18:45,20:M},t(v,[2,21]),t(v,[2,20]),{10:47,11:14,45:i,46:a,47:o},t(m,[2,23]),{19:[1,48]},{18:49,19:[2,13],20:M},t(v,[2,22]),t(s,[2,12]),{19:[2,14]}],defaultActions:{2:[2,1],18:[2,2],34:[2,4],49:[2,14]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=this,n=[0],r=[],i=[null],a=[],o=this.table,s="",u=0,c=0,l=0,d=1,f=a.slice.call(arguments,1),h=Object.create(this.lexer),_={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(_.yy[p]=this.yy[p]);h.setInput(t,_.yy),_.yy.lexer=h,_.yy.parser=this,void 0===h.yylloc&&(h.yylloc={});var m=h.yylloc;a.push(m);var y=h.options&&h.options.ranges;"function"==typeof _.yy.parseError?this.parseError=_.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var g,v,M,b,k,L,w,x,T,D,Y={};;){if(M=n[n.length-1],this.defaultActions[M]?b=this.defaultActions[M]:(null!==g&&void 0!==g||(D=void 0,"number"!=typeof(D=r.pop()||h.lex()||d)&&(D instanceof Array&&(D=(r=D).pop()),D=e.symbols_[D]||D),g=D),b=o[M]&&o[M][g]),void 0===b||!b.length||!b[0]){var S="";for(L in T=[],o[M])this.terminals_[L]&&L>2&&T.push("'"+this.terminals_[L]+"'");S=h.showPosition?"Parse error on line "+(u+1)+":\n"+h.showPosition()+"\nExpecting "+T.join(", ")+", got '"+(this.terminals_[g]||g)+"'":"Parse error on line "+(u+1)+": Unexpected "+(g==d?"end of input":"'"+(this.terminals_[g]||g)+"'"),this.parseError(S,{text:h.match,token:this.terminals_[g]||g,line:h.yylineno,loc:m,expected:T})}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+M+", token: "+g);switch(b[0]){case 1:n.push(g),i.push(h.yytext),a.push(h.yylloc),n.push(b[1]),g=null,v?(g=v,v=null):(c=h.yyleng,s=h.yytext,u=h.yylineno,m=h.yylloc,l>0&&l--);break;case 2:if(w=this.productions_[b[1]][1],Y.$=i[i.length-w],Y._$={first_line:a[a.length-(w||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(w||1)].first_column,last_column:a[a.length-1].last_column},y&&(Y._$.range=[a[a.length-(w||1)].range[0],a[a.length-1].range[1]]),void 0!==(k=this.performAction.apply(Y,[s,c,u,_.yy,b[1],i,a].concat(f))))return k;w&&(n=n.slice(0,-1*w*2),i=i.slice(0,-1*w),a=a.slice(0,-1*w)),n.push(this.productions_[b[1]][0]),i.push(Y.$),a.push(Y._$),x=o[n[n.length-2]][n[n.length-1]],n.push(x);break;case 3:return!0}}return!0}},k={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(t,e,n,r){switch(n){case 0:break;case 1:return 6;case 2:break;case 3:return 5;case 4:return this.begin("struct"),17;case 5:return this.popState(),19;case 6:break;case 7:return"MEMBER";case 8:return 16;case 9:this.begin("string");break;case 10:this.popState();break;case 11:return"STR";case 12:case 13:return 27;case 14:case 15:return 29;case 16:return 28;case 17:return 26;case 18:return 30;case 19:return 31;case 20:return 13;case 21:return 43;case 22:return"DOT";case 23:return"PLUS";case 24:return 40;case 25:case 26:return"EQUALS";case 27:return 47;case 28:return"PUNCTUATION";case 29:return 46;case 30:return 45;case 31:return 42;case 32:return 8}},rules:[/^(?:%%[^\n]*)/,/^(?:\n+)/,/^(?:\s+)/,/^(?:classDiagram\b)/,/^(?:[\{])/,/^(?:\})/,/^(?:[\n])/,/^(?:[^\{\}\n]*)/,/^(?:class\b)/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:--)/,/^(?:\.\.)/,/^(?::[^#\n;]+)/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:[A-Za-z]+)/,/^(?:[!"#$%&'*+,-.`?\\_\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:$)/],conditions:{string:{rules:[10,11],inclusive:!1},struct:{rules:[5,6,7],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,8,9,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32],inclusive:!0}}};function L(){this.yy={}}return b.lexer=k,L.prototype=b,b.Parser=L,new L}();e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(r){r[1]||(console.log("Usage: "+r[0]+" FILE"),t.exit(1));var i=n(7).readFileSync(n(6).normalize(r[1]),"utf8");return e.parser.parse(i)},void 0!==r&&n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(this,n(5),n(4)(t))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.relationType=e.lineType=e.cleanupLabel=e.addMembers=e.addRelation=e.getRelations=e.getClasses=e.getClass=e.clear=e.addClass=void 0;var r=n(2),i=[],a={},o=e.addClass=function(t){void 0===a[t]&&(a[t]={id:t,methods:[],members:[]})},s=e.clear=function(){i=[],a={}},u=e.getClass=function(t){return a[t]},c=e.getClasses=function(){return a},l=e.getRelations=function(){return i},d=e.addRelation=function(t){r.logger.debug("Adding relation: "+JSON.stringify(t)),o(t.id1),o(t.id2),i.push(t)},f=e.addMembers=function(t,e){var n=a[t];"string"==typeof e&&(")"===e.substr(-1)?n.methods.push(e):n.members.push(e))},h=e.cleanupLabel=function(t){return":"===t.substring(0,1)?t.substr(2).trim():t.trim()},_=e.lineType={LINE:0,DOTTED_LINE:1},p=e.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3};e.default={addClass:o,clear:s,getClass:u,getClasses:c,getRelations:l,addRelation:d,addMembers:f,cleanupLabel:h,lineType:_,relationType:p}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.addTaskOrg=e.findTaskById=e.addTask=e.getTasks=e.addSection=e.getTitle=e.setTitle=e.setDateFormat=e.getAxisFormat=e.setAxisFormat=e.clear=void 0;var r,i=n(0),a=(r=i)&&r.__esModule?r:{default:r},o=n(2);var s="",u="",c="",l=[],d=[],f="",h=e.clear=function(){l=[],d=[],f="",c="",L=0,x=void 0,T=void 0,D=[]},_=e.setAxisFormat=function(t){u=t},p=e.getAxisFormat=function(){return u},m=e.setDateFormat=function(t){s=t},y=e.setTitle=function(t){c=t},g=e.getTitle=function(){return c},v=e.addSection=function(t){f=t,l.push(t)},M=e.getTasks=function(){for(var t=C(),e=0;!t&&e<10;)t=C(),e++;return d=D},b=function(t,e,n){n=n.trim();var r=/^after\s+([\d\w-]+)/.exec(n.trim());if(null!==r){var i=E(r[1]);if(void 0===i){var s=new Date;return s.setHours(0,0,0,0),s}return i.endTime}return(0,a.default)(n,e.trim(),!0).isValid()?(0,a.default)(n,e.trim(),!0).toDate():(o.logger.debug("Invalid date:"+n),o.logger.debug("With date format:"+e.trim()),new Date)},k=function(t,e,n){if(n=n.trim(),(0,a.default)(n,e.trim(),!0).isValid())return(0,a.default)(n,e.trim()).toDate();var r=(0,a.default)(t),i=/^([\d]+)([wdhms])/.exec(n.trim());if(null!==i){switch(i[2]){case"s":r.add(i[1],"seconds");break;case"m":r.add(i[1],"minutes");break;case"h":r.add(i[1],"hours");break;case"d":r.add(i[1],"days");break;case"w":r.add(i[1],"weeks")}return r.toDate()}return r.toDate()},L=0,w=function(t){return void 0===t?"task"+(L+=1):t},x=void 0,T=void 0,D=[],Y={},S=e.addTask=function(t,e){var n={section:f,type:f,processed:!1,raw:{data:e},task:t},r=function(t,e){for(var n=(":"===e.substr(0,1)?e.substr(1,e.length):e).split(","),r={},i=!0;i;)i=!1,n[0].match(/^\s*active\s*$/)&&(r.active=!0,n.shift(1),i=!0),n[0].match(/^\s*done\s*$/)&&(r.done=!0,n.shift(1),i=!0),n[0].match(/^\s*crit\s*$/)&&(r.crit=!0,n.shift(1),i=!0);for(var a=0;a<n.length;a++)n[a]=n[a].trim();switch(n.length){case 1:r.id=w(),r.startTime={type:"prevTaskEnd",id:t},r.endTime={data:n[0]};break;case 2:r.id=w(),r.startTime={type:"getStartDate",startData:n[0]},r.endTime={data:n[1]};break;case 3:r.id=w(n[0]),r.startTime={type:"getStartDate",startData:n[1]},r.endTime={data:n[2]}}return r}(T,e);n.raw.startTime=r.startTime,n.raw.endTime=r.endTime,n.id=r.id,n.prevTaskId=T,n.active=r.active,n.done=r.done,n.crit=r.crit;var i=D.push(n);T=n.id,Y[n.id]=i-1},E=e.findTaskById=function(t){var e=Y[t];return D[e]},A=e.addTaskOrg=function(t,e){var n={section:f,type:f,description:t,task:t},r=function(t,e){for(var n=(":"===e.substr(0,1)?e.substr(1,e.length):e).split(","),r={},i=!0;i;)i=!1,n[0].match(/^\s*active\s*$/)&&(r.active=!0,n.shift(1),i=!0),n[0].match(/^\s*done\s*$/)&&(r.done=!0,n.shift(1),i=!0),n[0].match(/^\s*crit\s*$/)&&(r.crit=!0,n.shift(1),i=!0);for(var a=0;a<n.length;a++)n[a]=n[a].trim();switch(n.length){case 1:r.id=w(),r.startTime=t.endTime,r.endTime=k(r.startTime,s,n[0]);break;case 2:r.id=w(),r.startTime=b(0,s,n[0]),r.endTime=k(r.startTime,s,n[1]);break;case 3:r.id=w(n[0]),r.startTime=b(0,s,n[1]),r.endTime=k(r.startTime,s,n[2])}return r}(x,e);n.startTime=r.startTime,n.endTime=r.endTime,n.id=r.id,n.active=r.active,n.done=r.done,n.crit=r.crit,x=n,d.push(n)},C=function(){for(var t=function(t){var e=D[t],n="";switch(D[t].raw.startTime.type){case"prevTaskEnd":var r=E(e.prevTaskId);e.startTime=r.endTime;break;case"getStartDate":(n=b(0,s,D[t].raw.startTime.startData))&&(D[t].startTime=n)}return D[t].startTime&&(D[t].endTime=k(D[t].startTime,s,D[t].raw.endTime.data),D[t].endTime&&(D[t].processed=!0)),D[t].processed},e=!0,n=0;n<D.length;n++)t(n),e=e&&D[n].processed;return e};e.default={clear:h,setDateFormat:m,setAxisFormat:_,getAxisFormat:p,setTitle:y,getTitle:g,addSection:v,getTasks:M,addTask:S,findTaskById:E,addTaskOrg:A}},function(t,e,n){"use strict";(function(t,r){var i=function(){var t=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},e=[6,8,10,11,12,13,14,15],n=[1,9],r=[1,10],i=[1,11],a=[1,12],o=[1,13],s={trace:function(){},yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,dateFormat:11,axisFormat:12,title:13,section:14,taskTxt:15,taskData:16,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",11:"dateFormat",12:"axisFormat",13:"title",14:"section",15:"taskTxt",16:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,1],[9,1],[9,1],[9,2]],performAction:function(t,e,n,r,i,a,o){var s=a.length-1;switch(i){case 1:return a[s-1];case 2:this.$=[];break;case 3:a[s-1].push(a[s]),this.$=a[s-1];break;case 4:case 5:this.$=a[s];break;case 6:case 7:this.$=[];break;case 8:r.setDateFormat(a[s].substr(11)),this.$=a[s].substr(11);break;case 9:r.setAxisFormat(a[s].substr(11)),this.$=a[s].substr(11);break;case 10:r.setTitle(a[s].substr(6)),this.$=a[s].substr(6);break;case 11:r.addSection(a[s].substr(8)),this.$=a[s].substr(8);break;case 12:r.addTask(a[s-1],a[s]),this.$="task"}},table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:n,12:r,13:i,14:a,15:o},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:14,11:n,12:r,13:i,14:a,15:o},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),t(e,[2,9]),t(e,[2,10]),t(e,[2,11]),{16:[1,15]},t(e,[2,4]),t(e,[2,12])],defaultActions:{},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=this,n=[0],r=[],i=[null],a=[],o=this.table,s="",u=0,c=0,l=0,d=1,f=a.slice.call(arguments,1),h=Object.create(this.lexer),_={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(_.yy[p]=this.yy[p]);h.setInput(t,_.yy),_.yy.lexer=h,_.yy.parser=this,void 0===h.yylloc&&(h.yylloc={});var m=h.yylloc;a.push(m);var y=h.options&&h.options.ranges;"function"==typeof _.yy.parseError?this.parseError=_.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var g,v,M,b,k,L,w,x,T,D,Y={};;){if(M=n[n.length-1],this.defaultActions[M]?b=this.defaultActions[M]:(null!==g&&void 0!==g||(D=void 0,"number"!=typeof(D=r.pop()||h.lex()||d)&&(D instanceof Array&&(D=(r=D).pop()),D=e.symbols_[D]||D),g=D),b=o[M]&&o[M][g]),void 0===b||!b.length||!b[0]){var S="";for(L in T=[],o[M])this.terminals_[L]&&L>2&&T.push("'"+this.terminals_[L]+"'");S=h.showPosition?"Parse error on line "+(u+1)+":\n"+h.showPosition()+"\nExpecting "+T.join(", ")+", got '"+(this.terminals_[g]||g)+"'":"Parse error on line "+(u+1)+": Unexpected "+(g==d?"end of input":"'"+(this.terminals_[g]||g)+"'"),this.parseError(S,{text:h.match,token:this.terminals_[g]||g,line:h.yylineno,loc:m,expected:T})}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+M+", token: "+g);switch(b[0]){case 1:n.push(g),i.push(h.yytext),a.push(h.yylloc),n.push(b[1]),g=null,v?(g=v,v=null):(c=h.yyleng,s=h.yytext,u=h.yylineno,m=h.yylloc,l>0&&l--);break;case 2:if(w=this.productions_[b[1]][1],Y.$=i[i.length-w],Y._$={first_line:a[a.length-(w||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(w||1)].first_column,last_column:a[a.length-1].last_column},y&&(Y._$.range=[a[a.length-(w||1)].range[0],a[a.length-1].range[1]]),void 0!==(k=this.performAction.apply(Y,[s,c,u,_.yy,b[1],i,a].concat(f))))return k;w&&(n=n.slice(0,-1*w*2),i=i.slice(0,-1*w),a=a.slice(0,-1*w)),n.push(this.productions_[b[1]][0]),i.push(Y.$),a.push(Y._$),x=o[n[n.length-2]][n[n.length-1]],n.push(x);break;case 3:return!0}}return!0}},u={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,r){switch(n){case 0:return 10;case 1:case 2:case 3:break;case 4:return 4;case 5:return 11;case 6:return 12;case 7:return"date";case 8:return 13;case 9:return 14;case 10:return 15;case 11:return 16;case 12:return":";case 13:return 6;case 14:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14],inclusive:!0}}};function c(){this.yy={}}return s.lexer=u,c.prototype=s,s.Parser=c,new c}();e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(r){r[1]||(console.log("Usage: "+r[0]+" FILE"),t.exit(1));var i=n(7).readFileSync(n(6).normalize(r[1]),"utf8");return e.parser.parse(i)},void 0!==r&&n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(this,n(5),n(4)(t))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.apply=e.setTitle=e.addNote=e.PLACEMENT=e.ARROWTYPE=e.LINETYPE=e.clear=e.getTitle=e.getActorKeys=e.getActor=e.getActors=e.getMessages=e.addSignal=e.addMessage=e.addActor=void 0;var r=n(2),i={},a=[],o=[],s="",u=e.addActor=function(t,e,n){var r=i[t];r&&e===r.name&&null==n||(null==n&&(n=e),i[t]={name:e,description:n})},c=e.addMessage=function(t,e,n,r){a.push({from:t,to:e,message:n,answer:r})},l=e.addSignal=function(t,e,n,i){r.logger.debug("Adding message from="+t+" to="+e+" message="+n+" type="+i),a.push({from:t,to:e,message:n,type:i})},d=e.getMessages=function(){return a},f=e.getActors=function(){return i},h=e.getActor=function(t){return i[t]},_=e.getActorKeys=function(){return Object.keys(i)},p=e.getTitle=function(){return s},m=e.clear=function(){i={},a=[]},y=e.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21},g=e.ARROWTYPE={FILLED:0,OPEN:1},v=e.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},M=e.addNote=function(t,e,n){var r={actor:t,placement:e,message:n},i=[].concat(t,t);o.push(r),a.push({from:i[0],to:i[1],message:n,type:y.NOTE,placement:e})},b=e.setTitle=function(t){s=t},k=e.apply=function t(e){if(e instanceof Array)e.forEach(function(e){t(e)});else switch(e.type){case"addActor":u(e.actor,e.actor,e.description);break;case"activeStart":case"activeEnd":l(e.actor,void 0,void 0,e.signalType);break;case"addNote":M(e.actor,e.placement,e.text);break;case"addMessage":l(e.from,e.to,e.msg,e.signalType);break;case"loopStart":l(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":l(void 0,void 0,void 0,e.signalType);break;case"optStart":l(void 0,void 0,e.optText,e.signalType);break;case"optEnd":l(void 0,void 0,void 0,e.signalType);break;case"altStart":case"else":l(void 0,void 0,e.altText,e.signalType);break;case"altEnd":l(void 0,void 0,void 0,e.signalType);break;case"setTitle":b(e.text);break;case"parStart":case"and":l(void 0,void 0,e.parText,e.signalType);break;case"parEnd":l(void 0,void 0,void 0,e.signalType)}};e.default={addActor:u,addMessage:c,addSignal:l,getMessages:d,getActors:f,getActor:h,getActorKeys:_,getTitle:p,clear:m,LINETYPE:y,ARROWTYPE:g,PLACEMENT:v,addNote:M,setTitle:b,apply:k}},function(t,e,n){"use strict";(function(t,r){var i=function(){var t=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},e=[1,2],n=[1,3],r=[1,4],i=[2,4],a=[1,9],o=[1,11],s=[1,12],u=[1,14],c=[1,15],l=[1,17],d=[1,18],f=[1,19],h=[1,20],_=[1,21],p=[1,23],m=[1,24],y=[1,4,5,10,15,16,18,20,21,22,23,25,27,28,29,40],g=[1,32],v=[4,5,10,15,16,18,20,21,22,23,25,29,40],M=[4,5,10,15,16,18,20,21,22,23,25,28,29,40],b=[4,5,10,15,16,18,20,21,22,23,25,27,29,40],k=[38,39,40],L={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,participant:10,actor:11,AS:12,restOfLine:13,signal:14,activate:15,deactivate:16,note_statement:17,title:18,text2:19,loop:20,end:21,opt:22,alt:23,else_sections:24,par:25,par_sections:26,and:27,else:28,note:29,placement:30,over:31,actor_pair:32,spaceList:33,",":34,left_of:35,right_of:36,signaltype:37,"+":38,"-":39,ACTOR:40,SOLID_OPEN_ARROW:41,DOTTED_OPEN_ARROW:42,SOLID_ARROW:43,DOTTED_ARROW:44,SOLID_CROSS:45,DOTTED_CROSS:46,TXT:47,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",10:"participant",12:"AS",13:"restOfLine",15:"activate",16:"deactivate",18:"title",20:"loop",21:"end",22:"opt",23:"alt",25:"par",27:"and",28:"else",29:"note",31:"over",34:",",35:"left_of",36:"right_of",38:"+",39:"-",40:"ACTOR",41:"SOLID_OPEN_ARROW",42:"DOTTED_OPEN_ARROW",43:"SOLID_ARROW",44:"DOTTED_ARROW",45:"SOLID_CROSS",46:"DOTTED_CROSS",47:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,5],[9,3],[9,2],[9,3],[9,3],[9,2],[9,3],[9,4],[9,4],[9,4],[9,4],[26,1],[26,4],[24,1],[24,4],[17,4],[17,4],[33,2],[33,1],[32,3],[32,1],[30,1],[30,1],[14,5],[14,5],[14,4],[11,1],[37,1],[37,1],[37,1],[37,1],[37,1],[37,1],[19,1]],performAction:function(t,e,n,r,i,a,o){var s=a.length-1;switch(i){case 3:return r.apply(a[s]),a[s];case 4:this.$=[];break;case 5:a[s-1].push(a[s]),this.$=a[s-1];break;case 6:case 7:this.$=a[s];break;case 8:this.$=[];break;case 9:a[s-3].description=a[s-1],this.$=a[s-3];break;case 10:this.$=a[s-1];break;case 12:this.$={type:"activeStart",signalType:r.LINETYPE.ACTIVE_START,actor:a[s-1]};break;case 13:this.$={type:"activeEnd",signalType:r.LINETYPE.ACTIVE_END,actor:a[s-1]};break;case 15:this.$=[{type:"setTitle",text:a[s-1]}];break;case 16:a[s-1].unshift({type:"loopStart",loopText:a[s-2],signalType:r.LINETYPE.LOOP_START}),a[s-1].push({type:"loopEnd",loopText:a[s-2],signalType:r.LINETYPE.LOOP_END}),this.$=a[s-1];break;case 17:a[s-1].unshift({type:"optStart",optText:a[s-2],signalType:r.LINETYPE.OPT_START}),a[s-1].push({type:"optEnd",optText:a[s-2],signalType:r.LINETYPE.OPT_END}),this.$=a[s-1];break;case 18:a[s-1].unshift({type:"altStart",altText:a[s-2],signalType:r.LINETYPE.ALT_START}),a[s-1].push({type:"altEnd",signalType:r.LINETYPE.ALT_END}),this.$=a[s-1];break;case 19:a[s-1].unshift({type:"parStart",parText:a[s-2],signalType:r.LINETYPE.PAR_START}),a[s-1].push({type:"parEnd",signalType:r.LINETYPE.PAR_END}),this.$=a[s-1];break;case 21:this.$=a[s-3].concat([{type:"and",parText:a[s-1],signalType:r.LINETYPE.PAR_AND},a[s]]);break;case 23:this.$=a[s-3].concat([{type:"else",altText:a[s-1],signalType:r.LINETYPE.ALT_ELSE},a[s]]);break;case 24:this.$=[a[s-1],{type:"addNote",placement:a[s-2],actor:a[s-1].actor,text:a[s]}];break;case 25:a[s-2]=[].concat(a[s-1],a[s-1]).slice(0,2),a[s-2][0]=a[s-2][0].actor,a[s-2][1]=a[s-2][1].actor,this.$=[a[s-1],{type:"addNote",placement:r.PLACEMENT.OVER,actor:a[s-2].slice(0,2),text:a[s]}];break;case 28:this.$=[a[s-2],a[s]];break;case 29:this.$=a[s];break;case 30:this.$=r.PLACEMENT.LEFTOF;break;case 31:this.$=r.PLACEMENT.RIGHTOF;break;case 32:this.$=[a[s-4],a[s-1],{type:"addMessage",from:a[s-4].actor,to:a[s-1].actor,signalType:a[s-3],msg:a[s]},{type:"activeStart",signalType:r.LINETYPE.ACTIVE_START,actor:a[s-1]}];break;case 33:this.$=[a[s-4],a[s-1],{type:"addMessage",from:a[s-4].actor,to:a[s-1].actor,signalType:a[s-3],msg:a[s]},{type:"activeEnd",signalType:r.LINETYPE.ACTIVE_END,actor:a[s-4]}];break;case 34:this.$=[a[s-3],a[s-1],{type:"addMessage",from:a[s-3].actor,to:a[s-1].actor,signalType:a[s-2],msg:a[s]}];break;case 35:this.$={type:"addActor",actor:a[s]};break;case 36:this.$=r.LINETYPE.SOLID_OPEN;break;case 37:this.$=r.LINETYPE.DOTTED_OPEN;break;case 38:this.$=r.LINETYPE.SOLID;break;case 39:this.$=r.LINETYPE.DOTTED;break;case 40:this.$=r.LINETYPE.SOLID_CROSS;break;case 41:this.$=r.LINETYPE.DOTTED_CROSS;break;case 42:this.$=a[s].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:e,5:n,6:r},{1:[3]},{3:5,4:e,5:n,6:r},{3:6,4:e,5:n,6:r},t([1,4,5,10,15,16,18,20,22,23,25,29,40],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:o,8:8,9:10,10:s,11:22,14:13,15:u,16:c,17:16,18:l,20:d,22:f,23:h,25:_,29:p,40:m},t(y,[2,5]),{9:25,10:s,11:22,14:13,15:u,16:c,17:16,18:l,20:d,22:f,23:h,25:_,29:p,40:m},t(y,[2,7]),t(y,[2,8]),{11:26,40:m},{5:[1,27]},{11:28,40:m},{11:29,40:m},{5:[1,30]},{19:31,47:g},{13:[1,33]},{13:[1,34]},{13:[1,35]},{13:[1,36]},{37:37,41:[1,38],42:[1,39],43:[1,40],44:[1,41],45:[1,42],46:[1,43]},{30:44,31:[1,45],35:[1,46],36:[1,47]},t([5,12,34,41,42,43,44,45,46,47],[2,35]),t(y,[2,6]),{5:[1,49],12:[1,48]},t(y,[2,11]),{5:[1,50]},{5:[1,51]},t(y,[2,14]),{5:[1,52]},{5:[2,42]},t(v,i,{7:53}),t(v,i,{7:54}),t(M,i,{24:55,7:56}),t(b,i,{26:57,7:58}),{11:61,38:[1,59],39:[1,60],40:m},t(k,[2,36]),t(k,[2,37]),t(k,[2,38]),t(k,[2,39]),t(k,[2,40]),t(k,[2,41]),{11:62,40:m},{11:64,32:63,40:m},{40:[2,30]},{40:[2,31]},{13:[1,65]},t(y,[2,10]),t(y,[2,12]),t(y,[2,13]),t(y,[2,15]),{4:a,5:o,8:8,9:10,10:s,11:22,14:13,15:u,16:c,17:16,18:l,20:d,21:[1,66],22:f,23:h,25:_,29:p,40:m},{4:a,5:o,8:8,9:10,10:s,11:22,14:13,15:u,16:c,17:16,18:l,20:d,21:[1,67],22:f,23:h,25:_,29:p,40:m},{21:[1,68]},{4:a,5:o,8:8,9:10,10:s,11:22,14:13,15:u,16:c,17:16,18:l,20:d,21:[2,22],22:f,23:h,25:_,28:[1,69],29:p,40:m},{21:[1,70]},{4:a,5:o,8:8,9:10,10:s,11:22,14:13,15:u,16:c,17:16,18:l,20:d,21:[2,20],22:f,23:h,25:_,27:[1,71],29:p,40:m},{11:72,40:m},{11:73,40:m},{19:74,47:g},{19:75,47:g},{19:76,47:g},{34:[1,77],47:[2,29]},{5:[1,78]},t(y,[2,16]),t(y,[2,17]),t(y,[2,18]),{13:[1,79]},t(y,[2,19]),{13:[1,80]},{19:81,47:g},{19:82,47:g},{5:[2,34]},{5:[2,24]},{5:[2,25]},{11:83,40:m},t(y,[2,9]),t(M,i,{7:56,24:84}),t(b,i,{7:58,26:85}),{5:[2,32]},{5:[2,33]},{47:[2,28]},{21:[2,23]},{21:[2,21]}],defaultActions:{5:[2,1],6:[2,2],32:[2,42],46:[2,30],47:[2,31],74:[2,34],75:[2,24],76:[2,25],81:[2,32],82:[2,33],83:[2,28],84:[2,23],85:[2,21]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=this,n=[0],r=[],i=[null],a=[],o=this.table,s="",u=0,c=0,l=0,d=1,f=a.slice.call(arguments,1),h=Object.create(this.lexer),_={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(_.yy[p]=this.yy[p]);h.setInput(t,_.yy),_.yy.lexer=h,_.yy.parser=this,void 0===h.yylloc&&(h.yylloc={});var m=h.yylloc;a.push(m);var y=h.options&&h.options.ranges;"function"==typeof _.yy.parseError?this.parseError=_.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var g,v,M,b,k,L,w,x,T,D,Y={};;){if(M=n[n.length-1],this.defaultActions[M]?b=this.defaultActions[M]:(null!==g&&void 0!==g||(D=void 0,"number"!=typeof(D=r.pop()||h.lex()||d)&&(D instanceof Array&&(D=(r=D).pop()),D=e.symbols_[D]||D),g=D),b=o[M]&&o[M][g]),void 0===b||!b.length||!b[0]){var S="";for(L in T=[],o[M])this.terminals_[L]&&L>2&&T.push("'"+this.terminals_[L]+"'");S=h.showPosition?"Parse error on line "+(u+1)+":\n"+h.showPosition()+"\nExpecting "+T.join(", ")+", got '"+(this.terminals_[g]||g)+"'":"Parse error on line "+(u+1)+": Unexpected "+(g==d?"end of input":"'"+(this.terminals_[g]||g)+"'"),this.parseError(S,{text:h.match,token:this.terminals_[g]||g,line:h.yylineno,loc:m,expected:T})}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+M+", token: "+g);switch(b[0]){case 1:n.push(g),i.push(h.yytext),a.push(h.yylloc),n.push(b[1]),g=null,v?(g=v,v=null):(c=h.yyleng,s=h.yytext,u=h.yylineno,m=h.yylloc,l>0&&l--);break;case 2:if(w=this.productions_[b[1]][1],Y.$=i[i.length-w],Y._$={first_line:a[a.length-(w||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(w||1)].first_column,last_column:a[a.length-1].last_column},y&&(Y._$.range=[a[a.length-(w||1)].range[0],a[a.length-1].range[1]]),void 0!==(k=this.performAction.apply(Y,[s,c,u,_.yy,b[1],i,a].concat(f))))return k;w&&(n=n.slice(0,-1*w*2),i=i.slice(0,-1*w),a=a.slice(0,-1*w)),n.push(this.productions_[b[1]][0]),i.push(Y.$),a.push(Y._$),x=o[n[n.length-2]][n[n.length-1]],n.push(x);break;case 3:return!0}}return!0}},w={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,r){switch(n){case 0:return 5;case 1:case 2:case 3:case 4:break;case 5:return this.begin("ID"),10;case 6:return this.begin("ALIAS"),40;case 7:return this.popState(),this.popState(),this.begin("LINE"),12;case 8:return this.popState(),this.popState(),5;case 9:return this.begin("LINE"),20;case 10:return this.begin("LINE"),22;case 11:return this.begin("LINE"),23;case 12:return this.begin("LINE"),28;case 13:return this.begin("LINE"),25;case 14:return this.begin("LINE"),27;case 15:return this.popState(),13;case 16:return 21;case 17:return 35;case 18:return 36;case 19:return 31;case 20:return 29;case 21:return this.begin("ID"),15;case 22:return this.begin("ID"),16;case 23:return 18;case 24:return 6;case 25:return 34;case 26:return 5;case 27:return e.yytext=e.yytext.trim(),40;case 28:return 43;case 29:return 44;case 30:return 41;case 31:return 42;case 32:return 45;case 33:return 46;case 34:return 47;case 35:return 38;case 36:return 39;case 37:return 5;case 38:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:[^\->:\n,;]+?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:and\b)/i,/^(?:[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\+\->:\n,;]+)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?::[^#\n;]+)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[2,3,15],inclusive:!1},ALIAS:{rules:[2,3,7,8],inclusive:!1},ID:{rules:[2,3,6],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,9,10,11,12,13,14,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],inclusive:!0}}};function x(){this.yy={}}return L.lexer=w,x.prototype=L,L.Parser=x,new x}();e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(r){r[1]||(console.log("Usage: "+r[0]+" FILE"),t.exit(1));var i=n(7).readFileSync(n(6).normalize(r[1]),"utf8");return e.parser.parse(i)},void 0!==r&&n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(this,n(5),n(4)(t))},function(t,e,n){t.exports=function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},n.r=function(t){Object.defineProperty(t,"__esModule",{value:!0})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n.w={},n(n.s=27)}([function(t,e){t.exports=n(8)},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.addDummyNode=o,e.simplify=s,e.asNonCompoundGraph=u,e.successorWeights=c,e.predecessorWeights=l,e.intersectRect=d,e.buildLayerMatrix=f,e.normalizeRanks=h,e.removeEmptyRanks=_,e.addBorderNode=p,e.maxRank=m,e.partition=y,e.time=g,e.notime=v;var r,i=(r=n(0))&&r.__esModule?r:{default:r},a=n(2);function o(t,e,n,r){var a=void 0;do{a=i.default.uniqueId(r)}while(t.hasNode(a));return n.dummy=e,t.setNode(a,n),a}function s(t){var e=(new a.Graph).setGraph(t.graph());return i.default.forEach(t.nodes(),function(n){e.setNode(n,t.node(n))}),i.default.forEach(t.edges(),function(n){var r=e.edge(n.v,n.w)||{weight:0,minlen:1},i=t.edge(n);e.setEdge(n.v,n.w,{weight:r.weight+i.weight,minlen:Math.max(r.minlen,i.minlen)})}),e}function u(t){var e=new a.Graph({multigraph:t.isMultigraph()}).setGraph(t.graph());return i.default.forEach(t.nodes(),function(n){t.children(n).length||e.setNode(n,t.node(n))}),i.default.forEach(t.edges(),function(n){e.setEdge(n,t.edge(n))}),e}function c(t){var e=i.default.map(t.nodes(),function(e){var n={};return i.default.forEach(t.outEdges(e),function(e){n[e.w]=(n[e.w]||0)+t.edge(e).weight}),n});return i.default.zipObject(t.nodes(),e)}function l(t){var e=i.default.map(t.nodes(),function(e){var n={};return i.default.forEach(t.inEdges(e),function(e){n[e.v]=(n[e.v]||0)+t.edge(e).weight}),n});return i.default.zipObject(t.nodes(),e)}function d(t,e){var n=t.x,r=t.y,i=e.x-n,a=e.y-r,o=t.width/2,s=t.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var u=void 0,c=void 0;return Math.abs(a)*o>Math.abs(i)*s?(a<0&&(s=-s),u=s*i/a,c=s):(i<0&&(o=-o),u=o,c=o*a/i),{x:n+u,y:r+c}}function f(t){var e=i.default.map(i.default.range(m(t)+1),function(){return[]});return i.default.forEach(t.nodes(),function(n){var r=t.node(n),a=r.rank;i.default.isUndefined(a)||(e[a][r.order]=n)}),e}function h(t){var e=i.default.min(i.default.map(t.nodes(),function(e){return t.node(e).rank}));i.default.forEach(t.nodes(),function(n){var r=t.node(n);i.default.has(r,"rank")&&(r.rank-=e)})}function _(t){var e=i.default.min(i.default.map(t.nodes(),function(e){return t.node(e).rank})),n=[];i.default.forEach(t.nodes(),function(r){var i=t.node(r).rank-e;n[i]||(n[i]=[]),n[i].push(r)});var r=0,a=t.graph().nodeRankFactor;i.default.forEach(n,function(e,n){i.default.isUndefined(e)&&n%a!=0?--r:r&&i.default.forEach(e,function(e){t.node(e).rank+=r})})}function p(t,e,n,r){var i={width:0,height:0};return arguments.length>=4&&(i.rank=n,i.order=r),o(t,"border",i,e)}function m(t){return i.default.max(i.default.map(t.nodes(),function(e){var n=t.node(e).rank;if(!i.default.isUndefined(n))return n}))}function y(t,e){var n={lhs:[],rhs:[]};return i.default.forEach(t,function(t){e(t)?n.lhs.push(t):n.rhs.push(t)}),n}function g(t,e){var n=i.default.now();try{return e()}finally{console.log(t+" time: "+(i.default.now()-n)+"ms")}}function v(t,e){return e()}e.default={addDummyNode:o,simplify:s,asNonCompoundGraph:u,successorWeights:c,predecessorWeights:l,intersectRect:d,buildLayerMatrix:f,normalizeRanks:h,removeEmptyRanks:_,addBorderNode:p,maxRank:m,partition:y,time:g,notime:v}},function(t,e){t.exports=n(12)},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.longestPath=a,e.slack=o;var r,i=(r=n(0))&&r.__esModule?r:{default:r};function a(t){var e={};i.default.forEach(t.sources(),function n(r){var a=t.node(r);if(i.default.has(e,r))return a.rank;e[r]=!0;var o=i.default.min(i.default.map(t.outEdges(r),function(e){return n(e.w)-t.edge(e).minlen}))||0;return a.rank=o})}function o(t,e){return t.node(e.w).rank-t.node(e.v).rank-t.edge(e).minlen}e.default={longestPath:a,slack:o}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,i=(r=n(0))&&r.__esModule?r:{default:r},a=n(2),o=n(3);function s(t,e){return i.default.forEach(t.nodes(),function n(r){i.default.forEach(e.nodeEdges(r),function(i){var a=i.v,s=r===a?i.w:a;t.hasNode(s)||(0,o.slack)(e,i)||(t.setNode(s,{}),t.setEdge(r,s,{}),n(s))})}),t.nodeCount()}function u(t,e){return i.default.minBy(e.edges(),function(n){if(t.hasNode(n.v)!==t.hasNode(n.w))return(0,o.slack)(e,n)})}function c(t,e,n){i.default.forEach(t.nodes(),function(t){e.node(t).rank+=n})}e.default=function(t){var e=new a.Graph({directed:!1}),n=t.nodes()[0],r=t.nodeCount();e.setNode(n,{});for(var i=void 0;s(e,t)<r;)i=u(e,t),c(e,t,e.hasNode(i.v)?(0,o.slack)(t,i):-(0,o.slack)(t,i));return e}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.positionX=m;var r=o(n(0)),i=n(2),a=o(n(1));function o(t){return t&&t.__esModule?t:{default:t}}function s(t,e){var n={};return r.default.reduce(e,function(e,i){var a=0,o=0,s=e.length,u=r.default.last(i);return r.default.forEach(i,function(e,l){var d=function(t,e){if(t.node(e).dummy)return r.default.find(t.predecessors(e),function(e){return t.node(e).dummy})}(t,e),f=d?t.node(d).order:s;(d||e===u)&&(r.default.forEach(i.slice(o,l+1),function(e){r.default.forEach(t.predecessors(e),function(r){var i=t.node(r),o=i.order;!(o<a||f<o)||i.dummy&&t.node(e).dummy||c(n,r,e)})}),o=l+1,a=f)}),i}),n}function u(t,e){var n={};function i(e,i,a,o,s){var u=void 0;r.default.forEach(r.default.range(i,a),function(i){u=e[i],t.node(u).dummy&&r.default.forEach(t.predecessors(u),function(e){var r=t.node(e);r.dummy&&(r.order<o||r.order>s)&&c(n,e,u)})})}return r.default.reduce(e,function(e,n){var a=-1,o=void 0,s=0;return r.default.forEach(n,function(r,u){if("border"===t.node(r).dummy){var c=t.predecessors(r);c.length&&(o=t.node(c[0]).order,i(n,s,u,a,o),s=u,a=o)}i(n,s,n.length,o,e.length)}),n}),n}function c(t,e,n){if(e>n){var r=e;e=n,n=r}var i=t[e];i||(t[e]=i={}),i[n]=!0}function l(t,e,n){if(e>n){var i=e;e=n,n=i}return r.default.has(t[e],n)}function d(t,e,n,i){var a={},o={},s={};return r.default.forEach(e,function(t){r.default.forEach(t,function(t,e){a[t]=t,o[t]=t,s[t]=e})}),r.default.forEach(e,function(t){var e=-1;r.default.forEach(t,function(t){var u=i(t);if(u.length)for(var c=((u=r.default.sortBy(u,function(t){return s[t]})).length-1)/2,d=Math.floor(c),f=Math.ceil(c);d<=f;++d){var h=u[d];o[t]===t&&e<s[h]&&!l(n,t,h)&&(o[h]=t,o[t]=a[t]=a[h],e=s[h])}})}),{root:a,align:o}}function f(t,e,n,a,o){var s={},u=function(t,e,n,a){var o=new i.Graph,s=t.graph(),u=function(t,e,n){return function(i,a,o){var s=i.node(a),u=i.node(o),c=0,l=void 0;if(c+=s.width/2,r.default.has(s,"labelpos"))switch(s.labelpos.toLowerCase()){case"l":l=-s.width/2;break;case"r":l=s.width/2}if(l&&(c+=n?l:-l),l=0,c+=(s.dummy?e:t)/2,c+=(u.dummy?e:t)/2,c+=u.width/2,r.default.has(u,"labelpos"))switch(u.labelpos.toLowerCase()){case"l":l=u.width/2;break;case"r":l=-u.width/2}return l&&(c+=n?l:-l),l=0,c}}(s.nodesep,s.edgesep,a);return r.default.forEach(e,function(e){var i=void 0;r.default.forEach(e,function(e){var r=n[e];if(o.setNode(r),i){var a=n[i],s=o.edge(a,r);o.setEdge(a,r,Math.max(u(t,e,i),s||0))}i=e})}),o}(t,e,n,o),c={};r.default.forEach(u.nodes(),function t(e){r.default.has(c,e)||(c[e]=!0,s[e]=r.default.reduce(u.inEdges(e),function(e,n){return t(n.v),Math.max(e,s[n.v]+u.edge(n))},0))});var l=o?"borderLeft":"borderRight";return r.default.forEach(u.nodes(),function e(n){if(2!==c[n]){c[n]++;var i=t.node(n),a=r.default.reduce(u.outEdges(n),function(t,n){return e(n.w),Math.min(t,s[n.w]-u.edge(n))},Number.POSITIVE_INFINITY);a!==Number.POSITIVE_INFINITY&&i.borderType!==l&&(s[n]=Math.max(s[n],a))}}),r.default.forEach(a,function(t){s[t]=s[n[t]]}),s}function h(t,e){return r.default.minBy(r.default.values(e),function(e){var n=(r.default.minBy(r.default.toPairs(e),function(e){return e[1]-y(t,e[0])/2})||["k",0])[1];return(r.default.maxBy(r.default.toPairs(e),function(e){return e[1]+y(t,e[0])/2})||["k",0])[1]-n})}function _(t,e){var n=r.default.values(e),i=r.default.min(n),a=r.default.max(n);r.default.forEach(["u","d"],function(n){r.default.forEach(["l","r"],function(o){var s=n+o,u=t[s];if(u!==e){var c=r.default.values(u),l="l"===o?i-r.default.min(c):a-r.default.max(c);l&&(t[s]=r.default.mapValues(u,function(t){return t+l}))}})})}function p(t,e){return r.default.mapValues(t.ul,function(n,i){if(e)return t[e.toLowerCase()][i];var a=r.default.sortBy(r.default.map(t,i));return(a[1]+a[2])/2})}function m(t){var e=a.default.buildLayerMatrix(t),n=r.default.merge(s(t,e),u(t,e)),i={},o=void 0;r.default.forEach(["u","d"],function(a){o="u"===a?e:r.default.values(e).reverse(),r.default.forEach(["l","r"],function(e){"r"===e&&(o=r.default.map(o,function(t){return r.default.values(t).reverse()}));var s=r.default.bind("u"===a?t.predecessors:t.successors,t),u=d(0,o,n,s),c=f(t,o,u.root,u.align,"r"===e);"r"===e&&(c=r.default.mapValues(c,function(t){return-t})),i[a+e]=c})});var c=h(t,i);return _(i,c),p(i,t.graph().align)}function y(t,e){return t.node(e).width}e.default={positionX:m,findType1Conflicts:s,findType2Conflicts:u,addConflict:c,hasConflict:l,verticalAlignment:d,horizontalCompaction:f,alignCoordinates:_,findSmallestWidthAlignment:h,balance:p}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=o(n(0)),i=o(n(1)),a=n(5);function o(t){return t&&t.__esModule?t:{default:t}}e.default=function(t){(function(t){var e=i.default.buildLayerMatrix(t),n=t.graph().ranksep,a=0;r.default.forEach(e,function(e){var i=r.default.max(r.default.map(e,function(e){return t.node(e).height}));r.default.forEach(e,function(e){t.node(e).y=a+i/2}),a+=i+n})})(t=i.default.asNonCompoundGraph(t)),r.default.forEach((0,a.positionX)(t),function(e,n){t.node(n).x=e})}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,i=(r=n(0))&&r.__esModule?r:{default:r};e.default=function(t,e,n){var r={},a=void 0;i.default.forEach(n,function(n){for(var i=t.parent(n),o=void 0,s=void 0;i;){if((o=t.parent(i))?(s=r[o],r[o]=i):(s=a,a=i),s&&s!==i)return void e.setEdge(s,i);i=o}})}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,i=(r=n(0))&&r.__esModule?r:{default:r},a=n(2);e.default=function(t,e,n){var r=function(t){for(var e=void 0;t.hasNode(e=i.default.uniqueId("_root")););return e}(t),o=new a.Graph({compound:!0}).setGraph({root:r}).setDefaultNodeLabel(function(e){return t.node(e)});return i.default.forEach(t.nodes(),function(a){var s=t.node(a),u=t.parent(a);(s.rank===e||s.minRank<=e&&e<=s.maxRank)&&(o.setNode(a),o.setParent(a,u||r),i.default.forEach(t[n](a),function(e){var n=e.v===a?e.w:e.v,r=o.edge(n,a),s=i.default.isUndefined(r)?0:r.weight;o.setEdge(n,a,{weight:t.edge(e).weight+s})}),i.default.has(s,"minRank")&&o.setNode(a,{borderLeft:s.borderLeft[e],borderRight:s.borderRight[e]}))}),o}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=a(n(0)),i=a(n(1));function a(t){return t&&t.__esModule?t:{default:t}}function o(t,e,n){for(var i=void 0;e.length&&(i=r.default.last(e)).i<=n;)e.pop(),t.push(i.vs),n++;return n}e.default=function(t,e){var n,a=i.default.partition(t,function(t){return r.default.has(t,"barycenter")}),s=a.lhs,u=r.default.sortBy(a.rhs,function(t){return-t.i}),c=[],l=0,d=0,f=0;s.sort((n=!!e,function(t,e){return t.barycenter<e.barycenter?-1:t.barycenter>e.barycenter?1:n?e.i-t.i:t.i-e.i})),f=o(c,u,f),r.default.forEach(s,function(t){f+=t.vs.length,c.push(t.vs),l+=t.barycenter*t.weight,d+=t.weight,f=o(c,u,f)});var h={vs:r.default.flatten(c,!0)};return d&&(h.barycenter=l/d,h.weight=d),h}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,i=(r=n(0))&&r.__esModule?r:{default:r};e.default=function(t,e){var n={};return i.default.forEach(t,function(t,e){var r=n[t.v]={indegree:0,in:[],out:[],vs:[t.v],i:e};i.default.isUndefined(t.barycenter)||(r.barycenter=t.barycenter,r.weight=t.weight)}),i.default.forEach(e.edges(),function(t){var e=n[t.v],r=n[t.w];i.default.isUndefined(e)||i.default.isUndefined(r)||(r.indegree++,e.out.push(n[t.w]))}),function(t){var e=[];function n(t){return function(e){var n,r,a,o;e.merged||(i.default.isUndefined(e.barycenter)||i.default.isUndefined(t.barycenter)||e.barycenter>=t.barycenter)&&(r=e,a=0,o=0,(n=t).weight&&(a+=n.barycenter*n.weight,o+=n.weight),r.weight&&(a+=r.barycenter*r.weight,o+=r.weight),n.vs=r.vs.concat(n.vs),n.barycenter=a/o,n.weight=o,n.i=Math.min(r.i,n.i),r.merged=!0)}}function r(e){return function(n){n.in.push(e),0==--n.indegree&&t.push(n)}}for(;t.length;){var a=t.pop();e.push(a),i.default.forEach(a.in.reverse(),n(a)),i.default.forEach(a.out,r(a))}return i.default.chain(e).filter(function(t){return!t.merged}).map(function(t){return i.default.pick(t,["vs","i","barycenter","weight"])}).value()}(i.default.filter(n,function(t){return!t.indegree}))}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,i=(r=n(0))&&r.__esModule?r:{default:r};e.default=function(t,e){return i.default.map(e,function(e){var n=t.inEdges(e);if(n.length){var r=i.default.reduce(n,function(e,n){var r=t.edge(n),i=t.node(n.v);return{sum:e.sum+r.weight*i.order,weight:e.weight+r.weight}},{sum:0,weight:0});return{v:e,barycenter:r.sum/r.weight,weight:r.weight}}return{v:e}})}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=s(n(0)),i=s(n(11)),a=s(n(10)),o=s(n(9));function s(t){return t&&t.__esModule?t:{default:t}}e.default=function t(e,n,s,u){var c=e.children(n),l=e.node(n),d=l?l.borderLeft:void 0,f=l?l.borderRight:void 0,h={};d&&(c=r.default.filter(c,function(t){return t!==d&&t!==f}));var _=(0,i.default)(e,c);r.default.forEach(_,function(n){if(e.children(n.v).length){var i=t(e,n.v,s,u);h[n.v]=i,r.default.has(i,"barycenter")&&(a=n,o=i,r.default.isUndefined(a.barycenter)?(a.barycenter=o.barycenter,a.weight=o.weight):(a.barycenter=(a.barycenter*a.weight+o.barycenter*o.weight)/(a.weight+o.weight),a.weight+=o.weight))}var a,o});var p=(0,a.default)(_,s);!function(t,e){r.default.forEach(t,function(t){t.vs=r.default.flatten(t.vs.map(function(t){return e[t]?e[t].vs:t}),!0)})}(p,h);var m=(0,o.default)(p,u);if(d&&(m.vs=r.default.flatten([d,m.vs,f],!0),e.predecessors(d).length)){var y=e.node(e.predecessors(d)[0]),g=e.node(e.predecessors(f)[0]);r.default.has(m,"barycenter")||(m.barycenter=0,m.weight=0),m.barycenter=(m.barycenter*m.weight+y.order+g.order)/(m.weight+2),m.weight+=2}return m}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,i=(r=n(0))&&r.__esModule?r:{default:r};function a(t,e,n){for(var r=i.default.zipObject(n,i.default.map(n,function(t,e){return e})),a=i.default.flatten(i.default.map(e,function(e){return i.default.chain(t.outEdges(e)).map(function(e){return{pos:r[e.w],weight:t.edge(e).weight}}).sortBy("pos").value()}),!0),o=1;o<n.length;)o<<=1;var s=2*o-1;o-=1;var u=i.default.map(new Array(s),function(){return 0}),c=0;return i.default.forEach(a.forEach(function(t){var e=t.pos+o;u[e]+=t.weight;for(var n=0;e>0;)e%2&&(n+=u[e+1]),u[e=e-1>>1]+=t.weight;c+=t.weight*n})),c}e.default=function(t,e){for(var n=0,r=1;r<e.length;++r)n+=a(t,e[r-1],e[r]);return n}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,i=(r=n(0))&&r.__esModule?r:{default:r};e.default=function(t){var e={},n=i.default.filter(t.nodes(),function(e){return!t.children(e).length}),r=i.default.max(i.default.map(n,function(e){return t.node(e).rank})),a=i.default.map(i.default.range(r+1),function(){return[]}),o=i.default.sortBy(n,function(e){return t.node(e).rank});return i.default.forEach(o,function n(r){if(!i.default.has(e,r)){e[r]=!0;var o=t.node(r);a[o.rank].push(r),i.default.forEach(t.successors(r),n)}}),a}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=d(n(0)),i=n(2),a=d(n(14)),o=d(n(13)),s=d(n(12)),u=d(n(8)),c=d(n(7)),l=d(n(1));function d(t){return t&&t.__esModule?t:{default:t}}function f(t,e,n){return r.default.map(e,function(e){return(0,u.default)(t,e,n)})}function h(t,e){var n=new i.Graph;r.default.forEach(t,function(t){var i=t.graph().root,a=(0,s.default)(t,i,n,e);r.default.forEach(a.vs,function(e,n){t.node(e).order=n}),(0,c.default)(t,n,a.vs)})}function _(t,e){r.default.forEach(e,function(e){r.default.forEach(e,function(e,n){t.node(e).order=n})})}e.default=function(t){var e=l.default.maxRank(t),n=f(t,r.default.range(1,e+1),"inEdges"),i=f(t,r.default.range(e-1,-1,-1),"outEdges"),s=(0,a.default)(t);_(t,s);for(var u=Number.POSITIVE_INFINITY,c=void 0,d=0,p=0;p<4;++d,++p){h(d%2?n:i,d%4>=2),s=l.default.buildLayerMatrix(t);var m=(0,o.default)(t,s);m<u&&(p=0,c=r.default.cloneDeep(s),u=m)}_(t,c)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,i=(r=n(0))&&r.__esModule?r:{default:r};function a(t){i.default.forEach(t.nodes(),function(e){o(t.node(e))}),i.default.forEach(t.edges(),function(e){o(t.edge(e))})}function o(t){var e=t.width;t.width=t.height,t.height=e}function s(t){t.y=-t.y}function u(t){var e=t.x;t.x=t.y,t.y=e}e.default={adjust:function(t){var e=t.graph().rankdir.toLowerCase();"lr"!==e&&"rl"!==e||a(t)},undo:function(t){var e=t.graph().rankdir.toLowerCase();"bt"!==e&&"rl"!==e||function(t){i.default.forEach(t.nodes(),function(e){s(t.node(e))}),i.default.forEach(t.edges(),function(e){var n=t.edge(e);i.default.forEach(n.points,s),i.default.has(n,"y")&&s(n)})}(t),"lr"!==e&&"rl"!==e||(function(t){i.default.forEach(t.nodes(),function(e){u(t.node(e))}),i.default.forEach(t.edges(),function(e){var n=t.edge(e);i.default.forEach(n.points,u),i.default.has(n,"x")&&u(n)})}(t),a(t))}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=a(n(0)),i=a(n(1));function a(t){return t&&t.__esModule?t:{default:t}}function o(t,e,n,r,a,o){var s={width:0,height:0,rank:o,borderType:e},u=a[e][o-1],c=i.default.addDummyNode(t,"border",s,n);a[e][o]=c,t.setParent(c,r),u&&t.setEdge(u,c,{weight:1})}e.default=function(t){r.default.forEach(t.children(),function e(n){var i=t.children(n),a=t.node(n);if(i.length&&r.default.forEach(i,e),r.default.has(a,"minRank")){a.borderLeft=[],a.borderRight=[];for(var s=a.minRank,u=a.maxRank+1;s<u;++s)o(t,"borderLeft","_bl",n,a,s),o(t,"borderRight","_br",n,a,s)}})}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=a(n(0)),i=a(n(1));function a(t){return t&&t.__esModule?t:{default:t}}e.default={run:function(t){var e=i.default.addDummyNode(t,"root",{},"_root"),n=function(t){var e={};return r.default.forEach(t.children(),function(n){!function n(i,a){var o=t.children(i);o&&o.length&&r.default.forEach(o,function(t){n(t,a+1)}),e[i]=a}(n,1)}),e}(t),a=r.default.max(r.default.values(n))-1,o=2*a+1;t.graph().nestingRoot=e,r.default.forEach(t.edges(),function(e){t.edge(e).minlen*=o});var s=function(t){return r.default.reduce(t.edges(),function(e,n){return e+t.edge(n).weight},0)}(t)+1;r.default.forEach(t.children(),function(u){!function t(e,n,a,o,s,u,c){var l=e.children(c);if(l.length){var d=i.default.addBorderNode(e,"_bt"),f=i.default.addBorderNode(e,"_bb"),h=e.node(c);e.setParent(d,c),h.borderTop=d,e.setParent(f,c),h.borderBottom=f,r.default.forEach(l,function(r){t(e,n,a,o,s,u,r);var i=e.node(r),l=i.borderTop?i.borderTop:r,h=i.borderBottom?i.borderBottom:r,_=i.borderTop?o:2*o,p=l!==h?1:s-u[c]+1;e.setEdge(d,l,{weight:_,minlen:p,nestingEdge:!0}),e.setEdge(h,f,{weight:_,minlen:p,nestingEdge:!0})}),e.parent(c)||e.setEdge(n,d,{weight:0,minlen:s+u[c]})}else c!==n&&e.setEdge(n,c,{weight:0,minlen:a})}(t,e,o,s,a,n,u)}),t.graph().nodeRankFactor=o},cleanup:function(t){var e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,r.default.forEach(t.edges(),function(e){t.edge(e).nestingEdge&&t.removeEdge(e)})}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,i=(r=n(0))&&r.__esModule?r:{default:r};e.default=function(t){var e=function(t){var e={},n=0;return i.default.forEach(t.children(),function r(a){var o=n;i.default.forEach(t.children(a),r),e[a]={low:o,lim:n++}}),e}(t);i.default.forEach(t.graph().dummyChains,function(n){for(var r=t.node(n),i=r.edgeObj,a=function(t,e,n,r){var i,a=[],o=[],s=Math.min(e[n].low,e[r].low),u=Math.max(e[n].lim,e[r].lim),c=void 0;c=n;do{c=t.parent(c),a.push(c)}while(c&&(e[c].low>s||u>e[c].lim));for(i=c,c=r;(c=t.parent(c))!==i;)o.push(c);return{path:a.concat(o.reverse()),lca:i}}(t,e,i.v,i.w),o=a.path,s=a.lca,u=0,c=o[u],l=!0;n!==i.w;){if(r=t.node(n),l){for(;(c=o[u])!==s&&t.node(c).maxRank<r.rank;)u++;c===s&&(l=!1)}if(!l){for(;u<o.length-1&&t.node(c=o[u+1]).minRank<=r.rank;)u++;c=o[u]}t.setParent(n,c),n=t.successors(n)[0]}})}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=u(n(0)),i=n(2),a=u(n(4)),o=n(3),s=n(1);function u(t){return t&&t.__esModule?t:{default:t}}var c=i.alg.preorder,l=i.alg.postorder;function d(t){t=(0,s.simplify)(t),(0,o.longestPath)(t);var e=(0,a.default)(t);_(e),f(e,t);for(var n=void 0;n=p(e);)y(e,t,n,m(e,t,n))}function f(t,e){var n=l(t,t.nodes());n=n.slice(0,n.length-1),r.default.forEach(n,function(n){!function(t,e,n){var r=t.node(n).parent;t.edge(n,r).cutvalue=h(t,e,n)}(t,e,n)})}function h(t,e,n){var i=t.node(n).parent,a=!0,o=e.edge(n,i),s=0;return o||(a=!1,o=e.edge(i,n)),s=o.weight,r.default.forEach(e.nodeEdges(n),function(r){var o,u,c=r.v===n,l=c?r.w:r.v;if(l!==i){var d=c===a,f=e.edge(r).weight;if(s+=d?f:-f,o=n,u=l,t.hasEdge(o,u)){var h=t.edge(n,l).cutvalue;s+=d?-h:h}}}),s}function _(t,e){arguments.length<2&&(e=t.nodes()[0]),function t(e,n,i,a,o){var s=i,u=e.node(a);return n[a]=!0,r.default.forEach(e.neighbors(a),function(o){r.default.has(n,o)||(i=t(e,n,i,o,a))}),u.low=s,u.lim=i++,o?u.parent=o:delete u.parent,i}(t,{},1,e)}function p(t){return r.default.find(t.edges(),function(e){return t.edge(e).cutvalue<0})}function m(t,e,n){var i=n.v,a=n.w;e.hasEdge(i,a)||(i=n.w,a=n.v);var s=t.node(i),u=t.node(a),c=s,l=!1;s.lim>u.lim&&(c=u,l=!0);var d=r.default.filter(e.edges(),function(e){return l===g(t,t.node(e.v),c)&&l!==g(t,t.node(e.w),c)});return r.default.minBy(d,function(t){return(0,o.slack)(e,t)})}function y(t,e,n,i){var a=n.v,o=n.w;t.removeEdge(a,o),t.setEdge(i.v,i.w,{}),_(t),f(t,e),function(t,e){var n=r.default.find(t.nodes(),function(t){return!e.node(t).parent}),i=c(t,n);i=i.slice(1),r.default.forEach(i,function(n){var r=t.node(n).parent,i=e.edge(n,r),a=!1;i||(i=e.edge(r,n),a=!0),e.node(n).rank=e.node(r).rank+(a?i.minlen:-i.minlen)})}(t,e)}function g(t,e,n){return n.low<=e.lim&&e.lim<=n.lim}d.initLowLimValues=_,d.initCutValues=f,d.calcCutValue=h,d.leaveEdge=p,d.enterEdge=m,d.exchangeEdges=y,e.default=d},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(3),i=o(n(4)),a=o(n(20));function o(t){return t&&t.__esModule?t:{default:t}}var s=r.longestPath;function u(t){(0,a.default)(t)}e.default=function(t){switch(t.graph().ranker){case"network-simplex":u(t);break;case"tight-tree":!function(t){(0,r.longestPath)(t),(0,i.default)(t)}(t);break;case"longest-path":s(t);break;default:u(t)}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=a(n(0)),i=a(n(1));function a(t){return t&&t.__esModule?t:{default:t}}e.default={run:function(t){t.graph().dummyChains=[],r.default.forEach(t.edges(),function(e){!function(t,e){var n=e.v,r=t.node(n).rank,a=e.w,o=t.node(a).rank,s=e.name,u=t.edge(e),c=u.labelRank;if(o!==r+1){t.removeEdge(e);var l=void 0,d=void 0,f=void 0;for(f=0,++r;r<o;++f,++r)u.points=[],d={width:0,height:0,edgeLabel:u,edgeObj:e,rank:r},l=i.default.addDummyNode(t,"edge",d,"_d"),r===c&&(d.width=u.width,d.height=u.height,d.dummy="edge-label",d.labelpos=u.labelpos),t.setEdge(n,l,{weight:u.weight},s),0===f&&t.graph().dummyChains.push(l),n=l;t.setEdge(n,a,{weight:u.weight},s)}}(t,e)})},undo:function(t){r.default.forEach(t.graph().dummyChains,function(e){var n=t.node(e),r=n.edgeLabel,i=null;for(t.setEdge(n.edgeObj,r);n.dummy;)i=t.successors(e)[0],t.removeNode(e),r.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(r.x=n.x,r.y=n.y,r.width=n.width,r.height=n.height),e=i,n=t.node(e)})}}},function(t,e,n){"use strict";function r(){var t={};t._next=t._prev=t,this._sentinel=t}function i(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function a(t,e){if("_next"!==t&&"_prev"!==t)return e}Object.defineProperty(e,"__esModule",{value:!0}),r.prototype.dequeue=function(){var t=this._sentinel,e=t._prev;if(e!==t)return i(e),e},r.prototype.enqueue=function(t){var e=this._sentinel;t._prev&&t._next&&i(t),t._next=e._next,e._next._prev=t,e._next=t,t._prev=e},r.prototype.toString=function(){for(var t=[],e=this._sentinel,n=e._prev;n!==e;)t.push(JSON.stringify(n,a)),n=n._prev;return"["+t.join(", ")+"]"},e.default=r},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=o(n(0)),i=n(2),a=o(n(23));function o(t){return t&&t.__esModule?t:{default:t}}var s=r.default.constant(1);function u(t,e,n,i,a){var o=a?[]:void 0;return r.default.forEach(t.inEdges(i.v),function(r){var i=t.edge(r),s=t.node(r.v);a&&o.push({v:r.v,w:r.w}),s.out-=i,c(e,n,s)}),r.default.forEach(t.outEdges(i.v),function(r){var i=t.edge(r),a=r.w,o=t.node(a);o.in-=i,c(e,n,o)}),t.removeNode(i.v),o}function c(t,e,n){n.out?n.in?t[n.out-n.in+e].enqueue(n):t[t.length-1].enqueue(n):t[0].enqueue(n)}e.default=function(t,e){if(t.nodeCount()<=1)return[];var n=function(t,e){var n=new i.Graph,o=0,s=0;r.default.forEach(t.nodes(),function(t){n.setNode(t,{v:t,in:0,out:0})}),r.default.forEach(t.edges(),function(t){var r=n.edge(t.v,t.w)||0,i=e(t),a=r+i;n.setEdge(t.v,t.w,a),s=Math.max(s,n.node(t.v).out+=i),o=Math.max(o,n.node(t.w).in+=i)});var u=r.default.range(s+o+3).map(function(){return new a.default}),l=o+1;return r.default.forEach(n.nodes(),function(t){c(u,l,n.node(t))}),{graph:n,buckets:u,zeroIdx:l}}(t,e||s),o=function(t,e,n){for(var r=[],i=e[e.length-1],a=e[0],o=void 0;t.nodeCount();){for(;o=a.dequeue();)u(t,e,n,o);for(;o=i.dequeue();)u(t,e,n,o);if(t.nodeCount())for(var s=e.length-2;s>0;--s)if(o=e[s].dequeue()){r=r.concat(u(t,e,n,o,!0));break}}return r}(n.graph,n.buckets,n.zeroIdx);return r.default.flatten(r.default.map(o,function(e){return t.outEdges(e.v,e.w)}),!0)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=a(n(0)),i=a(n(24));function a(t){return t&&t.__esModule?t:{default:t}}e.default={run:function(t){var e="greedy"===t.graph().acyclicer?(0,i.default)(t,function(t){return function(e){return t.edge(e).weight}}(t)):function(t){var e=[],n={},i={};return r.default.forEach(t.nodes(),function a(o){r.default.has(i,o)||(i[o]=!0,n[o]=!0,r.default.forEach(t.outEdges(o),function(t){r.default.has(n,t.w)?e.push(t):a(t.w)}),delete n[o])}),e}(t);r.default.forEach(e,function(e){var n=t.edge(e);t.removeEdge(e),n.forwardName=e.name,n.reversed=!0,t.setEdge(e.w,e.v,n,r.default.uniqueId("rev"))})},undo:function(t){r.default.forEach(t.edges(),function(e){var n=t.edge(e);if(n.reversed){t.removeEdge(e);var r=n.forwardName;delete n.reversed,delete n.forwardName,t.setEdge(e.w,e.v,n,r)}})}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=m(n(0)),i=n(2),a=m(n(25)),o=m(n(22)),s=m(n(21)),u=n(1),c=m(u),l=m(n(19)),d=m(n(18)),f=m(n(17)),h=m(n(16)),_=m(n(15)),p=m(n(6));function m(t){return t&&t.__esModule?t:{default:t}}var y=["nodesep","edgesep","ranksep","marginx","marginy"],g={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},v=["acyclicer","ranker","rankdir","align"],M=["width","height"],b={width:0,height:0},k=["minlen","weight","width","height","labeloffset"],L={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},w=["labelpos"];function x(t,e){return r.default.mapValues(r.default.pick(t,e),Number)}function T(t){var e={};return r.default.forEach(t,function(t,n){e[n.toLowerCase()]=t}),e}e.default=function(t,e){var n=e&&e.debugTiming?c.default.time:c.default.notime;n("layout",function(){var e=n(" buildLayoutGraph",function(){return function(t){var e=new i.Graph({multigraph:!0,compound:!0}),n=T(t.graph());return e.setGraph(r.default.merge({},g,x(n,y),r.default.pick(n,v))),r.default.forEach(t.nodes(),function(n){var i=T(t.node(n));e.setNode(n,r.default.defaults(x(i,M),b)),e.setParent(n,t.parent(n))}),r.default.forEach(t.edges(),function(n){var i=T(t.edge(n));e.setEdge(n,r.default.merge({},L,x(i,k),r.default.pick(i,w)))}),e}(t)});n(" runLayout",function(){!function(t,e){e(" makeSpaceForEdgeLabels",function(){!function(t){var e=t.graph();e.ranksep/=2,r.default.forEach(t.edges(),function(n){var r=t.edge(n);r.minlen*=2,"c"!==r.labelpos.toLowerCase()&&("TB"===e.rankdir||"BT"===e.rankdir?r.width+=r.labeloffset:r.height+=r.labeloffset)})}(t)}),e(" removeSelfEdges",function(){!function(t){r.default.forEach(t.edges(),function(e){if(e.v===e.w){var n=t.node(e.v);n.selfEdges||(n.selfEdges=[]),n.selfEdges.push({e:e,label:t.edge(e)}),t.removeEdge(e)}})}(t)}),e(" acyclic",function(){a.default.run(t)}),e(" nestingGraph.run",function(){d.default.run(t)}),e(" rank",function(){(0,s.default)(c.default.asNonCompoundGraph(t))}),e(" injectEdgeLabelProxies",function(){!function(t){r.default.forEach(t.edges(),function(e){var n=t.edge(e);if(n.width&&n.height){var r=t.node(e.v),i={rank:(t.node(e.w).rank-r.rank)/2+r.rank,e:e};c.default.addDummyNode(t,"edge-proxy",i,"_ep")}})}(t)}),e(" removeEmptyRanks",function(){(0,u.removeEmptyRanks)(t)}),e(" nestingGraph.cleanup",function(){d.default.cleanup(t)}),e(" normalizeRanks",function(){(0,u.normalizeRanks)(t)}),e(" assignRankMinMax",function(){!function(t){var e=0;r.default.forEach(t.nodes(),function(n){var r=t.node(n);r.borderTop&&(r.minRank=t.node(r.borderTop).rank,r.maxRank=t.node(r.borderBottom).rank,e=Math.max(e,r.maxRank))}),t.graph().maxRank=e}(t)}),e(" removeEdgeLabelProxies",function(){!function(t){r.default.forEach(t.nodes(),function(e){var n=t.node(e);"edge-proxy"===n.dummy&&(t.edge(n.e).labelRank=n.rank,t.removeNode(e))})}(t)}),e(" normalize.run",function(){o.default.run(t)}),e(" parentDummyChains",function(){(0,l.default)(t)}),e(" addBorderSegments",function(){(0,f.default)(t)}),e(" order",function(){(0,_.default)(t)}),e(" insertSelfEdges",function(){!function(t){var e=c.default.buildLayerMatrix(t);r.default.forEach(e,function(e){var n=0;r.default.forEach(e,function(e,i){var a=t.node(e);a.order=i+n,r.default.forEach(a.selfEdges,function(e){c.default.addDummyNode(t,"selfedge",{width:e.label.width,height:e.label.height,rank:a.rank,order:i+ ++n,e:e.e,label:e.label},"_se")}),delete a.selfEdges})})}(t)}),e(" adjustCoordinateSystem",function(){h.default.adjust(t)}),e(" position",function(){(0,p.default)(t)}),e(" positionSelfEdges",function(){!function(t){r.default.forEach(t.nodes(),function(e){var n=t.node(e);if("selfedge"===n.dummy){var r=t.node(n.e.v),i=r.x+r.width/2,a=r.y,o=n.x-i,s=r.height/2;t.setEdge(n.e,n.label),t.removeNode(e),n.label.points=[{x:i+2*o/3,y:a-s},{x:i+5*o/6,y:a-s},{x:i+o,y:a},{x:i+5*o/6,y:a+s},{x:i+2*o/3,y:a+s}],n.label.x=n.x,n.label.y=n.y}})}(t)}),e(" removeBorderNodes",function(){!function(t){r.default.forEach(t.nodes(),function(e){if(t.children(e).length){var n=t.node(e),i=t.node(n.borderTop),a=t.node(n.borderBottom),o=t.node(r.default.last(n.borderLeft)),s=t.node(r.default.last(n.borderRight));n.width=Math.abs(s.x-o.x),n.height=Math.abs(a.y-i.y),n.x=o.x+n.width/2,n.y=i.y+n.height/2}}),r.default.forEach(t.nodes(),function(e){"border"===t.node(e).dummy&&t.removeNode(e)})}(t)}),e(" normalize.undo",function(){o.default.undo(t)}),e(" fixupEdgeLabelCoords",function(){!function(t){r.default.forEach(t.edges(),function(e){var n=t.edge(e);if(r.default.has(n,"x"))switch("l"!==n.labelpos&&"r"!==n.labelpos||(n.width-=n.labeloffset),n.labelpos){case"l":n.x-=n.width/2+n.labeloffset;break;case"r":n.x+=n.width/2+n.labeloffset}})}(t)}),e(" undoCoordinateSystem",function(){h.default.undo(t)}),e(" translateGraph",function(){!function(t){var e=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,a=0,o=t.graph(),s=o.marginx||0,u=o.marginy||0;function c(t){var r=t.x,o=t.y,s=t.width,u=t.height;e=Math.min(e,r-s/2),n=Math.max(n,r+s/2),i=Math.min(i,o-u/2),a=Math.max(a,o+u/2)}r.default.forEach(t.nodes(),function(e){c(t.node(e))}),r.default.forEach(t.edges(),function(e){var n=t.edge(e);r.default.has(n,"x")&&c(n)}),e-=s,i-=u,r.default.forEach(t.nodes(),function(n){var r=t.node(n);r.x-=e,r.y-=i}),r.default.forEach(t.edges(),function(n){var a=t.edge(n);r.default.forEach(a.points,function(t){t.x-=e,t.y-=i}),r.default.has(a,"x")&&(a.x-=e),r.default.has(a,"y")&&(a.y-=i)}),o.width=n-e+s,o.height=a-i+u}(t)}),e(" assignNodeIntersects",function(){!function(t){r.default.forEach(t.edges(),function(e){var n=t.edge(e),r=t.node(e.v),i=t.node(e.w),a=null,o=null;n.points?(a=n.points[0],o=n.points[n.points.length-1]):(n.points=[],a=i,o=r),n.points.unshift(c.default.intersectRect(r,a)),n.points.push(c.default.intersectRect(i,o))})}(t)}),e(" reversePoints",function(){!function(t){r.default.forEach(t.edges(),function(e){var n=t.edge(e);n.reversed&&n.points.reverse()})}(t)}),e(" acyclic.undo",function(){a.default.undo(t)})}(e,n)}),n(" updateInputGraph",function(){!function(t,e){r.default.forEach(t.nodes(),function(n){var r=t.node(n),i=e.node(n);r&&(r.x=i.x,r.y=i.y,e.children(n).length&&(r.width=i.width,r.height=i.height))}),r.default.forEach(t.edges(),function(n){var i=t.edge(n),a=e.edge(n);i.points=a.points,r.default.has(a,"x")&&(i.x=a.x,i.y=a.y)}),t.graph().width=e.graph().width,t.graph().height=e.graph().height}(t,e)})})}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,i=(r=n(26))&&r.__esModule?r:{default:r};e.default={layout:i.default}}])},function(t,e,n){"use strict";(function(t,r){var i=function(){var t=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},e=[1,4],n=[1,3],r=[1,5],i=[1,8,9,10,11,13,18,30,46,71,72,73,74,75,81,86,88,89,91,92,94,95,96,97,98],a=[2,2],o=[1,12],s=[1,13],u=[1,14],c=[1,15],l=[1,31],d=[1,33],f=[1,22],h=[1,34],_=[1,24],p=[1,25],m=[1,26],y=[1,27],g=[1,28],v=[1,38],M=[1,40],b=[1,35],k=[1,39],L=[1,45],w=[1,44],x=[1,36],T=[1,37],D=[1,41],Y=[1,42],S=[1,43],E=[1,8,9,10,11,13,18,30,32,46,71,72,73,74,75,81,86,88,89,91,92,94,95,96,97,98],A=[1,53],C=[1,52],j=[1,54],O=[1,72],H=[1,80],P=[1,81],F=[1,66],N=[1,65],B=[1,85],R=[1,84],I=[1,82],z=[1,83],W=[1,73],q=[1,68],U=[1,67],V=[1,63],$=[1,75],G=[1,76],J=[1,77],X=[1,78],Z=[1,79],K=[1,70],Q=[1,69],tt=[8,9,11],et=[8,9,11,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64],nt=[1,115],rt=[8,9,10,11,13,15,18,36,38,40,42,46,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,86,88,89,91,92,94,95,96,97,98],it=[8,9,10,11,12,13,15,16,17,18,30,32,36,37,38,39,40,41,42,43,46,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,71,72,73,74,75,78,81,84,86,88,89,91,92,94,95,96,97,98],at=[1,117],ot=[1,118],st=[8,9,10,11,13,18,30,32,46,71,72,73,74,75,81,86,88,89,91,92,94,95,96,97,98],ut=[8,9,10,11,12,13,15,16,17,18,30,32,37,39,41,43,46,50,51,52,53,54,56,57,58,59,60,61,62,63,64,65,71,72,73,74,75,78,81,84,86,88,89,91,92,94,95,96,97,98],ct=[13,18,46,81,86,88,89,91,92,94,95,96,97,98],lt=[13,18,46,49,65,81,86,88,89,91,92,94,95,96,97,98],dt=[1,191],ft=[1,188],ht=[1,195],_t=[1,192],pt=[1,189],mt=[1,196],yt=[1,186],gt=[1,187],vt=[1,190],Mt=[1,193],bt=[1,194],kt=[1,213],Lt=[8,9,11,86],wt=[8,9,10,11,46,71,80,81,84,86,88,89,90,91,92],xt={trace:function(){},yy:{},symbols_:{error:2,mermaidDoc:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,DIR:13,FirstStmtSeperator:14,TAGEND:15,TAGSTART:16,UP:17,DOWN:18,ending:19,endToken:20,spaceList:21,spaceListNewline:22,verticeStatement:23,separator:24,styleStatement:25,linkStyleStatement:26,classDefStatement:27,classStatement:28,clickStatement:29,subgraph:30,text:31,end:32,vertex:33,link:34,alphaNum:35,SQS:36,SQE:37,PS:38,PE:39,"(-":40,"-)":41,DIAMOND_START:42,DIAMOND_STOP:43,alphaNumStatement:44,alphaNumToken:45,MINUS:46,linkStatement:47,arrowText:48,TESTSTR:49,"--":50,ARROW_POINT:51,ARROW_CIRCLE:52,ARROW_CROSS:53,ARROW_OPEN:54,"-.":55,DOTTED_ARROW_POINT:56,DOTTED_ARROW_CIRCLE:57,DOTTED_ARROW_CROSS:58,DOTTED_ARROW_OPEN:59,"==":60,THICK_ARROW_POINT:61,THICK_ARROW_CIRCLE:62,THICK_ARROW_CROSS:63,THICK_ARROW_OPEN:64,PIPE:65,textToken:66,STR:67,commentText:68,commentToken:69,keywords:70,STYLE:71,LINKSTYLE:72,CLASSDEF:73,CLASS:74,CLICK:75,textNoTags:76,textNoTagsToken:77,DEFAULT:78,stylesOpt:79,HEX:80,NUM:81,INTERPOLATE:82,commentStatement:83,PCT:84,style:85,COMMA:86,styleComponent:87,ALPHA:88,COLON:89,UNIT:90,BRKT:91,DOT:92,graphCodeTokens:93,PUNCTUATION:94,UNICODE_TEXT:95,PLUS:96,EQUALS:97,MULT:98,TAG_START:99,TAG_END:100,QUOTE:101,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"DIR",15:"TAGEND",16:"TAGSTART",17:"UP",18:"DOWN",30:"subgraph",32:"end",36:"SQS",37:"SQE",38:"PS",39:"PE",40:"(-",41:"-)",42:"DIAMOND_START",43:"DIAMOND_STOP",46:"MINUS",49:"TESTSTR",50:"--",51:"ARROW_POINT",52:"ARROW_CIRCLE",53:"ARROW_CROSS",54:"ARROW_OPEN",55:"-.",56:"DOTTED_ARROW_POINT",57:"DOTTED_ARROW_CIRCLE",58:"DOTTED_ARROW_CROSS",59:"DOTTED_ARROW_OPEN",60:"==",61:"THICK_ARROW_POINT",62:"THICK_ARROW_CIRCLE",63:"THICK_ARROW_CROSS",64:"THICK_ARROW_OPEN",65:"PIPE",67:"STR",71:"STYLE",72:"LINKSTYLE",73:"CLASSDEF",74:"CLASS",75:"CLICK",78:"DEFAULT",80:"HEX",81:"NUM",82:"INTERPOLATE",84:"PCT",86:"COMMA",88:"ALPHA",89:"COLON",90:"UNIT",91:"BRKT",92:"DOT",94:"PUNCTUATION",95:"UNICODE_TEXT",96:"PLUS",97:"EQUALS",98:"MULT",99:"TAG_START",100:"TAG_END",101:"QUOTE"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,4],[4,4],[4,4],[4,4],[4,4],[19,2],[19,1],[20,1],[20,1],[20,1],[14,1],[14,1],[14,2],[22,2],[22,2],[22,1],[22,1],[21,2],[21,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,5],[7,4],[24,1],[24,1],[24,1],[23,3],[23,1],[33,4],[33,5],[33,6],[33,7],[33,4],[33,5],[33,4],[33,5],[33,4],[33,5],[33,4],[33,5],[33,1],[33,2],[35,1],[35,2],[44,1],[44,1],[44,1],[44,1],[34,2],[34,3],[34,3],[34,1],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[48,3],[31,1],[31,2],[31,1],[68,1],[68,2],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[76,1],[76,2],[27,5],[27,5],[28,5],[29,5],[29,7],[29,5],[29,7],[25,5],[25,5],[26,5],[26,5],[26,9],[26,9],[26,7],[26,7],[83,3],[79,1],[79,3],[85,1],[85,2],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[69,1],[69,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[77,1],[77,1],[77,1],[77,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1]],performAction:function(t,e,n,r,i,a,o){var s=a.length-1;switch(i){case 2:this.$=[];break;case 3:a[s]!==[]&&a[s-1].push(a[s]),this.$=a[s-1];break;case 4:case 57:case 59:case 60:case 92:case 94:case 95:case 108:this.$=a[s];break;case 11:r.setDirection(a[s-1]),this.$=a[s-1];break;case 12:r.setDirection("LR"),this.$=a[s-1];break;case 13:r.setDirection("RL"),this.$=a[s-1];break;case 14:r.setDirection("BT"),this.$=a[s-1];break;case 15:r.setDirection("TB"),this.$=a[s-1];break;case 30:this.$=a[s-1];break;case 31:case 32:case 33:case 34:case 35:this.$=[];break;case 36:this.$=r.addSubGraph(a[s-1],a[s-3]);break;case 37:this.$=r.addSubGraph(a[s-1],void 0);break;case 41:r.addLink(a[s-2],a[s],a[s-1]),this.$=[a[s-2],a[s]];break;case 42:this.$=[a[s]];break;case 43:this.$=a[s-3],r.addVertex(a[s-3],a[s-1],"square");break;case 44:this.$=a[s-4],r.addVertex(a[s-4],a[s-2],"square");break;case 45:this.$=a[s-5],r.addVertex(a[s-5],a[s-2],"circle");break;case 46:this.$=a[s-6],r.addVertex(a[s-6],a[s-3],"circle");break;case 47:this.$=a[s-3],r.addVertex(a[s-3],a[s-1],"ellipse");break;case 48:this.$=a[s-4],r.addVertex(a[s-4],a[s-2],"ellipse");break;case 49:this.$=a[s-3],r.addVertex(a[s-3],a[s-1],"round");break;case 50:this.$=a[s-4],r.addVertex(a[s-4],a[s-2],"round");break;case 51:this.$=a[s-3],r.addVertex(a[s-3],a[s-1],"diamond");break;case 52:this.$=a[s-4],r.addVertex(a[s-4],a[s-2],"diamond");break;case 53:this.$=a[s-3],r.addVertex(a[s-3],a[s-1],"odd");break;case 54:this.$=a[s-4],r.addVertex(a[s-4],a[s-2],"odd");break;case 55:this.$=a[s],r.addVertex(a[s]);break;case 56:this.$=a[s-1],r.addVertex(a[s-1]);break;case 58:case 93:case 96:case 109:this.$=a[s-1]+""+a[s];break;case 61:this.$="v";break;case 62:this.$="-";break;case 63:a[s-1].text=a[s],this.$=a[s-1];break;case 64:case 65:a[s-2].text=a[s-1],this.$=a[s-2];break;case 66:this.$=a[s];break;case 67:this.$={type:"arrow",stroke:"normal",text:a[s-1]};break;case 68:this.$={type:"arrow_circle",stroke:"normal",text:a[s-1]};break;case 69:this.$={type:"arrow_cross",stroke:"normal",text:a[s-1]};break;case 70:this.$={type:"arrow_open",stroke:"normal",text:a[s-1]};break;case 71:this.$={type:"arrow",stroke:"dotted",text:a[s-1]};break;case 72:this.$={type:"arrow_circle",stroke:"dotted",text:a[s-1]};break;case 73:this.$={type:"arrow_cross",stroke:"dotted",text:a[s-1]};break;case 74:this.$={type:"arrow_open",stroke:"dotted",text:a[s-1]};break;case 75:this.$={type:"arrow",stroke:"thick",text:a[s-1]};break;case 76:this.$={type:"arrow_circle",stroke:"thick",text:a[s-1]};break;case 77:this.$={type:"arrow_cross",stroke:"thick",text:a[s-1]};break;case 78:this.$={type:"arrow_open",stroke:"thick",text:a[s-1]};break;case 79:this.$={type:"arrow",stroke:"normal"};break;case 80:this.$={type:"arrow_circle",stroke:"normal"};break;case 81:this.$={type:"arrow_cross",stroke:"normal"};break;case 82:this.$={type:"arrow_open",stroke:"normal"};break;case 83:this.$={type:"arrow",stroke:"dotted"};break;case 84:this.$={type:"arrow_circle",stroke:"dotted"};break;case 85:this.$={type:"arrow_cross",stroke:"dotted"};break;case 86:this.$={type:"arrow_open",stroke:"dotted"};break;case 87:this.$={type:"arrow",stroke:"thick"};break;case 88:this.$={type:"arrow_circle",stroke:"thick"};break;case 89:this.$={type:"arrow_cross",stroke:"thick"};break;case 90:this.$={type:"arrow_open",stroke:"thick"};break;case 91:this.$=a[s-1];break;case 110:case 111:this.$=a[s-4],r.addClass(a[s-2],a[s]);break;case 112:this.$=a[s-4],r.setClass(a[s-2],a[s]);break;case 113:this.$=a[s-4],r.setClickEvent(a[s-2],a[s],void 0,void 0);break;case 114:this.$=a[s-6],r.setClickEvent(a[s-4],a[s-2],void 0,a[s]);break;case 115:this.$=a[s-4],r.setClickEvent(a[s-2],void 0,a[s],void 0);break;case 116:this.$=a[s-6],r.setClickEvent(a[s-4],void 0,a[s-2],a[s]);break;case 117:this.$=a[s-4],r.addVertex(a[s-2],void 0,void 0,a[s]);break;case 118:case 119:case 120:this.$=a[s-4],r.updateLink(a[s-2],a[s]);break;case 121:case 122:this.$=a[s-8],r.updateLinkInterpolate(a[s-6],a[s-2]),r.updateLink(a[s-6],a[s]);break;case 123:case 124:this.$=a[s-6],r.updateLinkInterpolate(a[s-4],a[s]);break;case 126:this.$=[a[s]];break;case 127:a[s-2].push(a[s]),this.$=a[s-2];break;case 129:this.$=a[s-1]+a[s]}},table:[{3:1,4:2,9:e,10:n,12:r},{1:[3]},t(i,a,{5:6}),{4:7,9:e,10:n,12:r},{4:8,9:e,10:n,12:r},{10:[1,9]},{1:[2,1],6:10,7:11,8:o,9:s,10:u,11:c,13:l,18:d,23:16,25:17,26:18,27:19,28:20,29:21,30:f,33:23,35:29,44:30,45:32,46:h,71:_,72:p,73:m,74:y,75:g,81:v,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},t(i,[2,9]),t(i,[2,10]),{13:[1,46],15:[1,47],16:[1,48],17:[1,49],18:[1,50]},t(E,[2,3]),t(E,[2,4]),t(E,[2,5]),t(E,[2,6]),t(E,[2,7]),t(E,[2,8]),{8:A,9:C,11:j,24:51},{8:A,9:C,11:j,24:55},{8:A,9:C,11:j,24:56},{8:A,9:C,11:j,24:57},{8:A,9:C,11:j,24:58},{8:A,9:C,11:j,24:59},{8:A,9:C,10:O,11:j,12:H,13:P,15:F,16:N,17:B,18:R,24:61,30:I,31:60,32:z,45:71,46:W,50:q,60:U,66:62,67:V,70:74,71:$,72:G,73:J,74:X,75:Z,77:64,78:K,81:v,84:Q,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},t(tt,[2,42],{34:86,47:87,50:[1,88],51:[1,91],52:[1,92],53:[1,93],54:[1,94],55:[1,89],56:[1,95],57:[1,96],58:[1,97],59:[1,98],60:[1,90],61:[1,99],62:[1,100],63:[1,101],64:[1,102]}),{10:[1,103]},{10:[1,104]},{10:[1,105]},{10:[1,106]},{10:[1,107]},t(et,[2,55],{45:32,21:113,44:114,10:nt,13:l,15:[1,112],18:d,36:[1,108],38:[1,109],40:[1,110],42:[1,111],46:h,81:v,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S}),t(rt,[2,57]),t(rt,[2,59]),t(rt,[2,60]),t(rt,[2,61]),t(rt,[2,62]),t(it,[2,154]),t(it,[2,155]),t(it,[2,156]),t(it,[2,157]),t(it,[2,158]),t(it,[2,159]),t(it,[2,160]),t(it,[2,161]),t(it,[2,162]),t(it,[2,163]),t(it,[2,164]),{8:at,9:ot,10:nt,14:116,21:119},{8:at,9:ot,10:nt,14:120,21:119},{8:at,9:ot,10:nt,14:121,21:119},{8:at,9:ot,10:nt,14:122,21:119},{8:at,9:ot,10:nt,14:123,21:119},t(E,[2,30]),t(E,[2,38]),t(E,[2,39]),t(E,[2,40]),t(E,[2,31]),t(E,[2,32]),t(E,[2,33]),t(E,[2,34]),t(E,[2,35]),{8:A,9:C,10:O,11:j,12:H,13:P,15:F,16:N,17:B,18:R,24:124,30:I,32:z,45:71,46:W,50:q,60:U,66:125,70:74,71:$,72:G,73:J,74:X,75:Z,77:64,78:K,81:v,84:Q,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},t(st,a,{5:126}),t(ut,[2,92]),t(ut,[2,94]),t(ut,[2,143]),t(ut,[2,144]),t(ut,[2,145]),t(ut,[2,146]),t(ut,[2,147]),t(ut,[2,148]),t(ut,[2,149]),t(ut,[2,150]),t(ut,[2,151]),t(ut,[2,152]),t(ut,[2,153]),t(ut,[2,97]),t(ut,[2,98]),t(ut,[2,99]),t(ut,[2,100]),t(ut,[2,101]),t(ut,[2,102]),t(ut,[2,103]),t(ut,[2,104]),t(ut,[2,105]),t(ut,[2,106]),t(ut,[2,107]),{13:l,18:d,33:127,35:29,44:30,45:32,46:h,81:v,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},t(ct,[2,66],{48:128,49:[1,129],65:[1,130]}),{10:O,12:H,13:P,15:F,16:N,17:B,18:R,30:I,31:131,32:z,45:71,46:W,50:q,60:U,66:62,67:V,70:74,71:$,72:G,73:J,74:X,75:Z,77:64,78:K,81:v,84:Q,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},{10:O,12:H,13:P,15:F,16:N,17:B,18:R,30:I,31:132,32:z,45:71,46:W,50:q,60:U,66:62,67:V,70:74,71:$,72:G,73:J,74:X,75:Z,77:64,78:K,81:v,84:Q,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},{10:O,12:H,13:P,15:F,16:N,17:B,18:R,30:I,31:133,32:z,45:71,46:W,50:q,60:U,66:62,67:V,70:74,71:$,72:G,73:J,74:X,75:Z,77:64,78:K,81:v,84:Q,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},t(lt,[2,79]),t(lt,[2,80]),t(lt,[2,81]),t(lt,[2,82]),t(lt,[2,83]),t(lt,[2,84]),t(lt,[2,85]),t(lt,[2,86]),t(lt,[2,87]),t(lt,[2,88]),t(lt,[2,89]),t(lt,[2,90]),{13:l,18:d,35:134,44:30,45:32,46:h,80:[1,135],81:v,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},{78:[1,136],81:[1,137]},{13:l,18:d,35:139,44:30,45:32,46:h,78:[1,138],81:v,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},{13:l,18:d,35:140,44:30,45:32,46:h,81:v,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},{13:l,18:d,35:141,44:30,45:32,46:h,81:v,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},{10:O,12:H,13:P,15:F,16:N,17:B,18:R,30:I,31:142,32:z,45:71,46:W,50:q,60:U,66:62,67:V,70:74,71:$,72:G,73:J,74:X,75:Z,77:64,78:K,81:v,84:Q,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},{10:O,12:H,13:P,15:F,16:N,17:B,18:R,30:I,31:144,32:z,38:[1,143],45:71,46:W,50:q,60:U,66:62,67:V,70:74,71:$,72:G,73:J,74:X,75:Z,77:64,78:K,81:v,84:Q,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},{10:O,12:H,13:P,15:F,16:N,17:B,18:R,30:I,31:145,32:z,45:71,46:W,50:q,60:U,66:62,67:V,70:74,71:$,72:G,73:J,74:X,75:Z,77:64,78:K,81:v,84:Q,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},{10:O,12:H,13:P,15:F,16:N,17:B,18:R,30:I,31:146,32:z,45:71,46:W,50:q,60:U,66:62,67:V,70:74,71:$,72:G,73:J,74:X,75:Z,77:64,78:K,81:v,84:Q,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},{10:O,12:H,13:P,15:F,16:N,17:B,18:R,30:I,31:147,32:z,45:71,46:W,50:q,60:U,66:62,67:V,70:74,71:$,72:G,73:J,74:X,75:Z,77:64,78:K,81:v,84:Q,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},t(et,[2,56]),t(rt,[2,58]),t(et,[2,29],{21:148,10:nt}),t(i,[2,11]),t(i,[2,21]),t(i,[2,22]),{9:[1,149]},t(i,[2,12]),t(i,[2,13]),t(i,[2,14]),t(i,[2,15]),t(st,a,{5:150}),t(ut,[2,93]),{6:10,7:11,8:o,9:s,10:u,11:c,13:l,18:d,23:16,25:17,26:18,27:19,28:20,29:21,30:f,32:[1,151],33:23,35:29,44:30,45:32,46:h,71:_,72:p,73:m,74:y,75:g,81:v,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},t(tt,[2,41]),t(ct,[2,63],{10:[1,152]}),{10:[1,153]},{10:O,12:H,13:P,15:F,16:N,17:B,18:R,30:I,31:154,32:z,45:71,46:W,50:q,60:U,66:62,67:V,70:74,71:$,72:G,73:J,74:X,75:Z,77:64,78:K,81:v,84:Q,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},{10:O,12:H,13:P,15:F,16:N,17:B,18:R,30:I,32:z,45:71,46:W,50:q,51:[1,155],52:[1,156],53:[1,157],54:[1,158],60:U,66:125,70:74,71:$,72:G,73:J,74:X,75:Z,77:64,78:K,81:v,84:Q,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},{10:O,12:H,13:P,15:F,16:N,17:B,18:R,30:I,32:z,45:71,46:W,50:q,56:[1,159],57:[1,160],58:[1,161],59:[1,162],60:U,66:125,70:74,71:$,72:G,73:J,74:X,75:Z,77:64,78:K,81:v,84:Q,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},{10:O,12:H,13:P,15:F,16:N,17:B,18:R,30:I,32:z,45:71,46:W,50:q,60:U,61:[1,163],62:[1,164],63:[1,165],64:[1,166],66:125,70:74,71:$,72:G,73:J,74:X,75:Z,77:64,78:K,81:v,84:Q,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},{10:[1,167],13:l,18:d,44:114,45:32,46:h,81:v,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},{10:[1,168]},{10:[1,169]},{10:[1,170]},{10:[1,171]},{10:[1,172],13:l,18:d,44:114,45:32,46:h,81:v,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},{10:[1,173],13:l,18:d,44:114,45:32,46:h,81:v,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},{10:[1,174],13:l,18:d,44:114,45:32,46:h,81:v,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},{10:O,12:H,13:P,15:F,16:N,17:B,18:R,30:I,32:z,37:[1,175],45:71,46:W,50:q,60:U,66:125,70:74,71:$,72:G,73:J,74:X,75:Z,77:64,78:K,81:v,84:Q,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},{10:O,12:H,13:P,15:F,16:N,17:B,18:R,30:I,31:176,32:z,45:71,46:W,50:q,60:U,66:62,67:V,70:74,71:$,72:G,73:J,74:X,75:Z,77:64,78:K,81:v,84:Q,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},{10:O,12:H,13:P,15:F,16:N,17:B,18:R,30:I,32:z,39:[1,177],45:71,46:W,50:q,60:U,66:125,70:74,71:$,72:G,73:J,74:X,75:Z,77:64,78:K,81:v,84:Q,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},{10:O,12:H,13:P,15:F,16:N,17:B,18:R,30:I,32:z,41:[1,178],45:71,46:W,50:q,60:U,66:125,70:74,71:$,72:G,73:J,74:X,75:Z,77:64,78:K,81:v,84:Q,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},{10:O,12:H,13:P,15:F,16:N,17:B,18:R,30:I,32:z,43:[1,179],45:71,46:W,50:q,60:U,66:125,70:74,71:$,72:G,73:J,74:X,75:Z,77:64,78:K,81:v,84:Q,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},{10:O,12:H,13:P,15:F,16:N,17:B,18:R,30:I,32:z,37:[1,180],45:71,46:W,50:q,60:U,66:125,70:74,71:$,72:G,73:J,74:X,75:Z,77:64,78:K,81:v,84:Q,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},t(et,[2,28]),t(i,[2,23]),{6:10,7:11,8:o,9:s,10:u,11:c,13:l,18:d,23:16,25:17,26:18,27:19,28:20,29:21,30:f,32:[1,181],33:23,35:29,44:30,45:32,46:h,71:_,72:p,73:m,74:y,75:g,81:v,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},t(E,[2,37]),t(ct,[2,65]),t(ct,[2,64]),{10:O,12:H,13:P,15:F,16:N,17:B,18:R,30:I,32:z,45:71,46:W,50:q,60:U,65:[1,182],66:125,70:74,71:$,72:G,73:J,74:X,75:Z,77:64,78:K,81:v,84:Q,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},t(ct,[2,67]),t(ct,[2,68]),t(ct,[2,69]),t(ct,[2,70]),t(ct,[2,71]),t(ct,[2,72]),t(ct,[2,73]),t(ct,[2,74]),t(ct,[2,75]),t(ct,[2,76]),t(ct,[2,77]),t(ct,[2,78]),{10:dt,46:ft,71:ht,79:183,80:_t,81:pt,84:mt,85:184,87:185,88:yt,89:gt,90:vt,91:Mt,92:bt},{10:dt,46:ft,71:ht,79:197,80:_t,81:pt,84:mt,85:184,87:185,88:yt,89:gt,90:vt,91:Mt,92:bt},{10:dt,46:ft,71:ht,79:198,80:_t,81:pt,82:[1,199],84:mt,85:184,87:185,88:yt,89:gt,90:vt,91:Mt,92:bt},{10:dt,46:ft,71:ht,79:200,80:_t,81:pt,82:[1,201],84:mt,85:184,87:185,88:yt,89:gt,90:vt,91:Mt,92:bt},{10:dt,46:ft,71:ht,79:202,80:_t,81:pt,84:mt,85:184,87:185,88:yt,89:gt,90:vt,91:Mt,92:bt},{10:dt,46:ft,71:ht,79:203,80:_t,81:pt,84:mt,85:184,87:185,88:yt,89:gt,90:vt,91:Mt,92:bt},{13:l,18:d,35:204,44:30,45:32,46:h,81:v,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},{13:l,18:d,35:205,44:30,45:32,46:h,67:[1,206],81:v,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},t(et,[2,43],{21:207,10:nt}),{10:O,12:H,13:P,15:F,16:N,17:B,18:R,30:I,32:z,39:[1,208],45:71,46:W,50:q,60:U,66:125,70:74,71:$,72:G,73:J,74:X,75:Z,77:64,78:K,81:v,84:Q,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},t(et,[2,49],{21:209,10:nt}),t(et,[2,47],{21:210,10:nt}),t(et,[2,51],{21:211,10:nt}),t(et,[2,53],{21:212,10:nt}),t(E,[2,36]),t([10,13,18,46,81,86,88,89,91,92,94,95,96,97,98],[2,91]),t(tt,[2,117],{86:kt}),t(Lt,[2,126],{87:214,10:dt,46:ft,71:ht,80:_t,81:pt,84:mt,88:yt,89:gt,90:vt,91:Mt,92:bt}),t(wt,[2,128]),t(wt,[2,130]),t(wt,[2,131]),t(wt,[2,132]),t(wt,[2,133]),t(wt,[2,134]),t(wt,[2,135]),t(wt,[2,136]),t(wt,[2,137]),t(wt,[2,138]),t(wt,[2,139]),t(wt,[2,140]),t(tt,[2,118],{86:kt}),t(tt,[2,119],{86:kt}),{10:[1,215]},t(tt,[2,120],{86:kt}),{10:[1,216]},t(tt,[2,110],{86:kt}),t(tt,[2,111],{86:kt}),t(tt,[2,112],{45:32,44:114,13:l,18:d,46:h,81:v,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S}),t(tt,[2,113],{45:32,44:114,10:[1,217],13:l,18:d,46:h,81:v,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S}),t(tt,[2,115],{10:[1,218]}),t(et,[2,44]),{39:[1,219]},t(et,[2,50]),t(et,[2,48]),t(et,[2,52]),t(et,[2,54]),{10:dt,46:ft,71:ht,80:_t,81:pt,84:mt,85:220,87:185,88:yt,89:gt,90:vt,91:Mt,92:bt},t(wt,[2,129]),{13:l,18:d,35:221,44:30,45:32,46:h,81:v,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},{13:l,18:d,35:222,44:30,45:32,46:h,81:v,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},{67:[1,223]},{67:[1,224]},t(et,[2,45],{21:225,10:nt}),t(Lt,[2,127],{87:214,10:dt,46:ft,71:ht,80:_t,81:pt,84:mt,88:yt,89:gt,90:vt,91:Mt,92:bt}),t(tt,[2,123],{45:32,44:114,10:[1,226],13:l,18:d,46:h,81:v,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S}),t(tt,[2,124],{45:32,44:114,10:[1,227],13:l,18:d,46:h,81:v,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S}),t(tt,[2,114]),t(tt,[2,116]),t(et,[2,46]),{10:dt,46:ft,71:ht,79:228,80:_t,81:pt,84:mt,85:184,87:185,88:yt,89:gt,90:vt,91:Mt,92:bt},{10:dt,46:ft,71:ht,79:229,80:_t,81:pt,84:mt,85:184,87:185,88:yt,89:gt,90:vt,91:Mt,92:bt},t(tt,[2,121],{86:kt}),t(tt,[2,122],{86:kt})],defaultActions:{},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=this,n=[0],r=[],i=[null],a=[],o=this.table,s="",u=0,c=0,l=0,d=1,f=a.slice.call(arguments,1),h=Object.create(this.lexer),_={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(_.yy[p]=this.yy[p]);h.setInput(t,_.yy),_.yy.lexer=h,_.yy.parser=this,void 0===h.yylloc&&(h.yylloc={});var m=h.yylloc;a.push(m);var y=h.options&&h.options.ranges;"function"==typeof _.yy.parseError?this.parseError=_.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var g,v,M,b,k,L,w,x,T,D,Y={};;){if(M=n[n.length-1],this.defaultActions[M]?b=this.defaultActions[M]:(null!==g&&void 0!==g||(D=void 0,"number"!=typeof(D=r.pop()||h.lex()||d)&&(D instanceof Array&&(D=(r=D).pop()),D=e.symbols_[D]||D),g=D),b=o[M]&&o[M][g]),void 0===b||!b.length||!b[0]){var S="";for(L in T=[],o[M])this.terminals_[L]&&L>2&&T.push("'"+this.terminals_[L]+"'");S=h.showPosition?"Parse error on line "+(u+1)+":\n"+h.showPosition()+"\nExpecting "+T.join(", ")+", got '"+(this.terminals_[g]||g)+"'":"Parse error on line "+(u+1)+": Unexpected "+(g==d?"end of input":"'"+(this.terminals_[g]||g)+"'"),this.parseError(S,{text:h.match,token:this.terminals_[g]||g,line:h.yylineno,loc:m,expected:T})}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+M+", token: "+g);switch(b[0]){case 1:n.push(g),i.push(h.yytext),a.push(h.yylloc),n.push(b[1]),g=null,v?(g=v,v=null):(c=h.yyleng,s=h.yytext,u=h.yylineno,m=h.yylloc,l>0&&l--);break;case 2:if(w=this.productions_[b[1]][1],Y.$=i[i.length-w],Y._$={first_line:a[a.length-(w||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(w||1)].first_column,last_column:a[a.length-1].last_column},y&&(Y._$.range=[a[a.length-(w||1)].range[0],a[a.length-1].range[1]]),void 0!==(k=this.performAction.apply(Y,[s,c,u,_.yy,b[1],i,a].concat(f))))return k;w&&(n=n.slice(0,-1*w*2),i=i.slice(0,-1*w),a=a.slice(0,-1*w)),n.push(this.productions_[b[1]][0]),i.push(Y.$),a.push(Y._$),x=o[n[n.length-2]][n[n.length-1]],n.push(x);break;case 3:return!0}}return!0}},Tt={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(t,e,n,r){switch(n){case 0:break;case 1:this.begin("string");break;case 2:this.popState();break;case 3:return"STR";case 4:return 71;case 5:return 78;case 6:return 72;case 7:return 82;case 8:return 73;case 9:return 74;case 10:return 75;case 11:return 12;case 12:return 30;case 13:return 32;case 14:case 15:case 16:case 17:case 18:case 19:return 13;case 20:return 81;case 21:return 91;case 22:return 89;case 23:return 8;case 24:return 86;case 25:return 98;case 26:return 16;case 27:return 15;case 28:return 17;case 29:return 18;case 30:return 53;case 31:return 51;case 32:return 52;case 33:return 54;case 34:return 58;case 35:return 56;case 36:return 57;case 37:return 59;case 38:return 58;case 39:return 56;case 40:return 57;case 41:return 59;case 42:return 63;case 43:return 61;case 44:return 62;case 45:return 64;case 46:return 50;case 47:return 55;case 48:return 60;case 49:return 40;case 50:return 41;case 51:return 46;case 52:return 92;case 53:return 96;case 54:return 84;case 55:case 56:return 97;case 57:return 88;case 58:return 94;case 59:return 95;case 60:return 65;case 61:return 38;case 62:return 39;case 63:return 36;case 64:return 37;case 65:return 42;case 66:return 43;case 67:return 101;case 68:return 9;case 69:return 10;case 70:return 11}},rules:[/^(?:%%[^\n]*)/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:\s*--[x]\s*)/,/^(?:\s*-->\s*)/,/^(?:\s*--[o]\s*)/,/^(?:\s*---\s*)/,/^(?:\s*-\.-[x]\s*)/,/^(?:\s*-\.->\s*)/,/^(?:\s*-\.-[o]\s*)/,/^(?:\s*-\.-\s*)/,/^(?:\s*.-[x]\s*)/,/^(?:\s*\.->\s*)/,/^(?:\s*\.-[o]\s*)/,/^(?:\s*\.-\s*)/,/^(?:\s*==[x]\s*)/,/^(?:\s*==>\s*)/,/^(?:\s*==[o]\s*)/,/^(?:\s*==[\=]\s*)/,/^(?:\s*--\s*)/,/^(?:\s*-\.\s*)/,/^(?:\s*==\s*)/,/^(?:\(-)/,/^(?:-\))/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:[A-Za-z]+)/,/^(?:[!"#$%&'*+,-.`?\\_\/])/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n+)/,/^(?:\s)/,/^(?:$)/],conditions:{string:{rules:[2,3],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70],inclusive:!0}}};function Dt(){this.yy={}}return xt.lexer=Tt,Dt.prototype=xt,xt.Parser=Dt,new Dt}();e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(r){r[1]||(console.log("Usage: "+r[0]+" FILE"),t.exit(1));var i=n(7).readFileSync(n(6).normalize(r[1]),"utf8");return e.parser.parse(i)},void 0!==r&&n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(this,n(5),n(4)(t))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getSubGraphs=e.indexNodes=e.getDepthFirstPos=e.addSubGraph=e.defaultStyle=e.clear=e.getClasses=e.getEdges=e.getVertices=e.getDirection=e.bindFunctions=e.setClickEvent=e.getTooltip=e.setClass=e.setDirection=e.addClass=e.updateLink=e.updateLinkInterpolate=e.addLink=e.addVertex=void 0;var r,i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},a=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(n(3)),o=n(2),s=n(10),u=(r=s)&&r.__esModule?r:{default:r};var c={},l=[],d=[],f=[],h={},_=0,p=void 0,m=[],y=e.addVertex=function(t,e,n,r){var i=void 0;void 0!==t&&0!==t.trim().length&&(void 0===c[t]&&(c[t]={id:t,styles:[],classes:[]}),void 0!==e&&('"'===(i=e.trim())[0]&&'"'===i[i.length-1]&&(i=i.substring(1,i.length-1)),c[t].text=i),void 0!==n&&(c[t].type=n),void 0!==n&&(c[t].type=n),void 0!==r&&null!==r&&r.forEach(function(e){c[t].styles.push(e)}))},g=e.addLink=function(t,e,n,r){o.logger.info("Got edge...",t,e);var i={start:t,end:e,type:void 0,text:""};void 0!==(r=n.text)&&(i.text=r.trim(),'"'===i.text[0]&&'"'===i.text[i.text.length-1]&&(i.text=i.text.substring(1,i.text.length-1))),void 0!==n&&(i.type=n.type,i.stroke=n.stroke),l.push(i)},v=e.updateLinkInterpolate=function(t,e){"default"===t?l.defaultInterpolate=e:l[t].interpolate=e},M=e.updateLink=function(t,e){"default"===t?l.defaultStyle=e:(-1===u.default.isSubstringInArray("fill",e)&&e.push("fill:none"),l[t].style=e)},b=e.addClass=function(t,e){void 0===d[t]&&(d[t]={id:t,styles:[]}),void 0!==e&&null!==e&&e.forEach(function(e){d[t].styles.push(e)})},k=e.setDirection=function(t){p=t},L=e.setClass=function(t,e){t.indexOf(",")>0?t.split(",").forEach(function(t){void 0!==c[t]&&c[t].classes.push(e)}):void 0!==c[t]&&c[t].classes.push(e)},w=function(t,e){void 0!==e&&(h[t]=e)},x=function(t,e){void 0!==e&&void 0!==c[t]&&m.push(function(n){var r=a.select(n).select('[id="'+t+'"]');null!==r&&r.on("click",function(){window[e](t)})})},T=function(t,e){void 0!==e&&void 0!==c[t]&&m.push(function(n){var r=a.select(n).select('[id="'+t+'"]');null!==r&&r.on("click",function(){window.open(e,"newTab")})})},D=e.getTooltip=function(t){return h[t]},Y=e.setClickEvent=function(t,e,n,r){t.indexOf(",")>0?t.split(",").forEach(function(i){w(i,r),x(i,e),T(i,n),L(t,"clickable")}):(w(t,r),x(t,e),T(t,n),L(t,"clickable"))},S=e.bindFunctions=function(t){m.forEach(function(e){e(t)})},E=e.getDirection=function(){return p},A=e.getVertices=function(){return c},C=e.getEdges=function(){return l},j=e.getClasses=function(){return d},O=function(t){var e=a.select(".mermaidTooltip");null===(e._groups||e)[0][0]&&(e=a.select("body").append("div").attr("class","mermaidTooltip").style("opacity",0)),a.select(t).select("svg").selectAll("g.node").on("mouseover",function(){var t=a.select(this);if(null!==t.attr("title")){var n=this.getBoundingClientRect();e.transition().duration(200).style("opacity",".9"),e.html(t.attr("title")).style("left",n.left+(n.right-n.left)/2+"px").style("top",n.top-14+document.body.scrollTop+"px"),t.classed("hover",!0)}}).on("mouseout",function(){e.transition().duration(500).style("opacity",0),a.select(this).classed("hover",!1)})};m.push(O);var H=e.clear=function(){c={},d={},l=[],(m=[]).push(O),f=[],_=0,h=[]},P=e.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},F=e.addSubGraph=function(t,e){var n,r,a,o=[];n=o.concat.apply(o,t),r={boolean:{},number:{},string:{}},a=[],o=n.filter(function(t){var e=void 0===t?"undefined":i(t);return""!==t.trim()&&(e in r?!r[e].hasOwnProperty(t)&&(r[e][t]=!0):!(a.indexOf(t)>=0)&&a.push(t))});var s={id:"subGraph"+_,nodes:o,title:e.trim()};return f.push(s),_+=1,s.id},N=function(t){for(var e=0;e<f.length;e++)if(f[e].id===t)return e;return-1},B=-1,R=[],I=e.getDepthFirstPos=function(t){return R[t]},z=e.indexNodes=function(){B=-1,f.length>0&&function t(e,n){var r=f[n].nodes;if(!((B+=1)>2e3)){if(R[B]=n,f[n].id===e)return{result:!0,count:0};for(var i=0,a=1;i<r.length;){var o=N(r[i]);if(o>=0){var s=t(e,o);if(s.result)return{result:!0,count:a+s.count};a+=s.count}i+=1}return{result:!1,count:a}}}("none",f.length-1)},W=e.getSubGraphs=function(){return f};e.default={addVertex:y,addLink:g,updateLinkInterpolate:v,updateLink:M,addClass:b,setDirection:k,setClass:L,getTooltip:D,setClickEvent:Y,bindFunctions:S,getDirection:E,getVertices:A,getEdges:C,getClasses:j,clear:H,defaultStyle:P,addSubGraph:F,getDepthFirstPos:I,indexNodes:z,getSubGraphs:W}},function(t,e,n){var r=n(1);t.exports=function(t,e,n){r.isArray(e)||(e=[e]);var i=(t.isDirected()?t.successors:t.neighbors).bind(t);const a=[],o={};return r.each(e,function(e){if(!t.hasNode(e))throw new Error("Graph does not have node: "+e);!function t(e,n,i,a,o,s){r.has(a,n)||(a[n]=!0,i||s.push(n),r.each(o(n),function(n){t(e,n,i,a,o,s)}),i&&s.push(n))}(t,e,"post"===n,o,i,a)}),a}},function(t,e,n){const r=n(1);function i(t){const e={},n={},i=[];if(r.each(t.sinks(),function o(s){if(r.has(n,s))throw new a;r.has(e,s)||(n[s]=!0,e[s]=!0,r.each(t.predecessors(s),o),delete n[s],i.push(s))}),r.size(e)!==t.nodeCount())throw new a;return i}function a(){}t.exports=i,i.CycleException=a,a.prototype=new Error},function(t,e,n){var r=n(1);t.exports=function(t){let e=0;const n=[],i={},a=[];return t.nodes().forEach(function(o){r.has(i,o)||function o(s){var u=i[s]={onStack:!0,lowlink:e,index:e++};if(n.push(s),t.successors(s).forEach(function(t){r.has(i,t)?i[t].onStack&&(u.lowlink=Math.min(u.lowlink,i[t].index)):(o(t),u.lowlink=Math.min(u.lowlink,i[t].lowlink))}),u.lowlink===u.index){const t=[];let e;do{e=n.pop(),i[e].onStack=!1,t.push(e)}while(s!==e);a.push(t)}}(o)}),a}},function(t,e,n){const r=n(1);function i(){this._arr=[],this._keyIndices={}}t.exports=i,i.prototype.size=function(){return this._arr.length},i.prototype.keys=function(){return this._arr.map(function(t){return t.key})},i.prototype.has=function(t){return r.has(this._keyIndices,t)},i.prototype.priority=function(t){var e=this._keyIndices[t];if(void 0!==e)return this._arr[e].priority},i.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},i.prototype.add=function(t,e){var n=this._keyIndices;if(t=String(t),!r.has(n,t)){var i=this._arr,a=i.length;return n[t]=a,i.push({key:t,priority:e}),this._decrease(a),!0}return!1},i.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var t=this._arr.pop();return delete this._keyIndices[t.key],this._heapify(0),t.key},i.prototype.decrease=function(t,e){var n=this._keyIndices[t];if(e>this._arr[n].priority)throw new Error("New priority is greater than current priority. Key: "+t+" Old: "+this._arr[n].priority+" New: "+e);this._arr[n].priority=e,this._decrease(n)},i.prototype._heapify=function(t){const e=this._arr,n=2*t,r=n+1;let i=t;n<e.length&&(i=e[n].priority<e[i].priority?n:i,r<e.length&&(i=e[r].priority<e[i].priority?r:i),i!==t&&(this._swap(t,i),this._heapify(i)))},i.prototype._decrease=function(t){for(var e,n=this._arr,r=n[t].priority;0!==t&&!(n[e=t>>1].priority<r);)this._swap(t,e),t=e},i.prototype._swap=function(t,e){var n=this._arr,r=this._keyIndices,i=n[t],a=n[e];n[t]=a,n[e]=i,r[a.key]=t,r[i.key]=e}},function(t,e,n){const r=n(1),i=n(27);t.exports=function(t,e,n,r){return function(t,e,n,r){const a={},o=new i;let s,u;var c=function(t){const e=t.v!==s?t.v:t.w,r=a[e],i=n(t),c=u.distance+i;if(i<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+t+" Weight: "+i);c<r.distance&&(r.distance=c,r.predecessor=s,o.decrease(e,c))};t.nodes().forEach(function(t){var n=t===e?0:Number.POSITIVE_INFINITY;a[t]={distance:n},o.add(t,n)});for(;o.size()>0&&(s=o.removeMin(),(u=a[s]).distance!==Number.POSITIVE_INFINITY);)r(s).forEach(c);return a}(t,String(e),n||a,r||function(e){return t.outEdges(e)})};var a=r.constant(1)},function(t,e,n){!function(t){"use strict";t.defineLocale("zh-tw",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_週六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日dddd HH:mm",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(t,e){return 12===t&&(t=0),"凌晨"===e||"早上"===e||"上午"===e?t:"中午"===e?t>=11?t:t+12:"下午"===e||"晚上"===e?t+12:void 0},meridiem:function(t,e,n){var r=100*t+e;return r<600?"凌晨":r<900?"早上":r<1130?"上午":r<1230?"中午":r<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|週)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"日";case"M":return t+"月";case"w":case"W":return t+"週";default:return t}},relativeTime:{future:"%s內",past:"%s前",s:"幾秒",ss:"%d 秒",m:"1 分鐘",mm:"%d 分鐘",h:"1 小時",hh:"%d 小時",d:"1 天",dd:"%d 天",M:"1 個月",MM:"%d 個月",y:"1 年",yy:"%d 年"}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("zh-hk",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_週六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日dddd HH:mm",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(t,e){return 12===t&&(t=0),"凌晨"===e||"早上"===e||"上午"===e?t:"中午"===e?t>=11?t:t+12:"下午"===e||"晚上"===e?t+12:void 0},meridiem:function(t,e,n){var r=100*t+e;return r<600?"凌晨":r<900?"早上":r<1130?"上午":r<1230?"中午":r<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|週)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"日";case"M":return t+"月";case"w":case"W":return t+"週";default:return t}},relativeTime:{future:"%s內",past:"%s前",s:"幾秒",ss:"%d 秒",m:"1 分鐘",mm:"%d 分鐘",h:"1 小時",hh:"%d 小時",d:"1 天",dd:"%d 天",M:"1 個月",MM:"%d 個月",y:"1 年",yy:"%d 年"}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("zh-cn",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日Ah点mm分",LLLL:"YYYY年M月D日ddddAh点mm分",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(t,e){return 12===t&&(t=0),"凌晨"===e||"早上"===e||"上午"===e?t:"下午"===e||"晚上"===e?t+12:t>=11?t:t+12},meridiem:function(t,e,n){var r=100*t+e;return r<600?"凌晨":r<900?"早上":r<1130?"上午":r<1230?"中午":r<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|周)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"日";case"M":return t+"月";case"w":case"W":return t+"周";default:return t}},relativeTime:{future:"%s内",past:"%s前",s:"几秒",ss:"%d 秒",m:"1 分钟",mm:"%d 分钟",h:"1 小时",hh:"%d 小时",d:"1 天",dd:"%d 天",M:"1 个月",MM:"%d 个月",y:"1 年",yy:"%d 年"},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("yo",{months:"Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀".split("_"),monthsShort:"Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀".split("_"),weekdays:"Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta".split("_"),weekdaysShort:"Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá".split("_"),weekdaysMin:"Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Ònì ni] LT",nextDay:"[Ọ̀la ni] LT",nextWeek:"dddd [Ọsẹ̀ tón'bọ] [ni] LT",lastDay:"[Àna ni] LT",lastWeek:"dddd [Ọsẹ̀ tólọ́] [ni] LT",sameElse:"L"},relativeTime:{future:"ní %s",past:"%s kọjá",s:"ìsẹjú aayá die",ss:"aayá %d",m:"ìsẹjú kan",mm:"ìsẹjú %d",h:"wákati kan",hh:"wákati %d",d:"ọjọ́ kan",dd:"ọjọ́ %d",M:"osù kan",MM:"osù %d",y:"ọdún kan",yy:"ọdún %d"},dayOfMonthOrdinalParse:/ọjọ́\s\d{1,2}/,ordinal:"ọjọ́ %d",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("x-pseudo",{months:"J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér".split("_"),monthsShort:"J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc".split("_"),monthsParseExact:!0,weekdays:"S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý".split("_"),weekdaysShort:"S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát".split("_"),weekdaysMin:"S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[T~ódá~ý át] LT",nextDay:"[T~ómó~rró~w át] LT",nextWeek:"dddd [át] LT",lastDay:"[Ý~ést~érdá~ý át] LT",lastWeek:"[L~ást] dddd [át] LT",sameElse:"L"},relativeTime:{future:"í~ñ %s",past:"%s á~gó",s:"á ~féw ~sécó~ñds",ss:"%d s~écóñ~ds",m:"á ~míñ~úté",mm:"%d m~íñú~tés",h:"á~ñ hó~úr",hh:"%d h~óúrs",d:"á ~dáý",dd:"%d d~áýs",M:"á ~móñ~th",MM:"%d m~óñt~hs",y:"á ~ýéár",yy:"%d ý~éárs"},dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,n=1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+n},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("vi",{months:"tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12".split("_"),monthsShort:"Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12".split("_"),monthsParseExact:!0,weekdays:"chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy".split("_"),weekdaysShort:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysMin:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysParseExact:!0,meridiemParse:/sa|ch/i,isPM:function(t){return/^ch$/i.test(t)},meridiem:function(t,e,n){return t<12?n?"sa":"SA":n?"ch":"CH"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [năm] YYYY",LLL:"D MMMM [năm] YYYY HH:mm",LLLL:"dddd, D MMMM [năm] YYYY HH:mm",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[Hôm nay lúc] LT",nextDay:"[Ngày mai lúc] LT",nextWeek:"dddd [tuần tới lúc] LT",lastDay:"[Hôm qua lúc] LT",lastWeek:"dddd [tuần rồi lúc] LT",sameElse:"L"},relativeTime:{future:"%s tới",past:"%s trước",s:"vài giây",ss:"%d giây",m:"một phút",mm:"%d phút",h:"một giờ",hh:"%d giờ",d:"một ngày",dd:"%d ngày",M:"một tháng",MM:"%d tháng",y:"một năm",yy:"%d năm"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(t){return t},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("uz-latn",{months:"Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr".split("_"),monthsShort:"Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek".split("_"),weekdays:"Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba".split("_"),weekdaysShort:"Yak_Dush_Sesh_Chor_Pay_Jum_Shan".split("_"),weekdaysMin:"Ya_Du_Se_Cho_Pa_Ju_Sha".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Bugun soat] LT [da]",nextDay:"[Ertaga] LT [da]",nextWeek:"dddd [kuni soat] LT [da]",lastDay:"[Kecha soat] LT [da]",lastWeek:"[O'tgan] dddd [kuni soat] LT [da]",sameElse:"L"},relativeTime:{future:"Yaqin %s ichida",past:"Bir necha %s oldin",s:"soniya",ss:"%d soniya",m:"bir daqiqa",mm:"%d daqiqa",h:"bir soat",hh:"%d soat",d:"bir kun",dd:"%d kun",M:"bir oy",MM:"%d oy",y:"bir yil",yy:"%d yil"},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("uz",{months:"январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр".split("_"),monthsShort:"янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек".split("_"),weekdays:"Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба".split("_"),weekdaysShort:"Якш_Душ_Сеш_Чор_Пай_Жум_Шан".split("_"),weekdaysMin:"Як_Ду_Се_Чо_Па_Жу_Ша".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Бугун соат] LT [да]",nextDay:"[Эртага] LT [да]",nextWeek:"dddd [куни соат] LT [да]",lastDay:"[Кеча соат] LT [да]",lastWeek:"[Утган] dddd [куни соат] LT [да]",sameElse:"L"},relativeTime:{future:"Якин %s ичида",past:"Бир неча %s олдин",s:"фурсат",ss:"%d фурсат",m:"бир дакика",mm:"%d дакика",h:"бир соат",hh:"%d соат",d:"бир кун",dd:"%d кун",M:"бир ой",MM:"%d ой",y:"бир йил",yy:"%d йил"},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";var e=["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر"],n=["اتوار","پیر","منگل","بدھ","جمعرات","جمعہ","ہفتہ"];t.defineLocale("ur",{months:e,monthsShort:e,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(t){return"شام"===t},meridiem:function(t,e,n){return t<12?"صبح":"شام"},calendar:{sameDay:"[آج بوقت] LT",nextDay:"[کل بوقت] LT",nextWeek:"dddd [بوقت] LT",lastDay:"[گذشتہ روز بوقت] LT",lastWeek:"[گذشتہ] dddd [بوقت] LT",sameElse:"L"},relativeTime:{future:"%s بعد",past:"%s قبل",s:"چند سیکنڈ",ss:"%d سیکنڈ",m:"ایک منٹ",mm:"%d منٹ",h:"ایک گھنٹہ",hh:"%d گھنٹے",d:"ایک دن",dd:"%d دن",M:"ایک ماہ",MM:"%d ماہ",y:"ایک سال",yy:"%d سال"},preparse:function(t){return t.replace(/،/g,",")},postformat:function(t){return t.replace(/,/g,"،")},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n){var r,i,a={ss:e?"секунда_секунди_секунд":"секунду_секунди_секунд",mm:e?"хвилина_хвилини_хвилин":"хвилину_хвилини_хвилин",hh:e?"година_години_годин":"годину_години_годин",dd:"день_дні_днів",MM:"місяць_місяці_місяців",yy:"рік_роки_років"};return"m"===n?e?"хвилина":"хвилину":"h"===n?e?"година":"годину":t+" "+(r=+t,i=a[n].split("_"),r%10==1&&r%100!=11?i[0]:r%10>=2&&r%10<=4&&(r%100<10||r%100>=20)?i[1]:i[2])}function n(t){return function(){return t+"о"+(11===this.hours()?"б":"")+"] LT"}}t.defineLocale("uk",{months:{format:"січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня".split("_"),standalone:"січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень".split("_")},monthsShort:"січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд".split("_"),weekdays:function(t,e){var n={nominative:"неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота".split("_"),accusative:"неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу".split("_"),genitive:"неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи".split("_")};if(!t)return n.nominative;var r=/(\[[ВвУу]\]) ?dddd/.test(e)?"accusative":/\[?(?:минулої|наступної)? ?\] ?dddd/.test(e)?"genitive":"nominative";return n[r][t.day()]},weekdaysShort:"нд_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY р.",LLL:"D MMMM YYYY р., HH:mm",LLLL:"dddd, D MMMM YYYY р., HH:mm"},calendar:{sameDay:n("[Сьогодні "),nextDay:n("[Завтра "),lastDay:n("[Вчора "),nextWeek:n("[У] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return n("[Минулої] dddd [").call(this);case 1:case 2:case 4:return n("[Минулого] dddd [").call(this)}},sameElse:"L"},relativeTime:{future:"за %s",past:"%s тому",s:"декілька секунд",ss:e,m:e,mm:e,h:"годину",hh:e,d:"день",dd:e,M:"місяць",MM:e,y:"рік",yy:e},meridiemParse:/ночі|ранку|дня|вечора/,isPM:function(t){return/^(дня|вечора)$/.test(t)},meridiem:function(t,e,n){return t<4?"ночі":t<12?"ранку":t<17?"дня":"вечора"},dayOfMonthOrdinalParse:/\d{1,2}-(й|го)/,ordinal:function(t,e){switch(e){case"M":case"d":case"DDD":case"w":case"W":return t+"-й";case"D":return t+"-го";default:return t}},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("ug-cn",{months:"يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر".split("_"),monthsShort:"يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر".split("_"),weekdays:"يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە".split("_"),weekdaysShort:"يە_دۈ_سە_چا_پە_جۈ_شە".split("_"),weekdaysMin:"يە_دۈ_سە_چا_پە_جۈ_شە".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY-يىلىM-ئاينىڭD-كۈنى",LLL:"YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm",LLLL:"dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm"},meridiemParse:/يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,meridiemHour:function(t,e){return 12===t&&(t=0),"يېرىم كېچە"===e||"سەھەر"===e||"چۈشتىن بۇرۇن"===e?t:"چۈشتىن كېيىن"===e||"كەچ"===e?t+12:t>=11?t:t+12},meridiem:function(t,e,n){var r=100*t+e;return r<600?"يېرىم كېچە":r<900?"سەھەر":r<1130?"چۈشتىن بۇرۇن":r<1230?"چۈش":r<1800?"چۈشتىن كېيىن":"كەچ"},calendar:{sameDay:"[بۈگۈن سائەت] LT",nextDay:"[ئەتە سائەت] LT",nextWeek:"[كېلەركى] dddd [سائەت] LT",lastDay:"[تۆنۈگۈن] LT",lastWeek:"[ئالدىنقى] dddd [سائەت] LT",sameElse:"L"},relativeTime:{future:"%s كېيىن",past:"%s بۇرۇن",s:"نەچچە سېكونت",ss:"%d سېكونت",m:"بىر مىنۇت",mm:"%d مىنۇت",h:"بىر سائەت",hh:"%d سائەت",d:"بىر كۈن",dd:"%d كۈن",M:"بىر ئاي",MM:"%d ئاي",y:"بىر يىل",yy:"%d يىل"},dayOfMonthOrdinalParse:/\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"-كۈنى";case"w":case"W":return t+"-ھەپتە";default:return t}},preparse:function(t){return t.replace(/،/g,",")},postformat:function(t){return t.replace(/,/g,"،")},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("tzm-latn",{months:"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),monthsShort:"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),weekdays:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),weekdaysShort:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),weekdaysMin:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[asdkh g] LT",nextDay:"[aska g] LT",nextWeek:"dddd [g] LT",lastDay:"[assant g] LT",lastWeek:"dddd [g] LT",sameElse:"L"},relativeTime:{future:"dadkh s yan %s",past:"yan %s",s:"imik",ss:"%d imik",m:"minuḍ",mm:"%d minuḍ",h:"saɛa",hh:"%d tassaɛin",d:"ass",dd:"%d ossan",M:"ayowr",MM:"%d iyyirn",y:"asgas",yy:"%d isgasn"},week:{dow:6,doy:12}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("tzm",{months:"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),monthsShort:"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),weekdays:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),weekdaysShort:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),weekdaysMin:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[ⴰⵙⴷⵅ ⴴ] LT",nextDay:"[ⴰⵙⴽⴰ ⴴ] LT",nextWeek:"dddd [ⴴ] LT",lastDay:"[ⴰⵚⴰⵏⵜ ⴴ] LT",lastWeek:"dddd [ⴴ] LT",sameElse:"L"},relativeTime:{future:"ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s",past:"ⵢⴰⵏ %s",s:"ⵉⵎⵉⴽ",ss:"%d ⵉⵎⵉⴽ",m:"ⵎⵉⵏⵓⴺ",mm:"%d ⵎⵉⵏⵓⴺ",h:"ⵙⴰⵄⴰ",hh:"%d ⵜⴰⵙⵙⴰⵄⵉⵏ",d:"ⴰⵙⵙ",dd:"%d oⵙⵙⴰⵏ",M:"ⴰⵢoⵓⵔ",MM:"%d ⵉⵢⵢⵉⵔⵏ",y:"ⴰⵙⴳⴰⵙ",yy:"%d ⵉⵙⴳⴰⵙⵏ"},week:{dow:6,doy:12}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n,r){var i={s:["viensas secunds","'iensas secunds"],ss:[t+" secunds",t+" secunds"],m:["'n míut","'iens míut"],mm:[t+" míuts",t+" míuts"],h:["'n þora","'iensa þora"],hh:[t+" þoras",t+" þoras"],d:["'n ziua","'iensa ziua"],dd:[t+" ziuas",t+" ziuas"],M:["'n mes","'iens mes"],MM:[t+" mesen",t+" mesen"],y:["'n ar","'iens ar"],yy:[t+" ars",t+" ars"]};return r?i[n][0]:e?i[n][0]:i[n][1]}t.defineLocale("tzl",{months:"Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar".split("_"),monthsShort:"Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec".split("_"),weekdays:"Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi".split("_"),weekdaysShort:"Súl_Lún_Mai_Már_Xhú_Vié_Sát".split("_"),weekdaysMin:"Sú_Lú_Ma_Má_Xh_Vi_Sá".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"D. MMMM [dallas] YYYY",LLL:"D. MMMM [dallas] YYYY HH.mm",LLLL:"dddd, [li] D. MMMM [dallas] YYYY HH.mm"},meridiemParse:/d\'o|d\'a/i,isPM:function(t){return"d'o"===t.toLowerCase()},meridiem:function(t,e,n){return t>11?n?"d'o":"D'O":n?"d'a":"D'A"},calendar:{sameDay:"[oxhi à] LT",nextDay:"[demà à] LT",nextWeek:"dddd [à] LT",lastDay:"[ieiri à] LT",lastWeek:"[sür el] dddd [lasteu à] LT",sameElse:"L"},relativeTime:{future:"osprei %s",past:"ja%s",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'üncü",4:"'üncü",100:"'üncü",6:"'ncı",9:"'uncu",10:"'uncu",30:"'uncu",60:"'ıncı",90:"'ıncı"};t.defineLocale("tr",{months:"Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık".split("_"),monthsShort:"Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara".split("_"),weekdays:"Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pts_Sal_Çar_Per_Cum_Cts".split("_"),weekdaysMin:"Pz_Pt_Sa_Ça_Pe_Cu_Ct".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[yarın saat] LT",nextWeek:"[gelecek] dddd [saat] LT",lastDay:"[dün] LT",lastWeek:"[geçen] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s önce",s:"birkaç saniye",ss:"%d saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir yıl",yy:"%d yıl"},ordinal:function(t,n){switch(n){case"d":case"D":case"Do":case"DD":return t;default:if(0===t)return t+"'ıncı";var r=t%10,i=t%100-r,a=t>=100?100:null;return t+(e[r]||e[i]||e[a])}},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";var e="pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut".split("_");function n(t,n,r,i){var a=function(t){var n=Math.floor(t%1e3/100),r=Math.floor(t%100/10),i=t%10,a="";return n>0&&(a+=e[n]+"vatlh"),r>0&&(a+=(""!==a?" ":"")+e[r]+"maH"),i>0&&(a+=(""!==a?" ":"")+e[i]),""===a?"pagh":a}(t);switch(r){case"ss":return a+" lup";case"mm":return a+" tup";case"hh":return a+" rep";case"dd":return a+" jaj";case"MM":return a+" jar";case"yy":return a+" DIS"}}t.defineLocale("tlh",{months:"tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’".split("_"),monthsShort:"jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’".split("_"),monthsParseExact:!0,weekdays:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysShort:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysMin:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[DaHjaj] LT",nextDay:"[wa’leS] LT",nextWeek:"LLL",lastDay:"[wa’Hu’] LT",lastWeek:"LLL",sameElse:"L"},relativeTime:{future:function(t){var e=t;return e=-1!==t.indexOf("jaj")?e.slice(0,-3)+"leS":-1!==t.indexOf("jar")?e.slice(0,-3)+"waQ":-1!==t.indexOf("DIS")?e.slice(0,-3)+"nem":e+" pIq"},past:function(t){var e=t;return e=-1!==t.indexOf("jaj")?e.slice(0,-3)+"Hu’":-1!==t.indexOf("jar")?e.slice(0,-3)+"wen":-1!==t.indexOf("DIS")?e.slice(0,-3)+"ben":e+" ret"},s:"puS lup",ss:n,m:"wa’ tup",mm:n,h:"wa’ rep",hh:n,d:"wa’ jaj",dd:n,M:"wa’ jar",MM:n,y:"wa’ DIS",yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("tl-ph",{months:"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),monthsShort:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdays:"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY HH:mm",LLLL:"dddd, MMMM DD, YYYY HH:mm"},calendar:{sameDay:"LT [ngayong araw]",nextDay:"[Bukas ng] LT",nextWeek:"LT [sa susunod na] dddd",lastDay:"LT [kahapon]",lastWeek:"LT [noong nakaraang] dddd",sameElse:"L"},relativeTime:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",ss:"%d segundo",m:"isang minuto",mm:"%d minuto",h:"isang oras",hh:"%d oras",d:"isang araw",dd:"%d araw",M:"isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(t){return t},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("th",{months:"มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม".split("_"),monthsShort:"ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.".split("_"),monthsParseExact:!0,weekdays:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์".split("_"),weekdaysShort:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์".split("_"),weekdaysMin:"อา._จ._อ._พ._พฤ._ศ._ส.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY เวลา H:mm",LLLL:"วันddddที่ D MMMM YYYY เวลา H:mm"},meridiemParse:/ก่อนเที่ยง|หลังเที่ยง/,isPM:function(t){return"หลังเที่ยง"===t},meridiem:function(t,e,n){return t<12?"ก่อนเที่ยง":"หลังเที่ยง"},calendar:{sameDay:"[วันนี้ เวลา] LT",nextDay:"[พรุ่งนี้ เวลา] LT",nextWeek:"dddd[หน้า เวลา] LT",lastDay:"[เมื่อวานนี้ เวลา] LT",lastWeek:"[วัน]dddd[ที่แล้ว เวลา] LT",sameElse:"L"},relativeTime:{future:"อีก %s",past:"%sที่แล้ว",s:"ไม่กี่วินาที",ss:"%d วินาที",m:"1 นาที",mm:"%d นาที",h:"1 ชั่วโมง",hh:"%d ชั่วโมง",d:"1 วัน",dd:"%d วัน",M:"1 เดือน",MM:"%d เดือน",y:"1 ปี",yy:"%d ปี"}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={0:"-ум",1:"-ум",2:"-юм",3:"-юм",4:"-ум",5:"-ум",6:"-ум",7:"-ум",8:"-ум",9:"-ум",10:"-ум",12:"-ум",13:"-ум",20:"-ум",30:"-юм",40:"-ум",50:"-ум",60:"-ум",70:"-ум",80:"-ум",90:"-ум",100:"-ум"};t.defineLocale("tg",{months:"январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр".split("_"),monthsShort:"янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек".split("_"),weekdays:"якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе".split("_"),weekdaysShort:"яшб_дшб_сшб_чшб_пшб_ҷум_шнб".split("_"),weekdaysMin:"яш_дш_сш_чш_пш_ҷм_шб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Имрӯз соати] LT",nextDay:"[Пагоҳ соати] LT",lastDay:"[Дирӯз соати] LT",nextWeek:"dddd[и] [ҳафтаи оянда соати] LT",lastWeek:"dddd[и] [ҳафтаи гузашта соати] LT",sameElse:"L"},relativeTime:{future:"баъди %s",past:"%s пеш",s:"якчанд сония",m:"як дақиқа",mm:"%d дақиқа",h:"як соат",hh:"%d соат",d:"як рӯз",dd:"%d рӯз",M:"як моҳ",MM:"%d моҳ",y:"як сол",yy:"%d сол"},meridiemParse:/шаб|субҳ|рӯз|бегоҳ/,meridiemHour:function(t,e){return 12===t&&(t=0),"шаб"===e?t<4?t:t+12:"субҳ"===e?t:"рӯз"===e?t>=11?t:t+12:"бегоҳ"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"шаб":t<11?"субҳ":t<16?"рӯз":t<19?"бегоҳ":"шаб"},dayOfMonthOrdinalParse:/\d{1,2}-(ум|юм)/,ordinal:function(t){var n=t%10,r=t>=100?100:null;return t+(e[t]||e[n]||e[r])},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("tet",{months:"Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu".split("_"),weekdaysShort:"Dom_Seg_Ters_Kua_Kint_Sest_Sab".split("_"),weekdaysMin:"Do_Seg_Te_Ku_Ki_Ses_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Ohin iha] LT",nextDay:"[Aban iha] LT",nextWeek:"dddd [iha] LT",lastDay:"[Horiseik iha] LT",lastWeek:"dddd [semana kotuk] [iha] LT",sameElse:"L"},relativeTime:{future:"iha %s",past:"%s liuba",s:"minutu balun",ss:"minutu %d",m:"minutu ida",mm:"minutu %d",h:"oras ida",hh:"oras %d",d:"loron ida",dd:"loron %d",M:"fulan ida",MM:"fulan %d",y:"tinan ida",yy:"tinan %d"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10,n=1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+n},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("te",{months:"జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జూలై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్".split("_"),monthsShort:"జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జూలై_ఆగ._సెప్._అక్టో._నవ._డిసె.".split("_"),monthsParseExact:!0,weekdays:"ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం".split("_"),weekdaysShort:"ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని".split("_"),weekdaysMin:"ఆ_సో_మం_బు_గు_శు_శ".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[నేడు] LT",nextDay:"[రేపు] LT",nextWeek:"dddd, LT",lastDay:"[నిన్న] LT",lastWeek:"[గత] dddd, LT",sameElse:"L"},relativeTime:{future:"%s లో",past:"%s క్రితం",s:"కొన్ని క్షణాలు",ss:"%d సెకన్లు",m:"ఒక నిమిషం",mm:"%d నిమిషాలు",h:"ఒక గంట",hh:"%d గంటలు",d:"ఒక రోజు",dd:"%d రోజులు",M:"ఒక నెల",MM:"%d నెలలు",y:"ఒక సంవత్సరం",yy:"%d సంవత్సరాలు"},dayOfMonthOrdinalParse:/\d{1,2}వ/,ordinal:"%dవ",meridiemParse:/రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,meridiemHour:function(t,e){return 12===t&&(t=0),"రాత్రి"===e?t<4?t:t+12:"ఉదయం"===e?t:"మధ్యాహ్నం"===e?t>=10?t:t+12:"సాయంత్రం"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"రాత్రి":t<10?"ఉదయం":t<17?"మధ్యాహ్నం":t<20?"సాయంత్రం":"రాత్రి"},week:{dow:0,doy:6}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"௧",2:"௨",3:"௩",4:"௪",5:"௫",6:"௬",7:"௭",8:"௮",9:"௯",0:"௦"},n={"௧":"1","௨":"2","௩":"3","௪":"4","௫":"5","௬":"6","௭":"7","௮":"8","௯":"9","௦":"0"};t.defineLocale("ta",{months:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),monthsShort:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),weekdays:"ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை".split("_"),weekdaysShort:"ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி".split("_"),weekdaysMin:"ஞா_தி_செ_பு_வி_வெ_ச".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, HH:mm",LLLL:"dddd, D MMMM YYYY, HH:mm"},calendar:{sameDay:"[இன்று] LT",nextDay:"[நாளை] LT",nextWeek:"dddd, LT",lastDay:"[நேற்று] LT",lastWeek:"[கடந்த வாரம்] dddd, LT",sameElse:"L"},relativeTime:{future:"%s இல்",past:"%s முன்",s:"ஒரு சில விநாடிகள்",ss:"%d விநாடிகள்",m:"ஒரு நிமிடம்",mm:"%d நிமிடங்கள்",h:"ஒரு மணி நேரம்",hh:"%d மணி நேரம்",d:"ஒரு நாள்",dd:"%d நாட்கள்",M:"ஒரு மாதம்",MM:"%d மாதங்கள்",y:"ஒரு வருடம்",yy:"%d ஆண்டுகள்"},dayOfMonthOrdinalParse:/\d{1,2}வது/,ordinal:function(t){return t+"வது"},preparse:function(t){return t.replace(/[௧௨௩௪௫௬௭௮௯௦]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,meridiem:function(t,e,n){return t<2?" யாமம்":t<6?" வைகறை":t<10?" காலை":t<14?" நண்பகல்":t<18?" எற்பாடு":t<22?" மாலை":" யாமம்"},meridiemHour:function(t,e){return 12===t&&(t=0),"யாமம்"===e?t<2?t:t+12:"வைகறை"===e||"காலை"===e?t:"நண்பகல்"===e&&t>=10?t:t+12},week:{dow:0,doy:6}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("sw",{months:"Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des".split("_"),weekdays:"Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi".split("_"),weekdaysShort:"Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos".split("_"),weekdaysMin:"J2_J3_J4_J5_Al_Ij_J1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[leo saa] LT",nextDay:"[kesho saa] LT",nextWeek:"[wiki ijayo] dddd [saat] LT",lastDay:"[jana] LT",lastWeek:"[wiki iliyopita] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s baadaye",past:"tokea %s",s:"hivi punde",ss:"sekunde %d",m:"dakika moja",mm:"dakika %d",h:"saa limoja",hh:"masaa %d",d:"siku moja",dd:"masiku %d",M:"mwezi mmoja",MM:"miezi %d",y:"mwaka mmoja",yy:"miaka %d"},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("sv",{months:"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag".split("_"),weekdaysShort:"sön_mån_tis_ons_tor_fre_lör".split("_"),weekdaysMin:"sö_må_ti_on_to_fr_lö".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [kl.] HH:mm",LLLL:"dddd D MMMM YYYY [kl.] HH:mm",lll:"D MMM YYYY HH:mm",llll:"ddd D MMM YYYY HH:mm"},calendar:{sameDay:"[Idag] LT",nextDay:"[Imorgon] LT",lastDay:"[Igår] LT",nextWeek:"[På] dddd LT",lastWeek:"[I] dddd[s] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"för %s sedan",s:"några sekunder",ss:"%d sekunder",m:"en minut",mm:"%d minuter",h:"en timme",hh:"%d timmar",d:"en dag",dd:"%d dagar",M:"en månad",MM:"%d månader",y:"ett år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}(e|a)/,ordinal:function(t){var e=t%10,n=1==~~(t%100/10)?"e":1===e?"a":2===e?"a":"e";return t+n},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("ss",{months:"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split("_"),monthsShort:"Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo".split("_"),weekdays:"Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo".split("_"),weekdaysShort:"Lis_Umb_Lsb_Les_Lsi_Lsh_Umg".split("_"),weekdaysMin:"Li_Us_Lb_Lt_Ls_Lh_Ug".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Namuhla nga] LT",nextDay:"[Kusasa nga] LT",nextWeek:"dddd [nga] LT",lastDay:"[Itolo nga] LT",lastWeek:"dddd [leliphelile] [nga] LT",sameElse:"L"},relativeTime:{future:"nga %s",past:"wenteka nga %s",s:"emizuzwana lomcane",ss:"%d mzuzwana",m:"umzuzu",mm:"%d emizuzu",h:"lihora",hh:"%d emahora",d:"lilanga",dd:"%d emalanga",M:"inyanga",MM:"%d tinyanga",y:"umnyaka",yy:"%d iminyaka"},meridiemParse:/ekuseni|emini|entsambama|ebusuku/,meridiem:function(t,e,n){return t<11?"ekuseni":t<15?"emini":t<19?"entsambama":"ebusuku"},meridiemHour:function(t,e){return 12===t&&(t=0),"ekuseni"===e?t:"emini"===e?t>=11?t:t+12:"entsambama"===e||"ebusuku"===e?0===t?0:t+12:void 0},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:"%d",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={words:{ss:["секунда","секунде","секунди"],m:["један минут","једне минуте"],mm:["минут","минуте","минута"],h:["један сат","једног сата"],hh:["сат","сата","сати"],dd:["дан","дана","дана"],MM:["месец","месеца","месеци"],yy:["година","године","година"]},correctGrammaticalCase:function(t,e){return 1===t?e[0]:t>=2&&t<=4?e[1]:e[2]},translate:function(t,n,r){var i=e.words[r];return 1===r.length?n?i[0]:i[1]:t+" "+e.correctGrammaticalCase(t,i)}};t.defineLocale("sr-cyrl",{months:"јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар".split("_"),monthsShort:"јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.".split("_"),monthsParseExact:!0,weekdays:"недеља_понедељак_уторак_среда_четвртак_петак_субота".split("_"),weekdaysShort:"нед._пон._уто._сре._чет._пет._суб.".split("_"),weekdaysMin:"не_по_ут_ср_че_пе_су".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[данас у] LT",nextDay:"[сутра у] LT",nextWeek:function(){switch(this.day()){case 0:return"[у] [недељу] [у] LT";case 3:return"[у] [среду] [у] LT";case 6:return"[у] [суботу] [у] LT";case 1:case 2:case 4:case 5:return"[у] dddd [у] LT"}},lastDay:"[јуче у] LT",lastWeek:function(){return["[прошле] [недеље] [у] LT","[прошлог] [понедељка] [у] LT","[прошлог] [уторка] [у] LT","[прошле] [среде] [у] LT","[прошлог] [четвртка] [у] LT","[прошлог] [петка] [у] LT","[прошле] [суботе] [у] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"за %s",past:"пре %s",s:"неколико секунди",ss:e.translate,m:e.translate,mm:e.translate,h:e.translate,hh:e.translate,d:"дан",dd:e.translate,M:"месец",MM:e.translate,y:"годину",yy:e.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={words:{ss:["sekunda","sekunde","sekundi"],m:["jedan minut","jedne minute"],mm:["minut","minute","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mesec","meseca","meseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(t,e){return 1===t?e[0]:t>=2&&t<=4?e[1]:e[2]},translate:function(t,n,r){var i=e.words[r];return 1===r.length?n?i[0]:i[1]:t+" "+e.correctGrammaticalCase(t,i)}};t.defineLocale("sr",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sre._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedelju] [u] LT";case 3:return"[u] [sredu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){return["[prošle] [nedelje] [u] LT","[prošlog] [ponedeljka] [u] LT","[prošlog] [utorka] [u] LT","[prošle] [srede] [u] LT","[prošlog] [četvrtka] [u] LT","[prošlog] [petka] [u] LT","[prošle] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"pre %s",s:"nekoliko sekundi",ss:e.translate,m:e.translate,mm:e.translate,h:e.translate,hh:e.translate,d:"dan",dd:e.translate,M:"mesec",MM:e.translate,y:"godinu",yy:e.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("sq",{months:"Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor".split("_"),monthsShort:"Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj".split("_"),weekdays:"E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë".split("_"),weekdaysShort:"Die_Hën_Mar_Mër_Enj_Pre_Sht".split("_"),weekdaysMin:"D_H_Ma_Më_E_P_Sh".split("_"),weekdaysParseExact:!0,meridiemParse:/PD|MD/,isPM:function(t){return"M"===t.charAt(0)},meridiem:function(t,e,n){return t<12?"PD":"MD"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Sot në] LT",nextDay:"[Nesër në] LT",nextWeek:"dddd [në] LT",lastDay:"[Dje në] LT",lastWeek:"dddd [e kaluar në] LT",sameElse:"L"},relativeTime:{future:"në %s",past:"%s më parë",s:"disa sekonda",ss:"%d sekonda",m:"një minutë",mm:"%d minuta",h:"një orë",hh:"%d orë",d:"një ditë",dd:"%d ditë",M:"një muaj",MM:"%d muaj",y:"një vit",yy:"%d vite"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n,r){var i=t+" ";switch(n){case"s":return e||r?"nekaj sekund":"nekaj sekundami";case"ss":return i+=1===t?e?"sekundo":"sekundi":2===t?e||r?"sekundi":"sekundah":t<5?e||r?"sekunde":"sekundah":"sekund";case"m":return e?"ena minuta":"eno minuto";case"mm":return i+=1===t?e?"minuta":"minuto":2===t?e||r?"minuti":"minutama":t<5?e||r?"minute":"minutami":e||r?"minut":"minutami";case"h":return e?"ena ura":"eno uro";case"hh":return i+=1===t?e?"ura":"uro":2===t?e||r?"uri":"urama":t<5?e||r?"ure":"urami":e||r?"ur":"urami";case"d":return e||r?"en dan":"enim dnem";case"dd":return i+=1===t?e||r?"dan":"dnem":2===t?e||r?"dni":"dnevoma":e||r?"dni":"dnevi";case"M":return e||r?"en mesec":"enim mesecem";case"MM":return i+=1===t?e||r?"mesec":"mesecem":2===t?e||r?"meseca":"mesecema":t<5?e||r?"mesece":"meseci":e||r?"mesecev":"meseci";case"y":return e||r?"eno leto":"enim letom";case"yy":return i+=1===t?e||r?"leto":"letom":2===t?e||r?"leti":"letoma":t<5?e||r?"leta":"leti":e||r?"let":"leti"}}t.defineLocale("sl",{months:"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota".split("_"),weekdaysShort:"ned._pon._tor._sre._čet._pet._sob.".split("_"),weekdaysMin:"ne_po_to_sr_če_pe_so".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danes ob] LT",nextDay:"[jutri ob] LT",nextWeek:function(){switch(this.day()){case 0:return"[v] [nedeljo] [ob] LT";case 3:return"[v] [sredo] [ob] LT";case 6:return"[v] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[v] dddd [ob] LT"}},lastDay:"[včeraj ob] LT",lastWeek:function(){switch(this.day()){case 0:return"[prejšnjo] [nedeljo] [ob] LT";case 3:return"[prejšnjo] [sredo] [ob] LT";case 6:return"[prejšnjo] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[prejšnji] dddd [ob] LT"}},sameElse:"L"},relativeTime:{future:"čez %s",past:"pred %s",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";var e="január_február_marec_apríl_máj_jún_júl_august_september_október_november_december".split("_"),n="jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec".split("_");function r(t){return t>1&&t<5}function i(t,e,n,i){var a=t+" ";switch(n){case"s":return e||i?"pár sekúnd":"pár sekundami";case"ss":return e||i?a+(r(t)?"sekundy":"sekúnd"):a+"sekundami";case"m":return e?"minúta":i?"minútu":"minútou";case"mm":return e||i?a+(r(t)?"minúty":"minút"):a+"minútami";case"h":return e?"hodina":i?"hodinu":"hodinou";case"hh":return e||i?a+(r(t)?"hodiny":"hodín"):a+"hodinami";case"d":return e||i?"deň":"dňom";case"dd":return e||i?a+(r(t)?"dni":"dní"):a+"dňami";case"M":return e||i?"mesiac":"mesiacom";case"MM":return e||i?a+(r(t)?"mesiace":"mesiacov"):a+"mesiacmi";case"y":return e||i?"rok":"rokom";case"yy":return e||i?a+(r(t)?"roky":"rokov"):a+"rokmi"}}t.defineLocale("sk",{months:e,monthsShort:n,weekdays:"nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota".split("_"),weekdaysShort:"ne_po_ut_st_št_pi_so".split("_"),weekdaysMin:"ne_po_ut_st_št_pi_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm"},calendar:{sameDay:"[dnes o] LT",nextDay:"[zajtra o] LT",nextWeek:function(){switch(this.day()){case 0:return"[v nedeľu o] LT";case 1:case 2:return"[v] dddd [o] LT";case 3:return"[v stredu o] LT";case 4:return"[vo štvrtok o] LT";case 5:return"[v piatok o] LT";case 6:return"[v sobotu o] LT"}},lastDay:"[včera o] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulú nedeľu o] LT";case 1:case 2:return"[minulý] dddd [o] LT";case 3:return"[minulú stredu o] LT";case 4:case 5:return"[minulý] dddd [o] LT";case 6:return"[minulú sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pred %s",s:i,ss:i,m:i,mm:i,h:i,hh:i,d:i,dd:i,M:i,MM:i,y:i,yy:i},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("si",{months:"ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්".split("_"),monthsShort:"ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ".split("_"),weekdays:"ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා".split("_"),weekdaysShort:"ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන".split("_"),weekdaysMin:"ඉ_ස_අ_බ_බ්‍ර_සි_සෙ".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"a h:mm",LTS:"a h:mm:ss",L:"YYYY/MM/DD",LL:"YYYY MMMM D",LLL:"YYYY MMMM D, a h:mm",LLLL:"YYYY MMMM D [වැනි] dddd, a h:mm:ss"},calendar:{sameDay:"[අද] LT[ට]",nextDay:"[හෙට] LT[ට]",nextWeek:"dddd LT[ට]",lastDay:"[ඊයේ] LT[ට]",lastWeek:"[පසුගිය] dddd LT[ට]",sameElse:"L"},relativeTime:{future:"%sකින්",past:"%sකට පෙර",s:"තත්පර කිහිපය",ss:"තත්පර %d",m:"මිනිත්තුව",mm:"මිනිත්තු %d",h:"පැය",hh:"පැය %d",d:"දිනය",dd:"දින %d",M:"මාසය",MM:"මාස %d",y:"වසර",yy:"වසර %d"},dayOfMonthOrdinalParse:/\d{1,2} වැනි/,ordinal:function(t){return t+" වැනි"},meridiemParse:/පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,isPM:function(t){return"ප.ව."===t||"පස් වරු"===t},meridiem:function(t,e,n){return t>11?n?"ප.ව.":"පස් වරු":n?"පෙ.ව.":"පෙර වරු"}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("se",{months:"ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu".split("_"),monthsShort:"ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov".split("_"),weekdays:"sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat".split("_"),weekdaysShort:"sotn_vuos_maŋ_gask_duor_bear_láv".split("_"),weekdaysMin:"s_v_m_g_d_b_L".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"MMMM D. [b.] YYYY",LLL:"MMMM D. [b.] YYYY [ti.] HH:mm",LLLL:"dddd, MMMM D. [b.] YYYY [ti.] HH:mm"},calendar:{sameDay:"[otne ti] LT",nextDay:"[ihttin ti] LT",nextWeek:"dddd [ti] LT",lastDay:"[ikte ti] LT",lastWeek:"[ovddit] dddd [ti] LT",sameElse:"L"},relativeTime:{future:"%s geažes",past:"maŋit %s",s:"moadde sekunddat",ss:"%d sekunddat",m:"okta minuhta",mm:"%d minuhtat",h:"okta diimmu",hh:"%d diimmut",d:"okta beaivi",dd:"%d beaivvit",M:"okta mánnu",MM:"%d mánut",y:"okta jahki",yy:"%d jagit"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e=["جنوري","فيبروري","مارچ","اپريل","مئي","جون","جولاءِ","آگسٽ","سيپٽمبر","آڪٽوبر","نومبر","ڊسمبر"],n=["آچر","سومر","اڱارو","اربع","خميس","جمع","ڇنڇر"];t.defineLocale("sd",{months:e,monthsShort:e,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(t){return"شام"===t},meridiem:function(t,e,n){return t<12?"صبح":"شام"},calendar:{sameDay:"[اڄ] LT",nextDay:"[سڀاڻي] LT",nextWeek:"dddd [اڳين هفتي تي] LT",lastDay:"[ڪالهه] LT",lastWeek:"[گزريل هفتي] dddd [تي] LT",sameElse:"L"},relativeTime:{future:"%s پوء",past:"%s اڳ",s:"چند سيڪنڊ",ss:"%d سيڪنڊ",m:"هڪ منٽ",mm:"%d منٽ",h:"هڪ ڪلاڪ",hh:"%d ڪلاڪ",d:"هڪ ڏينهن",dd:"%d ڏينهن",M:"هڪ مهينو",MM:"%d مهينا",y:"هڪ سال",yy:"%d سال"},preparse:function(t){return t.replace(/،/g,",")},postformat:function(t){return t.replace(/,/g,"،")},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n){var r,i,a={ss:e?"секунда_секунды_секунд":"секунду_секунды_секунд",mm:e?"минута_минуты_минут":"минуту_минуты_минут",hh:"час_часа_часов",dd:"день_дня_дней",MM:"месяц_месяца_месяцев",yy:"год_года_лет"};return"m"===n?e?"минута":"минуту":t+" "+(r=+t,i=a[n].split("_"),r%10==1&&r%100!=11?i[0]:r%10>=2&&r%10<=4&&(r%100<10||r%100>=20)?i[1]:i[2])}var n=[/^янв/i,/^фев/i,/^мар/i,/^апр/i,/^ма[йя]/i,/^июн/i,/^июл/i,/^авг/i,/^сен/i,/^окт/i,/^ноя/i,/^дек/i];t.defineLocale("ru",{months:{format:"января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря".split("_"),standalone:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_")},monthsShort:{format:"янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.".split("_"),standalone:"янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.".split("_")},weekdays:{standalone:"воскресенье_понедельник_вторник_среда_четверг_пятница_суббота".split("_"),format:"воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу".split("_"),isFormat:/\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\] ?dddd/},weekdaysShort:"вс_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"вс_пн_вт_ср_чт_пт_сб".split("_"),monthsParse:n,longMonthsParse:n,shortMonthsParse:n,monthsRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsShortRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsStrictRegex:/^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,monthsShortStrictRegex:/^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., H:mm",LLLL:"dddd, D MMMM YYYY г., H:mm"},calendar:{sameDay:"[Сегодня в] LT",nextDay:"[Завтра в] LT",lastDay:"[Вчера в] LT",nextWeek:function(t){if(t.week()===this.week())return 2===this.day()?"[Во] dddd [в] LT":"[В] dddd [в] LT";switch(this.day()){case 0:return"[В следующее] dddd [в] LT";case 1:case 2:case 4:return"[В следующий] dddd [в] LT";case 3:case 5:case 6:return"[В следующую] dddd [в] LT"}},lastWeek:function(t){if(t.week()===this.week())return 2===this.day()?"[Во] dddd [в] LT":"[В] dddd [в] LT";switch(this.day()){case 0:return"[В прошлое] dddd [в] LT";case 1:case 2:case 4:return"[В прошлый] dddd [в] LT";case 3:case 5:case 6:return"[В прошлую] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"через %s",past:"%s назад",s:"несколько секунд",ss:e,m:e,mm:e,h:"час",hh:e,d:"день",dd:e,M:"месяц",MM:e,y:"год",yy:e},meridiemParse:/ночи|утра|дня|вечера/i,isPM:function(t){return/^(дня|вечера)$/.test(t)},meridiem:function(t,e,n){return t<4?"ночи":t<12?"утра":t<17?"дня":"вечера"},dayOfMonthOrdinalParse:/\d{1,2}-(й|го|я)/,ordinal:function(t,e){switch(e){case"M":case"d":case"DDD":return t+"-й";case"D":return t+"-го";case"w":case"W":return t+"-я";default:return t}},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n){var r=" ";return(t%100>=20||t>=100&&t%100==0)&&(r=" de "),t+r+{ss:"secunde",mm:"minute",hh:"ore",dd:"zile",MM:"luni",yy:"ani"}[n]}t.defineLocale("ro",{months:"ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".split("_"),monthsShort:"ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"duminică_luni_marți_miercuri_joi_vineri_sâmbătă".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_Sâm".split("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_Sâ".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[azi la] LT",nextDay:"[mâine la] LT",nextWeek:"dddd [la] LT",lastDay:"[ieri la] LT",lastWeek:"[fosta] dddd [la] LT",sameElse:"L"},relativeTime:{future:"peste %s",past:"%s în urmă",s:"câteva secunde",ss:e,m:"un minut",mm:e,h:"o oră",hh:e,d:"o zi",dd:e,M:"o lună",MM:e,y:"un an",yy:e},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("pt-br",{months:"janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),weekdays:"Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Do_2ª_3ª_4ª_5ª_6ª_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [às] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [às] HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"há %s",s:"poucos segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº"})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("pt",{months:"janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),weekdays:"Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Do_2ª_3ª_4ª_5ª_6ª_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"há %s",s:"segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e="styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień".split("_"),n="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia".split("_");function r(t){return t%10<5&&t%10>1&&~~(t/10)%10!=1}function i(t,e,n){var i=t+" ";switch(n){case"ss":return i+(r(t)?"sekundy":"sekund");case"m":return e?"minuta":"minutę";case"mm":return i+(r(t)?"minuty":"minut");case"h":return e?"godzina":"godzinę";case"hh":return i+(r(t)?"godziny":"godzin");case"MM":return i+(r(t)?"miesiące":"miesięcy");case"yy":return i+(r(t)?"lata":"lat")}}t.defineLocale("pl",{months:function(t,r){return t?""===r?"("+n[t.month()]+"|"+e[t.month()]+")":/D MMMM/.test(r)?n[t.month()]:e[t.month()]:e},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru".split("_"),weekdays:"niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota".split("_"),weekdaysShort:"ndz_pon_wt_śr_czw_pt_sob".split("_"),weekdaysMin:"Nd_Pn_Wt_Śr_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Dziś o] LT",nextDay:"[Jutro o] LT",nextWeek:function(){switch(this.day()){case 0:return"[W niedzielę o] LT";case 2:return"[We wtorek o] LT";case 3:return"[W środę o] LT";case 6:return"[W sobotę o] LT";default:return"[W] dddd [o] LT"}},lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:return"[W zeszłą niedzielę o] LT";case 3:return"[W zeszłą środę o] LT";case 6:return"[W zeszłą sobotę o] LT";default:return"[W zeszły] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",ss:i,m:i,mm:i,h:i,hh:i,d:"1 dzień",dd:"%d dni",M:"miesiąc",MM:i,y:"rok",yy:i},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"੧",2:"੨",3:"੩",4:"੪",5:"੫",6:"੬",7:"੭",8:"੮",9:"੯",0:"੦"},n={"੧":"1","੨":"2","੩":"3","੪":"4","੫":"5","੬":"6","੭":"7","੮":"8","੯":"9","੦":"0"};t.defineLocale("pa-in",{months:"ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ".split("_"),monthsShort:"ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ".split("_"),weekdays:"ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ".split("_"),weekdaysShort:"ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ".split("_"),weekdaysMin:"ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ".split("_"),longDateFormat:{LT:"A h:mm ਵਜੇ",LTS:"A h:mm:ss ਵਜੇ",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm ਵਜੇ",LLLL:"dddd, D MMMM YYYY, A h:mm ਵਜੇ"},calendar:{sameDay:"[ਅਜ] LT",nextDay:"[ਕਲ] LT",nextWeek:"dddd, LT",lastDay:"[ਕਲ] LT",lastWeek:"[ਪਿਛਲੇ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ਵਿੱਚ",past:"%s ਪਿਛਲੇ",s:"ਕੁਝ ਸਕਿੰਟ",ss:"%d ਸਕਿੰਟ",m:"ਇਕ ਮਿੰਟ",mm:"%d ਮਿੰਟ",h:"ਇੱਕ ਘੰਟਾ",hh:"%d ਘੰਟੇ",d:"ਇੱਕ ਦਿਨ",dd:"%d ਦਿਨ",M:"ਇੱਕ ਮਹੀਨਾ",MM:"%d ਮਹੀਨੇ",y:"ਇੱਕ ਸਾਲ",yy:"%d ਸਾਲ"},preparse:function(t){return t.replace(/[੧੨੩੪੫੬੭੮੯੦]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,meridiemHour:function(t,e){return 12===t&&(t=0),"ਰਾਤ"===e?t<4?t:t+12:"ਸਵੇਰ"===e?t:"ਦੁਪਹਿਰ"===e?t>=10?t:t+12:"ਸ਼ਾਮ"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"ਰਾਤ":t<10?"ਸਵੇਰ":t<17?"ਦੁਪਹਿਰ":t<20?"ਸ਼ਾਮ":"ਰਾਤ"},week:{dow:0,doy:6}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("nn",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"),weekdaysShort:"sun_mån_tys_ons_tor_fre_lau".split("_"),weekdaysMin:"su_må_ty_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[I dag klokka] LT",nextDay:"[I morgon klokka] LT",nextWeek:"dddd [klokka] LT",lastDay:"[I går klokka] LT",lastWeek:"[Føregåande] dddd [klokka] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s sidan",s:"nokre sekund",ss:"%d sekund",m:"eit minutt",mm:"%d minutt",h:"ein time",hh:"%d timar",d:"ein dag",dd:"%d dagar",M:"ein månad",MM:"%d månader",y:"eit år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),n="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),r=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],i=/^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;t.defineLocale("nl-be",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(t,r){return t?/-MMM-/.test(r)?n[t.month()]:e[t.month()]:e},monthsRegex:i,monthsShortRegex:i,monthsStrictRegex:/^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:r,longMonthsParse:r,shortMonthsParse:r,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(t){return t+(1===t||8===t||t>=20?"ste":"de")},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),n="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),r=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],i=/^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;t.defineLocale("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(t,r){return t?/-MMM-/.test(r)?n[t.month()]:e[t.month()]:e},monthsRegex:i,monthsShortRegex:i,monthsStrictRegex:/^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:r,longMonthsParse:r,shortMonthsParse:r,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(t){return t+(1===t||8===t||t>=20?"ste":"de")},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},n={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};t.defineLocale("ne",{months:"जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर".split("_"),monthsShort:"जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.".split("_"),monthsParseExact:!0,weekdays:"आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार".split("_"),weekdaysShort:"आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.".split("_"),weekdaysMin:"आ._सो._मं._बु._बि._शु._श.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"Aको h:mm बजे",LTS:"Aको h:mm:ss बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, Aको h:mm बजे",LLLL:"dddd, D MMMM YYYY, Aको h:mm बजे"},preparse:function(t){return t.replace(/[१२३४५६७८९०]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/राति|बिहान|दिउँसो|साँझ/,meridiemHour:function(t,e){return 12===t&&(t=0),"राति"===e?t<4?t:t+12:"बिहान"===e?t:"दिउँसो"===e?t>=10?t:t+12:"साँझ"===e?t+12:void 0},meridiem:function(t,e,n){return t<3?"राति":t<12?"बिहान":t<16?"दिउँसो":t<20?"साँझ":"राति"},calendar:{sameDay:"[आज] LT",nextDay:"[भोलि] LT",nextWeek:"[आउँदो] dddd[,] LT",lastDay:"[हिजो] LT",lastWeek:"[गएको] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%sमा",past:"%s अगाडि",s:"केही क्षण",ss:"%d सेकेण्ड",m:"एक मिनेट",mm:"%d मिनेट",h:"एक घण्टा",hh:"%d घण्टा",d:"एक दिन",dd:"%d दिन",M:"एक महिना",MM:"%d महिना",y:"एक बर्ष",yy:"%d बर्ष"},week:{dow:0,doy:6}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("nb",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.".split("_"),monthsParseExact:!0,weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"sø._ma._ti._on._to._fr._lø.".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] HH:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[i går kl.] LT",lastWeek:"[forrige] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"noen sekunder",ss:"%d sekunder",m:"ett minutt",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dager",M:"en måned",MM:"%d måneder",y:"ett år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"၁",2:"၂",3:"၃",4:"၄",5:"၅",6:"၆",7:"၇",8:"၈",9:"၉",0:"၀"},n={"၁":"1","၂":"2","၃":"3","၄":"4","၅":"5","၆":"6","၇":"7","၈":"8","၉":"9","၀":"0"};t.defineLocale("my",{months:"ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ".split("_"),monthsShort:"ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ".split("_"),weekdays:"တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ".split("_"),weekdaysShort:"နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ".split("_"),weekdaysMin:"နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[ယနေ.] LT [မှာ]",nextDay:"[မနက်ဖြန်] LT [မှာ]",nextWeek:"dddd LT [မှာ]",lastDay:"[မနေ.က] LT [မှာ]",lastWeek:"[ပြီးခဲ့သော] dddd LT [မှာ]",sameElse:"L"},relativeTime:{future:"လာမည့် %s မှာ",past:"လွန်ခဲ့သော %s က",s:"စက္ကန်.အနည်းငယ်",ss:"%d စက္ကန့်",m:"တစ်မိနစ်",mm:"%d မိနစ်",h:"တစ်နာရီ",hh:"%d နာရီ",d:"တစ်ရက်",dd:"%d ရက်",M:"တစ်လ",MM:"%d လ",y:"တစ်နှစ်",yy:"%d နှစ်"},preparse:function(t){return t.replace(/[၁၂၃၄၅၆၇၈၉၀]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("mt",{months:"Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru".split("_"),monthsShort:"Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ".split("_"),weekdays:"Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt".split("_"),weekdaysShort:"Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib".split("_"),weekdaysMin:"Ħa_Tn_Tl_Er_Ħa_Ġi_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Illum fil-]LT",nextDay:"[Għada fil-]LT",nextWeek:"dddd [fil-]LT",lastDay:"[Il-bieraħ fil-]LT",lastWeek:"dddd [li għadda] [fil-]LT",sameElse:"L"},relativeTime:{future:"f’ %s",past:"%s ilu",s:"ftit sekondi",ss:"%d sekondi",m:"minuta",mm:"%d minuti",h:"siegħa",hh:"%d siegħat",d:"ġurnata",dd:"%d ġranet",M:"xahar",MM:"%d xhur",y:"sena",yy:"%d sni"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("ms-my",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(t,e){return 12===t&&(t=0),"pagi"===e?t:"tengahari"===e?t>=11?t:t+12:"petang"===e||"malam"===e?t+12:void 0},meridiem:function(t,e,n){return t<11?"pagi":t<15?"tengahari":t<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("ms",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(t,e){return 12===t&&(t=0),"pagi"===e?t:"tengahari"===e?t>=11?t:t+12:"petang"===e||"malam"===e?t+12:void 0},meridiem:function(t,e,n){return t<11?"pagi":t<15?"tengahari":t<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},n={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};function r(t,e,n,r){var i="";if(e)switch(n){case"s":i="काही सेकंद";break;case"ss":i="%d सेकंद";break;case"m":i="एक मिनिट";break;case"mm":i="%d मिनिटे";break;case"h":i="एक तास";break;case"hh":i="%d तास";break;case"d":i="एक दिवस";break;case"dd":i="%d दिवस";break;case"M":i="एक महिना";break;case"MM":i="%d महिने";break;case"y":i="एक वर्ष";break;case"yy":i="%d वर्षे"}else switch(n){case"s":i="काही सेकंदां";break;case"ss":i="%d सेकंदां";break;case"m":i="एका मिनिटा";break;case"mm":i="%d मिनिटां";break;case"h":i="एका तासा";break;case"hh":i="%d तासां";break;case"d":i="एका दिवसा";break;case"dd":i="%d दिवसां";break;case"M":i="एका महिन्या";break;case"MM":i="%d महिन्यां";break;case"y":i="एका वर्षा";break;case"yy":i="%d वर्षां"}return i.replace(/%d/i,t)}t.defineLocale("mr",{months:"जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर".split("_"),monthsShort:"जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.".split("_"),monthsParseExact:!0,weekdays:"रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysShort:"रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),longDateFormat:{LT:"A h:mm वाजता",LTS:"A h:mm:ss वाजता",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm वाजता",LLLL:"dddd, D MMMM YYYY, A h:mm वाजता"},calendar:{sameDay:"[आज] LT",nextDay:"[उद्या] LT",nextWeek:"dddd, LT",lastDay:"[काल] LT",lastWeek:"[मागील] dddd, LT",sameElse:"L"},relativeTime:{future:"%sमध्ये",past:"%sपूर्वी",s:r,ss:r,m:r,mm:r,h:r,hh:r,d:r,dd:r,M:r,MM:r,y:r,yy:r},preparse:function(t){return t.replace(/[१२३४५६७८९०]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/रात्री|सकाळी|दुपारी|सायंकाळी/,meridiemHour:function(t,e){return 12===t&&(t=0),"रात्री"===e?t<4?t:t+12:"सकाळी"===e?t:"दुपारी"===e?t>=10?t:t+12:"सायंकाळी"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"रात्री":t<10?"सकाळी":t<17?"दुपारी":t<20?"सायंकाळी":"रात्री"},week:{dow:0,doy:6}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("ml",{months:"ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ".split("_"),monthsShort:"ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.".split("_"),monthsParseExact:!0,weekdays:"ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച".split("_"),weekdaysShort:"ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി".split("_"),weekdaysMin:"ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ".split("_"),longDateFormat:{LT:"A h:mm -നു",LTS:"A h:mm:ss -നു",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm -നു",LLLL:"dddd, D MMMM YYYY, A h:mm -നു"},calendar:{sameDay:"[ഇന്ന്] LT",nextDay:"[നാളെ] LT",nextWeek:"dddd, LT",lastDay:"[ഇന്നലെ] LT",lastWeek:"[കഴിഞ്ഞ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s കഴിഞ്ഞ്",past:"%s മുൻപ്",s:"അൽപ നിമിഷങ്ങൾ",ss:"%d സെക്കൻഡ്",m:"ഒരു മിനിറ്റ്",mm:"%d മിനിറ്റ്",h:"ഒരു മണിക്കൂർ",hh:"%d മണിക്കൂർ",d:"ഒരു ദിവസം",dd:"%d ദിവസം",M:"ഒരു മാസം",MM:"%d മാസം",y:"ഒരു വർഷം",yy:"%d വർഷം"},meridiemParse:/രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,meridiemHour:function(t,e){return 12===t&&(t=0),"രാത്രി"===e&&t>=4||"ഉച്ച കഴിഞ്ഞ്"===e||"വൈകുന്നേരം"===e?t+12:t},meridiem:function(t,e,n){return t<4?"രാത്രി":t<12?"രാവിലെ":t<17?"ഉച്ച കഴിഞ്ഞ്":t<20?"വൈകുന്നേരം":"രാത്രി"}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("mk",{months:"јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември".split("_"),monthsShort:"јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек".split("_"),weekdays:"недела_понеделник_вторник_среда_четврток_петок_сабота".split("_"),weekdaysShort:"нед_пон_вто_сре_чет_пет_саб".split("_"),weekdaysMin:"нe_пo_вт_ср_че_пе_сa".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[Денес во] LT",nextDay:"[Утре во] LT",nextWeek:"[Во] dddd [во] LT",lastDay:"[Вчера во] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[Изминатата] dddd [во] LT";case 1:case 2:case 4:case 5:return"[Изминатиот] dddd [во] LT"}},sameElse:"L"},relativeTime:{future:"после %s",past:"пред %s",s:"неколку секунди",ss:"%d секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дена",M:"месец",MM:"%d месеци",y:"година",yy:"%d години"},dayOfMonthOrdinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(t){var e=t%10,n=t%100;return 0===t?t+"-ев":0===n?t+"-ен":n>10&&n<20?t+"-ти":1===e?t+"-ви":2===e?t+"-ри":7===e||8===e?t+"-ми":t+"-ти"},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("mi",{months:"Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea".split("_"),monthsShort:"Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki".split("_"),monthsRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,weekdays:"Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei".split("_"),weekdaysShort:"Ta_Ma_Tū_We_Tāi_Pa_Hā".split("_"),weekdaysMin:"Ta_Ma_Tū_We_Tāi_Pa_Hā".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [i] HH:mm",LLLL:"dddd, D MMMM YYYY [i] HH:mm"},calendar:{sameDay:"[i teie mahana, i] LT",nextDay:"[apopo i] LT",nextWeek:"dddd [i] LT",lastDay:"[inanahi i] LT",lastWeek:"dddd [whakamutunga i] LT",sameElse:"L"},relativeTime:{future:"i roto i %s",past:"%s i mua",s:"te hēkona ruarua",ss:"%d hēkona",m:"he meneti",mm:"%d meneti",h:"te haora",hh:"%d haora",d:"he ra",dd:"%d ra",M:"he marama",MM:"%d marama",y:"he tau",yy:"%d tau"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={words:{ss:["sekund","sekunda","sekundi"],m:["jedan minut","jednog minuta"],mm:["minut","minuta","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mjesec","mjeseca","mjeseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(t,e){return 1===t?e[0]:t>=2&&t<=4?e[1]:e[2]},translate:function(t,n,r){var i=e.words[r];return 1===r.length?n?i[0]:i[1]:t+" "+e.correctGrammaticalCase(t,i)}};t.defineLocale("me",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sjutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){return["[prošle] [nedjelje] [u] LT","[prošlog] [ponedjeljka] [u] LT","[prošlog] [utorka] [u] LT","[prošle] [srijede] [u] LT","[prošlog] [četvrtka] [u] LT","[prošlog] [petka] [u] LT","[prošle] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"nekoliko sekundi",ss:e.translate,m:e.translate,mm:e.translate,h:e.translate,hh:e.translate,d:"dan",dd:e.translate,M:"mjesec",MM:e.translate,y:"godinu",yy:e.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={ss:"sekundes_sekundēm_sekunde_sekundes".split("_"),m:"minūtes_minūtēm_minūte_minūtes".split("_"),mm:"minūtes_minūtēm_minūte_minūtes".split("_"),h:"stundas_stundām_stunda_stundas".split("_"),hh:"stundas_stundām_stunda_stundas".split("_"),d:"dienas_dienām_diena_dienas".split("_"),dd:"dienas_dienām_diena_dienas".split("_"),M:"mēneša_mēnešiem_mēnesis_mēneši".split("_"),MM:"mēneša_mēnešiem_mēnesis_mēneši".split("_"),y:"gada_gadiem_gads_gadi".split("_"),yy:"gada_gadiem_gads_gadi".split("_")};function n(t,e,n){return n?e%10==1&&e%100!=11?t[2]:t[3]:e%10==1&&e%100!=11?t[0]:t[1]}function r(t,r,i){return t+" "+n(e[i],t,r)}function i(t,r,i){return n(e[i],t,r)}t.defineLocale("lv",{months:"janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris".split("_"),monthsShort:"jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec".split("_"),weekdays:"svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena".split("_"),weekdaysShort:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY.",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, HH:mm",LLLL:"YYYY. [gada] D. MMMM, dddd, HH:mm"},calendar:{sameDay:"[Šodien pulksten] LT",nextDay:"[Rīt pulksten] LT",nextWeek:"dddd [pulksten] LT",lastDay:"[Vakar pulksten] LT",lastWeek:"[Pagājušā] dddd [pulksten] LT",sameElse:"L"},relativeTime:{future:"pēc %s",past:"pirms %s",s:function(t,e){return e?"dažas sekundes":"dažām sekundēm"},ss:r,m:i,mm:r,h:i,hh:r,d:i,dd:r,M:i,MM:r,y:i,yy:r},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={ss:"sekundė_sekundžių_sekundes",m:"minutė_minutės_minutę",mm:"minutės_minučių_minutes",h:"valanda_valandos_valandą",hh:"valandos_valandų_valandas",d:"diena_dienos_dieną",dd:"dienos_dienų_dienas",M:"mėnuo_mėnesio_mėnesį",MM:"mėnesiai_mėnesių_mėnesius",y:"metai_metų_metus",yy:"metai_metų_metus"};function n(t,e,n,r){return e?i(n)[0]:r?i(n)[1]:i(n)[2]}function r(t){return t%10==0||t>10&&t<20}function i(t){return e[t].split("_")}function a(t,e,a,o){var s=t+" ";return 1===t?s+n(0,e,a[0],o):e?s+(r(t)?i(a)[1]:i(a)[0]):o?s+i(a)[1]:s+(r(t)?i(a)[1]:i(a)[2])}t.defineLocale("lt",{months:{format:"sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio".split("_"),standalone:"sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis".split("_"),isFormat:/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/},monthsShort:"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),weekdays:{format:"sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį".split("_"),standalone:"sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis".split("_"),isFormat:/dddd HH:mm/},weekdaysShort:"Sek_Pir_Ant_Tre_Ket_Pen_Šeš".split("_"),weekdaysMin:"S_P_A_T_K_Pn_Š".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], HH:mm [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], HH:mm [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]"},calendar:{sameDay:"[Šiandien] LT",nextDay:"[Rytoj] LT",nextWeek:"dddd LT",lastDay:"[Vakar] LT",lastWeek:"[Praėjusį] dddd LT",sameElse:"L"},relativeTime:{future:"po %s",past:"prieš %s",s:function(t,e,n,r){return e?"kelios sekundės":r?"kelių sekundžių":"kelias sekundes"},ss:a,m:n,mm:a,h:n,hh:a,d:n,dd:a,M:n,MM:a,y:n,yy:a},dayOfMonthOrdinalParse:/\d{1,2}-oji/,ordinal:function(t){return t+"-oji"},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("lo",{months:"ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ".split("_"),monthsShort:"ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ".split("_"),weekdays:"ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ".split("_"),weekdaysShort:"ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ".split("_"),weekdaysMin:"ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"ວັນdddd D MMMM YYYY HH:mm"},meridiemParse:/ຕອນເຊົ້າ|ຕອນແລງ/,isPM:function(t){return"ຕອນແລງ"===t},meridiem:function(t,e,n){return t<12?"ຕອນເຊົ້າ":"ຕອນແລງ"},calendar:{sameDay:"[ມື້ນີ້ເວລາ] LT",nextDay:"[ມື້ອື່ນເວລາ] LT",nextWeek:"[ວັນ]dddd[ໜ້າເວລາ] LT",lastDay:"[ມື້ວານນີ້ເວລາ] LT",lastWeek:"[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT",sameElse:"L"},relativeTime:{future:"ອີກ %s",past:"%sຜ່ານມາ",s:"ບໍ່ເທົ່າໃດວິນາທີ",ss:"%d ວິນາທີ",m:"1 ນາທີ",mm:"%d ນາທີ",h:"1 ຊົ່ວໂມງ",hh:"%d ຊົ່ວໂມງ",d:"1 ມື້",dd:"%d ມື້",M:"1 ເດືອນ",MM:"%d ເດືອນ",y:"1 ປີ",yy:"%d ປີ"},dayOfMonthOrdinalParse:/(ທີ່)\d{1,2}/,ordinal:function(t){return"ທີ່"+t}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n,r){var i={m:["eng Minutt","enger Minutt"],h:["eng Stonn","enger Stonn"],d:["een Dag","engem Dag"],M:["ee Mount","engem Mount"],y:["ee Joer","engem Joer"]};return e?i[n][0]:i[n][1]}function n(t){if(t=parseInt(t,10),isNaN(t))return!1;if(t<0)return!0;if(t<10)return 4<=t&&t<=7;if(t<100){var e=t%10,r=t/10;return n(0===e?r:e)}if(t<1e4){for(;t>=10;)t/=10;return n(t)}return n(t/=1e3)}t.defineLocale("lb",{months:"Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg".split("_"),weekdaysShort:"So._Mé._Dë._Më._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mé_Dë_Më_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm [Auer]",LTS:"H:mm:ss [Auer]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm [Auer]",LLLL:"dddd, D. MMMM YYYY H:mm [Auer]"},calendar:{sameDay:"[Haut um] LT",sameElse:"L",nextDay:"[Muer um] LT",nextWeek:"dddd [um] LT",lastDay:"[Gëschter um] LT",lastWeek:function(){switch(this.day()){case 2:case 4:return"[Leschten] dddd [um] LT";default:return"[Leschte] dddd [um] LT"}}},relativeTime:{future:function(t){return n(t.substr(0,t.indexOf(" ")))?"a "+t:"an "+t},past:function(t){return n(t.substr(0,t.indexOf(" ")))?"viru "+t:"virun "+t},s:"e puer Sekonnen",ss:"%d Sekonnen",m:e,mm:"%d Minutten",h:e,hh:"%d Stonnen",d:e,dd:"%d Deeg",M:e,MM:"%d Méint",y:e,yy:"%d Joer"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={0:"-чү",1:"-чи",2:"-чи",3:"-чү",4:"-чү",5:"-чи",6:"-чы",7:"-чи",8:"-чи",9:"-чу",10:"-чу",20:"-чы",30:"-чу",40:"-чы",50:"-чү",60:"-чы",70:"-чи",80:"-чи",90:"-чу",100:"-чү"};t.defineLocale("ky",{months:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_"),monthsShort:"янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек".split("_"),weekdays:"Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби".split("_"),weekdaysShort:"Жек_Дүй_Шей_Шар_Бей_Жум_Ише".split("_"),weekdaysMin:"Жк_Дй_Шй_Шр_Бй_Жм_Иш".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Бүгүн саат] LT",nextDay:"[Эртең саат] LT",nextWeek:"dddd [саат] LT",lastDay:"[Кече саат] LT",lastWeek:"[Өткен аптанын] dddd [күнү] [саат] LT",sameElse:"L"},relativeTime:{future:"%s ичинде",past:"%s мурун",s:"бирнече секунд",ss:"%d секунд",m:"бир мүнөт",mm:"%d мүнөт",h:"бир саат",hh:"%d саат",d:"бир күн",dd:"%d күн",M:"бир ай",MM:"%d ай",y:"бир жыл",yy:"%d жыл"},dayOfMonthOrdinalParse:/\d{1,2}-(чи|чы|чү|чу)/,ordinal:function(t){var n=t%10,r=t>=100?100:null;return t+(e[t]||e[n]||e[r])},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("ko",{months:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),monthsShort:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),weekdays:"일요일_월요일_화요일_수요일_목요일_금요일_토요일".split("_"),weekdaysShort:"일_월_화_수_목_금_토".split("_"),weekdaysMin:"일_월_화_수_목_금_토".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY년 MMMM D일",LLL:"YYYY년 MMMM D일 A h:mm",LLLL:"YYYY년 MMMM D일 dddd A h:mm",l:"YYYY.MM.DD.",ll:"YYYY년 MMMM D일",lll:"YYYY년 MMMM D일 A h:mm",llll:"YYYY년 MMMM D일 dddd A h:mm"},calendar:{sameDay:"오늘 LT",nextDay:"내일 LT",nextWeek:"dddd LT",lastDay:"어제 LT",lastWeek:"지난주 dddd LT",sameElse:"L"},relativeTime:{future:"%s 후",past:"%s 전",s:"몇 초",ss:"%d초",m:"1분",mm:"%d분",h:"한 시간",hh:"%d시간",d:"하루",dd:"%d일",M:"한 달",MM:"%d달",y:"일 년",yy:"%d년"},dayOfMonthOrdinalParse:/\d{1,2}(일|월|주)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"일";case"M":return t+"월";case"w":case"W":return t+"주";default:return t}},meridiemParse:/오전|오후/,isPM:function(t){return"오후"===t},meridiem:function(t,e,n){return t<12?"오전":"오후"}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"೧",2:"೨",3:"೩",4:"೪",5:"೫",6:"೬",7:"೭",8:"೮",9:"೯",0:"೦"},n={"೧":"1","೨":"2","೩":"3","೪":"4","೫":"5","೬":"6","೭":"7","೮":"8","೯":"9","೦":"0"};t.defineLocale("kn",{months:"ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್".split("_"),monthsShort:"ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ".split("_"),monthsParseExact:!0,weekdays:"ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ".split("_"),weekdaysShort:"ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ".split("_"),weekdaysMin:"ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[ಇಂದು] LT",nextDay:"[ನಾಳೆ] LT",nextWeek:"dddd, LT",lastDay:"[ನಿನ್ನೆ] LT",lastWeek:"[ಕೊನೆಯ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ನಂತರ",past:"%s ಹಿಂದೆ",s:"ಕೆಲವು ಕ್ಷಣಗಳು",ss:"%d ಸೆಕೆಂಡುಗಳು",m:"ಒಂದು ನಿಮಿಷ",mm:"%d ನಿಮಿಷ",h:"ಒಂದು ಗಂಟೆ",hh:"%d ಗಂಟೆ",d:"ಒಂದು ದಿನ",dd:"%d ದಿನ",M:"ಒಂದು ತಿಂಗಳು",MM:"%d ತಿಂಗಳು",y:"ಒಂದು ವರ್ಷ",yy:"%d ವರ್ಷ"},preparse:function(t){return t.replace(/[೧೨೩೪೫೬೭೮೯೦]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,meridiemHour:function(t,e){return 12===t&&(t=0),"ರಾತ್ರಿ"===e?t<4?t:t+12:"ಬೆಳಿಗ್ಗೆ"===e?t:"ಮಧ್ಯಾಹ್ನ"===e?t>=10?t:t+12:"ಸಂಜೆ"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"ರಾತ್ರಿ":t<10?"ಬೆಳಿಗ್ಗೆ":t<17?"ಮಧ್ಯಾಹ್ನ":t<20?"ಸಂಜೆ":"ರಾತ್ರಿ"},dayOfMonthOrdinalParse:/\d{1,2}(ನೇ)/,ordinal:function(t){return t+"ನೇ"},week:{dow:0,doy:6}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("km",{months:"មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),monthsShort:"មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),weekdays:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),weekdaysShort:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),weekdaysMin:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[ថ្ងៃនេះ ម៉ោង] LT",nextDay:"[ស្អែក ម៉ោង] LT",nextWeek:"dddd [ម៉ោង] LT",lastDay:"[ម្សិលមិញ ម៉ោង] LT",lastWeek:"dddd [សប្តាហ៍មុន] [ម៉ោង] LT",sameElse:"L"},relativeTime:{future:"%sទៀត",past:"%sមុន",s:"ប៉ុន្មានវិនាទី",ss:"%d វិនាទី",m:"មួយនាទី",mm:"%d នាទី",h:"មួយម៉ោង",hh:"%d ម៉ោង",d:"មួយថ្ងៃ",dd:"%d ថ្ងៃ",M:"មួយខែ",MM:"%d ខែ",y:"មួយឆ្នាំ",yy:"%d ឆ្នាំ"},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={0:"-ші",1:"-ші",2:"-ші",3:"-ші",4:"-ші",5:"-ші",6:"-шы",7:"-ші",8:"-ші",9:"-шы",10:"-шы",20:"-шы",30:"-шы",40:"-шы",50:"-ші",60:"-шы",70:"-ші",80:"-ші",90:"-шы",100:"-ші"};t.defineLocale("kk",{months:"қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан".split("_"),monthsShort:"қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел".split("_"),weekdays:"жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі".split("_"),weekdaysShort:"жек_дүй_сей_сәр_бей_жұм_сен".split("_"),weekdaysMin:"жк_дй_сй_ср_бй_жм_сн".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Бүгін сағат] LT",nextDay:"[Ертең сағат] LT",nextWeek:"dddd [сағат] LT",lastDay:"[Кеше сағат] LT",lastWeek:"[Өткен аптаның] dddd [сағат] LT",sameElse:"L"},relativeTime:{future:"%s ішінде",past:"%s бұрын",s:"бірнеше секунд",ss:"%d секунд",m:"бір минут",mm:"%d минут",h:"бір сағат",hh:"%d сағат",d:"бір күн",dd:"%d күн",M:"бір ай",MM:"%d ай",y:"бір жыл",yy:"%d жыл"},dayOfMonthOrdinalParse:/\d{1,2}-(ші|шы)/,ordinal:function(t){var n=t%10,r=t>=100?100:null;return t+(e[t]||e[n]||e[r])},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("ka",{months:{standalone:"იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი".split("_"),format:"იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს".split("_")},monthsShort:"იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ".split("_"),weekdays:{standalone:"კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი".split("_"),format:"კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს".split("_"),isFormat:/(წინა|შემდეგ)/},weekdaysShort:"კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ".split("_"),weekdaysMin:"კვ_ორ_სა_ოთ_ხუ_პა_შა".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[დღეს] LT[-ზე]",nextDay:"[ხვალ] LT[-ზე]",lastDay:"[გუშინ] LT[-ზე]",nextWeek:"[შემდეგ] dddd LT[-ზე]",lastWeek:"[წინა] dddd LT-ზე",sameElse:"L"},relativeTime:{future:function(t){return/(წამი|წუთი|საათი|წელი)/.test(t)?t.replace(/ი$/,"ში"):t+"ში"},past:function(t){return/(წამი|წუთი|საათი|დღე|თვე)/.test(t)?t.replace(/(ი|ე)$/,"ის უკან"):/წელი/.test(t)?t.replace(/წელი$/,"წლის უკან"):void 0},s:"რამდენიმე წამი",ss:"%d წამი",m:"წუთი",mm:"%d წუთი",h:"საათი",hh:"%d საათი",d:"დღე",dd:"%d დღე",M:"თვე",MM:"%d თვე",y:"წელი",yy:"%d წელი"},dayOfMonthOrdinalParse:/0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/,ordinal:function(t){return 0===t?t:1===t?t+"-ლი":t<20||t<=100&&t%20==0||t%100==0?"მე-"+t:t+"-ე"},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("jv",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des".split("_"),weekdays:"Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu".split("_"),weekdaysShort:"Min_Sen_Sel_Reb_Kem_Jem_Sep".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sp".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/enjing|siyang|sonten|ndalu/,meridiemHour:function(t,e){return 12===t&&(t=0),"enjing"===e?t:"siyang"===e?t>=11?t:t+12:"sonten"===e||"ndalu"===e?t+12:void 0},meridiem:function(t,e,n){return t<11?"enjing":t<15?"siyang":t<19?"sonten":"ndalu"},calendar:{sameDay:"[Dinten puniko pukul] LT",nextDay:"[Mbenjang pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kala wingi pukul] LT",lastWeek:"dddd [kepengker pukul] LT",sameElse:"L"},relativeTime:{future:"wonten ing %s",past:"%s ingkang kepengker",s:"sawetawis detik",ss:"%d detik",m:"setunggal menit",mm:"%d menit",h:"setunggal jam",hh:"%d jam",d:"sedinten",dd:"%d dinten",M:"sewulan",MM:"%d wulan",y:"setaun",yy:"%d taun"},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("ja",{months:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日".split("_"),weekdaysShort:"日_月_火_水_木_金_土".split("_"),weekdaysMin:"日_月_火_水_木_金_土".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日 HH:mm dddd",l:"YYYY/MM/DD",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日 HH:mm dddd"},meridiemParse:/午前|午後/i,isPM:function(t){return"午後"===t},meridiem:function(t,e,n){return t<12?"午前":"午後"},calendar:{sameDay:"[今日] LT",nextDay:"[明日] LT",nextWeek:"[来週]dddd LT",lastDay:"[昨日] LT",lastWeek:"[前週]dddd LT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}日/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"日";default:return t}},relativeTime:{future:"%s後",past:"%s前",s:"数秒",ss:"%d秒",m:"1分",mm:"%d分",h:"1時間",hh:"%d時間",d:"1日",dd:"%d日",M:"1ヶ月",MM:"%dヶ月",y:"1年",yy:"%d年"}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("it",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){switch(this.day()){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future:function(t){return(/^[0-9].+$/.test(t)?"tra":"in")+" "+t},past:"%s fa",s:"alcuni secondi",ss:"%d secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t){return t%100==11||t%10!=1}function n(t,n,r,i){var a=t+" ";switch(r){case"s":return n||i?"nokkrar sekúndur":"nokkrum sekúndum";case"ss":return e(t)?a+(n||i?"sekúndur":"sekúndum"):a+"sekúnda";case"m":return n?"mínúta":"mínútu";case"mm":return e(t)?a+(n||i?"mínútur":"mínútum"):n?a+"mínúta":a+"mínútu";case"hh":return e(t)?a+(n||i?"klukkustundir":"klukkustundum"):a+"klukkustund";case"d":return n?"dagur":i?"dag":"degi";case"dd":return e(t)?n?a+"dagar":a+(i?"daga":"dögum"):n?a+"dagur":a+(i?"dag":"degi");case"M":return n?"mánuður":i?"mánuð":"mánuði";case"MM":return e(t)?n?a+"mánuðir":a+(i?"mánuði":"mánuðum"):n?a+"mánuður":a+(i?"mánuð":"mánuði");case"y":return n||i?"ár":"ári";case"yy":return e(t)?a+(n||i?"ár":"árum"):a+(n||i?"ár":"ári")}}t.defineLocale("is",{months:"janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember".split("_"),monthsShort:"jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des".split("_"),weekdays:"sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur".split("_"),weekdaysShort:"sun_mán_þri_mið_fim_fös_lau".split("_"),weekdaysMin:"Su_Má_Þr_Mi_Fi_Fö_La".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd, D. MMMM YYYY [kl.] H:mm"},calendar:{sameDay:"[í dag kl.] LT",nextDay:"[á morgun kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[í gær kl.] LT",lastWeek:"[síðasta] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"eftir %s",past:"fyrir %s síðan",s:n,ss:n,m:n,mm:n,h:"klukkustund",hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("id",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des".split("_"),weekdays:"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),weekdaysShort:"Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|siang|sore|malam/,meridiemHour:function(t,e){return 12===t&&(t=0),"pagi"===e?t:"siang"===e?t>=11?t:t+12:"sore"===e||"malam"===e?t+12:void 0},meridiem:function(t,e,n){return t<11?"pagi":t<15?"siang":t<19?"sore":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kemarin pukul] LT",lastWeek:"dddd [lalu pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",ss:"%d detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("hy-am",{months:{format:"հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի".split("_"),standalone:"հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր".split("_")},monthsShort:"հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ".split("_"),weekdays:"կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ".split("_"),weekdaysShort:"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),weekdaysMin:"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY թ.",LLL:"D MMMM YYYY թ., HH:mm",LLLL:"dddd, D MMMM YYYY թ., HH:mm"},calendar:{sameDay:"[այսօր] LT",nextDay:"[վաղը] LT",lastDay:"[երեկ] LT",nextWeek:function(){return"dddd [օրը ժամը] LT"},lastWeek:function(){return"[անցած] dddd [օրը ժամը] LT"},sameElse:"L"},relativeTime:{future:"%s հետո",past:"%s առաջ",s:"մի քանի վայրկյան",ss:"%d վայրկյան",m:"րոպե",mm:"%d րոպե",h:"ժամ",hh:"%d ժամ",d:"օր",dd:"%d օր",M:"ամիս",MM:"%d ամիս",y:"տարի",yy:"%d տարի"},meridiemParse:/գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,isPM:function(t){return/^(ցերեկվա|երեկոյան)$/.test(t)},meridiem:function(t){return t<4?"գիշերվա":t<12?"առավոտվա":t<17?"ցերեկվա":"երեկոյան"},dayOfMonthOrdinalParse:/\d{1,2}|\d{1,2}-(ին|րդ)/,ordinal:function(t,e){switch(e){case"DDD":case"w":case"W":case"DDDo":return 1===t?t+"-ին":t+"-րդ";default:return t}},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";var e="vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton".split(" ");function n(t,e,n,r){var i=t;switch(n){case"s":return r||e?"néhány másodperc":"néhány másodperce";case"ss":return i+(r||e)?" másodperc":" másodperce";case"m":return"egy"+(r||e?" perc":" perce");case"mm":return i+(r||e?" perc":" perce");case"h":return"egy"+(r||e?" óra":" órája");case"hh":return i+(r||e?" óra":" órája");case"d":return"egy"+(r||e?" nap":" napja");case"dd":return i+(r||e?" nap":" napja");case"M":return"egy"+(r||e?" hónap":" hónapja");case"MM":return i+(r||e?" hónap":" hónapja");case"y":return"egy"+(r||e?" év":" éve");case"yy":return i+(r||e?" év":" éve")}return""}function r(t){return(t?"":"[múlt] ")+"["+e[this.day()]+"] LT[-kor]"}t.defineLocale("hu",{months:"január_február_március_április_május_június_július_augusztus_szeptember_október_november_december".split("_"),monthsShort:"jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec".split("_"),weekdays:"vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat".split("_"),weekdaysShort:"vas_hét_kedd_sze_csüt_pén_szo".split("_"),weekdaysMin:"v_h_k_sze_cs_p_szo".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D. H:mm",LLLL:"YYYY. MMMM D., dddd H:mm"},meridiemParse:/de|du/i,isPM:function(t){return"u"===t.charAt(1).toLowerCase()},meridiem:function(t,e,n){return t<12?!0===n?"de":"DE":!0===n?"du":"DU"},calendar:{sameDay:"[ma] LT[-kor]",nextDay:"[holnap] LT[-kor]",nextWeek:function(){return r.call(this,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek:function(){return r.call(this,!1)},sameElse:"L"},relativeTime:{future:"%s múlva",past:"%s",s:n,ss:n,m:n,mm:n,h:n,hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n){var r=t+" ";switch(n){case"ss":return r+=1===t?"sekunda":2===t||3===t||4===t?"sekunde":"sekundi";case"m":return e?"jedna minuta":"jedne minute";case"mm":return r+=1===t?"minuta":2===t||3===t||4===t?"minute":"minuta";case"h":return e?"jedan sat":"jednog sata";case"hh":return r+=1===t?"sat":2===t||3===t||4===t?"sata":"sati";case"dd":return r+=1===t?"dan":"dana";case"MM":return r+=1===t?"mjesec":2===t||3===t||4===t?"mjeseca":"mjeseci";case"yy":return r+=1===t?"godina":2===t||3===t||4===t?"godine":"godina"}}t.defineLocale("hr",{months:{format:"siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca".split("_"),standalone:"siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac".split("_")},monthsShort:"sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[prošlu] dddd [u] LT";case 6:return"[prošle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[prošli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:e,m:e,mm:e,h:e,hh:e,d:"dan",dd:e,M:"mjesec",MM:e,y:"godinu",yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},n={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};t.defineLocale("hi",{months:"जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर".split("_"),monthsShort:"जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.".split("_"),monthsParseExact:!0,weekdays:"रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysShort:"रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),longDateFormat:{LT:"A h:mm बजे",LTS:"A h:mm:ss बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm बजे",LLLL:"dddd, D MMMM YYYY, A h:mm बजे"},calendar:{sameDay:"[आज] LT",nextDay:"[कल] LT",nextWeek:"dddd, LT",lastDay:"[कल] LT",lastWeek:"[पिछले] dddd, LT",sameElse:"L"},relativeTime:{future:"%s में",past:"%s पहले",s:"कुछ ही क्षण",ss:"%d सेकंड",m:"एक मिनट",mm:"%d मिनट",h:"एक घंटा",hh:"%d घंटे",d:"एक दिन",dd:"%d दिन",M:"एक महीने",MM:"%d महीने",y:"एक वर्ष",yy:"%d वर्ष"},preparse:function(t){return t.replace(/[१२३४५६७८९०]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/रात|सुबह|दोपहर|शाम/,meridiemHour:function(t,e){return 12===t&&(t=0),"रात"===e?t<4?t:t+12:"सुबह"===e?t:"दोपहर"===e?t>=10?t:t+12:"शाम"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"रात":t<10?"सुबह":t<17?"दोपहर":t<20?"शाम":"रात"},week:{dow:0,doy:6}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("he",{months:"ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר".split("_"),monthsShort:"ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳".split("_"),weekdays:"ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת".split("_"),weekdaysShort:"א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳".split("_"),weekdaysMin:"א_ב_ג_ד_ה_ו_ש".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [ב]MMMM YYYY",LLL:"D [ב]MMMM YYYY HH:mm",LLLL:"dddd, D [ב]MMMM YYYY HH:mm",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[היום ב־]LT",nextDay:"[מחר ב־]LT",nextWeek:"dddd [בשעה] LT",lastDay:"[אתמול ב־]LT",lastWeek:"[ביום] dddd [האחרון בשעה] LT",sameElse:"L"},relativeTime:{future:"בעוד %s",past:"לפני %s",s:"מספר שניות",ss:"%d שניות",m:"דקה",mm:"%d דקות",h:"שעה",hh:function(t){return 2===t?"שעתיים":t+" שעות"},d:"יום",dd:function(t){return 2===t?"יומיים":t+" ימים"},M:"חודש",MM:function(t){return 2===t?"חודשיים":t+" חודשים"},y:"שנה",yy:function(t){return 2===t?"שנתיים":t%10==0&&10!==t?t+" שנה":t+" שנים"}},meridiemParse:/אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,isPM:function(t){return/^(אחה"צ|אחרי הצהריים|בערב)$/.test(t)},meridiem:function(t,e,n){return t<5?"לפנות בוקר":t<10?"בבוקר":t<12?n?'לפנה"צ':"לפני הצהריים":t<18?n?'אחה"צ':"אחרי הצהריים":"בערב"}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"૧",2:"૨",3:"૩",4:"૪",5:"૫",6:"૬",7:"૭",8:"૮",9:"૯",0:"૦"},n={"૧":"1","૨":"2","૩":"3","૪":"4","૫":"5","૬":"6","૭":"7","૮":"8","૯":"9","૦":"0"};t.defineLocale("gu",{months:"જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર".split("_"),monthsShort:"જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.".split("_"),monthsParseExact:!0,weekdays:"રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર".split("_"),weekdaysShort:"રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ".split("_"),weekdaysMin:"ર_સો_મં_બુ_ગુ_શુ_શ".split("_"),longDateFormat:{LT:"A h:mm વાગ્યે",LTS:"A h:mm:ss વાગ્યે",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm વાગ્યે",LLLL:"dddd, D MMMM YYYY, A h:mm વાગ્યે"},calendar:{sameDay:"[આજ] LT",nextDay:"[કાલે] LT",nextWeek:"dddd, LT",lastDay:"[ગઇકાલે] LT",lastWeek:"[પાછલા] dddd, LT",sameElse:"L"},relativeTime:{future:"%s મા",past:"%s પેહલા",s:"અમુક પળો",ss:"%d સેકંડ",m:"એક મિનિટ",mm:"%d મિનિટ",h:"એક કલાક",hh:"%d કલાક",d:"એક દિવસ",dd:"%d દિવસ",M:"એક મહિનો",MM:"%d મહિનો",y:"એક વર્ષ",yy:"%d વર્ષ"},preparse:function(t){return t.replace(/[૧૨૩૪૫૬૭૮૯૦]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/રાત|બપોર|સવાર|સાંજ/,meridiemHour:function(t,e){return 12===t&&(t=0),"રાત"===e?t<4?t:t+12:"સવાર"===e?t:"બપોર"===e?t>=10?t:t+12:"સાંજ"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"રાત":t<10?"સવાર":t<17?"બપોર":t<20?"સાંજ":"રાત"},week:{dow:0,doy:6}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n,r){var i={s:["thodde secondanim","thodde second"],ss:[t+" secondanim",t+" second"],m:["eka mintan","ek minute"],mm:[t+" mintanim",t+" mintam"],h:["eka horan","ek hor"],hh:[t+" horanim",t+" hor"],d:["eka disan","ek dis"],dd:[t+" disanim",t+" dis"],M:["eka mhoinean","ek mhoino"],MM:[t+" mhoineanim",t+" mhoine"],y:["eka vorsan","ek voros"],yy:[t+" vorsanim",t+" vorsam"]};return e?i[n][0]:i[n][1]}t.defineLocale("gom-latn",{months:"Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr".split("_"),monthsShort:"Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son'var".split("_"),weekdaysShort:"Ait._Som._Mon._Bud._Bre._Suk._Son.".split("_"),weekdaysMin:"Ai_Sm_Mo_Bu_Br_Su_Sn".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A h:mm [vazta]",LTS:"A h:mm:ss [vazta]",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY A h:mm [vazta]",LLLL:"dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]",llll:"ddd, D MMM YYYY, A h:mm [vazta]"},calendar:{sameDay:"[Aiz] LT",nextDay:"[Faleam] LT",nextWeek:"[Ieta to] dddd[,] LT",lastDay:"[Kal] LT",lastWeek:"[Fatlo] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s",past:"%s adim",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}(er)/,ordinal:function(t,e){switch(e){case"D":return t+"er";default:case"M":case"Q":case"DDD":case"d":case"w":case"W":return t}},week:{dow:1,doy:4},meridiemParse:/rati|sokalli|donparam|sanje/,meridiemHour:function(t,e){return 12===t&&(t=0),"rati"===e?t<4?t:t+12:"sokalli"===e?t:"donparam"===e?t>12?t:t+12:"sanje"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"rati":t<12?"sokalli":t<16?"donparam":t<20?"sanje":"rati"}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("gl",{months:"xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro".split("_"),monthsShort:"xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"domingo_luns_martes_mércores_xoves_venres_sábado".split("_"),weekdaysShort:"dom._lun._mar._mér._xov._ven._sáb.".split("_"),weekdaysMin:"do_lu_ma_mé_xo_ve_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoxe "+(1!==this.hours()?"ás":"á")+"] LT"},nextDay:function(){return"[mañá "+(1!==this.hours()?"ás":"á")+"] LT"},nextWeek:function(){return"dddd ["+(1!==this.hours()?"ás":"a")+"] LT"},lastDay:function(){return"[onte "+(1!==this.hours()?"á":"a")+"] LT"},lastWeek:function(){return"[o] dddd [pasado "+(1!==this.hours()?"ás":"a")+"] LT"},sameElse:"L"},relativeTime:{future:function(t){return 0===t.indexOf("un")?"n"+t:"en "+t},past:"hai %s",s:"uns segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"unha hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("gd",{months:["Am Faoilleach","An Gearran","Am Màrt","An Giblean","An Cèitean","An t-Ògmhios","An t-Iuchar","An Lùnastal","An t-Sultain","An Dàmhair","An t-Samhain","An Dùbhlachd"],monthsShort:["Faoi","Gear","Màrt","Gibl","Cèit","Ògmh","Iuch","Lùn","Sult","Dàmh","Samh","Dùbh"],monthsParseExact:!0,weekdays:["Didòmhnaich","Diluain","Dimàirt","Diciadain","Diardaoin","Dihaoine","Disathairne"],weekdaysShort:["Did","Dil","Dim","Dic","Dia","Dih","Dis"],weekdaysMin:["Dò","Lu","Mà","Ci","Ar","Ha","Sa"],longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[An-diugh aig] LT",nextDay:"[A-màireach aig] LT",nextWeek:"dddd [aig] LT",lastDay:"[An-dè aig] LT",lastWeek:"dddd [seo chaidh] [aig] LT",sameElse:"L"},relativeTime:{future:"ann an %s",past:"bho chionn %s",s:"beagan diogan",ss:"%d diogan",m:"mionaid",mm:"%d mionaidean",h:"uair",hh:"%d uairean",d:"latha",dd:"%d latha",M:"mìos",MM:"%d mìosan",y:"bliadhna",yy:"%d bliadhna"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(t){var e=1===t?"d":t%10==2?"na":"mh";return t+e},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e="jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.".split("_"),n="jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_");t.defineLocale("fy",{months:"jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber".split("_"),monthsShort:function(t,r){return t?/-MMM-/.test(r)?n[t.month()]:e[t.month()]:e},monthsParseExact:!0,weekdays:"snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon".split("_"),weekdaysShort:"si._mo._ti._wo._to._fr._so.".split("_"),weekdaysMin:"Si_Mo_Ti_Wo_To_Fr_So".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[hjoed om] LT",nextDay:"[moarn om] LT",nextWeek:"dddd [om] LT",lastDay:"[juster om] LT",lastWeek:"[ôfrûne] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oer %s",past:"%s lyn",s:"in pear sekonden",ss:"%d sekonden",m:"ien minút",mm:"%d minuten",h:"ien oere",hh:"%d oeren",d:"ien dei",dd:"%d dagen",M:"ien moanne",MM:"%d moannen",y:"ien jier",yy:"%d jierren"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(t){return t+(1===t||8===t||t>=20?"ste":"de")},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("fr-ch",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(t,e){switch(e){default:case"M":case"Q":case"D":case"DDD":case"d":return t+(1===t?"er":"e");case"w":case"W":return t+(1===t?"re":"e")}},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("fr-ca",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(t,e){switch(e){default:case"M":case"Q":case"D":case"DDD":case"d":return t+(1===t?"er":"e");case"w":case"W":return t+(1===t?"re":"e")}}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("fr",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|)/,ordinal:function(t,e){switch(e){case"D":return t+(1===t?"er":"");default:case"M":case"Q":case"DDD":case"d":return t+(1===t?"er":"e");case"w":case"W":return t+(1===t?"re":"e")}},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("fo",{months:"januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur".split("_"),weekdaysShort:"sun_mán_týs_mik_hós_frí_ley".split("_"),weekdaysMin:"su_má_tý_mi_hó_fr_le".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D. MMMM, YYYY HH:mm"},calendar:{sameDay:"[Í dag kl.] LT",nextDay:"[Í morgin kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[Í gjár kl.] LT",lastWeek:"[síðstu] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"um %s",past:"%s síðani",s:"fá sekund",ss:"%d sekundir",m:"ein minutt",mm:"%d minuttir",h:"ein tími",hh:"%d tímar",d:"ein dagur",dd:"%d dagar",M:"ein mánaði",MM:"%d mánaðir",y:"eitt ár",yy:"%d ár"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e="nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän".split(" "),n=["nolla","yhden","kahden","kolmen","neljän","viiden","kuuden",e[7],e[8],e[9]];function r(t,r,i,a){var o="";switch(i){case"s":return a?"muutaman sekunnin":"muutama sekunti";case"ss":return a?"sekunnin":"sekuntia";case"m":return a?"minuutin":"minuutti";case"mm":o=a?"minuutin":"minuuttia";break;case"h":return a?"tunnin":"tunti";case"hh":o=a?"tunnin":"tuntia";break;case"d":return a?"päivän":"päivä";case"dd":o=a?"päivän":"päivää";break;case"M":return a?"kuukauden":"kuukausi";case"MM":o=a?"kuukauden":"kuukautta";break;case"y":return a?"vuoden":"vuosi";case"yy":o=a?"vuoden":"vuotta"}return o=function(t,r){return t<10?r?n[t]:e[t]:t}(t,a)+" "+o}t.defineLocale("fi",{months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu".split("_"),weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"Do MMMM[ta] YYYY",LLL:"Do MMMM[ta] YYYY, [klo] HH.mm",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] HH.mm",l:"D.M.YYYY",ll:"Do MMM YYYY",lll:"Do MMM YYYY, [klo] HH.mm",llll:"ddd, Do MMM YYYY, [klo] HH.mm"},calendar:{sameDay:"[tänään] [klo] LT",nextDay:"[huomenna] [klo] LT",nextWeek:"dddd [klo] LT",lastDay:"[eilen] [klo] LT",lastWeek:"[viime] dddd[na] [klo] LT",sameElse:"L"},relativeTime:{future:"%s päästä",past:"%s sitten",s:r,ss:r,m:r,mm:r,h:r,hh:r,d:r,dd:r,M:r,MM:r,y:r,yy:r},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"۱",2:"۲",3:"۳",4:"۴",5:"۵",6:"۶",7:"۷",8:"۸",9:"۹",0:"۰"},n={"۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","۰":"0"};t.defineLocale("fa",{months:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),monthsShort:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),weekdays:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysShort:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysMin:"ی_د_س_چ_پ_ج_ش".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/قبل از ظهر|بعد از ظهر/,isPM:function(t){return/بعد از ظهر/.test(t)},meridiem:function(t,e,n){return t<12?"قبل از ظهر":"بعد از ظهر"},calendar:{sameDay:"[امروز ساعت] LT",nextDay:"[فردا ساعت] LT",nextWeek:"dddd [ساعت] LT",lastDay:"[دیروز ساعت] LT",lastWeek:"dddd [پیش] [ساعت] LT",sameElse:"L"},relativeTime:{future:"در %s",past:"%s پیش",s:"چند ثانیه",ss:"ثانیه d%",m:"یک دقیقه",mm:"%d دقیقه",h:"یک ساعت",hh:"%d ساعت",d:"یک روز",dd:"%d روز",M:"یک ماه",MM:"%d ماه",y:"یک سال",yy:"%d سال"},preparse:function(t){return t.replace(/[۰-۹]/g,function(t){return n[t]}).replace(/،/g,",")},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]}).replace(/,/g,"،")},dayOfMonthOrdinalParse:/\d{1,2}م/,ordinal:"%dم",week:{dow:6,doy:12}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("eu",{months:"urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua".split("_"),monthsShort:"urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.".split("_"),monthsParseExact:!0,weekdays:"igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata".split("_"),weekdaysShort:"ig._al._ar._az._og._ol._lr.".split("_"),weekdaysMin:"ig_al_ar_az_og_ol_lr".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY[ko] MMMM[ren] D[a]",LLL:"YYYY[ko] MMMM[ren] D[a] HH:mm",LLLL:"dddd, YYYY[ko] MMMM[ren] D[a] HH:mm",l:"YYYY-M-D",ll:"YYYY[ko] MMM D[a]",lll:"YYYY[ko] MMM D[a] HH:mm",llll:"ddd, YYYY[ko] MMM D[a] HH:mm"},calendar:{sameDay:"[gaur] LT[etan]",nextDay:"[bihar] LT[etan]",nextWeek:"dddd LT[etan]",lastDay:"[atzo] LT[etan]",lastWeek:"[aurreko] dddd LT[etan]",sameElse:"L"},relativeTime:{future:"%s barru",past:"duela %s",s:"segundo batzuk",ss:"%d segundo",m:"minutu bat",mm:"%d minutu",h:"ordu bat",hh:"%d ordu",d:"egun bat",dd:"%d egun",M:"hilabete bat",MM:"%d hilabete",y:"urte bat",yy:"%d urte"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n,r){var i={s:["mõne sekundi","mõni sekund","paar sekundit"],ss:[t+"sekundi",t+"sekundit"],m:["ühe minuti","üks minut"],mm:[t+" minuti",t+" minutit"],h:["ühe tunni","tund aega","üks tund"],hh:[t+" tunni",t+" tundi"],d:["ühe päeva","üks päev"],M:["kuu aja","kuu aega","üks kuu"],MM:[t+" kuu",t+" kuud"],y:["ühe aasta","aasta","üks aasta"],yy:[t+" aasta",t+" aastat"]};return e?i[n][2]?i[n][2]:i[n][1]:r?i[n][0]:i[n][1]}t.defineLocale("et",{months:"jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember".split("_"),monthsShort:"jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets".split("_"),weekdays:"pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev".split("_"),weekdaysShort:"P_E_T_K_N_R_L".split("_"),weekdaysMin:"P_E_T_K_N_R_L".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[Täna,] LT",nextDay:"[Homme,] LT",nextWeek:"[Järgmine] dddd LT",lastDay:"[Eile,] LT",lastWeek:"[Eelmine] dddd LT",sameElse:"L"},relativeTime:{future:"%s pärast",past:"%s tagasi",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:"%d päeva",M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),n="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_");t.defineLocale("es-us",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(t,r){return t?/-MMM-/.test(r)?n[t.month()]:e[t.month()]:e},monthsParseExact:!0,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"MM/DD/YYYY",LL:"MMMM [de] D [de] YYYY",LLL:"MMMM [de] D [de] YYYY h:mm A",LLLL:"dddd, MMMM [de] D [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:0,doy:6}})}(n(0))},function(t,e,n){!function(t){"use strict";var e="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),n="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),r=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],i=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;t.defineLocale("es-do",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(t,r){return t?/-MMM-/.test(r)?n[t.month()]:e[t.month()]:e},monthsRegex:i,monthsShortRegex:i,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:r,longMonthsParse:r,shortMonthsParse:r,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),n="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),r=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],i=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;t.defineLocale("es",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(t,r){return t?/-MMM-/.test(r)?n[t.month()]:e[t.month()]:e},monthsRegex:i,monthsShortRegex:i,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:r,longMonthsParse:r,shortMonthsParse:r,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("eo",{months:"januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec".split("_"),weekdays:"dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato".split("_"),weekdaysShort:"dim_lun_mard_merk_ĵaŭ_ven_sab".split("_"),weekdaysMin:"di_lu_ma_me_ĵa_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D[-a de] MMMM, YYYY",LLL:"D[-a de] MMMM, YYYY HH:mm",LLLL:"dddd, [la] D[-a de] MMMM, YYYY HH:mm"},meridiemParse:/[ap]\.t\.m/i,isPM:function(t){return"p"===t.charAt(0).toLowerCase()},meridiem:function(t,e,n){return t>11?n?"p.t.m.":"P.T.M.":n?"a.t.m.":"A.T.M."},calendar:{sameDay:"[Hodiaŭ je] LT",nextDay:"[Morgaŭ je] LT",nextWeek:"dddd [je] LT",lastDay:"[Hieraŭ je] LT",lastWeek:"[pasinta] dddd [je] LT",sameElse:"L"},relativeTime:{future:"post %s",past:"antaŭ %s",s:"sekundoj",ss:"%d sekundoj",m:"minuto",mm:"%d minutoj",h:"horo",hh:"%d horoj",d:"tago",dd:"%d tagoj",M:"monato",MM:"%d monatoj",y:"jaro",yy:"%d jaroj"},dayOfMonthOrdinalParse:/\d{1,2}a/,ordinal:"%da",week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("en-nz",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10,n=1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+n},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("en-il",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10,n=1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+n}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("en-ie",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10,n=1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+n},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("en-gb",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10,n=1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+n},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("en-ca",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"YYYY-MM-DD",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10,n=1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+n}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("en-au",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10,n=1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+n},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("el",{monthsNominativeEl:"Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος".split("_"),monthsGenitiveEl:"Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου".split("_"),months:function(t,e){return t?"string"==typeof e&&/D/.test(e.substring(0,e.indexOf("MMMM")))?this._monthsGenitiveEl[t.month()]:this._monthsNominativeEl[t.month()]:this._monthsNominativeEl},monthsShort:"Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ".split("_"),weekdays:"Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο".split("_"),weekdaysShort:"Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ".split("_"),weekdaysMin:"Κυ_Δε_Τρ_Τε_Πε_Πα_Σα".split("_"),meridiem:function(t,e,n){return t>11?n?"μμ":"ΜΜ":n?"πμ":"ΠΜ"},isPM:function(t){return"μ"===(t+"").toLowerCase()[0]},meridiemParse:/[ΠΜ]\.?Μ?\.?/i,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendarEl:{sameDay:"[Σήμερα {}] LT",nextDay:"[Αύριο {}] LT",nextWeek:"dddd [{}] LT",lastDay:"[Χθες {}] LT",lastWeek:function(){switch(this.day()){case 6:return"[το προηγούμενο] dddd [{}] LT";default:return"[την προηγούμενη] dddd [{}] LT"}},sameElse:"L"},calendar:function(t,e){var n,r=this._calendarEl[t],i=e&&e.hours();return((n=r)instanceof Function||"[object Function]"===Object.prototype.toString.call(n))&&(r=r.apply(e)),r.replace("{}",i%12==1?"στη":"στις")},relativeTime:{future:"σε %s",past:"%s πριν",s:"λίγα δευτερόλεπτα",ss:"%d δευτερόλεπτα",m:"ένα λεπτό",mm:"%d λεπτά",h:"μία ώρα",hh:"%d ώρες",d:"μία μέρα",dd:"%d μέρες",M:"ένας μήνας",MM:"%d μήνες",y:"ένας χρόνος",yy:"%d χρόνια"},dayOfMonthOrdinalParse:/\d{1,2}η/,ordinal:"%dη",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e=["ޖެނުއަރީ","ފެބްރުއަރީ","މާރިޗު","އޭޕްރީލު","މޭ","ޖޫން","ޖުލައި","އޯގަސްޓު","ސެޕްޓެމްބަރު","އޮކްޓޯބަރު","ނޮވެމްބަރު","ޑިސެމްބަރު"],n=["އާދިއްތަ","ހޯމަ","އަންގާރަ","ބުދަ","ބުރާސްފަތި","ހުކުރު","ހޮނިހިރު"];t.defineLocale("dv",{months:e,monthsShort:e,weekdays:n,weekdaysShort:n,weekdaysMin:"އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/M/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/މކ|މފ/,isPM:function(t){return"މފ"===t},meridiem:function(t,e,n){return t<12?"މކ":"މފ"},calendar:{sameDay:"[މިއަދު] LT",nextDay:"[މާދަމާ] LT",nextWeek:"dddd LT",lastDay:"[އިއްޔެ] LT",lastWeek:"[ފާއިތުވި] dddd LT",sameElse:"L"},relativeTime:{future:"ތެރޭގައި %s",past:"ކުރިން %s",s:"ސިކުންތުކޮޅެއް",ss:"d% ސިކުންތު",m:"މިނިޓެއް",mm:"މިނިޓު %d",h:"ގަޑިއިރެއް",hh:"ގަޑިއިރު %d",d:"ދުވަހެއް",dd:"ދުވަސް %d",M:"މަހެއް",MM:"މަސް %d",y:"އަހަރެއް",yy:"އަހަރު %d"},preparse:function(t){return t.replace(/،/g,",")},postformat:function(t){return t.replace(/,/g,"،")},week:{dow:7,doy:12}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n,r){var i={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[t+" Tage",t+" Tagen"],M:["ein Monat","einem Monat"],MM:[t+" Monate",t+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[t+" Jahre",t+" Jahren"]};return e?i[n][0]:i[n][1]}t.defineLocale("de-ch",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:e,mm:"%d Minuten",h:e,hh:"%d Stunden",d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n,r){var i={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[t+" Tage",t+" Tagen"],M:["ein Monat","einem Monat"],MM:[t+" Monate",t+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[t+" Jahre",t+" Jahren"]};return e?i[n][0]:i[n][1]}t.defineLocale("de-at",{months:"Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:e,mm:"%d Minuten",h:e,hh:"%d Stunden",d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n,r){var i={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[t+" Tage",t+" Tagen"],M:["ein Monat","einem Monat"],MM:[t+" Monate",t+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[t+" Jahre",t+" Jahren"]};return e?i[n][0]:i[n][1]}t.defineLocale("de",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:e,mm:"%d Minuten",h:e,hh:"%d Stunden",d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("da",{months:"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"søn_man_tir_ons_tor_fre_lør".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd [d.] D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"på dddd [kl.] LT",lastDay:"[i går kl.] LT",lastWeek:"[i] dddd[s kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"få sekunder",ss:"%d sekunder",m:"et minut",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dage",M:"en måned",MM:"%d måneder",y:"et år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("cy",{months:"Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr".split("_"),monthsShort:"Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag".split("_"),weekdays:"Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn".split("_"),weekdaysShort:"Sul_Llun_Maw_Mer_Iau_Gwe_Sad".split("_"),weekdaysMin:"Su_Ll_Ma_Me_Ia_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Heddiw am] LT",nextDay:"[Yfory am] LT",nextWeek:"dddd [am] LT",lastDay:"[Ddoe am] LT",lastWeek:"dddd [diwethaf am] LT",sameElse:"L"},relativeTime:{future:"mewn %s",past:"%s yn ôl",s:"ychydig eiliadau",ss:"%d eiliad",m:"munud",mm:"%d munud",h:"awr",hh:"%d awr",d:"diwrnod",dd:"%d diwrnod",M:"mis",MM:"%d mis",y:"blwyddyn",yy:"%d flynedd"},dayOfMonthOrdinalParse:/\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,ordinal:function(t){var e=t,n="";return e>20?n=40===e||50===e||60===e||80===e||100===e?"fed":"ain":e>0&&(n=["","af","il","ydd","ydd","ed","ed","ed","fed","fed","fed","eg","fed","eg","eg","fed","eg","eg","fed","eg","fed"][e]),t+n},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("cv",{months:"кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав".split("_"),monthsShort:"кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш".split("_"),weekdays:"вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун".split("_"),weekdaysShort:"выр_тун_ытл_юн_кӗҫ_эрн_шӑм".split("_"),weekdaysMin:"вр_тн_ыт_юн_кҫ_эр_шм".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]",LLL:"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm",LLLL:"dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm"},calendar:{sameDay:"[Паян] LT [сехетре]",nextDay:"[Ыран] LT [сехетре]",lastDay:"[Ӗнер] LT [сехетре]",nextWeek:"[Ҫитес] dddd LT [сехетре]",lastWeek:"[Иртнӗ] dddd LT [сехетре]",sameElse:"L"},relativeTime:{future:function(t){var e=/сехет$/i.exec(t)?"рен":/ҫул$/i.exec(t)?"тан":"ран";return t+e},past:"%s каялла",s:"пӗр-ик ҫеккунт",ss:"%d ҫеккунт",m:"пӗр минут",mm:"%d минут",h:"пӗр сехет",hh:"%d сехет",d:"пӗр кун",dd:"%d кун",M:"пӗр уйӑх",MM:"%d уйӑх",y:"пӗр ҫул",yy:"%d ҫул"},dayOfMonthOrdinalParse:/\d{1,2}-мӗш/,ordinal:"%d-мӗш",week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";var e="leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec".split("_"),n="led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro".split("_");function r(t){return t>1&&t<5&&1!=~~(t/10)}function i(t,e,n,i){var a=t+" ";switch(n){case"s":return e||i?"pár sekund":"pár sekundami";case"ss":return e||i?a+(r(t)?"sekundy":"sekund"):a+"sekundami";case"m":return e?"minuta":i?"minutu":"minutou";case"mm":return e||i?a+(r(t)?"minuty":"minut"):a+"minutami";case"h":return e?"hodina":i?"hodinu":"hodinou";case"hh":return e||i?a+(r(t)?"hodiny":"hodin"):a+"hodinami";case"d":return e||i?"den":"dnem";case"dd":return e||i?a+(r(t)?"dny":"dní"):a+"dny";case"M":return e||i?"měsíc":"měsícem";case"MM":return e||i?a+(r(t)?"měsíce":"měsíců"):a+"měsíci";case"y":return e||i?"rok":"rokem";case"yy":return e||i?a+(r(t)?"roky":"let"):a+"lety"}}t.defineLocale("cs",{months:e,monthsShort:n,monthsParse:function(t,e){var n,r=[];for(n=0;n<12;n++)r[n]=new RegExp("^"+t[n]+"$|^"+e[n]+"$","i");return r}(e,n),shortMonthsParse:function(t){var e,n=[];for(e=0;e<12;e++)n[e]=new RegExp("^"+t[e]+"$","i");return n}(n),longMonthsParse:function(t){var e,n=[];for(e=0;e<12;e++)n[e]=new RegExp("^"+t[e]+"$","i");return n}(e),weekdays:"neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota".split("_"),weekdaysShort:"ne_po_út_st_čt_pá_so".split("_"),weekdaysMin:"ne_po_út_st_čt_pá_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm",l:"D. M. YYYY"},calendar:{sameDay:"[dnes v] LT",nextDay:"[zítra v] LT",nextWeek:function(){switch(this.day()){case 0:return"[v neděli v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve středu v] LT";case 4:return"[ve čtvrtek v] LT";case 5:return"[v pátek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[včera v] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulou neděli v] LT";case 1:case 2:return"[minulé] dddd [v] LT";case 3:return"[minulou středu v] LT";case 4:case 5:return"[minulý] dddd [v] LT";case 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"před %s",s:i,ss:i,m:i,mm:i,h:i,hh:i,d:i,dd:i,M:i,MM:i,y:i,yy:i},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("ca",{months:{standalone:"gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"),format:"de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre".split("_"),isFormat:/D[oD]?(\s)+MMMM/},monthsShort:"gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.".split("_"),monthsParseExact:!0,weekdays:"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dt._dc._dj._dv._ds.".split("_"),weekdaysMin:"dg_dl_dt_dc_dj_dv_ds".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [de] YYYY",ll:"D MMM YYYY",LLL:"D MMMM [de] YYYY [a les] H:mm",lll:"D MMM YYYY, H:mm",LLLL:"dddd D MMMM [de] YYYY [a les] H:mm",llll:"ddd D MMM YYYY, H:mm"},calendar:{sameDay:function(){return"[avui a "+(1!==this.hours()?"les":"la")+"] LT"},nextDay:function(){return"[demà a "+(1!==this.hours()?"les":"la")+"] LT"},nextWeek:function(){return"dddd [a "+(1!==this.hours()?"les":"la")+"] LT"},lastDay:function(){return"[ahir a "+(1!==this.hours()?"les":"la")+"] LT"},lastWeek:function(){return"[el] dddd [passat a "+(1!==this.hours()?"les":"la")+"] LT"},sameElse:"L"},relativeTime:{future:"d'aquí %s",past:"fa %s",s:"uns segons",ss:"%d segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%d hores",d:"un dia",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},dayOfMonthOrdinalParse:/\d{1,2}(r|n|t|è|a)/,ordinal:function(t,e){var n=1===t?"r":2===t?"n":3===t?"r":4===t?"t":"è";return"w"!==e&&"W"!==e||(n="a"),t+n},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n){var r=t+" ";switch(n){case"ss":return r+=1===t?"sekunda":2===t||3===t||4===t?"sekunde":"sekundi";case"m":return e?"jedna minuta":"jedne minute";case"mm":return r+=1===t?"minuta":2===t||3===t||4===t?"minute":"minuta";case"h":return e?"jedan sat":"jednog sata";case"hh":return r+=1===t?"sat":2===t||3===t||4===t?"sata":"sati";case"dd":return r+=1===t?"dan":"dana";case"MM":return r+=1===t?"mjesec":2===t||3===t||4===t?"mjeseca":"mjeseci";case"yy":return r+=1===t?"godina":2===t||3===t||4===t?"godine":"godina"}}t.defineLocale("bs",{months:"januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[prošlu] dddd [u] LT";case 6:return"[prošle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[prošli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:e,m:e,mm:e,h:e,hh:e,d:"dan",dd:e,M:"mjesec",MM:e,y:"godinu",yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n){return t+" "+function(t,e){return 2===e?function(t){var e={m:"v",b:"v",d:"z"};return void 0===e[t.charAt(0)]?t:e[t.charAt(0)]+t.substring(1)}(t):t}({mm:"munutenn",MM:"miz",dd:"devezh"}[n],t)}t.defineLocale("br",{months:"Genver_C'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"),monthsShort:"Gen_C'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"),weekdays:"Sul_Lun_Meurzh_Merc'her_Yaou_Gwener_Sadorn".split("_"),weekdaysShort:"Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),weekdaysMin:"Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h[e]mm A",LTS:"h[e]mm:ss A",L:"DD/MM/YYYY",LL:"D [a viz] MMMM YYYY",LLL:"D [a viz] MMMM YYYY h[e]mm A",LLLL:"dddd, D [a viz] MMMM YYYY h[e]mm A"},calendar:{sameDay:"[Hiziv da] LT",nextDay:"[Warc'hoazh da] LT",nextWeek:"dddd [da] LT",lastDay:"[Dec'h da] LT",lastWeek:"dddd [paset da] LT",sameElse:"L"},relativeTime:{future:"a-benn %s",past:"%s 'zo",s:"un nebeud segondennoù",ss:"%d eilenn",m:"ur vunutenn",mm:e,h:"un eur",hh:"%d eur",d:"un devezh",dd:e,M:"ur miz",MM:e,y:"ur bloaz",yy:function(t){switch(function t(e){return e>9?t(e%10):e}(t)){case 1:case 3:case 4:case 5:case 9:return t+" bloaz";default:return t+" vloaz"}}},dayOfMonthOrdinalParse:/\d{1,2}(añ|vet)/,ordinal:function(t){var e=1===t?"añ":"vet";return t+e},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"༡",2:"༢",3:"༣",4:"༤",5:"༥",6:"༦",7:"༧",8:"༨",9:"༩",0:"༠"},n={"༡":"1","༢":"2","༣":"3","༤":"4","༥":"5","༦":"6","༧":"7","༨":"8","༩":"9","༠":"0"};t.defineLocale("bo",{months:"ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ".split("_"),monthsShort:"ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ".split("_"),weekdays:"གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་".split("_"),weekdaysShort:"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་".split("_"),weekdaysMin:"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[དི་རིང] LT",nextDay:"[སང་ཉིན] LT",nextWeek:"[བདུན་ཕྲག་རྗེས་མ], LT",lastDay:"[ཁ་སང] LT",lastWeek:"[བདུན་ཕྲག་མཐའ་མ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ལ་",past:"%s སྔན་ལ",s:"ལམ་སང",ss:"%d སྐར་ཆ།",m:"སྐར་མ་གཅིག",mm:"%d སྐར་མ",h:"ཆུ་ཚོད་གཅིག",hh:"%d ཆུ་ཚོད",d:"ཉིན་གཅིག",dd:"%d ཉིན་",M:"ཟླ་བ་གཅིག",MM:"%d ཟླ་བ",y:"ལོ་གཅིག",yy:"%d ལོ"},preparse:function(t){return t.replace(/[༡༢༣༤༥༦༧༨༩༠]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,meridiemHour:function(t,e){return 12===t&&(t=0),"མཚན་མོ"===e&&t>=4||"ཉིན་གུང"===e&&t<5||"དགོང་དག"===e?t+12:t},meridiem:function(t,e,n){return t<4?"མཚན་མོ":t<10?"ཞོགས་ཀས":t<17?"ཉིན་གུང":t<20?"དགོང་དག":"མཚན་མོ"},week:{dow:0,doy:6}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"১",2:"২",3:"৩",4:"৪",5:"৫",6:"৬",7:"৭",8:"৮",9:"৯",0:"০"},n={"১":"1","২":"2","৩":"3","৪":"4","৫":"5","৬":"6","৭":"7","৮":"8","৯":"9","০":"0"};t.defineLocale("bn",{months:"জানুয়ারী_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর".split("_"),monthsShort:"জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে".split("_"),weekdays:"রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার".split("_"),weekdaysShort:"রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি".split("_"),weekdaysMin:"রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি".split("_"),longDateFormat:{LT:"A h:mm সময়",LTS:"A h:mm:ss সময়",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm সময়",LLLL:"dddd, D MMMM YYYY, A h:mm সময়"},calendar:{sameDay:"[আজ] LT",nextDay:"[আগামীকাল] LT",nextWeek:"dddd, LT",lastDay:"[গতকাল] LT",lastWeek:"[গত] dddd, LT",sameElse:"L"},relativeTime:{future:"%s পরে",past:"%s আগে",s:"কয়েক সেকেন্ড",ss:"%d সেকেন্ড",m:"এক মিনিট",mm:"%d মিনিট",h:"এক ঘন্টা",hh:"%d ঘন্টা",d:"এক দিন",dd:"%d দিন",M:"এক মাস",MM:"%d মাস",y:"এক বছর",yy:"%d বছর"},preparse:function(t){return t.replace(/[১২৩৪৫৬৭৮৯০]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/রাত|সকাল|দুপুর|বিকাল|রাত/,meridiemHour:function(t,e){return 12===t&&(t=0),"রাত"===e&&t>=4||"দুপুর"===e&&t<5||"বিকাল"===e?t+12:t},meridiem:function(t,e,n){return t<4?"রাত":t<10?"সকাল":t<17?"দুপুর":t<20?"বিকাল":"রাত"},week:{dow:0,doy:6}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("bm",{months:"Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo".split("_"),monthsShort:"Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des".split("_"),weekdays:"Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri".split("_"),weekdaysShort:"Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib".split("_"),weekdaysMin:"Ka_Nt_Ta_Ar_Al_Ju_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"MMMM [tile] D [san] YYYY",LLL:"MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm",LLLL:"dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm"},calendar:{sameDay:"[Bi lɛrɛ] LT",nextDay:"[Sini lɛrɛ] LT",nextWeek:"dddd [don lɛrɛ] LT",lastDay:"[Kunu lɛrɛ] LT",lastWeek:"dddd [tɛmɛnen lɛrɛ] LT",sameElse:"L"},relativeTime:{future:"%s kɔnɔ",past:"a bɛ %s bɔ",s:"sanga dama dama",ss:"sekondi %d",m:"miniti kelen",mm:"miniti %d",h:"lɛrɛ kelen",hh:"lɛrɛ %d",d:"tile kelen",dd:"tile %d",M:"kalo kelen",MM:"kalo %d",y:"san kelen",yy:"san %d"},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("bg",{months:"януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември".split("_"),monthsShort:"янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек".split("_"),weekdays:"неделя_понеделник_вторник_сряда_четвъртък_петък_събота".split("_"),weekdaysShort:"нед_пон_вто_сря_чет_пет_съб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[Днес в] LT",nextDay:"[Утре в] LT",nextWeek:"dddd [в] LT",lastDay:"[Вчера в] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[В изминалата] dddd [в] LT";case 1:case 2:case 4:case 5:return"[В изминалия] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"след %s",past:"преди %s",s:"няколко секунди",ss:"%d секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дни",M:"месец",MM:"%d месеца",y:"година",yy:"%d години"},dayOfMonthOrdinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(t){var e=t%10,n=t%100;return 0===t?t+"-ев":0===n?t+"-ен":n>10&&n<20?t+"-ти":1===e?t+"-ви":2===e?t+"-ри":7===e||8===e?t+"-ми":t+"-ти"},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n){var r,i,a={ss:e?"секунда_секунды_секунд":"секунду_секунды_секунд",mm:e?"хвіліна_хвіліны_хвілін":"хвіліну_хвіліны_хвілін",hh:e?"гадзіна_гадзіны_гадзін":"гадзіну_гадзіны_гадзін",dd:"дзень_дні_дзён",MM:"месяц_месяцы_месяцаў",yy:"год_гады_гадоў"};return"m"===n?e?"хвіліна":"хвіліну":"h"===n?e?"гадзіна":"гадзіну":t+" "+(r=+t,i=a[n].split("_"),r%10==1&&r%100!=11?i[0]:r%10>=2&&r%10<=4&&(r%100<10||r%100>=20)?i[1]:i[2])}t.defineLocale("be",{months:{format:"студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня".split("_"),standalone:"студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань".split("_")},monthsShort:"студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж".split("_"),weekdays:{format:"нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу".split("_"),standalone:"нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота".split("_"),isFormat:/\[ ?[Вв] ?(?:мінулую|наступную)? ?\] ?dddd/},weekdaysShort:"нд_пн_ат_ср_чц_пт_сб".split("_"),weekdaysMin:"нд_пн_ат_ср_чц_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., HH:mm",LLLL:"dddd, D MMMM YYYY г., HH:mm"},calendar:{sameDay:"[Сёння ў] LT",nextDay:"[Заўтра ў] LT",lastDay:"[Учора ў] LT",nextWeek:function(){return"[У] dddd [ў] LT"},lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return"[У мінулую] dddd [ў] LT";case 1:case 2:case 4:return"[У мінулы] dddd [ў] LT"}},sameElse:"L"},relativeTime:{future:"праз %s",past:"%s таму",s:"некалькі секунд",m:e,mm:e,h:e,hh:e,d:"дзень",dd:e,M:"месяц",MM:e,y:"год",yy:e},meridiemParse:/ночы|раніцы|дня|вечара/,isPM:function(t){return/^(дня|вечара)$/.test(t)},meridiem:function(t,e,n){return t<4?"ночы":t<12?"раніцы":t<17?"дня":"вечара"},dayOfMonthOrdinalParse:/\d{1,2}-(і|ы|га)/,ordinal:function(t,e){switch(e){case"M":case"d":case"DDD":case"w":case"W":return t%10!=2&&t%10!=3||t%100==12||t%100==13?t+"-ы":t+"-і";case"D":return t+"-га";default:return t}},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"-inci",5:"-inci",8:"-inci",70:"-inci",80:"-inci",2:"-nci",7:"-nci",20:"-nci",50:"-nci",3:"-üncü",4:"-üncü",100:"-üncü",6:"-ncı",9:"-uncu",10:"-uncu",30:"-uncu",60:"-ıncı",90:"-ıncı"};t.defineLocale("az",{months:"yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr".split("_"),monthsShort:"yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek".split("_"),weekdays:"Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə".split("_"),weekdaysShort:"Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən".split("_"),weekdaysMin:"Bz_BE_ÇA_Çə_CA_Cü_Şə".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[sabah saat] LT",nextWeek:"[gələn həftə] dddd [saat] LT",lastDay:"[dünən] LT",lastWeek:"[keçən həftə] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s əvvəl",s:"birneçə saniyyə",ss:"%d saniyə",m:"bir dəqiqə",mm:"%d dəqiqə",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir il",yy:"%d il"},meridiemParse:/gecə|səhər|gündüz|axşam/,isPM:function(t){return/^(gündüz|axşam)$/.test(t)},meridiem:function(t,e,n){return t<4?"gecə":t<12?"səhər":t<17?"gündüz":"axşam"},dayOfMonthOrdinalParse:/\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,ordinal:function(t){if(0===t)return t+"-ıncı";var n=t%10,r=t%100-n,i=t>=100?100:null;return t+(e[n]||e[r]||e[i])},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("ar-tn",{months:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},n={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"};t.defineLocale("ar-sa",{months:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(t){return"م"===t},meridiem:function(t,e,n){return t<12?"ص":"م"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},preparse:function(t){return t.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(t){return n[t]}).replace(/،/g,",")},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]}).replace(/,/g,"،")},week:{dow:0,doy:6}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("ar-ma",{months:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekdays:"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:6,doy:12}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",0:"0"},n=function(t){return 0===t?0:1===t?1:2===t?2:t%100>=3&&t%100<=10?3:t%100>=11?4:5},r={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:["أقل من عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},i=function(t){return function(e,i,a,o){var s=n(e),u=r[t][n(e)];return 2===s&&(u=u[i?0:1]),u.replace(/%d/i,e)}},a=["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"];t.defineLocale("ar-ly",{months:a,monthsShort:a,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/‏M/‏YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(t){return"م"===t},meridiem:function(t,e,n){return t<12?"ص":"م"},calendar:{sameDay:"[اليوم عند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",lastDay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relativeTime:{future:"بعد %s",past:"منذ %s",s:i("s"),ss:i("s"),m:i("m"),mm:i("m"),h:i("h"),hh:i("h"),d:i("d"),dd:i("d"),M:i("M"),MM:i("M"),y:i("y"),yy:i("y")},preparse:function(t){return t.replace(/،/g,",")},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]}).replace(/,/g,"،")},week:{dow:6,doy:12}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("ar-kw",{months:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekdays:"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:0,doy:12}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("ar-dz",{months:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"أح_إث_ثلا_أر_خم_جم_سب".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:0,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},n={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"},r=function(t){return 0===t?0:1===t?1:2===t?2:t%100>=3&&t%100<=10?3:t%100>=11?4:5},i={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:["أقل من عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},a=function(t){return function(e,n,a,o){var s=r(e),u=i[t][r(e)];return 2===s&&(u=u[n?0:1]),u.replace(/%d/i,e)}},o=["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"];t.defineLocale("ar",{months:o,monthsShort:o,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/‏M/‏YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(t){return"م"===t},meridiem:function(t,e,n){return t<12?"ص":"م"},calendar:{sameDay:"[اليوم عند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",lastDay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relativeTime:{future:"بعد %s",past:"منذ %s",s:a("s"),ss:a("s"),m:a("m"),mm:a("m"),h:a("h"),hh:a("h"),d:a("d"),dd:a("d"),M:a("M"),MM:a("M"),y:a("y"),yy:a("y")},preparse:function(t){return t.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(t){return n[t]}).replace(/،/g,",")},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]}).replace(/,/g,"،")},week:{dow:6,doy:12}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("af",{months:"Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des".split("_"),weekdays:"Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag".split("_"),weekdaysShort:"Son_Maa_Din_Woe_Don_Vry_Sat".split("_"),weekdaysMin:"So_Ma_Di_Wo_Do_Vr_Sa".split("_"),meridiemParse:/vm|nm/i,isPM:function(t){return/^nm$/i.test(t)},meridiem:function(t,e,n){return t<12?n?"vm":"VM":n?"nm":"NM"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Vandag om] LT",nextDay:"[Môre om] LT",nextWeek:"dddd [om] LT",lastDay:"[Gister om] LT",lastWeek:"[Laas] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oor %s",past:"%s gelede",s:"'n paar sekondes",ss:"%d sekondes",m:"'n minuut",mm:"%d minute",h:"'n uur",hh:"%d ure",d:"'n dag",dd:"%d dae",M:"'n maand",MM:"%d maande",y:"'n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(t){return t+(1===t||8===t||t>=20?"ste":"de")},week:{dow:1,doy:4}})}(n(0))},function(t,e){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(t){"object"==typeof window&&(n=window)}t.exports=n},function(t,e,n){(t.exports=n(9)(!1)).push([t.i,'.label{font-family:trebuchet ms,verdana,arial;color:#333}.node circle,.node ellipse,.node polygon,.node rect{fill:#eee;stroke:#999;stroke-width:1px}.node.clickable{cursor:pointer}.arrowheadPath{fill:#333}.edgePath .path{stroke:#666;stroke-width:1.5px}.edgeLabel{background-color:#fff}.cluster rect{fill:#eaf2fb!important;stroke:#26a!important;stroke-width:1px!important}.cluster text{fill:#333}div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:trebuchet ms,verdana,arial;font-size:12px;background:#eaf2fb;border:1px solid #26a;border-radius:2px;pointer-events:none;z-index:100}.actor{stroke:#999;fill:#eee}text.actor{fill:#333;stroke:none}.actor-line{stroke:#666}.messageLine0{marker-end:"url(#arrowhead)"}.messageLine0,.messageLine1{stroke-width:1.5;stroke-dasharray:"2 2";stroke:#333}#arrowhead{fill:#333}#crosshead path{fill:#333!important;stroke:#333!important}.messageText{fill:#333;stroke:none}.labelBox{stroke:#999;fill:#eee}.labelText,.loopText{fill:#fff;stroke:none}.loopLine{stroke-width:2;stroke-dasharray:"2 2";marker-end:"url(#arrowhead)";stroke:#999}.note{stroke:#770;fill:#ffa}.noteText{fill:#000;stroke:none;font-family:trebuchet ms,verdana,arial;font-size:14px}.section{stroke:none;opacity:.2}.section0,.section2{fill:#80b3e6}.section1,.section3{fill:#fff;opacity:.2}.sectionTitle0,.sectionTitle1,.sectionTitle2,.sectionTitle3{fill:#333}.sectionTitle{text-anchor:start;font-size:11px;text-height:14px}.grid .tick{stroke:#e6e6e6;opacity:.3;shape-rendering:crispEdges}.grid path{stroke-width:0}.today{fill:none;stroke:#d42;stroke-width:2px}.task{stroke-width:2}.taskText{text-anchor:middle;font-size:11px}.taskTextOutsideRight{fill:#333;text-anchor:start;font-size:11px}.taskTextOutsideLeft{fill:#333;text-anchor:end;font-size:11px}.taskText0,.taskText1,.taskText2,.taskText3{fill:#fff}.task0,.task1,.task2,.task3{fill:#26a;stroke:#1a4d80}.taskTextOutside0,.taskTextOutside1,.taskTextOutside2,.taskTextOutside3{fill:#333}.active0,.active1,.active2,.active3{fill:#eee;stroke:#1a4d80}.activeText0,.activeText1,.activeText2,.activeText3{fill:#333!important}.done0,.done1,.done2,.done3{stroke:#666;fill:#bbb;stroke-width:2}.doneText0,.doneText1,.doneText2,.doneText3{fill:#333!important}.crit0,.crit1,.crit2,.crit3{stroke:#b1361b;fill:#d42;stroke-width:2}.activeCrit0,.activeCrit1,.activeCrit2,.activeCrit3{stroke:#b1361b;fill:#eee;stroke-width:2}.doneCrit0,.doneCrit1,.doneCrit2,.doneCrit3{stroke:#b1361b;fill:#bbb;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}.activeCritText0,.activeCritText1,.activeCritText2,.activeCritText3,.doneCritText0,.doneCritText1,.doneCritText2,.doneCritText3{fill:#333!important}.titleText{text-anchor:middle;font-size:18px;fill:#333}g.classGroup text{fill:#999;stroke:none;font-family:trebuchet ms,verdana,arial;font-size:10px}g.classGroup rect{fill:#eee;stroke:#999}g.classGroup line{stroke:#999;stroke-width:1}.classLabel .box{stroke:none;stroke-width:0;fill:#eee;opacity:.5}.classLabel .label{fill:#999;font-size:10px}.relation{stroke:#999;stroke-width:1;fill:none}#compositionEnd,#compositionStart{fill:#999;stroke:#999;stroke-width:1}#aggregationEnd,#aggregationStart{fill:#eee;stroke:#999;stroke-width:1}#dependencyEnd,#dependencyStart,#extensionEnd,#extensionStart{fill:#999;stroke:#999;stroke-width:1}.branch-label,.commit-id,.commit-msg{fill:#d3d3d3;color:#d3d3d3}',""])},function(t,e,n){var r=n(152);t.exports="string"==typeof r?r:r.toString()},function(t,e,n){(t.exports=n(9)(!1)).push([t.i,'.label{font-family:trebuchet ms,verdana,arial;color:#333}.node circle,.node ellipse,.node polygon,.node rect{fill:#cde498;stroke:#13540c;stroke-width:1px}.node.clickable{cursor:pointer}.arrowheadPath{fill:green}.edgePath .path{stroke:green;stroke-width:1.5px}.edgeLabel{background-color:#e8e8e8}.cluster rect{fill:#cdffb2!important;stroke:#6eaa49!important;stroke-width:1px!important}.cluster text{fill:#333}div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:trebuchet ms,verdana,arial;font-size:12px;background:#cdffb2;border:1px solid #6eaa49;border-radius:2px;pointer-events:none;z-index:100}.actor{stroke:#13540c;fill:#cde498}text.actor{fill:#000;stroke:none}.actor-line{stroke:grey}.messageLine0{marker-end:"url(#arrowhead)"}.messageLine0,.messageLine1{stroke-width:1.5;stroke-dasharray:"2 2";stroke:#333}#arrowhead{fill:#333}#crosshead path{fill:#333!important;stroke:#333!important}.messageText{fill:#333;stroke:none}.labelBox{stroke:#326932;fill:#cde498}.labelText,.loopText{fill:#000;stroke:none}.loopLine{stroke-width:2;stroke-dasharray:"2 2";marker-end:"url(#arrowhead)";stroke:#326932}.note{stroke:#6eaa49;fill:#fff5ad}.noteText{fill:#000;stroke:none;font-family:trebuchet ms,verdana,arial;font-size:14px}.section{stroke:none;opacity:.2}.section0,.section2{fill:#6eaa49}.section1,.section3{fill:#fff;opacity:.2}.sectionTitle0,.sectionTitle1,.sectionTitle2,.sectionTitle3{fill:#333}.sectionTitle{text-anchor:start;font-size:11px;text-height:14px}.grid .tick{stroke:#d3d3d3;opacity:.3;shape-rendering:crispEdges}.grid path{stroke-width:0}.today{fill:none;stroke:red;stroke-width:2px}.task{stroke-width:2}.taskText{text-anchor:middle;font-size:11px}.taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px}.taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}.taskText0,.taskText1,.taskText2,.taskText3{fill:#fff}.task0,.task1,.task2,.task3{fill:#487e3a;stroke:#13540c}.taskTextOutside0,.taskTextOutside1,.taskTextOutside2,.taskTextOutside3{fill:#000}.active0,.active1,.active2,.active3{fill:#cde498;stroke:#13540c}.activeText0,.activeText1,.activeText2,.activeText3{fill:#000!important}.done0,.done1,.done2,.done3{stroke:grey;fill:#d3d3d3;stroke-width:2}.doneText0,.doneText1,.doneText2,.doneText3{fill:#000!important}.crit0,.crit1,.crit2,.crit3{stroke:#f88;fill:red;stroke-width:2}.activeCrit0,.activeCrit1,.activeCrit2,.activeCrit3{stroke:#f88;fill:#cde498;stroke-width:2}.doneCrit0,.doneCrit1,.doneCrit2,.doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}.activeCritText0,.activeCritText1,.activeCritText2,.activeCritText3,.doneCritText0,.doneCritText1,.doneCritText2,.doneCritText3{fill:#000!important}.titleText{text-anchor:middle;font-size:18px;fill:#000}g.classGroup text{fill:#13540c;stroke:none;font-family:trebuchet ms,verdana,arial;font-size:10px}g.classGroup rect{fill:#cde498;stroke:#13540c}g.classGroup line{stroke:#13540c;stroke-width:1}.classLabel .box{stroke:none;stroke-width:0;fill:#cde498;opacity:.5}.classLabel .label{fill:#13540c;font-size:10px}.relation{stroke:#13540c;stroke-width:1;fill:none}#compositionEnd,#compositionStart{fill:#13540c;stroke:#13540c;stroke-width:1}#aggregationEnd,#aggregationStart{fill:#cde498;stroke:#13540c;stroke-width:1}#dependencyEnd,#dependencyStart,#extensionEnd,#extensionStart{fill:#13540c;stroke:#13540c;stroke-width:1}.branch-label,.commit-id,.commit-msg{fill:#d3d3d3;color:#d3d3d3}',""])},function(t,e,n){var r=n(154);t.exports="string"==typeof r?r:r.toString()},function(t,e,n){(t.exports=n(9)(!1)).push([t.i,'.label{font-family:trebuchet ms,verdana,arial;color:#333}.node circle,.node ellipse,.node polygon,.node rect{fill:#ececff;stroke:#9370db;stroke-width:1px}.node.clickable{cursor:pointer}.arrowheadPath{fill:#333}.edgePath .path{stroke:#333;stroke-width:1.5px}.edgeLabel{background-color:#e8e8e8}.cluster rect{fill:#ffffde!important;stroke:#aa3!important;stroke-width:1px!important}.cluster text{fill:#333}div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:trebuchet ms,verdana,arial;font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}.actor{stroke:#ccf;fill:#ececff}text.actor{fill:#000;stroke:none}.actor-line{stroke:grey}.messageLine0{marker-end:"url(#arrowhead)"}.messageLine0,.messageLine1{stroke-width:1.5;stroke-dasharray:"2 2";stroke:#333}#arrowhead{fill:#333}#crosshead path{fill:#333!important;stroke:#333!important}.messageText{fill:#333;stroke:none}.labelBox{stroke:#ccf;fill:#ececff}.labelText,.loopText{fill:#000;stroke:none}.loopLine{stroke-width:2;stroke-dasharray:"2 2";marker-end:"url(#arrowhead)";stroke:#ccf}.note{stroke:#aa3;fill:#fff5ad}.noteText{fill:#000;stroke:none;font-family:trebuchet ms,verdana,arial;font-size:14px}.section{stroke:none;opacity:.2}.section0{fill:rgba(102,102,255,.49)}.section2{fill:#fff400}.section1,.section3{fill:#fff;opacity:.2}.sectionTitle0,.sectionTitle1,.sectionTitle2,.sectionTitle3{fill:#333}.sectionTitle{text-anchor:start;font-size:11px;text-height:14px}.grid .tick{stroke:#d3d3d3;opacity:.3;shape-rendering:crispEdges}.grid path{stroke-width:0}.today{fill:none;stroke:red;stroke-width:2px}.task{stroke-width:2}.taskText{text-anchor:middle;font-size:11px}.taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px}.taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}.taskText0,.taskText1,.taskText2,.taskText3{fill:#fff}.task0,.task1,.task2,.task3{fill:#8a90dd;stroke:#534fbc}.taskTextOutside0,.taskTextOutside1,.taskTextOutside2,.taskTextOutside3{fill:#000}.active0,.active1,.active2,.active3{fill:#bfc7ff;stroke:#534fbc}.activeText0,.activeText1,.activeText2,.activeText3{fill:#000!important}.done0,.done1,.done2,.done3{stroke:grey;fill:#d3d3d3;stroke-width:2}.doneText0,.doneText1,.doneText2,.doneText3{fill:#000!important}.crit0,.crit1,.crit2,.crit3{stroke:#f88;fill:red;stroke-width:2}.activeCrit0,.activeCrit1,.activeCrit2,.activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}.doneCrit0,.doneCrit1,.doneCrit2,.doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}.activeCritText0,.activeCritText1,.activeCritText2,.activeCritText3,.doneCritText0,.doneCritText1,.doneCritText2,.doneCritText3{fill:#000!important}.titleText{text-anchor:middle;font-size:18px;fill:#000}g.classGroup text{fill:#9370db;stroke:none;font-family:trebuchet ms,verdana,arial;font-size:10px}g.classGroup rect{fill:#ececff;stroke:#9370db}g.classGroup line{stroke:#9370db;stroke-width:1}.classLabel .box{stroke:none;stroke-width:0;fill:#ececff;opacity:.5}.classLabel .label{fill:#9370db;font-size:10px}.relation{stroke:#9370db;stroke-width:1;fill:none}#compositionEnd,#compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#aggregationEnd,#aggregationStart{fill:#ececff;stroke:#9370db;stroke-width:1}#dependencyEnd,#dependencyStart,#extensionEnd,#extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}.branch-label,.commit-id,.commit-msg{fill:#d3d3d3;color:#d3d3d3}',""])},function(t,e,n){var r=n(156);t.exports="string"==typeof r?r:r.toString()},function(t,e,n){(t.exports=n(9)(!1)).push([t.i,'.label{font-family:trebuchet ms,verdana,arial;color:#333}.node circle,.node ellipse,.node polygon,.node rect{fill:#bdd5ea;stroke:purple;stroke-width:1px}.node.clickable{cursor:pointer}.arrowheadPath{fill:#d3d3d3}.edgePath .path{stroke:#d3d3d3;stroke-width:1.5px}.edgeLabel{background-color:#e8e8e8}.cluster rect{fill:#6d6d65!important;stroke:hsla(0,0%,100%,.25)!important;stroke-width:1px!important}.cluster text{fill:#f9fffe}div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:trebuchet ms,verdana,arial;font-size:12px;background:#6d6d65;border:1px solid hsla(0,0%,100%,.25);border-radius:2px;pointer-events:none;z-index:100}.actor{stroke:#81b1db;fill:#bdd5ea}text.actor{fill:#000;stroke:none}.actor-line{stroke:#d3d3d3}.messageLine0{marker-end:"url(#arrowhead)"}.messageLine0,.messageLine1{stroke-width:1.5;stroke-dasharray:"2 2";stroke:#d3d3d3}#arrowhead{fill:#d3d3d3}#crosshead path{fill:#d3d3d3!important;stroke:#d3d3d3!important}.messageText{fill:#d3d3d3;stroke:none}.labelBox{stroke:#81b1db;fill:#bdd5ea}.labelText,.loopText{fill:#d3d3d3;stroke:none}.loopLine{stroke-width:2;stroke-dasharray:"2 2";marker-end:"url(#arrowhead)";stroke:#81b1db}.note{stroke:hsla(0,0%,100%,.25);fill:#fff5ad}.noteText{fill:#000;stroke:none;font-family:trebuchet ms,verdana,arial;font-size:14px}.section{stroke:none;opacity:.2}.section0{fill:hsla(0,0%,100%,.3)}.section2{fill:#eae8b9}.section1,.section3{fill:#fff;opacity:.2}.sectionTitle0,.sectionTitle1,.sectionTitle2,.sectionTitle3{fill:#f9fffe}.sectionTitle{text-anchor:start;font-size:11px;text-height:14px}.grid .tick{stroke:#d3d3d3;opacity:.3;shape-rendering:crispEdges}.grid path{stroke-width:0}.today{fill:none;stroke:#db5757;stroke-width:2px}.task{stroke-width:2}.taskText{text-anchor:middle;font-size:11px}.taskTextOutsideRight{fill:#323d47;text-anchor:start;font-size:11px}.taskTextOutsideLeft{fill:#323d47;text-anchor:end;font-size:11px}.taskText0,.taskText1,.taskText2,.taskText3{fill:#323d47}.task0,.task1,.task2,.task3{fill:#bdd5ea;stroke:hsla(0,0%,100%,.5)}.taskTextOutside0,.taskTextOutside1,.taskTextOutside2,.taskTextOutside3{fill:#d3d3d3}.active0,.active1,.active2,.active3{fill:#81b1db;stroke:hsla(0,0%,100%,.5)}.activeText0,.activeText1,.activeText2,.activeText3{fill:#323d47!important}.done0,.done1,.done2,.done3{stroke:grey;fill:#d3d3d3;stroke-width:2}.doneText0,.doneText1,.doneText2,.doneText3{fill:#323d47!important}.crit0,.crit1,.crit2,.crit3{stroke:#e83737;fill:#e83737;stroke-width:2}.activeCrit0,.activeCrit1,.activeCrit2,.activeCrit3{stroke:#e83737;fill:#81b1db;stroke-width:2}.doneCrit0,.doneCrit1,.doneCrit2,.doneCrit3{stroke:#e83737;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}.activeCritText0,.activeCritText1,.activeCritText2,.activeCritText3,.doneCritText0,.doneCritText1,.doneCritText2,.doneCritText3{fill:#323d47!important}.titleText{text-anchor:middle;font-size:18px;fill:#323d47}g.classGroup text{fill:purple;stroke:none;font-family:trebuchet ms,verdana,arial;font-size:10px}g.classGroup rect{fill:#bdd5ea;stroke:purple}g.classGroup line{stroke:purple;stroke-width:1}.classLabel .box{stroke:none;stroke-width:0;fill:#bdd5ea;opacity:.5}.classLabel .label{fill:purple;font-size:10px}.relation{stroke:purple;stroke-width:1;fill:none}#compositionEnd,#compositionStart{fill:purple;stroke:purple;stroke-width:1}#aggregationEnd,#aggregationStart{fill:#bdd5ea;stroke:purple;stroke-width:1}#dependencyEnd,#dependencyStart,#extensionEnd,#extensionStart{fill:purple;stroke:purple;stroke-width:1}.branch-label,.commit-id,.commit-msg{fill:#d3d3d3;color:#d3d3d3}',""])},function(t,e,n){var r=n(158);t.exports="string"==typeof r?r:r.toString()},function(t,e,n){var r={"./dark/index.scss":159,"./default/index.scss":157,"./forest/index.scss":155,"./neutral/index.scss":153};function i(t){var e=a(t);return n(e)}function a(t){var e=r[t];if(!(e+1)){var n=new Error('Cannot find module "'+t+'".');throw n.code="MODULE_NOT_FOUND",n}return e}i.keys=function(){return Object.keys(r)},i.resolve=a,t.exports=i,i.id=160},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.draw=e.setConf=void 0;var r=c(n(8)),i=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(n(3)),a=c(n(14)),o=c(n(13)),s=n(2),u=n(10);function c(t){return t&&t.__esModule?t:{default:t}}var l={},d=void 0,f={nodeSpacing:150,nodeFillColor:"yellow",nodeStrokeWidth:2,nodeStrokeColor:"grey",lineStrokeWidth:4,branchOffset:50,lineColor:"grey",leftMargin:50,branchColors:["#442f74","#983351","#609732","#AA9A39"],nodeRadius:10,nodeLabel:{width:75,height:100,x:-25,y:0}},h={},_=e.setConf=function(t){h=t};function p(t,e,n,r){var a=(0,u.interpolateToCurve)(r,i.curveBasis),o=f.branchColors[n%f.branchColors.length],s=i.line().x(function(t){return Math.round(t.x)}).y(function(t){return Math.round(t.y)}).curve(a);t.append("svg:path").attr("d",s(e)).style("stroke",o).style("stroke-width",f.lineStrokeWidth).style("fill","none")}function m(t,e){e=e||t.node().getBBox();var n=t.node().getCTM();return{left:n.e+e.x*n.a,top:n.f+e.y*n.d,width:e.width,height:e.height}}function y(t,e,n,r,i){s.logger.debug("svgDrawLineForCommits: ",e,n);var a=m(t.select("#node-"+e+" circle")),o=m(t.select("#node-"+n+" circle"));switch(r){case"LR":if(a.left-o.left>f.nodeSpacing){var u={x:a.left-f.nodeSpacing,y:o.top+o.height/2};p(t,[u,{x:o.left+o.width,y:o.top+o.height/2}],i,"linear"),p(t,[{x:a.left,y:a.top+a.height/2},{x:a.left-f.nodeSpacing/2,y:a.top+a.height/2},{x:a.left-f.nodeSpacing/2,y:u.y},u],i)}else p(t,[{x:a.left,y:a.top+a.height/2},{x:a.left-f.nodeSpacing/2,y:a.top+a.height/2},{x:a.left-f.nodeSpacing/2,y:o.top+o.height/2},{x:o.left+o.width,y:o.top+o.height/2}],i);break;case"BT":if(o.top-a.top>f.nodeSpacing){var c={x:o.left+o.width/2,y:a.top+a.height+f.nodeSpacing};p(t,[c,{x:o.left+o.width/2,y:o.top}],i,"linear"),p(t,[{x:a.left+a.width/2,y:a.top+a.height},{x:a.left+a.width/2,y:a.top+a.height+f.nodeSpacing/2},{x:o.left+o.width/2,y:c.y-f.nodeSpacing/2},c],i)}else p(t,[{x:a.left+a.width/2,y:a.top+a.height},{x:a.left+a.width/2,y:a.top+f.nodeSpacing/2},{x:o.left+o.width/2,y:o.top-f.nodeSpacing/2},{x:o.left+o.width/2,y:o.top}],i)}}function g(t,e){return t.select(e).node().cloneNode(!0)}var v=e.draw=function(t,e,n){try{var u=o.default.parser;u.yy=a.default,s.logger.debug("in gitgraph renderer",t,e,n),u.parse(t+"\n"),f=r.default.extend(f,h,a.default.getOptions()),s.logger.debug("effective options",f);var c=a.default.getDirection();l=a.default.getCommits();var _=a.default.getBranchesAsObjArray();"BT"===c&&(f.nodeLabel.x=_.length*f.branchOffset,f.nodeLabel.width="100%",f.nodeLabel.y=-2*f.nodeRadius);var p=i.select('[id="'+e+'"]');!function(t){t.append("defs").append("g").attr("id","def-commit").append("circle").attr("r",f.nodeRadius).attr("cx",0).attr("cy",0),t.select("#def-commit").append("foreignObject").attr("width",f.nodeLabel.width).attr("height",f.nodeLabel.height).attr("x",f.nodeLabel.x).attr("y",f.nodeLabel.y).attr("class","node-label").attr("requiredFeatures","http://www.w3.org/TR/SVG11/feature#Extensibility").append("p").html("")}(p),d=1,r.default.each(_,function(t){!function t(e,n,i,a){var o=void 0,u=Object.keys(l).length;if(r.default.isString(n))do{if(o=l[n],s.logger.debug("in renderCommitHistory",o.id,o.seq),e.select("#node-"+n).size()>0)return;e.append(function(){return g(e,"#def-commit")}).attr("class","commit").attr("id",function(){return"node-"+o.id}).attr("transform",function(){switch(a){case"LR":return"translate("+(o.seq*f.nodeSpacing+f.leftMargin)+", "+d*f.branchOffset+")";case"BT":return"translate("+(d*f.branchOffset+f.leftMargin)+", "+(u-o.seq)*f.nodeSpacing+")"}}).attr("fill",f.nodeFillColor).attr("stroke",f.nodeStrokeColor).attr("stroke-width",f.nodeStrokeWidth);var c=r.default.find(i,["commit",o]);c&&(s.logger.debug("found branch ",c.name),e.select("#node-"+o.id+" p").append("xhtml:span").attr("class","branch-label").text(c.name+", ")),e.select("#node-"+o.id+" p").append("xhtml:span").attr("class","commit-id").text(o.id),""!==o.message&&"BT"===a&&e.select("#node-"+o.id+" p").append("xhtml:span").attr("class","commit-msg").text(", "+o.message),n=o.parent}while(n&&l[n]);r.default.isArray(n)&&(s.logger.debug("found merge commmit",n),t(e,n[0],i,a),d++,t(e,n[1],i,a),d--)}(p,t.commit.id,_,c),function t(e,n,i,a){for(a=a||0;n.seq>0&&!n.lineDrawn;)r.default.isString(n.parent)?(y(e,n.id,n.parent,i,a),n.lineDrawn=!0,n=l[n.parent]):r.default.isArray(n.parent)&&(y(e,n.id,n.parent[0],i,a),y(e,n.id,n.parent[1],i,a+1),t(e,l[n.parent[1]],i,a+1),n.lineDrawn=!0,n=l[n.parent[0]])}(p,t.commit,c),d++}),p.attr("height",function(){return"BT"===c?Object.keys(l).length*f.nodeSpacing:(_.length+1)*f.branchOffset})}catch(t){s.logger.error("Error while rendering gitgraph"),s.logger.error(t.message)}};e.default={setConf:_,draw:v}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.draw=e.setConf=void 0;var r=c(n(21)),i=c(n(12)),a=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(n(3)),o=c(n(16)),s=n(2),u=n(15);function c(t){return t&&t.__esModule?t:{default:t}}u.parser.yy=o.default;var l={},d=0,f={dividerMargin:10,padding:5,textHeight:10},h=function(t){for(var e=Object.keys(l),n=0;n<e.length;n++)if(l[e[n]].label===t)return e[n]},_=0,p=function(t,e){s.logger.info("Rendering class "+e);var n=function(t,e,n){var r=t.append("tspan").attr("x",f.padding).text(e);n||r.attr("dy",f.textHeight)},r="classId"+d,i={id:r,label:e.id,width:0,height:0},a=t.append("g").attr("id",r).attr("class","classGroup"),o=a.append("text").attr("x",f.padding).attr("y",f.textHeight+f.padding).text(e.id).node().getBBox().height,u=a.append("line").attr("x1",0).attr("y1",f.padding+o+f.dividerMargin/2).attr("y2",f.padding+o+f.dividerMargin/2),c=a.append("text").attr("x",f.padding).attr("y",o+f.dividerMargin+f.textHeight).attr("fill","white").attr("class","classText"),h=!0;e.members.forEach(function(t){n(c,t,h),h=!1});var _=c.node().getBBox(),p=a.append("line").attr("x1",0).attr("y1",f.padding+o+f.dividerMargin+_.height).attr("y2",f.padding+o+f.dividerMargin+_.height),m=a.append("text").attr("x",f.padding).attr("y",o+2*f.dividerMargin+_.height+f.textHeight).attr("fill","white").attr("class","classText");h=!0,e.methods.forEach(function(t){n(m,t,h),h=!1});var y=a.node().getBBox();return a.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",y.width+2*f.padding).attr("height",y.height+f.padding+.5*f.dividerMargin),u.attr("x2",y.width+2*f.padding),p.attr("x2",y.width+2*f.padding),i.width=y.width+2*f.padding,i.height=y.height+f.padding+.5*f.dividerMargin,l[r]=i,d++,i},m=e.setConf=function(t){Object.keys(t).forEach(function(e){f[e]=t[e]})},y=e.draw=function(t,e){u.parser.yy.clear(),u.parser.parse(t),s.logger.info("Rendering diagram "+t);var n,c=a.select('[id="'+e+'"]');(n=c).append("defs").append("marker").attr("id","extensionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),n.append("defs").append("marker").attr("id","extensionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),n.append("defs").append("marker").attr("id","compositionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),n.append("defs").append("marker").attr("id","compositionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),n.append("defs").append("marker").attr("id","aggregationStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),n.append("defs").append("marker").attr("id","aggregationEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),n.append("defs").append("marker").attr("id","dependencyStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),n.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z");var l=new i.default.Graph({multigraph:!0});l.setGraph({isMultiGraph:!0}),l.setDefaultEdgeLabel(function(){return{}});for(var d=o.default.getClasses(),m=Object.keys(d),y=0;y<m.length;y++){var g=d[m[y]],v=p(c,g);l.setNode(v.id,v),s.logger.info("Org height: "+v.height)}o.default.getRelations().forEach(function(t){s.logger.info("tjoho"+h(t.id1)+h(t.id2)+JSON.stringify(t)),l.setEdge(h(t.id1),h(t.id2),{relation:t})}),r.default.layout(l),l.nodes().forEach(function(t){void 0!==t&&(s.logger.debug("Node "+t+": "+JSON.stringify(l.node(t))),a.select("#"+t).attr("transform","translate("+(l.node(t).x-l.node(t).width/2)+","+(l.node(t).y-l.node(t).height/2)+" )"))}),l.edges().forEach(function(t){s.logger.debug("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(l.edge(t))),function(t,e,n){var r=function(t){switch(t){case o.default.relationType.AGGREGATION:return"aggregation";case o.default.relationType.EXTENSION:return"extension";case o.default.relationType.COMPOSITION:return"composition";case o.default.relationType.DEPENDENCY:return"dependency"}},i=e.points,s=a.line().x(function(t){return t.x}).y(function(t){return t.y}).curve(a.curveBasis),u=t.append("path").attr("d",s(i)).attr("id","edge"+_).attr("class","relation"),c="";f.arrowMarkerAbsolute&&(c=(c=(c=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search).replace(/\(/g,"\\(")).replace(/\)/g,"\\)")),"none"!==n.relation.type1&&u.attr("marker-start","url("+c+"#"+r(n.relation.type1)+"Start)"),"none"!==n.relation.type2&&u.attr("marker-end","url("+c+"#"+r(n.relation.type2)+"End)");var l=void 0,d=void 0,h=e.points.length;if(h%2!=0){var p=e.points[Math.floor(h/2)],m=e.points[Math.ceil(h/2)];l=(p.x+m.x)/2,d=(p.y+m.y)/2}else{var y=e.points[Math.floor(h/2)];l=y.x,d=y.y}if(void 0!==n.title){var g=t.append("g").attr("class","classLabel"),v=g.append("text").attr("class","label").attr("x",l).attr("y",d).attr("fill","red").attr("text-anchor","middle").text(n.title);window.label=v;var M=v.node().getBBox();g.insert("rect",":first-child").attr("class","box").attr("x",M.x-f.padding/2).attr("y",M.y-f.padding/2).attr("width",M.width+f.padding).attr("height",M.height+f.padding)}_++}(c,l.edge(t),l.edge(t).relation)}),c.attr("height","100%"),c.attr("width","100%"),c.attr("viewBox","0 0 "+(l.graph().width+20)+" "+(l.graph().height+20))};e.default={setConf:m,draw:y}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.draw=e.setConf=void 0;var r,i=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(n(3)),a=n(18),o=n(17),s=(r=o)&&r.__esModule?r:{default:r};a.parser.yy=s.default;var u={titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,fontFamily:'"Open-Sans", "sans-serif"'},c=e.setConf=function(t){Object.keys(t).forEach(function(e){u[e]=t[e]})},l=void 0,d=e.draw=function(t,e){a.parser.yy.clear(),a.parser.parse(t);var n=document.getElementById(e);void 0===(l=n.parentElement.offsetWidth)&&(l=1200),void 0!==u.useWidth&&(l=u.useWidth);var r=a.parser.yy.getTasks(),o=r.length*(u.barHeight+u.barGap)+2*u.topPadding;n.setAttribute("height","100%"),n.setAttribute("viewBox","0 0 "+l+" "+o);for(var s=i.select('[id="'+e+'"]'),c=i.scaleTime().domain([i.min(r,function(t){return t.startTime}),i.max(r,function(t){return t.endTime})]).rangeRound([0,l-u.leftPadding-u.rightPadding]),d=[],f=0;f<r.length;f++)d.push(r[f].type);var h=d;d=function(t){for(var e={},n=[],r=0,i=t.length;r<i;++r)e.hasOwnProperty(t[r])||(e[t[r]]=!0,n.push(t[r]));return n}(d),function(t,e,n){var r=u.barHeight,o=r+u.barGap,l=u.topPadding,f=u.leftPadding;i.scaleLinear().domain([0,d.length]).range(["#00B9FA","#F95002"]).interpolate(i.interpolateHcl);_=f,p=l,m=n,y=i.axisBottom(c).tickSize(-m+p+u.gridLineStartPadding).tickFormat(i.timeFormat(a.parser.yy.getAxisFormat()||u.axisFormat||"%Y-%m-%d")),s.append("g").attr("class","grid").attr("transform","translate("+_+", "+(m-50)+")").call(y).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),function(t,e,n,r,i,a,o,l){s.append("g").selectAll("rect").data(t).enter().append("rect").attr("x",0).attr("y",function(t,r){return r*e+n-2}).attr("width",function(){return o-u.rightPadding/2}).attr("height",e).attr("class",function(t){for(var e=0;e<d.length;e++)if(t.type===d[e])return"section section"+e%u.numberSectionStyles;return"section section0"});var f=s.append("g").selectAll("rect").data(t).enter();f.append("rect").attr("rx",3).attr("ry",3).attr("x",function(t){return c(t.startTime)+r}).attr("y",function(t,r){return r*e+n}).attr("width",function(t){return c(t.endTime)-c(t.startTime)}).attr("height",i).attr("class",function(t){for(var e="task ",n=0,r=0;r<d.length;r++)t.type===d[r]&&(n=r%u.numberSectionStyles);return t.active?t.crit?e+" activeCrit"+n:e+" active"+n:t.done?t.crit?e+" doneCrit"+n:e+" done"+n:t.crit?e+" crit"+n:e+" task"+n}),f.append("text").text(function(t){return t.task}).attr("font-size",u.fontSize).attr("x",function(t){var e=c(t.startTime),n=c(t.endTime),i=this.getBBox().width;return i>n-e?n+i+1.5*u.leftPadding>o?e+r-5:n+r+5:(n-e)/2+e+r}).attr("y",function(t,r){return r*e+u.barHeight/2+(u.fontSize/2-2)+n}).attr("text-height",i).attr("class",function(t){for(var e=c(t.startTime),n=c(t.endTime),r=this.getBBox().width,i=0,a=0;a<d.length;a++)t.type===d[a]&&(i=a%u.numberSectionStyles);var s="";return t.active&&(s=t.crit?"activeCritText"+i:"activeText"+i),t.done?s=t.crit?s+" doneCritText"+i:s+" doneText"+i:t.crit&&(s=s+" critText"+i),r>n-e?n+r+1.5*u.leftPadding>o?"taskTextOutsideLeft taskTextOutside"+i+" "+s:"taskTextOutsideRight taskTextOutside"+i+" "+s:"taskText taskText"+i+" "+s})}(t,o,l,f,r,0,e),function(t,e){for(var n=[],r=0,i=0;i<d.length;i++)n[i]=[d[i],(a=d[i],o=h,function(t){var e=t.length,n={};for(;e;)n[t[--e]]=(n[t[e]]||0)+1;return n}(o)[a]||0)];var a,o;s.append("g").selectAll("text").data(n).enter().append("text").text(function(t){return t[0]}).attr("x",10).attr("y",function(i,a){if(!(a>0))return i[1]*t/2+e;for(var o=0;o<a;o++)return r+=n[a-1][1],i[1]*t/2+r*t+e}).attr("class",function(t){for(var e=0;e<d.length;e++)if(t[0]===d[e])return"sectionTitle sectionTitle"+e%u.numberSectionStyles;return"sectionTitle"})}(o,l),function(t,e,n,r){var i=s.append("g").attr("class","today"),a=new Date;i.append("line").attr("x1",c(a)+t).attr("x2",c(a)+t).attr("y1",u.titleTopMargin).attr("y2",r-u.titleTopMargin).attr("class","today")}(f,0,0,n);var _,p,m,y}(r,l,o),void 0!==u.useWidth&&n.setAttribute("width",l),s.append("text").text(a.parser.yy.getTitle()).attr("x",l/2).attr("y",u.titleTopMargin).attr("class","titleText")};e.default={setConf:c,draw:d}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=e.drawRect=function(t,e){var n=t.append("rect");return n.attr("x",e.x),n.attr("y",e.y),n.attr("fill",e.fill),n.attr("stroke",e.stroke),n.attr("width",e.width),n.attr("height",e.height),n.attr("rx",e.rx),n.attr("ry",e.ry),void 0!==e.class&&n.attr("class",e.class),n},i=e.drawText=function(t,e,n){var r=e.text.replace(/<br\/?>/gi," "),i=t.append("text");i.attr("x",e.x),i.attr("y",e.y),i.style("text-anchor",e.anchor),i.attr("fill",e.fill),void 0!==e.class&&i.attr("class",e.class);var a=i.append("tspan");return a.attr("x",e.x+2*e.textMargin),a.attr("fill",e.fill),a.text(r),i},a=e.drawLabel=function(t,e){var n,r,a,o,s,u=t.append("polygon");u.attr("points",(n=e.x,r=e.y,n+","+r+" "+(n+(a=50))+","+r+" "+(n+a)+","+(r+(o=20)-(s=7))+" "+(n+a-1.2*s)+","+(r+o)+" "+n+","+(r+o))),u.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,i(t,e)},o=-1,s=e.drawActor=function(t,e,n,i,a){var s=e+a.width/2,u=t.append("g");0===n&&(o++,u.append("line").attr("id","actor"+o).attr("x1",s).attr("y1",5).attr("x2",s).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999"));var c=_();c.x=e,c.y=n,c.fill="#eaeaea",c.width=a.width,c.height=a.height,c.class="actor",c.rx=3,c.ry=3,r(u,c),p(a)(i,u,c.x,c.y,c.width,c.height,{class:"actor"})},u=e.anchorElement=function(t){return t.append("g")},c=e.drawActivation=function(t,e,n){var i=_(),a=e.anchored;i.x=e.startx,i.y=e.starty,i.fill="#f4f4f4",i.width=e.stopx-e.startx,i.height=n-e.starty,r(a,i)},l=e.drawLoop=function(t,e,n,r){var o=t.append("g"),s=function(t,e,n,r){return o.append("line").attr("x1",t).attr("y1",e).attr("x2",n).attr("y2",r).attr("class","loopLine")};s(e.startx,e.starty,e.stopx,e.starty),s(e.stopx,e.starty,e.stopx,e.stopy),s(e.startx,e.stopy,e.stopx,e.stopy),s(e.startx,e.starty,e.startx,e.stopy),void 0!==e.sections&&e.sections.forEach(function(t){s(e.startx,t,e.stopx,t).style("stroke-dasharray","3, 3")});var u=h();u.text=n,u.x=e.startx,u.y=e.starty,u.labelMargin=15,u.class="labelText",a(o,u),(u=h()).text="[ "+e.title+" ]",u.x=e.startx+(e.stopx-e.startx)/2,u.y=e.starty+1.5*r.boxMargin,u.anchor="middle",u.class="loopText",i(o,u),void 0!==e.sectionTitles&&e.sectionTitles.forEach(function(t,n){""!==t&&(u.text="[ "+t+" ]",u.y=e.sections[n]+1.5*r.boxMargin,i(o,u))})},d=e.insertArrowHead=function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},f=e.insertArrowCrossHead=function(t){var e=t.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);e.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),e.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},h=e.getTextObj=function(){return{x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0}},_=e.getNoteRect=function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},p=function(){function t(t,e,n,i,a,o,s){r(e.append("text").attr("x",n+a/2).attr("y",i+o/2+5).style("text-anchor","middle").text(t),s)}function e(t,e,n,i,a,o,s){var u=e.append("text").attr("x",n+a/2).attr("y",i).style("text-anchor","middle");u.append("tspan").attr("x",n+a/2).attr("dy","0").text(t),u.attr("y",i+o/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),r(u,s)}function n(t,n,i,a,o,s,u){var c=n.append("switch"),l=c.append("foreignObject").attr("x",i).attr("y",a).attr("width",o).attr("height",s).append("div").style("display","table").style("height","100%").style("width","100%");l.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(t),e(t,c,i,a,o,s,u),r(l,u)}function r(t,e){for(var n in e)e.hasOwnProperty(n)&&t.attr(n,e[n])}return function(r){return"fo"===r.textPlacement?n:"old"===r.textPlacement?t:e}}();e.default={drawRect:r,drawText:i,drawLabel:a,drawActor:s,anchorElement:u,drawActivation:c,drawLoop:l,insertArrowHead:d,insertArrowCrossHead:f,getTextObj:h,getNoteRect:_}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.draw=e.setConf=e.drawActors=e.bounds=void 0;var r=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(n(3)),i=u(n(164)),a=n(2),o=n(20),s=u(n(19));function u(t){return t&&t.__esModule?t:{default:t}}o.parser.yy=s.default;var c={diagramMarginX:50,diagramMarginY:30,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,mirrorActors:!1,bottomMarginAdj:1,activationWidth:10,textPlacement:"tspan"},l=e.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],activations:[],init:function(){this.sequenceItems=[],this.activations=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(t,e,n,r){void 0===t[e]?t[e]=n:t[e]=r(n,t[e])},updateBounds:function(t,e,n,r){var i=this,a=0;function o(o){return function(s){a++;var u=i.sequenceItems.length-a+1;i.updateVal(s,"starty",e-u*c.boxMargin,Math.min),i.updateVal(s,"stopy",r+u*c.boxMargin,Math.max),i.updateVal(l.data,"startx",t-u*c.boxMargin,Math.min),i.updateVal(l.data,"stopx",n+u*c.boxMargin,Math.max),"activation"!==o&&(i.updateVal(s,"startx",t-u*c.boxMargin,Math.min),i.updateVal(s,"stopx",n+u*c.boxMargin,Math.max),i.updateVal(l.data,"starty",e-u*c.boxMargin,Math.min),i.updateVal(l.data,"stopy",r+u*c.boxMargin,Math.max))}}this.sequenceItems.forEach(o()),this.activations.forEach(o("activation"))},insert:function(t,e,n,r){var i=Math.min(t,n),a=Math.max(t,n),o=Math.min(e,r),s=Math.max(e,r);this.updateVal(l.data,"startx",i,Math.min),this.updateVal(l.data,"starty",o,Math.min),this.updateVal(l.data,"stopx",a,Math.max),this.updateVal(l.data,"stopy",s,Math.max),this.updateBounds(i,o,a,s)},newActivation:function(t,e){var n=o.parser.yy.getActors()[t.from.actor],r=_(t.from.actor).length,a=n.x+c.width/2+(r-1)*c.activationWidth/2;this.activations.push({startx:a,starty:this.verticalPos+2,stopx:a+c.activationWidth,stopy:void 0,actor:t.from.actor,anchored:i.default.anchorElement(e)})},endActivation:function(t){var e=this.activations.map(function(t){return t.actor}).lastIndexOf(t.from.actor);return this.activations.splice(e,1)[0]},newLoop:function(t){this.sequenceItems.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t})},endLoop:function(){return this.sequenceItems.pop()},addSectionToLoop:function(t){var e=this.sequenceItems.pop();e.sections=e.sections||[],e.sectionTitles=e.sectionTitles||[],e.sections.push(l.getVerticalPos()),e.sectionTitles.push(t),this.sequenceItems.push(e)},bumpVerticalPos:function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}},d=function(t,e,n,r,a){var o=i.default.getNoteRect();o.x=e,o.y=n,o.width=a||c.width,o.class="note";var s=t.append("g"),u=i.default.drawRect(s,o),d=function(t,e,n,r,a){var o=0,s=t.split(/<br\/?>/gi),u=!0,l=!1,d=void 0;try{for(var f,h=s[Symbol.iterator]();!(u=(f=h.next()).done);u=!0){var _=f.value,p=i.default.getTextObj();p.x=e,p.y=n+o,p.textMargin=c.noteMargin,p.dy="1em",p.text=_,p.class="noteText";var m=i.default.drawText(r,p,a);o+=(m._groups||m)[0][0].getBBox().height}}catch(t){l=!0,d=t}finally{try{!u&&h.return&&h.return()}finally{if(l)throw d}}return o}(r.message,e-4,n+24,s,o.width-c.noteMargin);l.insert(e,n,e+o.width,n+2*c.noteMargin+d),u.attr("height",d+2*c.noteMargin),l.bumpVerticalPos(d+2*c.noteMargin)},f=e.drawActors=function(t,e,n,r){for(var a=0;a<n.length;a++){var o=n[a];e[o].x=a*c.actorMargin+a*c.width,e[o].y=r,e[o].width=c.diagramMarginX,e[o].height=c.diagramMarginY,i.default.drawActor(t,e[o].x,r,e[o].description,c),l.insert(e[o].x,r,e[o].x+c.width,c.height)}l.bumpVerticalPos(c.height)},h=e.setConf=function(t){Object.keys(t).forEach(function(e){c[e]=t[e]})},_=function(t){return l.activations.filter(function(e){return e.actor===t})},p=function(t){var e=o.parser.yy.getActors(),n=_(t);return[n.reduce(function(t,e){return Math.min(t,e.startx)},e[t].x+c.width/2),n.reduce(function(t,e){return Math.max(t,e.stopx)},e[t].x+c.width/2)]},m=e.draw=function(t,e){o.parser.yy.clear(),o.parser.parse(t+"\n"),l.init();var n=r.select('[id="'+e+'"]'),s=void 0,u=void 0,h=void 0,_=o.parser.yy.getActors(),m=o.parser.yy.getActorKeys(),y=o.parser.yy.getMessages(),g=o.parser.yy.getTitle();f(n,_,m,0),i.default.insertArrowHead(n),i.default.insertArrowCrossHead(n),y.forEach(function(t){var e=void 0;switch(t.type){case o.parser.yy.LINETYPE.NOTE:l.bumpVerticalPos(c.boxMargin),s=_[t.from].x,u=_[t.to].x,t.placement===o.parser.yy.PLACEMENT.RIGHTOF?d(n,s+(c.width+c.actorMargin)/2,l.getVerticalPos(),t):t.placement===o.parser.yy.PLACEMENT.LEFTOF?d(n,s-(c.width+c.actorMargin)/2,l.getVerticalPos(),t):t.to===t.from?d(n,s,l.getVerticalPos(),t):(h=Math.abs(s-u)+c.actorMargin,d(n,(s+u+c.width-h)/2,l.getVerticalPos(),t,h));break;case o.parser.yy.LINETYPE.ACTIVE_START:l.newActivation(t,n);break;case o.parser.yy.LINETYPE.ACTIVE_END:!function(t,e){var r=l.endActivation(t);r.starty+18>e&&(r.starty=e-6,e+=12),i.default.drawActivation(n,r,e,c),l.insert(r.startx,e-10,r.stopx,e)}(t,l.getVerticalPos());break;case o.parser.yy.LINETYPE.LOOP_START:l.bumpVerticalPos(c.boxMargin),l.newLoop(t.message),l.bumpVerticalPos(c.boxMargin+c.boxTextMargin);break;case o.parser.yy.LINETYPE.LOOP_END:e=l.endLoop(),i.default.drawLoop(n,e,"loop",c),l.bumpVerticalPos(c.boxMargin);break;case o.parser.yy.LINETYPE.OPT_START:l.bumpVerticalPos(c.boxMargin),l.newLoop(t.message),l.bumpVerticalPos(c.boxMargin+c.boxTextMargin);break;case o.parser.yy.LINETYPE.OPT_END:e=l.endLoop(),i.default.drawLoop(n,e,"opt",c),l.bumpVerticalPos(c.boxMargin);break;case o.parser.yy.LINETYPE.ALT_START:l.bumpVerticalPos(c.boxMargin),l.newLoop(t.message),l.bumpVerticalPos(c.boxMargin+c.boxTextMargin);break;case o.parser.yy.LINETYPE.ALT_ELSE:l.bumpVerticalPos(c.boxMargin),e=l.addSectionToLoop(t.message),l.bumpVerticalPos(c.boxMargin);break;case o.parser.yy.LINETYPE.ALT_END:e=l.endLoop(),i.default.drawLoop(n,e,"alt",c),l.bumpVerticalPos(c.boxMargin);break;case o.parser.yy.LINETYPE.PAR_START:l.bumpVerticalPos(c.boxMargin),l.newLoop(t.message),l.bumpVerticalPos(c.boxMargin+c.boxTextMargin);break;case o.parser.yy.LINETYPE.PAR_AND:l.bumpVerticalPos(c.boxMargin),e=l.addSectionToLoop(t.message),l.bumpVerticalPos(c.boxMargin);break;case o.parser.yy.LINETYPE.PAR_END:e=l.endLoop(),i.default.drawLoop(n,e,"par",c),l.bumpVerticalPos(c.boxMargin);break;default:try{l.bumpVerticalPos(c.messageMargin);var r=p(t.from),f=p(t.to),m=r[0]<=f[0]?1:0,y=r[0]<f[0]?0:1;s=r[m],u=f[y];var g=l.getVerticalPos();!function(t,e,n,r,i){var a=t.append("g"),s=e+(n-e)/2,u=a.append("text").attr("x",s).attr("y",r-7).style("text-anchor","middle").attr("class","messageText").text(i.message),d=(u._groups||u)[0][0].getBBox().width,f=void 0;if(e===n){f=a.append("path").attr("d","M "+e+","+r+" C "+(e+60)+","+(r-10)+" "+(e+60)+","+(r+30)+" "+e+","+(r+20)),l.bumpVerticalPos(30);var h=Math.max(d/2,100);l.insert(e-h,l.getVerticalPos()-10,n+h,l.getVerticalPos())}else(f=a.append("line")).attr("x1",e),f.attr("y1",r),f.attr("x2",n),f.attr("y2",r),l.insert(e,l.getVerticalPos()-10,n,l.getVerticalPos());i.type===o.parser.yy.LINETYPE.DOTTED||i.type===o.parser.yy.LINETYPE.DOTTED_CROSS||i.type===o.parser.yy.LINETYPE.DOTTED_OPEN?(f.style("stroke-dasharray","3, 3"),f.attr("class","messageLine1")):f.attr("class","messageLine0");var _="";c.arrowMarkerAbsolute&&(_=(_=(_=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search).replace(/\(/g,"\\(")).replace(/\)/g,"\\)")),f.attr("stroke-width",2),f.attr("stroke","black"),f.style("fill","none"),i.type!==o.parser.yy.LINETYPE.SOLID&&i.type!==o.parser.yy.LINETYPE.DOTTED||f.attr("marker-end","url("+_+"#arrowhead)"),i.type!==o.parser.yy.LINETYPE.SOLID_CROSS&&i.type!==o.parser.yy.LINETYPE.DOTTED_CROSS||f.attr("marker-end","url("+_+"#crosshead)")}(n,s,u,g,t);var v=r.concat(f);l.insert(Math.min.apply(null,v),g,Math.max.apply(null,v),g)}catch(t){a.logger.error("error while drawing message",t)}}}),c.mirrorActors&&(l.bumpVerticalPos(2*c.boxMargin),f(n,_,m,l.getVerticalPos()));var v=l.getBounds();a.logger.debug("For line height fix Querying: #"+e+" .actor-line"),r.selectAll("#"+e+" .actor-line").attr("y2",v.stopy);var M=v.stopy-v.starty+2*c.diagramMarginY;c.mirrorActors&&(M=M-c.boxMargin+c.bottomMarginAdj);var b=v.stopx-v.startx+2*c.diagramMarginX;g&&n.append("text").text(g).attr("x",(v.stopx-v.startx)/2-2*c.diagramMarginX).attr("y",-25),c.useMaxWidth?(n.attr("height","100%"),n.attr("width","100%"),n.attr("style","max-width:"+b+"px;")):(n.attr("height",M),n.attr("width",b));var k=g?40:0;n.attr("viewBox",v.startx-c.diagramMarginX+" -"+(c.diagramMarginY+k)+" "+b+" "+(M+k))};e.default={bounds:l,drawActors:f,setConf:h,draw:m}},function(t,e,n){t.exports=function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},n.r=function(t){Object.defineProperty(t,"__esModule",{value:!0})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n.w={},n(n.s=25)}([function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,i=(r=n(2))&&r.__esModule?r:{default:r},a=/:/g;function o(t){return t?String(t).replace(a,"\\:"):""}e.default={isSubgraph:function(t,e){return!!t.children(e).length},edgeToId:function(t){return o(t.v)+":"+o(t.w)+":"+o(t.name)},applyStyle:function(t,e){e&&t.attr("style",e)},applyClass:function(t,e,n){e&&t.attr("class",e).attr("class",n+" "+t.attr("class"))},applyTransition:function(t,e){var n=e.graph();if(i.default.isPlainObject(n)){var r=n.transition;if(i.default.isFunction(r))return r(t)}return t}}},function(t,e){t.exports=n(3)},function(t,e){t.exports=n(8)},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=o(n(16)),i=o(n(15)),a=o(n(14));function o(t){return t&&t.__esModule?t:{default:t}}e.default=function(t,e,n){var o=e.label,s=t.append("g");"svg"===e.labelType?(0,a.default)(s,e):"string"!=typeof o||"html"===e.labelType?(0,i.default)(s,e):(0,r.default)(s,e);var u=s.node().getBBox(),c=void 0;switch(n){case"top":c=-e.height/2;break;case"bottom":c=e.height/2-u.height;break;default:c=-u.height/2}return s.attr("transform","translate("+-u.width/2+","+c+")"),s}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t,e,n,r){var i=t.x,a=t.y,o=i-r.x,s=a-r.y,u=Math.sqrt(e*e*s*s+n*n*o*o),c=Math.abs(e*n*o/u);r.x<i&&(c=-c);var l=Math.abs(e*n*s/u);return r.y<a&&(l=-l),{x:i+c,y:a+l}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t,e){var n=t.x,r=t.y,i=e.x-n,a=e.y-r,o=t.width/2,s=t.height/2,u=void 0,c=void 0;return Math.abs(a)*o>Math.abs(i)*s?(a<0&&(s=-s),u=0===a?0:s*i/a,c=s):(i<0&&(o=-o),u=o,c=0===i?0:o*a/i),{x:n+u,y:r+c}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,i=(r=n(23))&&r.__esModule?r:{default:r};e.default=function(t,e,n){var r=t.x,a=t.y,o=[],s=Number.POSITIVE_INFINITY,u=Number.POSITIVE_INFINITY;e.forEach(function(t){s=Math.min(s,t.x),u=Math.min(u,t.y)});for(var c=r-t.width/2-s,l=a-t.height/2-u,d=0;d<e.length;d+=1){var f=e[d],h=e[d<e.length-1?d+1:0],_=(0,i.default)(t,n,{x:c+f.x,y:l+f.y},{x:c+h.x,y:l+h.y});_&&o.push(_)}return o.length?(o.length>1&&o.sort(function(t,e){var r=t.x-n.x,i=t.y-n.y,a=Math.sqrt(r*r+i*i),o=e.x-n.x,s=e.y-n.y,u=Math.sqrt(o*o+s*s);return a<u?-1:a===u?0:1}),o[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",t),t)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,i=(r=n(4))&&r.__esModule?r:{default:r};e.default=function(t,e,n){return(0,i.default)(t,e,e,n)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t,e){return t.intersect(e)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,i=(r=n(0))&&r.__esModule?r:{default:r};function a(t,e,n,r){var a=t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").style("stroke-width",1).style("stroke-dasharray","1,0");i.default.applyStyle(a,n[r+"Style"]),n[r+"Class"]&&a.attr("class",n[r+"Class"])}e.default={normal:a,vee:function(t,e,n,r){var a=t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 L 4 5 z").style("stroke-width",1).style("stroke-dasharray","1,0");i.default.applyStyle(a,n[r+"Style"]),n[r+"Class"]&&a.attr("class",n[r+"Class"])},undirected:function(t,e,n,r){var a=t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 0 5 L 10 5").style("stroke-width",1).style("stroke-dasharray","1,0");i.default.applyStyle(a,n[r+"Style"]),n[r+"Class"]&&a.attr("class",n[r+"Class"])},default:a}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=s(n(5)),i=s(n(4)),a=s(n(7)),o=s(n(6));function s(t){return t&&t.__esModule?t:{default:t}}e.default={rect:function(t,e,n){var i=t.insert("rect",":first-child").attr("rx",n.rx).attr("ry",n.ry).attr("x",-e.width/2).attr("y",-e.height/2).attr("width",e.width).attr("height",e.height);return n.intersect=function(t){return(0,r.default)(n,t)},i},ellipse:function(t,e,n){var r=e.width/2,a=e.height/2,o=t.insert("ellipse",":first-child").attr("x",-e.width/2).attr("y",-e.height/2).attr("rx",r).attr("ry",a);return n.intersect=function(t){return(0,i.default)(n,r,a,t)},o},circle:function(t,e,n){var r=Math.max(e.width,e.height)/2,i=t.insert("circle",":first-child").attr("x",-e.width/2).attr("y",-e.height/2).attr("r",r);return n.intersect=function(t){return(0,a.default)(n,r,t)},i},diamond:function(t,e,n){var r=e.width*Math.SQRT2/2,i=e.height*Math.SQRT2/2,a=[{x:0,y:-i},{x:-r,y:0},{x:0,y:i},{x:r,y:0}],s=t.insert("polygon",":first-child").attr("points",a.map(function(t){return t.x+","+t.y}).join(" "));return n.intersect=function(t){return(0,o.default)(n,a,t)},s}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(n(1)),i=s(n(2)),a=s(n(8)),o=s(n(0));function s(t){return t&&t.__esModule?t:{default:t}}function u(t,e){var n=r.line().x(function(t){return t.x}).y(function(t){return t.y});return n.curve(t.curve),n(e)}e.default=function(t,e,n){var s=t.selectAll("g.edgePath").data(e.edges(),function(t){return o.default.edgeToId(t)}).classed("update",!0);return function(t,e){var n=s.enter().append("g").attr("class","edgePath").style("opacity",0);n.append("path").attr("class","path").attr("d",function(t){var n=e.edge(t),r=e.node(t.v).elem,a=i.default.range(n.points.length).map(function(){return e=(t=r).getBBox(),{x:(n=t.ownerSVGElement.getScreenCTM().inverse().multiply(t.getScreenCTM()).translate(e.width/2,e.height/2)).e,y:n.f};var t,e,n});return u(n,a)}),n.append("defs")}(0,e),function(t,e){var n=s.exit();o.default.applyTransition(n,e).style("opacity",0).remove(),o.default.applyTransition(n.select("path.path"),e).attr("d",function(t){var n=e.node(t.v);return n?u({},i.default.range(this.getTotalLength()).map(function(){return n})):r.select(this).attr("d")})}(0,e),s=t.selectAll("g.edgePath"),o.default.applyTransition(s,e).style("opacity",1),s.each(function(t){var n=r.select(this),i=e.edge(t);i.elem=this,i.id&&n.attr("id",i.id),o.default.applyClass(n,i.class,(n.classed("update")?"update ":"")+"edgePath")}),s.selectAll("path.path").each(function(t){var n=e.edge(t);n.arrowheadId=i.default.uniqueId("arrowhead");var s=r.select(this).attr("marker-end",function(){return"url(#"+n.arrowheadId+")"}).style("fill","none");o.default.applyTransition(s,e).attr("d",function(t){return function(t,e){var n=t.edge(e),r=t.node(e.v),i=t.node(e.w),o=n.points.slice(1,n.points.length-1);return o.unshift((0,a.default)(r,o[0])),o.push((0,a.default)(i,o[o.length-1])),u(n,o)}(e,t)}),o.default.applyStyle(s,n.style)}),s.selectAll("defs *").remove(),s.selectAll("defs").each(function(t){var i=e.edge(t);(0,n[i.arrowhead])(r.select(this),i.arrowheadId,i,"arrowhead")}),s}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(n(1)),i=s(n(2)),a=s(n(3)),o=s(n(0));function s(t){return t&&t.__esModule?t:{default:t}}e.default=function(t,e){var n=t.selectAll("g.edgeLabel").data(e.edges(),function(t){return o.default.edgeToId(t)}).classed("update",!0);return n.selectAll("*").remove(),n.enter().append("g").classed("edgeLabel",!0).style("opacity",0),(n=t.selectAll("g.edgeLabel")).each(function(t){var n=e.edge(t),o=(0,a.default)(r.select(this),e.edge(t),0,0).classed("label",!0),s=o.node().getBBox();n.labelId&&o.attr("id",n.labelId),i.default.has(n,"width")||(n.width=s.width),i.default.has(n,"height")||(n.height=s.height)}),o.default.applyTransition(n.exit(),e).style("opacity",0).remove(),n}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(n(1)),i=o(n(0)),a=o(n(3));function o(t){return t&&t.__esModule?t:{default:t}}e.default=function(t,e){var n=e.nodes().filter(function(t){return i.default.isSubgraph(e,t)}),o=t.selectAll("g.cluster").data(n,function(t){return t});return o.selectAll("*").remove(),o.enter().append("g").attr("class","cluster").attr("id",function(t){return e.node(t).id}).style("opacity",0),o=t.selectAll("g.cluster"),i.default.applyTransition(o,e).style("opacity",1),o.each(function(t){var n=e.node(t),i=r.select(this);r.select(this).append("rect");var o=i.append("g").attr("class","label");(0,a.default)(o,n,n.clusterLabelPos)}),o.selectAll("rect").each(function(t){var n=e.node(t),a=r.select(this);i.default.applyStyle(a,n.style)}),i.default.applyTransition(o.exit(),e).style("opacity",0).remove(),o}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,i=(r=n(0))&&r.__esModule?r:{default:r};e.default=function(t,e){var n=t;return n.node().appendChild(e.label),i.default.applyStyle(n,e.labelStyle),n}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},a=(r=n(0))&&r.__esModule?r:{default:r};e.default=function(t,e){var n=t.append("foreignObject").attr("width","100000"),r=n.append("xhtml:div");r.attr("xmlns","http://www.w3.org/1999/xhtml");var o=e.label;switch(void 0===o?"undefined":i(o)){case"function":r.insert(o);break;case"object":r.insert(function(){return o});break;default:r.html(o)}a.default.applyStyle(r,e.labelStyle),r.style("display","inline-block"),r.style("white-space","nowrap");var s=r.node().getBoundingClientRect();return n.attr("width",s.width).attr("height",s.height),n}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,i=(r=n(0))&&r.__esModule?r:{default:r};e.default=function(t,e){for(var n=t.append("text"),r=function(t){for(var e="",n=!1,r=null,i=0;i<t.length;i+=1)if(r=t[i],n){switch(r){case"n":e+="\n";break;default:e+=r}n=!1}else"\\"===r?n=!0:e+=r;return e}(e.label).split("\n"),a=0;a<r.length;a+=1)n.append("tspan").attr("xml:space","preserve").attr("dy","1em").attr("x","1").text(r[a]);return i.default.applyStyle(n,e.labelStyle),n}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=s(n(2)),i=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(n(1)),a=s(n(3)),o=s(n(0));function s(t){return t&&t.__esModule?t:{default:t}}e.default=function(t,e,n){var s=e.nodes().filter(function(t){return!o.default.isSubgraph(e,t)}),u=t.selectAll("g.node").data(s,function(t){return t}).classed("update",!0);return u.selectAll("*").remove(),u.enter().append("g").attr("class","node").style("opacity",0),(u=t.selectAll("g.node")).each(function(t){var s=e.node(t),u=i.select(this);o.default.applyClass(u,s.class,(u.classed("update")?"update ":"")+"node");var c=u.append("g").attr("class","label"),l=(0,a.default)(c,s),d=n[s.shape],f=r.default.pick(l.node().getBBox(),"width","height");s.elem=this,s.id&&u.attr("id",s.id),s.labelId&&c.attr("id",s.labelId),r.default.has(s,"width")&&(f.width=s.width),r.default.has(s,"height")&&(f.height=s.height),f.width+=s.paddingLeft+s.paddingRight,f.height+=s.paddingTop+s.paddingBottom,c.attr("transform","translate("+(s.paddingLeft-s.paddingRight)/2+","+(s.paddingTop-s.paddingBottom)/2+")");var h=d(i.select(this),f,s);o.default.applyStyle(h,s.style);var _=h.node().getBBox();s.width=_.width,s.height=_.height}),o.default.applyTransition(u.exit(),e).style("opacity",0).remove(),u}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,i=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(n(1)),a=(r=n(0))&&r.__esModule?r:{default:r};e.default=function(t,e){var n=t.filter(function(){return!i.select(this).classed("update")});function r(t){var n=e.node(t);return"translate("+n.x+","+n.y+")"}n.attr("transform",r),a.default.applyTransition(t,e).style("opacity",1).attr("transform",r),a.default.applyTransition(n.selectAll("rect"),e).attr("width",function(t){return e.node(t).width}).attr("height",function(t){return e.node(t).height}).attr("x",function(t){return-e.node(t).width/2}).attr("y",function(t){return-e.node(t).height/2})}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(n(1)),i=o(n(2)),a=o(n(0));function o(t){return t&&t.__esModule?t:{default:t}}e.default=function(t,e){function n(t){var n=e.edge(t);return i.default.has(n,"x")?"translate("+n.x+","+n.y+")":""}t.filter(function(){return!r.select(this).classed("update")}).attr("transform",n),a.default.applyTransition(t,e).style("opacity",1).attr("transform",n)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,i=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(n(1)),a=(r=n(0))&&r.__esModule?r:{default:r};e.default=function(t,e){function n(t){var n=e.node(t);return"translate("+n.x+","+n.y+")"}t.filter(function(){return!i.select(this).classed("update")}).attr("transform",n),a.default.applyTransition(t,e).style("opacity",1).attr("transform",n)}},function(t,e){t.exports=n(21)},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=p(n(2)),i=p(n(21)),a=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(n(1)),o=p(n(20)),s=p(n(19)),u=p(n(18)),c=p(n(17)),l=p(n(13)),d=p(n(12)),f=p(n(11)),h=p(n(10)),_=p(n(9));function p(t){return t&&t.__esModule?t:{default:t}}var m={paddingLeft:10,paddingRight:10,paddingTop:10,paddingBottom:10,rx:0,ry:0,shape:"rect"},y={arrowhead:"normal",curve:a.curveLinear};function g(t,e){var n=t.select("g."+e);return n.empty()&&(n=t.append("g").attr("class",e)),n}e.default=function(){var t=c.default,e=l.default,n=d.default,a=f.default,p=h.default,v=_.default,M=function(c,l){!function(t){t.nodes().forEach(function(e){var n=t.node(e);r.default.has(n,"label")||t.children(e).length||(n.label=e),r.default.has(n,"paddingX")&&r.default.defaults(n,{paddingLeft:n.paddingX,paddingRight:n.paddingX}),r.default.has(n,"paddingY")&&r.default.defaults(n,{paddingTop:n.paddingY,paddingBottom:n.paddingY}),r.default.has(n,"padding")&&r.default.defaults(n,{paddingLeft:n.padding,paddingRight:n.padding,paddingTop:n.padding,paddingBottom:n.padding}),r.default.defaults(n,m),r.default.each(["paddingLeft","paddingRight","paddingTop","paddingBottom"],function(t){n[t]=Number(n[t])}),r.default.has(n,"width")&&(n._prevWidth=n.width),r.default.has(n,"height")&&(n._prevHeight=n.height)}),t.edges().forEach(function(e){var n=t.edge(e);r.default.has(n,"label")||(n.label=""),r.default.defaults(n,y)})}(l),c.selectAll("*").remove();var d=g(c,"output"),f=g(d,"clusters"),h=g(d,"edgePaths"),_=n(g(d,"edgeLabels"),l),M=t(g(d,"nodes"),l,p);i.default.layout(l),(0,o.default)(M,l),(0,s.default)(_,l),a(h,l,v);var b=e(f,l);(0,u.default)(b,l),function(t){r.default.each(t.nodes(),function(e){var n=t.node(e);r.default.has(n,"_prevWidth")?n.width=n._prevWidth:delete n.width,r.default.has(n,"_prevHeight")?n.height=n._prevHeight:delete n.height,delete n._prevWidth,delete n._prevHeight})}(l)};return M.createNodes=function(e){return arguments.length?(t=e,M):t},M.createClusters=function(t){return arguments.length?(e=t,M):e},M.createEdgeLabels=function(t){return arguments.length?(n=t,M):n},M.createEdgePaths=function(t){return arguments.length?(a=t,M):a},M.shapes=function(t){return arguments.length?(p=t,M):p},M.arrows=function(t){return arguments.length?(v=t,M):v},M}},function(t,e,n){"use strict";function r(t,e){return t*e>0}Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t,e,n,i){var a=e.y-t.y,o=t.x-e.x,s=e.x*t.y-t.x*e.y,u=a*n.x+o*n.y+s,c=a*i.x+o*i.y+s;if(0===u||0===c||!r(u,c)){var l=i.y-n.y,d=n.x-i.x,f=i.x*n.y-n.x*i.y,h=l*t.x+d*t.y+f,_=l*e.x+d*e.y+f;if(0===h||0===_||!r(h,_)){var p=a*d-l*o;if(0!==p){var m=Math.abs(p/2),y=o*f-d*s;return{x:y<0?(y-m)/p:(y+m)/p,y:(y=l*s-a*f)<0?(y-m)/p:(y+m)/p}}}}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=u(n(8)),i=u(n(7)),a=u(n(4)),o=u(n(6)),s=u(n(5));function u(t){return t&&t.__esModule?t:{default:t}}e.default={node:r.default,circle:i.default,ellipse:a.default,polygon:o.default,rect:s.default}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=o(n(24)),i=o(n(22)),a=o(n(0));function o(t){return t&&t.__esModule?t:{default:t}}e.default={intersect:r.default,render:i.default,util:a.default}}])},function(t,e,n){const r=n(1),i=n(11),a=n(27);t.exports=function(t,e){const n=new i,o={},s=new a;let u;function c(t){const n=t.v===u?t.w:t.v,r=s.priority(n);if(void 0!==r){var i=e(t);i<r&&(o[n]=u,s.decrease(n,i))}}if(0===t.nodeCount())return n;r.each(t.nodes(),function(t){s.add(t,Number.POSITIVE_INFINITY),n.setNode(t)}),s.decrease(t.nodes()[0],0);var l=!1;for(;s.size()>0;){if(u=s.removeMin(),r.has(o,u))n.setEdge(u,o[u]);else{if(l)throw new Error("Input graph is not connected: "+t);l=!0}t.nodeEdges(u).forEach(c)}return n}},function(t,e,n){var r=n(24);t.exports=function(t,e){return r(t,e,"pre")}},function(t,e,n){var r=n(24);t.exports=function(t,e){return r(t,e,"post")}},function(t,e,n){var r=n(25);t.exports=function(t){try{r(t)}catch(t){if(t instanceof r.CycleException)return!1;throw t}return!0}},function(t,e,n){var r=n(1);t.exports=function(t,e,n){return function(t,e,n){const r={},i=t.nodes();return i.forEach(function(t){r[t]={},r[t][t]={distance:0},i.forEach(function(e){t!==e&&(r[t][e]={distance:Number.POSITIVE_INFINITY})}),n(t).forEach(function(n){const i=n.v===t?n.w:n.v,a=e(n);r[t][i]={distance:a,predecessor:t}})}),i.forEach(function(t){var e=r[t];i.forEach(function(n){var a=r[n];i.forEach(function(n){var r=a[t],i=e[n],o=a[n],s=r.distance+i.distance;s<o.distance&&(o.distance=s,o.predecessor=i.predecessor)})})}),r}(t,e||i,n||function(e){return t.outEdges(e)})};var i=r.constant(1)},function(t,e,n){const r=n(1),i=n(26);t.exports=function(t){return r.filter(i(t),function(e){return e.length>1||1===e.length&&t.hasEdge(e[0],e[0])})}},function(t,e,n){const r=n(28),i=n(1);t.exports=function(t,e,n){return i.transform(t.nodes(),function(i,a){i[a]=r(t,a,e,n)},{})}},function(t,e,n){var r=n(1);t.exports=function(t){const e={},n=[];let i;function a(n){r.has(e,n)||(e[n]=!0,i.push(n),r.each(t.successors(n),a),r.each(t.predecessors(n),a))}return r.each(t.nodes(),function(t){i=[],a(t),i.length&&n.push(i)}),n}},function(t,e,n){t.exports={components:n(174),dijkstra:n(28),dijkstraAll:n(173),findCycles:n(172),floydWarshall:n(171),isAcyclic:n(170),postorder:n(169),preorder:n(168),prim:n(167),tarjan:n(26),topsort:n(25)}},function(t,e,n){const r=n(1),i=n(11);t.exports={write:function(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:function(t){return r.map(t.nodes(),function(e){const n=t.node(e),i=t.parent(e),a={v:e};return r.isUndefined(n)||(a.value=n),r.isUndefined(i)||(a.parent=i),a})}(t),edges:function(t){return r.map(t.edges(),function(e){const n=t.edge(e),i={v:e.v,w:e.w};return r.isUndefined(e.name)||(i.name=e.name),r.isUndefined(n)||(i.value=n),i})}(t)};r.isUndefined(t.graph())||(e.value=r.clone(t.graph()));return e},read:function(t){var e=new i(t.options).setGraph(t.value);return r.each(t.nodes,function(t){e.setNode(t.v,t.value),t.parent&&e.setParent(t.v,t.parent)}),r.each(t.edges,function(t){e.setEdge({v:t.v,w:t.w,name:t.name},t.value)}),e}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.draw=e.getClasses=e.addEdges=e.addVertices=e.setConf=void 0;var r=l(n(12)),i=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(n(3)),a=l(n(23)),o=l(n(22)),s=l(n(166)),u=n(2),c=n(10);function l(t){return t&&t.__esModule?t:{default:t}}var d={},f=e.setConf=function(t){for(var e=Object.keys(t),n=0;n<e.length;n++)d[e[n]]=t[e[n]]},h=e.addVertices=function(t,e){Object.keys(t).forEach(function(n){var r=t[n],i=void 0,a="";r.classes.length>0&&(a=r.classes.join(" "));var o="";o=function(t,e){for(var n=0;n<e.length;n++)void 0!==e[n]&&(t=t+e[n]+";");return t}(o,r.styles),i=void 0===r.text?r.id:r.text;var s="";if(d.htmlLabels)s="html",i=i.replace(/fa:fa[\w-]+/g,function(t){return'<i class="fa '+t.substring(3)+'"></i>'});else{for(var u=document.createElementNS("http://www.w3.org/2000/svg","text"),c=i.split(/<br>/),l=0;l<c.length;l++){var f=document.createElementNS("http://www.w3.org/2000/svg","tspan");f.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),f.setAttribute("dy","1em"),f.setAttribute("x","1"),f.textContent=c[l],u.appendChild(f)}s="svg",i=u}var h=0,_="";switch(r.type){case"round":h=5,_="rect";break;case"square":_="rect";break;case"diamond":_="question";break;case"odd":case"odd_right":_="rect_left_inv_arrow";break;case"circle":_="circle";break;case"ellipse":_="ellipse";break;case"group":_="rect",i=d.htmlLabels?"":document.createElementNS("http://www.w3.org/2000/svg","text");break;default:_="rect"}e.setNode(r.id,{labelType:s,shape:_,label:i,rx:h,ry:h,class:a,style:o,id:r.id})})},_=e.addEdges=function(t,e){var n=0,r=void 0;void 0!==t.defaultStyle&&(r=t.defaultStyle.toString().replace(/,/g,";")),t.forEach(function(a){n++;var o={};"arrow_open"===a.type?o.arrowhead="none":o.arrowhead="normal";var s="";if(void 0!==a.style)a.style.forEach(function(t){s=s+t+";"});else switch(a.stroke){case"normal":s="fill:none",void 0!==r&&(s=r);break;case"dotted":s="stroke: #333; fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":s="stroke: #333; stroke-width: 3.5px;fill:none"}o.style=s,void 0!==a.interpolate?o.curve=(0,c.interpolateToCurve)(a.interpolate,i.curveLinear):void 0!==t.defaultInterpolate?o.curve=(0,c.interpolateToCurve)(t.defaultInterpolate,i.curveLinear):o.curve=(0,c.interpolateToCurve)(d.curve,i.curveLinear),void 0===a.text?void 0!==a.style&&(o.arrowheadStyle="fill: #333"):(o.arrowheadStyle="fill: #333",void 0===a.style?(o.labelpos="c",d.htmlLabels?(o.labelType="html",o.label='<span class="edgeLabel">'+a.text+"</span>"):(o.labelType="text",o.style="stroke: #333; stroke-width: 1.5px;fill:none",o.label=a.text.replace(/<br>/g,"\n"))):o.label=a.text.replace(/<br>/g,"\n")),e.setEdge(a.start,a.end,o,n)})},p=e.getClasses=function(t){a.default.clear();var e=o.default.parser;return e.yy=a.default,e.parse(t),a.default.getClasses()},m=e.draw=function(t,e){u.logger.debug("Drawing flowchart"),a.default.clear();var n=o.default.parser;n.yy=a.default;try{n.parse(t)}catch(t){u.logger.debug("Parsing failed")}var c=a.default.getDirection();void 0===c&&(c="TD");for(var l=new r.default.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),f=void 0,p=a.default.getSubGraphs(),m=p.length-1;m>=0;m--)f=p[m],a.default.addVertex(f.id,f.title,"group",void 0);var y=a.default.getVertices(),g=a.default.getEdges(),v=0;for(v=p.length-1;v>=0;v--){f=p[v],i.selectAll("cluster").append("text");for(var M=0;M<f.nodes.length;M++)l.setParent(f.nodes[M],f.id)}h(y,l),_(g,l);var b=new(0,s.default.render);b.shapes().question=function(t,e,n){var r=.8*(e.width+e.height),i=[{x:r/2,y:0},{x:r,y:-r/2},{x:r/2,y:-r},{x:0,y:-r/2}],a=t.insert("polygon",":first-child").attr("points",i.map(function(t){return t.x+","+t.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-r/2+","+2*r/4+")");return n.intersect=function(t){return s.default.intersect.polygon(n,i,t)},a},b.shapes().rect_left_inv_arrow=function(t,e,n){var r=e.width,i=e.height,a=[{x:-i/2,y:0},{x:r,y:0},{x:r,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=t.insert("polygon",":first-child").attr("points",a.map(function(t){return t.x+","+t.y}).join(" ")).attr("transform","translate("+-r/2+","+2*i/4+")");return n.intersect=function(t){return s.default.intersect.polygon(n,a,t)},o},b.shapes().rect_right_inv_arrow=function(t,e,n){var r=e.width,i=e.height,a=[{x:0,y:0},{x:r+i/2,y:0},{x:r,y:-i/2},{x:r+i/2,y:-i},{x:0,y:-i}],o=t.insert("polygon",":first-child").attr("points",a.map(function(t){return t.x+","+t.y}).join(" ")).attr("transform","translate("+-r/2+","+2*i/4+")");return n.intersect=function(t){return s.default.intersect.polygon(n,a,t)},o},b.arrows().none=function(t,e,n,r){var i=t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 0 0 L 0 0 L 0 0 z");s.default.util.applyStyle(i,n[r+"Style"])},b.arrows().normal=function(t,e,n,r){t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowheadPath").style("stroke-width",1).style("stroke-dasharray","1,0")};var k=i.select('[id="'+e+'"]'),L=i.select("#"+e+" g");for(b(L,l),L.selectAll("g.node").attr("title",function(){return a.default.getTooltip(this.id)}),d.useMaxWidth?(k.attr("height","100%"),k.attr("width",d.width),k.attr("viewBox","0 0 "+(l.graph().width+64)+" "+(l.graph().height+64)),k.attr("style","max-width:"+(l.graph().width+64)+"px;")):(k.attr("height",l.graph().height+64),void 0===d.width?k.attr("width",l.graph().width+64):k.attr("width",d.width),k.attr("viewBox","0 0 "+(l.graph().width+64)+" "+(l.graph().height+64))),k.select("g").attr("transform","translate(32, 32)"),a.default.indexNodes("subGraph"+v),v=0;v<p.length;v++)if("undefined"!==(f=p[v]).title){var w=document.querySelectorAll("#"+e+" #"+f.id+" rect"),x=document.querySelectorAll("#"+e+" #"+f.id),T=w[0].x.baseVal.value,D=w[0].y.baseVal.value,Y=w[0].width.baseVal.value,S=i.select(x[0]).append("text");S.attr("x",T+Y/2),S.attr("y",D+14),S.attr("fill","black"),S.attr("stroke","none"),S.attr("id",e+"Text"),S.style("text-anchor","middle"),void 0===f.title?S.text("Undef"):S.text(f.title)}if(!d.htmlLabels)for(var E=document.querySelectorAll("#"+e+" .edgeLabel .label"),A=0;A<E.length;A++){var C=E[A],j=C.getBBox(),O=document.createElementNS("http://www.w3.org/2000/svg","rect");O.setAttribute("rx",0),O.setAttribute("ry",0),O.setAttribute("width",j.width),O.setAttribute("height",j.height),O.setAttribute("style","fill:#e8e8e8;"),C.insertBefore(O,C.firstChild)}};e.default={setConf:f,addVertices:h,addEdges:_,getClasses:p,draw:m}},function(t,e,n){var r={"./af":150,"./af.js":150,"./ar":149,"./ar-dz":148,"./ar-dz.js":148,"./ar-kw":147,"./ar-kw.js":147,"./ar-ly":146,"./ar-ly.js":146,"./ar-ma":145,"./ar-ma.js":145,"./ar-sa":144,"./ar-sa.js":144,"./ar-tn":143,"./ar-tn.js":143,"./ar.js":149,"./az":142,"./az.js":142,"./be":141,"./be.js":141,"./bg":140,"./bg.js":140,"./bm":139,"./bm.js":139,"./bn":138,"./bn.js":138,"./bo":137,"./bo.js":137,"./br":136,"./br.js":136,"./bs":135,"./bs.js":135,"./ca":134,"./ca.js":134,"./cs":133,"./cs.js":133,"./cv":132,"./cv.js":132,"./cy":131,"./cy.js":131,"./da":130,"./da.js":130,"./de":129,"./de-at":128,"./de-at.js":128,"./de-ch":127,"./de-ch.js":127,"./de.js":129,"./dv":126,"./dv.js":126,"./el":125,"./el.js":125,"./en-au":124,"./en-au.js":124,"./en-ca":123,"./en-ca.js":123,"./en-gb":122,"./en-gb.js":122,"./en-ie":121,"./en-ie.js":121,"./en-il":120,"./en-il.js":120,"./en-nz":119,"./en-nz.js":119,"./eo":118,"./eo.js":118,"./es":117,"./es-do":116,"./es-do.js":116,"./es-us":115,"./es-us.js":115,"./es.js":117,"./et":114,"./et.js":114,"./eu":113,"./eu.js":113,"./fa":112,"./fa.js":112,"./fi":111,"./fi.js":111,"./fo":110,"./fo.js":110,"./fr":109,"./fr-ca":108,"./fr-ca.js":108,"./fr-ch":107,"./fr-ch.js":107,"./fr.js":109,"./fy":106,"./fy.js":106,"./gd":105,"./gd.js":105,"./gl":104,"./gl.js":104,"./gom-latn":103,"./gom-latn.js":103,"./gu":102,"./gu.js":102,"./he":101,"./he.js":101,"./hi":100,"./hi.js":100,"./hr":99,"./hr.js":99,"./hu":98,"./hu.js":98,"./hy-am":97,"./hy-am.js":97,"./id":96,"./id.js":96,"./is":95,"./is.js":95,"./it":94,"./it.js":94,"./ja":93,"./ja.js":93,"./jv":92,"./jv.js":92,"./ka":91,"./ka.js":91,"./kk":90,"./kk.js":90,"./km":89,"./km.js":89,"./kn":88,"./kn.js":88,"./ko":87,"./ko.js":87,"./ky":86,"./ky.js":86,"./lb":85,"./lb.js":85,"./lo":84,"./lo.js":84,"./lt":83,"./lt.js":83,"./lv":82,"./lv.js":82,"./me":81,"./me.js":81,"./mi":80,"./mi.js":80,"./mk":79,"./mk.js":79,"./ml":78,"./ml.js":78,"./mr":77,"./mr.js":77,"./ms":76,"./ms-my":75,"./ms-my.js":75,"./ms.js":76,"./mt":74,"./mt.js":74,"./my":73,"./my.js":73,"./nb":72,"./nb.js":72,"./ne":71,"./ne.js":71,"./nl":70,"./nl-be":69,"./nl-be.js":69,"./nl.js":70,"./nn":68,"./nn.js":68,"./pa-in":67,"./pa-in.js":67,"./pl":66,"./pl.js":66,"./pt":65,"./pt-br":64,"./pt-br.js":64,"./pt.js":65,"./ro":63,"./ro.js":63,"./ru":62,"./ru.js":62,"./sd":61,"./sd.js":61,"./se":60,"./se.js":60,"./si":59,"./si.js":59,"./sk":58,"./sk.js":58,"./sl":57,"./sl.js":57,"./sq":56,"./sq.js":56,"./sr":55,"./sr-cyrl":54,"./sr-cyrl.js":54,"./sr.js":55,"./ss":53,"./ss.js":53,"./sv":52,"./sv.js":52,"./sw":51,"./sw.js":51,"./ta":50,"./ta.js":50,"./te":49,"./te.js":49,"./tet":48,"./tet.js":48,"./tg":47,"./tg.js":47,"./th":46,"./th.js":46,"./tl-ph":45,"./tl-ph.js":45,"./tlh":44,"./tlh.js":44,"./tr":43,"./tr.js":43,"./tzl":42,"./tzl.js":42,"./tzm":41,"./tzm-latn":40,"./tzm-latn.js":40,"./tzm.js":41,"./ug-cn":39,"./ug-cn.js":39,"./uk":38,"./uk.js":38,"./ur":37,"./ur.js":37,"./uz":36,"./uz-latn":35,"./uz-latn.js":35,"./uz.js":36,"./vi":34,"./vi.js":34,"./x-pseudo":33,"./x-pseudo.js":33,"./yo":32,"./yo.js":32,"./zh-cn":31,"./zh-cn.js":31,"./zh-hk":30,"./zh-hk.js":30,"./zh-tw":29,"./zh-tw.js":29};function i(t){var e=a(t);return n(e)}function a(t){var e=r[t];if(!(e+1)){var n=new Error('Cannot find module "'+t+'".');throw n.code="MODULE_NOT_FOUND",n}return e}i.keys=function(){return Object.keys(r)},i.resolve=a,t.exports=i,i.id=178},function(t,e){function n(t,e){if(!t)return t;if(!e)return t;t=r(t,e+" $1$2");var n=e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&");return t=(t=(t=t.replace(new RegExp("("+n+")\\s*\\1(?=[\\s\\r\\n,{])","g"),"$1")).replace(new RegExp("("+n+")\\s*:host","g"),"$1")).replace(new RegExp("("+n+")\\s*@","g"),"@")}function r(t,e){return(t=t.replace(/\/\*([\s\S]*?)\*\//g,"")).replace(/([^\r\n,{}]+)(,(?=[^}]*{)|\s*{)/g,e)}t.exports=n,n.replace=r},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.decodeEntities=e.encodeEntities=void 0;var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(n(3)),a=L(n(179)),o=n(2),s=L(n(10)),u=L(n(177)),c=L(n(22)),l=L(n(23)),d=L(n(165)),f=L(n(20)),h=L(n(19)),_=L(n(163)),p=L(n(18)),m=L(n(17)),y=L(n(162)),g=L(n(15)),v=L(n(16)),M=L(n(161)),b=L(n(13)),k=L(n(14));function L(t){return t&&t.__esModule?t:{default:t}}for(var w={},x=["default","forest","dark","neutral"],T=0;T<x.length;T++){var D=x[T];w[D]=n(160)("./"+D+"/index.scss")}var Y={theme:"default",themeCSS:void 0,logLevel:5,startOnLoad:!0,arrowMarkerAbsolute:!1,flowchart:{htmlLabels:!0,useMaxWidth:!0,curve:"linear"},sequence:{diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,mirrorActors:!0,bottomMarginAdj:1,useMaxWidth:!0},gantt:{titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,leftPadding:75,gridLineStartPadding:35,fontSize:11,fontFamily:'"Open-Sans", "sans-serif"',numberSectionStyles:4,axisFormat:"%Y-%m-%d"},class:{},git:{}};(0,o.setLogLevel)(Y.logLevel);var S=e.encodeEntities=function(t){var e=t;return e=(e=(e=e.replace(/style.*:\S*#.*;/g,function(t){return t.substring(0,t.length-1)})).replace(/classDef.*:\S*#.*;/g,function(t){return t.substring(0,t.length-1)})).replace(/#\w+;/g,function(t){var e=t.substring(1,t.length-1);return/^\+?\d+$/.test(e)?"fl°°"+e+"¶ß":"fl°"+e+"¶ß"})},E=e.decodeEntities=function(t){var e=t;return e=(e=(e=e.replace(/fl°°/g,function(){return"&#"})).replace(/fl°/g,function(){return"&"})).replace(/¶ß/g,function(){return";"})},A=function(t){for(var e=Object.keys(t),n=0;n<e.length;n++)if("object"===r(t[e[n]])&&null!=t[e[n]])for(var i=Object.keys(t[e[n]]),a=0;a<i.length;a++)o.logger.debug("Setting conf ",e[n],"-",i[a]),void 0===Y[e[n]]&&(Y[e[n]]={}),o.logger.debug("Setting config: "+e[n]+" "+i[a]+" to "+t[e[n]][i[a]]),Y[e[n]][i[a]]=t[e[n]][i[a]];else Y[e[n]]=t[e[n]]};var C={render:function(t,e,n,r){if(void 0!==r)r.innerHTML="",i.select(r).append("div").attr("id","d"+t).append("svg").attr("id",t).attr("width","100%").attr("xmlns","http://www.w3.org/2000/svg").append("g");else{var c=document.querySelector("#d"+t);c&&(c.innerHTML=""),i.select("body").append("div").attr("id","d"+t).append("svg").attr("id",t).attr("width","100%").attr("xmlns","http://www.w3.org/2000/svg").append("g")}window.txt=e,e=S(e);var f=i.select("#d"+t).node(),h=s.default.detectType(e),p=f.firstChild,m=p.firstChild,g=w[Y.theme];if(void 0===g&&(g=""),void 0!==Y.themeCSS&&(g+="\n"+Y.themeCSS),"flowchart"===h){var v=u.default.getClasses(e);for(var b in v)g+="\n."+b+" > * { "+v[b].styles.join(" !important; ")+" !important; }"}var k=document.createElement("style");k.innerHTML=(0,a.default)(g,"#"+t),p.insertBefore(k,m);var L=document.createElement("style"),x=window.getComputedStyle(p);switch(L.innerHTML="#"+t+" {\n color: "+x.color+";\n font: "+x.font+";\n }",p.insertBefore(L,m),h){case"git":Y.flowchart.arrowMarkerAbsolute=Y.arrowMarkerAbsolute,M.default.setConf(Y.git),M.default.draw(e,t,!1);break;case"flowchart":Y.flowchart.arrowMarkerAbsolute=Y.arrowMarkerAbsolute,u.default.setConf(Y.flowchart),u.default.draw(e,t,!1);break;case"sequence":Y.sequence.arrowMarkerAbsolute=Y.arrowMarkerAbsolute,Y.sequenceDiagram?(d.default.setConf(Object.assign(Y.sequence,Y.sequenceDiagram)),console.error("`mermaid config.sequenceDiagram` has been renamed to `config.sequence`. Please update your mermaid config.")):d.default.setConf(Y.sequence),d.default.draw(e,t);break;case"gantt":Y.gantt.arrowMarkerAbsolute=Y.arrowMarkerAbsolute,_.default.setConf(Y.gantt),_.default.draw(e,t);break;case"class":Y.class.arrowMarkerAbsolute=Y.arrowMarkerAbsolute,y.default.setConf(Y.class),y.default.draw(e,t)}i.select('[id="'+t+'"]').selectAll("foreignobject > *").attr("xmlns","http://www.w3.org/1999/xhtml");var T="";Y.arrowMarkerAbsolute&&(T=(T=(T=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search).replace(/\(/g,"\\(")).replace(/\)/g,"\\)"));var D=i.select("#d"+t).node().innerHTML.replace(/url\(#arrowhead/g,"url("+T+"#arrowhead","g");D=E(D),void 0!==n?n(D,l.default.bindFunctions):o.logger.warn("CB = undefined!");var A=i.select("#d"+t).node();return null!==A&&"function"==typeof A.remove&&i.select("#d"+t).node().remove(),D},parse:function(t){var e=void 0;switch(s.default.detectType(t)){case"git":(e=b.default).parser.yy=k.default;break;case"flowchart":(e=c.default).parser.yy=l.default;break;case"sequence":(e=f.default).parser.yy=h.default;break;case"gantt":(e=p.default).parser.yy=m.default;break;case"class":(e=g.default).parser.yy=v.default}e.parser.yy.parseError=function(t,e){throw{str:t,hash:e}},e.parse(t)},initialize:function(t){o.logger.debug("Initializing mermaidAPI"),"object"===(void 0===t?"undefined":r(t))&&A(t),(0,o.setLogLevel)(Y.logLevel)},getConfig:function(){return Y}};e.default=C},function(t,e,n){(function(t,n){!function(r){var i="object"==typeof e&&e,a="object"==typeof t&&t&&t.exports==i&&t,o="object"==typeof n&&n;o.global!==o&&o.window!==o||(r=o);var s=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,u=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,d={"­":"shy","‌":"zwnj","‍":"zwj","‎":"lrm","⁣":"ic","⁢":"it","⁡":"af","‏":"rlm","​":"ZeroWidthSpace","⁠":"NoBreak","̑":"DownBreve","⃛":"tdot","⃜":"DotDot","\t":"Tab","\n":"NewLine"," ":"puncsp"," ":"MediumSpace"," ":"thinsp"," ":"hairsp"," ":"emsp13"," ":"ensp"," ":"emsp14"," ":"emsp"," ":"numsp"," ":"nbsp","  ":"ThickSpace","‾":"oline",_:"lowbar","‐":"dash","–":"ndash","—":"mdash","―":"horbar",",":"comma",";":"semi","⁏":"bsemi",":":"colon","⩴":"Colone","!":"excl","¡":"iexcl","?":"quest","¿":"iquest",".":"period","‥":"nldr","…":"mldr","·":"middot","'":"apos","‘":"lsquo","’":"rsquo","‚":"sbquo","‹":"lsaquo","›":"rsaquo",'"':"quot","“":"ldquo","”":"rdquo","„":"bdquo","«":"laquo","»":"raquo","(":"lpar",")":"rpar","[":"lsqb","]":"rsqb","{":"lcub","}":"rcub","⌈":"lceil","⌉":"rceil","⌊":"lfloor","⌋":"rfloor","⦅":"lopar","⦆":"ropar","⦋":"lbrke","⦌":"rbrke","⦍":"lbrkslu","⦎":"rbrksld","⦏":"lbrksld","⦐":"rbrkslu","⦑":"langd","⦒":"rangd","⦓":"lparlt","⦔":"rpargt","⦕":"gtlPar","⦖":"ltrPar","⟦":"lobrk","⟧":"robrk","⟨":"lang","⟩":"rang","⟪":"Lang","⟫":"Rang","⟬":"loang","⟭":"roang","❲":"lbbrk","❳":"rbbrk","‖":"Vert","§":"sect","¶":"para","@":"commat","*":"ast","/":"sol",undefined:null,"&":"amp","#":"num","%":"percnt","‰":"permil","‱":"pertenk","†":"dagger","‡":"Dagger","•":"bull","⁃":"hybull","′":"prime","″":"Prime","‴":"tprime","⁗":"qprime","‵":"bprime","⁁":"caret","`":"grave","´":"acute","˜":"tilde","^":"Hat","¯":"macr","˘":"breve","˙":"dot","¨":"die","˚":"ring","˝":"dblac","¸":"cedil","˛":"ogon","ˆ":"circ","ˇ":"caron","°":"deg","©":"copy","®":"reg","℗":"copysr","℘":"wp","℞":"rx","℧":"mho","℩":"iiota","←":"larr","↚":"nlarr","→":"rarr","↛":"nrarr","↑":"uarr","↓":"darr","↔":"harr","↮":"nharr","↕":"varr","↖":"nwarr","↗":"nearr","↘":"searr","↙":"swarr","↝":"rarrw","↝̸":"nrarrw","↞":"Larr","↟":"Uarr","↠":"Rarr","↡":"Darr","↢":"larrtl","↣":"rarrtl","↤":"mapstoleft","↥":"mapstoup","↦":"map","↧":"mapstodown","↩":"larrhk","↪":"rarrhk","↫":"larrlp","↬":"rarrlp","↭":"harrw","↰":"lsh","↱":"rsh","↲":"ldsh","↳":"rdsh","↵":"crarr","↶":"cularr","↷":"curarr","↺":"olarr","↻":"orarr","↼":"lharu","↽":"lhard","↾":"uharr","↿":"uharl","⇀":"rharu","⇁":"rhard","⇂":"dharr","⇃":"dharl","⇄":"rlarr","⇅":"udarr","⇆":"lrarr","⇇":"llarr","⇈":"uuarr","⇉":"rrarr","⇊":"ddarr","⇋":"lrhar","⇌":"rlhar","⇐":"lArr","⇍":"nlArr","⇑":"uArr","⇒":"rArr","⇏":"nrArr","⇓":"dArr","⇔":"iff","⇎":"nhArr","⇕":"vArr","⇖":"nwArr","⇗":"neArr","⇘":"seArr","⇙":"swArr","⇚":"lAarr","⇛":"rAarr","⇝":"zigrarr","⇤":"larrb","⇥":"rarrb","⇵":"duarr","⇽":"loarr","⇾":"roarr","⇿":"hoarr","∀":"forall","∁":"comp","∂":"part","∂̸":"npart","∃":"exist","∄":"nexist","∅":"empty","∇":"Del","∈":"in","∉":"notin","∋":"ni","∌":"notni","϶":"bepsi","∏":"prod","∐":"coprod","∑":"sum","+":"plus","±":"pm","÷":"div","×":"times","<":"lt","≮":"nlt","<⃒":"nvlt","=":"equals","≠":"ne","=⃥":"bne","⩵":"Equal",">":"gt","≯":"ngt",">⃒":"nvgt","¬":"not","|":"vert","¦":"brvbar","−":"minus","∓":"mp","∔":"plusdo","⁄":"frasl","∖":"setmn","∗":"lowast","∘":"compfn","√":"Sqrt","∝":"prop","∞":"infin","∟":"angrt","∠":"ang","∠⃒":"nang","∡":"angmsd","∢":"angsph","∣":"mid","∤":"nmid","∥":"par","∦":"npar","∧":"and","∨":"or","∩":"cap","∩︀":"caps","∪":"cup","∪︀":"cups","∫":"int","∬":"Int","∭":"tint","⨌":"qint","∮":"oint","∯":"Conint","∰":"Cconint","∱":"cwint","∲":"cwconint","∳":"awconint","∴":"there4","∵":"becaus","∶":"ratio","∷":"Colon","∸":"minusd","∺":"mDDot","∻":"homtht","∼":"sim","≁":"nsim","∼⃒":"nvsim","∽":"bsim","∽̱":"race","∾":"ac","∾̳":"acE","∿":"acd","≀":"wr","≂":"esim","≂̸":"nesim","≃":"sime","≄":"nsime","≅":"cong","≇":"ncong","≆":"simne","≈":"ap","≉":"nap","≊":"ape","≋":"apid","≋̸":"napid","≌":"bcong","≍":"CupCap","≭":"NotCupCap","≍⃒":"nvap","≎":"bump","≎̸":"nbump","≏":"bumpe","≏̸":"nbumpe","≐":"doteq","≐̸":"nedot","≑":"eDot","≒":"efDot","≓":"erDot","≔":"colone","≕":"ecolon","≖":"ecir","≗":"cire","≙":"wedgeq","≚":"veeeq","≜":"trie","≟":"equest","≡":"equiv","≢":"nequiv","≡⃥":"bnequiv","≤":"le","≰":"nle","≤⃒":"nvle","≥":"ge","≱":"nge","≥⃒":"nvge","≦":"lE","≦̸":"nlE","≧":"gE","≧̸":"ngE","≨︀":"lvnE","≨":"lnE","≩":"gnE","≩︀":"gvnE","≪":"ll","≪̸":"nLtv","≪⃒":"nLt","≫":"gg","≫̸":"nGtv","≫⃒":"nGt","≬":"twixt","≲":"lsim","≴":"nlsim","≳":"gsim","≵":"ngsim","≶":"lg","≸":"ntlg","≷":"gl","≹":"ntgl","≺":"pr","⊀":"npr","≻":"sc","⊁":"nsc","≼":"prcue","⋠":"nprcue","≽":"sccue","⋡":"nsccue","≾":"prsim","≿":"scsim","≿̸":"NotSucceedsTilde","⊂":"sub","⊄":"nsub","⊂⃒":"vnsub","⊃":"sup","⊅":"nsup","⊃⃒":"vnsup","⊆":"sube","⊈":"nsube","⊇":"supe","⊉":"nsupe","⊊︀":"vsubne","⊊":"subne","⊋︀":"vsupne","⊋":"supne","⊍":"cupdot","⊎":"uplus","⊏":"sqsub","⊏̸":"NotSquareSubset","⊐":"sqsup","⊐̸":"NotSquareSuperset","⊑":"sqsube","⋢":"nsqsube","⊒":"sqsupe","⋣":"nsqsupe","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊕":"oplus","⊖":"ominus","⊗":"otimes","⊘":"osol","⊙":"odot","⊚":"ocir","⊛":"oast","⊝":"odash","⊞":"plusb","⊟":"minusb","⊠":"timesb","⊡":"sdotb","⊢":"vdash","⊬":"nvdash","⊣":"dashv","⊤":"top","⊥":"bot","⊧":"models","⊨":"vDash","⊭":"nvDash","⊩":"Vdash","⊮":"nVdash","⊪":"Vvdash","⊫":"VDash","⊯":"nVDash","⊰":"prurel","⊲":"vltri","⋪":"nltri","⊳":"vrtri","⋫":"nrtri","⊴":"ltrie","⋬":"nltrie","⊴⃒":"nvltrie","⊵":"rtrie","⋭":"nrtrie","⊵⃒":"nvrtrie","⊶":"origof","⊷":"imof","⊸":"mumap","⊹":"hercon","⊺":"intcal","⊻":"veebar","⊽":"barvee","⊾":"angrtvb","⊿":"lrtri","⋀":"Wedge","⋁":"Vee","⋂":"xcap","⋃":"xcup","⋄":"diam","⋅":"sdot","⋆":"Star","⋇":"divonx","⋈":"bowtie","⋉":"ltimes","⋊":"rtimes","⋋":"lthree","⋌":"rthree","⋍":"bsime","⋎":"cuvee","⋏":"cuwed","⋐":"Sub","⋑":"Sup","⋒":"Cap","⋓":"Cup","⋔":"fork","⋕":"epar","⋖":"ltdot","⋗":"gtdot","⋘":"Ll","⋘̸":"nLl","⋙":"Gg","⋙̸":"nGg","⋚︀":"lesg","⋚":"leg","⋛":"gel","⋛︀":"gesl","⋞":"cuepr","⋟":"cuesc","⋦":"lnsim","⋧":"gnsim","⋨":"prnsim","⋩":"scnsim","⋮":"vellip","⋯":"ctdot","⋰":"utdot","⋱":"dtdot","⋲":"disin","⋳":"isinsv","⋴":"isins","⋵":"isindot","⋵̸":"notindot","⋶":"notinvc","⋷":"notinvb","⋹":"isinE","⋹̸":"notinE","⋺":"nisd","⋻":"xnis","⋼":"nis","⋽":"notnivc","⋾":"notnivb","⌅":"barwed","⌆":"Barwed","⌌":"drcrop","⌍":"dlcrop","⌎":"urcrop","⌏":"ulcrop","⌐":"bnot","⌒":"profline","⌓":"profsurf","⌕":"telrec","⌖":"target","⌜":"ulcorn","⌝":"urcorn","⌞":"dlcorn","⌟":"drcorn","⌢":"frown","⌣":"smile","⌭":"cylcty","⌮":"profalar","⌶":"topbot","⌽":"ovbar","⌿":"solbar","⍼":"angzarr","⎰":"lmoust","⎱":"rmoust","⎴":"tbrk","⎵":"bbrk","⎶":"bbrktbrk","⏜":"OverParenthesis","⏝":"UnderParenthesis","⏞":"OverBrace","⏟":"UnderBrace","⏢":"trpezium","⏧":"elinters","␣":"blank","─":"boxh","│":"boxv","┌":"boxdr","┐":"boxdl","└":"boxur","┘":"boxul","├":"boxvr","┤":"boxvl","┬":"boxhd","┴":"boxhu","┼":"boxvh","═":"boxH","║":"boxV","╒":"boxdR","╓":"boxDr","╔":"boxDR","╕":"boxdL","╖":"boxDl","╗":"boxDL","╘":"boxuR","╙":"boxUr","╚":"boxUR","╛":"boxuL","╜":"boxUl","╝":"boxUL","╞":"boxvR","╟":"boxVr","╠":"boxVR","╡":"boxvL","╢":"boxVl","╣":"boxVL","╤":"boxHd","╥":"boxhD","╦":"boxHD","╧":"boxHu","╨":"boxhU","╩":"boxHU","╪":"boxvH","╫":"boxVh","╬":"boxVH","▀":"uhblk","▄":"lhblk","█":"block","░":"blk14","▒":"blk12","▓":"blk34","□":"squ","▪":"squf","▫":"EmptyVerySmallSquare","▭":"rect","▮":"marker","▱":"fltns","△":"xutri","▴":"utrif","▵":"utri","▸":"rtrif","▹":"rtri","▽":"xdtri","▾":"dtrif","▿":"dtri","◂":"ltrif","◃":"ltri","◊":"loz","○":"cir","◬":"tridot","◯":"xcirc","◸":"ultri","◹":"urtri","◺":"lltri","◻":"EmptySmallSquare","◼":"FilledSmallSquare","★":"starf","☆":"star","☎":"phone","♀":"female","♂":"male","♠":"spades","♣":"clubs","♥":"hearts","♦":"diams","♪":"sung","✓":"check","✗":"cross","✠":"malt","✶":"sext","❘":"VerticalSeparator","⟈":"bsolhsub","⟉":"suphsol","⟵":"xlarr","⟶":"xrarr","⟷":"xharr","⟸":"xlArr","⟹":"xrArr","⟺":"xhArr","⟼":"xmap","⟿":"dzigrarr","⤂":"nvlArr","⤃":"nvrArr","⤄":"nvHarr","⤅":"Map","⤌":"lbarr","⤍":"rbarr","⤎":"lBarr","⤏":"rBarr","⤐":"RBarr","⤑":"DDotrahd","⤒":"UpArrowBar","⤓":"DownArrowBar","⤖":"Rarrtl","⤙":"latail","⤚":"ratail","⤛":"lAtail","⤜":"rAtail","⤝":"larrfs","⤞":"rarrfs","⤟":"larrbfs","⤠":"rarrbfs","⤣":"nwarhk","⤤":"nearhk","⤥":"searhk","⤦":"swarhk","⤧":"nwnear","⤨":"toea","⤩":"tosa","⤪":"swnwar","⤳":"rarrc","⤳̸":"nrarrc","⤵":"cudarrr","⤶":"ldca","⤷":"rdca","⤸":"cudarrl","⤹":"larrpl","⤼":"curarrm","⤽":"cularrp","⥅":"rarrpl","⥈":"harrcir","⥉":"Uarrocir","⥊":"lurdshar","⥋":"ldrushar","⥎":"LeftRightVector","⥏":"RightUpDownVector","⥐":"DownLeftRightVector","⥑":"LeftUpDownVector","⥒":"LeftVectorBar","⥓":"RightVectorBar","⥔":"RightUpVectorBar","⥕":"RightDownVectorBar","⥖":"DownLeftVectorBar","⥗":"DownRightVectorBar","⥘":"LeftUpVectorBar","⥙":"LeftDownVectorBar","⥚":"LeftTeeVector","⥛":"RightTeeVector","⥜":"RightUpTeeVector","⥝":"RightDownTeeVector","⥞":"DownLeftTeeVector","⥟":"DownRightTeeVector","⥠":"LeftUpTeeVector","⥡":"LeftDownTeeVector","⥢":"lHar","⥣":"uHar","⥤":"rHar","⥥":"dHar","⥦":"luruhar","⥧":"ldrdhar","⥨":"ruluhar","⥩":"rdldhar","⥪":"lharul","⥫":"llhard","⥬":"rharul","⥭":"lrhard","⥮":"udhar","⥯":"duhar","⥰":"RoundImplies","⥱":"erarr","⥲":"simrarr","⥳":"larrsim","⥴":"rarrsim","⥵":"rarrap","⥶":"ltlarr","⥸":"gtrarr","⥹":"subrarr","⥻":"suplarr","⥼":"lfisht","⥽":"rfisht","⥾":"ufisht","⥿":"dfisht","⦚":"vzigzag","⦜":"vangrt","⦝":"angrtvbd","⦤":"ange","⦥":"range","⦦":"dwangle","⦧":"uwangle","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","⦰":"bemptyv","⦱":"demptyv","⦲":"cemptyv","⦳":"raemptyv","⦴":"laemptyv","⦵":"ohbar","⦶":"omid","⦷":"opar","⦹":"operp","⦻":"olcross","⦼":"odsold","⦾":"olcir","⦿":"ofcir","⧀":"olt","⧁":"ogt","⧂":"cirscir","⧃":"cirE","⧄":"solb","⧅":"bsolb","⧉":"boxbox","⧍":"trisb","⧎":"rtriltri","⧏":"LeftTriangleBar","⧏̸":"NotLeftTriangleBar","⧐":"RightTriangleBar","⧐̸":"NotRightTriangleBar","⧜":"iinfin","⧝":"infintie","⧞":"nvinfin","⧣":"eparsl","⧤":"smeparsl","⧥":"eqvparsl","⧫":"lozf","⧴":"RuleDelayed","⧶":"dsol","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨄":"xuplus","⨆":"xsqcup","⨍":"fpartint","⨐":"cirfnint","⨑":"awint","⨒":"rppolint","⨓":"scpolint","⨔":"npolint","⨕":"pointint","⨖":"quatint","⨗":"intlarhk","⨢":"pluscir","⨣":"plusacir","⨤":"simplus","⨥":"plusdu","⨦":"plussim","⨧":"plustwo","⨩":"mcomma","⨪":"minusdu","⨭":"loplus","⨮":"roplus","⨯":"Cross","⨰":"timesd","⨱":"timesbar","⨳":"smashp","⨴":"lotimes","⨵":"rotimes","⨶":"otimesas","⨷":"Otimes","⨸":"odiv","⨹":"triplus","⨺":"triminus","⨻":"tritime","⨼":"iprod","⨿":"amalg","⩀":"capdot","⩂":"ncup","⩃":"ncap","⩄":"capand","⩅":"cupor","⩆":"cupcap","⩇":"capcup","⩈":"cupbrcap","⩉":"capbrcup","⩊":"cupcup","⩋":"capcap","⩌":"ccups","⩍":"ccaps","⩐":"ccupssm","⩓":"And","⩔":"Or","⩕":"andand","⩖":"oror","⩗":"orslope","⩘":"andslope","⩚":"andv","⩛":"orv","⩜":"andd","⩝":"ord","⩟":"wedbar","⩦":"sdote","⩪":"simdot","⩭":"congdot","⩭̸":"ncongdot","⩮":"easter","⩯":"apacir","⩰":"apE","⩰̸":"napE","⩱":"eplus","⩲":"pluse","⩳":"Esim","⩷":"eDDot","⩸":"equivDD","⩹":"ltcir","⩺":"gtcir","⩻":"ltquest","⩼":"gtquest","⩽":"les","⩽̸":"nles","⩾":"ges","⩾̸":"nges","⩿":"lesdot","⪀":"gesdot","⪁":"lesdoto","⪂":"gesdoto","⪃":"lesdotor","⪄":"gesdotol","⪅":"lap","⪆":"gap","⪇":"lne","⪈":"gne","⪉":"lnap","⪊":"gnap","⪋":"lEg","⪌":"gEl","⪍":"lsime","⪎":"gsime","⪏":"lsimg","⪐":"gsiml","⪑":"lgE","⪒":"glE","⪓":"lesges","⪔":"gesles","⪕":"els","⪖":"egs","⪗":"elsdot","⪘":"egsdot","⪙":"el","⪚":"eg","⪝":"siml","⪞":"simg","⪟":"simlE","⪠":"simgE","⪡":"LessLess","⪡̸":"NotNestedLessLess","⪢":"GreaterGreater","⪢̸":"NotNestedGreaterGreater","⪤":"glj","⪥":"gla","⪦":"ltcc","⪧":"gtcc","⪨":"lescc","⪩":"gescc","⪪":"smt","⪫":"lat","⪬":"smte","⪬︀":"smtes","⪭":"late","⪭︀":"lates","⪮":"bumpE","⪯":"pre","⪯̸":"npre","⪰":"sce","⪰̸":"nsce","⪳":"prE","⪴":"scE","⪵":"prnE","⪶":"scnE","⪷":"prap","⪸":"scap","⪹":"prnap","⪺":"scnap","⪻":"Pr","⪼":"Sc","⪽":"subdot","⪾":"supdot","⪿":"subplus","⫀":"supplus","⫁":"submult","⫂":"supmult","⫃":"subedot","⫄":"supedot","⫅":"subE","⫅̸":"nsubE","⫆":"supE","⫆̸":"nsupE","⫇":"subsim","⫈":"supsim","⫋︀":"vsubnE","⫋":"subnE","⫌︀":"vsupnE","⫌":"supnE","⫏":"csub","⫐":"csup","⫑":"csube","⫒":"csupe","⫓":"subsup","⫔":"supsub","⫕":"subsub","⫖":"supsup","⫗":"suphsub","⫘":"supdsub","⫙":"forkv","⫚":"topfork","⫛":"mlcp","⫤":"Dashv","⫦":"Vdashl","⫧":"Barv","⫨":"vBar","⫩":"vBarv","⫫":"Vbar","⫬":"Not","⫭":"bNot","⫮":"rnmid","⫯":"cirmid","⫰":"midcir","⫱":"topcir","⫲":"nhpar","⫳":"parsim","⫽":"parsl","⫽⃥":"nparsl","♭":"flat","♮":"natur","♯":"sharp","¤":"curren","¢":"cent",$:"dollar","£":"pound","¥":"yen","€":"euro","¹":"sup1","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","²":"sup2","⅔":"frac23","⅖":"frac25","³":"sup3","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","𝒶":"ascr","𝕒":"aopf","𝔞":"afr","𝔸":"Aopf","𝔄":"Afr","𝒜":"Ascr","ª":"ordf","á":"aacute","Á":"Aacute","à":"agrave","À":"Agrave","ă":"abreve","Ă":"Abreve","â":"acirc","Â":"Acirc","å":"aring","Å":"angst","ä":"auml","Ä":"Auml","ã":"atilde","Ã":"Atilde","ą":"aogon","Ą":"Aogon","ā":"amacr","Ā":"Amacr","æ":"aelig","Æ":"AElig","𝒷":"bscr","𝕓":"bopf","𝔟":"bfr","𝔹":"Bopf","ℬ":"Bscr","𝔅":"Bfr","𝔠":"cfr","𝒸":"cscr","𝕔":"copf","ℭ":"Cfr","𝒞":"Cscr","ℂ":"Copf","ć":"cacute","Ć":"Cacute","ĉ":"ccirc","Ĉ":"Ccirc","č":"ccaron","Č":"Ccaron","ċ":"cdot","Ċ":"Cdot","ç":"ccedil","Ç":"Ccedil","℅":"incare","𝔡":"dfr","ⅆ":"dd","𝕕":"dopf","𝒹":"dscr","𝒟":"Dscr","𝔇":"Dfr","ⅅ":"DD","𝔻":"Dopf","ď":"dcaron","Ď":"Dcaron","đ":"dstrok","Đ":"Dstrok","ð":"eth","Ð":"ETH","ⅇ":"ee","ℯ":"escr","𝔢":"efr","𝕖":"eopf","ℰ":"Escr","𝔈":"Efr","𝔼":"Eopf","é":"eacute","É":"Eacute","è":"egrave","È":"Egrave","ê":"ecirc","Ê":"Ecirc","ě":"ecaron","Ě":"Ecaron","ë":"euml","Ë":"Euml","ė":"edot","Ė":"Edot","ę":"eogon","Ę":"Eogon","ē":"emacr","Ē":"Emacr","𝔣":"ffr","𝕗":"fopf","𝒻":"fscr","𝔉":"Ffr","𝔽":"Fopf","ℱ":"Fscr","ff":"fflig","ffi":"ffilig","ffl":"ffllig","fi":"filig",fj:"fjlig","fl":"fllig","ƒ":"fnof","ℊ":"gscr","𝕘":"gopf","𝔤":"gfr","𝒢":"Gscr","𝔾":"Gopf","𝔊":"Gfr","ǵ":"gacute","ğ":"gbreve","Ğ":"Gbreve","ĝ":"gcirc","Ĝ":"Gcirc","ġ":"gdot","Ġ":"Gdot","Ģ":"Gcedil","𝔥":"hfr","ℎ":"planckh","𝒽":"hscr","𝕙":"hopf","ℋ":"Hscr","ℌ":"Hfr","ℍ":"Hopf","ĥ":"hcirc","Ĥ":"Hcirc","ℏ":"hbar","ħ":"hstrok","Ħ":"Hstrok","𝕚":"iopf","𝔦":"ifr","𝒾":"iscr","ⅈ":"ii","𝕀":"Iopf","ℐ":"Iscr","ℑ":"Im","í":"iacute","Í":"Iacute","ì":"igrave","Ì":"Igrave","î":"icirc","Î":"Icirc","ï":"iuml","Ï":"Iuml","ĩ":"itilde","Ĩ":"Itilde","İ":"Idot","į":"iogon","Į":"Iogon","ī":"imacr","Ī":"Imacr","ij":"ijlig","IJ":"IJlig","ı":"imath","𝒿":"jscr","𝕛":"jopf","𝔧":"jfr","𝒥":"Jscr","𝔍":"Jfr","𝕁":"Jopf","ĵ":"jcirc","Ĵ":"Jcirc","ȷ":"jmath","𝕜":"kopf","𝓀":"kscr","𝔨":"kfr","𝒦":"Kscr","𝕂":"Kopf","𝔎":"Kfr","ķ":"kcedil","Ķ":"Kcedil","𝔩":"lfr","𝓁":"lscr","ℓ":"ell","𝕝":"lopf","ℒ":"Lscr","𝔏":"Lfr","𝕃":"Lopf","ĺ":"lacute","Ĺ":"Lacute","ľ":"lcaron","Ľ":"Lcaron","ļ":"lcedil","Ļ":"Lcedil","ł":"lstrok","Ł":"Lstrok","ŀ":"lmidot","Ŀ":"Lmidot","𝔪":"mfr","𝕞":"mopf","𝓂":"mscr","𝔐":"Mfr","𝕄":"Mopf","ℳ":"Mscr","𝔫":"nfr","𝕟":"nopf","𝓃":"nscr","ℕ":"Nopf","𝒩":"Nscr","𝔑":"Nfr","ń":"nacute","Ń":"Nacute","ň":"ncaron","Ň":"Ncaron","ñ":"ntilde","Ñ":"Ntilde","ņ":"ncedil","Ņ":"Ncedil","№":"numero","ŋ":"eng","Ŋ":"ENG","𝕠":"oopf","𝔬":"ofr","ℴ":"oscr","𝒪":"Oscr","𝔒":"Ofr","𝕆":"Oopf","º":"ordm","ó":"oacute","Ó":"Oacute","ò":"ograve","Ò":"Ograve","ô":"ocirc","Ô":"Ocirc","ö":"ouml","Ö":"Ouml","ő":"odblac","Ő":"Odblac","õ":"otilde","Õ":"Otilde","ø":"oslash","Ø":"Oslash","ō":"omacr","Ō":"Omacr","œ":"oelig","Œ":"OElig","𝔭":"pfr","𝓅":"pscr","𝕡":"popf","ℙ":"Popf","𝔓":"Pfr","𝒫":"Pscr","𝕢":"qopf","𝔮":"qfr","𝓆":"qscr","𝒬":"Qscr","𝔔":"Qfr","ℚ":"Qopf","ĸ":"kgreen","𝔯":"rfr","𝕣":"ropf","𝓇":"rscr","ℛ":"Rscr","ℜ":"Re","ℝ":"Ropf","ŕ":"racute","Ŕ":"Racute","ř":"rcaron","Ř":"Rcaron","ŗ":"rcedil","Ŗ":"Rcedil","𝕤":"sopf","𝓈":"sscr","𝔰":"sfr","𝕊":"Sopf","𝔖":"Sfr","𝒮":"Sscr","Ⓢ":"oS","ś":"sacute","Ś":"Sacute","ŝ":"scirc","Ŝ":"Scirc","š":"scaron","Š":"Scaron","ş":"scedil","Ş":"Scedil","ß":"szlig","𝔱":"tfr","𝓉":"tscr","𝕥":"topf","𝒯":"Tscr","𝔗":"Tfr","𝕋":"Topf","ť":"tcaron","Ť":"Tcaron","ţ":"tcedil","Ţ":"Tcedil","™":"trade","ŧ":"tstrok","Ŧ":"Tstrok","𝓊":"uscr","𝕦":"uopf","𝔲":"ufr","𝕌":"Uopf","𝔘":"Ufr","𝒰":"Uscr","ú":"uacute","Ú":"Uacute","ù":"ugrave","Ù":"Ugrave","ŭ":"ubreve","Ŭ":"Ubreve","û":"ucirc","Û":"Ucirc","ů":"uring","Ů":"Uring","ü":"uuml","Ü":"Uuml","ű":"udblac","Ű":"Udblac","ũ":"utilde","Ũ":"Utilde","ų":"uogon","Ų":"Uogon","ū":"umacr","Ū":"Umacr","𝔳":"vfr","𝕧":"vopf","𝓋":"vscr","𝔙":"Vfr","𝕍":"Vopf","𝒱":"Vscr","𝕨":"wopf","𝓌":"wscr","𝔴":"wfr","𝒲":"Wscr","𝕎":"Wopf","𝔚":"Wfr","ŵ":"wcirc","Ŵ":"Wcirc","𝔵":"xfr","𝓍":"xscr","𝕩":"xopf","𝕏":"Xopf","𝔛":"Xfr","𝒳":"Xscr","𝔶":"yfr","𝓎":"yscr","𝕪":"yopf","𝒴":"Yscr","𝔜":"Yfr","𝕐":"Yopf","ý":"yacute","Ý":"Yacute","ŷ":"ycirc","Ŷ":"Ycirc","ÿ":"yuml","Ÿ":"Yuml","𝓏":"zscr","𝔷":"zfr","𝕫":"zopf","ℨ":"Zfr","ℤ":"Zopf","𝒵":"Zscr","ź":"zacute","Ź":"Zacute","ž":"zcaron","Ž":"Zcaron","ż":"zdot","Ż":"Zdot","Ƶ":"imped","þ":"thorn","Þ":"THORN","ʼn":"napos","α":"alpha","Α":"Alpha","β":"beta","Β":"Beta","γ":"gamma","Γ":"Gamma","δ":"delta","Δ":"Delta","ε":"epsi","ϵ":"epsiv","Ε":"Epsilon","ϝ":"gammad","Ϝ":"Gammad","ζ":"zeta","Ζ":"Zeta","η":"eta","Η":"Eta","θ":"theta","ϑ":"thetav","Θ":"Theta","ι":"iota","Ι":"Iota","κ":"kappa","ϰ":"kappav","Κ":"Kappa","λ":"lambda","Λ":"Lambda","μ":"mu","µ":"micro","Μ":"Mu","ν":"nu","Ν":"Nu","ξ":"xi","Ξ":"Xi","ο":"omicron","Ο":"Omicron","π":"pi","ϖ":"piv","Π":"Pi","ρ":"rho","ϱ":"rhov","Ρ":"Rho","σ":"sigma","Σ":"Sigma","ς":"sigmaf","τ":"tau","Τ":"Tau","υ":"upsi","Υ":"Upsilon","ϒ":"Upsi","φ":"phi","ϕ":"phiv","Φ":"Phi","χ":"chi","Χ":"Chi","ψ":"psi","Ψ":"Psi","ω":"omega","Ω":"ohm","а":"acy","А":"Acy","б":"bcy","Б":"Bcy","в":"vcy","В":"Vcy","г":"gcy","Г":"Gcy","ѓ":"gjcy","Ѓ":"GJcy","д":"dcy","Д":"Dcy","ђ":"djcy","Ђ":"DJcy","е":"iecy","Е":"IEcy","ё":"iocy","Ё":"IOcy","є":"jukcy","Є":"Jukcy","ж":"zhcy","Ж":"ZHcy","з":"zcy","З":"Zcy","ѕ":"dscy","Ѕ":"DScy","и":"icy","И":"Icy","і":"iukcy","І":"Iukcy","ї":"yicy","Ї":"YIcy","й":"jcy","Й":"Jcy","ј":"jsercy","Ј":"Jsercy","к":"kcy","К":"Kcy","ќ":"kjcy","Ќ":"KJcy","л":"lcy","Л":"Lcy","љ":"ljcy","Љ":"LJcy","м":"mcy","М":"Mcy","н":"ncy","Н":"Ncy","њ":"njcy","Њ":"NJcy","о":"ocy","О":"Ocy","п":"pcy","П":"Pcy","р":"rcy","Р":"Rcy","с":"scy","С":"Scy","т":"tcy","Т":"Tcy","ћ":"tshcy","Ћ":"TSHcy","у":"ucy","У":"Ucy","ў":"ubrcy","Ў":"Ubrcy","ф":"fcy","Ф":"Fcy","х":"khcy","Х":"KHcy","ц":"tscy","Ц":"TScy","ч":"chcy","Ч":"CHcy","џ":"dzcy","Џ":"DZcy","ш":"shcy","Ш":"SHcy","щ":"shchcy","Щ":"SHCHcy","ъ":"hardcy","Ъ":"HARDcy","ы":"ycy","Ы":"Ycy","ь":"softcy","Ь":"SOFTcy","э":"ecy","Э":"Ecy","ю":"yucy","Ю":"YUcy","я":"yacy","Я":"YAcy","ℵ":"aleph","ℶ":"beth","ℷ":"gimel","ℸ":"daleth"},f=/["&'<>`]/g,h={'"':"&quot;","&":"&amp;","'":"&#x27;","<":"&lt;",">":"&gt;","`":"&#x60;"},_=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,p=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,m=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|Agrave|Atilde|Ccedil|Eacute|Egrave|Iacute|Igrave|Ntilde|Oacute|Ograve|Oslash|Otilde|Uacute|Ugrave|Yacute|aacute|agrave|atilde|brvbar|ccedil|curren|divide|eacute|egrave|frac12|frac14|frac34|iacute|igrave|iquest|middot|ntilde|oacute|ograve|oslash|otilde|plusmn|uacute|ugrave|yacute|AElig|Acirc|Aring|Ecirc|Icirc|Ocirc|THORN|Ucirc|acirc|acute|aelig|aring|cedil|ecirc|icirc|iexcl|laquo|micro|ocirc|pound|raquo|szlig|thorn|times|ucirc|Auml|COPY|Euml|Iuml|Ouml|QUOT|Uuml|auml|cent|copy|euml|iuml|macr|nbsp|ordf|ordm|ouml|para|quot|sect|sup1|sup2|sup3|uuml|yuml|AMP|ETH|REG|amp|deg|eth|not|reg|shy|uml|yen|GT|LT|gt|lt)([=a-zA-Z0-9])?/g,y={aacute:"á",Aacute:"Á",abreve:"ă",Abreve:"Ă",ac:"∾",acd:"∿",acE:"∾̳",acirc:"â",Acirc:"Â",acute:"´",acy:"а",Acy:"А",aelig:"æ",AElig:"Æ",af:"⁡",afr:"𝔞",Afr:"𝔄",agrave:"à",Agrave:"À",alefsym:"ℵ",aleph:"ℵ",alpha:"α",Alpha:"Α",amacr:"ā",Amacr:"Ā",amalg:"⨿",amp:"&",AMP:"&",and:"∧",And:"⩓",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",aogon:"ą",Aogon:"Ą",aopf:"𝕒",Aopf:"𝔸",ap:"≈",apacir:"⩯",ape:"≊",apE:"⩰",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",aring:"å",Aring:"Å",ascr:"𝒶",Ascr:"𝒜",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",atilde:"ã",Atilde:"Ã",auml:"ä",Auml:"Ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",Bcy:"Б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",beta:"β",Beta:"Β",beth:"ℶ",between:"≬",bfr:"𝔟",Bfr:"𝔅",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bNot:"⫭",bopf:"𝕓",Bopf:"𝔹",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxhD:"╥",boxHd:"╤",boxHD:"╦",boxhu:"┴",boxhU:"╨",boxHu:"╧",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpe:"≏",bumpE:"⪮",bumpeq:"≏",Bumpeq:"≎",cacute:"ć",Cacute:"Ć",cap:"∩",Cap:"⋒",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",ccaron:"č",Ccaron:"Č",ccedil:"ç",Ccedil:"Ç",ccirc:"ĉ",Ccirc:"Ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",Cdot:"Ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",chcy:"ч",CHcy:"Ч",check:"✓",checkmark:"✓",chi:"χ",Chi:"Χ",cir:"○",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cire:"≗",cirE:"⧃",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",colone:"≔",Colone:"⩴",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",cscr:"𝒸",Cscr:"𝒞",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",Cup:"⋓",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",dArr:"⇓",Darr:"↡",dash:"‐",dashv:"⊣",Dashv:"⫤",dbkarow:"⤏",dblac:"˝",dcaron:"ď",Dcaron:"Ď",dcy:"д",Dcy:"Д",dd:"ⅆ",DD:"ⅅ",ddagger:"‡",ddarr:"⇊",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",delta:"δ",Delta:"Δ",demptyv:"⦱",dfisht:"⥿",dfr:"𝔡",Dfr:"𝔇",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",DJcy:"Ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"𝕕",Dopf:"𝔻",dot:"˙",Dot:"¨",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",downarrow:"↓",Downarrow:"⇓",DownArrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"𝒹",Dscr:"𝒟",dscy:"ѕ",DScy:"Ѕ",dsol:"⧶",dstrok:"đ",Dstrok:"Đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",DZcy:"Џ",dzigrarr:"⟿",eacute:"é",Eacute:"É",easter:"⩮",ecaron:"ě",Ecaron:"Ě",ecir:"≖",ecirc:"ê",Ecirc:"Ê",ecolon:"≕",ecy:"э",Ecy:"Э",eDDot:"⩷",edot:"ė",eDot:"≑",Edot:"Ė",ee:"ⅇ",efDot:"≒",efr:"𝔢",Efr:"𝔈",eg:"⪚",egrave:"è",Egrave:"È",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",Emacr:"Ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp:" ",emsp13:" ",emsp14:" ",eng:"ŋ",ENG:"Ŋ",ensp:" ",eogon:"ę",Eogon:"Ę",eopf:"𝕖",Eopf:"𝔼",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",Epsilon:"Ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",esim:"≂",Esim:"⩳",eta:"η",Eta:"Η",eth:"ð",ETH:"Ð",euml:"ë",Euml:"Ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",fcy:"ф",Fcy:"Ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"𝔣",Ffr:"𝔉",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"𝕗",Fopf:"𝔽",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",gamma:"γ",Gamma:"Γ",gammad:"ϝ",Gammad:"Ϝ",gap:"⪆",gbreve:"ğ",Gbreve:"Ğ",Gcedil:"Ģ",gcirc:"ĝ",Gcirc:"Ĝ",gcy:"г",Gcy:"Г",gdot:"ġ",Gdot:"Ġ",ge:"≥",gE:"≧",gel:"⋛",gEl:"⪌",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"𝔤",Gfr:"𝔊",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",GJcy:"Ѓ",gl:"≷",gla:"⪥",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"𝕘",Gopf:"𝔾",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",gscr:"ℊ",Gscr:"𝒢",gsim:"≳",gsime:"⪎",gsiml:"⪐",gt:">",Gt:"≫",GT:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",hardcy:"ъ",HARDcy:"Ъ",harr:"↔",hArr:"⇔",harrcir:"⥈",harrw:"↭",Hat:"^",hbar:"ℏ",hcirc:"ĥ",Hcirc:"Ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",hstrok:"ħ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",iacute:"í",Iacute:"Í",ic:"⁣",icirc:"î",Icirc:"Î",icy:"и",Icy:"И",Idot:"İ",iecy:"е",IEcy:"Е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",igrave:"ì",Igrave:"Ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",IJlig:"IJ",Im:"ℑ",imacr:"ī",Imacr:"Ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",Implies:"⇒",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",Int:"∬",intcal:"⊺",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",iocy:"ё",IOcy:"Ё",iogon:"į",Iogon:"Į",iopf:"𝕚",Iopf:"𝕀",iota:"ι",Iota:"Ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",Itilde:"Ĩ",iukcy:"і",Iukcy:"І",iuml:"ï",Iuml:"Ï",jcirc:"ĵ",Jcirc:"Ĵ",jcy:"й",Jcy:"Й",jfr:"𝔧",Jfr:"𝔍",jmath:"ȷ",jopf:"𝕛",Jopf:"𝕁",jscr:"𝒿",Jscr:"𝒥",jsercy:"ј",Jsercy:"Ј",jukcy:"є",Jukcy:"Є",kappa:"κ",Kappa:"Κ",kappav:"ϰ",kcedil:"ķ",Kcedil:"Ķ",kcy:"к",Kcy:"К",kfr:"𝔨",Kfr:"𝔎",kgreen:"ĸ",khcy:"х",KHcy:"Х",kjcy:"ќ",KJcy:"Ќ",kopf:"𝕜",Kopf:"𝕂",kscr:"𝓀",Kscr:"𝒦",lAarr:"⇚",lacute:"ĺ",Lacute:"Ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",Lambda:"Λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larr:"←",lArr:"⇐",Larr:"↞",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",lAtail:"⤛",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",Lcaron:"Ľ",lcedil:"ļ",Lcedil:"Ļ",lceil:"⌈",lcub:"{",lcy:"л",Lcy:"Л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",leftarrow:"←",Leftarrow:"⇐",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",Leftrightarrow:"⇔",LeftRightArrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",leg:"⋚",lEg:"⪋",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"𝔩",Lfr:"𝔏",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",LJcy:"Љ",ll:"≪",Ll:"⋘",llarr:"⇇",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",lmidot:"ŀ",Lmidot:"Ŀ",lmoust:"⎰",lmoustache:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",Longleftarrow:"⟸",LongLeftArrow:"⟵",longleftrightarrow:"⟷",Longleftrightarrow:"⟺",LongLeftRightArrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",Longrightarrow:"⟹",LongRightArrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"𝕝",Lopf:"𝕃",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",Lstrok:"Ł",lt:"<",Lt:"≪",LT:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",map:"↦",Map:"⤅",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",Mcy:"М",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",mfr:"𝔪",Mfr:"𝔐",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"𝕞",Mopf:"𝕄",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",mu:"μ",Mu:"Μ",multimap:"⊸",mumap:"⊸",nabla:"∇",nacute:"ń",Nacute:"Ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",Ncaron:"Ň",ncedil:"ņ",Ncedil:"Ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",Ncy:"Н",ndash:"–",ne:"≠",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",nfr:"𝔫",Nfr:"𝔑",nge:"≱",ngE:"≧̸",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",ngt:"≯",nGt:"≫⃒",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",NJcy:"Њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nle:"≰",nlE:"≦̸",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nlt:"≮",nLt:"≪⃒",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",not:"¬",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrarr:"↛",nrArr:"⇏",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"𝓃",Nscr:"𝒩",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsube:"⊈",nsubE:"⫅̸",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupe:"⊉",nsupE:"⫆̸",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntilde:"ñ",Ntilde:"Ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",Nu:"Ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",oacute:"ó",Oacute:"Ó",oast:"⊛",ocir:"⊚",ocirc:"ô",Ocirc:"Ô",ocy:"о",Ocy:"О",odash:"⊝",odblac:"ő",Odblac:"Ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",OElig:"Œ",ofcir:"⦿",ofr:"𝔬",Ofr:"𝔒",ogon:"˛",ograve:"ò",Ograve:"Ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",Omacr:"Ō",omega:"ω",Omega:"Ω",omicron:"ο",Omicron:"Ο",omid:"⦶",ominus:"⊖",oopf:"𝕠",Oopf:"𝕆",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",or:"∨",Or:"⩔",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",oscr:"ℴ",Oscr:"𝒪",oslash:"ø",Oslash:"Ø",osol:"⊘",otilde:"õ",Otilde:"Õ",otimes:"⊗",Otimes:"⨷",otimesas:"⨶",ouml:"ö",Ouml:"Ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",pcy:"п",Pcy:"П",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"𝔭",Pfr:"𝔓",phi:"φ",Phi:"Φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",Pi:"Π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",pr:"≺",Pr:"⪻",prap:"⪷",prcue:"≼",pre:"⪯",prE:"⪳",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportion:"∷",Proportional:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"𝓅",Pscr:"𝒫",psi:"ψ",Psi:"Ψ",puncsp:" ",qfr:"𝔮",Qfr:"𝔔",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",qscr:"𝓆",Qscr:"𝒬",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",racute:"ŕ",Racute:"Ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarr:"→",rArr:"⇒",Rarr:"↠",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",Rarrtl:"⤖",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",Rcaron:"Ř",rcedil:"ŗ",Rcedil:"Ŗ",rceil:"⌉",rcub:"}",rcy:"р",Rcy:"Р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",Re:"ℜ",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",Rho:"Ρ",rhov:"ϱ",RightAngleBracket:"⟩",rightarrow:"→",Rightarrow:"⇒",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",sacute:"ś",Sacute:"Ś",sbquo:"‚",sc:"≻",Sc:"⪼",scap:"⪸",scaron:"š",Scaron:"Š",sccue:"≽",sce:"⪰",scE:"⪴",scedil:"ş",Scedil:"Ş",scirc:"ŝ",Scirc:"Ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",Scy:"С",sdot:"⋅",sdotb:"⊡",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"𝔰",Sfr:"𝔖",sfrown:"⌢",sharp:"♯",shchcy:"щ",SHCHcy:"Щ",shcy:"ш",SHcy:"Ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",sigma:"σ",Sigma:"Σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",SOFTcy:"Ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"𝕤",Sopf:"𝕊",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squf:"▪",srarr:"→",sscr:"𝓈",Sscr:"𝒮",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",Star:"⋆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",sube:"⊆",subE:"⫅",subedot:"⫃",submult:"⫁",subne:"⊊",subnE:"⫋",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup:"⊃",Sup:"⋑",sup1:"¹",sup2:"²",sup3:"³",supdot:"⪾",supdsub:"⫘",supe:"⊇",supE:"⫆",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supne:"⊋",supnE:"⫌",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:"\t",target:"⌖",tau:"τ",Tau:"Τ",tbrk:"⎴",tcaron:"ť",Tcaron:"Ť",tcedil:"ţ",Tcedil:"Ţ",tcy:"т",Tcy:"Т",tdot:"⃛",telrec:"⌕",tfr:"𝔱",Tfr:"𝔗",there4:"∴",therefore:"∴",Therefore:"∴",theta:"θ",Theta:"Θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",thinsp:" ",ThinSpace:" ",thkap:"≈",thksim:"∼",thorn:"þ",THORN:"Þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"𝕥",Topf:"𝕋",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"𝓉",Tscr:"𝒯",tscy:"ц",TScy:"Ц",tshcy:"ћ",TSHcy:"Ћ",tstrok:"ŧ",Tstrok:"Ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uacute:"ú",Uacute:"Ú",uarr:"↑",uArr:"⇑",Uarr:"↟",Uarrocir:"⥉",ubrcy:"ў",Ubrcy:"Ў",ubreve:"ŭ",Ubreve:"Ŭ",ucirc:"û",Ucirc:"Û",ucy:"у",Ucy:"У",udarr:"⇅",udblac:"ű",Udblac:"Ű",udhar:"⥮",ufisht:"⥾",ufr:"𝔲",Ufr:"𝔘",ugrave:"ù",Ugrave:"Ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",Umacr:"Ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",uogon:"ų",Uogon:"Ų",uopf:"𝕦",Uopf:"𝕌",uparrow:"↑",Uparrow:"⇑",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",updownarrow:"↕",Updownarrow:"⇕",UpDownArrow:"↕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",upsilon:"υ",Upsilon:"Υ",UpTee:"⊥",UpTeeArrow:"↥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",Uring:"Ů",urtri:"◹",uscr:"𝓊",Uscr:"𝒰",utdot:"⋰",utilde:"ũ",Utilde:"Ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uuml:"ü",Uuml:"Ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",vcy:"в",Vcy:"В",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",vee:"∨",Vee:"⋁",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",vfr:"𝔳",Vfr:"𝔙",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"𝕧",Vopf:"𝕍",vprop:"∝",vrtri:"⊳",vscr:"𝓋",Vscr:"𝒱",vsubne:"⊊︀",vsubnE:"⫋︀",vsupne:"⊋︀",vsupnE:"⫌︀",Vvdash:"⊪",vzigzag:"⦚",wcirc:"ŵ",Wcirc:"Ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",wfr:"𝔴",Wfr:"𝔚",wopf:"𝕨",Wopf:"𝕎",wp:"℘",wr:"≀",wreath:"≀",wscr:"𝓌",Wscr:"𝒲",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"𝔵",Xfr:"𝔛",xharr:"⟷",xhArr:"⟺",xi:"ξ",Xi:"Ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"𝕩",Xopf:"𝕏",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",xscr:"𝓍",Xscr:"𝒳",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacute:"ý",Yacute:"Ý",yacy:"я",YAcy:"Я",ycirc:"ŷ",Ycirc:"Ŷ",ycy:"ы",Ycy:"Ы",yen:"¥",yfr:"𝔶",Yfr:"𝔜",yicy:"ї",YIcy:"Ї",yopf:"𝕪",Yopf:"𝕐",yscr:"𝓎",Yscr:"𝒴",yucy:"ю",YUcy:"Ю",yuml:"ÿ",Yuml:"Ÿ",zacute:"ź",Zacute:"Ź",zcaron:"ž",Zcaron:"Ž",zcy:"з",Zcy:"З",zdot:"ż",Zdot:"Ż",zeetrf:"ℨ",ZeroWidthSpace:"​",zeta:"ζ",Zeta:"Ζ",zfr:"𝔷",Zfr:"ℨ",zhcy:"ж",ZHcy:"Ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",zscr:"𝓏",Zscr:"𝒵",zwj:"‍",zwnj:"‌"},g={aacute:"á",Aacute:"Á",acirc:"â",Acirc:"Â",acute:"´",aelig:"æ",AElig:"Æ",agrave:"à",Agrave:"À",amp:"&",AMP:"&",aring:"å",Aring:"Å",atilde:"ã",Atilde:"Ã",auml:"ä",Auml:"Ä",brvbar:"¦",ccedil:"ç",Ccedil:"Ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",eacute:"é",Eacute:"É",ecirc:"ê",Ecirc:"Ê",egrave:"è",Egrave:"È",eth:"ð",ETH:"Ð",euml:"ë",Euml:"Ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",iacute:"í",Iacute:"Í",icirc:"î",Icirc:"Î",iexcl:"¡",igrave:"ì",Igrave:"Ì",iquest:"¿",iuml:"ï",Iuml:"Ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",ntilde:"ñ",Ntilde:"Ñ",oacute:"ó",Oacute:"Ó",ocirc:"ô",Ocirc:"Ô",ograve:"ò",Ograve:"Ò",ordf:"ª",ordm:"º",oslash:"ø",Oslash:"Ø",otilde:"õ",Otilde:"Õ",ouml:"ö",Ouml:"Ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",thorn:"þ",THORN:"Þ",times:"×",uacute:"ú",Uacute:"Ú",ucirc:"û",Ucirc:"Û",ugrave:"ù",Ugrave:"Ù",uml:"¨",uuml:"ü",Uuml:"Ü",yacute:"ý",Yacute:"Ý",yen:"¥",yuml:"ÿ"},v={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},M=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],b=String.fromCharCode,k={}.hasOwnProperty,L=function(t,e){return k.call(t,e)},w=function(t,e){if(!t)return e;var n,r={};for(n in e)r[n]=L(t,n)?t[n]:e[n];return r},x=function(t,e){var n="";return t>=55296&&t<=57343||t>1114111?(e&&Y("character reference outside the permissible Unicode range"),"�"):L(v,t)?(e&&Y("disallowed character reference"),v[t]):(e&&function(t,e){for(var n=-1,r=t.length;++n<r;)if(t[n]==e)return!0;return!1}(M,t)&&Y("disallowed character reference"),t>65535&&(n+=b((t-=65536)>>>10&1023|55296),t=56320|1023&t),n+=b(t))},T=function(t){return"&#x"+t.toString(16).toUpperCase()+";"},D=function(t){return"&#"+t+";"},Y=function(t){throw Error("Parse error: "+t)},S=function(t,e){(e=w(e,S.options)).strict&&p.test(t)&&Y("forbidden code point");var n=e.encodeEverything,r=e.useNamedReferences,i=e.allowUnsafeSymbols,a=e.decimal?D:T,o=function(t){return a(t.charCodeAt(0))};return n?(t=t.replace(u,function(t){return r&&L(d,t)?"&"+d[t]+";":o(t)}),r&&(t=t.replace(/&gt;\u20D2/g,"&nvgt;").replace(/&lt;\u20D2/g,"&nvlt;").replace(/&#x66;&#x6A;/g,"&fjlig;")),r&&(t=t.replace(l,function(t){return"&"+d[t]+";"}))):r?(i||(t=t.replace(f,function(t){return"&"+d[t]+";"})),t=(t=t.replace(/&gt;\u20D2/g,"&nvgt;").replace(/&lt;\u20D2/g,"&nvlt;")).replace(l,function(t){return"&"+d[t]+";"})):i||(t=t.replace(f,o)),t.replace(s,function(t){var e=t.charCodeAt(0),n=t.charCodeAt(1);return a(1024*(e-55296)+n-56320+65536)}).replace(c,o)};S.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1,decimal:!1};var E=function(t,e){var n=(e=w(e,E.options)).strict;return n&&_.test(t)&&Y("malformed character reference"),t.replace(m,function(t,r,i,a,o,s,u,c){var l,d,f,h,_,p;return r?(f=r,d=i,n&&!d&&Y("character reference was not terminated by a semicolon"),l=parseInt(f,10),x(l,n)):a?(h=a,d=o,n&&!d&&Y("character reference was not terminated by a semicolon"),l=parseInt(h,16),x(l,n)):s?L(y,_=s)?y[_]:(n&&Y("named character reference was not terminated by a semicolon"),t):(_=u,(p=c)&&e.isAttributeValue?(n&&"="==p&&Y("`&` did not start a character reference"),t):(n&&Y("named character reference was not terminated by a semicolon"),g[_]+(p||"")))})};E.options={isAttributeValue:!1,strict:!1};var A={version:"1.1.1",encode:S,decode:E,escape:function(t){return t.replace(f,function(t){return h[t]})},unescape:E};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return A});else if(i&&!i.nodeType)if(a)a.exports=A;else for(var C in A)L(A,C)&&(i[C]=A[C]);else r.he=A}(this)}).call(this,n(4)(t),n(151))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=o(n(181)),i=o(n(180)),a=n(2);function o(t){return t&&t.__esModule?t:{default:t}}var s=function(){u.startOnLoad?i.default.getConfig().startOnLoad&&u.init():void 0===u.startOnLoad&&(a.logger.debug("In start, no config"),i.default.getConfig().startOnLoad&&u.init())};"undefined"!=typeof document&&
+/*!
+ * Wait for document loaded before starting the execution
+ */
+window.addEventListener("load",function(){s()},!1);var u={startOnLoad:!0,htmlLabels:!0,mermaidAPI:i.default,parse:i.default.parse,render:i.default.render,init:function(){var t=i.default.getConfig();a.logger.debug("Starting rendering diagrams");var e=void 0;arguments.length>=2?(
+/*! sequence config was passed as #1 */
+void 0!==arguments[0]&&(u.sequenceConfig=arguments[0]),e=arguments[1]):e=arguments[0];var n=void 0;"function"==typeof arguments[arguments.length-1]?(n=arguments[arguments.length-1],a.logger.debug("Callback function found")):void 0!==t.mermaid&&("function"==typeof t.mermaid.callback?(n=t.mermaid.callback,a.logger.debug("Callback function found")):a.logger.debug("No Callback function found")),e=void 0===e?document.querySelectorAll(".mermaid"):"string"==typeof e?document.querySelectorAll(e):e instanceof window.Node?[e]:e,a.logger.debug("Start On Load before: "+u.startOnLoad),void 0!==u.startOnLoad&&(a.logger.debug("Start On Load inner: "+u.startOnLoad),i.default.initialize({startOnLoad:u.startOnLoad})),void 0!==u.ganttConfig&&i.default.initialize({gantt:u.ganttConfig});for(var o=void 0,s=function(t){var a=e[t];
+/*! Check if previously processed */if(a.getAttribute("data-processed"))return"continue";a.setAttribute("data-processed",!0);var s="mermaid-"+Date.now();o=a.innerHTML,o=r.default.decode(o).trim().replace(/<br>/gi,"<br/>"),i.default.render(s,o,function(t,e){a.innerHTML=t,void 0!==n&&n(s),e(a)},a)},c=0;c<e.length;c++)s(c)},initialize:function(t){a.logger.debug("Initializing mermaid"),void 0!==t.mermaid&&(void 0!==t.mermaid.startOnLoad&&(u.startOnLoad=t.mermaid.startOnLoad),void 0!==t.mermaid.htmlLabels&&(u.htmlLabels=t.mermaid.htmlLabels)),i.default.initialize(t)},contentLoaded:s};e.default=u}]).default});
+//# sourceMappingURL=mermaid.min.js.map \ No newline at end of file
diff --git a/www/wiki/extensions/Mermaid/res/mermaid/8.0.0/mermaid.neutral.min.css b/www/wiki/extensions/Mermaid/res/mermaid/8.0.0/mermaid.neutral.min.css
new file mode 100644
index 00000000..e9570979
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/res/mermaid/8.0.0/mermaid.neutral.min.css
@@ -0,0 +1 @@
+.mermaid .label{color:#333}.node circle,.node ellipse,.node polygon,.node rect{fill:#eee;stroke:#999;stroke-width:1px}.edgePath .path{stroke:#666;stroke-width:1.5px}.edgeLabel{background-color:#fff}.cluster rect{fill:#eaf2fb!important;rx:4!important;stroke:#26a!important;stroke-width:1px!important}.cluster text{fill:#333}.actor{stroke:#999;fill:#eee}text.actor{fill:#333;stroke:none}.actor-line{stroke:#666}.messageLine0{marker-end:"url(#arrowhead)"}.messageLine0,.messageLine1{stroke-width:1.5;stroke-dasharray:"2 2";stroke:#333}#arrowhead{fill:#333}#crosshead path{fill:#333!important;stroke:#333!important}.messageText{fill:#333;stroke:none}.labelBox{stroke:#999;fill:#eee}.labelText,.loopText{fill:#fff;stroke:none}.loopLine{stroke-width:2;stroke-dasharray:"2 2";marker-end:"url(#arrowhead)";stroke:#999}.note{stroke:#770;fill:#ffa}.noteText{fill:#000;stroke:none;font-family:Arial,Helvetica,sans-serif;font-size:14px}.section{stroke:none;opacity:.2}.section0,.section2{fill:#7fb2e6}.section1,.section3{fill:#fff;opacity:.2}.sectionTitle0,.sectionTitle1,.sectionTitle2,.sectionTitle3{fill:#333}.sectionTitle{text-anchor:start;font-size:11px;text-height:14px}.grid .tick{stroke:#e5e5e5;opacity:.3;shape-rendering:crispEdges}.grid path{stroke-width:0}.today{fill:none;stroke:#d42;stroke-width:2px}.task{stroke-width:2}.taskText{text-anchor:middle;font-size:11px}.taskTextOutsideRight{fill:#333;text-anchor:start;font-size:11px}.taskTextOutsideLeft{fill:#333;text-anchor:end;font-size:11px}.taskText0,.taskText1,.taskText2,.taskText3{fill:#fff}.task0,.task1,.task2,.task3{fill:#26a;stroke:#194c7f}.taskTextOutside0,.taskTextOutside1,.taskTextOutside2,.taskTextOutside3{fill:#333}.active0,.active1,.active2,.active3{fill:#eee;stroke:#194c7f}.activeText0,.activeText1,.activeText2,.activeText3{fill:#333!important}.done0,.done1,.done2,.done3{stroke:#666;fill:#bbb;stroke-width:2}.doneText0,.doneText1,.doneText2,.doneText3{fill:#333!important}.crit0,.crit1,.crit2,.crit3{stroke:#b1361b;fill:#d42;stroke-width:2}.activeCrit0,.activeCrit1,.activeCrit2,.activeCrit3{stroke:#b1361b;fill:#eee;stroke-width:2}.doneCrit0,.doneCrit1,.doneCrit2,.doneCrit3{stroke:#b1361b;fill:#bbb;stroke-width:2;cursor:pointer}.activeCritText0,.activeCritText1,.activeCritText2,.activeCritText3,.doneCritText0,.doneCritText1,.doneCritText2,.doneCritText3{fill:#333!important}.titleText{text-anchor:middle;font-size:18px;fill:#333}g.classGroup text{fill:#999;stroke:none;font-family:trebuchet ms,verdana,arial;font-size:10px}g.classGroup rect{fill:#eee;stroke:#999}g.classGroup line{stroke:#999;stroke-width:1}svg .classLabel .box{stroke:none;stroke-width:0;fill:#eee;opacity:.5}svg .classLabel .label{fill:#999;font-size:10px}.relation{stroke:#999;stroke-width:1;fill:none}#compositionEnd,#compositionStart,.composition{fill:#999;stroke:#999;stroke-width:1}#aggregationEnd,#aggregationStart,.aggregation{fill:#eee;stroke:#999;stroke-width:1}#dependencyEnd,#dependencyStart,#extensionEnd,#extensionStart{fill:#999;stroke:#999;stroke-width:1}.node text{font-size:14px}.node text,div.mermaidTooltip{font-family:Arial,Helvetica,sans-serif}div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-size:12px;background:#eaf2fb;border:1px solid #26a;border-radius:2px;pointer-events:none;z-index:100} \ No newline at end of file
diff --git a/www/wiki/extensions/Mermaid/res/mermaid/8.0.0/mermaidAPI.min.js b/www/wiki/extensions/Mermaid/res/mermaid/8.0.0/mermaidAPI.min.js
new file mode 100644
index 00000000..8d2152a1
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/res/mermaid/8.0.0/mermaidAPI.min.js
@@ -0,0 +1 @@
+module.exports=function(t){function e(n){if(r[n])return r[n].exports;var i=r[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,e),i.l=!0,i.exports}var r={};return e.m=t,e.c=r,e.d=function(t,r,n){e.o(t,r)||Object.defineProperty(t,r,{configurable:!1,enumerable:!0,get:n})},e.n=function(t){var r=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(r,"a",r),r},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=21)}([function(t,e,r){"use strict";function n(t){var e=t.getUTCHours(),r=t.getUTCMinutes(),n=t.getSeconds(),i=t.getMilliseconds();return e<10&&(e="0"+e),r<10&&(r="0"+r),n<10&&(n="0"+n),i<100&&(i="0"+i),i<10&&(i="00"+i),e+":"+r+":"+n+" ("+i+")"}function i(t){return"%c "+n(new Date)+" :%c"+t+": "}var s=function(){},a=function(){},u=function(){},o=function(){},c=function(){};e.setLogLevel=function(t){t<6&&(e.Log.fatal=console.log.bind(console,i("FATAL"),"color:grey;","color: red;")),t<5&&(e.Log.error=console.log.bind(console,i("ERROR"),"color:grey;","color: red;")),t<4&&(e.Log.warn=console.log.bind(console,i("WARN"),"color:grey;","color: orange;")),t<3&&(e.Log.info=console.log.bind(console,i("INFO"),"color:grey;","color: info;")),t<2&&(e.Log.debug=console.log.bind(console,i("DEBUG"),"color:grey;","color: green;"))},e.Log={debug:s,info:a,warn:u,error:o,fatal:c}},function(t,e,r){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=r(22);t.exports=i,function(){var t=!1;if(t="tspans",i.selection.prototype.textwrap)return!1;void 0===t&&(t=!1),i.selection.prototype.textwrap=i.selection.enter.prototype.textwrap=function(e,r){r=parseInt(r)||0;var s,a=this,u=function(t){var e=t[0][0];if("rect"!==e.tagName.toString())return!1;var r={};return r.x=i.select(e).attr("x")||0,r.y=i.select(e).attr("y")||0,r.width=i.select(e).attr("width")||0,r.height=i.select(e).attr("height")||0,r.attr=t.attr,r},o=function(t){if(t.attr||(t.attr=function(t){if(this[t])return this[t]}),"object"===(void 0===t?"undefined":n(t))&&void 0!==t.x&&void 0!==t.y&&void 0!==t.width&&void 0!==t.height)return t;if("function"==typeof Array.isArray&&Array.isArray(t)||"[object Array]"===Object.prototype.toString.call(t)){return u(t)}return!1}(e);if(r&&(o=function(t,e){var r=t;return 0!==e&&(r.x=parseInt(r.x)+e,r.y=parseInt(r.y)+e,r.width-=2*e,r.height-=2*e),r}(o,r)),0!==a.length&&i&&e&&o){e=o;var c,l=function(t){var r=i.select(t[0].parentNode),n=r.select("text"),a=n.style("line-height"),u=n.text();n.remove();var o=r.append("foreignObject");o.attr("requiredFeatures","http://www.w3.org/TR/SVG11/feature#Extensibility").attr("x",e.x).attr("y",e.y).attr("width",e.width).attr("height",e.height);var c=o.append("xhtml:div").attr("class","wrapped");c.style("height",e.height).style("width",e.width).html(u),a&&c.style("line-height",a),s=r.select("foreignObject")},h=function(t){var n,a=t[0],u=a.parentNode,o=i.select(a),c=a.getBBox().height,l=a.getBBox().width,h=c,y=o.style("line-height");if(n=y&&parseInt(y)?parseInt(y.replace("px","")):h,l>e.width){var d=o.text();if(o.text(""),d){var p,g;if(-1!==d.indexOf(" "))p=" ",g=d.split(" ");else{p="";var f=d.length,m=Math.ceil(l/e.width),A=Math.floor(f/m);A*m>=f||m++,g=[];for(var b,E,x=0;x<m;x++)E=x*A,b=d.substr(E,A),g.push(b)}var k=[],_=0,v={};for(x=0;x<g.length;x++){var F,D=g[x],C=o.text(),T=a.getComputedTextLength();F=C?C+p+D:D,o.text(F);var w=a.getComputedTextLength();if(w>e.width&&C&&""!==C&&(_+=T,v={string:C,width:T,offset:_},k.push(v),o.text(""),o.text(D),x===g.length-1&&(F=D,o.text(F),w=a.getComputedTextLength())),x===g.length-1){o.text("");var S=F;S&&""!==S&&(w-_>0&&(w-=_),v={string:S,width:w,offset:_},k.push(v))}}var B;for(o.text(""),x=0;x<k.length;x++)b=k[x].string,x*n<e.height-1.5*n&&(B=o.append("tspan").text(b),B.attr("dy",function(t){if(x>0)return n}),B.attr("x",function(){var t=e.x;return r&&(t+=r),t}))}}o.attr("y",function(){var t=e.y;return n&&(t+=n),r&&(t+=r),t}),o.attr("x",function(){var t=e.x;return r&&(t+=r),t}),s=i.select(u).selectAll("text")};t&&("foreignobjects"===t?c=l:"tspans"===t&&(c=h)),t||(c="undefined"!=typeof SVGForeignObjectElement?l:h);for(var y=0;y<a.length;y++){c(a[y])}return s}return a||!1}}()},function(t,e){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,e){t.exports=require("fs")},function(t,e){t.exports=require("path")},function(t,e,r){"use strict";var n,i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},s=r(0),a=s.Log,u=r(6),o=r(1),c={},l=[],h=[],y=[],d={},p=0,g=[];e.addVertex=function(t,e,r,n){var i;void 0!==t&&0!==t.trim().length&&(void 0===c[t]&&(c[t]={id:t,styles:[],classes:[]}),void 0!==e&&(i=e.trim(),'"'===i[0]&&'"'===i[i.length-1]&&(i=i.substring(1,i.length-1)),c[t].text=i),void 0!==r&&(c[t].type=r),void 0!==r&&(c[t].type=r),void 0!==n&&null!==n&&n.forEach(function(e){c[t].styles.push(e)}))},e.addLink=function(t,e,r,n){a.info("Got edge...",t,e);var i={start:t,end:e,type:void 0,text:""};n=r.text,void 0!==n&&(i.text=n.trim(),'"'===i.text[0]&&'"'===i.text[i.text.length-1]&&(i.text=i.text.substring(1,i.text.length-1))),void 0!==r&&(i.type=r.type,i.stroke=r.stroke),l.push(i)},e.updateLinkInterpolate=function(t,e){"default"===t?l.defaultInterpolate=e:l[t].interpolate=e},e.updateLink=function(t,e){"default"===t?l.defaultStyle=e:(-1===u.isSubstringInArray("fill",e)&&e.push("fill:none"),l[t].style=e)},e.addClass=function(t,e){void 0===h[t]&&(h[t]={id:t,styles:[]}),void 0!==e&&null!==e&&e.forEach(function(e){h[t].styles.push(e)})},e.setDirection=function(t){n=t},e.setClass=function(t,e){t.indexOf(",")>0?t.split(",").forEach(function(t){void 0!==c[t]&&c[t].classes.push(e)}):void 0!==c[t]&&c[t].classes.push(e)};var f=function(t,e){void 0!==e&&(d[t]=e)},m=function(t,e){void 0!==e&&void 0!==c[t]&&g.push(function(r){var n=o.select(r).select("#"+t);null!==n&&n.on("click",function(){window[e](t)})})},A=function(t,e){void 0!==e&&void 0!==c[t]&&g.push(function(r){var n=o.select(r).select("#"+t);null!==n&&n.on("click",function(){window.open(e,"newTab")})})};e.getTooltip=function(t){return d[t]},e.setClickEvent=function(t,e,r,n){t.indexOf(",")>0?t.split(",").forEach(function(t){f(t,n),m(t,e),A(t,r)}):(f(t,n),m(t,e),A(t,r))},e.bindFunctions=function(t){g.forEach(function(e){e(t)})},e.getDirection=function(){return n},e.getVertices=function(){return c},e.getEdges=function(){return l},e.getClasses=function(){return h};var b=function(t){var e=o.select(".mermaidTooltip");null===e[0][0]&&(e=o.select("body").append("div").attr("class","mermaidTooltip").style("opacity",0)),o.select(t).select("svg").selectAll("g.node").on("mouseover",function(){var t=o.select(this);if(null!==t.attr("title")){var r=this.getBoundingClientRect();e.transition().duration(200).style("opacity",".9"),e.html(t.attr("title")).style("left",r.left+(r.right-r.left)/2+"px").style("top",r.top-14+document.body.scrollTop+"px"),t.classed("hover",!0)}}).on("mouseout",function(){e.transition().duration(500).style("opacity",0),o.select(this).classed("hover",!1)})};g.push(b),e.clear=function(){c={},h={},l=[],g=[],g.push(b),y=[],p=0,d=[]},e.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},e.addSubGraph=function(t,e){var r=[];r=function(t){var e={boolean:{},number:{},string:{}},r=[];return t.filter(function(t){var n=void 0===t?"undefined":i(t);return" "!==t&&(n in e?!e[n].hasOwnProperty(t)&&(e[n][t]=!0):!(r.indexOf(t)>=0)&&r.push(t))})}(r.concat.apply(r,t));var n={id:"subGraph"+p,nodes:r,title:e};return y.push(n),p+=1,n.id};var E=function(t){var e;for(e=0;e<y.length;e++)if(y[e].id===t)return e;return-1},x=-1,k=[],_=function t(e,r){var n=y[r].nodes;if(!((x+=1)>2e3)){if(k[x]=r,y[r].id===e)return{result:!0,count:0};for(var i=0,s=1;i<n.length;){var a=E(n[i]);if(a>=0){var u=t(e,a);if(u.result)return{result:!0,count:s+u.count};s+=u.count}i+=1}return{result:!1,count:s}}};e.getDepthFirstPos=function(t){return k[t]},e.indexNodes=function(){x=-1,y.length>0&&_("none",y.length-1)},e.getSubGraphs=function(){return y},e.parseError=function(t,e){global.mermaidAPI.parseError(t,e)}},function(t,e,r){"use strict";var n=r(0),i=n.Log,s=function(t){return t=t.replace(/^\s*%%.*\n/g,"\n"),t.match(/^\s*sequenceDiagram/)?"sequenceDiagram":t.match(/^\s*digraph/)?"dotGraph":t.match(/^\s*info/)?"info":t.match(/^\s*gantt/)?"gantt":t.match(/^\s*classDiagram/)?(i.debug("Detected classDiagram syntax"),"classDiagram"):t.match(/^\s*gitGraph/)?(i.debug("Detected gitGraph syntax"),"gitGraph"):"graph"};e.detectType=s;var a=function(t,e){for(var r,n="",s=document.styleSheets,a=0;a<s.length;a++)if("mermaid-svg-internal-css"!==s[a].title)try{var u=s[a].cssRules;if(null!==u)for(var o=0;o<u.length;o++)if(r=u[o],void 0!==r.style){var c;c=t.querySelectorAll(r.selectorText),c.length>0&&(n+=r.selectorText+" { "+r.style.cssText+"}\n")}}catch(t){void 0!==r&&i.warn('Invalid CSS selector "'+r.selectorText+'"',t)}var l="",h="";for(var y in e)e.hasOwnProperty(y)&&void 0!==y&&("default"===y?(e.default.styles instanceof Array&&(l+="#"+t.id.trim()+" .node>rect { "+e[y].styles.join("; ")+"; }\n"),e.default.nodeLabelStyles instanceof Array&&(l+="#"+t.id.trim()+" .node text { "+e[y].nodeLabelStyles.join("; ")+"; }\n"),e.default.edgeLabelStyles instanceof Array&&(l+="#"+t.id.trim()+" .edgeLabel text { "+e[y].edgeLabelStyles.join("; ")+"; }\n"),e.default.clusterStyles instanceof Array&&(l+="#"+t.id.trim()+" .cluster rect { "+e[y].clusterStyles.join("; ")+"; }\n")):e[y].styles instanceof Array&&(h+="#"+t.id.trim()+" ."+y+">rect, ."+y+">polygon, ."+y+">circle, ."+y+">ellipse { "+e[y].styles.join("; ")+"; }\n"));if(""!==n||""!==l||""!==h){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* <![CDATA[ */\n",""!==l&&(d.innerHTML+=l),""!==n&&(d.innerHTML+=n),""!==h&&(d.innerHTML+=h),d.innerHTML+="/* ]]> */\n",t.insertBefore(d,t.firstChild)}};e.cloneCssStyles=a;var u=function(t,e){for(var r=0;r<e.length;r++)if(e[r].match(t))return r;return-1};e.isSubstringInArray=u},function(t,e,r){"use strict";(function(t){var n=function(){function t(){this.yy={}}var e=function(t,e,r,n){for(r=r||{},n=t.length;n--;r[t[n]]=e);return r},r=[1,4],n=[1,3],i=[1,5],s=[1,8,9,10,11,13,18,30,46,71,72,73,74,75,81,86,88,89,91,92,94,95,96,97,98],a=[2,2],u=[1,12],o=[1,13],c=[1,14],l=[1,15],h=[1,31],y=[1,33],d=[1,22],p=[1,34],g=[1,24],f=[1,25],m=[1,26],A=[1,27],b=[1,28],E=[1,38],x=[1,40],k=[1,35],_=[1,39],v=[1,45],F=[1,44],D=[1,36],C=[1,37],T=[1,41],w=[1,42],S=[1,43],B=[1,8,9,10,11,13,18,30,32,46,71,72,73,74,75,81,86,88,89,91,92,94,95,96,97,98],L=[1,53],I=[1,52],O=[1,54],P=[1,72],N=[1,80],M=[1,81],R=[1,66],$=[1,65],j=[1,85],V=[1,84],U=[1,82],G=[1,83],H=[1,73],Y=[1,68],W=[1,67],q=[1,63],z=[1,75],X=[1,76],K=[1,77],Z=[1,78],Q=[1,79],J=[1,70],tt=[1,69],et=[8,9,11],rt=[8,9,11,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64],nt=[1,115],it=[8,9,10,11,13,15,18,36,38,40,42,46,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,86,88,89,91,92,94,95,96,97,98],st=[8,9,10,11,12,13,15,16,17,18,30,32,36,37,38,39,40,41,42,43,46,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,71,72,73,74,75,78,81,84,86,88,89,91,92,94,95,96,97,98],at=[1,117],ut=[1,118],ot=[8,9,10,11,13,18,30,32,46,71,72,73,74,75,81,86,88,89,91,92,94,95,96,97,98],ct=[8,9,10,11,12,13,15,16,17,18,30,32,37,39,41,43,46,50,51,52,53,54,56,57,58,59,60,61,62,63,64,65,71,72,73,74,75,78,81,84,86,88,89,91,92,94,95,96,97,98],lt=[13,18,46,81,86,88,89,91,92,94,95,96,97,98],ht=[13,18,46,49,65,81,86,88,89,91,92,94,95,96,97,98],yt=[1,191],dt=[1,188],pt=[1,195],gt=[1,192],ft=[1,189],mt=[1,196],At=[1,186],bt=[1,187],Et=[1,190],xt=[1,193],kt=[1,194],_t=[1,213],vt=[8,9,11,86],Ft=[8,9,10,11,46,71,80,81,84,86,88,89,90,91,92],Dt={trace:function(){},yy:{},symbols_:{error:2,mermaidDoc:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,DIR:13,FirstStmtSeparator:14,TAGEND:15,TAGSTART:16,UP:17,DOWN:18,ending:19,endToken:20,spaceList:21,spaceListNewline:22,verticeStatement:23,separator:24,styleStatement:25,linkStyleStatement:26,classDefStatement:27,classStatement:28,clickStatement:29,subgraph:30,text:31,end:32,vertex:33,link:34,alphaNum:35,SQS:36,SQE:37,PS:38,PE:39,"(-":40,"-)":41,DIAMOND_START:42,DIAMOND_STOP:43,alphaNumStatement:44,alphaNumToken:45,MINUS:46,linkStatement:47,arrowText:48,TESTSTR:49,"--":50,ARROW_POINT:51,ARROW_CIRCLE:52,ARROW_CROSS:53,ARROW_OPEN:54,"-.":55,DOTTED_ARROW_POINT:56,DOTTED_ARROW_CIRCLE:57,DOTTED_ARROW_CROSS:58,DOTTED_ARROW_OPEN:59,"==":60,THICK_ARROW_POINT:61,THICK_ARROW_CIRCLE:62,THICK_ARROW_CROSS:63,THICK_ARROW_OPEN:64,PIPE:65,textToken:66,STR:67,commentText:68,commentToken:69,keywords:70,STYLE:71,LINKSTYLE:72,CLASSDEF:73,CLASS:74,CLICK:75,textNoTags:76,textNoTagsToken:77,DEFAULT:78,stylesOpt:79,HEX:80,NUM:81,INTERPOLATE:82,commentStatement:83,PCT:84,style:85,COMMA:86,styleComponent:87,ALPHA:88,COLON:89,UNIT:90,BRKT:91,DOT:92,graphCodeTokens:93,PUNCTUATION:94,UNICODE_TEXT:95,PLUS:96,EQUALS:97,MULT:98,TAG_START:99,TAG_END:100,QUOTE:101,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"DIR",15:"TAGEND",16:"TAGSTART",17:"UP",18:"DOWN",30:"subgraph",32:"end",36:"SQS",37:"SQE",38:"PS",39:"PE",40:"(-",41:"-)",42:"DIAMOND_START",43:"DIAMOND_STOP",46:"MINUS",49:"TESTSTR",50:"--",51:"ARROW_POINT",52:"ARROW_CIRCLE",53:"ARROW_CROSS",54:"ARROW_OPEN",55:"-.",56:"DOTTED_ARROW_POINT",57:"DOTTED_ARROW_CIRCLE",58:"DOTTED_ARROW_CROSS",59:"DOTTED_ARROW_OPEN",60:"==",61:"THICK_ARROW_POINT",62:"THICK_ARROW_CIRCLE",63:"THICK_ARROW_CROSS",64:"THICK_ARROW_OPEN",65:"PIPE",67:"STR",71:"STYLE",72:"LINKSTYLE",73:"CLASSDEF",74:"CLASS",75:"CLICK",78:"DEFAULT",80:"HEX",81:"NUM",82:"INTERPOLATE",84:"PCT",86:"COMMA",88:"ALPHA",89:"COLON",90:"UNIT",91:"BRKT",92:"DOT",94:"PUNCTUATION",95:"UNICODE_TEXT",96:"PLUS",97:"EQUALS",98:"MULT",99:"TAG_START",100:"TAG_END",101:"QUOTE"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,4],[4,4],[4,4],[4,4],[4,4],[19,2],[19,1],[20,1],[20,1],[20,1],[14,1],[14,1],[14,2],[22,2],[22,2],[22,1],[22,1],[21,2],[21,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,5],[7,4],[24,1],[24,1],[24,1],[23,3],[23,1],[33,4],[33,5],[33,6],[33,7],[33,4],[33,5],[33,4],[33,5],[33,4],[33,5],[33,4],[33,5],[33,1],[33,2],[35,1],[35,2],[44,1],[44,1],[44,1],[44,1],[34,2],[34,3],[34,3],[34,1],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[48,3],[31,1],[31,2],[31,1],[68,1],[68,2],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[76,1],[76,2],[27,5],[27,5],[28,5],[29,5],[29,7],[29,5],[29,7],[25,5],[25,5],[26,5],[26,5],[26,9],[26,9],[26,7],[26,7],[83,3],[79,1],[79,3],[85,1],[85,2],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[69,1],[69,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[77,1],[77,1],[77,1],[77,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1]],performAction:function(t,e,r,n,i,s,a){var u=s.length-1;switch(i){case 2:this.$=[];break;case 3:s[u]!==[]&&s[u-1].push(s[u]),this.$=s[u-1];break;case 4:case 57:case 59:case 60:case 92:case 94:case 95:case 108:this.$=s[u];break;case 11:n.setDirection(s[u-1]),this.$=s[u-1];break;case 12:n.setDirection("LR"),this.$=s[u-1];break;case 13:n.setDirection("RL"),this.$=s[u-1];break;case 14:n.setDirection("BT"),this.$=s[u-1];break;case 15:n.setDirection("TB"),this.$=s[u-1];break;case 30:this.$=s[u-1];break;case 31:case 32:case 33:case 34:case 35:this.$=[];break;case 36:this.$=n.addSubGraph(s[u-1],s[u-3]);break;case 37:this.$=n.addSubGraph(s[u-1],void 0);break;case 41:n.addLink(s[u-2],s[u],s[u-1]),this.$=[s[u-2],s[u]];break;case 42:this.$=[s[u]];break;case 43:this.$=s[u-3],n.addVertex(s[u-3],s[u-1],"square");break;case 44:this.$=s[u-4],n.addVertex(s[u-4],s[u-2],"square");break;case 45:this.$=s[u-5],n.addVertex(s[u-5],s[u-2],"circle");break;case 46:this.$=s[u-6],n.addVertex(s[u-6],s[u-3],"circle");break;case 47:this.$=s[u-3],n.addVertex(s[u-3],s[u-1],"ellipse");break;case 48:this.$=s[u-4],n.addVertex(s[u-4],s[u-2],"ellipse");break;case 49:this.$=s[u-3],n.addVertex(s[u-3],s[u-1],"round");break;case 50:this.$=s[u-4],n.addVertex(s[u-4],s[u-2],"round");break;case 51:this.$=s[u-3],n.addVertex(s[u-3],s[u-1],"diamond");break;case 52:this.$=s[u-4],n.addVertex(s[u-4],s[u-2],"diamond");break;case 53:this.$=s[u-3],n.addVertex(s[u-3],s[u-1],"odd");break;case 54:this.$=s[u-4],n.addVertex(s[u-4],s[u-2],"odd");break;case 55:this.$=s[u],n.addVertex(s[u]);break;case 56:this.$=s[u-1],n.addVertex(s[u-1]);break;case 58:case 93:case 96:case 109:this.$=s[u-1]+""+s[u];break;case 61:this.$="v";break;case 62:this.$="-";break;case 63:s[u-1].text=s[u],this.$=s[u-1];break;case 64:case 65:s[u-2].text=s[u-1],this.$=s[u-2];break;case 66:this.$=s[u];break;case 67:this.$={type:"arrow",stroke:"normal",text:s[u-1]};break;case 68:this.$={type:"arrow_circle",stroke:"normal",text:s[u-1]};break;case 69:this.$={type:"arrow_cross",stroke:"normal",text:s[u-1]};break;case 70:this.$={type:"arrow_open",stroke:"normal",text:s[u-1]};break;case 71:this.$={type:"arrow",stroke:"dotted",text:s[u-1]};break;case 72:this.$={type:"arrow_circle",stroke:"dotted",text:s[u-1]};break;case 73:this.$={type:"arrow_cross",stroke:"dotted",text:s[u-1]};break;case 74:this.$={type:"arrow_open",stroke:"dotted",text:s[u-1]};break;case 75:this.$={type:"arrow",stroke:"thick",text:s[u-1]};break;case 76:this.$={type:"arrow_circle",stroke:"thick",text:s[u-1]};break;case 77:this.$={type:"arrow_cross",stroke:"thick",text:s[u-1]};break;case 78:this.$={type:"arrow_open",stroke:"thick",text:s[u-1]};break;case 79:this.$={type:"arrow",stroke:"normal"};break;case 80:this.$={type:"arrow_circle",stroke:"normal"};break;case 81:this.$={type:"arrow_cross",stroke:"normal"};break;case 82:this.$={type:"arrow_open",stroke:"normal"};break;case 83:this.$={type:"arrow",stroke:"dotted"};break;case 84:this.$={type:"arrow_circle",stroke:"dotted"};break;case 85:this.$={type:"arrow_cross",stroke:"dotted"};break;case 86:this.$={type:"arrow_open",stroke:"dotted"};break;case 87:this.$={type:"arrow",stroke:"thick"};break;case 88:this.$={type:"arrow_circle",stroke:"thick"};break;case 89:this.$={type:"arrow_cross",stroke:"thick"};break;case 90:this.$={type:"arrow_open",stroke:"thick"};break;case 91:this.$=s[u-1];break;case 110:case 111:this.$=s[u-4],n.addClass(s[u-2],s[u]);break;case 112:this.$=s[u-4],n.setClass(s[u-2],s[u]);break;case 113:this.$=s[u-4],n.setClickEvent(s[u-2],s[u],void 0,void 0);break;case 114:this.$=s[u-6],n.setClickEvent(s[u-4],s[u-2],void 0,s[u]);break;case 115:this.$=s[u-4],n.setClickEvent(s[u-2],void 0,s[u],void 0);break;case 116:this.$=s[u-6],n.setClickEvent(s[u-4],void 0,s[u-2],s[u]);break;case 117:this.$=s[u-4],n.addVertex(s[u-2],void 0,void 0,s[u]);break;case 118:case 119:case 120:this.$=s[u-4],n.updateLink(s[u-2],s[u]);break;case 121:case 122:this.$=s[u-8],n.updateLinkInterpolate(s[u-6],s[u-2]),n.updateLink(s[u-6],s[u]);break;case 123:case 124:this.$=s[u-6],n.updateLinkInterpolate(s[u-4],s[u]);break;case 126:this.$=[s[u]];break;case 127:s[u-2].push(s[u]),this.$=s[u-2];break;case 129:this.$=s[u-1]+s[u]}},table:[{3:1,4:2,9:r,10:n,12:i},{1:[3]},e(s,a,{5:6}),{4:7,9:r,10:n,12:i},{4:8,9:r,10:n,12:i},{10:[1,9]},{1:[2,1],6:10,7:11,8:u,9:o,10:c,11:l,13:h,18:y,23:16,25:17,26:18,27:19,28:20,29:21,30:d,33:23,35:29,44:30,45:32,46:p,71:g,72:f,73:m,74:A,75:b,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},e(s,[2,9]),e(s,[2,10]),{13:[1,46],15:[1,47],16:[1,48],17:[1,49],18:[1,50]},e(B,[2,3]),e(B,[2,4]),e(B,[2,5]),e(B,[2,6]),e(B,[2,7]),e(B,[2,8]),{8:L,9:I,11:O,24:51},{8:L,9:I,11:O,24:55},{8:L,9:I,11:O,24:56},{8:L,9:I,11:O,24:57},{8:L,9:I,11:O,24:58},{8:L,9:I,11:O,24:59},{8:L,9:I,10:P,11:O,12:N,13:M,15:R,16:$,17:j,18:V,24:61,30:U,31:60,32:G,45:71,46:H,50:Y,60:W,66:62,67:q,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},e(et,[2,42],{34:86,47:87,50:[1,88],51:[1,91],52:[1,92],53:[1,93],54:[1,94],55:[1,89],56:[1,95],57:[1,96],58:[1,97],59:[1,98],60:[1,90],61:[1,99],62:[1,100],63:[1,101],64:[1,102]}),{10:[1,103]},{10:[1,104]},{10:[1,105]},{10:[1,106]},{10:[1,107]},e(rt,[2,55],{45:32,21:113,44:114,10:nt,13:h,15:[1,112],18:y,36:[1,108],38:[1,109],40:[1,110],42:[1,111],46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S}),e(it,[2,57]),e(it,[2,59]),e(it,[2,60]),e(it,[2,61]),e(it,[2,62]),e(st,[2,154]),e(st,[2,155]),e(st,[2,156]),e(st,[2,157]),e(st,[2,158]),e(st,[2,159]),e(st,[2,160]),e(st,[2,161]),e(st,[2,162]),e(st,[2,163]),e(st,[2,164]),{8:at,9:ut,10:nt,14:116,21:119},{8:at,9:ut,10:nt,14:120,21:119},{8:at,9:ut,10:nt,14:121,21:119},{8:at,9:ut,10:nt,14:122,21:119},{8:at,9:ut,10:nt,14:123,21:119},e(B,[2,30]),e(B,[2,38]),e(B,[2,39]),e(B,[2,40]),e(B,[2,31]),e(B,[2,32]),e(B,[2,33]),e(B,[2,34]),e(B,[2,35]),{8:L,9:I,10:P,11:O,12:N,13:M,15:R,16:$,17:j,18:V,24:124,30:U,32:G,45:71,46:H,50:Y,60:W,66:125,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},e(ot,a,{5:126}),e(ct,[2,92]),e(ct,[2,94]),e(ct,[2,143]),e(ct,[2,144]),e(ct,[2,145]),e(ct,[2,146]),e(ct,[2,147]),e(ct,[2,148]),e(ct,[2,149]),e(ct,[2,150]),e(ct,[2,151]),e(ct,[2,152]),e(ct,[2,153]),e(ct,[2,97]),e(ct,[2,98]),e(ct,[2,99]),e(ct,[2,100]),e(ct,[2,101]),e(ct,[2,102]),e(ct,[2,103]),e(ct,[2,104]),e(ct,[2,105]),e(ct,[2,106]),e(ct,[2,107]),{13:h,18:y,33:127,35:29,44:30,45:32,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},e(lt,[2,66],{48:128,49:[1,129],65:[1,130]}),{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,31:131,32:G,45:71,46:H,50:Y,60:W,66:62,67:q,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,31:132,32:G,45:71,46:H,50:Y,60:W,66:62,67:q,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,31:133,32:G,45:71,46:H,50:Y,60:W,66:62,67:q,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},e(ht,[2,79]),e(ht,[2,80]),e(ht,[2,81]),e(ht,[2,82]),e(ht,[2,83]),e(ht,[2,84]),e(ht,[2,85]),e(ht,[2,86]),e(ht,[2,87]),e(ht,[2,88]),e(ht,[2,89]),e(ht,[2,90]),{13:h,18:y,35:134,44:30,45:32,46:p,80:[1,135],81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{78:[1,136],81:[1,137]},{13:h,18:y,35:139,44:30,45:32,46:p,78:[1,138],81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{13:h,18:y,35:140,44:30,45:32,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{13:h,18:y,35:141,44:30,45:32,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,31:142,32:G,45:71,46:H,50:Y,60:W,66:62,67:q,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,31:144,32:G,38:[1,143],45:71,46:H,50:Y,60:W,66:62,67:q,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,31:145,32:G,45:71,46:H,50:Y,60:W,66:62,67:q,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,31:146,32:G,45:71,46:H,50:Y,60:W,66:62,67:q,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,31:147,32:G,45:71,46:H,50:Y,60:W,66:62,67:q,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},e(rt,[2,56]),e(it,[2,58]),e(rt,[2,29],{21:148,10:nt}),e(s,[2,11]),e(s,[2,21]),e(s,[2,22]),{9:[1,149]},e(s,[2,12]),e(s,[2,13]),e(s,[2,14]),e(s,[2,15]),e(ot,a,{5:150}),e(ct,[2,93]),{6:10,7:11,8:u,9:o,10:c,11:l,13:h,18:y,23:16,25:17,26:18,27:19,28:20,29:21,30:d,32:[1,151],33:23,35:29,44:30,45:32,46:p,71:g,72:f,73:m,74:A,75:b,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},e(et,[2,41]),e(lt,[2,63],{10:[1,152]}),{10:[1,153]},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,31:154,32:G,45:71,46:H,50:Y,60:W,66:62,67:q,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,32:G,45:71,46:H,50:Y,51:[1,155],52:[1,156],53:[1,157],54:[1,158],60:W,66:125,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,32:G,45:71,46:H,50:Y,56:[1,159],57:[1,160],58:[1,161],59:[1,162],60:W,66:125,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,32:G,45:71,46:H,50:Y,60:W,61:[1,163],62:[1,164],63:[1,165],64:[1,166],66:125,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:[1,167],13:h,18:y,44:114,45:32,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:[1,168]},{10:[1,169]},{10:[1,170]},{10:[1,171]},{10:[1,172],13:h,18:y,44:114,45:32,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:[1,173],13:h,18:y,44:114,45:32,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:[1,174],13:h,18:y,44:114,45:32,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,32:G,37:[1,175],45:71,46:H,50:Y,60:W,66:125,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,31:176,32:G,45:71,46:H,50:Y,60:W,66:62,67:q,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,32:G,39:[1,177],45:71,46:H,50:Y,60:W,66:125,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,32:G,41:[1,178],45:71,46:H,50:Y,60:W,66:125,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,32:G,43:[1,179],45:71,46:H,50:Y,60:W,66:125,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,32:G,37:[1,180],45:71,46:H,50:Y,60:W,66:125,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},e(rt,[2,28]),e(s,[2,23]),{6:10,7:11,8:u,9:o,10:c,11:l,13:h,18:y,23:16,25:17,26:18,27:19,28:20,29:21,30:d,32:[1,181],33:23,35:29,44:30,45:32,46:p,71:g,72:f,73:m,74:A,75:b,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},e(B,[2,37]),e(lt,[2,65]),e(lt,[2,64]),{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,32:G,45:71,46:H,50:Y,60:W,65:[1,182],66:125,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},e(lt,[2,67]),e(lt,[2,68]),e(lt,[2,69]),e(lt,[2,70]),e(lt,[2,71]),e(lt,[2,72]),e(lt,[2,73]),e(lt,[2,74]),e(lt,[2,75]),e(lt,[2,76]),e(lt,[2,77]),e(lt,[2,78]),{10:yt,46:dt,71:pt,79:183,80:gt,81:ft,84:mt,85:184,87:185,88:At,89:bt,90:Et,91:xt,92:kt},{10:yt,46:dt,71:pt,79:197,80:gt,81:ft,84:mt,85:184,87:185,88:At,89:bt,90:Et,91:xt,92:kt},{10:yt,46:dt,71:pt,79:198,80:gt,81:ft,82:[1,199],84:mt,85:184,87:185,88:At,89:bt,90:Et,91:xt,92:kt},{10:yt,46:dt,71:pt,79:200,80:gt,81:ft,82:[1,201],84:mt,85:184,87:185,88:At,89:bt,90:Et,91:xt,92:kt},{10:yt,46:dt,71:pt,79:202,80:gt,81:ft,84:mt,85:184,87:185,88:At,89:bt,90:Et,91:xt,92:kt},{10:yt,46:dt,71:pt,79:203,80:gt,81:ft,84:mt,85:184,87:185,88:At,89:bt,90:Et,91:xt,92:kt},{13:h,18:y,35:204,44:30,45:32,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{13:h,18:y,35:205,44:30,45:32,46:p,67:[1,206],81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},e(rt,[2,43],{21:207,10:nt}),{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,32:G,39:[1,208],45:71,46:H,50:Y,60:W,66:125,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},e(rt,[2,49],{21:209,10:nt}),e(rt,[2,47],{21:210,10:nt}),e(rt,[2,51],{21:211,10:nt}),e(rt,[2,53],{21:212,10:nt}),e(B,[2,36]),e([10,13,18,46,81,86,88,89,91,92,94,95,96,97,98],[2,91]),e(et,[2,117],{86:_t}),e(vt,[2,126],{87:214,10:yt,46:dt,71:pt,80:gt,81:ft,84:mt,88:At,89:bt,90:Et,91:xt,92:kt}),e(Ft,[2,128]),e(Ft,[2,130]),e(Ft,[2,131]),e(Ft,[2,132]),e(Ft,[2,133]),e(Ft,[2,134]),e(Ft,[2,135]),e(Ft,[2,136]),e(Ft,[2,137]),e(Ft,[2,138]),e(Ft,[2,139]),e(Ft,[2,140]),e(et,[2,118],{86:_t}),e(et,[2,119],{86:_t}),{10:[1,215]},e(et,[2,120],{86:_t}),{10:[1,216]},e(et,[2,110],{86:_t}),e(et,[2,111],{86:_t}),e(et,[2,112],{45:32,44:114,13:h,18:y,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S}),e(et,[2,113],{45:32,44:114,10:[1,217],13:h,18:y,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S}),e(et,[2,115],{10:[1,218]}),e(rt,[2,44]),{39:[1,219]},e(rt,[2,50]),e(rt,[2,48]),e(rt,[2,52]),e(rt,[2,54]),{10:yt,46:dt,71:pt,80:gt,81:ft,84:mt,85:220,87:185,88:At,89:bt,90:Et,91:xt,92:kt},e(Ft,[2,129]),{13:h,18:y,35:221,44:30,45:32,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{13:h,18:y,35:222,44:30,45:32,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{67:[1,223]},{67:[1,224]},e(rt,[2,45],{21:225,10:nt}),e(vt,[2,127],{87:214,10:yt,46:dt,71:pt,80:gt,81:ft,84:mt,88:At,89:bt,90:Et,91:xt,92:kt}),e(et,[2,123],{45:32,44:114,10:[1,226],13:h,18:y,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S}),e(et,[2,124],{45:32,44:114,10:[1,227],13:h,18:y,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S}),e(et,[2,114]),e(et,[2,116]),e(rt,[2,46]),{10:yt,46:dt,71:pt,79:228,80:gt,81:ft,84:mt,85:184,87:185,88:At,89:bt,90:Et,91:xt,92:kt},{10:yt,46:dt,71:pt,79:229,80:gt,81:ft,84:mt,85:184,87:185,88:At,89:bt,90:Et,91:xt,92:kt},e(et,[2,121],{86:_t}),e(et,[2,122],{86:_t})],defaultActions:{},parseError:function(t,e){if(!e.recoverable){var r=function(t,e){this.message=t,this.hash=e};throw r.prototype=Error,new r(t,e)}this.trace(t)},parse:function(t){var e=this,r=[0],n=[null],i=[],s=this.table,a="",u=0,o=0,c=0,l=i.slice.call(arguments,1),h=Object.create(this.lexer),y={yy:{}};for(var d in this.yy)Object.prototype.hasOwnProperty.call(this.yy,d)&&(y.yy[d]=this.yy[d]);h.setInput(t,y.yy),y.yy.lexer=h,y.yy.parser=this,void 0===h.yylloc&&(h.yylloc={});var p=h.yylloc;i.push(p);var g=h.options&&h.options.ranges;"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var f,m,A,b,E,x,k,_,v,F={};;){if(A=r[r.length-1],this.defaultActions[A]?b=this.defaultActions[A]:(null!==f&&void 0!==f||(f=function(){var t;return t=h.lex()||1,"number"!=typeof t&&(t=e.symbols_[t]||t),t}()),b=s[A]&&s[A][f]),void 0===b||!b.length||!b[0]){var D="";v=[];for(x in s[A])this.terminals_[x]&&x>2&&v.push("'"+this.terminals_[x]+"'");D=h.showPosition?"Parse error on line "+(u+1)+":\n"+h.showPosition()+"\nExpecting "+v.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(u+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(D,{text:h.match,token:this.terminals_[f]||f,line:h.yylineno,loc:p,expected:v})}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+A+", token: "+f);switch(b[0]){case 1:r.push(f),n.push(h.yytext),i.push(h.yylloc),r.push(b[1]),f=null,m?(f=m,m=null):(o=h.yyleng,a=h.yytext,u=h.yylineno,p=h.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[b[1]][1],F.$=n[n.length-k],F._$={first_line:i[i.length-(k||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(k||1)].first_column,last_column:i[i.length-1].last_column},g&&(F._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),void 0!==(E=this.performAction.apply(F,[a,o,u,y.yy,b[1],n,i].concat(l))))return E;k&&(r=r.slice(0,-1*k*2),n=n.slice(0,-1*k),i=i.slice(0,-1*k)),r.push(this.productions_[b[1]][0]),n.push(F.$),i.push(F._$),_=s[r[r.length-2]][r[r.length-1]],r.push(_);break;case 3:return!0}}return!0}},Ct=function(){return{EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,r=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var r,n,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),n=t[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var s in i)this[s]=i[s];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),s=0;s<i.length;s++)if((r=this._input.match(this.rules[i[s]]))&&(!e||r[0].length>e[0].length)){if(e=r,n=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,i[s])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[n]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return t=this.conditionStack.length-1-Math.abs(t||0),t>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(t,e,r,n){switch(r){case 0:break;case 1:this.begin("string");break;case 2:this.popState();break;case 3:return"STR";case 4:return 71;case 5:return 78;case 6:return 72;case 7:return 82;case 8:return 73;case 9:return 74;case 10:return 75;case 11:return 12;case 12:return 30;case 13:return 32;case 14:case 15:case 16:case 17:case 18:case 19:return 13;case 20:return 81;case 21:return 91;case 22:return 89;case 23:return 8;case 24:return 86;case 25:return 98;case 26:return 16;case 27:return 15;case 28:return 17;case 29:return 18;case 30:return 53;case 31:return 51;case 32:return 52;case 33:return 54;case 34:return 58;case 35:return 56;case 36:return 57;case 37:return 59;case 38:return 58;case 39:return 56;case 40:return 57;case 41:return 59;case 42:return 63;case 43:return 61;case 44:return 62;case 45:return 64;case 46:return 50;case 47:return 55;case 48:return 60;case 49:return 40;case 50:return 41;case 51:return 46;case 52:return 92;case 53:return 96;case 54:return 84;case 55:case 56:return 97;case 57:return 88;case 58:return 94;case 59:return 95;case 60:return 65;case 61:return 38;case 62:return 39;case 63:return 36;case 64:return 37;case 65:return 42;case 66:return 43;case 67:return 101;case 68:return 9;case 69:return 10;case 70:return 11}},rules:[/^(?:%%[^\n]*)/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:\s*--[x]\s*)/,/^(?:\s*-->\s*)/,/^(?:\s*--[o]\s*)/,/^(?:\s*---\s*)/,/^(?:\s*-\.-[x]\s*)/,/^(?:\s*-\.->\s*)/,/^(?:\s*-\.-[o]\s*)/,/^(?:\s*-\.-\s*)/,/^(?:\s*.-[x]\s*)/,/^(?:\s*\.->\s*)/,/^(?:\s*\.-[o]\s*)/,/^(?:\s*\.-\s*)/,/^(?:\s*==[x]\s*)/,/^(?:\s*==>\s*)/,/^(?:\s*==[o]\s*)/,/^(?:\s*==[\=]\s*)/,/^(?:\s*--\s*)/,/^(?:\s*-\.\s*)/,/^(?:\s*==\s*)/,/^(?:\(-)/,/^(?:-\))/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:[A-Za-z]+)/,/^(?:[!"#$%&'*+,-.`?\\_\/])/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n+)/,/^(?:\s)/,/^(?:$)/],conditions:{string:{rules:[2,3],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70],inclusive:!0}}}}();return Dt.lexer=Ct,t.prototype=Dt,Dt.Parser=t,new t}();e.parser=n,e.Parser=n.Parser,e.parse=function(){return n.parse.apply(n,arguments)},e.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),process.exit(1));var n=r(3).readFileSync(r(4).normalize(t[1]),"utf8");return e.parser.parse(n)},void 0!==t&&r.c[r.s]===t&&e.main(process.argv.slice(1))}).call(e,r(2)(t))},function(t,e,r){"use strict";(function(t){var n=function(){function t(){this.yy={}}var e=function(t,e,r,n){for(r=r||{},n=t.length;n--;r[t[n]]=e);return r},r=[1,5],n=[1,6],i=[1,12],s=[1,13],a=[1,14],u=[1,15],o=[1,16],c=[1,17],l=[1,18],h=[1,19],y=[1,20],d=[1,21],p=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],f=[1,37],m=[1,33],A=[1,34],b=[1,35],E=[1,36],x=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],k=[10,28],_=[10,28,37,57,58],v=[2,49],F=[1,45],D=[1,48],C=[1,49],T=[1,52],w=[2,65],S=[1,65],B=[1,66],L=[1,67],I=[1,68],O=[1,69],P=[1,70],N=[1,71],M=[1,72],R=[1,73],$=[8,16,17,18,19,20,21,22,23,24,25,26,47],j=[10,28,37],V={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(t,e,r,n,i,s,a){var u=s.length-1;switch(i){case 1:this.$=s[u-1];break;case 2:this.$=s[u-4];break;case 3:this.$=s[u-5];break;case 4:this.$=s[u-3];break;case 8:case 10:case 11:this.$=s[u];break;case 9:this.$=s[u-1]+""+s[u];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=s[u];break;case 17:this.$="<br>";break;case 39:this.$="oy";break;case 40:n.addLink(s[u-1],s[u].id,s[u].op),this.$="oy";break;case 42:n.addLink(s[u-1],s[u].id,s[u].op),this.$={op:s[u-2],id:s[u-1]};break;case 44:this.$={op:s[u-1],id:s[u]};break;case 48:n.addVertex(s[u-1]),this.$=s[u-1];break;case 49:n.addVertex(s[u]),this.$=s[u];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p},{6:23,12:r,13:n},e(g,[2,5]),e(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:f,9:25,12:m,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:A,36:b,42:32,47:E},e([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p}),e(x,[2,8]),e(x,[2,10]),e(x,[2,11]),e(x,[2,12]),e(x,[2,13]),e(x,[2,14]),e(x,[2,15]),e(x,[2,16]),e(x,[2,17]),e(x,[2,18]),e(x,[2,19]),e(x,[2,20]),{7:39,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p},{7:30,8:f,9:40,12:m,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:A,36:b,42:32,47:E},{10:[1,41]},{10:[2,21],28:[1,42]},e(k,[2,23]),e(k,[2,24]),e(k,[2,25]),e(_,v,{44:44,32:[1,43],45:F}),e(k,[2,27],{41:46,43:47,57:D,58:C}),e(k,[2,47],{43:47,34:50,41:51,37:T,57:D,58:C}),{34:53,37:T},{34:54,37:T},{34:55,37:T},{7:56,8:[1,57],14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p},{7:30,8:f,9:58,12:m,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:A,36:b,42:32,47:E},e(x,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:f,9:61,12:m,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:A,36:b,42:32,47:E},{7:62,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p},e(_,[2,48]),e(_,w,{14:10,15:11,7:63,46:64,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p,48:S,49:B,50:L,51:I,52:O,53:P,54:N,55:M,56:R}),e(k,[2,41],{34:74,37:T}),{7:77,8:f,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p,33:76,42:75,47:E},e($,[2,66]),e($,[2,67]),e(k,[2,46]),e(k,[2,40],{34:78,37:T}),{7:81,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p,38:79,39:[1,80]},e(k,[2,28]),e(k,[2,29]),e(k,[2,30]),{8:[1,82]},{7:30,8:f,9:83,12:m,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:A,36:b,42:32,47:E},{10:[1,84]},{7:30,8:f,9:85,12:m,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:A,36:b,42:32,47:E},{5:[2,2]},{10:[2,22]},e(k,[2,26]),e(_,[2,51],{45:[1,86]}),e(_,[2,52]),e(_,[2,56]),e(_,[2,57]),e(_,[2,58]),e(_,[2,59]),e(_,[2,60]),e(_,[2,61]),e(_,[2,62]),e(_,[2,63]),e(_,[2,64]),e(k,[2,38]),e(j,[2,44],{43:47,41:87,57:D,58:C}),e(j,[2,45],{43:47,41:88,57:D,58:C}),e(_,v,{44:44,45:F}),e(k,[2,39]),{39:[1,89]},e(k,[2,34],{34:90,37:T}),{32:[1,91]},{7:30,8:f,9:92,12:m,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:A,36:b,42:32,47:E},{10:[1,93]},e(_,[2,55]),{10:[1,94]},e(_,w,{46:95,48:S,49:B,50:L,51:I,52:O,53:P,54:N,55:M,56:R}),e(j,[2,42]),e(j,[2,43]),e(k,[2,33],{34:96,37:T}),e(k,[2,32]),{7:97,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p},{10:[1,98]},e(_,[2,54]),{5:[2,3]},e(_,[2,50]),e(k,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},e(_,[2,53]),{7:81,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p,38:101},{7:81,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(t,e){if(!e.recoverable){var r=function(t,e){this.message=t,this.hash=e};throw r.prototype=Error,new r(t,e)}this.trace(t)},parse:function(t){var e=this,r=[0],n=[null],i=[],s=this.table,a="",u=0,o=0,c=0,l=i.slice.call(arguments,1),h=Object.create(this.lexer),y={yy:{}};for(var d in this.yy)Object.prototype.hasOwnProperty.call(this.yy,d)&&(y.yy[d]=this.yy[d]);h.setInput(t,y.yy),y.yy.lexer=h,y.yy.parser=this,void 0===h.yylloc&&(h.yylloc={});var p=h.yylloc;i.push(p);var g=h.options&&h.options.ranges;"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var f,m,A,b,E,x,k,_,v,F={};;){if(A=r[r.length-1],this.defaultActions[A]?b=this.defaultActions[A]:(null!==f&&void 0!==f||(f=function(){var t;return t=h.lex()||1,"number"!=typeof t&&(t=e.symbols_[t]||t),t}()),b=s[A]&&s[A][f]),void 0===b||!b.length||!b[0]){var D="";v=[];for(x in s[A])this.terminals_[x]&&x>2&&v.push("'"+this.terminals_[x]+"'");D=h.showPosition?"Parse error on line "+(u+1)+":\n"+h.showPosition()+"\nExpecting "+v.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(u+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(D,{text:h.match,token:this.terminals_[f]||f,line:h.yylineno,loc:p,expected:v})}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+A+", token: "+f);switch(b[0]){case 1:r.push(f),n.push(h.yytext),i.push(h.yylloc),r.push(b[1]),f=null,m?(f=m,m=null):(o=h.yyleng,a=h.yytext,u=h.yylineno,p=h.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[b[1]][1],F.$=n[n.length-k],F._$={first_line:i[i.length-(k||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(k||1)].first_column,last_column:i[i.length-1].last_column},g&&(F._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),void 0!==(E=this.performAction.apply(F,[a,o,u,y.yy,b[1],n,i].concat(l))))return E;k&&(r=r.slice(0,-1*k*2),n=n.slice(0,-1*k),i=i.slice(0,-1*k)),r.push(this.productions_[b[1]][0]),n.push(F.$),i.push(F._$),_=s[r[r.length-2]][r[r.length-1]],r.push(_);break;case 3:return!0}}return!0}},U=function(){return{EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,r=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var r,n,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),n=t[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var s in i)this[s]=i[s];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),s=0;s<i.length;s++)if((r=this._input.match(this.rules[i[s]]))&&(!e||r[0].length>e[0].length)){if(e=r,n=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,i[s])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[n]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return t=this.conditionStack.length-1-Math.abs(t||0),t>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(t,e,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:case 11:case 12:case 13:case 14:case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC_])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\s)/,/^(?:\n)/,/^(?:$)/],conditions:{INITIAL:{rules:[0,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,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],inclusive:!0}}}}();return V.lexer=U,t.prototype=V,V.Parser=t,new t}();e.parser=n,e.Parser=n.Parser,e.parse=function(){return n.parse.apply(n,arguments)},e.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),process.exit(1));var n=r(3).readFileSync(r(4).normalize(t[1]),"utf8");return e.parser.parse(n)},void 0!==t&&r.c[r.s]===t&&e.main(process.argv.slice(1))}).call(e,r(2)(t))},function(t,e,r){"use strict";(function(t){var n=function(){function t(){this.yy={}}var e=function(t,e,r,n){for(r=r||{},n=t.length;n--;r[t[n]]=e);return r},r=[1,2],n=[1,3],i=[1,4],s=[2,4],a=[1,9],u=[1,11],o=[1,12],c=[1,14],l=[1,15],h=[1,17],y=[1,18],d=[1,19],p=[1,20],g=[1,21],f=[1,23],m=[1,24],A=[1,4,5,10,15,16,18,20,21,22,23,24,25,27,28,39],b=[1,32],E=[4,5,10,15,16,18,20,21,22,23,25,28,39],x=[4,5,10,15,16,18,20,21,22,23,25,27,28,39],k=[37,38,39],_={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,participant:10,actor:11,AS:12,restOfLine:13,signal:14,activate:15,deactivate:16,note_statement:17,title:18,text2:19,loop:20,end:21,opt:22,alt:23,else:24,par:25,par_sections:26,and:27,note:28,placement:29,over:30,actor_pair:31,spaceList:32,",":33,left_of:34,right_of:35,signaltype:36,"+":37,"-":38,ACTOR:39,SOLID_OPEN_ARROW:40,DOTTED_OPEN_ARROW:41,SOLID_ARROW:42,DOTTED_ARROW:43,SOLID_CROSS:44,DOTTED_CROSS:45,TXT:46,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",10:"participant",12:"AS",13:"restOfLine",15:"activate",16:"deactivate",18:"title",20:"loop",21:"end",22:"opt",23:"alt",24:"else",25:"par",27:"and",28:"note",30:"over",33:",",34:"left_of",35:"right_of",37:"+",38:"-",39:"ACTOR",40:"SOLID_OPEN_ARROW",41:"DOTTED_OPEN_ARROW",42:"SOLID_ARROW",43:"DOTTED_ARROW",44:"SOLID_CROSS",45:"DOTTED_CROSS",46:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,5],[9,3],[9,2],[9,3],[9,3],[9,2],[9,3],[9,4],[9,4],[9,7],[9,4],[26,1],[26,4],[17,4],[17,4],[32,2],[32,1],[31,3],[31,1],[29,1],[29,1],[14,5],[14,5],[14,4],[11,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[19,1]],performAction:function(t,e,r,n,i,s,a){var u=s.length-1;switch(i){case 3:return n.apply(s[u]),s[u];case 4:this.$=[];break;case 5:s[u-1].push(s[u]),this.$=s[u-1];break;case 6:case 7:this.$=s[u];break;case 8:this.$=[];break;case 9:s[u-3].description=s[u-1],this.$=s[u-3];break;case 10:this.$=s[u-1];break;case 12:this.$={type:"activeStart",signalType:n.LINETYPE.ACTIVE_START,actor:s[u-1]};break;case 13:this.$={type:"activeEnd",signalType:n.LINETYPE.ACTIVE_END,actor:s[u-1]};break;case 15:this.$=[{type:"setTitle",text:s[u-1]}];break;case 16:s[u-1].unshift({type:"loopStart",loopText:s[u-2],signalType:n.LINETYPE.LOOP_START}),s[u-1].push({type:"loopEnd",loopText:s[u-2],signalType:n.LINETYPE.LOOP_END}),this.$=s[u-1];break;case 17:s[u-1].unshift({type:"optStart",optText:s[u-2],signalType:n.LINETYPE.OPT_START}),s[u-1].push({type:"optEnd",optText:s[u-2],signalType:n.LINETYPE.OPT_END}),this.$=s[u-1];break;case 18:s[u-4].unshift({type:"altStart",altText:s[u-5],signalType:n.LINETYPE.ALT_START}),s[u-4].push({type:"else",altText:s[u-2],signalType:n.LINETYPE.ALT_ELSE}),s[u-4]=s[u-4].concat(s[u-1]),s[u-4].push({type:"altEnd",signalType:n.LINETYPE.ALT_END}),this.$=s[u-4];break;case 19:s[u-1].unshift({type:"parStart",parText:s[u-2],signalType:n.LINETYPE.PAR_START}),s[u-1].push({type:"parEnd",signalType:n.LINETYPE.PAR_END}),this.$=s[u-1];break;case 21:this.$=s[u-3].concat([{type:"and",parText:s[u-1],signalType:n.LINETYPE.PAR_AND},s[u]]);break;case 22:this.$=[s[u-1],{type:"addNote",placement:s[u-2],actor:s[u-1].actor,text:s[u]}];break;case 23:s[u-2]=[].concat(s[u-1],s[u-1]).slice(0,2),s[u-2][0]=s[u-2][0].actor,s[u-2][1]=s[u-2][1].actor,this.$=[s[u-1],{type:"addNote",placement:n.PLACEMENT.OVER,actor:s[u-2].slice(0,2),text:s[u]}];break;case 26:this.$=[s[u-2],s[u]];break;case 27:this.$=s[u];break;case 28:this.$=n.PLACEMENT.LEFTOF;break;case 29:this.$=n.PLACEMENT.RIGHTOF;break;case 30:this.$=[s[u-4],s[u-1],{type:"addMessage",from:s[u-4].actor,to:s[u-1].actor,signalType:s[u-3],msg:s[u]},{type:"activeStart",signalType:n.LINETYPE.ACTIVE_START,actor:s[u-1]}];break;case 31:this.$=[s[u-4],s[u-1],{type:"addMessage",from:s[u-4].actor,to:s[u-1].actor,signalType:s[u-3],msg:s[u]},{type:"activeEnd",signalType:n.LINETYPE.ACTIVE_END,actor:s[u-4]}];break;case 32:this.$=[s[u-3],s[u-1],{type:"addMessage",from:s[u-3].actor,to:s[u-1].actor,signalType:s[u-2],msg:s[u]}];break;case 33:this.$={type:"addActor",actor:s[u]};break;case 34:this.$=n.LINETYPE.SOLID_OPEN;break;case 35:this.$=n.LINETYPE.DOTTED_OPEN;break;case 36:this.$=n.LINETYPE.SOLID;break;case 37:this.$=n.LINETYPE.DOTTED;break;case 38:this.$=n.LINETYPE.SOLID_CROSS;break;case 39:this.$=n.LINETYPE.DOTTED_CROSS;break;case 40:this.$=s[u].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:r,5:n,6:i},{1:[3]},{3:5,4:r,5:n,6:i},{3:6,4:r,5:n,6:i},e([1,4,5,10,15,16,18,20,22,23,25,28,39],s,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:u,8:8,9:10,10:o,11:22,14:13,15:c,16:l,17:16,18:h,20:y,22:d,23:p,25:g,28:f,39:m},e(A,[2,5]),{9:25,10:o,11:22,14:13,15:c,16:l,17:16,18:h,20:y,22:d,23:p,25:g,28:f,39:m},e(A,[2,7]),e(A,[2,8]),{11:26,39:m},{5:[1,27]},{11:28,39:m},{11:29,39:m},{5:[1,30]},{19:31,46:b},{13:[1,33]},{13:[1,34]},{13:[1,35]},{13:[1,36]},{36:37,40:[1,38],41:[1,39],42:[1,40],43:[1,41],44:[1,42],45:[1,43]},{29:44,30:[1,45],34:[1,46],35:[1,47]},e([5,12,33,40,41,42,43,44,45,46],[2,33]),e(A,[2,6]),{5:[1,49],12:[1,48]},e(A,[2,11]),{5:[1,50]},{5:[1,51]},e(A,[2,14]),{5:[1,52]},{5:[2,40]},e(E,s,{7:53}),e(E,s,{7:54}),e([4,5,10,15,16,18,20,22,23,24,25,28,39],s,{7:55}),e(x,s,{26:56,7:57}),{11:60,37:[1,58],38:[1,59],39:m},e(k,[2,34]),e(k,[2,35]),e(k,[2,36]),e(k,[2,37]),e(k,[2,38]),e(k,[2,39]),{11:61,39:m},{11:63,31:62,39:m},{39:[2,28]},{39:[2,29]},{13:[1,64]},e(A,[2,10]),e(A,[2,12]),e(A,[2,13]),e(A,[2,15]),{4:a,5:u,8:8,9:10,10:o,11:22,14:13,15:c,16:l,17:16,18:h,20:y,21:[1,65],22:d,23:p,25:g,28:f,39:m},{4:a,5:u,8:8,9:10,10:o,11:22,14:13,15:c,16:l,17:16,18:h,20:y,21:[1,66],22:d,23:p,25:g,28:f,39:m},{4:a,5:u,8:8,9:10,10:o,11:22,14:13,15:c,16:l,17:16,18:h,20:y,22:d,23:p,24:[1,67],25:g,28:f,39:m},{21:[1,68]},{4:a,5:u,8:8,9:10,10:o,11:22,14:13,15:c,16:l,17:16,18:h,20:y,21:[2,20],22:d,23:p,25:g,27:[1,69],28:f,39:m},{11:70,39:m},{11:71,39:m},{19:72,46:b},{19:73,46:b},{19:74,46:b},{33:[1,75],46:[2,27]},{5:[1,76]},e(A,[2,16]),e(A,[2,17]),{13:[1,77]},e(A,[2,19]),{13:[1,78]},{19:79,46:b},{19:80,46:b},{5:[2,32]},{5:[2,22]},{5:[2,23]},{11:81,39:m},e(A,[2,9]),e(E,s,{7:82}),e(x,s,{7:57,26:83}),{5:[2,30]},{5:[2,31]},{46:[2,26]},{4:a,5:u,8:8,9:10,10:o,11:22,14:13,15:c,16:l,17:16,18:h,20:y,21:[1,84],22:d,23:p,25:g,28:f,39:m},{21:[2,21]},e(A,[2,18])],defaultActions:{5:[2,1],6:[2,2],32:[2,40],46:[2,28],47:[2,29],72:[2,32],73:[2,22],74:[2,23],79:[2,30],80:[2,31],81:[2,26],83:[2,21]},parseError:function(t,e){if(!e.recoverable){var r=new Error(t);throw r.hash=e,r}this.trace(t)},parse:function(t){var e=this,r=[0],n=[null],i=[],s=this.table,a="",u=0,o=0,c=0,l=i.slice.call(arguments,1),h=Object.create(this.lexer),y={yy:{}};for(var d in this.yy)Object.prototype.hasOwnProperty.call(this.yy,d)&&(y.yy[d]=this.yy[d]);h.setInput(t,y.yy),y.yy.lexer=h,y.yy.parser=this,void 0===h.yylloc&&(h.yylloc={});var p=h.yylloc;i.push(p);var g=h.options&&h.options.ranges;"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var f,m,A,b,E,x,k,_,v,F={};;){if(A=r[r.length-1],this.defaultActions[A]?b=this.defaultActions[A]:(null!==f&&void 0!==f||(f=function(){var t;return t=h.lex()||1,"number"!=typeof t&&(t=e.symbols_[t]||t),t}()),b=s[A]&&s[A][f]),void 0===b||!b.length||!b[0]){var D="";v=[];for(x in s[A])this.terminals_[x]&&x>2&&v.push("'"+this.terminals_[x]+"'");D=h.showPosition?"Parse error on line "+(u+1)+":\n"+h.showPosition()+"\nExpecting "+v.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(u+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(D,{text:h.match,token:this.terminals_[f]||f,line:h.yylineno,loc:p,expected:v})}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+A+", token: "+f);switch(b[0]){case 1:r.push(f),n.push(h.yytext),i.push(h.yylloc),r.push(b[1]),f=null,m?(f=m,m=null):(o=h.yyleng,a=h.yytext,u=h.yylineno,p=h.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[b[1]][1],F.$=n[n.length-k],F._$={first_line:i[i.length-(k||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(k||1)].first_column,last_column:i[i.length-1].last_column},g&&(F._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),void 0!==(E=this.performAction.apply(F,[a,o,u,y.yy,b[1],n,i].concat(l))))return E;k&&(r=r.slice(0,-1*k*2),n=n.slice(0,-1*k),i=i.slice(0,-1*k)),r.push(this.productions_[b[1]][0]),n.push(F.$),i.push(F._$),_=s[r[r.length-2]][r[r.length-1]],r.push(_);break;case 3:return!0}}return!0}},v=function(){return{EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,r=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var r,n,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),n=t[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var s in i)this[s]=i[s];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),s=0;s<i.length;s++)if((r=this._input.match(this.rules[i[s]]))&&(!e||r[0].length>e[0].length)){if(e=r,n=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,i[s])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[n]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return t=this.conditionStack.length-1-Math.abs(t||0),t>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,r,n){switch(r){case 0:return 5;case 1:case 2:case 3:case 4:break;case 5:return this.begin("ID"),10;case 6:return this.begin("ALIAS"),39;case 7:return this.popState(),this.popState(),this.begin("LINE"),12;case 8:return this.popState(),this.popState(),5;case 9:return this.begin("LINE"),20;case 10:return this.begin("LINE"),22;case 11:return this.begin("LINE"),23;case 12:return this.begin("LINE"),24;case 13:return this.begin("LINE"),25;case 14:return this.begin("LINE"),27;case 15:return this.popState(),13;case 16:return 21;case 17:return 34;case 18:return 35;case 19:return 30;case 20:return 28;case 21:return this.begin("ID"),15;case 22:return this.begin("ID"),16;case 23:return 18;case 24:return 6;case 25:return 33;case 26:return 5;case 27:return e.yytext=e.yytext.trim(),39;case 28:return 42;case 29:return 43;case 30:return 40;case 31:return 41;case 32:return 44;case 33:return 45;case 34:return 46;case 35:return 37;case 36:return 38;case 37:return 5;case 38:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:[^\->:\n,;]+?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:and\b)/i,/^(?:[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\+\->:\n,;]+)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?::[^#\n;]+)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[2,3,15],inclusive:!1},ALIAS:{rules:[2,3,7,8],inclusive:!1},ID:{rules:[2,3,6],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,9,10,11,12,13,14,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],inclusive:!0}}}}();return _.lexer=v,t.prototype=_,_.Parser=t,new t}();e.parser=n,e.Parser=n.Parser,e.parse=function(){return n.parse.apply(n,arguments)},e.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),process.exit(1));var n=r(3).readFileSync(r(4).normalize(t[1]),"utf8");return e.parser.parse(n)},void 0!==t&&r.c[r.s]===t&&e.main(process.argv.slice(1))}).call(e,r(2)(t))},function(t,e,r){"use strict";var n={},i=[],s=[],a="",u=r(0),o=u.Log;e.addActor=function(t,e,r){var i=n[t];i&&e===i.name&&null==r||(null==r&&(r=e),n[t]={name:e,description:r})},e.addMessage=function(t,e,r,n){i.push({from:t,to:e,message:r,answer:n})},e.addSignal=function(t,e,r,n){o.debug("Adding message from="+t+" to="+e+" message="+r+" type="+n),i.push({from:t,to:e,message:r,type:n})},e.getMessages=function(){return i},e.getActors=function(){return n},e.getActor=function(t){return n[t]},e.getActorKeys=function(){return Object.keys(n)},e.getTitle=function(){return a},e.clear=function(){n={},i=[]},e.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21},e.ARROWTYPE={FILLED:0,OPEN:1},e.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},e.addNote=function(t,r,n){var a={actor:t,placement:r,message:n},u=[].concat(t,t);s.push(a),i.push({from:u[0],to:u[1],message:n,type:e.LINETYPE.NOTE,placement:r})},e.setTitle=function(t){a=t},e.parseError=function(t,e){global.mermaidAPI.parseError(t,e)},e.apply=function(t){if(t instanceof Array)t.forEach(function(t){e.apply(t)});else switch(t.type){case"addActor":e.addActor(t.actor,t.actor,t.description);break;case"activeStart":case"activeEnd":e.addSignal(t.actor,void 0,void 0,t.signalType);break;case"addNote":e.addNote(t.actor,t.placement,t.text);break;case"addMessage":e.addSignal(t.from,t.to,t.msg,t.signalType);break;case"loopStart":e.addSignal(void 0,void 0,t.loopText,t.signalType);break;case"loopEnd":e.addSignal(void 0,void 0,void 0,t.signalType);break;case"optStart":e.addSignal(void 0,void 0,t.optText,t.signalType);break;case"optEnd":e.addSignal(void 0,void 0,void 0,t.signalType);break;case"altStart":case"else":e.addSignal(void 0,void 0,t.altText,t.signalType);break;case"altEnd":e.addSignal(void 0,void 0,void 0,t.signalType);break;case"setTitle":e.setTitle(t.text);break;case"parStart":case"and":e.addSignal(void 0,void 0,t.parText,t.signalType);break;case"parEnd":e.addSignal(void 0,void 0,void 0,t.signalType)}}},function(t,e,r){"use strict";var n=r(0),i=n.Log,s="",a=!1;e.setMessage=function(t){i.debug("Setting message to: "+t),s=t},e.getMessage=function(){return s},e.setInfo=function(t){a=t},e.getInfo=function(){return a},e.parseError=function(t,e){global.mermaidAPI.parseError(t,e)}},function(t,e,r){"use strict";(function(t){var n=function(){function t(){this.yy={}}var e=function(t,e,r,n){for(r=r||{},n=t.length;n--;r[t[n]]=e);return r},r=[6,9,10,12],n={trace:function(){},yy:{},symbols_:{error:2,start:3,info:4,document:5,EOF:6,line:7,statement:8,NL:9,showInfo:10,message:11,say:12,TXT:13,$accept:0,$end:1},terminals_:{2:"error",4:"info",6:"EOF",9:"NL",10:"showInfo",12:"say",13:"TXT"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,1],[8,1],[11,2]],performAction:function(t,e,r,n,i,s,a){var u=s.length-1;switch(i){case 1:return n;case 4:break;case 6:n.setInfo(!0);break;case 7:n.setMessage(s[u]);break;case 8:this.$=s[u-1].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},e(r,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:9,12:[1,10]},{1:[2,1]},e(r,[2,3]),e(r,[2,4]),e(r,[2,5]),e(r,[2,6]),e(r,[2,7]),{13:[1,11]},e(r,[2,8])],defaultActions:{4:[2,1]},parseError:function(t,e){if(!e.recoverable){var r=function(t,e){this.message=t,this.hash=e};throw r.prototype=Error,new r(t,e)}this.trace(t)},parse:function(t){var e=this,r=[0],n=[null],i=[],s=this.table,a="",u=0,o=0,c=0,l=i.slice.call(arguments,1),h=Object.create(this.lexer),y={yy:{}};for(var d in this.yy)Object.prototype.hasOwnProperty.call(this.yy,d)&&(y.yy[d]=this.yy[d]);h.setInput(t,y.yy),y.yy.lexer=h,y.yy.parser=this,void 0===h.yylloc&&(h.yylloc={});var p=h.yylloc;i.push(p);var g=h.options&&h.options.ranges;"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var f,m,A,b,E,x,k,_,v,F={};;){if(A=r[r.length-1],this.defaultActions[A]?b=this.defaultActions[A]:(null!==f&&void 0!==f||(f=function(){var t;return t=h.lex()||1,"number"!=typeof t&&(t=e.symbols_[t]||t),t}()),b=s[A]&&s[A][f]),void 0===b||!b.length||!b[0]){var D="";v=[];for(x in s[A])this.terminals_[x]&&x>2&&v.push("'"+this.terminals_[x]+"'");D=h.showPosition?"Parse error on line "+(u+1)+":\n"+h.showPosition()+"\nExpecting "+v.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(u+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(D,{text:h.match,token:this.terminals_[f]||f,line:h.yylineno,loc:p,expected:v})}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+A+", token: "+f);switch(b[0]){case 1:r.push(f),n.push(h.yytext),i.push(h.yylloc),r.push(b[1]),f=null,m?(f=m,m=null):(o=h.yyleng,a=h.yytext,u=h.yylineno,p=h.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[b[1]][1],F.$=n[n.length-k],F._$={first_line:i[i.length-(k||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(k||1)].first_column,last_column:i[i.length-1].last_column},g&&(F._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),void 0!==(E=this.performAction.apply(F,[a,o,u,y.yy,b[1],n,i].concat(l))))return E;k&&(r=r.slice(0,-1*k*2),n=n.slice(0,-1*k),i=i.slice(0,-1*k)),r.push(this.productions_[b[1]][0]),n.push(F.$),i.push(F._$),_=s[r[r.length-2]][r[r.length-1]],r.push(_);break;case 3:return!0}}return!0}},i=function(){return{EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,r=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var r,n,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),n=t[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var s in i)this[s]=i[s];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),s=0;s<i.length;s++)if((r=this._input.match(this.rules[i[s]]))&&(!e||r[0].length>e[0].length)){if(e=r,n=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,i[s])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[n]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return t=this.conditionStack.length-1-Math.abs(t||0),t>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,r,n){switch(r){case 0:return 9;case 1:return 10;case 2:return 4;case 3:return 12;case 4:return 13;case 5:return 6;case 6:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:showInfo\b)/i,/^(?:info\b)/i,/^(?:say\b)/i,/^(?::[^#\n;]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6],inclusive:!0}}}}();return n.lexer=i,t.prototype=n,n.Parser=t,new t}();e.parser=n,e.Parser=n.Parser,e.parse=function(){return n.parse.apply(n,arguments)},e.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),process.exit(1));var n=r(3).readFileSync(r(4).normalize(t[1]),"utf8");return e.parser.parse(n)},void 0!==t&&r.c[r.s]===t&&e.main(process.argv.slice(1))}).call(e,r(2)(t))},function(t,e,r){"use strict";(function(t){var n=function(){function t(){this.yy={}}var e=function(t,e,r,n){for(r=r||{},n=t.length;n--;r[t[n]]=e);return r},r=[6,8,10,11,12,13,14],n=[1,9],i=[1,10],s=[1,11],a=[1,12],u={trace:function(){},yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,dateFormat:11,title:12,section:13,taskTxt:14,taskData:15,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",11:"dateFormat",12:"title",13:"section",14:"taskTxt",15:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,1],[9,1],[9,2]],performAction:function(t,e,r,n,i,s,a){var u=s.length-1;switch(i){case 1:return s[u-1];case 2:this.$=[];break;case 3:s[u-1].push(s[u]),this.$=s[u-1];break;case 4:case 5:this.$=s[u];break;case 6:case 7:this.$=[];break;case 8:n.setDateFormat(s[u].substr(11)),this.$=s[u].substr(11);break;case 9:n.setTitle(s[u].substr(6)),this.$=s[u].substr(6);break;case 10:n.addSection(s[u].substr(8)),this.$=s[u].substr(8);break;case 11:n.addTask(s[u-1],s[u]),this.$="task"}},table:[{3:1,4:[1,2]},{1:[3]},e(r,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:n,12:i,13:s,14:a},e(r,[2,7],{1:[2,1]}),e(r,[2,3]),{9:13,11:n,12:i,13:s,14:a},e(r,[2,5]),e(r,[2,6]),e(r,[2,8]),e(r,[2,9]),e(r,[2,10]),{15:[1,14]},e(r,[2,4]),e(r,[2,11])],defaultActions:{},parseError:function(t,e){if(!e.recoverable){var r=function(t,e){this.message=t,this.hash=e};throw r.prototype=Error,new r(t,e)}this.trace(t)},parse:function(t){var e=this,r=[0],n=[null],i=[],s=this.table,a="",u=0,o=0,c=0,l=i.slice.call(arguments,1),h=Object.create(this.lexer),y={yy:{}};for(var d in this.yy)Object.prototype.hasOwnProperty.call(this.yy,d)&&(y.yy[d]=this.yy[d]);h.setInput(t,y.yy),y.yy.lexer=h,y.yy.parser=this,void 0===h.yylloc&&(h.yylloc={});var p=h.yylloc;i.push(p);var g=h.options&&h.options.ranges;"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var f,m,A,b,E,x,k,_,v,F={};;){if(A=r[r.length-1],this.defaultActions[A]?b=this.defaultActions[A]:(null!==f&&void 0!==f||(f=function(){var t;return t=h.lex()||1,"number"!=typeof t&&(t=e.symbols_[t]||t),t}()),b=s[A]&&s[A][f]),void 0===b||!b.length||!b[0]){var D="";v=[];for(x in s[A])this.terminals_[x]&&x>2&&v.push("'"+this.terminals_[x]+"'");D=h.showPosition?"Parse error on line "+(u+1)+":\n"+h.showPosition()+"\nExpecting "+v.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(u+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(D,{text:h.match,token:this.terminals_[f]||f,line:h.yylineno,loc:p,expected:v})}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+A+", token: "+f);switch(b[0]){case 1:r.push(f),n.push(h.yytext),i.push(h.yylloc),r.push(b[1]),f=null,m?(f=m,m=null):(o=h.yyleng,a=h.yytext,u=h.yylineno,p=h.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[b[1]][1],F.$=n[n.length-k],F._$={first_line:i[i.length-(k||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(k||1)].first_column,last_column:i[i.length-1].last_column},g&&(F._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),void 0!==(E=this.performAction.apply(F,[a,o,u,y.yy,b[1],n,i].concat(l))))return E;k&&(r=r.slice(0,-1*k*2),n=n.slice(0,-1*k),i=i.slice(0,-1*k)),r.push(this.productions_[b[1]][0]),n.push(F.$),i.push(F._$),_=s[r[r.length-2]][r[r.length-1]],r.push(_);break;case 3:return!0}}return!0}},o=function(){return{EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,r=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var r,n,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),n=t[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var s in i)this[s]=i[s];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),s=0;s<i.length;s++)if((r=this._input.match(this.rules[i[s]]))&&(!e||r[0].length>e[0].length)){if(e=r,n=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,i[s])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[n]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return t=this.conditionStack.length-1-Math.abs(t||0),t>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,r,n){switch(r){case 0:return 10;case 1:case 2:case 3:break;case 4:return 4;case 5:return 11;case 6:return"date";case 7:return 12;case 8:return 13;case 9:return 14;case 10:return 15;case 11:return":";case 12:return 6;case 13:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13],inclusive:!0}}}}();return u.lexer=o,t.prototype=u,u.Parser=t,new t}();e.parser=n,e.Parser=n.Parser,e.parse=function(){return n.parse.apply(n,arguments)},e.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),process.exit(1));var n=r(3).readFileSync(r(4).normalize(t[1]),"utf8");return e.parser.parse(n)},void 0!==t&&r.c[r.s]===t&&e.main(process.argv.slice(1))}).call(e,r(2)(t))},function(t,e,r){"use strict";var n=r(15),i=r(0),s=i.Log,a="",u="",o=[],c=[],l="";e.clear=function(){o=[],c=[],l="",u="",g=0,h=void 0,y=void 0,b=[]},e.setDateFormat=function(t){a=t},e.getDateFormat=function(){return a},e.setTitle=function(t){u=t},e.getTitle=function(){return u},e.addSection=function(t){l=t,o.push(t)},e.getTasks=function(){for(var t=x(),e=0;!t&&e<10;)t=x(),e++;return c=b};var h,y,d=function(t,r,i){i=i.trim();var a=/^after\s+([\d\w-]+)/,u=a.exec(i.trim());if(null!==u){var o=e.findTaskById(u[1]);if(void 0===o){var c=new Date;return c.setHours(0,0,0,0),c}return o.endTime}return n(i,r.trim(),!0).isValid()?n(i,r.trim(),!0).toDate():(s.debug("Invalid date:"+i),s.debug("With date format:"+r.trim()),new Date)},p=function(t,e,r){if(r=r.trim(),n(r,e.trim(),!0).isValid())return n(r,e.trim()).toDate();var i=n(t),s=/^([\d]+)([wdhms])/,a=s.exec(r.trim());if(null!==a){switch(a[2]){case"s":i.add(a[1],"seconds");break;case"m":i.add(a[1],"minutes");break;case"h":i.add(a[1],"hours");break;case"d":i.add(a[1],"days");break;case"w":i.add(a[1],"weeks")}return i.toDate()}return i.toDate()},g=0,f=function(t){return void 0===t?"task"+(g+=1):t},m=function(t,r){var n;n=":"===r.substr(0,1)?r.substr(1,r.length):r;for(var i=n.split(","),s={},a=e.getDateFormat(),u=!0;u;)u=!1,i[0].match(/^\s*active\s*$/)&&(s.active=!0,i.shift(1),u=!0),i[0].match(/^\s*done\s*$/)&&(s.done=!0,i.shift(1),u=!0),i[0].match(/^\s*crit\s*$/)&&(s.crit=!0,i.shift(1),u=!0);var o;for(o=0;o<i.length;o++)i[o]=i[o].trim();switch(i.length){case 1:s.id=f(),s.startTime=t.endTime,s.endTime=p(s.startTime,a,i[0]);break;case 2:s.id=f(),s.startTime=d(0,a,i[0]),s.endTime=p(s.startTime,a,i[1]);break;case 3:s.id=f(i[0]),s.startTime=d(0,a,i[1]),s.endTime=p(s.startTime,a,i[2])}return s},A=function(t,e){var r;r=":"===e.substr(0,1)?e.substr(1,e.length):e;for(var n=r.split(","),i={},s=!0;s;)s=!1,n[0].match(/^\s*active\s*$/)&&(i.active=!0,n.shift(1),s=!0),n[0].match(/^\s*done\s*$/)&&(i.done=!0,n.shift(1),s=!0),n[0].match(/^\s*crit\s*$/)&&(i.crit=!0,n.shift(1),s=!0);var a;for(a=0;a<n.length;a++)n[a]=n[a].trim();switch(n.length){case 1:i.id=f(),i.startTime={type:"prevTaskEnd",id:t},i.endTime={data:n[0]};break;case 2:i.id=f(),i.startTime={type:"getStartDate",startData:n[0]},i.endTime={data:n[1]};break;case 3:i.id=f(n[0]),i.startTime={type:"getStartDate",startData:n[1]},i.endTime={data:n[2]}}return i},b=[],E={};e.addTask=function(t,e){var r={section:l,type:l,processed:!1,raw:{data:e},task:t},n=A(y,e);r.raw.startTime=n.startTime,r.raw.endTime=n.endTime,r.id=n.id,r.prevTaskId=y,r.active=n.active,r.done=n.done,r.crit=n.crit;var i=b.push(r);y=r.id,E[r.id]=i-1},e.findTaskById=function(t){var e=E[t];return b[e]},e.addTaskOrg=function(t,e){var r={section:l,type:l,description:t,task:t},n=m(h,e);r.startTime=n.startTime,r.endTime=n.endTime,r.id=n.id,r.active=n.active,r.done=n.done,r.crit=n.crit,h=r,c.push(r)};var x=function(){var t,r=e.getDateFormat(),n=!0;for(t=0;t<b.length;t++)!function(t){var n=b[t],i="";switch(b[t].raw.startTime.type){case"prevTaskEnd":var s=e.findTaskById(n.prevTaskId);n.startTime=s.endTime;break;case"getStartDate":i=d(0,r,b[t].raw.startTime.startData),i&&(b[t].startTime=i)}b[t].startTime&&(b[t].endTime=p(b[t].startTime,r,b[t].raw.endTime.data),b[t].endTime&&(b[t].processed=!0)),b[t].processed}(t),n=n&&b[t].processed;return n};e.parseError=function(t,e){global.mermaidAPI.parseError(t,e)}},function(t,e){t.exports=require("moment")},function(t,e,r){"use strict";(function(t){var n=function(){function t(){this.yy={}}var e=function(t,e,r,n){for(r=r||{},n=t.length;n--;r[t[n]]=e);return r},r=[1,11],n=[1,12],i=[1,13],s=[1,15],a=[1,16],u=[1,17],o=[6,8],c=[1,26],l=[1,27],h=[1,28],y=[1,29],d=[1,30],p=[1,31],g=[6,8,13,17,23,26,27,28,29,30,31],f=[6,8,13,17,23,26,27,28,29,30,31,45,46,47],m=[23,45,46,47],A=[23,30,31,45,46,47],b=[23,26,27,28,29,45,46,47],E=[6,8,13],x=[1,46],k={trace:function(){},yy:{},symbols_:{error:2,mermaidDoc:3,graphConfig:4,CLASS_DIAGRAM:5,NEWLINE:6,statements:7,EOF:8,statement:9,className:10,alphaNumToken:11,relationStatement:12,LABEL:13,classStatement:14,methodStatement:15,CLASS:16,STRUCT_START:17,members:18,STRUCT_STOP:19,MEMBER:20,SEPARATOR:21,relation:22,STR:23,relationType:24,lineType:25,AGGREGATION:26,EXTENSION:27,COMPOSITION:28,DEPENDENCY:29,LINE:30,DOTTED_LINE:31,commentToken:32,textToken:33,graphCodeTokens:34,textNoTagsToken:35,TAGSTART:36,TAGEND:37,"==":38,"--":39,PCT:40,DEFAULT:41,SPACE:42,MINUS:43,keywords:44,UNICODE_TEXT:45,NUM:46,ALPHA:47,$accept:0,$end:1},terminals_:{2:"error",5:"CLASS_DIAGRAM",6:"NEWLINE",8:"EOF",13:"LABEL",16:"CLASS",17:"STRUCT_START",19:"STRUCT_STOP",20:"MEMBER",21:"SEPARATOR",23:"STR",26:"AGGREGATION",27:"EXTENSION",28:"COMPOSITION",29:"DEPENDENCY",30:"LINE",31:"DOTTED_LINE",34:"graphCodeTokens",36:"TAGSTART",37:"TAGEND",38:"==",39:"--",40:"PCT",41:"DEFAULT",42:"SPACE",43:"MINUS",44:"keywords",45:"UNICODE_TEXT",46:"NUM",47:"ALPHA"},productions_:[0,[3,1],[4,4],[7,1],[7,3],[10,2],[10,1],[9,1],[9,2],[9,1],[9,1],[14,2],[14,5],[18,1],[18,2],[15,1],[15,2],[15,1],[15,1],[12,3],[12,4],[12,4],[12,5],[22,3],[22,2],[22,2],[22,1],[24,1],[24,1],[24,1],[24,1],[25,1],[25,1],[32,1],[32,1],[33,1],[33,1],[33,1],[33,1],[33,1],[33,1],[33,1],[35,1],[35,1],[35,1],[35,1],[11,1],[11,1],[11,1]],performAction:function(t,e,r,n,i,s,a){var u=s.length-1;switch(i){case 5:this.$=s[u-1]+s[u];break;case 6:this.$=s[u];break;case 7:n.addRelation(s[u]);break;case 8:s[u-1].title=n.cleanupLabel(s[u]),n.addRelation(s[u-1]);break;case 12:n.addMembers(s[u-3],s[u-1]);break;case 13:this.$=[s[u]];break;case 14:s[u].push(s[u-1]),this.$=s[u];break;case 15:break;case 16:n.addMembers(s[u-1],n.cleanupLabel(s[u]));break;case 17:console.warn("Member",s[u]);break;case 18:break;case 19:this.$={id1:s[u-2],id2:s[u],relation:s[u-1],relationTitle1:"none",relationTitle2:"none"};break;case 20:this.$={id1:s[u-3],id2:s[u],relation:s[u-1],relationTitle1:s[u-2],relationTitle2:"none"};break;case 21:this.$={id1:s[u-3],id2:s[u],relation:s[u-2],relationTitle1:"none",relationTitle2:s[u-1]};break;case 22:this.$={id1:s[u-4],id2:s[u],relation:s[u-2],relationTitle1:s[u-3],relationTitle2:s[u-1]};break;case 23:this.$={type1:s[u-2],type2:s[u],lineType:s[u-1]};break;case 24:this.$={type1:"none",type2:s[u],lineType:s[u-1]};break;case 25:this.$={type1:s[u-1],type2:"none",lineType:s[u]};break;case 26:this.$={type1:"none",type2:"none",lineType:s[u]};break;case 27:this.$=n.relationType.AGGREGATION;break;case 28:this.$=n.relationType.EXTENSION;break;case 29:this.$=n.relationType.COMPOSITION;break;case 30:this.$=n.relationType.DEPENDENCY;break;case 31:this.$=n.lineType.LINE;break;case 32:this.$=n.lineType.DOTTED_LINE}},table:[{3:1,4:2,5:[1,3]},{1:[3]},{1:[2,1]},{6:[1,4]},{7:5,9:6,10:10,11:14,12:7,14:8,15:9,16:r,20:n,21:i,45:s,46:a,47:u},{8:[1,18]},{6:[1,19],8:[2,3]},e(o,[2,7],{13:[1,20]}),e(o,[2,9]),e(o,[2,10]),e(o,[2,15],{22:21,24:24,25:25,13:[1,23],23:[1,22],26:c,27:l,28:h,29:y,30:d,31:p}),{10:32,11:14,45:s,46:a,47:u},e(o,[2,17]),e(o,[2,18]),e(g,[2,6],{11:14,10:33,45:s,46:a,47:u}),e(f,[2,46]),e(f,[2,47]),e(f,[2,48]),{1:[2,2]},{7:34,9:6,10:10,11:14,12:7,14:8,15:9,16:r,20:n,21:i,45:s,46:a,47:u},e(o,[2,8]),{10:35,11:14,23:[1,36],45:s,46:a,47:u},{22:37,24:24,25:25,26:c,27:l,28:h,29:y,30:d,31:p},e(o,[2,16]),{25:38,30:d,31:p},e(m,[2,26],{24:39,26:c,27:l,28:h,29:y}),e(A,[2,27]),e(A,[2,28]),e(A,[2,29]),e(A,[2,30]),e(b,[2,31]),e(b,[2,32]),e(o,[2,11],{17:[1,40]}),e(g,[2,5]),{8:[2,4]},e(E,[2,19]),{10:41,11:14,45:s,46:a,47:u},{10:42,11:14,23:[1,43],45:s,46:a,47:u},e(m,[2,25],{24:44,26:c,27:l,28:h,29:y}),e(m,[2,24]),{18:45,20:x},e(E,[2,21]),e(E,[2,20]),{10:47,11:14,45:s,46:a,47:u},e(m,[2,23]),{19:[1,48]},{18:49,19:[2,13],20:x},e(E,[2,22]),e(o,[2,12]),{19:[2,14]}],defaultActions:{2:[2,1],18:[2,2],34:[2,4],49:[2,14]},parseError:function(t,e){if(!e.recoverable){var r=function(t,e){this.message=t,this.hash=e};throw r.prototype=Error,new r(t,e)}this.trace(t)},parse:function(t){var e=this,r=[0],n=[null],i=[],s=this.table,a="",u=0,o=0,c=0,l=i.slice.call(arguments,1),h=Object.create(this.lexer),y={yy:{}};for(var d in this.yy)Object.prototype.hasOwnProperty.call(this.yy,d)&&(y.yy[d]=this.yy[d]);h.setInput(t,y.yy),y.yy.lexer=h,y.yy.parser=this,void 0===h.yylloc&&(h.yylloc={});var p=h.yylloc;i.push(p);var g=h.options&&h.options.ranges;"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var f,m,A,b,E,x,k,_,v,F={};;){if(A=r[r.length-1],this.defaultActions[A]?b=this.defaultActions[A]:(null!==f&&void 0!==f||(f=function(){var t;return t=h.lex()||1,"number"!=typeof t&&(t=e.symbols_[t]||t),t}()),b=s[A]&&s[A][f]),void 0===b||!b.length||!b[0]){var D="";v=[];for(x in s[A])this.terminals_[x]&&x>2&&v.push("'"+this.terminals_[x]+"'");D=h.showPosition?"Parse error on line "+(u+1)+":\n"+h.showPosition()+"\nExpecting "+v.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(u+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(D,{text:h.match,token:this.terminals_[f]||f,line:h.yylineno,loc:p,expected:v})}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+A+", token: "+f);switch(b[0]){case 1:r.push(f),n.push(h.yytext),i.push(h.yylloc),r.push(b[1]),f=null,m?(f=m,m=null):(o=h.yyleng,a=h.yytext,u=h.yylineno,p=h.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[b[1]][1],F.$=n[n.length-k],F._$={first_line:i[i.length-(k||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(k||1)].first_column,last_column:i[i.length-1].last_column},g&&(F._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),void 0!==(E=this.performAction.apply(F,[a,o,u,y.yy,b[1],n,i].concat(l))))return E;k&&(r=r.slice(0,-1*k*2),n=n.slice(0,-1*k),i=i.slice(0,-1*k)),r.push(this.productions_[b[1]][0]),n.push(F.$),i.push(F._$),_=s[r[r.length-2]][r[r.length-1]],r.push(_);break;case 3:return!0}}return!0}},_=function(){return{EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,r=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var r,n,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),n=t[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var s in i)this[s]=i[s];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),s=0;s<i.length;s++)if((r=this._input.match(this.rules[i[s]]))&&(!e||r[0].length>e[0].length)){if(e=r,n=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,i[s])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[n]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return t=this.conditionStack.length-1-Math.abs(t||0),t>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(t,e,r,n){switch(r){case 0:break;case 1:return 6;case 2:break;case 3:return 5;case 4:return this.begin("struct"),17;case 5:return this.popState(),19;case 6:break;case 7:return"MEMBER";case 8:return 16;case 9:this.begin("string");break;case 10:this.popState();break;case 11:return"STR";case 12:case 13:return 27;case 14:case 15:return 29;case 16:return 28;case 17:return 26;case 18:return 30;case 19:return 31;case 20:return 13;case 21:return 43;case 22:return"DOT";case 23:return"PLUS";case 24:return 40;case 25:case 26:return"EQUALS";case 27:return 47;case 28:return"PUNCTUATION";case 29:return 46;case 30:return 45;case 31:return 42;case 32:return 8}},rules:[/^(?:%%[^\n]*)/,/^(?:\n+)/,/^(?:\s+)/,/^(?:classDiagram\b)/,/^(?:[\{])/,/^(?:\})/,/^(?:[\n])/,/^(?:[^\{\}\n]*)/,/^(?:class\b)/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:--)/,/^(?:\.\.)/,/^(?::[^#\n;]+)/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:[A-Za-z]+)/,/^(?:[!"#$%&'*+,-.`?\\_\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:$)/],conditions:{string:{rules:[10,11],inclusive:!1},struct:{rules:[5,6,7],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,8,9,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32],inclusive:!0}}}}();return k.lexer=_,t.prototype=k,k.Parser=t,new t}();e.parser=n,e.Parser=n.Parser,e.parse=function(){return n.parse.apply(n,arguments)},e.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),process.exit(1));var n=r(3).readFileSync(r(4).normalize(t[1]),"utf8");return e.parser.parse(n)},void 0!==t&&r.c[r.s]===t&&e.main(process.argv.slice(1))}).call(e,r(2)(t))},function(t,e,r){"use strict";var n,i=r(0),s=i.Log,a=[];n={},e.addClass=function(t){void 0===n[t]&&(n[t]={id:t,methods:[],members:[]})},e.clear=function(){a=[],n={}},t.exports.getClass=function(t){return n[t]},t.exports.getClasses=function(){return n},t.exports.getRelations=function(){return a},e.addRelation=function(t){s.warn("Adding relation: "+JSON.stringify(t)),e.addClass(t.id1),e.addClass(t.id2),a.push(t)},e.addMembers=function(t,e){var r=n[t];"string"==typeof e&&(")"===e.substr(-1)?r.methods.push(e):r.members.push(e))},e.cleanupLabel=function(t){return":"===t.substring(0,1)?t.substr(2).trim():t.trim()},e.lineType={LINE:0,DOTTED_LINE:1},e.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3}},function(t,e,r){"use strict";(function(t){var n=function(){function t(){this.yy={}}var e=function(t,e,r,n){for(r=r||{},n=t.length;n--;r[t[n]]=e);return r},r=[2,3],n=[1,7],i=[7,12,15,17,19,20,21],s=[7,11,12,15,17,19,20,21],a=[2,20],u=[1,32],o={trace:function(){},yy:{},symbols_:{error:2,start:3,GG:4,":":5,document:6,EOF:7,DIR:8,options:9,body:10,OPT:11,NL:12,line:13,statement:14,COMMIT:15,commit_arg:16,BRANCH:17,ID:18,CHECKOUT:19,MERGE:20,RESET:21,reset_arg:22,STR:23,HEAD:24,reset_parents:25,CARET:26,$accept:0,$end:1},terminals_:{2:"error",4:"GG",5:":",7:"EOF",8:"DIR",11:"OPT",12:"NL",15:"COMMIT",17:"BRANCH",18:"ID",19:"CHECKOUT",20:"MERGE",21:"RESET",23:"STR",24:"HEAD",26:"CARET"},productions_:[0,[3,4],[3,5],[6,0],[6,2],[9,2],[9,1],[10,0],[10,2],[13,2],[13,1],[14,2],[14,2],[14,2],[14,2],[14,2],[16,0],[16,1],[22,2],[22,2],[25,0],[25,2]],performAction:function(t,e,r,n,i,s,a){var u=s.length-1;switch(i){case 1:return s[u-1];case 2:return n.setDirection(s[u-3]),s[u-1];case 4:n.setOptions(s[u-1]),this.$=s[u];break;case 5:s[u-1]+=s[u],this.$=s[u-1];break;case 7:this.$=[];break;case 8:s[u-1].push(s[u]),this.$=s[u-1];break;case 9:this.$=s[u-1];break;case 11:n.commit(s[u]);break;case 12:n.branch(s[u]);break;case 13:n.checkout(s[u]);break;case 14:n.merge(s[u]);break;case 15:n.reset(s[u]);break;case 16:this.$="";break;case 17:this.$=s[u];break;case 18:this.$=s[u-1]+":"+s[u];break;case 19:this.$=s[u-1]+":"+n.count,n.count=0;break;case 20:n.count=0;break;case 21:n.count+=1}},table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3],8:[1,4]},{6:5,7:r,9:6,12:n},{5:[1,8]},{7:[1,9]},e(i,[2,7],{10:10,11:[1,11]}),e(s,[2,6]),{6:12,7:r,9:6,12:n},{1:[2,1]},{7:[2,4],12:[1,15],13:13,14:14,15:[1,16],17:[1,17],19:[1,18],20:[1,19],21:[1,20]},e(s,[2,5]),{7:[1,21]},e(i,[2,8]),{12:[1,22]},e(i,[2,10]),{12:[2,16],16:23,23:[1,24]},{18:[1,25]},{18:[1,26]},{18:[1,27]},{18:[1,30],22:28,24:[1,29]},{1:[2,2]},e(i,[2,9]),{12:[2,11]},{12:[2,17]},{12:[2,12]},{12:[2,13]},{12:[2,14]},{12:[2,15]},{12:a,25:31,26:u},{12:a,25:33,26:u},{12:[2,18]},{12:a,25:34,26:u},{12:[2,19]},{12:[2,21]}],defaultActions:{9:[2,1],21:[2,2],23:[2,11],24:[2,17],25:[2,12],26:[2,13],27:[2,14],28:[2,15],31:[2,18],33:[2,19],34:[2,21]},parseError:function(t,e){if(!e.recoverable){var r=function(t,e){this.message=t,this.hash=e};throw r.prototype=Error,new r(t,e)}this.trace(t)},parse:function(t){var e=this,r=[0],n=[null],i=[],s=this.table,a="",u=0,o=0,c=0,l=i.slice.call(arguments,1),h=Object.create(this.lexer),y={yy:{}};for(var d in this.yy)Object.prototype.hasOwnProperty.call(this.yy,d)&&(y.yy[d]=this.yy[d]);h.setInput(t,y.yy),y.yy.lexer=h,y.yy.parser=this,void 0===h.yylloc&&(h.yylloc={});var p=h.yylloc;i.push(p);var g=h.options&&h.options.ranges;"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var f,m,A,b,E,x,k,_,v,F={};;){if(A=r[r.length-1],this.defaultActions[A]?b=this.defaultActions[A]:(null!==f&&void 0!==f||(f=function(){var t;return t=h.lex()||1,"number"!=typeof t&&(t=e.symbols_[t]||t),t}()),b=s[A]&&s[A][f]),void 0===b||!b.length||!b[0]){var D="";v=[];for(x in s[A])this.terminals_[x]&&x>2&&v.push("'"+this.terminals_[x]+"'");D=h.showPosition?"Parse error on line "+(u+1)+":\n"+h.showPosition()+"\nExpecting "+v.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(u+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(D,{text:h.match,token:this.terminals_[f]||f,line:h.yylineno,loc:p,expected:v})}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+A+", token: "+f);switch(b[0]){case 1:r.push(f),n.push(h.yytext),i.push(h.yylloc),r.push(b[1]),f=null,m?(f=m,m=null):(o=h.yyleng,a=h.yytext,u=h.yylineno,p=h.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[b[1]][1],F.$=n[n.length-k],F._$={first_line:i[i.length-(k||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(k||1)].first_column,last_column:i[i.length-1].last_column},g&&(F._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),void 0!==(E=this.performAction.apply(F,[a,o,u,y.yy,b[1],n,i].concat(l))))return E;k&&(r=r.slice(0,-1*k*2),n=n.slice(0,-1*k),i=i.slice(0,-1*k)),r.push(this.productions_[b[1]][0]),n.push(F.$),i.push(F._$),_=s[r[r.length-2]][r[r.length-1]],r.push(_);break;case 3:return!0}}return!0}},c=function(){return{EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,r=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var r,n,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),n=t[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var s in i)this[s]=i[s];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),s=0;s<i.length;s++)if((r=this._input.match(this.rules[i[s]]))&&(!e||r[0].length>e[0].length)){if(e=r,n=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,i[s])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[n]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return t=this.conditionStack.length-1-Math.abs(t||0),t>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,r,n){switch(r){case 0:return 12;case 1:case 2:case 3:break;case 4:return 4;case 5:return 15;case 6:return 17;case 7:return 20;case 8:return 21;case 9:return 19;case 10:case 11:return 8;case 12:return 5;case 13:return 26;case 14:this.begin("options");break;case 15:this.popState();break;case 16:return 11;case 17:this.begin("string");break;case 18:this.popState();break;case 19:return 23;case 20:return 18;case 21:return 7}},rules:[/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:gitGraph\b)/i,/^(?:commit\b)/i,/^(?:branch\b)/i,/^(?:merge\b)/i,/^(?:reset\b)/i,/^(?:checkout\b)/i,/^(?:LR\b)/i,/^(?:BT\b)/i,/^(?::)/i,/^(?:\^)/i,/^(?:options\r?\n)/i,/^(?:end\r?\n)/i,/^(?:[^\n]+\r?\n)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[a-zA-Z][a-zA-Z0-9_]+)/i,/^(?:$)/i],conditions:{options:{rules:[15,16],inclusive:!1},string:{rules:[18,19],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,17,20,21],inclusive:!0}}}}();return o.lexer=c,t.prototype=o,o.Parser=t,new t}();e.parser=n,e.Parser=n.Parser,e.parse=function(){return n.parse.apply(n,arguments)},e.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),process.exit(1));var n=r(3).readFileSync(r(4).normalize(t[1]),"utf8");return e.parser.parse(n)},void 0!==t&&r.c[r.s]===t&&e.main(process.argv.slice(1))}).call(e,r(2)(t))},function(t,e,r){"use strict";function n(t,e){return Math.floor(Math.random()*(e-t))+t}function i(){for(var t="",e=0;e<7;e++)t+="0123456789abcdef"[n(0,16)];return t}function s(t,e){for(l.debug("Entering isfastforwardable:",t.id,e.id);t.seq<=e.seq&&t!==e&&null!=e.parent;){if(Array.isArray(e.parent))return l.debug("In merge commit:",e.parent),s(t,y[e.parent[0]])||s(t,y[e.parent[1]]);e=y[e.parent]}return l.debug(t.id,e.id),t.id===e.id}function a(t,e){return t.seq>e.seq&&s(e,t)}function u(t,e,r){var n=t.indexOf(e);-1===n?t.push(r):t.splice(n,1,r)}function o(t){var e=h.maxBy(t,"seq"),r="";t.forEach(function(t){r+=t===e?"\t*":"\t|"});var n=[r,e.id,e.seq];if(h.each(p,function(t,r){t===e.id&&n.push(r)}),l.debug(n.join(" ")),Array.isArray(e.parent)){var i=y[e.parent[0]];u(t,e,i),t.push(y[e.parent[1]])}else{if(null==e.parent)return;var s=y[e.parent];u(t,e,s)}t=h.uniqBy(t,"id"),o(t)}var c=r(0),l=c.Log,h=r(20),y={},d=null,p={master:d},g="master",f="LR",m=0;e.setDirection=function(t){f=t};var A={};e.setOptions=function(t){l.debug("options str",t),t=t&&t.trim(),t=t||"{}";try{A=JSON.parse(t)}catch(t){l.error("error while parsing gitGraph options",t.message)}},e.getOptions=function(){return A},e.commit=function(t){var e={id:i(),message:t,seq:m++,parent:null==d?null:d.id};d=e,y[e.id]=e,p[g]=e.id,l.debug("in pushCommit "+e.id)},e.branch=function(t){p[t]=null!=d?d.id:null,l.debug("in createBranch")},e.merge=function(t){var e=y[p[g]],r=y[p[t]];if(a(e,r))return void l.debug("Already merged");if(s(e,r))p[g]=p[t],d=y[p[g]];else{var n={id:i(),message:"merged branch "+t+" into "+g,seq:m++,parent:[null==d?null:d.id,p[t]]};d=n,y[n.id]=n,p[g]=n.id}l.debug(p),l.debug("in mergeBranch")},e.checkout=function(t){l.debug("in checkout"),g=t;var e=p[g];d=y[e]},e.reset=function(t){l.debug("in reset",t);var e=t.split(":")[0],r=parseInt(t.split(":")[1]),n="HEAD"===e?d:y[p[e]];for(l.debug(n,r);r>0;)if(n=y[n.parent],r--,!n){var i="Critical error - unique parent commit not found during reset";throw l.error(i),i}d=n,p[g]=n.id},e.prettyPrint=function(){l.debug(y),o([e.getCommitsArray()[0]])},e.clear=function(){y={},d=null,p={master:d},g="master",m=0},e.getBranchesAsObjArray=function(){return h.map(p,function(t,e){return{name:e,commit:y[t]}})},e.getBranches=function(){return p},e.getCommits=function(){return y},e.getCommitsArray=function(){var t=Object.keys(y).map(function(t){return y[t]});return t.forEach(function(t){l.debug(t.id)}),h.orderBy(t,["seq"],["desc"])},e.getCurrentBranch=function(){return g},e.getDirection=function(){return f},e.getHead=function(){return d}},function(t,e){t.exports=require("lodash")},function(t,e,r){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=r(0),s=i.Log,a=r(5),u=r(6),o=r(23),c=r(25),l=r(27),h=r(12),y=r(7),d=r(8),p=r(9),g=r(10),f=r(11),m=r(28),A=r(13),b=r(14),E=r(16),x=r(29),k=r(17),_=r(18),v=r(31),F=r(19),D=r(1),C={logLevel:5,cloneCssStyles:!0,startOnLoad:!0,arrowMarkerAbsolute:!1,flowchart:{htmlLabels:!0,useMaxWidth:!0},sequenceDiagram:{diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,mirrorActors:!0,bottomMarginAdj:1,useMaxWidth:!0},gantt:{titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,leftPadding:75,gridLineStartPadding:35,fontSize:11,fontFamily:'"Open-Sans", "sans-serif"',numberSectionStyles:3,axisFormatter:[["%I:%M",function(t){return t.getHours()}],["w. %U",function(t){return 1===t.getDay()}],["%a %d",function(t){return t.getDay()&&1!==t.getDate()}],["%b %d",function(t){return 1!==t.getDate()}],["%m-%y",function(t){return t.getMonth()}]]},classDiagram:{},gitGraph:{},info:{}};i.setLogLevel(C.logLevel);var T=function(t){var e,r=u.detectType(t);switch(r){case"gitGraph":e=_,e.parser.yy=F;break;case"graph":e=y,e.parser.yy=a;break;case"dotGraph":e=d,e.parser.yy=a;break;case"sequenceDiagram":e=p,e.parser.yy=g;break;case"info":e=h,e.parser.yy=f;break;case"gantt":e=A,e.parser.yy=b;break;case"classDiagram":e=E,e.parser.yy=k}try{return e.parse(t),!0}catch(t){return!1}};e.parse=T,e.version=function(){return r(32).version},e.encodeEntities=function(t){var e=t;return e=e.replace(/style.*:\S*#.*;/g,function(t){return t.substring(0,t.length-1)}),e=e.replace(/classDef.*:\S*#.*;/g,function(t){return t.substring(0,t.length-1)}),e=e.replace(/#\w+;/g,function(t){var e=t.substring(1,t.length-1);return/^\+?\d+$/.test(e)?"fl°°"+e+"¶ß":"fl°"+e+"¶ß"})},e.decodeEntities=function(t){var e=t;return e=e.replace(/fl°°/g,function(){return"&#"}),e=e.replace(/fl°/g,function(){return"&"}),e=e.replace(/¶ß/g,function(){return";"})};var w=function(t,r,n,i){if(void 0!==i)i.innerHTML="",D.select(i).append("div").attr("id","d"+t).append("svg").attr("id",t).attr("width","100%").attr("xmlns","http://www.w3.org/2000/svg").append("g");else{var h=document.querySelector("#d"+t);h&&(h.innerHTML=""),D.select("body").append("div").attr("id","d"+t).append("svg").attr("id",t).attr("width","100%").attr("xmlns","http://www.w3.org/2000/svg").append("g")}window.txt=r,r=e.encodeEntities(r);var y=D.select("#d"+t).node(),d=u.detectType(r),p={};switch(d){case"gitGraph":C.flowchart.arrowMarkerAbsolute=C.arrowMarkerAbsolute,v.setConf(C.gitGraph),v.draw(r,t,!1);break;case"graph":C.flowchart.arrowMarkerAbsolute=C.arrowMarkerAbsolute,o.setConf(C.flowchart),o.draw(r,t,!1),C.cloneCssStyles&&(p=o.getClasses(r,!1),u.cloneCssStyles(y.firstChild,p));break;case"dotGraph":C.flowchart.arrowMarkerAbsolute=C.arrowMarkerAbsolute,o.setConf(C.flowchart),o.draw(r,t,!0),C.cloneCssStyles&&(p=o.getClasses(r,!0),u.cloneCssStyles(y.firstChild,p));break;case"sequenceDiagram":C.sequenceDiagram.arrowMarkerAbsolute=C.arrowMarkerAbsolute,c.setConf(C.sequenceDiagram),c.draw(r,t),C.cloneCssStyles&&u.cloneCssStyles(y.firstChild,[]);break;case"gantt":C.gantt.arrowMarkerAbsolute=C.arrowMarkerAbsolute,m.setConf(C.gantt),m.draw(r,t),C.cloneCssStyles&&u.cloneCssStyles(y.firstChild,[]);break;case"classDiagram":C.classDiagram.arrowMarkerAbsolute=C.arrowMarkerAbsolute,x.setConf(C.classDiagram),x.draw(r,t),C.cloneCssStyles&&u.cloneCssStyles(y.firstChild,[]);break;case"info":C.info.arrowMarkerAbsolute=C.arrowMarkerAbsolute,l.draw(r,t,e.version()),C.cloneCssStyles&&u.cloneCssStyles(y.firstChild,[])}D.select("#d"+t).selectAll("foreignobject div").attr("xmlns","http://www.w3.org/1999/xhtml");var g="";C.arrowMarkerAbsolute&&(g=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,g=g.replace(/\(/g,"\\("),g=g.replace(/\)/g,"\\)"));var f=D.select("#d"+t).node().innerHTML.replace(/url\(#arrowhead/g,"url("+g+"#arrowhead","g");f=e.decodeEntities(f),void 0!==n?n(f,a.bindFunctions):s.warn("CB = undefined!");var A=D.select("#d"+t).node();return null!==A&&"function"==typeof A.remove&&D.select("#d"+t).node().remove(),f};e.render=function(t,e,r,n){try{if(1===arguments.length&&(e=t,t="mermaidId0"),"undefined"!=typeof document)return w(t,e,r,n)}catch(t){s.warn(t)}};var S=function(t){var e,r=Object.keys(t);for(e=0;e<r.length;e++)if("object"===n(t[r[e]])){var i,a=Object.keys(t[r[e]]);for(i=0;i<a.length;i++)s.debug("Setting conf ",r[e],"-",a[i]),void 0===C[r[e]]&&(C[r[e]]={}),s.debug("Setting config: "+r[e]+" "+a[i]+" to "+t[r[e]][a[i]]),C[r[e]][a[i]]=t[r[e]][a[i]]}else C[r[e]]=t[r[e]]};e.initialize=function(t){s.debug("Initializing mermaidAPI"),"object"===(void 0===t?"undefined":n(t))&&S(t),i.setLogLevel(C.logLevel)},e.getConfig=function(){return C},e.parseError=function(t,e){"undefined"!=typeof mermaid?global.mermaid.parseError(t,e):(s.debug("Mermaid Syntax error:"),s.debug(t))},global.mermaidAPI={render:e.render,parse:e.parse,initialize:e.initialize,detectType:u.detectType,parseError:e.parseError,getConfig:e.getConfig}},function(t,e){t.exports=require("d3")},function(t,e,r){"use strict";var n=r(5),i=r(7),s=r(8),a=r(1),u=r(24),o=r(0),c=o.Log,l={};t.exports.setConf=function(t){var e,r=Object.keys(t);for(e=0;e<r.length;e++)l[r[e]]=t[r[e]]},e.addVertices=function(t,e){var r=function(t,e){var r;for(r=0;r<e.length;r++)void 0!==e[r]&&(t=t+e[r]+";");return t};Object.keys(t).forEach(function(n){var i,s=t[n],a="";s.classes.length>0&&(a=s.classes.join(" "));var u="";u=r(u,s.styles),i=void 0===s.text?s.id:s.text;var o="";if(l.htmlLabels)o="html",i=i.replace(/fa:fa[\w-]+/g,function(t){return'<i class="fa '+t.substring(3)+'"></i>'});else{var c=document.createElementNS("http://www.w3.org/2000/svg","text"),h=i.split(/<br>/),y=0;for(y=0;y<h.length;y++){var d=document.createElementNS("http://www.w3.org/2000/svg","tspan");d.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),d.setAttribute("dy","1em"),d.setAttribute("x","1"),d.textContent=h[y],c.appendChild(d)}o="svg",i=c}var p=0,g="";switch(s.type){case"round":p=5,g="rect";break;case"square":g="rect";break;case"diamond":g="question";break;case"odd":case"odd_right":g="rect_left_inv_arrow";break;case"circle":g="circle";break;case"ellipse":g="ellipse";break;case"group":g="rect",i=l.htmlLabels?"":document.createElementNS("http://www.w3.org/2000/svg","text");break;default:g="rect"}e.setNode(s.id,{labelType:o,shape:g,label:i,rx:p,ry:p,class:a,style:u,id:s.id})})},e.addEdges=function(t,e){var r,n=0;void 0!==t.defaultStyle&&(r=t.defaultStyle.toString().replace(/,/g,";")),t.forEach(function(i){n++;var s={};"arrow_open"===i.type?s.arrowhead="none":s.arrowhead="normal";var a="";if(void 0!==i.style)i.style.forEach(function(t){a=a+t+";"});else switch(i.stroke){case"normal":a="fill:none",void 0!==r&&(a=r);break;case"dotted":a="stroke: #333; fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":a="stroke: #333; stroke-width: 3.5px;fill:none"}s.style=a,void 0!==i.interpolate?s.lineInterpolate=i.interpolate:void 0!==t.defaultInterpolate&&(s.lineInterpolate=t.defaultInterpolate),void 0===i.text?void 0!==i.style&&(s.arrowheadStyle="fill: #333"):(s.arrowheadStyle="fill: #333",void 0===i.style?(s.labelpos="c",l.htmlLabels?(s.labelType="html",s.label='<span class="edgeLabel">'+i.text+"</span>"):(s.labelType="text",s.style="stroke: #333; stroke-width: 1.5px;fill:none",s.label=i.text.replace(/<br>/g,"\n"))):s.label=i.text.replace(/<br>/g,"\n")),e.setEdge(i.start,i.end,s,n)})},e.getClasses=function(t,e){var r;n.clear(),r=e?s.parser:i.parser,r.yy=n,r.parse(t);var a=n.getClasses();return void 0===a.default&&(a.default={id:"default"},a.default.styles=[],a.default.clusterStyles=["rx:4px","fill: rgb(255, 255, 222)","rx: 4px","stroke: rgb(170, 170, 51)","stroke-width: 1px"],a.default.nodeLabelStyles=["fill:#000","stroke:none","font-weight:300",'font-family:"Helvetica Neue",Helvetica,Arial,sans-serf',"font-size:14px"],a.default.edgeLabelStyles=["fill:#000","stroke:none","font-weight:300",'font-family:"Helvetica Neue",Helvetica,Arial,sans-serf',"font-size:14px"]),a},e.draw=function(t,r,o){c.debug("Drawing flowchart");var h;n.clear(),h=o?s.parser:i.parser,h.yy=n;try{h.parse(t)}catch(t){c.debug("Parsing failed")}var y;void 0===(y=n.getDirection())&&(y="TD");var d,p=new u.graphlib.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:y,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),g=n.getSubGraphs(),f=0;for(f=g.length-1;f>=0;f--)d=g[f],n.addVertex(d.id,d.title,"group",void 0);var m=n.getVertices(),A=n.getEdges();f=0;var b;for(f=g.length-1;f>=0;f--)for(d=g[f],a.selectAll("cluster").append("text"),b=0;b<d.nodes.length;b++)p.setParent(d.nodes[b],d.id);e.addVertices(m,p),e.addEdges(A,p);var E=u.render,x=new E;x.shapes().question=function(t,e,r){var n=e.width,i=e.height,s=.8*(n+i),a=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}],o=t.insert("polygon",":first-child").attr("points",a.map(function(t){return t.x+","+t.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-s/2+","+2*s/4+")");return r.intersect=function(t){return u.intersect.polygon(r,a,t)},o},x.shapes().rect_left_inv_arrow=function(t,e,r){var n=e.width,i=e.height,s=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],a=t.insert("polygon",":first-child").attr("points",s.map(function(t){return t.x+","+t.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(t){return u.intersect.polygon(r,s,t)},a},x.shapes().rect_right_inv_arrow=function(t,e,r){var n=e.width,i=e.height,s=[{x:0,y:0},{x:n+i/2,y:0},{x:n,y:-i/2},{x:n+i/2,y:-i},{x:0,y:-i}],a=t.insert("polygon",":first-child").attr("points",s.map(function(t){return t.x+","+t.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(t){return u.intersect.polygon(r,s,t)},a},x.arrows().none=function(t,e,r,n){var i=t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),s=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");u.util.applyStyle(s,r[n+"Style"])},x.arrows().normal=function(t,e,r,n){t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowheadPath").style("stroke-width",1).style("stroke-dasharray","1,0")};var k=a.select("#"+r),_=a.select("#"+r+" g");for(x(_,p),_.selectAll("g.node").attr("title",function(){return n.getTooltip(this.id)}),l.useMaxWidth?(k.attr("height","100%"),k.attr("width",l.width),k.attr("viewBox","0 0 "+(p.graph().width+20)+" "+(p.graph().height+20)),k.attr("style","max-width:"+(p.graph().width+20)+"px;")):(k.attr("height",p.graph().height),void 0===l.width?k.attr("width",p.graph().width):k.attr("width",l.width),k.attr("viewBox","0 0 "+(p.graph().width+20)+" "+(p.graph().height+20))),n.indexNodes("subGraph"+f),f=0;f<g.length;f++)if(d=g[f],"undefined"!==d.title){var v=document.querySelectorAll("#"+r+" #"+d.id+" rect"),F=document.querySelectorAll("#"+r+" #"+d.id),D=v[0].x.baseVal.value,C=v[0].y.baseVal.value,T=v[0].width.baseVal.value,w=a.select(F[0]),S=w.append("text");S.attr("x",D+T/2),S.attr("y",C+14),S.attr("fill","black"),S.attr("stroke","none"),S.attr("id",r+"Text"),S.style("text-anchor","middle"),void 0===d.title?S.text("Undef"):S.text(d.title)}if(!l.htmlLabels){var B,L=document.querySelectorAll("#"+r+" .edgeLabel .label");for(B=0;B<L.length;B++){var I=L[f],O=I.getBBox(),P=document.createElementNS("http://www.w3.org/2000/svg","rect");P.setAttribute("rx",0),P.setAttribute("ry",0),P.setAttribute("width",O.width),P.setAttribute("height",O.height),P.setAttribute("style","fill:#e8e8e8;"),I.insertBefore(P,I.firstChild)}}}},function(t,e){t.exports=require("dagre-d3-renderer")},function(t,e,r){"use strict";var n=r(9).parser;n.yy=r(10);var i=r(26),s=r(1),a=r(0),u=a.Log,o={diagramMarginX:50,diagramMarginY:30,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,mirrorActors:!1,bottomMarginAdj:1,activationWidth:10,textPlacement:"tspan"};e.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],activations:[],init:function(){this.sequenceItems=[],this.activations=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(t,e,r,n){void 0===t[e]?t[e]=r:t[e]=n(r,t[e])},updateBounds:function(t,r,n,i){function s(s){return function(c){u++;var l=a.sequenceItems.length-u+1;a.updateVal(c,"starty",r-l*o.boxMargin,Math.min),a.updateVal(c,"stopy",i+l*o.boxMargin,Math.max),a.updateVal(e.bounds.data,"startx",t-l*o.boxMargin,Math.min),a.updateVal(e.bounds.data,"stopx",n+l*o.boxMargin,Math.max),"activation"!==s&&(a.updateVal(c,"startx",t-l*o.boxMargin,Math.min),a.updateVal(c,"stopx",n+l*o.boxMargin,Math.max),a.updateVal(e.bounds.data,"starty",r-l*o.boxMargin,Math.min),a.updateVal(e.bounds.data,"stopy",i+l*o.boxMargin,Math.max))}}var a=this,u=0;this.sequenceItems.forEach(s()),this.activations.forEach(s("activation"))},insert:function(t,r,n,i){var s,a,u,o;s=Math.min(t,n),u=Math.max(t,n),a=Math.min(r,i),o=Math.max(r,i),this.updateVal(e.bounds.data,"startx",s,Math.min),this.updateVal(e.bounds.data,"starty",a,Math.min),this.updateVal(e.bounds.data,"stopx",u,Math.max),this.updateVal(e.bounds.data,"stopy",o,Math.max),this.updateBounds(s,a,u,o)},newActivation:function(t,e){var r=n.yy.getActors()[t.from.actor],s=h(t.from.actor).length,a=r.x+o.width/2+(s-1)*o.activationWidth/2;this.activations.push({startx:a,starty:this.verticalPos+2,stopx:a+o.activationWidth,stopy:void 0,actor:t.from.actor,anchored:i.anchorElement(e)})},endActivation:function(t){var e=this.activations.map(function(t){return t.actor}).lastIndexOf(t.from.actor);return this.activations.splice(e,1)[0]},newLoop:function(t){this.sequenceItems.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t})},endLoop:function(){return this.sequenceItems.pop()},addSectionToLoop:function(t){var r=this.sequenceItems.pop();r.sections=r.sections||[],r.sectionTitles=r.sectionTitles||[],r.sections.push(e.bounds.getVerticalPos()),r.sectionTitles.push(t),this.sequenceItems.push(r)},bumpVerticalPos:function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var c=function(t,r,n,s,a){var u=i.getNoteRect();u.x=r,u.y=n,u.width=a||o.width,u.class="note";var c=t.append("g"),l=i.drawRect(c,u),h=i.getTextObj();h.x=r-4,h.y=n-13,h.textMargin=o.noteMargin,h.dy="1em",h.text=s.message,h.class="noteText";var y=i.drawText(c,h,u.width-o.noteMargin),d=y[0][0].getBBox().height;!a&&d>o.width?(y.remove(),c=t.append("g"),y=i.drawText(c,h,2*u.width-o.noteMargin),d=y[0][0].getBBox().height,l.attr("width",2*u.width),e.bounds.insert(r,n,r+2*u.width,n+2*o.noteMargin+d)):e.bounds.insert(r,n,r+u.width,n+2*o.noteMargin+d),l.attr("height",d+2*o.noteMargin),e.bounds.bumpVerticalPos(d+2*o.noteMargin)},l=function(t,r,i,s,a){var u,c=t.append("g"),l=r+(i-r)/2,h=c.append("text").attr("x",l).attr("y",s-7).style("text-anchor","middle").attr("class","messageText").text(a.message);u=void 0!==h[0][0].getBBox?h[0][0].getBBox().width:h[0][0].getBoundingClientRect();var y;if(r===i){y=c.append("path").attr("d","M "+r+","+s+" C "+(r+60)+","+(s-10)+" "+(r+60)+","+(s+30)+" "+r+","+(s+20)),e.bounds.bumpVerticalPos(30);var d=Math.max(u/2,100);e.bounds.insert(r-d,e.bounds.getVerticalPos()-10,i+d,e.bounds.getVerticalPos())}else y=c.append("line"),y.attr("x1",r),y.attr("y1",s),y.attr("x2",i),y.attr("y2",s),e.bounds.insert(r,e.bounds.getVerticalPos()-10,i,e.bounds.getVerticalPos());a.type===n.yy.LINETYPE.DOTTED||a.type===n.yy.LINETYPE.DOTTED_CROSS||a.type===n.yy.LINETYPE.DOTTED_OPEN?(y.style("stroke-dasharray","3, 3"),y.attr("class","messageLine1")):y.attr("class","messageLine0");var p="";o.arrowMarkerAbsolute&&(p=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,p=p.replace(/\(/g,"\\("),p=p.replace(/\)/g,"\\)")),y.attr("stroke-width",2),y.attr("stroke","black"),y.style("fill","none"),a.type!==n.yy.LINETYPE.SOLID&&a.type!==n.yy.LINETYPE.DOTTED||y.attr("marker-end","url("+p+"#arrowhead)"),a.type!==n.yy.LINETYPE.SOLID_CROSS&&a.type!==n.yy.LINETYPE.DOTTED_CROSS||y.attr("marker-end","url("+p+"#crosshead)")};t.exports.drawActors=function(t,r,n,s){var a;for(a=0;a<n.length;a++){var u=n[a];r[u].x=a*o.actorMargin+a*o.width,r[u].y=s,r[u].width=o.diagramMarginX,r[u].height=o.diagramMarginY,i.drawActor(t,r[u].x,s,r[u].description,o),e.bounds.insert(r[u].x,s,r[u].x+o.width,o.height)}e.bounds.bumpVerticalPos(o.height)},t.exports.setConf=function(t){Object.keys(t).forEach(function(e){o[e]=t[e]})};var h=function(e){return t.exports.bounds.activations.filter(function(t){return t.actor===e})},y=function(t){var e=n.yy.getActors(),r=h(t);return[r.reduce(function(t,e){return Math.min(t,e.startx)},e[t].x+o.width/2),r.reduce(function(t,e){return Math.max(t,e.stopx)},e[t].x+o.width/2)]};t.exports.draw=function(r,a){function h(t,r){var n=e.bounds.endActivation(t);n.starty+18>r&&(n.starty=r-6,r+=12),i.drawActivation(f,n,r,o),e.bounds.insert(n.startx,r-10,n.stopx,r)}n.yy.clear(),n.parse(r+"\n"),e.bounds.init();var d,p,g,f=s.select("#"+a),m=n.yy.getActors(),A=n.yy.getActorKeys(),b=n.yy.getMessages(),E=n.yy.getTitle();t.exports.drawActors(f,m,A,0),i.insertArrowHead(f),i.insertArrowCrossHead(f),b.forEach(function(t){var r;switch(t.type){case n.yy.LINETYPE.NOTE:e.bounds.bumpVerticalPos(o.boxMargin),d=m[t.from].x,p=m[t.to].x,t.placement===n.yy.PLACEMENT.RIGHTOF?c(f,d+(o.width+o.actorMargin)/2,e.bounds.getVerticalPos(),t):t.placement===n.yy.PLACEMENT.LEFTOF?c(f,d-(o.width+o.actorMargin)/2,e.bounds.getVerticalPos(),t):t.to===t.from?c(f,d,e.bounds.getVerticalPos(),t):(g=Math.abs(d-p)+o.actorMargin,c(f,(d+p+o.width-g)/2,e.bounds.getVerticalPos(),t,g));break;case n.yy.LINETYPE.ACTIVE_START:e.bounds.newActivation(t,f);break;case n.yy.LINETYPE.ACTIVE_END:h(t,e.bounds.getVerticalPos());break;case n.yy.LINETYPE.LOOP_START:e.bounds.bumpVerticalPos(o.boxMargin),e.bounds.newLoop(t.message),e.bounds.bumpVerticalPos(o.boxMargin+o.boxTextMargin);break;case n.yy.LINETYPE.LOOP_END:r=e.bounds.endLoop(),i.drawLoop(f,r,"loop",o),e.bounds.bumpVerticalPos(o.boxMargin);break;case n.yy.LINETYPE.OPT_START:e.bounds.bumpVerticalPos(o.boxMargin),e.bounds.newLoop(t.message),e.bounds.bumpVerticalPos(o.boxMargin+o.boxTextMargin);break;case n.yy.LINETYPE.OPT_END:r=e.bounds.endLoop(),i.drawLoop(f,r,"opt",o),e.bounds.bumpVerticalPos(o.boxMargin);break;case n.yy.LINETYPE.ALT_START:e.bounds.bumpVerticalPos(o.boxMargin),e.bounds.newLoop(t.message),e.bounds.bumpVerticalPos(o.boxMargin+o.boxTextMargin);break;case n.yy.LINETYPE.ALT_ELSE:e.bounds.bumpVerticalPos(o.boxMargin),r=e.bounds.addSectionToLoop(t.message),e.bounds.bumpVerticalPos(o.boxMargin);break;case n.yy.LINETYPE.ALT_END:r=e.bounds.endLoop(),i.drawLoop(f,r,"alt",o),e.bounds.bumpVerticalPos(o.boxMargin);break;case n.yy.LINETYPE.PAR_START:e.bounds.bumpVerticalPos(o.boxMargin),e.bounds.newLoop(t.message),e.bounds.bumpVerticalPos(o.boxMargin+o.boxTextMargin);break;case n.yy.LINETYPE.PAR_AND:e.bounds.bumpVerticalPos(o.boxMargin),r=e.bounds.addSectionToLoop(t.message),e.bounds.bumpVerticalPos(o.boxMargin);break;case n.yy.LINETYPE.PAR_END:r=e.bounds.endLoop(),i.drawLoop(f,r,"par",o),e.bounds.bumpVerticalPos(o.boxMargin);break;default:try{e.bounds.bumpVerticalPos(o.messageMargin);var s=y(t.from),a=y(t.to),u=s[0]<=a[0]?1:0,A=s[0]<a[0]?0:1;d=s[u],p=a[A];var b=e.bounds.getVerticalPos();l(f,d,p,b,t);var E=s.concat(a);e.bounds.insert(Math.min.apply(null,E),b,Math.max.apply(null,E),b)}catch(t){console.error("error while drawing message",t)}}}),o.mirrorActors&&(e.bounds.bumpVerticalPos(2*o.boxMargin),t.exports.drawActors(f,m,A,e.bounds.getVerticalPos()));var x=e.bounds.getBounds();u.debug("For line height fix Querying: #"+a+" .actor-line"),s.selectAll("#"+a+" .actor-line").attr("y2",x.stopy);var k=x.stopy-x.starty+2*o.diagramMarginY;o.mirrorActors&&(k=k-o.boxMargin+o.bottomMarginAdj);var _=x.stopx-x.startx+2*o.diagramMarginX;E&&f.append("text").text(E).attr("x",(x.stopx-x.startx)/2-2*o.diagramMarginX).attr("y",-25),o.useMaxWidth?(f.attr("height","100%"),f.attr("width","100%"),f.attr("style","max-width:"+_+"px;")):(f.attr("height",k),f.attr("width",_));var v=E?40:0;f.attr("viewBox",x.startx-o.diagramMarginX+" -"+(o.diagramMarginY+v)+" "+_+" "+(k+v))}},function(t,e,r){"use strict";e.drawRect=function(t,e){var r=t.append("rect");return r.attr("x",e.x),r.attr("y",e.y),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("width",e.width),r.attr("height",e.height),r.attr("rx",e.rx),r.attr("ry",e.ry),void 0!==e.class&&r.attr("class",e.class),r},e.drawText=function(t,e,r){var n=e.text.replace(/<br\/?>/gi," "),i=t.append("text");i.attr("x",e.x),i.attr("y",e.y),i.style("text-anchor",e.anchor),i.attr("fill",e.fill),void 0!==e.class&&i.attr("class",e.class);var s=i.append("tspan");return s.attr("x",e.x+2*e.textMargin),s.attr("fill",e.fill),s.text(n),void 0!==i.textwrap&&i.textwrap({x:e.x,y:e.y,width:r,height:1800},e.textMargin),i},e.drawLabel=function(t,r){var n=t.append("polygon");n.attr("points",function(t,e,r,n,i){return t+","+e+" "+(t+r)+","+e+" "+(t+r)+","+(e+n-i)+" "+(t+r-1.2*i)+","+(e+n)+" "+t+","+(e+n)}(r.x,r.y,50,20,7)),n.attr("class","labelBox"),r.y=r.y+r.labelMargin,r.x=r.x+.5*r.labelMargin,e.drawText(t,r)};var n=-1;e.drawActor=function(t,r,s,a,u){var o=r+u.width/2,c=t.append("g");0===s&&(n++,c.append("line").attr("id","actor"+n).attr("x1",o).attr("y1",5).attr("x2",o).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999"));var l=e.getNoteRect();l.x=r,l.y=s,l.fill="#eaeaea",l.width=u.width,l.height=u.height,l.class="actor",l.rx=3,l.ry=3,e.drawRect(c,l),i(u)(a,c,l.x,l.y,l.width,l.height,{class:"actor"})},e.anchorElement=function(t){return t.append("g")},e.drawActivation=function(t,r,n){var i=e.getNoteRect(),s=r.anchored;i.x=r.startx,i.y=r.starty,i.fill="#f4f4f4",i.width=r.stopx-r.startx,i.height=n-r.starty,e.drawRect(s,i)},e.drawLoop=function(t,r,n,i){var s=t.append("g"),a=function(t,e,r,n){return s.append("line").attr("x1",t).attr("y1",e).attr("x2",r).attr("y2",n).attr("class","loopLine")};a(r.startx,r.starty,r.stopx,r.starty),a(r.stopx,r.starty,r.stopx,r.stopy),a(r.startx,r.stopy,r.stopx,r.stopy),a(r.startx,r.starty,r.startx,r.stopy),void 0!==r.sections&&r.sections.forEach(function(t){a(r.startx,t,r.stopx,t).style("stroke-dasharray","3, 3")});var u=e.getTextObj();u.text=n,u.x=r.startx,u.y=r.starty,u.labelMargin=15,u.class="labelText",e.drawLabel(s,u),u=e.getTextObj(),u.text="[ "+r.title+" ]",u.x=r.startx+(r.stopx-r.startx)/2,u.y=r.starty+1.5*i.boxMargin,u.anchor="middle",u.class="loopText",e.drawText(s,u),void 0!==r.sectionTitles&&r.sectionTitles.forEach(function(t,n){""!==t&&(u.text="[ "+t+" ]",u.y=r.sections[n]+1.5*i.boxMargin,e.drawText(s,u))})},e.insertArrowHead=function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},e.insertArrowCrossHead=function(t){var e=t.append("defs"),r=e.append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);r.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),r.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},e.getTextObj=function(){return{x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0}},e.getNoteRect=function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}};var i=function(){function t(t,e,r,i,s,a,u){n(e.append("text").attr("x",r+s/2).attr("y",i+a/2+5).style("text-anchor","middle").text(t),u)}function e(t,e,r,i,s,a,u){var o=e.append("text").attr("x",r+s/2).attr("y",i).style("text-anchor","middle");if(o.append("tspan").attr("x",r+s/2).attr("dy","0").text(t),void 0!==o.textwrap){o.textwrap({x:r+s/2,y:i,width:s,height:a},0);var c=o.selectAll("tspan");c.length>0&&c[0].length>0&&(c=c[0],o.attr("y",i+(a/2-o[0][0].getBBox().height*(1-1/c.length)/2)).attr("dominant-baseline","central").attr("alignment-baseline","central"))}n(o,u)}function r(t,r,i,s,a,u,o){var c=r.append("switch"),l=c.append("foreignObject").attr("x",i).attr("y",s).attr("width",a).attr("height",u),h=l.append("div").style("display","table").style("height","100%").style("width","100%");h.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(t),e(t,c,i,s,a,u,o),n(h,o)}function n(t,e){for(var r in e)e.hasOwnProperty(r)&&t.attr(r,e[r])}return function(n){return"fo"===n.textPlacement?r:"old"===n.textPlacement?t:e}}()},function(t,e,r){"use strict";var n=r(11),i=r(12),s=r(1),a=r(0),u=a.Log;e.draw=function(t,e,r){var a;a=i.parser,a.yy=n,u.debug("Renering example diagram"),a.parse(t);var o=s.select("#"+e);o.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size","32px").style("text-anchor","middle").text("mermaid "+r),o.attr("height",100),o.attr("width",400)}},function(t,e,r){"use strict";var n=r(13).parser;n.yy=r(14);var i,s=r(1),a=r(15),u={titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,fontFamily:'"Open-Sans", "sans-serif"'};t.exports.setConf=function(t){Object.keys(t).forEach(function(e){u[e]=t[e]})};var o;t.exports.draw=function(t,e){function r(t,e,r,n,i,s,a,o){m.append("g").selectAll("rect").data(t).enter().append("rect").attr("x",0).attr("y",function(t,n){return n*e+r-2}).attr("width",function(){return a-u.rightPadding/2}).attr("height",e).attr("class",function(t){for(var e=0;e<x.length;e++)if(t.type===x[e])return"section section"+e%u.numberSectionStyles;return"section section0"});var c=m.append("g").selectAll("rect").data(t).enter();c.append("rect").attr("rx",3).attr("ry",3).attr("x",function(t){return E(t.startTime)+n}).attr("y",function(t,n){return n*e+r}).attr("width",function(t){return E(t.endTime)-E(t.startTime)}).attr("height",i).attr("class",function(t){for(var e="task ",r=0,n=0;n<x.length;n++)t.type===x[n]&&(r=n%u.numberSectionStyles);return t.active?t.crit?e+" activeCrit"+r:e+" active"+r:t.done?t.crit?e+" doneCrit"+r:e+" done"+r:t.crit?e+" crit"+r:e+" task"+r}),c.append("text").text(function(t){return t.task}).attr("font-size",u.fontSize).attr("x",function(t){var e=E(t.startTime),r=E(t.endTime),i=this.getBBox().width;return i>r-e?r+i+1.5*u.leftPadding>a?e+n-5:r+n+5:(r-e)/2+e+n}).attr("y",function(t,n){return n*e+u.barHeight/2+(u.fontSize/2-2)+r}).attr("text-height",i).attr("class",function(t){for(var e=E(t.startTime),r=E(t.endTime),n=this.getBBox().width,i=0,s=0;s<x.length;s++)t.type===x[s]&&(i=s%u.numberSectionStyles);var o="";return t.active&&(o=t.crit?"activeCritText"+i:"activeText"+i),t.done?o=t.crit?o+" doneCritText"+i:o+" doneText"+i:t.crit&&(o=o+" critText"+i),n>r-e?r+n+1.5*u.leftPadding>a?"taskTextOutsideLeft taskTextOutside"+i+" "+o:"taskTextOutsideRight taskTextOutside"+i+" "+o:"taskText taskText"+i+" "+o})}function c(t,e,r,n){var a,o=[[".%L",function(t){return t.getMilliseconds()}],[":%S",function(t){return t.getSeconds()}],["h1 %I:%M",function(t){return t.getMinutes()}]],c=[["%Y",function(){return!0}]],l=[["%I:%M",function(t){return t.getHours()}],["%a %d",function(t){return t.getDay()&&1!==t.getDate()}],["%b %d",function(t){return 1!==t.getDate()}],["%B",function(t){return t.getMonth()}]];void 0!==u.axisFormatter&&(l=[],u.axisFormatter.forEach(function(t){var e=[];e[0]=t[0],e[1]=t[1],l.push(e)})),a=o.concat(l).concat(c);var h=s.svg.axis().scale(E).orient("bottom").tickSize(-n+e+u.gridLineStartPadding,0,0).tickFormat(s.time.format.multi(a));i>7&&i<230&&(h=h.ticks(s.time.monday.range)),m.append("g").attr("class","grid").attr("transform","translate("+t+", "+(n-50)+")").call(h).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em")}function l(t,e){for(var r=[],n=0,i=0;i<x.length;i++)r[i]=[x[i],d(x[i],_)];m.append("g").selectAll("text").data(r).enter().append("text").text(function(t){return t[0]}).attr("x",10).attr("y",function(i,s){if(!(s>0))return i[1]*t/2+e;for(var a=0;a<s;a++)return n+=r[s-1][1],i[1]*t/2+n*t+e}).attr("class",function(t){for(var e=0;e<x.length;e++)if(t[0]===x[e])return"sectionTitle sectionTitle"+e%u.numberSectionStyles;return"sectionTitle"})}function h(t,e,r,n){var i=m.append("g").attr("class","today"),s=new Date;i.append("line").attr("x1",E(s)+t).attr("x2",E(s)+t).attr("y1",u.titleTopMargin).attr("y2",n-u.titleTopMargin).attr("class","today")}function y(t){for(var e=t.length,r={};e;)r[t[--e]]=(r[t[e]]||0)+1;return r}function d(t,e){return y(e)[t]||0}n.yy.clear(),n.parse(t);var p=document.getElementById(e);o=p.parentElement.offsetWidth,void 0===o&&(o=1200),void 0!==u.useWidth&&(o=u.useWidth);var g=n.yy.getTasks(),f=g.length*(u.barHeight+u.barGap)+2*u.topPadding;p.setAttribute("height","100%"),p.setAttribute("viewBox","0 0 "+o+" "+f);var m=s.select("#"+e),A=s.min(g,function(t){return t.startTime}),b=s.max(g,function(t){return t.endTime}),E=s.time.scale().domain([s.min(g,function(t){return t.startTime}),s.max(g,function(t){return t.endTime})]).rangeRound([0,o-u.leftPadding-u.rightPadding]),x=[];i=a.duration(b-A).asDays();for(var k=0;k<g.length;k++)x.push(g[k].type);var _=x;x=function(t){for(var e={},r=[],n=0,i=t.length;n<i;++n)e.hasOwnProperty(t[n])||(e[t[n]]=!0,r.push(t[n]));return r}(x),function(t,e,n){var i=u.barHeight,a=i+u.barGap,o=u.topPadding,y=u.leftPadding,d=s.scale.linear().domain([0,x.length]).range(["#00B9FA","#F95002"]).interpolate(s.interpolateHcl);c(y,o,e,n),r(t,a,o,y,i,d,e,n),l(a,o),h(y,o,e,n)}(g,o,f),void 0!==u.useWidth&&p.setAttribute("width",o),m.append("text").text(n.yy.getTitle()).attr("x",o/2).attr("y",u.titleTopMargin).attr("class","titleText")}},function(t,e,r){"use strict";var n=r(16).parser,i=r(17);n.yy=i;var s,a=r(1),u=r(0),o=u.Log,c=r(30);s={};var l=0,h={dividerMargin:10,padding:5,textHeight:10},y=function(t){var e,r=Object.keys(s);for(e=0;e<r.length;e++)if(s[r[e]].label===t)return r[e]},d=function(t){t.append("defs").append("marker").attr("id","extensionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id","extensionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),t.append("defs").append("marker").attr("id","compositionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","compositionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","aggregationStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","aggregationEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","dependencyStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},p=0,g=function(t,e,r){var n=function(t){switch(t){case i.relationType.AGGREGATION:return"aggregation";case i.relationType.EXTENSION:return"extension";case i.relationType.COMPOSITION:return"composition";case i.relationType.DEPENDENCY:return"dependency"}},s=e.points,u=a.svg.line().x(function(t){return t.x}).y(function(t){return t.y}).interpolate("basis"),o=t.append("path").attr("d",u(s)).attr("id","edge"+p).attr("class","relation"),c="";h.arrowMarkerAbsolute&&(c=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,c=c.replace(/\(/g,"\\("),c=c.replace(/\)/g,"\\)")),"none"!==r.relation.type1&&o.attr("marker-start","url("+c+"#"+n(r.relation.type1)+"Start)"),"none"!==r.relation.type2&&o.attr("marker-end","url("+c+"#"+n(r.relation.type2)+"End)");var l,y,d=e.points.length;if(d%2!=0){var g=e.points[Math.floor(d/2)],f=e.points[Math.ceil(d/2)];l=(g.x+f.x)/2,y=(g.y+f.y)/2}else{var m=e.points[Math.floor(d/2)];l=m.x,y=m.y}if(void 0!==r.title){var A=t.append("g").attr("class","classLabel"),b=A.append("text").attr("class","label").attr("x",l).attr("y",y).attr("fill","red").attr("text-anchor","middle").text(r.title);window.label=b;var E=b.node().getBBox();A.insert("rect",":first-child").attr("class","box").attr("x",E.x-h.padding/2).attr("y",E.y-h.padding/2).attr("width",E.width+h.padding).attr("height",E.height+h.padding)}p++},f=function(t,e){o.info("Rendering class "+e);var r=function(t,e,r){var n=t.append("tspan").attr("x",h.padding).text(e);r||n.attr("dy",h.textHeight)},n="classId"+l,i={id:n,label:e.id,width:0,height:0},a=t.append("g").attr("id",n).attr("class","classGroup"),u=a.append("text").attr("x",h.padding).attr("y",h.textHeight+h.padding).text(e.id),c=u.node().getBBox().height,y=a.append("line").attr("x1",0).attr("y1",h.padding+c+h.dividerMargin/2).attr("y2",h.padding+c+h.dividerMargin/2),d=a.append("text").attr("x",h.padding).attr("y",c+h.dividerMargin+h.textHeight).attr("fill","white").attr("class","classText"),p=!0;e.members.forEach(function(t){r(d,t,p),p=!1});var g=d.node().getBBox(),f=a.append("line").attr("x1",0).attr("y1",h.padding+c+h.dividerMargin+g.height).attr("y2",h.padding+c+h.dividerMargin+g.height),m=a.append("text").attr("x",h.padding).attr("y",c+2*h.dividerMargin+g.height+h.textHeight).attr("fill","white").attr("class","classText");p=!0,e.methods.forEach(function(t){r(m,t,p),p=!1});var A=a.node().getBBox();return a.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",A.width+2*h.padding).attr("height",A.height+h.padding+.5*h.dividerMargin),y.attr("x2",A.width+2*h.padding),f.attr("x2",A.width+2*h.padding),i.width=A.width+2*h.padding,i.height=A.height+h.padding+.5*h.dividerMargin,s[n]=i,l++,i};t.exports.setConf=function(t){Object.keys(t).forEach(function(e){h[e]=t[e]})},t.exports.draw=function(t,e){n.yy.clear(),n.parse(t),o.info("Rendering diagram "+t);var r=a.select("#"+e);d(r);var s=new c.graphlib.Graph({multigraph:!0});s.setGraph({isMultiGraph:!0}),s.setDefaultEdgeLabel(function(){return{}});var u,l=i.getClasses(),h=Object.keys(l);for(u=0;u<h.length;u++){var p=l[h[u]],m=f(r,p);s.setNode(m.id,m),o.info("Org height: "+m.height)}i.getRelations().forEach(function(t){o.info("tjoho"+y(t.id1)+y(t.id2)+JSON.stringify(t)),s.setEdge(y(t.id1),y(t.id2),{relation:t})}),c.layout(s),s.nodes().forEach(function(t){void 0!==t&&(o.debug("Node "+t+": "+JSON.stringify(s.node(t))),a.select("#"+t).attr("transform","translate("+(s.node(t).x-s.node(t).width/2)+","+(s.node(t).y-s.node(t).height/2)+" )"))}),s.edges().forEach(function(t){o.debug("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(s.edge(t))),g(r,s.edge(t),s.edge(t).relation)}),r.attr("height","100%"),r.attr("width","100%"),r.attr("viewBox","0 0 "+(s.graph().width+20)+" "+(s.graph().height+20))}},function(t,e){t.exports=require("dagre")},function(t,e,r){"use strict";function n(t){t.append("defs").append("g").attr("id","def-commit").append("circle").attr("r",A.nodeRadius).attr("cx",0).attr("cy",0),t.select("#def-commit").append("foreignObject").attr("width",A.nodeLabel.width).attr("height",A.nodeLabel.height).attr("x",A.nodeLabel.x).attr("y",A.nodeLabel.y).attr("class","node-label").attr("requiredFeatures","http://www.w3.org/TR/SVG11/feature#Extensibility").append("xhtml:p").html("")}function i(t,e,r,n){n=n||"basis";var i=A.branchColors[r%A.branchColors.length],s=p.svg.line().x(function(t){return Math.round(t.x)}).y(function(t){return Math.round(t.y)}).interpolate(n);t.append("svg:path").attr("d",s(e)).style("stroke",i).style("stroke-width",A.lineStrokeWidth).style("fill","none")}function s(t,e){e=e||t.node().getBBox();var r=t.node().getCTM();return{left:r.e+e.x*r.a,top:r.f+e.y*r.d,width:e.width,height:e.height}}function a(t,e,r,n,a){f.debug("svgDrawLineForCommits: ",e,r);var u=s(t.select("#node-"+e+" circle")),o=s(t.select("#node-"+r+" circle"));switch(n){case"LR":if(u.left-o.left>A.nodeSpacing){var c={x:u.left-A.nodeSpacing,y:o.top+o.height/2},l={x:o.left+o.width,y:o.top+o.height/2};i(t,[c,l],a,"linear"),i(t,[{x:u.left,y:u.top+u.height/2},{x:u.left-A.nodeSpacing/2,y:u.top+u.height/2},{x:u.left-A.nodeSpacing/2,y:c.y},c],a)}else i(t,[{x:u.left,y:u.top+u.height/2},{x:u.left-A.nodeSpacing/2,y:u.top+u.height/2},{x:u.left-A.nodeSpacing/2,y:o.top+o.height/2},{x:o.left+o.width,y:o.top+o.height/2}],a);break;case"BT":o.top-u.top>A.nodeSpacing?(c={x:o.left+o.width/2,y:u.top+u.height+A.nodeSpacing},l={x:o.left+o.width/2,y:o.top},i(t,[c,l],a,"linear"),i(t,[{x:u.left+u.width/2,y:u.top+u.height},{x:u.left+u.width/2,y:u.top+u.height+A.nodeSpacing/2},{x:o.left+o.width/2,y:c.y-A.nodeSpacing/2},c],a)):i(t,[{x:u.left+u.width/2,y:u.top+u.height},{x:u.left+u.width/2,y:u.top+A.nodeSpacing/2},{x:o.left+o.width/2,y:o.top-A.nodeSpacing/2},{x:o.left+o.width/2,y:o.top}],a)}}function u(t,e){return t.select(e).node().cloneNode(!0)}function o(t,e,r,n){var i,s=Object.keys(m).length;if(y.isString(e))do{if(i=m[e],f.debug("in renderCommitHistory",i.id,i.seq),t.select("#node-"+e).size()>0)return;t.append(function(){return u(t,"#def-commit")}).attr("class","commit").attr("id",function(){return"node-"+i.id}).attr("transform",function(){switch(n){case"LR":return"translate("+(i.seq*A.nodeSpacing+A.leftMargin)+", "+l*A.branchOffset+")";case"BT":return"translate("+(l*A.branchOffset+A.leftMargin)+", "+(s-i.seq)*A.nodeSpacing+")"}}).attr("fill",A.nodeFillColor).attr("stroke",A.nodeStrokeColor).attr("stroke-width",A.nodeStrokeWidth);var a=y.find(r,["commit",i]);a&&(f.debug("found branch ",a.name),t.select("#node-"+i.id+" p").append("xhtml:span").attr("class","branch-label").text(a.name+", ")),t.select("#node-"+i.id+" p").append("xhtml:span").attr("class","commit-id").text(i.id),""!==i.message&&"BT"===n&&t.select("#node-"+i.id+" p").append("xhtml:span").attr("class","commit-msg").text(", "+i.message),e=i.parent}while(e&&m[e]);y.isArray(e)&&(f.debug("found merge commmit",e),o(t,e[0],r,n),l++,o(t,e[1],r,n),l--)}function c(t,e,r,n){for(n=n||0;e.seq>0&&!e.lineDrawn;)y.isString(e.parent)?(a(t,e.id,e.parent,r,n),e.lineDrawn=!0,e=m[e.parent]):y.isArray(e.parent)&&(a(t,e.id,e.parent[0],r,n),a(t,e.id,e.parent[1],r,n+1),c(t,m[e.parent[1]],r,n+1),e.lineDrawn=!0,e=m[e.parent[0]])}var l,h=r(19),y=r(20),d=r(18),p=r(1),g=r(0),f=g.Log,m={},A={nodeSpacing:150,nodeFillColor:"yellow",nodeStrokeWidth:2,nodeStrokeColor:"grey",lineStrokeWidth:4,branchOffset:50,lineColor:"grey",leftMargin:50,branchColors:["#442f74","#983351","#609732","#AA9A39"],nodeRadius:10,nodeLabel:{width:75,height:100,x:-25,y:0}},b={};e.setConf=function(t){b=t},e.draw=function(t,e,r){try{var i;i=d.parser,i.yy=h,f.debug("in gitgraph renderer",t,e,r),i.parse(t+"\n"),A=y.extend(A,b,h.getOptions()),f.debug("effective options",A);var s=h.getDirection();m=h.getCommits();var a=h.getBranchesAsObjArray();"BT"===s&&(A.nodeLabel.x=a.length*A.branchOffset,A.nodeLabel.width="100%",A.nodeLabel.y=-2*A.nodeRadius);var u=p.select("#"+e);n(u),l=1,y.each(a,function(t){o(u,t.commit.id,a,s),c(u,t.commit,s),l++}),u.attr("height",function(){return"BT"===s?Object.keys(m).length*A.nodeSpacing:(a.length+1)*A.branchOffset})}catch(t){f.error("Error while rendering gitgraph"),f.error(t.message)}}},function(t,e){t.exports={name:"mermaid",version:"7.0.5",description:"Markdownish syntax for generating flowcharts, sequence diagrams, class diagrams, gantt charts and git graphs.",main:"src/mermaid.js",keywords:["diagram","markdown","flowchart","sequence diagram","gantt","class diagram","git graph"],bin:{mermaid:"./bin/mermaid.js"},scripts:{build:"node -r babel-register ./node_modules/.bin/webpack --progress --colors",watch:"yarn build -- --watch",release:"yarn build -- -p --config webpack.config.prod.js",upgrade:"yarn-upgrade-all && yarn remove d3 && yarn add d3@3.5.17",lint:"node_modules/.bin/standard",karma:"node node_modules/karma/bin/karma start karma.conf.js --single-run",tape:"node node_modules/tape/bin/tape test/cli_test-*.js",test:"yarn lint && yarn tape && yarn karma",live:"live-server ./test/examples",jison:"gulp jison_legacy",live_server:"gulp live-server",prepublishOnly:"yarn build && yarn release && yarn test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"Knut Sveidqvist",license:"MIT",standard:{ignore:["**/parser/*.js","dist/**/*.js"]},dependencies:{chalk:"^2.1.0",d3:"3.5.17",dagre:"^0.7.4","dagre-d3-renderer":"^0.1.6",he:"^1.1.1",lodash:"^4.17.4",minimist:"^1.2.0",mkdirp:"^0.5.1",moment:"^2.18.1",semver:"^5.4.1",which:"^1.3.0"},devDependencies:{async:"^2.5.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-plugin-transform-remove-strict-mode":"^0.0.2","babel-preset-env":"^1.6.0","babel-preset-es2015":"^6.24.1",clone:"^2.1.1","codeclimate-test-reporter":"^0.5.0","css-loader":"^0.28.7",dox:"^0.9.0","event-stream":"^3.3.4","extract-text-webpack-plugin":"^3.0.0","front-matter":"^2.2.0",gulp:"^3.9.1","gulp-bower":"^0.0.13","gulp-bump":"^2.7.0","gulp-concat":"^2.6.1","gulp-data":"^1.2.1","gulp-dox":"^0.1.6","gulp-ext-replace":"^0.3.0","gulp-filelog":"^0.4.1","gulp-front-matter":"^1.3.0","gulp-hogan":"^2.0.0","gulp-if":"^2.0.2","gulp-insert":"^0.5.0","gulp-istanbul":"^1.1.2","gulp-jasmine":"^2.4.2","gulp-jasmine-browser":"^1.9.0","gulp-jison":"^1.2.0","gulp-less":"^3.3.2","gulp-livereload":"^3.8.1","gulp-marked":"^1.0.0","gulp-mdvars":"^2.0.0","gulp-qunit":"^1.5.0","gulp-rename":"^1.2.2","gulp-shell":"^0.6.3","gulp-tag-version":"^1.3.0","gulp-util":"^3.0.8","gulp-vartree":"^2.0.1","hogan.js":"^3.0.2","inject-loader":"^3.0.1",jasmine:"^2.8.0","jasmine-es6":"^0.4.1",jison:"^0.4.17",jsdom:"^11.2.0",karma:"^1.7.1","karma-chrome-launcher":"^2.2.0","karma-jasmine":"^1.1.0","karma-webpack":"^2.0.4",less:"^2.7.2","less-loader":"^4.0.5","live-server":"^1.2.0","map-stream":"^0.0.7",marked:"^0.3.6","mock-browser":"^0.92.14","phantomjs-prebuilt":"^2.1.15","require-dir":"^0.3.2",rimraf:"^2.6.1",standard:"^10.0.3","style-loader":"^0.18.2",tape:"^4.8.0",webpack:"^3.5.5","webpack-node-externals":"^1.6.0","yarn-upgrade-all":"^0.1.8"},files:["bin","dist","lib","src"]}}]);